Задать вопрос
  • Как вычислить интеграл с применением мемоизации на Clojure?

    @newpy
    web-dev
    Для мемоизации, существует функция в стандартной библиотеке
    (memoize f) которая принимает как аргумент функцию, ссылочно-прозрачную, или иначе говоря чистую функцию.
    В вашем контексте это означало бы что что вам необходима чистая функция, многократный вызов которой с одними и теми же аргументами (точками/координатами) должна возвращать один и тот же результат. Ее можно было бы мемоизировать, вышеуказанным способом. Это даст ускорение/быстродействие, при ее многократном вызове, с одними и теми же точками, ценой большего потребления памяти.
    Больше наверное не подскажу, это требует большего погружения в детали реализации и математику.
    Ответ написан
    Комментировать
  • Clojure Как Первый Язык?

    @newpy
    web-dev
    Уж если хочется Clojure, то на мой взгляд, лучше первым взять Java. Потому что Clojure работает на платформе Java и в работе очень часто нужно будет встречаться с Java в Clojure. Например многие Clojure библиотеки это обертки над Java кодом, проще говоря обычный Java код записанный на Clojure. Вызов методов и свойств объектов Java осуществляется из Clojure напрямую (интероперабельность). В общем и целом очень много понятий из мира Java. Поэтому я бы советовал Java. А к Clojure лучше прийти осмысленно, с пониманием проблем ООП. Ну и ФП стиль и многие вещи, например иммутабельность, начинают лучше в голове укладываться как раз после понимания проблем с состояниями (state) и мутабельности, присущей ООП в большинстве языков. Понимаю что хочется, сразу, но лучше не стоит.
    Ответ написан
    2 комментария
  • Что можно учить дополнительно к PHP из бека?

    @newpy
    web-dev
    1. Во-первых бросьте фреймворк. Это болезнь всех начинающих. Толком ООП и MVC не понимать, зато уже во фреймворки залезть или "учить на основе фреймворков". Как итог: нет понимания ни как работает, ни зачем это надо, ООП и MVC.
    Попробуйте написать примитивный свой. Вот прям чтоб работала автозагрузка, хотя бы с помощью того же композера, написать свои M, V и С.
    В начале пути это не только не зазорно, но и полезно. К вам раз и навсегда придет понимание как это устроено. Выложите этот код на гитхаб. Потом скидывайте уже ссылку проекта сюда, и просите оценить ваш код. Сделать ревью. И не ждите снисхождения. Зато это будет лучший опыт. И максимально близкий к реальному (как на работе). А потом смело запишите себе это в резюме.
    Во-вторых, бросьте yii2. Вот серьезно. В 2018 году это худший выбор который можно сделать. Ничто вас так не приучит к дисциплине как Symfony и не заставит понять как работают вообще все фреймворки. Но и не ждите легкости.
    2. Не берите вы ничего дополнительно. Это вторая самая распространенная ошибка всех начинающих. Распыляться по сторонам. Браться за все сразу, за фреймворки в том числе.
    Дополнительно - это может быть протокол HTTP и как он работает, MySQL, на уровне простых JOIN запросов. И все. хватит этого.
    3. Не хотите лезть во фронтенд, не лезьте. Там даже фронтендеры опытные сейчас ноги-руки ломают и шишки набивают.
    Ответ написан
  • Извлечение фото из MySQL?

    @newpy
    web-dev
    Не пробовал "кастить" VARBINARY -> CHAR на уровне базы?

    SELECT CAST(binaryColumn as CHAR) from table_name
    Ответ написан
    Комментировать
  • Как сделать обработку нажатия клавиш в питон?

    @newpy
    web-dev
    можно пользоваться так напрямую:
    import msvcrt
    
    msvcrt.getch() # вернет строку байтовую

    Но можно и правильнее в твоем контексте работать со средствами pygame. Есть модуль для работы с клавиатурой pygame.key
    например через
    pygame.key.get_pressed()

    Подробнее тут:
    https://www.pygame.org/docs/ref/key.html

    Скорее всего pygame.event.get() возвращает список событий. В цикле у тебя как раз каждое событие это "e".
    Надо просто посмотреть доку, скорее всего одно из событий, нажатая клавиша, будет иметь тип относящийся к pygame.key
    то есть одно из событий будет как раз условно e == pygame.key у которого скорее всего можно будет вызвать e.get_pressed(). Точнее не скажу, у меня pygame не стоит, я с ним не работал. Просто судя по доке это точно должно помочь. Или покажи что выводит твой цикл из приведенного тобой кода в вопросе.
    Ответ написан
    Комментировать
  • Как узнать информацию об ОС?

    @newpy
    web-dev
    Информация о машине на которой python работает (читай сервер если это не консольное приложение или клиентский скрипт):
    import os
    print(os.uname())

    или

    import platform
    print(platform.uname())

    https://docs.python.org/3/library/os.html

    Информация об OS клиента (браузер):
    jsfiddle.net/ChristianL/AVyND
    Ответ написан
  • Как сделать авторизацию разных пользователей с одним логином?

    @newpy
    web-dev
    Если я правильно понял, то вам лучше сделать одну таблицу с пользователями, и сделать вторую таблицу групп пользователей. Авторизовывать группу по одному логину, но завести какой-то идентификатор пользователя в группе и пароль. А так как делаете вы, то ничего удивительного что пускает только одного.
    Например на странице авторизации вы видите поле ввода "логин", вводите туда логин группы, далее например появляется второе поле "выберите пользователя" и третье "пароль", вы выбираете пользователя из данной группы, и вводите только пароль который соответствует только выбранному пользователю. Это самое простое что пришло в голову "решение в лоб".
    Ответ написан
    Комментировать
  • Как изучить компьютерные науки?

    @newpy
    web-dev
    1. CS50
    2. SICP
    Классика зарубежного образования в сфере компьютерных наук. Первый - это азы. Второй это посложнее. Скорей всего в любой из прочитанных статей так или иначе будут упоминаться этих два курса, либо они зачастую за рубежом адаптированы под конкретный университет.
    • Если вбить эти две аббревиатуры в гугл, вам откроются тайны аббревиатур
    • Если прочитать и изучить эти две аббревиатуры, то из вас точно получится что-то толковое.

    По первому есть даже переведенные видео-лекции от Javarush,
    По второму есть книга на русском языке. Лично я такую храню у себя в рабочей библиотеке в бумажном виде.
    Ответ написан
    2 комментария
  • Почему при отправке формы на почту приходят неформатируемые данные?

    @newpy
    web-dev
    Ну так отформатируйте в виде HTML, и еще мой вам совет, отучитесь раз и навсегда в двойных кавычках писать переменные
    "Данные отправителя\r\nИмя: $name \r\n"
    Не ленитесь строки конкатенировать
    "Данные отправителя \r\n Имя: " . $name . "\r\n"

    $email_body = '<h4>Заполнена форма</h4>
    <div>Задать вопрос</div>
    <p>Данные отправителя</p>
    <p>Имя: ' . $name . '</p>
    <p>Email: ' . $email . '</p>
    <p>Вопрос: ' . $message . '</p>';


    Если лень так HTML составлять, воспользуйтесь str_replace например. Получитеся что-то вроде своего шаблонизатора.
    Ответ написан
    Комментировать
  • Как узнать кол-во процессов и кодировку файловой системы c помощью python?

    @newpy
    web-dev
    Воспользоваться psutil
    import psutil
    
    for proc in psutil.process_iter():
        try:
            pinfo = proc.as_dict(attrs=['pid', 'name'])
        except psutil.NoSuchProcess:
            pass
        else:
            print(pinfo)
    Ответ написан
    Комментировать
  • Как делать запросы к mysql на python3.5?

    @newpy
    web-dev
    оформлю уже тогда вместо комментариев =)
    много библиотек, но из последнего для работы с БД мне понравилась

    1. records, её автор Kenneth Reitz автор библиотеки requests.

    2. peewee вторая вполне известная небольшая и чем-то похожая на django ORM или Alchemy
    Ответ написан
    Комментировать
  • Почему не подключается класс?

    @newpy
    web-dev
    Сделайте красиво сразу, напишите|познайте автозагрузку нормальную, или сгенерируйте с помощью composer:
    https://habrahabr.ru/post/149678/
    Ответ написан
    Комментировать
  • Какие есть IDE для питона не на Java?

    @newpy
    web-dev
    А как Sublime себя ведет? Написан на питоне. На 15к строках не пробовал, но до 5к точно у меня не тормозил никогда. За него можно не платить. Раз в 10 или 20 сохранений, просто окошко выдает с предложением зарегистрировать. Меня не сильно это парит. Но можно и заплатить. Функционал не режется. Плагины не тормозят, для SQL есть.
    Если еще быстрее надо, то видимо надо на плюсах что-то вроде KDevelop (C++).
    Ответ написан
  • Как передать список роутов с сервера на клиент?

    @newpy
    web-dev
    $routeCollection = Route::getRoutes();
    
    foreach ($routeCollection as $value) {
        echo $value->getPath();
    }


    Route::getByName()
    Route::getByAction()


    Смотри в Ларавел API класс Route и RouteCollection, методы доступны через фасады
    Ответ написан
  • Как найти работу функциональным программистом?

    @newpy
    web-dev
    есть вакансии только на java-разработчиков

    Так тут и надо искать, Clojure поверх JVM работает.
    Функционалить можете на ClojureScript - тут вообще рынок весь открыт ибо это фронтенд. По фронтенду полно вакансий. А разницу между ClojureScript и Clojure сами понимаете. Так что можно функционалить прямо на фронтенде.
    Ну и зайдите в слак Clojure clojurians.net
    там есть канал для RU, и есть другие, там помониторьте.
    По остальным языкам вроде Хаскеля или Эрланга я бы тоже в слаке поискал каналы соответствующие.
    Ответ написан
  • Зачем нужны приложения?

    @newpy
    web-dev
    Попробую привести немного по-другому пример: проект - это сайт, а приложения части сайта, тематически и главное логически разделенные. Например на сайте ведется блог, это приложение пусть называется "блог". На сайте есть гостевая книга - это другое приложение (по логике вещей гостевая книга же не относится к блогу, ведь так? Там будут свои урлы, шаблоны, свои модели, вью, методы и тд. для работы именно с гостевой). Есть магазин - это приложение "магазин" которое тоже в общем-то не имеет отношения к блогу. А вот статьи от блога, это скорее модель приложения "блог", чем отдельное приложение. Ведь статьи напрямую относятся к блогу, и никак не к гостевой книге или магазину, там же не пишутся статьи. Получить доступ из одного приложения к другому можно, НО. Не стоит делать приложения связанными.
    Идея в том чтобы ты мог взять свое приложение "блог", и использовать его в любом другом своем проекте Сделать startproject, скопировать туда приложение blog, и должно работать. Условно ничего не переписывая "as is" (как есть). В одном проекте несколько приложений в общем никак не взаимодействуют. Для Блога будет URL ведущий и работающий с блогом, для Магазина так же, и для Гостевой. Главная страница может храниться в приложении Landing например или main. Еще на сайте/проекте может быть реализовано API это совершенно другая логика, поэтому это тоже отдельное приложение. Для понимания задай себе вопрос, например из мной приведенных примеров Products|Продукты это что и к чему из вышеописанного относится? Попробуй привести пример что еще на проекте/сайте можно выделить в приложение отдельное.

    UPD.
    a97cba340f664f4ea0b52974dbb0a6b0.png
    Ответ написан
  • Как PHP скрипт может расходовать 20Гб памяти?

    @newpy
    web-dev
    Смотря как вы файлы считываете, тем более во вложенном цикле. Построчно ли, целиком, если целиком то с помощью какого метода, посмотрите ob_get_level.
    В зависимости от вашего решения, попробуйте использовать генераторы (yield) если это возможно. На мой взгляд у вас проблема кроется либо в способах чтения файлов.
    Второе узкое место это запись в БД. Операции вставки всегда не дешевые, плюс если их много, попробуйте делать это транзакционно.
    Ответ написан
    Комментировать
  • Какой js-фреймвор (библиотеку) лучше кушает django?

    @newpy
    web-dev
    возьмите Vue.js (не фреймворк, >20k звезд на Гитхабе, легковесная, очень простое API, разработчик обещал что в обозримом будущем будет работать как React с VirtualDOM, при этом API не усложнится)
    vuejs.org/guide/index.html
    Ответ написан
    1 комментарий
  • Почему вылезает данная ошибка Laravel?

    @newpy
    web-dev
    Это потому, что в routes.php не определен роут для данного экшена UsersController@getActivate.
    Надо маршрут прописать в routes.php к нему. Нечто вроде
    Route::get('/users/activate', 'UsersController@getActivate')
    Ответ написан
    Комментировать
  • Так что же все-таки использовать для создания лендинг-пейдж?

    @newpy
    web-dev
    Простите, а как это связано с Python? Только то что вы его "юзаете потихоньку"? В вашем вопросе весь остальной текст посвящен HTML/ CSS/ JS/ Worpress/ Лендинг...
    Если вы хотите "юзать" Python, для лендинга возьмите Flask (микрофреймворк на Python) и делайте. Только для чистого лендинга Python вам совсем не нужен.
    Ответ написан
    Комментировать