Бессонный кодер – Telegram
Бессонный кодер
4.99K subscribers
314 photos
54 videos
5 files
123 links
Канал разработчика и поисковика ДПСО LizaAlert

Связь: @sleeplessfeedbackbot или Direct канала (они бесплатные)
По рекламе: @dpp_ads
Купить рекламу: https://telega.in/c/sleeplesscode
Download Telegram
Как мы в ST внедряли CI/CD

Однажды у нас появилась невероятная идея: а что, если создать дополнительный способ сборки сторителлинга? Это поможет в случаях, когда локальный компилятор не справляется или его просто нет под рукой (например, когда кодим с телефона).

Что мы решили использовать? Поскольку мы давно применяем JetBrains YouTrack как аутентификатор и основной инструмент для работы, выбор пал на продукт от JetBrains — TeamCity.

Спустя пару часов мы автоматизировали сборку основного мода сюжета, но хотелось большего...
И тут пришла гениальная идея: а что, если система после сборки будет сама отправлять билд в чат Telegram и уведомлять тестировщика? (У нас были случаи, когда разработчик собирал билд и забывал отправить его в течение нескольких часов :D).

Что ж, поехали! 25 строк Bash-скрипта после сборки, небольшой скрипт интеграции с YouTrack — и готово! Если упростить, то скрипт выглядит так:
curl -X POST "https://api.telegram.org/bot$BOT_TOKEN/sendDocument" \
-F chat_id="$CHAT_ID" \
-F document=@"$FILE_PATH" \
-F caption="https://github.com/StorytellingSeries/${PROJECT}/commit/%build.vcs.number%${IFS}${PINGS}" \
-F disable_notification=true \
-F parse_mode=HTML


Что ещё можно добавить? Предупреждения о коммитах с ошибками. Порой бывает, что разработчик публикует код, который не компилируется (например, забыл добавить один файл). Эту задачку мы решили написав свой собственный плагин для TeamCity, благо там для этого уже были готовые абстракции:
@Override
public void notifyBuildFailed(@NotNull SRunningBuild build, @NotNull Set<SUser> users) {
Map<String, Object> props = messageBuilder.getBuildFailedMap(build, users);
sendNotification(props, users, "build_failed", true); // Отправляем в очередь
}


В итоге наша работа стала чуть быстрее и эффективнее!
Программист может с телефона подправить мелкий баг, и TeamCity самостоятельно сделает билд для тестировщика.
Тем, у кого компиляция занимает больше 1 минуты, достаточно дождаться автоматической сборки (да, она выполняется за 60 секунд).
А тот, кто запушил не полностью рабочий код, получит «удар палкой» уже через 60 секунд после отправки коммита.

В комментариях я добавлю несколько скриншотов, чтобы показать, как это всё выглядит :3

#st
20🔥100👍1812💩3💊2❤‍🔥1👎1🤔1🤡1🙈1😘1
Бу! Испугался? Не бойся, я друг.

Вот и закончился октябрь, так что можно опубликовать статистику апелляций за это месяц!

Что нового? Вырос поток, особенно количество людей которые пришли просто поболтать или скинуть анекдот.

(Я сам не знаю как мне удалось сделать -4 обращения за 31 октября :D)
1👍68❤‍🔥6🔥5👏2👎1💩1🙏1🤡1🎃1🎄1
Наступает моя любимая - зимняя пора! Это то самое время, когда я включаю свой плейлист "Best Christmas songs" и с привычным "ёпта" радуюсь гололёду. Но знаете, что я понял на днях? Все тёплые и приятные воспоминания о зиме будто стерлись из памяти. Немного грустно… :(

А у вас сохранились тёплые воспоминания о новогодней поре из детства? Может, снежные бои с родителями, вечерние посиделки у ёлки с кружкой горячего какао, или, возможно, тот самый необычный наряд, в который заботливо наряжал вас папа?

Давайте вместе вспомним и поделимся такими моментами в комментариях! Пусть эта зима наполнится новыми воспоминаниями, которые мы будем хранить ещё долгие годы.

#life
2🔥53❤‍🔥6🆒4🎅2🎄2💊2👍1👌1🍌1😭1🎃1
Как проходит ваш вечер? Мой - невероятно интересно и позитивно.
3 часа пытались оживить мой рабочий комп, который после установки нового ssd - стал вырубаться сразу после старта системы. Спустя много ребутов поняли, что аппаратно всё живо (я молил чтобы мать была жива).
Проблема в винде (кто мог подумать). Спустя ещё кучу ребутов, поняли что проблема проявляется только когда идёт попытка запуска от моего пользователя. А ЗНАЕТЕ ЧТО ОКАЗАЛОСЬ? Незадолго до установки ssd, я обновлял драйвера на видеокарту, и они установили Microsoft GameInput, КОТОРЫЙ УЖЕ БЫЛ, система не выдерживала такой конкуренции и падала с KERNEL-POWER.
А как я пришёл к этому? Увидел в журнале ошибку сервиса GameInput, и пошёл в наш святой ютуб, где увидел это спасительное видео: https://m.youtube.com/watch?v=NR5IPyaru_Y

Вот как-то так проводим вечер, зато теперь у меня и ssd новый, и система живая :3

#life
1🎃70🔥15🤯7❤‍🔥421👍1🥰1🎄1😘1💊1
Продолжаем эпопею с компьютером. Спустя несколько часов после вчерашнего поста, проблема вернулась. Утро и вечер я потратил на исследования и тесты - в итоге обнаружили что когда у меня отсутствует задняя крышка системника - сбои пропадают.
Что в итоге? Пришли к итогу что после установки ssd, сдвинулась проводка в заднем отсеке, из-за чего свободные контакты стали коротить на корпус, заизолировал все свободные штекеры - проблема пропала.

Пока искал похожие проблемы и их решения, наткнулся на индуса, который решил записать гайд, полез не в ту папку, винда ему отказала в правах и он обиделся и сдался. И ВЫЛОЖИЛ ЭТО НА ЮТУБ: https://www.youtube.com/watch?v=oV_MTOSrh7E

(Коли уж я кидал скрин рабочего стола компа, ловите скрин рабочего стола ноута :D)

#life
162🔥6🍓5❤‍🔥2🎄2😎2🤡1🦄1😘1
Задумывались ли вы, что будет если у Ромы или в боте возникает критическая ошибка, а я нахожусь не дома?

Вообще каждая ситуация индивидуальна, периодически я поднимаю всё с телефона (благо на телефоне есть копии ssh ключей). Иногда я откладываю починку до возвращения домой (и пишу пост о сбое).

Но сегодня возникла более сложная проблема которую создал... РосКомНадзор, он уже даже нам мешает спокойно работать D: Из-за новых ограничений в РФ у нас частично перестал работать один из критичных компонентов, пришлось чинить на ходу, буквально :D

#st #life
10❤‍🔥118🔥23😱18😨53😁2🎄2🤯1🍓1💋1😎1
ШЕСТ - о чём вы подумали когда прочитали это слово? А это Школа Е(...) ST :D Пока не очень сошлись что именно будет обозначать Е.

Что вообще за шест и зачем он нужен? Давайте по порядку. Как многие знают, у нас в ST есть цель - создавать сюжеты которые будут интересовать и вызывать отклик у миллионов зрителей. Но! Мы имеем и другие цели, одна из которых - развитие наших навыков. Именно по этому уже несколько месяцев, наши тестеры участвуют в программе повышения квалификации "ШЕСТ", где учатся Java и изучают моддинг Minecraft (а я веду эту программу).

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

#st #life
296🔥12👍8❤‍🔥3🤔3🤯2💋1👀1🎄1💘1👾1
Ну что, время в очередной раз оправдать название канала :D
1😱95🥰1511🔥7👍4🎄2👾2🌭1😎1
Live stream started
Live stream finished (2 hours)
Давно не делал этого, да и меня спрашивали куда пропала эта традиция. Легенда сказала I'll be back, легенда вернулась.

На моём личном бусти продолжает происходить всякое: обсуждение новостей, всякие разные подсказки, предварительные доступы на посмотреть моё творчество и стримчики с прохождением игр (и фильмов).

Действуем как раньше, 5 мест, 5 подарочных подписок на бусти, удачи :D
60🔥5❤‍🔥2👍1🤗1💅1
Ну что, занимайте свои кресла, готовьте свои двигатели и приятного просмотра, наконец выпустил вторую часть грузовичков. За час вы услышите десятки анекдотов от Глэка, порадуетесь праворульному грузовику и узнаете суть фразы "UK Bro".

https://www.youtube.com/watch?v=kqDf25w55sk

А для бустеров (которые посмотрели это видео ещё 3 недели назад), вышел новый предварительный доступ к записи одного старого эксперимента

https://boosty.to/redguy/posts/8b84c8f2-e818-4e0d-818b-cde7f6e13a77?share=post_link

#youtube
🔥43👍6🥰4😁1🤔1🍓1
Кстати, а давайте поговорим об имперском стражнике! Ну и немного спойлеров.

Как вы могли заметить, количество обнов в нём уменьшилось, но с чем это связано? Нас держат в подвале. Мы пилим большую обнову, которая требует много проверок, кодовой базы и невероятно много вычислительных ресурсов. Так что это такое? Собственная нейронная сеть для проверки медиа контента. Помогите.

Что? Как? Зачем? Давайте по порядку, это длинная история.

V1 - В июле я задумался над тем, что было бы круто, если стражник сам мог модерировать поток стикеров в ансабе, дав возможность нам включить их там без страданий, тогда я стал собирать на коленке первую версию модели. Она была кривая, очень кривая, невероятно кривая. Тогда работа встала и я забил.

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

V3 - В определённый момент я попал в тупик, есть стикеры где изображены аниме-тян, но без наготы, есть стикеры с наготой, а есть с 18+, но согласно прошлой модели угроз, всё это шло в 1 категорию, меня это смущало, по этому в 3 версии модели я разделил все такие подтипы на отдельные категории, позволяя более чательно относится к содержимому. Тогда же появилась небольшая фича, которая при автоматическом нахождении ЦП контента, отправляла мне шаблон письма для репорта команде Telegram (боремся с этим вместе :3)

V4 - Когда в очереди на проверку стало 20 ТЫСЯЧ СТИКЕРПАКОВ, я понял что моих сил не хватит. В этот момент образовалась небольшая команда модерации контента, они доблестно проверяли стикерпаки, сообщали мне об ошибках в модели, на основе которых я корректировал обучение. Тут она стала реально умнее и чаще справлялась с задачей, но был один недостаток - архитектура. Всё было устроено так, что модель проверяла весь стикерпак, не вдаваясь в подробности каждого стикера. Это создавало много проблем.

V5 (текущая) - Сейчас модель, в отличие от прошлой версии, записывает данные отдельно по каждому стикеру, следит за изменениями стикерпаков и работает в распределённом режиме на 2 серверах (и моём ноуте когда мне скучно). В данный момент она активно занимается проверкой накопившегося багажа данных, готовясь к публичному релизу. На текущий момент ей осталось проверить 12 тысяч стикерпаков и 500 тысяч отдельных стикеров. А команда модерации в это время отдыхает и морально готовится к новому циклу проверки и корректировки результатов этой системы.

Когда она будет полностью готова, бот сможет используя базу уже изученных стикеров (или проверяя новые налету), автоматически модерировать наши чатики от NSFW контента. А на этом пока всё, в комментариях к посту я отправлю немного скринов о внутренней жизни модели и обучения.

#updates
🔥579❤‍🔥6👏5🐳3👍1🙈1😇1
Ну что, час ночи, самое время выложить ещё одно видео :D
Материалы для него лежали у меня 2 года, и немного потерялись. В этот раз, я решил сделать ролик максимально расслабляющим и не напряжённым, надеюсь будет интересно :3
https://www.youtube.com/watch?v=ttSxPSY-mik
И обещанный в видео конец истории:

После попадания к дракону, игроки потеряли все вещи и забили дракона каменными мечами :D

Бустеры, для вас вышла вторая часть пикопарка:
https://boosty.to/redguy/posts/abaa48d3-3e3a-48d2-815c-85e1d96c551e?share=post_link

#youtube
🤔5513❤‍🔥6🔥4💘2🤗1🎄1🦄1
Время вспомнить одну из моих легенд, помните бота @RMyStickbot?
Это довольно старенький мой бот, но я как-то подзабил на него в феврале 22 года, когда у меня стало меньше свободного времени, да и не хватало знаний на реализацию апдейта, который я хотел в него завести, но сейчас это время прошлом!

Встречайте обновление старой легенды!

Что изменилось?
1) Новая крутая аватарка от @ratareto
2) Фиксы кучки багов
3) Система паков стикеров. Да, да, вы теперь можете поделиться своими описаниями стикеров со своими друзьями!

Ну и чтобы не начинать с чистого листа, я решил поделиться своими паками:

Райли Андерсон (Головоломка)
Вилли (Маугли дикой планеты)
Хейзл (Бесконечный поезд)
Табита Темпелтон (Босс-молокосос 2)

Жду ваших паков в комментариях! (ищу готовый пак с Кейт)

#updates
🔥466👍4🎉1💩1💋1💊1