• Как выложыть игру которую сделаю на UE5, бесплатно и как то заработать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    На торренты можно выложить или в свой телеграм канал. А потом ходи и надоедай всем со своей игрой :)
    Надеюсь там можно "грабить корованы".
    Ответ написан
    Комментировать
  • Как взаимодействовать с Ethereum кошельком через python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут есть десяток проектов релевантных к Эфирам и Питону
    https://ethereum.org/ru/developers/docs/programmin...
    Ответ написан
    Комментировать
  • Как обрабатывать переполнение счетчиков и индексов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В классических языках программирования происходит обнуление переменных int, long.
    Тоесть ошибки не будет но счетчик пойдет снова с нуля. Чтоб детектировать - надо
    делать проверку условия на максимум.

    На уровне языка Ассемблер и процессора существует флаг переполнения (OF) который взводится в
    состояние true если в результате сложения или инкремента последняя операция детектировала
    переполнение. Тоесть обработать это технически возможность существует. И далее - условный переход
    на обработку.

    В реальных приложениях такого лучше не допускать. Лучше не жадничать и вводить long счетчики.
    Их хватит на тысячи лет как-бы вы там интенсивно не делали инкременты. В базах данных типа Oracle
    NUMBER тип хранит 38 десятичных знаков числа. Надолго хватает. И я не слыхал чтоб у кого-то в обычном
    режиме бизнес-транзакций эти счетчики переполнялись.

    У Постгреса была проблема с 32 битными счетчиками XID. Не знаю как они ее порешали. Кажется
    как-то они сбрасывают их для всей таблицы. Толи в вакууме толи еще как-то я не помню. Пускай
    постгресщики скажут точнее.

    Чтобы уйти от мелких счетчиков попробуйте использовать SnowflakeId (64bit) или GUID(128bit). Их надолго
    хватает и никто не жаловался. Git использует 160-bit идентификаторы коммитов в графе коммитов
    и тоже пока никто не жаловался.
    Ответ написан
  • Трудности антиплагиата ПО или как это работает?

    mayton2019
    @mayton2019
    Bigdata Engineer
    С помощью реверс-инжинеринга наверное можно найти в бинарниках некие признаки того что
    код был заимствован. Но это точно не задача для поисковой системы. Это если тебе только целенаправленно
    в руки бинарь попал. А так... нельзя увидеть снаружи никак.
    Ответ написан
    Комментировать
  • Как правильно подключить #include?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если буквально переводить ошибку
    In included file: unknown type name 'c_image'clang(unknown_typename)
    window.hpp(24, 25): Error occurred here

    То будет - во включаемом файле неизвестное имя типа c_image
    и ошибка находится здесь window.hpp(24, 25)
    Ответ написан
    Комментировать
  • Если установить Ubuntu рядом с windows могут ли быть какие то проблемы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я устанавливал в таком порядке. Сначала windows а потом Linux. В этом случае у тебя есть возможность маневра. Если ставить наоборот то Windows убивал все что есть. Это было лет 10 назад. Как щас - не знаю. Может лучше.

    Если тебе от ubuntu нужны только несколько утилит то попробуй под Windows использовать
    WSL (Windows Substem for Linux). Обычно разработчикам и дата-инженерам этого достаточно
    чтоб запускать какие-то утилиты или клиенты (azure(az), amazon(aws), gcp, databricks,
    tools, converters, sql-clients e.t.c.)
    Ответ написан
    4 комментария
  • Будет ли процессор хуже работать без контактов VCCCORE, VSS и RSVD?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Неопытный любитель может испортить технику разными способами. Пинцетом гнуть тоже надо умеючи.
    Это опыт. И его с первого раза не получишь. Технику можно сжечь мощным паяльником или даже
    статическим электричеством.

    Ничего не делай. Отнеси в ремонт пускай там сделают. Когда речь касается чего-то стоящего - лучше
    не экспериментировать.
    Ответ написан
    Комментировать
  • Как восстановить каталог с git репозиторием на ext4 (в linux)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сделай снова git clone с remote.
    Ответ написан
    Комментировать
  • Как решить задачку "ЛИРИК = 0,5*ФИЗИКА" на ЯП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Таких задач было много в журналах Наука и жизнь. И кажется в книжках Мартина Гарднера.
    Типа ТУЗИК + ТУЗИК = КАРТУЗ. И нужно угадать какой букве какая десятичная цифра соотвествтует.

    Ну типично комбинаторная задача. Общего подхода тут нет. Но можно придумать правила которые
    отсекают точно неработающие решения. Например

    "ЛИРИК = 0,5*ФИЗИКА"

    Можно записать так

    ЛИРИК + ЛИРИК = ФИЗИКА

    Тогда мы знаем что буква "К" в этой системе счисления будучи умноженной на 2 дает "A" по модулю этой системы.
    Потом И встречается дважды. Но но дает разные величины по модулю. Видимо для одной сработал перенос
    из предыдущего разряда.

    Вот из таких рассуждений мы строим дерево решений. Элегантно (но медленно) такие задачи решались
    кажется на Prolog (из книжки Ивана Братко но я не уверен). Да и вообще Пролог не нагляден с точки
    зрения императивного программирования. Тоесть он что-то под капотом делает но как и насколько
    оптимально - непонятно.
    Ответ написан
    1 комментарий
  • Что делать, если начальство запрещает публиковать код на github?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Важно, какие документы ты подписывал при приеме на стажировку или во время нее. Обычно
    есть стандартная форма NDA, где пишут что ты не имеешь право распространять код который
    относится к деятельности компании.

    Свой личный код - можно но я тебе очень сильно не советую это делать с рабочей машины.
    Миллион раз были случаи когда параметры user.name/user.email из конфигураций github
    утекали в commit и по этим признакам очень легко было найти утечки. Причем я подозреваю
    что у самого гитахба есть бигдата джобы которые сканят код на предмет бизнесовых торговых
    марок и лейблов. Эти параметры можно менять и конфигурить для каждого проекта
    но я все равно не советую. Имя пользователя ПК у меня некоднократно утекало почемуто
    в MANIFEST.mf (так работал maven в дефолтной комплектации) и бог его знает сколько сюрпризов
    вообще таят в себе современные компилляторы. Короче набей себе татуху на левой руке
    "Never commit from Corporate Desktop! Never! You!"
    Ответ написан
    Комментировать
  • Как написать bash мониторинг файловой системы EXT4?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Подобоный bash мониторинг может создавать ненужную нагрузку (например если ты ишешь через find)
    а файлов очень много. Они мелкие и т.п. Вобщем если искать часто (каждые 5 минут - то это будет ненужная
    нагрузка). А если искать редко - то какая польза в таком мониторинге?

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

    Есть у меня мысль - поднять информацию не из файлового API (find/du/ncdu) а из таблиц inode.
    Там как раз есть информация о размере. Оптимистично - это более быстрый метод. По крайней
    мере факт превышения квоты будет виден. А вот кем - надо искать.

    Еще есть мысль что контроль квот - это технология уходящего века. В мире современных файловых
    систем никто давно уже не учитывает файлы. Создается толстое хранилище на базе zfs например.
    Оно нарезается пользователям на кусочки по 16/32/64 Gb и отдаются в пользование. По ним-же
    идет тарификация. Если пользователь захочет больше - на ходу ему растягивается кусочек до нужного
    ему размера. Тариф соотв другой.
    Ответ написан
    Комментировать
  • Что за тип Unit в Haskel Rust Kotlin? Чем отличается от Void?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не понимаю зачем ты поставил такое число тегов? Мы что здесь 4 разных языка обсуждать будем?
    У них у всех разные механизмы работы с типами.

    Что за тип Unit в Haskel Rust Kotlin? Чем отличается от Void?
    Раз 500 прочел, не понял ни разу.

    Программирование - это практическая наука. Это не философия и не политология.
    Тебе не надо 500 раз читать. Читай 1 раз и пиши программу. И смотри как она себя ведет.
    void - это просто заглушка. Синтаксически полезна в операциях с указателями чтобы
    указывать что тип ссылки - неизвестен. Unit в некоторых языках (Scala) это тип-значение
    и его можно возвращать. В Хаскеле чтобы вернуть "ничто" - используется монада Maybe.

    int a=(int)(object)1;
    Что довольно дорого и долго. С выделением памяти в куче.

    Не понимаю что здесь дорого и долго? Или это пример неудачный. Хороший компиллятор
    сворачивает боксированные типы и сводит их к примитивам. Боксы также в runtime
    инициализируются через Flyweight чтоб иметь ровно 1 экземпляр на примитив.

    Ведь это прекрасно покроет все простые структурные типы, int char double.,

    Какие структурные типы? Откуда ты берешь терминилогию. Я тебя очень прошу в данном
    форуме - не придумывай новое применение устоявшимся терминам!

    То что ты хочешь (передача 8 байт) хорошо реализуется в Си и Ассемблере. Если тебе нужен именно такой
    уроверь абстракции - то тебе прямая дорога туда. Я напомню тебе также что типы в ЯВУ создавались
    долгие десятилетия. Они создавались с целью помочь программисту не делать ошибок и проводить
    формальное доказательство правоты программы. Программа с типами - имеет шанс быть правильной.
    Программа лишенная мехнизмов проверки типов - будет кишмя кишеть ошибками рантайма. И даже
    тестирование не будет доказывать их отсутствие в будущем.
    Ответ написан
    1 комментарий
  • Шифрует ли SSH web-трафик при подключении к http://localhost в браузере?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Диагностику протокола SSL/TLS можно сделать с помощью утилиты OpenSSL например
    вот как тут пишут https://stackoverflow.com/questions/17742003/how-t...

    Чтобы браузер полноценно работал с секретным протколом - ему нужен сертификат домена.
    Я тут не уверен можно ли создать само-подписный сертификат для localhost но мои знакомые
    девопсы хвастались что делали такое.

    Для создания сертификатов полно инструкций.
    Ответ написан
  • Как лучше хранить данные фиксированных таблиц в JSON или в отдельных полях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    JSON хорошо подходит для хранения неспецифицированных данных. Например у вас есть таблица товаров.
    У товара есть базовые свойства такие как цена, категория, название и производитель.
    А есть описалово товара где например для ТВ-панели будет около 50 параметров таких как диагональ,
    яркость матрицы, и прочая техническая чепуха. Вот эти 50 параметров можно положить в JSON (или JSONB)
    для Postgres. Потому что в магазине всегда есть прецензиозные клиенты которым нужна посудомойка розового цвета и встраиваемая и еще ценой такой-то и такой-то. Вот спецом для них такая структура может быть создана.

    Поэтому ответ тут может быть такой. Эти две техники не исключают друг друга. Вы можете использовать
    классическую таблицу с полями и +дополнительно иметь сет неспецифицированных полей.
    Ответ написан
    Комментировать
  • Откуда взялся const?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Попробуй так.

    void printMessage(const char str[]);

    Чем новее становится версия стандарта С++ - тем строже проверки.
    Ответ написан
    Комментировать
  • Какие есть альтернативы Macromedia Flash в сфере геймдев?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне кажется что флеш был уникален тем что сочетал в себе сразу 3 вещи. И среду разработки. И язык разработки. И плагин рендеринга векторной графики в браузере.

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

    В прошлом были истинно программистиские решения такие как Java Applets но они не взлетели как раз
    именно по причине того что были ориентированы на программиста а не на дизайнера. Дизайнеру
    и в страшном сне не присниться писать java-код.

    Если смотреть в сторону Unity то там вроде-бы можно сделать многое. Но там чорт-пойми какая лицензия
    и создатели Unity закручивают гайки постоянно. А если ты - "вкатыш" в эту технологию то ты как-бы
    интуитивно ищешь нечто свободное и либеральное к использованию. Желательно - opensource.
    Ответ написан
    2 комментария
  • 8p8c теория передача и прием?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да. Но Ethernet это очень общий термин. А ты скорее всего имел в виду какой-то конкретный разъем. RJ-45 наверное
    и с какой-то скоростью (10/100mbit или гигабит).
    Ответ написан
  • Тонкости Компиляторов. Почему в классах с++ не требуется объявление функции до вызова?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Конвейер компилляции С++ точно не прост. На хай-левеле это 3 шага. Препроцессор, компилляция и линкер.
    А сама компилляция в свою очередь тоже сложна. Там полюбому будет работа с шаблонным процессором
    и еще будет обязательно проход оптимизации. Это когда из кода можно выкинуть недостижимые ветки или
    размотать циклы. И это тоже шаг.
    Ответ написан
    Комментировать
  • Как сделать словарь?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Задача состоит из двух частей. Первое это чтение документа по словам. Вот как тут пишут
    https://www.geeksforgeeks.org/python-program-to-re...

    И второе, когда поток слов уже есть - добавить их в словарь с генерацией порядкового номера.
    num = 0
    word_dict = {}
    
    // в теле цикла
    if not (word in word_dict):
      word_dict[num] = word
      num = num + 1
    Ответ написан
    Комментировать
  • Почему нельзя/можно писать бизнес-логику в sql?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно. Весь 20-й век почти так делали. База была главной. Эдакая себе царица. Ее любили. Холили.
    Приложения были двухзвенки. Оконная апликуха коннектилась к базе и все расчеты
    проводились в базе. Апликуха только показывала результаты в гридах и вводила формочки.
    Джобы тоже запускались в базе как процедуры на PL/SQL по скедулеру. Для пуска их клиент
    был тоже не нужен. Плановые задачи БД запускала самостоятельно. Это и было видение
    бизнес логики из 20-го века.

    В 21-м веке с развитием веба появился слой middle. И разработчики вынесли в него максимальную
    часть логики. Это произошло естественным путем. А базе досталась участь быть просто хранилищем
    таблиц. Потому что держать 2 копии логики или поддерживать было уже неудобно. В команде
    должен быть тогда разработчик и Java и PL/SQL одновременно. В современной парадигме
    разработки с ORM база стала просто чем-то вторичным. И на уровне ORM абстракций
    даже заменяемым на другие типы баз.

    Но не все так плохо.

    Фактически, логика современного приложения размазана по 3м слоям. Даже в браузере
    есть какая-то минимальная логика, например при аутентификации или при проверке
    валидности емейла. И какая-то логика агрегации (sum/group by) полюбому есть в базе.
    Потому что агрегировать в приложении все - глупо. Это лишний трафик.

    И нет такого архитектора который говорит "нельзя". Просто есть best-practices современной разработки,
    исходя из развитя железа, сетей и вообще рынка всего остального. Кто знает может в мобилах вернуться
    к двузвенкам. Смотря под каким углом смотреть на современные мобильные приложения? Who knows.
    Ответ написан
    2 комментария