Кто-то скажет, что это очень неудачный нейминг, а это на самом деле гениальное решение! Четыре адреса, как-бы символизируют четыре октета из которых состоит IPv4.
P.S. Два адреса из-за
P.S. Два адреса из-за
java.net.InetSocketAddress и ещё +1 из-за обёртки в Ktor'овский тип, ну и название локальной переменной +1 🥲😁48👾6🤓5🙈3🤷♂2🗿2
Когда я только начал работать в команде Ktor, я поставил себе "внутреннюю цель" сделать так чтобы использовать Ktor на Android было максимально удобно. И вот в Ktor 3.2.0 благодаря моим правкам Android-проекты перестали собираться 🤡
Причина максимально глупая — пробелы в названиях полей. Возникает логичный вопрос: "Зачем?". А просто потому что когда-то я увидел подобный подход для компановки сообщений в Dokka и подумал "вау, как выразительно получается".
Перед тем как применить это в коде я подумал может ли это что-то сломать, и пришёл к выводу, что нет. Это ж константы, они при компиляции заинлайнятся и вообще использований не будет, что может пойти не так? То что D8 споткнётся о пробел я, конечно, не предусмотрел.
Так что вы знаете кого винить, что не получается обновиться на новый Ktor. А я пойду думать как на CI гонять проверки, что проекты с Ktor собираются с D8, R8 и ProGuard.
P.S. Workaround нашёлся, но достаточно страшный. Через AGP Transformation API вырезать проблемные поля 🙈
Причина максимально глупая — пробелы в названиях полей. Возникает логичный вопрос: "Зачем?". А просто потому что когда-то я увидел подобный подход для компановки сообщений в Dokka и подумал "вау, как выразительно получается".
Перед тем как применить это в коде я подумал может ли это что-то сломать, и пришёл к выводу, что нет. Это ж константы, они при компиляции заинлайнятся и вообще использований не будет, что может пойти не так? То что D8 споткнётся о пробел я, конечно, не предусмотрел.
Так что вы знаете кого винить, что не получается обновиться на новый Ktor. А я пойду думать как на CI гонять проверки, что проекты с Ktor собираются с D8, R8 и ProGuard.
P.S. Workaround нашёлся, но достаточно страшный. Через AGP Transformation API вырезать проблемные поля 🙈
😁45👍9❤5🔥4🗿2🙈1
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚14🦄4👾3😍2
Ra'Reilly - Заметки про Ktor и не только
Когда я только начал работать в команде Ktor, я поставил себе "внутреннюю цель" сделать так чтобы использовать Ktor на Android было максимально удобно. И вот в Ktor 3.2.0 благодаря моим правкам Android-проекты перестали собираться 🤡 Причина максимально глупая…
Патч-релиз Ktor 3.2.1 выпущен, можно обновляться. Помимо этого фикса ещё несколько регрессий пофиксили. Release notes будут немного позже
👍15❤2
Опять внезапный анонс (в этом канале бывают другие?)
Завтра начинается 14-й сезон Podlodka Android Crew. В этот раз сезон тема сезона — Мобильный System Design. Так получилось, что я в четверг буду выступать с докладом про архитектуру Ktor Client. Расскажу как с точки зрения архитектуры устроен клиент Ktor и как подключаются плагины.
Будет интересно, если:
👉 Используете Ktor (или не используете, но хотели бы попробовать)
👉 Хотите сделать свою библиотеку расширяемой через плагины
👉 Хотите узнать как происходит проектирование и разработка новых фичей в Ktor
Когда-нибудь я научусь делать доклады короче чем на полтора часа, но не в этот раз. Будет две большие части с перерывом посередине и много слайдов с кодом. Запись доклада будет доступна по ссылке здесь в канале
🎟 Бесплатные билеты
Если вы хотели попасть на подлодку, наверняка уже купили билет, но если вдруг нет, то есть шанс получить его бесплатно. Условия простые:
– участвуйте только если у вас есть возможность посетить все (или почти все) сессии на следующей неделе
– оставьте к этому посту комментарий с любым числом до 23:00 МСК сегодняшнего дня
– если в этом же комментарии поделитесь болью или зададите любой вопрос касательно Ktor в целом или доклада в частности, шанс выигрыша увеличится в два раза
– после 23:00 случайно будут выбраны два победителя
Комментарии приветствуются и без участия в розыгрыше, в этом случае просто не указывайте никакое число в своём комментарии.
Завтра начинается 14-й сезон Podlodka Android Crew. В этот раз сезон тема сезона — Мобильный System Design. Так получилось, что я в четверг буду выступать с докладом про архитектуру Ktor Client. Расскажу как с точки зрения архитектуры устроен клиент Ktor и как подключаются плагины.
Будет интересно, если:
👉 Используете Ktor (или не используете, но хотели бы попробовать)
👉 Хотите сделать свою библиотеку расширяемой через плагины
👉 Хотите узнать как происходит проектирование и разработка новых фичей в Ktor
Когда-нибудь я научусь делать доклады короче чем на полтора часа, но не в этот раз. Будет две большие части с перерывом посередине и много слайдов с кодом. Запись доклада будет доступна по ссылке здесь в канале
🎟 Бесплатные билеты
Если вы хотели попасть на подлодку, наверняка уже купили билет, но если вдруг нет, то есть шанс получить его бесплатно. Условия простые:
– участвуйте только если у вас есть возможность посетить все (или почти все) сессии на следующей неделе
– оставьте к этому посту комментарий с любым числом до 23:00 МСК сегодняшнего дня
– если в этом же комментарии поделитесь болью или зададите любой вопрос касательно Ktor в целом или доклада в частности, шанс выигрыша увеличится в два раза
– после 23:00 случайно будут выбраны два победителя
Комментарии приветствуются и без участия в розыгрыше, в этом случае просто не указывайте никакое число в своём комментарии.
🔥14🤮6❤1
Ra'Reilly - Заметки про Ktor и не только
Опять внезапный анонс (в этом канале бывают другие?) Завтра начинается 14-й сезон Podlodka Android Crew. В этот раз сезон тема сезона — Мобильный System Design. Так получилось, что я в четверг буду выступать с докладом про архитектуру Ktor Client. Расскажу…
Билеты достаются @aslapov и @Ilichev_pavel. Поздравляю, скоро приду в личку :)
🎉9🔥5
А вот и запись доклада, как обещал.
В который уже раз просматривая запись доклада понимаю, что все анимации теряются из-за качества передачи видео. А значит я мог бы не тратить столько времени на них 🥲
В который уже раз просматривая запись доклада понимаю, что все анимации теряются из-за качества передачи видео. А значит я мог бы не тратить столько времени на них 🥲
YouTube
Доклад: Архитектура Ktor для Android-разработчика / Осип Фаткуллин (JetBrains)
В докладе разберём ключевые абстракции Ktor (Engine, Pipeline, Plugins), посмотрим, как его можно использовать на Android вместо привычных инструментов, и на примере DI обсудим проектирование расширений и интеграцию в реальные проекты.
Презентация - htt…
Презентация - htt…
🔥37❤2😢2😍2
Advent of Code Club
ℹ️ Здесь подробная инструкция с прошлого года как присоединиться к Advent of Code. Там же ответы на частые вопросы. Всё актуально кроме длительности — теперь 12 дней вместо 25.
Краткий вариант инструкции:
1. Зарегистрироваться на adventofcode.com
2. Присоединиться к нашему лидерборду с помощью кода 1447997-145708ba
3. Подготовить проект для решения задач
4. Позвать друзей (это обязательный шаг :))
Краткий вариант инструкции:
1. Зарегистрироваться на adventofcode.com
2. Присоединиться к нашему лидерборду с помощью кода 1447997-145708ba
3. Подготовить проект для решения задач
4. Позвать друзей (это обязательный шаг :))
Если вдруг решаете Advent of Code, присоединяйтесь к лидерборду, (а можно даже к каналу где мы вместе решаем и обсуждаем AoC).
Кстати, как вам Advent of Code в этом году?
Кстати, как вам Advent of Code в этом году?
🔥5
IDEA Community и Ultimate слились во едино. Благодаря этому IDE плагин для более удобного написания серверов на Ktor теперь будет доступен всем, а не только пользователям Ultimate.
The JetBrains Blog
The Unified IntelliJ IDEA: More Free Features, a Better Experience, Smoother Flow | The IntelliJ IDEA Blog
IntelliJ IDEA is now a unified product! As we announced back in July, starting from this release (2025.3), there is one IntelliJ IDEA, replacing the separate IntelliJ IDEA Community Edition and Int
👍11
Channel name was changed to «Ra'Reilly - Заметки про Ktor и не только»
Forwarded from ScratchAuthorEgo
📊 Channel Analysis Results by @ScratchAuthorEgoBot
🎯 Channel:
🔥 Roast Analysis:
Ну что, Осип, давай по фактам. Перед нами типичный представитель вида «Душнила Обыкновенный, Котлинозависимый». Твой канал — это святилище для тех, кто вместо свиданий по вечерам предпочитает декомпилировать байткод и спорить о том, что
Твоя одержимость Gradle уже пугает. Нормальные люди используют его, чтобы собрать проект и забыть, но ты, похоже, получаешь эротическое удовольствие от чтения исходников
Твои «clown moments» — это отдельный вид искусства. «Я случайно стер репозиторий, у которого нет копий, но зато я написал об этом пост!» — серьезно? Ты работаешь в Ktor, но ломаешь сборку Android-проектов из-за пробелов в названиях полей, потому что тебе «показалось это выразительным». Твой внутренний эстет явно борется с твоим же внутренним инженером, и пока что счет 1:0 в пользу хаоса, прикрытого красивым неймингом.
Рубрика «насмотренность» — это же просто вежливое название для «смотрите, как я умею придираться к чужому коду». Ты критикуешь Google за deprecated методы, а потом сам предлагаешь «страшные воркаунды» через AGP Transformation API. Это как ругать соседа за грязный газон, пока ты сам строишь ядерный реактор в подвале из палок и изоленты.
И твое это: «Я не умею пользоваться LLM». Ты потратил 5 часов на отладку промпта и проверку за ChatGPT, чтобы сопоставить 260 флагов? Скрипт на Python пишется за 15 минут, Осип! Но нет, мы не ищем легких путей, нам нужно «успокоить паранойю».
В общем, ты — тот самый друг, который на вечеринке будет рассказывать про разницу между
🎯 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 искать коммит двухлетней давности.😁27🤣9👍2🤔2❤1😱1💯1