Задать вопрос
  • Чем меньше символов, пробелов и пропусков в коде, тем лучше?

    Не правильно.

    Код должен быть читаем и понятен человеку. Причем, не только автору, но и «злому маньяку тим-лиду, который вооружен и знает, где вы живёте», как говорится в шутке программистов.
    Для этого пустые строки между блоками кода бывают полезны. Как и комментарии, и длинные осмысленные наименования переменных и фукций.
    Компилятор потом всё равно всё перелопатит по-своему в ацкие бинарные инструкции )

    Как форматировать код — договариваются. Есть общепринятые стандарты форматирования кода (coding style). Например, стандартный для PHP. Или принятый в компании AirBnB для JavaScript.

    Хороший-удобный редактор кода всегда подскажет, где накосячили со стилем вашего кода, почему, и как исправить.
    Ответ написан
    Комментировать
  • Для чего на микрике мыши 3 контакта?

    Stalker_RED
    @Stalker_RED
    микрик для мыши распиновка
    bc6c5b.jpg
    Один нормально замкнутый, другой нормально разомкнутый, можно было и догадаться или прозвонить.
    Теперь ваша мышь ловит наводки на провод, либо же, даблклики были из-за излома в проводе, и перепайка микриков ничем не помогла (а может проблемы были и в микрике и проводе одновременно).
    Попробуйте отрезать несколько сантиметров провода, чаще всего он убивается в точке выхода из мыши. Жилы изламываются и начинают плохо контачить, изоляция изнашивается, вот это все.
    Ответ написан
  • Стоит ли смотреть старые курсы?

    JustKappaMan
    @JustKappaMan
    Frontend, backend, desktop. Всего понемногу.
    В случае изучения базы, то есть ванильных HTML, CSS и JS - стоит, если курсы хорошие, конечно же. Разве что, очень желательно, чтобы HTML был версии 5, CSS - версии 3, а JS - не ниже ES6.
    Ответ написан
    Комментировать
  • Подойдет ли Game Maker для создания не пиксельных игр?

    Game maker - движок для создания двухмерных игр.
    Так как не все двухмерные игры пиксельные - возможно подойдёт.

    "Возможно", тк под определение "не пиксельный" подпадают в том числе и трёхмерные игры - их не получится.
    Ответ написан
    Комментировать
  • Какую задачу можно задать, чтобы быстро обучиться linux?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Просто сделать линух своей повседневной операционной системой.
    Ответ написан
    Комментировать
  • Почему компилятор пишет, что типы не совпадают?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Потому что ты определил функцию вверху без параметров int calculate();
    Ответ написан
  • Как сделать что бы со временем восстанавливались HP?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Бой закончен, восстановить 10 ХП в 12 часов 32 минуты
    Время 11 часов 50 минут, ничего не делаем
    Время 11 часов 51 минут, ничего не делаем
    Начался бой, восстановление здоровья остановлено
    Бой закончен, восстановить 10 ХП в 12 часов 55 минуты
    Время 12 часов 03 минут, ничего не делаем
    Ответ написан
    Комментировать
  • Могу ли я делать и продавать ремастеры знаменитых игр и фильмов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Конечно можете. Заключаете договор с правообладателем, приобретаете право на создание производного произведения и вперёд, творите.
    Ответ написан
    Комментировать
  • Нужно ли хранить сервер и клиент в разных репозиториях?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Как удобнее. Я разделять стараюсь.
    Ответ написан
    2 комментария
  • Что нужно для авторизации через Google?

    "Sign in with google" реализуется при помощи OIDC:
    В документации есть ссылки и на стандарт, как это работает, и что примерно нужно сделать у себя в приложении, чтобы это заработало.
    https://developers.google.com/identity/openid-conn...

    Кстати, если ты такую кнопку добавляешь у себя в приложение на яблоке, то ты также будешь обязан сделать "Sign in with apple"
    https://developer.apple.com/sign-in-with-apple/get...

    Но на яблоке вроде для игр есть какой-то свой API, так что ты вполне можешь на Android использовать Google Play Games, а на яблоке - яблочное.
    Ответ написан
    3 комментария
  • Какие таблицы работают эффективнее?

    @rPman
    На каждую таблицу будет заводиться индекс PK, если количество записей будет одинаковое (в смысле на каждое значение PK будет по одной записи в каждой таблице) - будет хуже, так как размер индекса у каждой таблице растет с ростом количества записей в ней, и много таблиц - много по факту отдинаковых индексов (но для разных таблиц он хранится), поэтому разделять по мелким узким таблицам имеет смысл только для разряженных данных, когда записи появляются только при наличии данных, причем чем больше таких отдельных таблиц тем больше должна быть 'разряженность' данных, чтобы это имело смысл.

    Так как объем ПЗУ значительно выше (при той же стоимости) чем ОЗУ (а требования к ней таковы что индексы желательны влезать в нее, хотя бы для оперативных запросов) то лучше забить на оптимизацию по занимаемому месту данными, чем увеличить кратно требования для оперативного хранения индексов.

    Поэтому - не дроби на большое количество таблиц, пусть будет меньше таблиц с большим количеством полей, но без фанатизма, если видишь что появляется куча условий not null когда как для нескольких таблиц это отрабатывается inner join, то тогда да (not exists лучше чем is null).

    p.s. в догонку про сериализацию данных в одно поле, когда одно поле БД хранит сразу несколько значений - это оправдано и даже рекомендуется, если эти данные не имеют смысл по отдельности, красивый пример ip-адрес и порт как настройки подключения - суть одни данные, и нет никакого смысла разделять их на разные поля базы, за исключением случаев когда возможно потребуется активная аналитика по отдельному полю (например по ip адресу) - 'активная' тут это значит нужно строить индексы и делать частые запросы а не разовый full scan бакэндом.

    Дробление данных на большое количество полей - повышает нагрузку на бакэнд (спорное утверждение, бывает наоборот, но зачастую да), правда для тех разработчиков, где такая оптимизация имеет смысл, такими вопросами не задаются, нужны действительно большие нагрузки.
    Ответ написан
    1 комментарий
  • На чем легче написать электронный каталог для библиотеки?

    Проще всего будет на том языке, который ты лучше знаешь.
    Например я бы писал это на C#

    А по сложности реализации - все мейнстримные языки с GC будут очень похожими.
    Ответ написан
    Комментировать
  • Как запускать и контролировать статус работы сторонних exe файлов в c++?

    @FaTTeST
    Для запуска внешней программы из кода на C++ можно использовать функцию system(). Эта функция позволяет выполнить команду в командной строке. Например, чтобы запустить программу installer.exe, можно использовать следующий код:

    #include <stdlib.h>
    
    int main()
    {
        system("installer.exe");
        return 0;
    }


    Функция system() блокирует выполнение программы, пока запущенный процесс не завершится. Если вам нужно запустить процесс асинхронно, то можно использовать функцию CreateProcess() из библиотеки Windows API.

    Чтобы определить, что внешняя программа завершила работу, можно использовать функцию WaitForSingleObject(). Эта функция блокирует выполнение программы до тех пор, пока указанный объект не перейдет в сигнальное состояние. В случае с внешней программой, этим объектом будет процесс, который она запустила. Например, чтобы дождаться завершения программы installer.exe, можно использовать следующий код:

    #include <windows.h>
    
    int main()
    {
        STARTUPINFO si;
        PROCESS_INFORMATION pi;
        ZeroMemory(&si, sizeof(si));
        si.cb = sizeof(si);
        ZeroMemory(&pi, sizeof(pi));
    
        // Запускаем процесс
        CreateProcess("installer.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
    
        // Ожидаем завершения процесса
        WaitForSingleObject(pi.hProcess, INFINITE);
    
        // Закрываем дескрипторы процесса и потока
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
    
        return 0;
    }


    В этом коде мы используем функции CreateProcess() и WaitForSingleObject() для запуска процесса и ожидания его завершения. Функция CreateProcess() создает новый процесс и возвращает дескрипторы процесса и потока. Функция WaitForSingleObject() ожидает завершения процесса, используя дескриптор процесса, который мы передали ей в качестве параметра. После завершения процесса мы закрываем его дескриптор и дескриптор потока с помощью функции CloseHandle().
    Ответ написан
    Комментировать
  • Голосовой ассистент на c#. С чего начать? Что надо изучить? Как реализовать(это мой первый проект)?

    Griboks
    @Griboks Куратор тега C#
    Если это ваш первый проект, то никак. Но если очень хочется, то:
    1) найдите готовый голосовой ассистент
    2) соpдайте свой пользовательский интерфейс вокруг готового ассистента
    Ответ написан
    5 комментариев
  • Как закрыть доступ к старым commit для разработчиков на ветке master?

    Как не удалив историю коммитов в master предоставлять доступ разработчикам к актуальной версии приложения без доступа к коммитам содержащим конф. данные в коде?

    Раз уже данные скомпрометированы, то их нужно изменить (старые отозвать, новые выпустить).

    А историю можно переписать, чтобы убрать ненужное.
    Ответ написан
    Комментировать
  • Импликация (следование) в C++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Нету в C++ отдельных операторов для этих логических функций. Потому что их все можно составить из И, ИЛИ и НЕ.

    Так, импликация - это !a || b. Эквивалентность - можно просто сравнить 2 переменные: a == b.
    Ответ написан
    1 комментарий
  • Почему цикл if внутри цикла for который находится в цикле while не работает?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    С чего вы взяли что у вас там что-то не работает?
    Во-первых:
    Почему цикл if внутри цикла for который находится в цикле while не работает?

    if - это не цикл.
    Во-вторых, в ытам накосячили с отступами.
    В-третьих, в таком спагетти коде не мудрено наделать ошибок, а у вас еще и break встречается то и дело. Нарисуйте блок-схему вашего алгоритма, тогда станет понятнее. А сейчас этот код вообще не читаем, отчего просто бесполезен и должен быть удален и переписан заново.
    Попробуйте разбить весь этот код на функции. Функуии должны быть короткие, читабельные и "чистые" (то есть зависеть только от аргументов, а не от внешних и глобальных факторов)
    Ответ написан
    8 комментариев
  • Как пофиксить нерабочий второй монитор, когда на первом игра в полноэкранном режиме?

    Stalker_RED
    @Stalker_RED
    В большинстве игр в настройках можно вместо fullscreen выбрать windowed fullscreen. Если такого режима нет, то возможно он включается параметрами в ярлыке (во многих движках, даже если разработчики не добавили в меню).
    Третий вариант - запустить в окне, и уже сторонними утилитами убрать рамку.
    Работает везде, где есть режим "в окне", если и его нет в меню - попробуйте alt+enter.
    Ответ написан
    Комментировать
  • Как пофиксить нерабочий второй монитор, когда на первом игра в полноэкранном режиме?

    @Drno
    Используй оконный режим в игре
    Ответ написан
    Комментировать
  • Возможно ли на java сделать микросервис, который бы генерировал xls со сложной структурой и использовать его через api?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Микросервис можно
    Обращаться по api можно
    Генерировать xls можно
    Осталось понять, что вы имеете ввиду под «сложной структурой»

    Начните со знакомства с apache poi
    Ответ написан
    3 комментария