Задать вопрос
  • Как распределять свои проекты?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Вам нужно освоить три вещи.

    1. Управление версиями. Чтобы исходники лежали в положенном месте вместе с историей всех-всех-всех файлов, а также с зависимостями. Это будет git

    2. Управление сборкой. Чтобы из ваших исходников собирался нужный вам продукт в нужной конфигурации. Причем от 0 до инсталляторов под все-все-все платформы. Это будет cmake

    3. IDE. Это такой умный редактор текстов, который интегрирует управление первым и вторым. Тут можно брать любой во вкусу. VC++ хорошо идет.
    Ответ написан
    1 комментарий
  • Зачем в Windows "ненужные" службы и процессы?

    Morpheus_God
    @Morpheus_God
    Потом после таких вот статеек, удивляешься почему у юзера не печатает принтер, не работает блютуз и прочая периферия.
    Прежде чем что то отключать надо понимать, что ты отключаешь.
    Ответ написан
    4 комментария
  • Как общаться с покупателем своего продукта, если он задаёт много вопросов, касающихся алгоритма?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    У одного моего очень дотошного нанимателя, склонного к личному участию во всём, энтузиазм несколько поубавился после того, как я с фанатичным блеском в глазах выдал: "Ооо, это прекрасный алгоритм! С удовольствием расскажу! Для объяснения алгоритма понадобится теория конечных автоматов и теория категорий, с их обзора и начнём. Надеюсь, у вас хорошая математическая база? Я учил это пять лет в универе и десять лет на практике, но вам постараюсь дать кратенько, часов за 6 должны уложиться. Подыщите спокойный кабинет с маркерной доской."

    Но осторожно, работает только с комерсами. Если наниматель - технарь, можно попасть.
    Ответ написан
    Комментировать
  • Зачем делают backend на разных языках?

    @InoMono
    Возьмем например Дропбокс.

    Изначально был написан на Python - это быстрее для прототипирования.
    Потом был переделан на Go - для предсказуемости и скорости. Но зачем переделывать полностью? Многие куски на Python существуют там до сих пор. И работают.
    И маааалюсенький кусочек был переделан на Rust - для ускорения самого узкого места.

    Вот вам и 3 языка работающих одновременно в Дропбоксе на бэке.

    Или имеется в данный момент свободен тот или иной специалист, который лучше знает тот или иной язык. Ему поручили - он сделал на том, что лучше знает, чтобы сделать быстрее и качественнее.

    Или такова была особенность задачи. Пример с комбинацей Rust/Go выше приведен. Где то может быть лучше один язык, где то другой.

    А если мы вспомним, что проект не только пишется, а еще и готовые компоненты применяются - то автоматически к любому почти проекту добавляются С/С++ те что в БД к примеру и пр. и пр. SQL - тоже язык бэкенда. И пр. и пр.

    Вы преувеличивайте значение языка. Это всего лишь инструмент программиста. Такой же как клавиатура. Опытный программист за долгие годы изучает не меньше десятка языков, а кто то и намного больше. Ничего такого в этом нет.
    Ответ написан
    Комментировать
  • Почему sizeof показывает фактический размер массива хотя по сути имя массива это указатель на первый элемент?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    По сути статический массив это действительно указатель. Но реально тип другой и компилятор знает реальный размер массива. После того как вы приводите массив к типу указателя (например при передаче в функцию), эта информация теряется и sizeof уже вернет размер указателя.
    Ответ написан
    2 комментария
  • Как убрать погрешность при использовании double в вычислениях?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Использовать библиотеку длинных чисел, например GMP.
    Ответ написан
    2 комментария
  • Какие есть на C++ фрейморки для веб как Laravel на PHP?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Кое-какие вещи есть, но я бы не сказал, что ими активно пользуются в промышленной разработке. А причина проста: C++ предоставляет слишком много контроля, и слишком сложен, в сравнении с популярными для веб языками PHP, Python, Ruby и т.п. Помимо этого, он ещё и компилируемый, без рефлексии из коробки, с проблемами с ABI и т.д. Т.е. придётся преодолевать много трудностей и учиться многим вещам, при весьма сомнительной пользе для веб.
    Разумное использование, это например писать какие-то расширения на стороне сервера, или расширения к БД. Но только не фреймворки вроде RoR.
    Ответ написан
    Комментировать
  • Как листать определения функций с клавиатуры?

    GavriKos
    @GavriKos
    Стрелочками вверх и вниз. Проверил - работает.
    Ответ написан
    1 комментарий
  • Какая есть среда разработки на С?

    clion
    Ответ написан
    Комментировать
  • Отображение pdf пришедшего с сервера?

    в заголовках ответа сервера укажите что это PDF,

    header('Content-Type: application/pdf');
    header('Content-Disposition: inline; filename="'.$name.'"');
    Ответ написан
    1 комментарий
  • Стек технологий для разработки корпоративного приложения с desktop клиентом?

    @cicatrix
    было бы большой ошибкой думать
    Если браузерный клиент не принимается, зачем вам asp.net? Не web-ом единым жив TCP/IP.

    Уточните, нужен ли сервер вообще, если вся его задача сводится к функции прокладки между клиентом и базой данных, можно обойтись только клиент + серверная БД.
    Клиента пишите на чём угодно. Если в тэги C# поставили - логичный выбор WinForms (можете WPF, конечно, но смысла особого нет).
    Если сервер всё-таки нужен, то можно и windows service написать на том же C# (сервер = не обязательно web сервер)
    Ответ написан
    Комментировать
  • Как скомпилировать в один большой запускной файл?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Да. Читайте про статическую линковку.
    Помимо этого, можно просто все нужные зависимости поставлять с исполняемым файлом.
    Ответ написан
    2 комментария
  • Есть ли С++ IDE с готовыми библиотеками?

    mmmaaak
    @mmmaaak
    Qt Framework, есть своя IDE, а в фреймворке куча готовых библиотек с кроссплатформенными реализациями много чего, включая работу с сетью
    Ответ написан
    Комментировать
  • Как научиться писать грамотный код JS?

    @Strannyk
    Поможет работа в команде с код ревью.
    Все разработчики проходят 3 стадии развития:
    1. копипастинг - когда, как собака, все понимаешь, но сам написать не можешь;
    2. стадия быдлокода - когда код задачу решает, но без слез на него не взглянешь - не застрять на этой стадии помогут опытные коллеги, которые популярно объяснят, что так писать не надо;
    3. стадия просветления - когда появляется понимание, что код должен не только работать, но и быть поддерживаемым.

    Если нет возможности работать в команде, неплохо бы найти ментора, которому будет не влом периодически давать разгромную критику вашей работы. Только подходить к выбору надо на основании объективной информации о квалификации будущего наставника. "тэг ООП не уместен в вопросе про JS, так как в этом языке нет ооп, а есть только накладки, которые бабелем потом транспилируются в ванилу" (с) - в этом предложении ужасно все.
    Ответ написан
    Комментировать
  • Есть ли сайт идей, где можно приложить свои умения в области web программирования?

    Идея - ничто. Вопрощение - всё. Открываете hh смотрите какие компании нанимают людей и чем они занимаются - делаете лучше. Готово.
    К тому же мы не знаем будущего, не знаем какая идея на миллион, а какая на ноль )
    Ответ написан
    5 комментариев
  • Как открыть больше 65600 портов?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Дополнительный физический интерфейс не нужен, а вот дополнительный IP - в самый раз. На одном интерфейсе может находится несколько IP.
    Ответ написан
    Комментировать
  • Как тестировать методы работающие с приватными или защищенными полями?

    Да в любом тесте мне понадобится поле _workers. Как его получать?

    Никак. Если говорить по хорошему, этот код невозможно протестировать. Поэтому, например, при TDD не используются статичные классы. Разработка через тестирование заставляет в первую очередь думать что пишешь. Зачем нужна обертка вокруг в виде класса Office вокруг класса List? Какие задачи она решает? Почему в том месте, где будет использоваться интерфейс IOffice не использовать просто класс List? Когда начинаешь задумываться над такими вещами, тогда отпадает надобность получать доступ к приватным полям.
    Ответ написан
    Комментировать
  • Где почитать про "боевое" использование сокетов?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Еще в 2012 году парни выжимали 1 млн соединений с 1 физического сервера: https://habrahabr.ru/post/123154/
    Даже если снизить накал на порядок и предположить что у них и нагрузка была в плане количества сообщений ничтожной - все равно получается 100 000 соединений с сервера, а это больше чем средний онлайн ААА игры.

    Поверьте, все эти истории с играми упираются не в количество сокетов, а в производительность игровой математики, которая обрабатывает каждое действие всех пользователей.

    "Pubg держит 3 млн игроков" - забавно). Pubg держит 100 игроков в одной сессии и это хороший результат.
    WoT держит 20 игроков в одной сессии.
    EVE в самой большой битве было ~7500 человек, и они вводили своё фирменное замедление времени - сервер обслуживающий локацию не успевал обсчитывать математику.

    А вообще, все проекты обслуживающие большое количество людей строятся изначально исходя из возможности горизонтального масштабирования. В этом смысле сессионки вообще шикарны, изолированная на долгое время группа людей, какие-то связи за пределы группы отсутствуют, никакие серьезные потоки данных из сессии перебрасывать не нужно, целостность данных тоже пофиг по большому счету - идеальная история.
    Ответ написан
    2 комментария