Задать вопрос
  • Как реализовать алгоритм поиска пути?

    ghaiklor
    @ghaiklor
    NodeJS TechLead
    Вот здесь очень хорошо показан принцип работы поиска путей визуально. И его же можно использовать для поиска путей. В нем уже реализованы такие алгоритмы, как А* и другие.
    Ответ написан
    5 комментариев
  • Как разделить код?

    @stratosmi
    Сейчас написано строк 200 кода, а в нем уже начинаешь путаться, так как функции в перемешку идут, а не по порядку исполнения, а по порядку их выставить не реально, так как некоторые функции не зависимы друг от друга.


    А и не надо по порядку.
    Сгруппировать по смыслу, по функционалу. И дать внятные название, скажем, все обработчики начинать с On.


    Я считаю, что аргументы и все переменные, должны быть с каким-то префиксом вначале, чтобы было проще понимать, откуда приходят данные.


    Достаточно везде одинаковые по смыслу аргументы именовать одинаково. Но только на одном уровне абстракции. Пытаться использовать сквозное наименование - категорически не нужно.
    Ну и локальные переменные можно выделять, например, префиксом l.

    Прослеживать всю цепочку откуда приходят данные категорически не нужно.
    Видеть в каком порядке исполняются функции категорические не нужно.


    Это типичная ошибка новичка - все пытаться удержать в голове.
    Для программиста нормой является "разделяй и властвуй" - абстрагирование на каждом уровне от предыдущего уровня.

    Важнейший (ну или один из самых важнейших) навыков программиста - декомпозиция.


    А вообще почитайте серию статью Дядюшки Бо "Чистая архитектура" и ее переложение под ваш язык программирования (есть несколько адаптаций статей под разные языки программирования).
    Ответ написан
    Комментировать
  • Как разделить код?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Нет никакой проблемы в разделении на файлы и каталоги и подключении этих файлов. Если вас это напрягает - вам нужен нормальный редактор/IDE с навигацией и научиться им пользоваться. Есть много способов структурировать код - разложить по файлам, самый простой. Можно так же сделать все в духе ООП если это имеет смысл.
    Для пользователей вашей библиотеки нет разницы как она внутри устроена до тех пор пока все работает, им важно API которое вы предоставляете, вот его надо продумать хорошо. Никому не интересно какие там префиксы у переменных, и запоминать какой префикс что значит тоже никто кроме вас не будет.
    Если хочется лучше все очень четко структурировать и понимать что откуда пришло и что из себя представляет - можно взять Typescript.
    Ответ написан
    Комментировать
  • Как блокировать все возможные поисковые боты?

    DevMan
    @DevMan
    а в чем смысл? нормальные поисковики реагируют на запрет в роботс.тхт, а ненормальные могут иметь какой угодно UA.
    Ответ написан
    2 комментария
  • Как понять, что тестировщик дорос до уровня middle?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Профессионализм = 1/пофигизм.
    Вот и вся градация. Ты можешь миллион лет работать на позиции тестировщика - если полезного выхлопа от тебя мало - не о чем говорить.
    В моем представлении джун - ведомое существо. Не пнешь - не полетит. Если он становится самостоятельным - это мид (сам выбирает правильные задачи, сам их выполняет). И когда он может пинать других - это сениор. Но это так, имхо.
    Ответ написан
    2 комментария
  • Программа для учета времени приложений по категориям?

    zamboga
    @zamboga
    Аналитика данных, BI-аналитика, дашборды
    Ловите из моей копилки:
    https://RescueTime.com - в автоматическом режиме логирует, в каких приложениях/сайтах проводите время, и выводит подробную статистику. Бесплатного аккаунта хвататет за глаза. Все приложения/сайты можно разбить по категориям продуктивности.
    https://ManicTime.com - как и rescuetime, в автоматическом режиме логирует приложения и сайты + мощный стэндалон тайм-трекер, все приложения можно разбить по категориям, которые придумываете сами. Очень гибкий в настройках, сидит в трее, есть хоткеи, разные типы таймеров. Платный. Статья danila.org.ua/otrabotannyie-chasyi-moy-podhod
    https://timingapp.com/ -- аналог manictime и rescuetime
    Ответ написан
    Комментировать
  • Как правильно вести и заканчивать проекты?

    tema_sun
    @tema_sun
    Проект не надо заканчивать. Его надо запускать как можно быстрее и потом итеративно развивать.
    Не удивительно, что ни в одной кинги по программированию про это не пишут. Ведь к собственно навыку написания кода это отношения не имеет никакого.
    Ответ написан
    3 комментария
  • Можно ли на ПК установить отдельный ярлык на рабочий для гугл-диска или гмаил-почты?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    На рабочем столе тыкаете ПКМ - создать ярлык.
    В тексте ярлыка пишите что-то вроде-
    C:\Program Files (x86)\Mozilla Firefox\firefox.exe gmail.com

    Сохраняете
    Радуетесь жизни.

    К слову у меня 10 браузеров
    А если немного поднапрячься можно не использовать зоопарк браузеров, а использовать один браузер с разными профилями. И у вас по ярлыку будет открываться не просто gmail, а gmail с нужным аккаунтом в одном и том же браузере.
    А если еще сильней заморочится, то можно вместо ярлыков на рабочем столе использовать менеджер паролей - там вообще чудеса творить можно.
    Ответ написан
    7 комментариев
  • Чем отличаеться GameMaker от GameMaker:stydio? И что лучше?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Это одно и то же, просто раньше называлось просто GameMaker, а потом студию в конце прилепили.
    Ответ написан
    3 комментария
  • Есть ли смысл в бОльшем FPS, если частота обновления монитора 60 Гц?

    Zuten
    @Zuten
    По своему опыту могу сказать, что каким бы стабильным fps не казался, он таковым не будет на все 100%. В любом случае существуют ситуации, когда возникнет просадка. При чем, не важно от чего: забивается память карты, оперативная, подгрузка с жд, видеочип не успевает отрендерить нужное кол-во кадров.
    Отвечаю на вопрос: нужно больше 60. Если вы играете в онлайн-проект, в его случае важно как можно быстрее обновляющееся изображение. Даже на 60 герцовом мониторе будет толк от большего fps. За счет того, что при очередном обновлении картинки, может быть показан более "свежий" кадр, а значит, вы всегда будете иметь доли секунд преимущества над противником. Да, для того, чтобы воспользоваться этим нужна недюжинная реакция, однако это может сказаться на вашем результате. Если дело касается однопользовательских игр, то тут скорее нужен стабильный fps для комфорта. Этого можно добиться при 60 герцовом мониторе, если ограничить fps большим числом, чем 60. К примеру 65, или 70. Что вы получаете в этом случае: меньше вероятность увидеть "разрыв кадра"; в случае просадки fps может не опуститься ниже 60.
    Прошу проверить на собственном опыте, и надеюсь вы убедитесь, что все так, как я описал.
    Ответ написан
    1 комментарий
  • Возможность обновления?

    tumbler
    @tumbler Куратор тега Python
    бекенд-разработчик на python
    Вопрос задан некорректно. window - это вообще что? из какой библиотеки? самописный класс?
    В общем случае надо смотреть на код window.update() чтобы понять что он делает.
    Ответ написан
    Комментировать
  • Как реассемблировать исполняемый .exe file?

    @forspamonly2
    боюсь вас разочаровать, но реассемблирование как таковое для сколь-нибудь крупных бинарников на практике не применяется. поскольку для этого потребуется дизассемблировать полностью корректно весь файл, что было бы слишком трудоёмко.

    если у вас изменение небольшое, проще будет найти нужное место отладчиком/дизассемблером и запатчить прямо в бинарнике.
    Ответ написан
    Комментировать
  • Как заработать на большом количестве android-смартфонов?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Мобипарк: Удалённая сдача устройств в аренду клиентам через интернет для следующих целей:
    1. Презентация мобильных продуктов (игр или ПО) разработчиками/продажниками в вебинар-режиме целевой аудитории.
    2. Запись видеороликов, снятие скриншотов с игр/ПО (для обзоров).
    3. Отладка производительности графики/кода, тестирование совместимости работы на разных устройствах для разработчиков.
    4. Проверка и отладка кода сайта веб-разработчиками.

    Но надо писать софт, который будет всё корректно с мобилы предоставлять в инет (без лагов на мобиле и при доставке по инету), управлять мобилой и возвращать мобилу в исходное состояние для новых клиентов.
    Ответ написан
    1 комментарий
  • На чем зарабатывают сайты без рекламы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Есть много сайтов, которые не зарабатывают деньги вообще. Это нормально.

    Есть сайты, которые поддерживает неявный спонсор. Например википедия так жила много лет, и донат появился относительно недавно.

    Есть сайты, которые принадлежат некоему проекту, который приносит деньги. А сам сайт просто довесок.
    Ответ написан
    27 комментариев
  • Метрика в игре, для новичка, что выбрать?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    gameanalytics, amplitude, crashlytics, dev-2-dev. Выбирайте. Или, что лучше, интегрируйте несколько (или все). Больше данных - лучше.

    через месяц другой планирую написать свое решение для аналитики

    заняться что ли нечем? Есть готовые решения - пользуйтесь. Максимум - обработку csv, который выгрузится из аналитики. А писать свою - много геммора.
    Ответ написан
    4 комментария
  • Как с помощью GET вытащить одну строку из JSON?

    @frees2
    Проблема может быть если вас туда не пускают, если же пускают через браузер и можете видеть json браузером то curl, примеров в тырнете полно, как имитировать браузер.
    Можно получать и через анонимайзер если как то банят прописав запрос через него тоже curl.
    fetch('https://toster.ru/q/юююююююююююююю?a='+id+'zdraste', { method: 'get'})
    $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $fff);
     curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot');
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      $json = curl_exec($ch);
      curl_close($ch);
      if ($json !== false) { 
    //$json = preg_replace("#(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|([\s\t]//.*)|(^//.*)#", '', $json);
    setlocale(LC_ALL, 'ru_RU.utf8');
     Header("Content-Type: text/html;charset=UTF-8");
    $json = json_decode($json, true) ; 
    //print_r($json);
    Ответ написан
    Комментировать
  • Игровые движки с поддержкой Lua и модификаций к игре?

    @Warlodya
    Вот довольно популярные движки :
    https://love2d.org/
    https://ru.coronalabs.com/
    https://www.defold.com/
    Про корону и дефолд можно послушать в подкастах как делают игры.

    (Еще Dota 2 использует луа в создании кастомных игр)
    Ответ написан
    Комментировать
  • Что нужно уметь, чтобы я справедливо мог вписать git в резюме?

    bask
    @bask
    Этого достаточно.
    Но придерживаться Git Flow крайне рекомендую.
    Здесь простым языком и по-русски:
    https://proglib.io/p/git-github-gitflow/
    Ответ написан
    1 комментарий