• Что изучать следующим в C++?

    @asd111
    Чтобы не было каши желательно прочитать книжку, при этом те темы которые знаешь можно просмотреть по диагонали.
    Если вы используете умные указатели(make_shared, make_unique и т.п.), move semantics( std::move и т.д.) и пишете шаблоны, когда надо(template ... - иногда скорость работы возрастает в несколько раз что очень обидно без шаблонов), можете написать многопоточность и знаете как использовать SIMD, то можно сказать что у вас довольно хорошие знания С++. Конечно остается много тонкостей наподобие вылетающих в рантайме эксепшенов в тот момент когда этого не ждёшь, но это приходит с опытом.
    Я вам советую глянуть исходный код на С++, который пишут в Yandex или в Google и trending.
    Если в исходниках что то не понятно, то именно это стоит подтянуть.
    Ответ написан
    Комментировать
  • В чем минусы Rails и хуже ли он Django?

    @asd111
    Rails и Django решают одну и ту же задачу - web программирование. В целом те кто использует Django используют его ради возможностей python, чтобы быстро прикрутить к своему проекту тот же анализ данных на python на scikit-learn и на других библиотеках для анализа данных, которые изначально пишутся для python и С++, а для других языков обычно выходят с задержкой либо не выходят вообще.

    Если вы раньше писали на ruby-rails, то python и django вам понравятся, особенно если вы посмотрите scikit-learn и т.п. возможности python для анализа данных. Главная причина популярности python - очень качественные библиотеки и простое API в этих библиотеках.
    Молодежь для бэкэнда сейчас выбирает обычно php либо golang, иногда javascript.
    Про php вы зря думаете что плохой язык. Если нужно писать только веб без математики, то php с yii или symfony неплохой выбор. Главное битрикс не использовать :) А в плане скорости php 7 очень даже норм.
    Golang обязательно посмотрите. Все таки один из самых быстрых языков для веба сейчас. И многие из тех кому нужна была скорость перешли с ruby-python на golang.

    Рельсы медленно умирают - это факт. Потому что ruby ничего не может предложить кроме веба. А для веба сейчас появился очень быстрый golang и туда ушли почти все рельсовики кому не по душе php и python.
    Ответ написан
  • Как реагировать на письмо, которое пришло мобильному разработчику, от некой компании FMFG?

    @asd111
    Забей. Обычно в таких случаях недовольные обращаются в play market и приложение выпиливается из маркета самим гуглом и аккаунт разработчика блокируют. По крайней мере так пропадают все игры по мотивам мультфильмов Disney :)
    Ответ написан
    Комментировать
  • Как определить схожесть(рерайт, уникальность) 2ух текстов на Go(Golang)?

    @asd111
    Для python есть difflib. Код ниже не проверял, но должно работать
    from difflib import SequenceMatcher
    file_1 = "text_1.txt"
    file_2 = "text_2.txt"
    s = SequenceMatcher(lambda x: x == " ", # пропускаем пробелы
                        file_1.read(),
                        file_2.read())
    print(round(s.ratio(), 3)) # число от 0 до 1. 0 - совсем не похожи ; 1 - идентичный текст


    Всё это дело на python можно легко распараллелить и т.п.
    Ответ написан
    1 комментарий
  • На чем разрабатывают AR игры и приложения?

    @asd111
    Всё реализуется на уровне игровых движков. А большие игровые движки, наподобие unreal engine, покрывают почти все платформы. Глубже копать почти бессмысленно, потому что у каждого набора VR, AR свой SDK на С++ и сделать что то что покроет несколько платформ - затратно по времени.
    https://www.unrealengine.com/en-US/vr
    Изучайте работу с каким нибудь большим игровым движком. Будь то Unity или Unreal engine.
    То что показывали Apple на презентации было сделано на Unreal Engine. Пруф https://www.unrealengine.com/en-US/blog/high-end-a...
    Ответ написан
    5 комментариев
  • Старт в Python. Начало положено. А как быть дальше?

    @asd111
    Читайте про алгоритмы и структуры данных.
    Ответ написан
    Комментировать
  • Как правильно построить архитектуру django приложения для мультиплеерной змейки?

    @asd111
    Используйте какую нибудь реализацию websocket. Обычно там в примерах есть чат. Этого примера вам будет вполне достаточно потому что всё остальное у вас уже написано.
    Для python есть flask-socketio, для javascript socketio, для других языков тоже есть свои реализации.
    Ответ написан
    Комментировать
  • Какой IDE лучше всего выбрать для моих целей?

    @asd111
    Кроме перечисленного попробуйте visual studio code от microsoft( он кроссплатформенный), там вроде есть поддержка C# .net core чтобы делать web приложения. И вроде как он поддерживает довольно много языков.
    https://code.visualstudio.com/
    Ответ написан
    Комментировать
  • Куда развиваться и как профессионально расти как php программист в маленькой фирме?

    @asd111
    memcached(memcached cluster) для кэширования и в качестве БД, elasticsearch или sphinx для полнотекстового поиска и в качестве БД, clickhouse для аналитики, partitioning-sharding replication для работы с БД.
    Но если вам это не пригождалось, то можно забить на всё кроме memcached.
    Ответ написан
    Комментировать
  • Какой язык для backend`a, по вашему мнению, будет востребован ближайшее время?

    @asd111
    Если сомневаетесь, то php с фреймворками symfony-yii. Работу на php без фреймворков не рассматривайте, чтобы не терять время.
    Ответ написан
    Комментировать
  • Как БЫСТРО вывести несколько млн.строк в txt из mariaDB(mySQL)?

    @asd111
    Уверены что тормозит запись, а не сам запрос ?
    В вашем случае если средняя длина результата 50 байт, то 1 млн. таких записей это примерно 50 MB т.е. это запишется на SSD за 1 сек.
    Сделайте
    explain SELECT DISTINCT acc.email, acc.password
    FROM accounts acc JOIN accounts_status st ON acc.id_account=st.account_id
    WHERE st.service_id in(1,5,8,7,122,147,80,58,77,60,55,15,22,14,16,78,75) AND st.status = 1 LIMIT 100000
    возможно проблема в индексах.
    Посмотрите индексы SHOW INDEXES FROM accounts, SHOW INDEXES FROM accounts_status
    Посмотрите чему равно у вас innodb_buffer_pool_size в конфигах mysql, должно быть 22400M примерно для 32 GB.
    Ответ написан
    6 комментариев
  • Как создать браузер на C# или C++?

    @asd111
    Используйте blink. www.chromium.org/blink
    В Qt framework есть компонент qt web engine, основанный на blink doc.qt.io/qt-5/qtwebengine-index.html
    Или почитайте исходники blink https://chromium.googlesource.com/chromium/blink/+... Это форк webkit, на котором работает нынешний chrome.
    Ответ написан
    Комментировать
  • А Вы встречали гениев-программистов?

    @asd111
    Встречал. Главное отличие в том что пишет код с 9 утра до 20 вечера с перерывами на еду. Работает в несколько раз продуктивнее чем средний программист. Проблем с общением не имеет, хоть и интроверт. Чтобы такого найти достаточно поговорить о том о сём, например о насущных задачах в проекте и как он видит решение данной реальной задачи из нашего проекта, потому что её будет делать он. Они примерно одинаково рассуждают, как это ни странно. Внешне я встречал только две категории продуктивных программистов: качки и бобуки. Возможно бывают и другие.
    Качки выглядят примерно так:
    d8dd62cfc0dc43c0b3141b6538bb78e8.pngf97468d929e348b1a8a10fd89fbdd6a7.jpg

    а бобуки примерно так:
    5dfa6177632b440193e680b6bc3c8bfa.jpgb6fbbb02cf3c495c9f57182218f88b14.jpg
    Ответ написан
    Комментировать
  • Как спроектировать архитектуру большого проекта с начальным знанием программирования?

    @asd111
    1. Спроектируйте сначала API. Т.е. весь список URL и что по какому URL будет происходить. А еще лучше составить ТЗ. Например
    ТЗ https://github.com/sat2707/hlcupdocs/blob/master/T...
    запросы
    GET /<entity>/<id> для получения данных о сущности
    GET /users/<id>/visits для получения списка посещений пользователем
    GET /locations/<id>/avg для получения средней оценки достопримечательности
    POST /<entity>/<id> на обновление
    POST /<entity>/new на создание

    2. Затем проектируете БД и реализуете необходимые SQL запросы и запросы к mongoDB.
    3. Затем начинайте реализовывать один URL за другим по очереди.
    Шаги 2 и 3 можно делать в любой последовательности, но начать желательно с API, т.е. с полного списка URL приложения.
    Ответ написан
    Комментировать
  • Как реализовать КОП на C++?

    @asd111
    То что вы называете "КОП" уже давно используется в ООП и называется Composition over inheritance. Это когда вместо наследования используется композиция.
    Например с наследованием будет так:
    class Person {
         String name;
    }
    class Employer : Person {
        BigDecimal salary; 
    }


    а с композицией будет так:
    class Person {
         String name;
    }
    class Employer {
        Person person;
        BigDecimal salary; 
    }


    Почитайте про паттерны проектирования в ООП. Там много интересного и практически применимого.
    Ответ написан
  • Я хочу изучить C++ первым ЯПом(языком программирования), какие курсы, книги, ресурсы посоветуете?

    @asd111
    На выбор Lippman C++ Primer https://www.ozon.ru/context/detail/id/26348781/ либо Prata C++ Primer Plus https://www.ozon.ru/context/detail/id/34593932/
    Если знаете английский, то советую прочесть любую из этих книг на английском, потому что читать перевод книг по программированию местами неприятно из за кривого перевода.
    После этих книг желательно прочесть одну-две книги автора Scott Mayer "Effective modern C++" и "Effective STL" - книги не такие большие примерно 300 стр.
    Все книги есть в виде pdf где то в интернете.
    Главное после этого начните изучать алгоритмы и структуры данных и паттерны проектирования.
    Ответ написан
    Комментировать
  • Что делать когда коллеги уровнем ниже?

    @asd111
    Если я правильно понимаю то речь идет не столько о внешнем оформлении кода сколько о том как именовать функции и переменные и как распределить код с точки зрения ООП ?

    Вам нужно составить code style guide и в нём описать правила оформления кода как вы их видите, включая примеры названий переменных и функций(например мне нравится under_score. а другим CamelCase) и примеры плохого кода из вашего проекта на ваш взгляд.

    Затем ваш code style guide предложите на критику коллегам, пусть они внесут свои правки, выскажут свою точку зрению на то как называть переменные, функции и как распределять код по классам и т.п. и примеры плохого кода из вашего проекта на их взгляд, и таким образом вы сможете прийти к компромиссу и выработать единый code style guide, который устроит вас всех.

    Code style guide это довольно распространенная практика например вот набор code style guide от google для разных языков https://github.com/google/styleguide
    Ответ написан
  • В чём разница указателей и ссылок?

    @asd111
    Разница прежде всего в применении.
    Так входящие параметры для функции принято передавать по константной ссылке, а исходящие параметры принято возвращать в виде указателя.
    Примерно так:
    void Foo(const string &in, string *out);
    Указатель в виде входящего параметра может использоваться в случае если надо иногда передать в функцию null.
    Ответ написан
    Комментировать
  • Можно ли на Python написать веб-приложение-парсер?

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