Задать вопрос
  • Как можно реализовать движение объекта в 2d пространстве к еде с помощью нейросети?

    Vindicar
    @Vindicar
    RTFM!
    Передача координат цели - плохая идея. Если цель в 100;100 сеть получит один и тот же сигнал и если управляемый объект в 90;100, и если объект в 110;100 - а действия должны быть разные. Кроме того, если сместить всю карту на некоторое расстояние, сеть может сломаться, а это плохо.

    Я бы посоветовал делать raytracing. Выпускаешь веером N лучей из центра управляемого объекта, говоришь, во что они упёрлись.
    А лучше вместо тонких лучей сделать сектора обзора фиксированной ширины. Для каждой комбинации тип объекта+сектор сообщать сети расстояние до ближайшего объекта данного типа в данном секторе. Тогда сеть сможет ориентироваться по своим окрестностям независимо от своего расположения.
    Ответ написан
    2 комментария
  • Как можно реализовать движение объекта в 2d пространстве к еде с помощью нейросети?

    maaGames
    @maaGames
    Погроммирую программы
    Вознаграждение за "еду" не забыл добавить? Ближайшую еду не надо передавать, достаточно координаты любой еды или "всех едов". На самом деле, нужно всё игровое поле передавать или регион, в котором находится объект. Ведь движение будет не в пустом пространстве, в итоге надо будет обходить препятствия и "врагов".
    Штраф за каждое передвижение, большое вознаграждение за кушание еды. И учить, учить, учить... Нейросеть сама научится выбирать ближайшую цель и двигаться к ней.
    Например задать "здоровье" объекта равное числу клеток на игровом поле. За каждый шаг здоровье снижается на 1 и объект умирает, когда здоровье равно нулю. Такой подход гарантирует, что объект не сможет топтаться на одном месте и ходить кругами, а выживут только те, кто или будет бегать по всему полю и случайно наткнётся на еду и те, кто будет целенаправленно бежать к еде. В процессе отбора последние, скорее всего, останутся последними выжившими.
    Ну и множитель корректировки не дожен быть слишком большим или слишком маленьким, количество слоёв должно быть не слишком маленьким и не слишком большим, топология сети должна быть... какая-то.
    Ответ написан
    Комментировать
  • Кто генерирует секретный ключ для шифрования во взаимном TLS?

    https://habr.com/ru/post/258285/
    1. Есть приватный и публичный ключ на стороне сервера, который сгенерирован сервером заранее и используется для проверки подлинности сервера клиентом.
    2. Они же используются для передачи ключа для симметричного шифрования, который сгенерирован клиентом, если для обмена ключами используется RSA
    3. Но также вместо RSA может использоваться алгоритм Диффи-Хеллмана, при котором и клиент и сервер генерируют части ключа на своей стороне.
    Ответ написан
    2 комментария
  • Как сравнить 2 больших csv файла в питоне?

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

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

    Griboks
    @Griboks
    Надо всегда заключать договоры минимум с 50% предоплатой.
    Помимо неправомерного доступа есть ещё и понятие интеллектуальной собственности, которая является вашей по праву авторства. Ещё присутствует уклонение от налогов, чего бояться в большей степени должен заказчик. В любом случае при суде заказчик потеряет намного больше вас.
    Ответ написан
    Комментировать
  • Где можно скачать точные IP диапазоны?

    @rPman
    не уверен что будут и свежие и точные и бесплатные (выбери только два из трех, ка бы не одно)
    (порядок и сам список случайный, я просто гуглить умею)
    https://www.maxmind.com/en/geoip2-databases
    https://db-ip.com/db/ip-to-location-isp
    https://datarade.ai/data-categories/ip-to-geolocat...
    ...
    почему ты забраковал?
    https://www.ip2location.com/database/db4-ip-countr...

    это даст понимание стоимости требования 'свежие'
    p.s. точно помню у maxmind был какой то фриварный вариант базы, с ограничениями на использование
    Ответ написан
    1 комментарий
  • Могу ли я размещать авторские материалы на своем сайте?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    которые можно свободно скачать.

    То, что можно свободно скачать - не означает, что можно делать все, что угодно. У сайта может быть договор с каждый отдельным автором - причем с каждым он может быть разным.
    Вот я например такой копирайт ставлю:

    Данное произведение распространяется исключительно для персонального использования.
    Запрещается:
    - Любое использование текста в целом, его отдельных частей, сюжета,
    названия, имен героев с целью извлечения выгоды способами, включающими (но не ограниченными данным списком) распространение, тиражирование, копирование, воспроизведение в том числе вручную без заключения отдельного соглашения с Автором.
    
    - Любое, в том числе и бесплатное, распространение текста произведения полностью или частично, объединенное с материалами, выражающими критическое отношение к Автору или тексту произведения.


    Вам лучше всего связаться с администрацией того сайта и уточнить детали договора с авторами.
    Ответ написан
    2 комментария
  • Могу ли я размещать авторские материалы на своем сайте?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Следует смотреть правила конкретного сайта и условия, на которых они размещают контент. Например, сайт может требовать, чтобы это было что-то новое, нигде раньше не размещавшееся (как на Хабре). Или что оно больше нигде не размещаться. Или что какие-то права (вплоть до всех с отказом от авторского упоминания) передаются сайту. Или что данные доступны под какой-то конкретной лицензией (хорошей или плохой с точки зрения конкретных интересов автора). Абстрактно гадать о том, какие права получит сайт после размещения материалов, мы тут не можем, повторюсь, это надо читать правила этого сайта.
    Ответ написан
    Комментировать
  • Как увеличить FPS в системе?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как увеличить FPS в системе?

    Ты уже задавал этот вопрос в комментариях к предыдущему вопросу, там есть ответ:

    Основной способ стандартный -- не перерисовывать всё, если можно этого избежать.

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

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    То, чего нет в обычных компонентах - делается на нестандартных компонентах. Можно писать свои компоненты же.

    Сетку на изображение можно даже в обычном Bitmap накладывать.

    В общем вам нужно огромную задачу "написать фотошоп" раздробить очень-очень мелко, и искать инфу уже по очнеь мелким задачам. Например - как создать свой конрол
    Ответ написан
    Комментировать
  • Существует ли сервис наглядной интерпретации python в байткод?

    @deliro
    Получить байткод:
    import dis
    dis.dis(твоя функция)


    Либо на уровне AST:

    import ast, inspect
    ast.dump(ast.parse(inspect.getsource(твоя функция)))
    Ответ написан
    Комментировать
  • Аналог результатов функции из TypeScript в C#?

    Никак. В C# нет никаких юнионов и это пахнет говнокодом.

    Если void или картинку, то возвращай картинку или null.

    Если нужно строку или число - создавай новый класс или структуру для этого.
    Ответ написан
    2 комментария
  • Как определить соседний ключ словаря?

    Тут тебе уже нужно не со словарём работать, а с массивом пар.
    И искать не значение ключа, а его позицию.
    Зная позицию, найти соседние элементы в массиве - тривиальная задача
    Ответ написан
    2 комментария
  • Почему методы без await исполняются последовательно?

    почему считается, что методы без await выполняются гарантированно последовательно?

    Потому что так компилятор работает.
    Передача управления может произойти только там, где стоит await.
    => Если в async Task методе нет ни одного await, то метод будет выполняться синхронно от начала до конца, без передачи управления другим потокам
    Ответ написан
  • Статическое подключение zlib в .so?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Что то типа - d zlib. Static. A
    В общем ваша задача указать компилятор что в хедере используются статические и порты а линкеру дать ссылку на статическую либу
    Ответ написан
    6 комментариев
  • Игнорируется ли компилятором в c# присвоение переменной ее же значения в сложном выражении?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Ну самое простое и полезное что вы можете сделать - это посмотреть результат компиляции этого выражение в IL. И да, скорее всего само выражение будет упрощено компилятором
    Ответ написан
    1 комментарий
  • Как реализовать удалённую БД с подключением через C#?

    1. Лучше бы не давать прямой доступ к СУБД для клиентов.
    2. Раз уже решил, что ты будешь делать именно SQL запросы, то выбирай из реляционных СУБД, с какими умеешь работать. Желательно ещё определиться с тем, какие именно данные ты будешь хранить, и какие операции с ними будешь производить.
    3. Чтобы узнать, как сделать запрос - обращайся к документации конкретно той библиотеки, с помощью которой ты подключаешься к СУБД.

    Если нужно минимум абстракций, то есть ADO .NET и соответствующие библиотеки:
    Microsoft.Data.Sqlite для sqlite
    Pomelo что-то там для MySQL
    Npgsql для Postgresql
    Microsoft.Data.Sqlserver для mssql
    Ну и оракловая либа (не помню название) для оракла.

    Всё можно найти на nuget.org по ключевым словам.

    Если нужен более высокий уровень абстракции, то смотри на ORM-ки:
    Entity Framework Core или Dapper.
    Ответ написан
    2 комментария
  • Как считывать текст с .dat файла и выводить в консоль? Как это можно провернуть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Посмотри в этот dat-файл через любой hex редактор. Шапка должна быть похожа на это.

    00000000  53 51 4c 69 74 65 20 66  6f 72 6d 61 74 20 33 00  |SQLite format 3.|
    00000010  10 00 01 01 00 40 20 20  00 00 00 01 00 00 02 3d  |.....@  .......=|
    00000020  00 00 00 00 00 00 00 00  00 00 00 01 00 00 00 04  |................|


    Если да - то делай
    $ sqlite3 file.dat
    Потом можно посмотреть список таблиц и делать запросы
    sqlite> .tables
    employees
    Ответ написан
    Комментировать
  • Как сделать внутриигровую валюту на Unity?

    @rPman
    Миллион способов реализации.

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