Ответы пользователя по тегу Программирование
  • Какой IDE лучше всего выбрать для моих целей?

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

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

    @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делать шаг в карьере и ты не жди :)
    Ответ написан
  • С чего начать изучать программирование?

    @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);    
    }
    Ответ написан
    Комментировать
  • Как отделить логику от взаимодействия с базой данных?

    @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;
    }
    Ответ написан
  • Возможно ли стать олимпиадником с нуля?

    @asd111
    Решайте задачи предыдущих лет, желательно на Java или на С++. Задания в целом однотипные.
    olymp.ifmo.ru/archive/problems
    Ответ написан
    Комментировать
  • Формирование 3d модели из 2d проекций?

    @asd111
    Посмотрите как называется в графическом редакторе техника, которую вы хотите использовать и потом можно быстро нагуглить.
    Вот пример какие есть основные техники для получения 3д из 2д:
    www.peachpit.com/articles/article.aspx?p=30594&seqNum=4

    и вот объяснение как можно реализовать extrude:
    gamedev.stackexchange.com/questions/113060/how-can...

    Вам были бы интересны книжки по вычислительной геометрии, например вот эта www.ozon.ru/context/detail/id/137356026, или она же в оригинале https://www.amazon.com/Computational-Geometry-Appl...

    Я не читал эту книгу, но вроде содержание норм.
    Ответ написан
    Комментировать
  • Можно ли на php создать программу, которая будет связанна с сайтом?

    @asd111
    Насколько знаю клиент Discord написан на Javascript фреймворке Electron electron.atom.io/apps
    Ответ написан
    Комментировать
  • Написать готовую версию приложения за день-два?

    @asd111
    1. Язык программирования ? Берешь парсер, например antlr и пишешь интерпретатор языка программирования за день, при условии что знаешь как писать грамматику и заранее её продумал и знаешь как обходить дерево. А можно вообще взять готовый интерпретатор и изменить грамматику.
    2. Машинное обучение ? Берешь skikit и по методу опорных векторов делаешь свою приблуду для классификации за два дня, потому что самое сложное (математическое ядро) уже написано, осталось только положить данные и показать как с ними работать. Ещё можно глянуть tensorflow.

    Тут главное хорошо знать теорию и иметь опыт разработки в данной сфере, тогда такие задачи занимают намного меньше времени, потому что не надо тратить время на изучение теории и написание собственных библиотек.
    Это как если кто то станет хвастаться сайтом на Битрикс и скажет что сам его написал, хотя поменял только шапку сайта. Грубое сравнение конечно, но я думаю суть понятна.
    Ответ написан
    Комментировать
  • Как вам курс CS50 и почему я не могу делать задачи?

    @asd111
    Видимо в курсе мало рассказывают конкретно об алгоритмах и структурах данных. Например решить задачу связанную и динамическим программированием или с поиском путей в графе без знания теории нереально.
    Ответ написан
    Комментировать