SILLYFEED

NuclearBand

@nuclearband · 434 подписчика

Открыть канал в Telegram

Посты канала NuclearBand в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.

Пишу про геймдев и программирование в целом.#everythingelse#comment#management#subscription#work#theory#games#fp#idea#gamejam#patterns#statemachine#visitor#tools#market#codestyle#package#devlog#ecsАвтор:@Tr0sT

Посты канала

NuclearBand
Откомментил статью про Atomic подход и задумался - а как в реальности сделан полиморф в вар3? И, оказывается, llm знают прям дофига благодаря всяким модерским сообществам и саммари по техническим статьям. С ней можно пообщаться про разницу в реализации абилок warcraft, heartstone, slay the spire и mtg. Последние несколько дней вместо книжки перед сном именно этим и занимаюсь :)Она ещё и кучу реп классных посоветовала. Например, полноценную реализацию mtg, которую тоже с копайлотом, встроенным в гитхаб, изучаю.#comment #package
NuclearBand
У нас есть RewardsInfoData, UniqueRewardInfoData. который IUniqueRewardInfoDecorator, abstract BaseChestReward с 20+ наследниками, среди которых, например, ClanGiftChestReward и ClanGiftMergedChestReward. RewardPackWrapper и RewardPack, внутри которых RewardElement и другие, для которых тоже есть RewardElementWrapper. Есть какой-тоRewardEntry. Не забыть про IRewardDescription, от которой abstract RewardDescriptionWrapper. Ещё BattlePassRewardSlot, который использовать всех удобнее, поэтому он используется далеко не только в батлПассах, при этом это не вьюшка слота, а данные, а ещё есть BattlePassRewardInfo, IBattlePassLevelRewardWithStat.e И это я ещё не говорю про RewardByDay, RewardByProgress, RewardByThrone. И IFestivalPrize с полтора десятка наследников, но можно реализовывать схожий функционал другими способами, не используя его. А ещё RewardInfoFromDescription.Есть ICreatorOfRewardsInFestivalGoodDescription у которого RewardCreatorOfRewardsInFestivalGoodDescriptionWithDiffSpacing пример наследника. Есть ISpecialFestivalRewardViewFactory, RewardDescriptionFactory, RewardsFactory, RewardsFactorySupplier, миллион наследников IAllFestivalRewardListFactory.И это всё только "реварды", а есть ведь ещё товары RewardListGoodBase и прочие для RewardListGoodEntity и RewardListGood. Есть новости AdvancedRewardsNewsMessage с очередным паком наследников под все виды ревардов, миллион видов RewardNotification...А ещё вьюшки - RewardSlotHolder, BaseRewardSlot, IRewardSlotVisitor, IRewardSlotBuilder, IRewardShortDescription, IRewardSlotGenerator - это только часть базовых классов. И это ещё я не перечислял вьюмодельки...Вообщем, я не вывожу, реально не вывожу. Может жара, может накопленный стресс и усталость, или то что у всех отпуска и ко мне каждый день приходят в гости, но я не вывожу.Ах да, у нас ещё есть просто Reward.#work
NuclearBand
[2/2]В итоге появилось 10 решений, и я занял третье место с новым алгоритмом, получив 10к призовых. Бюджет оказался больше, чем я ожидал, так что я доволен, но обидно что не получил доплату за то, что единственный предложил рабочий алгоритм в первоначальный срок. Мой итоговый алгоритм был самым сложным, но эта сложность только ухудшила результат.Первые два места заняли решения с бинарным поиском. Я думал, что моё "адаптивное деление" (делю сегменты не пополам, а на n/(max(k, 2)), где k — число единиц в области) будет лучше, но оно оказалось хуже. Без этой "оптимизации" я всё равно был бы третьим, потому что решал задачу на одномерном массиве со "спиральной" конвертацией, а победители делили прямоугольники пополам, что лучше подходило под тесты.Кстати, код я почти не писал — всё делал через Grok. Но его рекурсивное решение не подходило под API проверки, и он не мог без ошибок переписать рекурсию в цикл. Пришлось оставить рекурсию, но запускать её асинхронно в фоне, а для проверки результата использовать TaskCompletionSource, такой вот хак. #work

Ещё по теме «Игры»

Игры
Echelon Eyes
Северная Корея украла 76% криптовалюты, взломанной в 2026 году, всего двумя атакамиИсследователи TRM Lab опубликовали отчет о кражах криптовалюты в текущем году, представив ряд интересных цифр.Северокорейские хакеры из двух разных групп украли примерно 577 миллионов долларов США с начала 2026 года, что составляет 76% всех потерь от взломов криптовалютных активов по состоянию на апрель. Вся сумма была получена злоумышленниками в рамках двух инцидентов. Взлом Drift Protocol, в ходе которого злоумышленники получили 285 миллионов долларов США, включал в себя три недели подготовки к атаке и месяцы социальной инженерии для компрометации подписантов протокола. В результате полная утечка средств произошла примерно за 12 минут.Взлом KelpDAO, в результате которого украдено 292 миллиона долларов США, был осуществлен с использованием уязвимости в архитектуре моста LayerZero, предусматривающей наличие одного верификатора. Доходы от взлома были отмыты через децентрализованной кроссчейн-протокол THORChain.Исследователи отмечают, что THORChain обработал подавляющую часть доходов от взлома Bybit в 2025 году и KelpDAO в 2026 году, конвертировав сотни миллионов украденных ETH в биткоины, при этом ни один оператор не захотел заморозить или отклонить переводы. Это сделало THORChain предпочтительным инструментом для крупнейших ограблений, совершенных Северной Кореей.Совокупный объем краж криптовалюты, совершенных Северной Кореей, с 2017 года превышает 6 миллиардов долларов США.Источник: https://eyes.etecs.ru/r/e52c35#криптовалюта #кражи #СевернаяКорея
Код и Капуста
Швейцарский стол#golang"Швейцарская таблица" - это продвинутый движок для хэш-таблиц, который сейчас используется в новых версиях Go. Идея в том, чтобы отойти от примитивного линейного поиска, когда при коллизии мы просто тыкаемся в следующую ячейку, и использовать хитрую последовательность шагов, которая не дает образовываться "пробкам" из занятых слотов. Но все соль в группровке. Вместо одного ключа в ячейке мы храним сразу по 8 штук, и для каждой группы добавляем специальные контрольные байты (младшие 7 битов хэша). Это позволяет за одну операцию сравнивать с хэшем все восемь элементов через битовые трюки с uint64, а это очень быстро. На практике хоть обычный подход и шустрее на малых объемах, swiss table раскрывается при высокой заполненности: если забить ее под завязку, она тормозит в разы меньше обычнойhttps://kodikapusta.ru/news/991-shveitsarskii-stolПоддержать проект на boosty: https://boosty.to/kodikapusta
Windows Club | КДЧ
PowerToys 0.99: управление окнами, мониторами и командами по-новомуMicrosoft выпустила обновление PowerToys 0.99 с тремя ключевыми новинками. Утилита Grab And Move позволяет перемещать и менять размер окон, удерживая ALT + ЛКМ/ПКМ в любом месте — особенно удобно для больших экранов или «потерявшихся» окон.Power Display добавляет иконку в трей, откуда можно регулировать яркость, контраст и цветовые профили подключённых мониторов без физических кнопок, а также переключаться между сохранёнными профилями — даже автоматически при смене темы Windows.Палитра команд стала мощнее: теперь она показывает текст и изображения, хранит историю калькулятора, поддерживает закрепление поверх других окон и компактный режим.Также обновились ZoomIt (скриншоты с прокруткой и OCR), Диспетчер клавиатуры (ручная настройка переназначений и отключение клавиш) и интерфейс всего набора — стал современнее и легче в ресурсах.#софт @pcTeapot
Реальные задачи с собеседований | Java
ВТБ (2025)/** * Необходимо получить список пользователей, * которые состоят в группе, начинающейся на "Х" */class SomeConsumer { public List<User> consume(Stream<User> usersStream) { //TODO return usersStream. }}@Dataclass User { private String username; private Integer age; private List<Group> groups;}@Dataclass Group { private String name; private String description;}#vtbПрислать задачу | Подписаться
АСТРА АЗБУКА🌞
Закон ЖИЗНИ: То, в чём вы нуждаетесь в данный момент времени, обычно находится прямо у вас перед носом. ЗАПОМНИМ! Никогда нет ничего неправильного в любом выборе, который мы сделали!Мы никогда не влюбляемся в человека случайно!На глубинном, духовном уровне влечение и притяжение двух конкретных людей друг к другу заключается в том, что эти два человека должны узнать друг от друга что-то такое, чего больше никто не поможет им узнать!Мы всегда «находим» партнера, обладающего теми качествами, которые помогут полностью раскрыть наше истинное Я и достичь нашего наивысшего САМО-выРАЖ🌞ения☝️Наши партнёры отражают наши самые глубокие, по большей части бессознательные представления о нас самих.Наши отношения обеспечивают нам сильные зеркала. Но это не обычные зеркала☝️, в которых мы ясно видим самого себя. В зеркале отношений мы видим СВОЙ СОБСТВЕННЫЙ ОБРАЗ с противоположными качествами, качествами, отРАЖенными в 7 ДОМЕ Го-РА-скопа!Продолжение следует!
Ретрогейминг на балконе
На Реддите появились первые фотографии KTPocket R2. Счастливчик, получивший свой предзаказ, отмечает довольно высокое качество сборки (разве что шифты гремят при тряске) и ужасно работающий WiFi. Возможно, беспроводной сигнал глушит металлический корпус. Обещанной прошивки KOS ещё нет, устройство работает на совершенно голом Android.KTPocket - маленькая компания, буквально из одного человека. Первая портативка KT R1 не получила широкого распространения из-за высокой цены и низкого качества сборки. Она выпускалась в двух вариантах - крестовина сверху и стик сверху. Да-да, задолго до Retroid Pocket 6! Вторую модель можно предсказать на сайте, и вариативность просто зашкаливает:😒 Стик или крестовина сверху💀 Экран 4.5" 1620х1080 (3:2) или 4.2" 1280х960 (4:3)👹 Пластиковый, алюминиевый или магнезиевый корпус ◼️ 6/128, 8/256 или 12/512 Гб памяти😠 Только WiFi или WiFi+4G🐷 Пять вариантов расцветкиНекоторые ветки выбора взаимоисключающие (например, заявлено, что нет пластиковых корпусов для 3:2 экранов), но все равно, как-то многовато SKU для такой маленькой компании... Подозреваю, что многие опции так и останутся недоступнымиЦена R2, в зависимости от комплектации, составит 229-279 баксов.Да, чуть не забыл, KT R2 построена на чипе Mediatek D7300. Он обгоняет T820 на эпичные 15%. На мой вкус, при живой 476H, которая стоит почти в 2 раза дешевле, это лишает смысла 4:3 версию R2. А что до версии с экраном 3:2... Экран хорош, безусловно, но при такой цене он не перевешивает остального.#портативки #эмуляторы #ktpocket
k8s (in)security
Ровно перед майскими праздниками выстрелила и сильно прошумела CVE-2026-31431. Уязвимость в ядре позволяет проэксплуатировать LPE (Local Privilege Escalation) на почти всех дистрибутивах с 2017 года. Все говорят об LPE, но мало кто отмечает, что эту же уязвимость можно использовать для побега из контейнера в Kubernetes.Во-первых, об этом заявляют сами исследователи, которые обнаружили уязвимость. Обещают выпустить статью в блоге на этот счет (пока ещё не выпустили).Во-вторых, бага использует проблему в работе с кэшем страниц в ядре, а поскольку кэш страниц является общим для всех процессов на хосте, в том числе и за пределами контейнеров, скомпрометированный контейнер может повредить бинарные файлы с правами setuid, доступные другим контейнерам и ядру хоста.В качестве PoC советуем ознакомиться с репозиторием – Copy Fail (CVE-2026-31431) — Kubernetes Container Escape PoC. P.S. Мы также подтверждаем применимость этого в реальных условиях: в рамках аудита Kubernetes кластера нам удалось успешно использовать эксплойт. Демонстрацию можно увидеть на видео из нашего тестового окружения.
ISA Roman | AGI•GO
🤔 Ты смотришь на это как на картинку, а я смотрю как на продажу.🔥 Я на всех выступлениях и обучениях повторяю одну простую вещь: нейросети нужны не для того, чтобы сделать красивую картинку.Они нужны, чтобы усиливать продажи.➕Вот пример. Парикмахер может не спрашивать клиента:«Ну что, как стрижёмся?»А сделать фото человека прямо на месте, за пару минут собрать 5-7 вариантов причёсок под его лицо, длину волос и типаж - и показать: вот так ты можешь выглядеть.➕Стилист может ещё до продажи не просто говорить:«Я подберу вам образ».А показать человеку несколько вариантов стиля прямо на нём: деловой, casual, дорогой минимализм, яркий образ, вечерний вариант.И это не значит, что вы всё отдали бесплатно.Это значит, что вы встроили нейросеть в первую точку касания с клиентом.Вы дали больше ценности, чем конкуренты.🟢 А когда человек уже увидел себя в новом образе, в новой причёске, в новом стиле - ему гораздо проще сказать:“Хочу. Делаем.”✅ Смотрите на любые генерации не как на игрушку.Смотрите на них как на инструмент внутри вашей воронки:🟢 привлечь внимание🟢 усилить доверие🟢 показать результат до покупки🟢 повысить ценность консультации🟢 довести клиента до заявкиНе знаете, как это встроить именно в ваш бизнес?Пишите мне - разберёмся.Нейросети должны работать на вас.А не вместо вас.🆕 Все генерации делал в этом боте: ЛАЗАРЬ Промпты оставил в комментариях.
Ассоциация комплаенс и деловой этики
🇰🇿 В Казахстане утверждена Типовая методика оценки стоимости продуктов цифровых данных для госорганов, госюрлиц и субъектов квазигоссектора (Приказ №3 от 27.04.2026, вводится в действие с 12.07.2026). Документ формирует правовую основу для признания данных самостоятельным активом, который может быть предметом сделок, передачи, лицензирования и отражения в учете. ⬇️Основные изменения• впервые на уровне НПА закреплен подход к оценке стоимости цифровых данных как экономического актива• определены случаи обязательной оценки: сделки, отчетность, залог, вклад в капитал, банкротство, страхование, лицензирование и уступка прав• предусмотрены три подхода оценки: доходный, рыночный и затратный• для постановки на баланс рекомендован затратный метод, для продажи — доходный или рыночный• стоимость данных предлагается определять с учетом доходности, затрат на создание, хранения, безопасности и рыночного спроса• данные могут признаваться активом при наличии экономической выгоды и достоверно определяемой стоимости✔️Для комплаенса и корпоративного управления это важный шаг: цифровые данные становятся объектом имущественных прав, а значит возрастают требования к прозрачности владения, оценке, передаче, защите и недопущению злоупотреблений при распоряжении такими активами.
Цифровое и корпоративное право (ЦифроПро) - Digital Law Channel+DLC_LEC(DLCpro)
❤️ Маркеры, которых не должно быть: как «невидимые» автомобили сломали защиту базы данныхИногда доказательства в спорах об интеллектуальной собственности выглядят как из детектива. В этом кейсе правообладатель буквально «подложил мину» в свою базу данных — и она сработала.Суть конфликта: общество «Трансдекра» против общества «Полис Онлайн». Предмет — база данных «База данных по стоимости моторных транспортных средств» и компенсация за нарушение исключительного права. Но самое интересное — не сам факт нарушения (он как раз почти не спорился), а то, как суды «потерялись» в расчёте компенсации.Что стало ключевыми фактами:⭕️правообладатель внедрил в базу фиктивные транспортные средства как маркеры защиты;⭕️эти «несуществующие автомобили» были обнаружены на сайте ответчика при оформлении ОСАГО;⭕️использование базы происходило без лицензии и оплаты, несмотря на коммерческую модель доступа;⭕️нарушение длилось около двух лет и носило системный характер.И вот здесь начинается настоящая юридическая интрига. Нижестоящие суды признали нарушение, применили статьи 1229, 1252, 1304, 1306, 1333, 1334, 1335.1 ГК РФ и даже аккуратно сослались на ПП ВС РФ от 23 апреля 2019 г. № 10 и правовые позиции КС РФ (постановления № 28-П и № 40-П). Но на этапе расчёта компенсации логика дала сбой.Суд апелляционной инстанции пошёл по классике: взял лицензионные договоры, определил «среднюю цену» (1 420 000 руб. в год), умножил на срок и… снизил до однократной стоимости. Вроде аккуратно. Но ВС РФ не впечатлился.Где суды «промахнулись»:⭕️не сопоставили условия лицензионных договоров с реальным способом нарушения;⭕️включили в расчёт договоры с иными объёмами прав (например, сублицензирование или расширенные способы использования);⭕️проигнорировали разброс цен по сопоставимым сделкам (от 700 000 до 950 000 руб.);⭕️не учли изменение стоимости по одному и тому же договору в разные периоды (900 000 → 3 050 000 руб.);⭕️фактически не дали оценки доводам ответчика, что прямо противоречит статье 71 АПК РФ и разъяснениям Пленума № 10.ВС РФ напомнил базовую, но часто игнорируемую вещь: п. 3 ст. 1311 ГК РФ — это не про «взять любой договор и умножить на два». Это про реальную рыночную цену за сопоставимое использование. И если суд не устанавливает эту цену корректно — всё решение летит на новое рассмотрение по ч. 1 ст. 291.11 АПК РФ.Отдельный штрих: Судебная коллегия по экономическим спорам ВС РФ прямо указала на необходимость учитывать доводы ответчика о чрезмерности компенсации, включая альтернативные расчёты и иные лицензионные договоры (см. также Определение от 26 января 2021 г. № 310-ЭС20-9768).Определение ВС РФ от 25.03.2026г. № 307-ЭС25-15203 📌Мы в Максе#DLC_LEC#DLCdataprotect