Немыкин.Продакшн - Java developer
50 subscribers
160 photos
60 videos
110 links
Download Telegram
25.07.2025
6🥰1💘1
Где достать нейрополимер, который достаточно будет вколоть и тут же стать ML-мастером?
Тоже хочется такие премии
Нашел необычный сервис с типовыми и не очень вопросами по различным языка и технологиям. Хорошо подойдет для новичков в подготовке к собеседованию и чтобы освежить в памяти теорию для опытных разработчиков

Сам сервис -> yeahub.ru/
👍1
В Великобритании власти меняют личные данные на воду

На фоне засухи в Великобритании (что??) власти пытаются снизить нагрузку на дата-центры считая, что они «пьют» много воды

Подробнее тут

Благо в России нет засухи и Яндекс придумал фрикулинг без воды и активного охлаждения. Поэтому если вы храните данные в Великобритании, то подливайте воды и будьте осторожны, а если в России - то не парьтесь

А вообще странное предложение удалять данные. Это же плюс запросы на сервер и т.д, следовательно нагрузка будет только расти, что в свою очередь понесет за собой дополнительное выделение тепла
Многостраничный лендинг про меня

🦕 Есть платформа для создания технической документации в концепции Docs as Сode с открытым исходным кодом под названием Diplodoc. И я подумал, а почему бы не создать мини сайт с инфой про себя и развернуть его бесплатно на GiHub Pages. Делается это все за две секунды, а все оформление происходит в Markdown.

Требования для работы минимальные:
- Node.js — v18.12.1 или выше;
- Любой текстовый редактор или IDE (удобнее всего VS Code).

Получилось примерно следующее: https://true-ruslan.github.io/trueruslan-landing/
Пускай ссылка и не кастомная, но повторюсь - это бесплатно!

Подробнее о том как это сделать рассказал на Habr -> Читать 📚

Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
GRASP: почему настоящая архитектура начинается не с SOLID

🧑‍🎓 Читаем статью в которой пропагандируется не просто думать об архитектуре, а задумываться.

Тот, кто понимает принципы, сам найдет нужные методы.
А тот, кто пробует методы, игнорируя принципы, неминуемо столкнется с проблемами.
- Ральф Уолдо Эмерсон


Статья посвящена разбору паттернов GRASP (General Responsibility Assignment Software Patterns) в контексте объектно-ориентированного проектирования и объясняет, почему знакомство с архитектурой не следует начинать с SOLID-принципов или GoF-паттернов, а с более фундаментальных вещей — распределения ответственности между объектами.

Автор говорит о разнице между «кодом на ООП-языке» и настоящим ООП-мышлением. Через аналогию с обучением сноубордингу он рассказывает, что внешне оптимальные решения без архитектурного мышления часто лишены структуры, понятности, и системности. Главная претензия — многие разработчики используют отдельные элементы ООП, но не понимают, почему именно так их стоит применять — и как это строит архитектуру приложения.

Статья раскрывает суть ключевых паттернов GRASP, такие как Information Expert (объект выполняет задачу, если располагает всей необходимой информацией), Creator (ответственность за создание объекта лежит на том, кто им владеет и использует), Pure Fabrication (искусственные абстракции ради архитектурной чистоты) и Controller (первое звено координации во входном потоке данных). Автор указывает на важность принципа высокой связанности данных и поведения объекта, перехода к rich-домену, а не анемичным моделям.

Однако в комментах отмечают, что статье не хватает целостности подачи: описаны тактические решения, но мало сказано о процессе формирования самой модели, анализе предметной области, стадиях выделения сущностей и связи требований с архитектурией — то есть о том, как появляется то, над чем потом «GRASP-ить». Упоминается нехватка четких определений некоторых терминов (сам по ходу прочтения путался), местами материал кажется рефлексивным, предполагающим погружённость читателя в предмет и опыт проектирования сложных систем.

😉 Уверен статья будет полезна не только начинающим разрабам, которые застряли на уровне геттеров-сеттеров и SOLID, но и более опытным разработчикам, которые давно ищут системный вдумчивый подход вместо «архитектуры как чувствую». При этом для полноты и системности восприятия будет полезно изучить дополнительную литературой приведенную в статье, чтобы не свести понимание архитектуры только к методическим приёмам ООП, а понимать, как встроить их в общий процесс разработки.

Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
Стоит ли заменять джунов на ИИ?

🧑‍🎓 В статье сказано, что глава облачного подразделения Amazon назвал замену джунов (а то и мидлов, исходя из рынка вакансий) на ИИ самой глупой идеей. Мэтт Гарман поднимает актуальную дискуссию о роли искусственного интеллекта на рынке труда в IT и последствиях стремительного внедрения автоматизации, особенно в контексте младших спецов.

Мэтт Гарман резко критикует идею замены джунов инструментами искусственного интеллекта. Он утверждает, что начинающие специалисты являются не только одним из самых экономически выгодных сотрудников, но и наиболее компетентными в освоении новых инструментов — в частности ИИ.

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

Но есть и альтернативные мнения. Например, взгляды главного научного сотрудника Google Джеффа Дина и генерального директора OpenAI Сэма Альтмана, которые утверждают, что ИИ уже приближается к уровню навыков младших инженеров и способны выполнять рутинные задачи. Точки зрения абсолютно противоположные :/

🤔 А какое следствие? Чем меньше рабочих мест - тем выше безработица
Особенно роста безработицы среди молодых специалистов. Статистика Goldman Sachs и Федерального резервного банка Нью-Йорка показывает, что уровень безработицы среди выпускников технических специальностей значительно превышает аналогичные показатели по другим направлениям, что подкрепляет тревожность относительно влияния ИИ.

Многие комментаторы соглашались с позицией Мэтта Гармана, считая попытки заменить junior позиции на ИИ ошибочным подходом (что-то мне подсказывает, сеньоров среди комментаторов немного). Выделяют важность начальных позиций для карьерного роста и накопления опыта.

Что ж-ж-ж 🐝
Если посмотреть на вакансии, то картина и правда устрашающая. По моим наблюдениям - 80% вакансий senior с 5+ лет опыта. Посмотрим чем нас порадует следующий квартал.

😎 Как сказали мудрецы: "Не можешь победить - возглавь"

Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
Научно-популярное размышление о гипотезе клеточного автомата как фундаментальной основы устройства нашей Вселенной в статье «Наша Вселенная — симуляция на основе большого клеточного автомата?»

🤯 Сразу скажу, статья не для бытового чтения и быстрого понимания. Параллельно при чтении приходилось гуглить многие моменты.
Вот вам два тезиса из статьи, чтобы понять уровень сложности и тем, о которых говорится в статье:
- Казалось бы, что может помешать объекту бесконечно разгоняться в вакууме?! Сопротивления же нет. Однако не получается.
- Вселенная может не иметь границ, но это не значит, что она бесконечна.


Автор акцентирует внимание на подходе Стивена Вольфрама и его амбициозном проекте Physics Project.

Все начинается с объяснения классической игры "Жизнь" Конвея как примера клеточного автомата, как систем для имитации любых физических процессов. Ключевая идея строится вокруг теории Стивена Вольфрама, который утверждает, что вся сложность мироздания может быть порождена простыми локальными правилами вычислений.
Статья показывает, как многие особенности Вселенной (ограниченная скорость света, квантованность, фундаментальные взаимодействия) могут естественным образом без противоречий возникать внутри большого клеточного автомата. Аналогии: фотоны — это «самокопирующиеся конструкты», масса — количество элементарных клеток, энергия — динамика структуры конструкта (даже разобравшись не до конца понимаю о чем речь)

Теория клеточного автомата позволяет представить, что в мире нет ничего непрерывного, всё подчинено дискретным и скачкообразным изменениям.

😵‍💫 В общем и целом, если любите на досуге чем-то себе загрузить голову - рекомендую к прочтению. Передать словами что там написано невозможно, лучше увидеть.

Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
От пешки до ферзя 🛍

Не так давно я решил стать гамбитным местером матов. Учусь играть в шахматы с целью дойти до 3к рейтинга на lichess.org, сейчас на этапе "как не зевать фигуры".
Но основной мой интерес то не шахматы, а разработка. Lichess это полностью бесплатный сервис с открытым исходным кодом, преимущественно написанный на Scala.

Написать приложение для игры в шахматы такого уровня, которое будет поддерживать >100к игроков и >40к партий одновременно, с доступностью на всех типах устройств крайне непростая инженерная и алгоритмическая задача. И вот мне стало интересно, насколько же она не простая 🧐

Писать "убийцу" популярных шахматных сервисов я не собираюсь (пока), а вот разобраться как построить ядро такого приложения задача посильная. Меня интересуют логические вызовы такой разработки, ведь это 6 уникальных фигур со своими особенностями, плюс правила игры, другие ограничения и условности.
Вывод: научить фигуры хотя бы правильно ходить умозатратно. Но я попытался с ней справиться.

Разработал такой сервис на Java, с простеньким интерфейсом (генерировал через ChatGPT), не самой умной и оптимизированной, но работающей! логикой фигур. Моя игра соблюдает все правила, кроме: превращение пешки, пат и еще парочки штук.
Сейчас это общее приложение, в котором и ядро, и API. Для MVP уже неплохо, но хорошо бы логику игры вынести в отдельное ядро и сделать из этого библиотеку, собственно, чем я сейчас и занимаюсь, параллельно описывая процесс в статье у себя на Хабр. Постараюсь скоро закончить и довести до ума.

Ссылка на репо -> MiniChess, предлагайте свои идеи 🤯

Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
Вынес код с логикой для шахмат в отдельный репо как библиотеку и настроил сборку Maven зависимости
Даже прикольно теперь развить ее, а дальше на ее основе создать Telegram бота для игры в шахматы

Надо будет прикрутить еще релизные теги, адекватно настроить репо и прочее

Пример maven dependency:
<dependency>
<groupId>chess.mini</groupId>
<artifactId>engine</artifactId>
<version>1.0.0-b909135</version>
</dependency>


Ссылка на репо -> MiniChess-Engine
🔥1
А ради чего, собственно, работать? 🏖️

🧑‍🎓 В статье «Ради чего люди ходят на работу? Пять типов мотивации по Герчикову» представлен глубокий анализ классификаций мотивации сотрудников. Кстати, разработанной российским социологом Владимиром Герчиковым. Раскрывается пять основных типов мотивации, выделяемых Герчиковым — инструментальный, профессиональный, патриотический, хозяйский и избегательный, с примерами их особенности из жизни и бизнеса.

Статья аккуратно соединяет теорию и примеры мотивации/демотивации каждого типа. Ни для кого не секрет, что люди ходят на работу за деньгами. Но не всегда это ключевая цель. Кратко рассмотрим каждый тип мотивации и способы их демотивации, представленные в статье:

Инструментал
- Мотивация: работа — инструмент для увеличения дохода, важны четкие правила, KPI, денежные бонусы и карьерные перспективы.
- Демотивация: невыполненные обещания, непрозрачность доходов, неясные цели и отсутствие прозрачной системы поощрений.

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

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

Хозяин
- Мотивация: автономия, ответственность за свой участок, минимум контроля, четкие обязанности.
- Демотивация: постоянное вмешательство, отсутствие возможности принимать решения, неоднозначные цели, лишение полномочий.

Избегательный тип
- Мотивация: минимальные усилия за стабильную зарплату, уклонение от ответственности.
- Демотивация: чрезмерные требования, давление и принуждение к работе сверх минимума.

Разные люди движимы разными мотивами — от стремления к деньгам, развития и признания до чувства принадлежности и автономии. Универсальный подход в мотивации не работает, и успех компании во многом зависит от умения адаптировать методы поощрения и контроля под конкретный тип сотрудника. При этом важно не только знать, что мотивирует каждого, но и уметь избегать действий, которые могут демотивировать и свести на нет все усилия.

🤓 Читая статью я с уверенностью определил для себя комбинацию типов, в котором преобладает процентов так на 75... барабанная дробь профессионал и чуть-чуть патриот.

Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Делаю «убийцу» игры Vampire Survivors на движке libGDX + Java 17
Ассеты, спрайты и прочее искал из бесплатных в открытом доступе и на всякий случай с лицензией, в итоге наткнулся на очень крутой и содержательный пак с itch io, который и использую в проекте, что в предыдущем посте на видосике

https://pixel-boy.itch.io/ninja-adventure-asset-pack

Создатель разрешает использовать абсолютно бесплатно и даже в коммерческих проектах
Набор огромный и содержит много интересных и крутых моделек
Случайности не случайны 🚬

Генерация случайных чисел не может быть случайной

Основные тезисы из статьи про случайность:
• Генерация случайных чисел имеет множество применений в различных областях, включая криптографию, компьютерные игры (знаю, что в них используется искусственная случайность), лотереи, статистику, тестирование ПО, научные исследования, искусство и музыку, квантовые вычисления, блокчейн и смарт-контракты, военные технологии;
• Физические методы генерации случайных чисел включают использование квантового генератора случайных чисел на базе фотонного шума, считывание высокоимпедансного значения с пина микроконтроллера, генерацию случайных чисел на основе шума АЦП, генерацию случайных чисел на основе теплового шума, генерацию случайных чисел на основе времени отклика, генерацию случайных чисел на базе шума микрофона, генерацию случайных чисел за счёт шума в оперативной памяти;
• Программные методы генерации случайных чисел включают использование Arduino, C++, Java, а также сторонних библиотек, таких как Apache Commons Math;
• Истинно случайные числа основаны на физических процессах, в то время как программные методы могут только приблизиться к этому показателю.

Случай - это псевдоним, под которым Бог действует в мире
Брез Паскаль


Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring Boot ломает мышление

Сейчас изучаю игровой Java движок libGDX и в качестве практики пишу игру вдохновленную игрой Vampire Survivors, и писать без Spring Boot'а оказывается местами сложной задачей. Привык ко всяким аннотация, простым конфигам, что в некоторых местах происходит "магия", о которой ты можешь знать, но не задумываться, тем более сам ядро не писал. Есть бины, есть контекст и контейнер, куда попадают все объекты.

А при создании игры такой простоты нет. Нужно самому объявлять классы через new, полностью самому думать как организовать связь и иерархию классов. В качестве удобств только библиотеки с готовыми методами для какой-то логики, но никакой автоконфигурации.

Сама идея игры простая и первоначальная реализация тоже не оказалось слишком сложной. Но нужно иначе думать и писать код, чтобы не повышать связность объектов, изучить другие архитектуры. Уже необходимо больше задумываться о памяти, заботиться об очищении ресурсов и с большей уверенностью подходить к вопросу многопоточности. В веб-приложении можно накинуть железа, увеличить количество инстансов и продолжать бояться смотреть в сторону многопоточки и асинхронности. А вот с компьютером обстоит иначе, т.к себе или пользователю железо докинуть не так просто, а может и невозможно.

Буду пытаться маленькими шагами идти к совершенству, экспериментировать и пробовать новые подходы. Сейчас разбираюсь, как собрать .exe и запускать на винде, а не через IDE 😅
Если есть идеи - накидывайте. Как разберусь с созданием запускаемого файла, то посмотрю в сторону настройки CI/CD и адекватного версионирования.

Ссылка на репо -> https://github.com/True-Ruslan/TrueSurvivors

Немыкин.Продакшн
Please open Telegram to view this post
VIEW IN TELEGRAM
Следствие не может быть больше своей причины


🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Подошел к Первой книге Царств

Наконец-то дочитал Книгу Судей израилевых и, откровенно говоря, мало понял происходящее. То ли я невнимательно читал, то ли история сложная

Еще прочитал Книгу Руфи, но она не сложная и всего 4 главы

И наконец дошел до Первой книги Царств, впереди еще немалый путь

Желаю всем познать истину, откровение и Слово
This media is not supported in your browser
VIEW IN TELEGRAM
Попробовал через новую фичу с оживлением фото в Алисе показать, как я защищал диссертацию
Но ограничение пока только в 4 секунды, эх. Хотя получилось прикольно