Ra'Reilly - Заметки про Ktor и не только
СтатистикаРаз в никогда тут появляются заметки. В основном про около-Ktor, но иногда и про тулинг залетает. Автор: @osipxd
- Последний пост
- 23 июл.
- Последнее чтение
- 02:46
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 599
- 1/48двое суток
- 686
- 1/72трое суток
- 740
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Shouldn't mention this 👌
Количество PR'ов растёт, количество запусков CI растёт и для каждого запуска нужно скачать зависимости. Maven Central пытается выжить при резком росте трафика. В прошлом месяце они сделали лимиты на скачивание артефактов более строгими, из-за чего вы могли…
Количество PR'ов растёт, количество запусков CI растёт и для каждого запуска нужно скачать зависимости. Maven Central пытается выжить при резком росте трафика. В прошлом месяце они сделали лимиты на скачивание артефактов более строгими, из-за чего вы могли видеть ошибки "429 Too Many Requests". А теперь для публикации релизов тоже вводят лимиты. Что делать? Поднимать в инфраструктуре компании зеркало, если его ещё нет. Это и скорость загрузки зависимостей на CI улучшит, и устойчивость, в случае падения Maven Central. Ну или если нет возможности поднять своё зеркало, то кэшировать зависимости. Идеальным вариантом для этого было бы использовать read-only dependency кэш и просто монтировать его как Docker volume. Если что-то публикуете в Maven Central, теперь на специальной странице Usage Center можно проверить не выходят ли ваши публикации за лимиты. А лимиты на месяц там такие: - Release size: 80 MB - File count: 1,000 - Release count: 7 Для справки один релиз Ktor это 174 MB и 51,500 файлов 🥲
без подписи
Если бы мне платили каждый раз когда агент во время исследования бага пишет "This is extremely revealing! This changes everything!", а потом не может понять где же всё-таки баг (и так по кругу), мне бы можно было уже зарплату не платить.
AI обесценивает мою дотошность. И это хорошо. Ну может не полностью обесценивает, но точно делает менее ценной. Вот раньше я заморачивался с оформлением PRов, issue и т.д. Если уже репорчу баг в библиотеку, то предварительно провожу самостоятельный ресёрч, пытаюсь выявить минимальный репродюсер, найти workaround и понятно это всё оформить. А когда другие люди в команде тоже так делали, вообще кайф! Прикиньте, приносят вам PR новой фичи, а там скриншоты и скринкаст реализации. Сильно проще погрузиться в контекст да ещё и проблемы вёрстки можно увидеть не открывая код. Красота же! А теперь понятным описанием PRа или issue уже никого не удивишь. Только по скриншотам в описании и можно определить этих дотошных людей, но уверен и это скоро агенты научатся делать, если ещё не умеют. С одной стороны обидно терять уникальность, с другой — (длинное тире) это же хорошо, что можно легко улучшить общее качество описаний PR'ов и issue, да ещё и время освобождается. А моя дотошность найдёт себе применение. 🤡 Вероятно, этот канал тоже скатился в около-AI посты. Потому что я сейчас активно учусь использовать агентов и делаю для себя много открытий. Ну и ещё потому что пространство для исследований огромно.
AI агенты это ужасно, вот что я вам скажу. Теперь у меня в 10 раз больше начатых проектов, которые я никогда не доведу до конца.
Зашёл посмотреть changelog OpenCode
📊 Channel Analysis Results by @ScratchAuthorEgoBot 🎯 Channel: @rareilly 🔥 Roast Analysis: Ну что, Осип, давай по фактам. Перед нами типичный представитель вида «Душнила Обыкновенный, Котлинозависимый». Твой канал — это святилище для тех, кто вместо свиданий по вечерам предпочитает декомпилировать байткод и спорить о том, что it.not() — это грех против человечества. Твоя одержимость Gradle уже пугает. Нормальные люди используют его, чтобы собрать проект и забыть, но ты, похоже, получаешь эротическое удовольствие от чтения исходников PluginDependenciesSpecScope. Ты настолько любишь порядок, что готов потратить три дня на написание 300 строк Bash-скрипта, чтобы автоматизировать задачу, которая занимает 5 минут. Это не «продуктивность», Осип, это социально приемлемая форма ОКР. Твои «clown moments» — это отдельный вид искусства. «Я случайно стер репозиторий, у которого нет копий, но зато я написал об этом пост!» — серьезно? Ты работаешь в Ktor, но ломаешь сборку Android-проектов из-за пробелов в названиях полей, потому что тебе «показалось это выразительным». Твой внутренний эстет явно борется с твоим же внутренним инженером, и пока что счет 1:0 в пользу хаоса, прикрытого красивым неймингом. Рубрика «насмотренность» — это же просто вежливое название для «смотрите, как я умею придираться к чужому коду». Ты критикуешь Google за deprecated методы, а потом сам предлагаешь «страшные воркаунды» через AGP Transformation API. Это как ругать соседа за грязный газон, пока ты сам строишь ядерный реактор в подвале из палок и изоленты. И твое это: «Я не умею пользоваться LLM». Ты потратил 5 часов на отладку промпта и проверку за ChatGPT, чтобы сопоставить 260 флагов? Скрипт на Python пишется за 15 минут, Осип! Но нет, мы не ищем легких путей, нам нужно «успокоить паранойю». В общем, ты — тот самый друг, который на вечеринке будет рассказывать про разницу между .bashrc и .bash_profile, пока все остальные просто пытаются весело провести время. Но мы тебя терпим, потому что когда у нас в очередной раз отвалится Gradle (а он отвалится), ты единственный, кто не будет плакать, а полезет в репозиторий JetBrains искать коммит двухлетней давности.
Channel name was changed to «Ra'Reilly - Заметки про Ktor и не только»
IDEA Community и Ultimate слились во едино. Благодаря этому IDE плагин для более удобного написания серверов на Ktor теперь будет доступен всем, а не только пользователям Ultimate.
ℹ️ Здесь подробная инструкция с прошлого года как присоединиться к Advent of Code. Там же ответы на частые вопросы. Всё актуально кроме длительности — теперь 12 дней вместо 25. Краткий вариант инструкции: 1. Зарегистрироваться на adventofcode.com 2. Присоединиться к нашему лидерборду с помощью кода 1447997-145708ba 3. Подготовить проект для решения задач 4. Позвать друзей (это обязательный шаг :))
Source
А вот и запись доклада, как обещал. В который уже раз просматривая запись доклада понимаю, что все анимации теряются из-за качества передачи видео. А значит я мог бы не тратить столько времени на них 🥲
Опять внезапный анонс (в этом канале бывают другие?) Завтра начинается 14-й сезон Podlodka Android Crew. В этот раз сезон тема сезона — Мобильный System Design. Так получилось, что я в четверг буду выступать с докладом про архитектуру Ktor Client. Расскажу…
Опять внезапный анонс (в этом канале бывают другие?) Завтра начинается 14-й сезон Podlodka Android Crew. В этот раз сезон тема сезона — Мобильный System Design. Так получилось, что я в четверг буду выступать с докладом про архитектуру Ktor Client. Расскажу как с точки зрения архитектуры устроен клиент Ktor и как подключаются плагины. Будет интересно, если: 👉 Используете Ktor (или не используете, но хотели бы попробовать) 👉 Хотите сделать свою библиотеку расширяемой через плагины 👉 Хотите узнать как происходит проектирование и разработка новых фичей в Ktor Когда-нибудь я научусь делать доклады короче чем на полтора часа, но не в этот раз. Будет две большие части с перерывом посередине и много слайдов с кодом. Запись доклада будет доступна по ссылке здесь в канале 🎟 Бесплатные билеты Если вы хотели попасть на подлодку, наверняка уже купили билет, но если вдруг нет, то есть шанс получить его бесплатно. Условия простые: – участвуйте только если у вас есть возможность посетить все (или почти все) сессии на следующей неделе – оставьте к этому посту комментарий с любым числом до 23:00 МСК сегодняшнего дня – если в этом же комментарии поделитесь болью или зададите любой вопрос касательно Ktor в целом или доклада в частности, шанс выигрыша увеличится в два раза – после 23:00 случайно будут выбраны два победителя Комментарии приветствуются и без участия в розыгрыше, в этом случае просто не указывайте никакое число в своём комментарии.
Когда я только начал работать в команде Ktor, я поставил себе "внутреннюю цель" сделать так чтобы использовать Ktor на Android было максимально удобно. И вот в Ktor 3.2.0 благодаря моим правкам Android-проекты перестали собираться 🤡 Причина максимально глупая…
без подписи
Когда я только начал работать в команде Ktor, я поставил себе "внутреннюю цель" сделать так чтобы использовать Ktor на Android было максимально удобно. И вот в Ktor 3.2.0 благодаря моим правкам Android-проекты перестали собираться 🤡 Причина максимально глупая — пробелы в названиях полей. Возникает логичный вопрос: "Зачем?". А просто потому что когда-то я увидел подобный подход для компановки сообщений в Dokka и подумал "вау, как выразительно получается". Перед тем как применить это в коде я подумал может ли это что-то сломать, и пришёл к выводу, что нет. Это ж константы, они при компиляции заинлайнятся и вообще использований не будет, что может пойти не так? То что D8 споткнётся о пробел я, конечно, не предусмотрел. Так что вы знаете кого винить, что не получается обновиться на новый Ktor. А я пойду думать как на CI гонять проверки, что проекты с Ktor собираются с D8, R8 и ProGuard. P.S. Workaround нашёлся, но достаточно страшный. Через AGP Transformation API вырезать проблемные поля 🙈
Кто-то скажет, что это очень неудачный нейминг, а это на самом деле гениальное решение! Четыре адреса, как-бы символизируют четыре октета из которых состоит IPv4. P.S. Два адреса из-за java.net.InetSocketAddress и ещё +1 из-за обёртки в Ktor'овский тип, ну и название локальной переменной +1 🥲