Задать вопрос
  • Как собрать библиотеку из кода для 16-bit ОС для работы в 32-bit \ 64-bit ОС?

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

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    А попробуй так

    System.out.println(applicationContext.getBean(ConnectionPool.class));
    Ответ написан
    4 комментария
  • Как рассчитать экспоненциальное скользящее среднее с учётом различных по длине временных интервалов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот подумалось что для того чтоб расчитать экспоненциальное скользящее среднее c gaps нужно все равно расчитать какое-то скользящее среднее.

    Рекурсия получается.
    Ответ написан
    Комментировать
  • Как реализовать автоматическое развертывание сайтов на поддоменах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почитай про такое понятие как Blue-Green deployment. Его можно реализовывать по разному. Наверное можно с докером и с кубером и без них.
    Ответ написан
    2 комментария
  • Стоит ли разработчикам платить за баги?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Баги на проекте - это нормально. Плохо когда баг был передан в релиз. Возникает вопрос - было ли тестовое покрытие а если было то почему не заметило этот баг.

    С точки зрения бизнеса - идет просто почасовая оплата за активности разработчиков. И бизнесу по большему
    счету все равно как распределяется время внутри спринта. Но во власти команды разработки принять какие-то
    решения которые уменьшают вероятность возникновения бага за 5 минут до релиза. С моей точки зрения
    здесь модульные тесты и код-ревью полезны. Но бизнесу об этом сообщать не надо. Это внутренняя кухня
    разработки и написание тестов идет просто как часть процесса разработки.

    И если например сравнивать риски появления бага в релизе с одной стороны или еще +20% времени
    на написание логики с тестами с другой стороны - то я выберу второй вариант. Так - спокойнее.

    Так разработчик спокойно идет в пятницу пить пиво и не думает о нежданчиках или о том
    что ему позвонят и дёрнут на работу.
    Ответ написан
    Комментировать
  • Почему не собиратеся сборка gradle?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Он же тебе предлагает запустить с --debug опцией. Запускай. Смотри. Сетевая ошибка может быть.
    Ответ написан
  • Можно ли использовать внешний накопитель для установки программ?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По поводу NTFS/ExFat - для самих приложений ничего особо не меняется. Ну я не знаю приложений
    которые-бы как-то были завязаны на эти свойства. Это может для админов безопасности там важно.

    Хорошая ли это идея. Тут надо рассмотреть опции. Я часто смотрю кино с портативного диска. Иногда
    кошка может прыгнуть на системник. Пошатать что-то и диск может отмонтироваться. Бывает. Но с кино ничего не происходит. Доступ read-only. Кошку выгнал. Диск подключил и смотрю себе дальше. А что с приложениями?
    Дело в том что когда программист пишет код с I/O - он считает что диск всегда доступен. Совсем всегда.
    И ситуация когда диск вдруг отьехал - катастрофична. Может ли ОС работать когда диск c: отключился?
    Скорее нет чем да. Вобщем отсутсвие диска - катастрофа для приложений. И особенно для приложений
    которые в этот момент что-то сохраняли на диск - это отложенная катастрофа. Вы последствия
    почувстуете после следующего запуска. В противоположность - сеть. Она изначально проектируется
    как опционально-доступная и все программы при обработке сетевых ошибок используют ретрай-логику.
    Тоесть просто ждут и повторяют операции. Толерантны к сбоям.

    В противоположность I/O ошибки записи - нихрена не толерантны. Это сразу выпадение программы в ОС
    с сообщением "я не шмогла!". Это не относится ко всем программам а просто к большинству. К 80%
    программ если хотите.

    Вобщем все зависит от класса I/O операций ваших приложений. Если это как просмотр фильмов - то можно.
    Если это КАК postgres с журналом - то есть риск получить полностью поломанную файловую системую и
    неработающие приложения. Как работают ваши секвенсоры и плагины? Часто они делают запись?
    Насколько запись критична для работы "здесь и сейчас"? Что будет если их структуры данных
    для записи оказались записаны "наполовину"? Вот это вопросы на которые вы должны ответить.

    Если хотите более надежные внешние диски - подключайте SATA-диск через внутренний карман на корпусе.
    Ответ написан
    Комментировать
  • Разобраться с моим кодом, можно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Капец ты продуктивный кодер. Это надо-же столько много букв написать.
    Никто разбираться скорее всего не будет.

    Но я-бы предложил тебе стратегию как в будущем не залетать с такой бедой.
    Тебе надо стартовать новый проект который точно работает (hello world) на ботах.
    И потихоньку начинай переносить свой функционал в новый проект. И делай запуск и тестируй.
    И делай каждый раз git commit.

    Наступит момент когда он упадет - это и будет проблемное добавление. Дальше - откатывайся взад
    и разбирайся какое изменение привнесло дефект. Процесс можно ускорить если добавлять дихотомически.
    Сначала +50%. Упало. Удалил 25%. Едет. И так далее.
    Ответ написан
    Комментировать
  • Как найти файлы модифицированные в диапазоне дат?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну... в линуксе есть утилитка stat которая выдает аж 3 даты. Одна из них - то что тебе надо.
    В линуксе есть итератор (find) который может обойти всю файловую систему и выдать все файлы.
    Вот. Твоя дата подходит под шаблон "2022-0[345]". Можешь взять grep/gawk и выбрать все что подходит.
    Получается pipeline. Find ищет. Stat трансформирует. Grep фильтрует.
    Вот такой вот план. В традициях ФП. Пробуй. И не ищи однострочники. Хороший софт может быть написан в виде
    bash скрипта например.
    Ответ написан
    Комментировать
  • Как сравнить значения из разных моделей в Go?

    mayton2019
    @mayton2019
    Bigdata Engineer
    А попробуй замени это
    {{$projectID := .Note.ProjectID}}
    на константу
    {{$projectID := "00000011112222" }
    Ответ написан
    Комментировать
  • Где взять анти-паджинатор?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно собрать содержимое всех страниц в одну кучу.

    Поисковики правильно делают оптимизируя доступ. И если ты будешь качать все 5 млн результатов
    - это дорогой response получается для ресурсов гугла.

    У гугла есть custom search JSON API который просто предоставляет стандартный API на базе REST
    где тоже pagination но уже парсить ничего не надо и можно заниматься склейкой коллекций в один
    поток.
    Ответ написан
  • Как сравнить две папки и недостающие файлы перекинуть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    что после неудачного переноса файлов на облако

    С этого момента - поподробнее. Дело в том что обычные файловые API для сравнения фолдеров
    работают только с смонтированными файловыми системами. Если ты использовал
    AWS(Amazon), az (azure) утилиты для переносов то надо искать другое решение проблемы
    или пытаться смонтировать облачную файловую систему.
    Ответ написан
    Комментировать
  • Как можно реализовать движение объекта в 2d пространстве к еде с помощью нейросети?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это простая игровая логика и ее можно реализовывать без нейросетей. Тогда собственно в чем вопрос?

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

    Насчет координат. Да. Нужно передавать не абсолютные а относительные координаты к еде. И для упрощения
    самой формулы - сразу отбрасывать все лишнее и передавать только ближайшую еду. Иначе клетка как Буриданов
    осёл застрянет между двумя источниками еды и так и сдохнет от голода.
    Ответ написан
    Комментировать
  • Какое приложение написать для понимания ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Когда не знаешь что кодить - делай "каталогизатор". Фильмов. Сериалов. Музыки. Спортивных событий. Тема простая. И легко тестируется. Формочки и запросы - придумай сам. От них уже пойдут интерфейсы и трейты. Это уже как-бы детали ТЗ.
    Ответ написан
    3 комментария
  • Что лучше при архитектуре базы данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть организации и есть два способа построить бд это для каждой организации создавать копии таблиц с префиксом

    Тебе повезло. У тебя - postgres. Создай для каждой организации отдельную базу.
    CREATE DATABASE org1 OWNER moshiva;
    CREATE DATABASE org2 OWNER moshiva;

    При необходимости создай еще одного пользователя и раздай привилегии.
    Префиксы делать не надо.
    Ответ написан
    4 комментария
  • Где можно скачать точные IP диапазоны?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По странам и групным городам я раньше находил базы здесь https://www.maxmind.com
    Потом бесплатный доступ закрыли и сейчас эта база продается или предоставляется как услуга
    за деньги.

    В пиратской бухте и в eMule я находил старые снапшоты этой-же базы датирующейся где-то 2010
    годом. Их несколько ссылок. Но те которые бинарные - могут не открываться современными файловыми
    API от maxmind.
    Ответ написан
  • Как реализовать очередь в node js?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если в стеке технологий у вас стоит Redis - то можно его использовать для очереди
    https://redis.com/redis-best-practices/communicati...
    Ответ написан
    Комментировать
  • Как убрать ненужную функцию?

    mayton2019
    @mayton2019
    Bigdata Engineer
    С такими костылями тебе проще свою функцию min написать.

    С макропроцессором - у тебя просто растет цикломатическая сложность самого процесса компилляции. Вот у тебя щас 2 кейса. Есть мин или нет. А потом будет больше кейсов. И потом другой программист, читающий твой код захочет тебя убить :)
    Ответ написан
    4 комментария
  • Как создать язык программирования?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как создать свой язык программирования, но без другого языка программирования? Полностью с нуля. Думаю, это возможно! Ведь как-то создали первый ЯП

    Есть такая техника. Бутстрап называется. Это когда пишется сначала некое минимальное ядро. На базе него пишется первая версия языка (или ОС) и далее поверх этого стека пишется уже вторая версия. И так далее. Так например первая версия С++ была предположительно на С. А дальше уже следующие версии С++ пишутся на С++.

    Вообще в наше время нет никакого смысла изучать ассемблер например лишь ТОЛЬКО для создания компиллятора. Например семейства Clang, Rust и другие относительно новые языки использовали LLVM (это такой себе высокоуровневый ассемблер). Он отличается от ассемблера x86 тем что не привязан к конкретному процессору а считает что все процессоры примерно похожи и у них есть регистры и т.п.

    Многие языки семейства Java (Clojure, Groovy) тоже не используют ассемблер. Но тем не менее они называют себя языками.

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