Бессонный кодер
前往频道在 Telegram
Канал разработчика и поисковика ДПСО LizaAlert Связь: @sleeplessfeedbackbot или Direct канала (они бесплатные) По рекламе: @dpp_ads Купить рекламу: https://telega.in/c/sleeplesscode
显示更多4 332
订阅者
无数据24 小时
+77 天
-7830 天
帖子存档
4 331
Что-то мы как-то заскучали тут, так что, я решил немножко вкинуть вам подарков :3
Ребята, я объявляю следующую неделю - неделей розыгрышей! Каждый день на протяжении 6 дней мы будем разыгрывать 5 призов, а в воскресенье вас будет ждать финальный самый интересный розыгрыш. 🎆
С вас только желание, интерес!
4 331
Есть у моего канала и вторая(больше) интересная рубрика, обозревать и пояснять инфоповоды связанные с IT в РФ. Все вы читали новостные паблики последние 30 минут.
Окей, давайте разложим спокойно и по шагам, как вообще принимаются законы — и почему «одобрили» ≠ «ввели».
⚖️ Во-первых, как работает процесс принятия законов в РФ:
Законопроект вносится в Госдуму. Это могут сделать депутаты, комитеты, правительство или президент.
Он проходит три чтения:
1️⃣ В первом обсуждается идея и общая логика.
2️⃣ Во втором — вносятся конкретные правки, обсуждается каждое положение. ❗️Мы сейчас тут
3️⃣ В третьем — финальное голосование.
Дальше он уходит в Совет Федерации, где его могут одобрить или завернуть.
После этого документ уходит к президенту, и только с его подписью он становится законом.
⁉️ Почему это важно:
То, что вы прочитали в новостях — это ещё не закон, а одобрение на одном из этапов. Сейчас документ в работе, и как минимум он будет дорабатываться.
📌 Что именно вызывает вопросы?
Под «экстремистским контентом» попадают тысячи материалов, от рок-песен и народных сказок до мемов. Формулировки размытые, и даже Мизулина (!) говорит, что с этим «надо ещё разбираться».
Пока речь идёт о штрафах (3–5 тыс. рублей) за поиск и просмотр запрещённого контента. VPN напрямую не запрещены, но рекламировать их нельзя.
🧠 Почему важно следить за такими инициативами:
🖌Законы часто принимаются в спешке, а дорабатывать их начинают только после резонанса.
✒Если не вчитываться и не обсуждать, создаётся ощущение: «ну раз приняли — значит всё, капец». На самом деле всё только в процессе, и влияние общественного внимания реально.
4 331
Кстати, помнится когда в последний раз у нас был стрим, вы оценили плейлист который я слушал параллельно работе, я тут новый заготовил, ловите.
И тут же сразу вопрос к вам, а что вы слушаете, причём я не только про программистов, художники и аниматоры, тоже подключайтесь, делимся плейлистами в комментариях :3
4 331
+2
Кстати, я упомянул фейлы, но не пояснил о них, давайте я расскажу интересную притчу об одном небольшом косяке который выдал неожиданные проблемы 😄
У нас в Стражнике сейчас потихоньку идёт полный перенос всей логики отправки сообщений в единую очередь, чтобы не было случаев когда одна команда выжрала весь рейтлимит и очередь ловит 429 на попытку отправить в нормальных пределах. Чтобы отправить задачу в очередь у нас используется несколько конструкций
Отправка через контекст:
await ctx.sendMessage("command:admins", ctx.chat.id, await ctx.lang.t('commands.general.disabled'), {
reply_parameters: {
message_id: ctx.message.message_id,
allow_sending_without_reply: true
}
});
Ответ через контекст (для случаев когда мы отвечаем на что-то в тот же чат и тот же тред):
await ctx.replyQueued(await ctx.lang.t('commands.general.disabled'), {
reply_parameters: {
message_id: ctx.message.message_id,
allow_sending_without_reply: true
}
});
Отправка вне контекста (ей к примеру пользуется отправка сообщений через API, когда у нас нет контекста обновления от ТГ):
await Queues.getInstance().sendMessage("main", "command:admins", await ctx.lang.t('commands.general.disabled'), {
reply_parameters: {
message_id: ctx.message.message_id,
allow_sending_without_reply: true
}
});
А как под каптом работает этот метод?
let job = await this._sendQueue.add(name, {id, text, extra, target}, {priority});
job = await job.waitUntilFinished(this._sendQueueListener);
return job.returnvalue;
Увидели проблему? Если нет, то не бойтесь, я тоже её не замечал пока она не воспроизвелась. await - корень нашего зла. Когда куча воркеров и ещё большая куча потоков внутри них начинают отправлять сообщения одновременно, согласно рейтлимитам очередь начинает троллить отправку, А НАШИ ПОТОКИ ЖДУТ ОТВЕТ ТЕЛЕГИ. В итоге у нас получается боттлнек когда из-за количества отправляемых сообщений, мы теряем в скорости обработке входящих. И это кстати случилось, но к счастью и удивлению - ночью.
Подкрепил в пост графики которые позволили нам обнаружить этот косяк. Вот так вот, порой ошибок от сервиса нет, но если глянуть график - понимаешь что ошибка есть, и это ты 😢4 331
+1
Голосование пока всё-ещё идёт (можете звать друзей и/или подписчиков чтобы ускорить решение), а это значит что мы можем опять поговорить о всяком! А о чём я люблю рассказывать? Конечно, о Стражнике и фейлах 😃
Как многие знают, у меня есть чатик который прикреплён к каналу и в котором я порой публикую мемчики или дополнительные материалы (не такие как в этом чате конечно :D)
И вот, вчера мы решили провести эксперимент, вместе с чатиком смотрели аниме "Форма Голоса", а вместе с нами его смотрела нейронная сеть которую мы тренируем и используем в стражнике.
И что получилось? Ну, как минимум я прослезился с сюжета 😢
А если к техническим деталям, то аниме длится 2 часа 10 минут, за это время было 7803 ключевых кадра, на 403 ключевых кадра нейронка дала пометку о наличии NSFW, 13 кадров действительно содержали NSFW, погрешность модели составила 4,99% ложных срабатываний (причём чаще всего на ножки).
А если хотите не пропустить очередной холивар на тему дистрибутива линукса, языка или вот таких интерактивов, добро пожаловать в наш чатик :3
4 331
+5
😋 Миграции идут, а это значит — можно посмотреть что-нибудь! Что я уже и успел, в этот раз у нас в рубрике: "甘々と稲妻" — в русской локализации «Дуэт и вспышка молнии» (звучит как спецпредложение из Ростикса).
Здесь не будет эпичных сражений, блекджека, кошкодевочек или всего того что вы привыкли видеть в больших тайтлах.Зато будет теплая история об отцовстве, дружбе и еде.
Главные герои — школьный учитель и его маленькая дочь Цумуги, пережившие смерть жены/матери. На протяжении 12 серий они учатся жить заново — в том числе через приготовление еды.
Каждое блюдо — это не просто рецепт, а повод вспомнить, почувствовать и сблизиться. От простых яичниц до сложных традиционных обедов, напоминающих о тех временах, когда мама была жива.
И да — еда там показана просто великолепно. Всё объясняется пошагово, и у меня теперь есть личная цель: повторить хотя бы одно блюдо в реальной жизни.
Мне — зашло сильно, надеюсь, вам тоже понравится.
4 331
А пока голосов в опросе всё ещё не хватает… давайте вспомним про нейронку, которую мы обучаем для Стражника.
Я уже не раз о ней рассказывал, показывал графики, а некоторые из вас даже видели её в действии в официальных чатах.
Но ведь хочется не просто смотреть. Хочется ПОТЫКАТЬ!
Сейчас мы тестируем обновлённое ядро, которое позволяет системе:
— запускать несколько инстансов бота одновременно
— роутить трафик между ними
— и, что важно, делать это без потери сообщений или производительности.
В качестве теста мы открыли публичный инстанс, через который можно проверить статус файла в системе или попросить нейронку проверить его, если раньше она его не встречала (пока только стикеры, но в скором времени будет больше форматов).
🔍 Потыкать руками можно здесь: @ImMediaGuardBot
4 331
AI меняет мир. А вы готовы?
Автор — IT эксперт с 10+ лет опыта — отжимает воду из инфополя и даёт концентрат:
- Разборы статей с Arxiv: Сложные научные статьи простым языком. Узнайте о прорывных AI-моделях раньше других.
- Практическое применение: Не просто «что нового», а «как это использовать». Личный опыт, эксперименты и рекомендации.
- Инсайды из крипты: Анализ трендов без спекуляции, который поможет вам избежать ошибок и найти возможности.
Здесь нет пустых новостей. Только экспертиза, которая работает на вас.
Подпишитесь, чтобы быть на шаг впереди: [Пульс Цифрового Фронтира - Curi0us W0rld]4 331
+2
😮 А пока идёт голосование — немного инсайдов из кухни Стражника!
Мы активно дорабатываем систему статистики и мониторинга, чтобы не просто чувствовать как живёт проект, но видеть это буквально на графиках.
Что умеем сейчас:
— отслеживать, когда и какие команды наиболее популярны
— понимать, насколько активен Лолофд (и не только, ведь стражник стал использоваться уже много где)
— реагировать заранее на сбои (или их попытки начаться) благодаря алертам
— и просто... залипать в красивые столбики и линии. У меня они теперь вместо скринсейвера
🔧 Появились и алерты — чтобы заранее ловить проблемы и не молиться, когда уже всё упало. Теперь мы получаем сигналы раньше и можем исправить до того, как станет больно.
📊 И да, вы тоже можете залипнуть в метрики (без алертов, но всё же) вот тут:
https://gf.redguy.ru/public-dashboards/e0e799d208844820bd772fdee8b136ca?orgId=1&refresh=5s
4 331
+7
"Самая Необычная Игра" - такую премию получил этот супер ламповый игровой проект, от русских независимых ребят.
"I Know This Place..?" - трансмедиа вселенная. Тут и приключение-игра как сериал, и короткометражки, и интерактив с игроками.
Причем в главах много кто из публики озвучил кого-то, оставил свой предмет (ребята сами моделят их) или даже целую локацию по вашим воспоминаниям.
Мягкая мистика в антураже позднего СССР, странные персонажи, и тонна глубокого смысла.
Глава 2 вышла :
•STEAM тут
•VK PLAY тут
Попросить добавить свой предмет и пообщаться с разработчиками можно в их ламповом паблике. Там кстати и конкурсы с прикольными призами проводят.
erid: 2W5zFJtAcuN
4 331
Старт в IT — уже этим летом
14 июля начинается практический курс по веб-разработке для подростков 12–16 лет. Всего за 3 недели ты пройдёшь путь от полного нуля до своего первого сайта и собственного мини-портфолио.
https://click.tgtrack.ru/a910ab4a975a89?post=187&tag=m1
Что тебя ждёт:
— 8 живых занятий в мини-группе
— Пошаговый разбор кода с опытным наставником
— Создание личного сайта с нуля
— Основы HTML, CSS, Flask и логического мышления
— Поддержка, обратная связь и проверка домашних заданий
— Уверенный старт в IT и подготовка к олимпиадам и кейсам
Даже если ты ни разу не пробовал программировать — всё будет понятно.
Объясняем простым языком, без сухой теории и сложных терминов.
https://click.tgtrack.ru/a910ab4a975a89?post=187&tag=m1
Стоимость участия в интенсиве — всего 2000–3000 ₽.
Места быстро заканчиваются — не откладывай.
Бонус: на канале регулярно публикуется полезный контент по подготовке к ОГЭ по информатике — разбор заданий, лайфхаки, шаблоны, практические советы.
Переходи в канал, следи за обновлениями и записывайся!
https://click.tgtrack.ru/801bed36852938?tag=%D0%BA1
4 331
+2
Как переписать большой JS-проект на TypeScript и не попасть в дурку?
(никак)
Именно этим вопросом мы задались, когда наконец взялись за задачу, которая висела над нами годами: перенос Имперского Стражника на TypeScript.
Что это нам дало?
🔹 Во-первых — стабильность.
Прощай, магическое “а почему тут строка вместо числа?”, “а почему undefined превратился в пустой массив?”, “а почему всё вообще сломалось?”.
С TypeScript багов после обновлений стало меньше, и появилось то самое чувство уверенности в коде, которого так не хватает в JS.
🔹 Во-вторых — контроль и понимание.
Строгая типизация дала бонусы статического анализа, позволила чётче выстроить архитектуру и выявить уникальные случаи, которые раньше были размазаны по коду.
Мы смогли ввести интерфейсы, сделать код легче и... приятнее.
🔹 В-третьих — головоломки для ума.
В условиях многомодального микросервиса возникали кейсы, в которых даже GPT говорила: "Я не знаю как это сделать"
Но в итоге — всё реализовано. Всего один as unknown каст на весь проект. Почти честно!
🔹 В-четвёртых — побочные апгрейды.
Работа с типами докатилась и до других проектов: появились дженерики в rgcache, улучшены сцены в regraf, типизировано то, на что раньше не хватало мотивации.
📍 Где мы сейчас?
Мы прошли отметку в 50% TypeScript-кода в репозитории.
Пишем утилиты, абстрактные классы, бойлерплейты на все случаи жизни.
Но, пожалуй, главное счастье — утилита для маппинга телеграм-ошибок в enum, которая избавила нас от игры “угадай строку в description” и свела обработку ошибок к одной equals-проверке.
🧩 Что дальше?
Завершить миграцию, привести REST API в порядок (пока там лес, JS и безысходность) и, наконец, поставить в YouTrack статус - готово.
4 331
Вот и закончилась наша небольшая история длинной в 3,5 месяца. История, которая началась с длинного плана и сцены потери любимого заканчивается сейчас. Надеюсь, вам понравилось, и вы открыли для себя много нового. Мне — очень.
За это время почти каждая сцена прошла под нашим зорким глазом, каждый взгляд, каждая нотка «All Gone» была разобрана, да, рубрика про геймдев и сторителлинг в The Last of Us закончилась. Печально? Есть такое.
Но каждый финал — это шаг в новую историю.
Рубрика не останавливается, ведь нас ждут другие сцены, другие герои, другая история, но созданная с помощью таких же приёмов монтажа, сценарных подходов и таких же планов.
А какой именно мир будет следующим, решите именно вы! Пишите в комментариях игры, а может и отдельные сцены разбор которых хотите прочитать, а я уже совсем скоро запущу опрос, который и решит, какая игра будет следующей. Это будет наша рубрика. Наши эмоции. Наш монтажный стол.
Потому что, если одна история окончена — это не значит, что всё прошло.
Это значит, что где-то уже начинается следующая.
4 331
В нашем пазле, который готовит нас ко второй части, осталась последняя деталька, настало время обсудить и её. Джоэл расправился с врачами и подходит к спящей Элли, берёт её на руки и пытается отнести беспомощное тело в безопасность. Тут сценаристы используют приём «Конец и вновь начало» aka «Bookends», повторяя действия Джоэла и игрока из начала игры, как тогда, с Сарой. Это ещё раз подчёркивает нам что тут Элли уже окончательно прошла барьер между напарником и приёмной дочерью.
Можно сказать, что вся первая половина игры — траур Джоэла в котором он всё-ещё переживает утерю дочери, когда как вторая часть игры — его перерождение.
Есть ещё одна интересная цель, которая достигается подобным эффектом — дежавю у игрока, когда, выходя из лифа Марлин направляет на нас пистолет, ведь мы уже видели подобную сцену 15 (в идеале, но можно, как и я 100+ часов назад). Специально подкрепил для вас видео, просто посмотрите, как похожи эти сцены. Да ладно похожи визуально, если если вы синхронизируете начало этих сцен, то вы обнаружите невероятно интересную вещь, конец экшн части и начало более спокойной части (лесок/лифт) идут ПОЛНОСТЬЮ СИНХРОННО.
Марлин, несмотря на свою любовь к Элли, а как мы узнаем позже, она заботилась о ней с рождения, уже сделала свой выбор, согласившись на жертвоприношение на благо человечества. И тут идёт довольно важный для нас диалог.
Марлин: «Её не спасешь. Допустим, ты выберешься. Рано или поздно её разорвут щелкуны. Или бандиты изнасилуют и убьют»
Джоэл: «Это… Это не тебе решать»
Марлин: «Это её выбор. Ты ведь знаешь… Слушай, ты можешь поступить правильно. Ей не будет больно»
Марлин намекает Джоэлу очень важную мысль, которая станет основополагающей во второй части игры, принимает ли Джоэл решение позарез с желанием Элли? Хотела бы она спастись взамен разрушенных мечт на спасение от кордицепса? Но отце принимает окончательное решение в одностороннем порядке, решая самостоятельно, что будет лучше для его дочери, после чего стреляет в Марлин.
4 331
В операционной — девочка на столе, окружённая врачами. Элли как жертва на алтаре. Джоэл врывается, ослеплённый яростью, и камера дрожит вместе с его внутренним миром. Врач хватается за скальпель, но игрока подталкивают к единственному решению: убить. Нет выбора. И если не стрелять — Джоэл погибнет. Игра не даёт вам уклониться.
Это — ключевой момент. Сценаристы намеренно делают сцену играбельной, а не кат-сценой. Это значит: ответственность ложится не только на Джоэла, но и на игрока. Мы — не просто свидетели. Мы — соучастники. Мы нажали на спуск. И именно здесь игра окончательно перестаёт быть историей о герое. Джоэл не благородный отец. Он — человек, способный на жестокость ради близкого. Даже если это значит уничтожить, то немногое, что осталось от человечности в этом мире.
Он убивает не врагов. Не мародёров. Не чудовищ. Он убивает врачей, учёных, охранников — обычных людей, которые просто верят в шанс на спасение. И делает это так же методично, как и раньше. С ножом, бомбами, ружьём. Без пощады. Мы — вместе с ним.
И именно этот момент упускают многие игроки, проходя игру. Они его как очередной уровень, очередное убийство NPC которых за всю игру было сотни и тысячи. Это предпоследняя деталька пазла готовящая нас к TLoU Part II. Насилие, которое с нашей точки зрения нацелено на добро и защиту близкого, не может быть однобоким. Конечно, можно возложить вину на «Цикад». Они приняли чудовищное решение — пожертвовать девочкой ради общего блага. Но именно в этом — вся суть финала. Здесь нет правильного выбора. Нет моральной чистоты. Есть только действия и последствия. И мы за них отвечаем. И мы очень подробно раскроем эту тему во второй части игры.
Многие ждали бы, что игра предложит выбор. Как в проектах Quantic Dream или Telltale, да даже мы бы в Storytelling сделали тут диалог с выбором: спасти или не спасать, убить или отпустить. Но The Last of Us делает противоположное. Оно забирает выбор, и этим заставляет задуматься. Потому что, когда тебя лишают альтернативы — ты начинаешь чувствовать последствия как свои.
Финал становится зеркалом. Ты был с Джоэлом весь путь, сроднился с ним, понимал и прощал. Но теперь он совершает поступок, с которым ты, возможно, не согласен. И между вами появляется дистанция. Он — другой. Он — не ты. И это делает историю настоящей. Потому что в настоящей жизни мы не всегда можем остановить тех, кого любим, от ошибок. Мы просто остаёмся рядом — и пытаемся с этим жить.
4 331
Что тревожит Элли в финале? Она молчит. Неизвестно, осознаёт ли она, что «Цикады» покинули госпиталь Девы Марии. Возможно, боится, что её иммунитет окажется бесполезным. А может, страшится главного — разлуки с Джоэлом. Naughty Dog устраивает эту главу как медленное выдохновение. Это прощание с эмоциями, с надеждой, с детством. И кульминацией этого прощания становится сцена, которая навсегда вписалась в игровую историю — жирафы.
Всё начинается с малого, почти невидимого сдвига. Джоэл, по привычке, подставляет руку, чтобы подсадить Элли, но она не двигается. Сидит на скамейке, потерянная в себе. Это тихий надлом — момент, когда геймплей ломается о внутреннее состояние персонажа. Элли молчит. А потом всё-таки забирается наверх. Игрок ждёт: сейчас скинет лестницу. Но вместо этого — шум. Элли кричит: «Господи!» и убегает. Джоэл в тревоге: «Ты куда? Элли?!» Это мгновение окрашено в рефлекс — игрок готовится к опасности.
Но вместо заражённых — жираф. Настоящий, живой, тёплый. Он наклоняется к Элли, и она протягивает руку. Камера отъезжает, и перед глазами — покинутый Солт-Лейк-Сити, в котором, как по саванне, бродят животные. Природа победила. Она забрала то, что принадлежало ей. И в этой победе — красота, которую игра до того момента почти никогда не позволяла себе показать.
Это первая по-настоящему светлая сцена во всей игре. В ней нет угрозы, боли, выживания. И в этом — её глубина. Люди здесь отсутствуют. Идеальная картинка, свободная от цивилизации. Жирафы в мире The Last of Us — не просто биология, они — символ. Их изображения были с нами весь путь: на рисунке в комнате Сары, в плюшевых игрушках девочек в Бостоне, на стенах приютов и детских уголков. Жираф — это символ детства. Того, что потеряно. Того, за что Элли борется — и чего уже не вернёт.
Возможно, Дракманн специально выбрал этот момент, чтобы заронить сомнение: а стоит ли человечество спасать? Не является ли эпидемия — естественной коррекцией? Как бы ни было, жираф остаётся немым, но выразительным воплощением справедливости. В мире, где она невозможна — он просто стоит, ест листву и позволяет Элли на миг снова стать ребёнком.
