• Можно ли на Python написать веб-приложение-парсер?

    @asd111
    Курсы валют не нужно парсить. Для этого есть API центробанка www.cbr.ru/scripts/Root.asp?PrtId=SXML
    Ответ написан
    Комментировать
  • MySQL грузит все ядра проца. Глюк?

    @asd111
    Поскольку у вас 24 ядра и 11.000 запросов в секунду query_cache лучше отключить.
    [mysqld]
    query_cache_size = 0
    query_cache_type = 0   # важно ! отключает mutex, которым оперирует query_cache

    Потому что в таких условиях он больше мешает чем помогает. Особенно если у вас мало таблиц и есть изменение таблиц, из которых чаще всего происходит чтение. Всё дело в том что ядра борятся за доступ к кэшу и если есть insert, update, delete в таблицу, для которой есть записи в кэше, то кэш всей этой таблицы обнуляется и снова ядра борятся кто будет обнулять, кто будет читать, писать и вся вот эта многопоточная борьба за мьютекс query_cache грузит CPU. И ещё кучу времени занимает очистка кэша если размер кэша большой(гигабайты).
    Если интересно что происходит с кэшем гляньте SHOW STATUS LIKE "qcache%";
    Там стоит обратить внимание на Qcache_lowmem_prunes. Чем эта переменная меньше тем лучше (в идеале 0 )- эта переменная показывает сколько раз обнулялся кэш для таблиц.
    Ответ написан
    1 комментарий
  • Почему WebGL такой медленный (с пустым шейдером)?

    @asd111
    Windows ограничивает fps до 60 для webgl, да и в целом для opengl и direct3d.
    Я не занимался webgl, но скорее всего можно по старинке узнать сколько миллисекунд уходит на отрисовку одного кадра и так узнать примерный fps по формуле
    1000/количество_миллисекунд_на_отрисовку_одного_кадра

    Посмотрите https://www.shadertoy.com/view/Ms2SD1 если показывает меньше 40 fps в окне, значит проблема в связке ОС—браузер—драйвера видеокарты.
    Если пример показывает 60 fps значит вам нужно найти другие уроки по webgl.
    Ответ написан
    7 комментариев
  • Как работает ИИ в играх?

    @asd111
    Для простого ИИ достаточно switch case или кучу if then else
    https://habrahabr.ru/company/intel/blog/265679/
    Ответ написан
    Комментировать
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    @asd111
    На мой взгляд вашему карьерному росту мешает то что вы работаете удаленно.
    Удаленно невозможно получить повышение по карьере до руководителя отдела разработки. Для многих senior программистов следующий шаг в карьере - руководитель отдела разработки.
    Если вы действительно хороший специалист и чувствуете в себе силы на что то большее, то я бы советовал искать работу не программистом, а руководителем отдела разработки в офис. Или искать работу в офис программистом с возможностью карьерного роста.
    Если кто то начнет смеяться что это невозможно, значит это невозможно лично для них.,т.к. из тех с кем я учился двое стали руководителями отдела разработки именно в сфере web разработки к 25-27 годам.

    А сколько лет было брату Павла Дурова на момент создания vk.com ? Вроде 23-25.
    Так что если разных нытиков слушать, то только самооценка пострадает, а толку не будет :)
    Павел Дуров не ждал до 30 чтобы cделать шаг в карьере и ты не жди :)
    Ответ написан
  • С чего начать изучение движка Drupal?

    @asd111
    Лучше изучи Symfony https://symfony.com/, поскольку drupal 7 и drupal 8 это две большие разницы и drupal 8 написан на symfony, но если знать symfony то drupal становится не нужен.
    В drupal и любой другой CMS много магии по сравнению с symfony и учить эту магию бессмысленно.
    Cо знанием symfony твоя зарплата может быть значительно выше и работу найти можно будет значительно проще и проекты с плохой архитектурой БД будут встречаться реже.
    Symfony учится быстрее чем drupal.
    Ответ написан
    Комментировать
  • Как постепенно перекочевать из Web в Machine Learning максимально безболезненно?

    @asd111
    Из языков строго python. Он похож чем то на Golang и на javascript так что сложностей в использовании не возникнет. С++ и R сразу нет. Потому что на С++ пишут в основном только сами библиотеки для ML либо что то очень быстрое наподобие анализа видеопотока в автопилотах и даже тогда прототип пишут на python, а R практически не развивается по сравнению с python и имеет более узкую сферу применения чем python.
    В плане обучения можно сделать так:
    1. Прочесть хорошую книгу по теме, потому что нужно знать термины и основные алгоритмы. Ну или хотя бы посмотреть курсы Andrew Ng Machine Learning. Для применения чужих библиотек на простых задачах этого в принципе достаточно.
    2. Глянуть scipy, numpy и jupyter notebook. У scikit есть scikit learn, в котором реализованы некоторые популярные алгоритмы. Например SVM, decision trees и т.д. и есть доки под это дело для начинающих scikit-learn.org/stable
    3. Зарегистрироваться на kaggle.com и найти задачу про титаник. Вот она https://www.kaggle.com/c/titanic Делаете решение как умеете. Можно взять простой gradient boost. Yandex как раз недавно выложил либу под это дело называется cat boost https://tech.yandex.ru/catboost/ Банальное использование этой библиотеки может дать около 80% точности. Вот туториал https://github.com/catboost/catboost/blob/master/c...
    4. Прочитать про keras. Взять готовую модель для смешивания стилей изображений и сделать сайт наподобие ostagram.ru для смешивания изображений. https://github.com/fchollet/keras/blob/master/exam...

    5. Дальше всё зависит от вас, поскольку заработать в области ML непросто :) Когда прочтете хотя бы одну книгу по ML, регистрируйтесь здесь ods.ai - это сообщество русскоговорящих специалистов в данной области.
    Ответ написан
    Комментировать
  • Как ускорить парсинг на Python?

    @asd111
    если используете только многопоточность, то можно запускать по 20-40 потоков или больше если процессор позволяет.
    увеличивайте число потоков пока не нагрузите 100Мбит или процессор
    Ответ написан
    Комментировать
  • Как создавали сайты до Django и вообщем без фреймворков?

    @asd111
    Чтобы идти с нуля нужно брать uwsgi или что нить в этом духе.
    До uwsgi было 2 варианта:
    1. запустить python на 80 порту и обрабатывать все самому;
    2. накалякать на С мини сервер и на запросы с 80 порта запускать python скрипт.
    Сейчас мы пришли к развитому второму варианту в виде uwsgi и тп.
    Минисервер на С нужен для быстрой обработки входящих запросов и чтобы в python отдавать обработанные данные. Т. е. вместо сплошной строки http запроса отдавать распарсенные строки.
    Ответ написан
    Комментировать
  • Какие есть книги или статьи для развития критического мышления?

    @asd111
    Методика воспитательной работы, криминология, генетика.
    В общем и целом наиболее успешны не люди с критическим мышлением, а люди с хорошими генами, выросшие в хороших условиях. Например мускулистый парень с нормальным давлением и не отталкивающей внешностью, родившийся в семье где у обоих родителей высшее образование, скорее всего достигнет большего в жизни чем худой парень с низким давлением и отталкивающей внешностью, родившийся в семье где у обоих родителей среднее образование.
    В целом успех в жизни больше всего зависит от генов и от окружения, в котором вырос человек.
    Ответ написан
    4 комментария
  • С чего начать изучать программирование?

    @asd111
    Если есть высшее образование и опыт работы по специальности экономист-аналитик, то лучше пройти курсы программирование 1С, администрирование 1С и т.п. по расширенной конфигурации 1С и идти в сферу 1С(не битрикс). С вашим опытом в сфере 1с программирования у вас будет самый быстрый карьерный рост.
    Курсы 1С данного вида есть почти во всех регионах России. Данные курсы обычно проводят партнеры 1С и по окончанию курсов выдаётся сертификат.
    Ответ написан
    4 комментария
  • Уникальные функции или большее количество?

    @asd111
    Это не важно. Оба варианта рабочие. Гораздо важнее правильно спроектировать базу данных, поэтому лучше гляньте литературу на тему проектирования БД, когда нужна нормализация, когда нет и как проектировать с учетом возможного разделения одной БД на несколько частей(шардинг). И про репликацию стоит почитать. И еще про индексированный полнотекстовый поиск(elastic search, sphinx) и про кэширование(redis, memcache и т.п.).
    Ответ написан
  • Как прочесть отдельные части текстового файла в C++?

    @asd111
    Самый простой вариант.
    while (std::getline (file,line)){
        //Для VC++ sscanf_s
        sscanf(line.c_str(),"%*s %x %x %*x %*x %*x %*x %*x %*x %x", &stolbec_2,&stolbec_3,&stolbec_10);    
    }
    Ответ написан
    Комментировать
  • Нужно ли использовать PDO или $mysqli->prepare если запросы обрабатываются функцией?

    @asd111
    Trim и strip_tags не удаляют возможность sql injection. Они защищают от XSS, однако не полностью.
    SQL injection — это такая уязвимость, при которой есть возможность делать запросы к базе данных там где это не предпалагалось разработчиком.
    У SQL injection есть много неприятных тонкостей, поэтому лучше использовать prepared statements.
    Можете попробовать ломануть свою функцию с помощью sql map или тому подобной утилиты для автоматического sql injection. Боюсь что результат может быть положительным.
    Гляньте любую статью как защитить php код от sql injection и XSS.
    Ответ написан
    1 комментарий
  • Как отправлять сетевые пакеты в python?

    @asd111
    попробуй сначала отправлять через telnet или netcat без питона, чтобы точно знать какой текст отправлять
    Ответ написан
    Комментировать
  • Как имитировать выполнение PHP по аналогии с codeacademy?

    @asd111
    docker. Берешь образ в котором есть php, настраиваешь и запускаешь.
    Ответ написан
    Комментировать
  • Как отделить логику от взаимодействия с базой данных?

    @asd111
    Существует стандартная архитектура для отделения логики работы программы от работы с данными и внешним видом. Такая архитектура называется MVC( model, view, controller). Model отвечает за работу с бд(получение данных, добавление данных в бд и т.п.), view отвечает за внешний вид(верстка в сайтах, например), controller отвечает за логику работу программы(например получить через model данные из бд и отрисовать во view).
    Для лучшего понимания данной архитектуры можете попробовать любой php framework, например laravel, yii2, symfony2.
    Если вам нужен только удобный слой работы с БД, то достаточно взять Doctrine. Тогда вам не нужно будет изобретать iterator, dbitems и т.п.
    Ответ написан
    3 комментария
  • Решение задач программирование?

    @asd111
    Вам нужно изучить теорию, а именно алгоритмы и структуры данных. Хотя бы по этой книжке www.ozon.ru/context/detail/id/24903185
    Ответ написан
    Комментировать
  • Как оптимизировать программу на с++?

    @asd111
    Попробуй cin и cout вместо scanf и printf. Только не забудь добавить std::ios::sync_with_stdio(false);
    Т.е. так
    #include <iostream>
    
    
    int main()
    {
    std::ios::sync_with_stdio(false);
    int N;
    std::cin >> N;
    N++;
    N *= N;
    std::cout << N;
    
    
    return 0;
    }
    Ответ написан