Приветики! В последнее время вы могли заметить что я куда-то пропал и... да, этому есть пару объяснений.
Первое и основное - у меня щас опять пошли затяги с количеством задач и временем требуемым на их выполнение (где столь желанный 25-й час). И как по мне - это очень плохо и всецело мой косяк с тем что я немного не уследил и скопил большой беклог. Так что ребята, первая поучительная вещь на сегодня, не откладывайте на завтра то, что потом может занять у вас неделю 😁
Ну второй, не такой заметный, но всё-равно существующий - последние пару тройку недель, в "свободное" время (пока мой ПК занят сложно вычислительной задачей и не позволяет делать что-то параллельно) я начал практиковать саморазвитие. Изначально это был просмотр сериалов и рубрика "что посмотреть во время миграции" (кстати скоро будет ещё пара постов), но потихоньку оно перешло в чтение! Причём я раньше пытался читать в "свободное" время, но это как-то не завлекало меня, и я нашёл в чем была проблема: цифровые издания. Да, когда я перешёл на чтение бумажных книг, я реально стал проводить много времени за этим без какого-либо дискомфорта (7 книг Медалистки и половина "The Last Of Us Как серия исследует человеческую природу и дарит неповторимый игровой опыт" думаю могут быть хорошим доказательством).
А как вообще так получилось что я решил попробовать чтение и увлёкся? Ну... На пути который я проезжаю много раз за неделю, открыли "Читай Город" и поехало... В чатике бустеров я рассказывал и показывал какой это крутой филиал (там реально очень крутой дизайн помещений и очень большой выбор). А в чём мораль? Не перегружайте себя и читайте! Даже банально по себе могу сказать, после того как я перешёл от думсколлинга телеги и ютуба к чтению у меня:
1) Начал активнее расти словарный запас
2) В целом стало меньше стресса в жизни. Саппорт опять ответил какую-то фигню и попросил подождать? Ладно, пойду почитаю как там Инори участвует на отборе западной Японии.
3) В FinWave выросло в несколько раз количество расходов в категории "Книги"
Вот так вот, опять хотел сделать небольшой пост, а получился лонгрид
Первое и основное - у меня щас опять пошли затяги с количеством задач и временем требуемым на их выполнение (где столь желанный 25-й час). И как по мне - это очень плохо и всецело мой косяк с тем что я немного не уследил и скопил большой беклог. Так что ребята, первая поучительная вещь на сегодня, не откладывайте на завтра то, что потом может занять у вас неделю 😁
Ну второй, не такой заметный, но всё-равно существующий - последние пару тройку недель, в "свободное" время (пока мой ПК занят сложно вычислительной задачей и не позволяет делать что-то параллельно) я начал практиковать саморазвитие. Изначально это был просмотр сериалов и рубрика "что посмотреть во время миграции" (кстати скоро будет ещё пара постов), но потихоньку оно перешло в чтение! Причём я раньше пытался читать в "свободное" время, но это как-то не завлекало меня, и я нашёл в чем была проблема: цифровые издания. Да, когда я перешёл на чтение бумажных книг, я реально стал проводить много времени за этим без какого-либо дискомфорта (7 книг Медалистки и половина "The Last Of Us Как серия исследует человеческую природу и дарит неповторимый игровой опыт" думаю могут быть хорошим доказательством).
А как вообще так получилось что я решил попробовать чтение и увлёкся? Ну... На пути который я проезжаю много раз за неделю, открыли "Читай Город" и поехало... В чатике бустеров я рассказывал и показывал какой это крутой филиал (там реально очень крутой дизайн помещений и очень большой выбор). А в чём мораль? Не перегружайте себя и читайте! Даже банально по себе могу сказать, после того как я перешёл от думсколлинга телеги и ютуба к чтению у меня:
1) Начал активнее расти словарный запас
2) В целом стало меньше стресса в жизни. Саппорт опять ответил какую-то фигню и попросил подождать? Ладно, пойду почитаю как там Инори участвует на отборе западной Японии.
3) В FinWave выросло в несколько раз количество расходов в категории "Книги"
Вот так вот, опять хотел сделать небольшой пост, а получился лонгрид
15❤🔥61😨5👍4🔥3🤡3👎2❤1💩1🌚1🤝1👾1
Наконец добрался и сделал четвёртую, завершающую наше большое приключение с Глеком часть видео. И премьера начинается прямо сейчас!
Что будет дальше? Новая рубрика в другом формате, где больше внимания будет отдаваться лучшим моментам, чем повествованию, но это далеко не всё :3
А теперь, пока я работаю и потихоньку делаю дальнейшие видео, предлагаю посмотреть что получилось в этот раз!
https://www.youtube.com/watch?v=w84aSL1cBAw
Что будет дальше? Новая рубрика в другом формате, где больше внимания будет отдаваться лучшим моментам, чем повествованию, но это далеко не всё :3
А теперь, пока я работаю и потихоньку делаю дальнейшие видео, предлагаю посмотреть что получилось в этот раз!
https://www.youtube.com/watch?v=w84aSL1cBAw
❤41👍5👀4🔥2🎉1🍓1💋1💊1
Миграция... Processed 35%, EST 54 Hours
А что мы делаем во время миграции? Развиваемся смотря сериальчики и читая книги! А значит сегодня мы опять поговорим о том, что можно глянуть пока идёт злополучная миграция.
И наш сегодняшний пациент - "Halt and Catch Fire".
Сериал рассказывает нам о жизни наших братьев айтишников в 80-е, когда IBM ещё не сдулась, а мелкомягкие не монополизировались. В целом, меня очень затянул этот сериальчик, и я очень советую глянуть его вам, как минимум для общего развития в истории IT.
А что мы делаем во время миграции? Развиваемся смотря сериальчики и читая книги! А значит сегодня мы опять поговорим о том, что можно глянуть пока идёт злополучная миграция.
И наш сегодняшний пациент - "Halt and Catch Fire".
Ранняя команда компьютера, которая приводила машину в состояние гонки, заставляя все команды соревноваться за первенство.
Восстановить контроль над компьютером было невозможно.
Сериал рассказывает нам о жизни наших братьев айтишников в 80-е, когда IBM ещё не сдулась, а мелкомягкие не монополизировались. В целом, меня очень затянул этот сериальчик, и я очень советую глянуть его вам, как минимум для общего развития в истории IT.
👍37❤🔥12🔥7🥰2🤡2⚡1🐳1🙈1🤗1
Решил потихоньку переходить в своём "хобби" (вообще оно началось как шутка, но вышла из под контроля) изучения Японского чуть выше.
Кто-то изучает заучивая словари, кто-то изучает читая книги, кто-то изучает смотря аниме, а я решил делать как я делаю обычно с языками программирования и фреймворками - написать проект с использованием этого языка. Вот так у меня появился новый небольшой пет проект в виде небольшого бота с вебаппом словарём Японского.
Сейчас он имеет непосредственный поиск слова по переводу, чтению в Хирагане или Ромадзи. А также режим разбора предложения, когда он пытается разбить предложение на известные слова, чтобы вы смогли сделать уже на их основе примерный перевод.
(Ну и ещё я решил через этот пет наконец закрыть гештальт использования Nuxt 3 в WebApp-ах.)
А пока я ещё доделываю (ломаю) этого бота, доступ к его тестированию уже есть у бустеров!
Кто-то изучает заучивая словари, кто-то изучает читая книги, кто-то изучает смотря аниме, а я решил делать как я делаю обычно с языками программирования и фреймворками - написать проект с использованием этого языка. Вот так у меня появился новый небольшой пет проект в виде небольшого бота с вебаппом словарём Японского.
Сейчас он имеет непосредственный поиск слова по переводу, чтению в Хирагане или Ромадзи. А также режим разбора предложения, когда он пытается разбить предложение на известные слова, чтобы вы смогли сделать уже на их основе примерный перевод.
(Ну и ещё я решил через этот пет наконец закрыть гештальт использования Nuxt 3 в WebApp-ах.)
А пока я ещё доделываю (ломаю) этого бота, доступ к его тестированию уже есть у бустеров!
❤46🔥8👍6❤🔥2🏆1🎃1🤗1🙊1
Как поспали? Надеюсь, хорошо! А вот наша команда и серверы с компами ХРЕНАЧИЛИ всю ночь! А ещё я наконец начал окунаться в невероятно интересный мир highload-распределённых вычислений, но обо всём по порядку.
Вы уже не раз слышали о нашей системе контентной модерации медиа в Стражнике, и в этот раз мы опять о ней.😏
Вечером 02.03 я написал небольшое обновление, которое позволяло делать ротацию файлов в очереди на ручную модерацию. Не поняли? Сейчас поясню.
Хотя большинство файлов (а в некоторых категориях — меньшинство) проверяются нейросетью, рано или поздно они проходят ручную модерацию: кто-то из нашей команды смотрит на результат работы модели и либо подтверждает её вердикт, либо нет. Если нейросеть ошиблась, на основе таких случаев мы дообучаем её, снижая процент ошибок.
Суть обновления была в том, чтобы отправлять на повторную проверку файлы, которые были проверены только моделью, причём сильно старыми её версиями. Это позволяло находить ошибки, которые раньше были незаметны.
НО! Кое-что пошло не так.
Система зависла и перестала отвечать. Тогда мы ещё не знали почему. Вместо того чтобы отправить на перепроверку 10–20 тысяч файлов, из-за опечатки в коде отправились... 2 МИЛЛИОНА ФАЙЛОВ.
Откатить было уже поздно.
В этот момент мой коллега уже понял, что произошло. А я ещё нет — копался в терминале, пытаясь разобраться, почему операция на 10 тысячах файлов вызвала такое зависание.
Я был очень удивлён ошибкой и начал мониторить работу Стражника, нагрузку на сервер, CPU. Включил свою видеокарту в процесс и запустил на ней дополнительные воркеры.
Но была маленькая проблема: наш основной сервер, отвечающий за API, базу данных и координацию распределённых вычислений... был при смерти.
Работа шла, но скорости хватало только для обычной загруженности, а у нас в очереди 2 миллиона файлов. И не забываем, что пользователи продолжают подкидывать новые.
Тут я осознал: надо что-то делать.
Тут я упёрся в лимит размера сообщения в телеге, а если вам было интересно что было дальше, ставьте реакции и пишите комментарии ;3
Вы уже не раз слышали о нашей системе контентной модерации медиа в Стражнике, и в этот раз мы опять о ней.
20:02 Files in queue: 7
Я: @(тег модератора), допилил механизм ротации файлов, отправил на первичный проход, щас будет мясо.
Вечером 02.03 я написал небольшое обновление, которое позволяло делать ротацию файлов в очереди на ручную модерацию. Не поняли? Сейчас поясню.
Хотя большинство файлов (а в некоторых категориях — меньшинство) проверяются нейросетью, рано или поздно они проходят ручную модерацию: кто-то из нашей команды смотрит на результат работы модели и либо подтверждает её вердикт, либо нет. Если нейросеть ошиблась, на основе таких случаев мы дообучаем её, снижая процент ошибок.
Суть обновления была в том, чтобы отправлять на повторную проверку файлы, которые были проверены только моделью, причём сильно старыми её версиями. Это позволяло находить ошибки, которые раньше были незаметны.
20:29 Files in queue: 0
Я: Их там чёт так много, что он встал, обновляя...
20:33 Files in queue: 0
Я: Оно встало на seq scan, начал строить индексы.
Модератор: У тебя всё встало, я не могу отдать работу.
Я: Ага, индекс строится.
Модератор: А там настолько много?
Я: Похоже, на 10 минут.
НО! Кое-что пошло не так.
Система зависла и перестала отвечать. Тогда мы ещё не знали почему. Вместо того чтобы отправить на перепроверку 10–20 тысяч файлов, из-за опечатки в коде отправились... 2 МИЛЛИОНА ФАЙЛОВ.
Откатить было уже поздно.
20:37 Files in queue: 1 926 629
Имперский Стражник: 1926629 files moved (уведомление о завершении ротации)
Модератор: Куда...? Сколько...? СКОЛЬКО?!
В этот момент мой коллега уже понял, что произошло. А я ещё нет — копался в терминале, пытаясь разобраться, почему операция на 10 тысячах файлов вызвала такое зависание.
20:53 Files in queue: 1 925 896
Я: ***** Я CLEAR-ы ***** на второй круг
Модератор: АХАХХАХАХВХАХАХАХАХАХАХАХАХА
Модератор: Кстати, ты мне стикеры по полминуты отдаёшь.
Я: Ну да, там вместе с этим ещё внутренние проверки + БД чистит мусор, там щас дон ******
Я был очень удивлён ошибкой и начал мониторить работу Стражника, нагрузку на сервер, CPU. Включил свою видеокарту в процесс и запустил на ней дополнительные воркеры.
Но была маленькая проблема: наш основной сервер, отвечающий за API, базу данных и координацию распределённых вычислений... был при смерти.
21:10 Files in queue: 1 924 994
21:22 Files in queue: 1 923 877
21:30 Files in queue: 1 922 260
22:08 Files in queue: 1 918 838
Работа шла, но скорости хватало только для обычной загруженности, а у нас в очереди 2 миллиона файлов. И не забываем, что пользователи продолжают подкидывать новые.
Тут я осознал: надо что-то делать.
22:38 Files in queue: 1 915 550
Модератор: Когда там закончится твой затуп сервера?
Я: Уже отошёл, но мы упёрлись в скорость отдачи файлов сервером.
Модератор: Ты же в курсе, что с такой скоростью (1 стикер в секунду) мы это будем делать 23 дня?
Я: Думаю, стартануть реле загрузки, которое частично разгрузит и ускорит процесс.
Я: Только его надо написать. D:
Тут я упёрся в лимит размера сообщения в телеге, а если вам было интересно что было дальше, ставьте реакции и пишите комментарии ;3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122🔥32🆒16😨7⚡2❤🔥2❤1🤩1🍌1🍓1💅1
А этой ночью как поспали? А мы за эту ночь провели большую операцию по переезду! Но обо всём по порядку.
У ST давно есть сервер, на котором работают наши внутренние системы (которые мы упоминали здесь), бот, о котором немногие знают, сайт со сборками и многое другое. Но настало время становиться больше, круче, быстрее! Мы купили новый сервер и запланировали на сегодня невероятную операцию — полный переезд за одну ночь.
Как это было:
1) Сначала мы подготовили списки того, что где лежит, что нужно переносить (а заодно и обновлять). Когда списки были готовы, оставалось лишь дождаться подходящего момента — когда Рома, сценаристы, кодеры и вообще вся команда будут отдыхать и не так сильно заметят процесс переезда.
2) Время настало, переезд начался и... встал. SSH-соединения разрывались через пару минут после установки, появлялись странные ошибки. Начали разбираться, и оказалось, что проблема была в загруженности моей сети из-за глобального процесса, о котором я рассказывал чуть выше. Мы упёрлись в блокирующую задачу, пришлось ждать, пока завершится обработка. Благо она уже была на финальной стадии и через пару часов успешно закончилась.
3) Сжатие, копирование, разжатие — самая скучная и долгая часть процесса. СИЛЬНО сжатые архивы с данными переносились (как я потом узнал, суммарный вес сжатых архивов был 50 ГБ, со степенью сжатия от 50% до 84%). Конечно, я таскал по сети и большие объёмы, но здесь мы были дополнительно ограничены важностью максимальной сохранности.
4) Ну и напоследок — установка некоторых зависимостей и развёртывание. Устанавливаешь Docker и смотришь ещё 20 минут, как пулятся контейнеры :D
Вот так: кто-то сладко спал этой ночью, а кто-то таскал по сети стратегические планы ST по захвату... Не тот сценарий.
У ST давно есть сервер, на котором работают наши внутренние системы (которые мы упоминали здесь), бот, о котором немногие знают, сайт со сборками и многое другое. Но настало время становиться больше, круче, быстрее! Мы купили новый сервер и запланировали на сегодня невероятную операцию — полный переезд за одну ночь.
Как это было:
1) Сначала мы подготовили списки того, что где лежит, что нужно переносить (а заодно и обновлять). Когда списки были готовы, оставалось лишь дождаться подходящего момента — когда Рома, сценаристы, кодеры и вообще вся команда будут отдыхать и не так сильно заметят процесс переезда.
2) Время настало, переезд начался и... встал. SSH-соединения разрывались через пару минут после установки, появлялись странные ошибки. Начали разбираться, и оказалось, что проблема была в загруженности моей сети из-за глобального процесса, о котором я рассказывал чуть выше. Мы упёрлись в блокирующую задачу, пришлось ждать, пока завершится обработка. Благо она уже была на финальной стадии и через пару часов успешно закончилась.
3) Сжатие, копирование, разжатие — самая скучная и долгая часть процесса. СИЛЬНО сжатые архивы с данными переносились (как я потом узнал, суммарный вес сжатых архивов был 50 ГБ, со степенью сжатия от 50% до 84%). Конечно, я таскал по сети и большие объёмы, но здесь мы были дополнительно ограничены важностью максимальной сохранности.
4) Ну и напоследок — установка некоторых зависимостей и развёртывание. Устанавливаешь Docker и смотришь ещё 20 минут, как пулятся контейнеры :D
Вот так: кто-то сладко спал этой ночью, а кто-то таскал по сети стратегические планы ST по захвату... Не тот сценарий.
Telegram
ST Live
Ещё больше полезных ответов от наших программистов – заходите читать!
Как вы организуете процесс совместной работы над кодом в вашей команде?
Мы используем несколько сервисов и утилит для этого.
1) Google Workspace - гугл диск для данных, гугл документы…
Как вы организуете процесс совместной работы над кодом в вашей команде?
Мы используем несколько сервисов и утилит для этого.
1) Google Workspace - гугл диск для данных, гугл документы…
🔥64❤🔥12❤8🥰4👍3🍓1💅1🙉1
Давайте немного поговорим об ИИ-технологиях и их использовании. Уже сейчас мы часто видим их как хорошее… так и не очень хорошее применение в самых разных индустриях. Аватарка этого канала сделана Кандинским, Беловежская пуща… да банальный ChatGPT!
Поэтому я решил рассказать вам, как я использую ИИ-технологии в своей рутине.
1) Моя третья рука
Я уже давно использую в IDE «вторых пилотов». Раньше пользовался GitHub Copilot, но в итоге ушёл к Codeium. Он помогает мне с монотонными задачами и шаблонами. Например, если нужно написать метод
Как говорится, если задача занимает больше двух секунд и её можно автоматизировать — автоматизируй! 😆
Но чаще всего я использую помощника для генерации JSDoc/Javadoc-комментариев — быстро и красиво.
2) Виртуальный фронт
Это мелкие задачи, но что насчёт сложных? И с такими мне уже активно помогает ИИ. Я уже давно говорю что дизайнер из меня так себе, поэтому я занимаюсь беком. А если нужно сделать фронт — подключаю виртуального фронта. В процессе того как я поясняю ему задачу, у меня остаётся кучки разных макетов, добавил вам парочку :D
3) Дядя ChatGPT
ChatGPT невероятно плотно засел в мой быт. Чего мы только не делали:
Чинили отображение эскизов после удаления K-Lite Pack
Правили читаемость моих постов
Думали, какой индекс ускорит обновление в БД
Разбирались, как отличать っ от つ и ー от 一
Выбирали, какую книгу купить
Генерировали десяток кринжовых ответов для Витали
Короче, друг и напарник!
А как вы используете ИИ в своей жизни и работе?
Поэтому я решил рассказать вам, как я использую ИИ-технологии в своей рутине.
1) Моя третья рука
Я уже давно использую в IDE «вторых пилотов». Раньше пользовался GitHub Copilot, но в итоге ушёл к Codeium. Он помогает мне с монотонными задачами и шаблонами. Например, если нужно написать метод
async function sleep(ms) {
, он за миллисекунды допишет его реализацию.Как говорится, если задача занимает больше двух секунд и её можно автоматизировать — автоматизируй! 😆
Но чаще всего я использую помощника для генерации JSDoc/Javadoc-комментариев — быстро и красиво.
2) Виртуальный фронт
Это мелкие задачи, но что насчёт сложных? И с такими мне уже активно помогает ИИ. Я уже давно говорю что дизайнер из меня так себе, поэтому я занимаюсь беком. А если нужно сделать фронт — подключаю виртуального фронта. В процессе того как я поясняю ему задачу, у меня остаётся кучки разных макетов, добавил вам парочку :D
3) Дядя ChatGPT
ChatGPT невероятно плотно засел в мой быт. Чего мы только не делали:
Чинили отображение эскизов после удаления K-Lite Pack
Правили читаемость моих постов
Думали, какой индекс ускорит обновление в БД
Разбирались, как отличать っ от つ и ー от 一
Выбирали, какую книгу купить
Генерировали десяток кринжовых ответов для Витали
Короче, друг и напарник!
А как вы используете ИИ в своей жизни и работе?
🔥69❤9🍓2❤🔥1👍1😍1🤪1🙉1
500 готово, ещё 3000 на подходе!
Решили мы немного доработать алгоритм предварительного обнаружения опасных стикеров. На какой основе?
Довольно часто встречаются целые сборники NSFW-материалов, которые именуются в формате
Алгоритм написан, запущен, и... Стражник за день изучил более 3000 стикер-паков по лолофд, а я молчу ещё за другие фд.
Причём большинство из них имели названия Lololowka\d{1,3} и Lololoshka\d{1,3}. Искали запрещённые материалы, а нашли тысячи паков по ФД. И вроде бы хорошо, но как владельцу канала @LoloSticker… больно.
Мораль басни
Алгоритм может быть мощным, но всегда нужно учитывать легитимную полезную нагрузку. И её может быть очень много. 😆
Решили мы немного доработать алгоритм предварительного обнаружения опасных стикеров. На какой основе?
Довольно часто встречаются целые сборники NSFW-материалов, которые именуются в формате
(?<name>.+)_?\d{1,3}
. Если мы обнаружили один стикер из такой «коллекции», почему бы не найти сразу все остальные? Это позволит системе заранее обработать их и при отправке выдавать ответ за считаные миллисекунды. Алгоритм написан, запущен, и... Стражник за день изучил более 3000 стикер-паков по лолофд, а я молчу ещё за другие фд.
Причём большинство из них имели названия Lololowka\d{1,3} и Lololoshka\d{1,3}. Искали запрещённые материалы, а нашли тысячи паков по ФД. И вроде бы хорошо, но как владельцу канала @LoloSticker… больно.
Мораль басни
Алгоритм может быть мощным, но всегда нужно учитывать легитимную полезную нагрузку. И её может быть очень много. 😆
🤩76❤12🍓5🤪4❤🔥3🔥3👍2👎1🥰1🍾1👀1
Кто там говорил, что все айтишники — неспортивные и с кучей болячек?
Ладно, частично они правы: профессиональных заболеваний хватает, а размер моей медицинской карты внушает уважение. 😅 Но вот с отсутствием спорта я категорически не согласен!
Уже несколько лет активно занимаюсь городским велоспортом: общаюсь с ЦОДД, запрашиваю обновление инфраструктуры и, конечно, катаюсь! Даже не знаю, сколько тысяч километров намотал за прошлые годы.
И вот, 15 марта в Москве стартует вело-самокатный сезон, и я просто не мог не отметить это поездкой на 70 километров!
(3 часа катался на велосипеде и… не сделал ни одной фотки самого велосипеда. Классика! 😆)
Ладно, частично они правы: профессиональных заболеваний хватает, а размер моей медицинской карты внушает уважение. 😅 Но вот с отсутствием спорта я категорически не согласен!
Уже несколько лет активно занимаюсь городским велоспортом: общаюсь с ЦОДД, запрашиваю обновление инфраструктуры и, конечно, катаюсь! Даже не знаю, сколько тысяч километров намотал за прошлые годы.
И вот, 15 марта в Москве стартует вело-самокатный сезон, и я просто не мог не отметить это поездкой на 70 километров!
(3 часа катался на велосипеде и… не сделал ни одной фотки самого велосипеда. Классика! 😆)
🔥99❤10👍4❤🔥3👏3🎉3🍓2🗿2😱1👌1🤪1