Если вам понравилось видео про математику с Kotlin, которое я постил в воскресенье, то вот вам еще один свежий доклад с Fosdem на эту же тему. С телефона совсем не работает проигрыватель, если что.
https://fosdem.org/2022/schedule/event/kotlin_plus_maths/
https://fosdem.org/2022/schedule/event/kotlin_plus_maths/
archive.fosdem.org
FOSDEM 2022 - Kotlin + Maths
This media is not supported in your browser
VIEW IN TELEGRAM
Ночь в Финтехе
К нам пришли ребята из Финтеха Яндекса с новыми (почти безумными) идеями. Что на этот раз? Рассказываем.
Многие из вас наверняка хотели бы сменить работу, но что-то всё время мешает: страшно, рискованно, дискомфортно. А ведь так правда бывает — сделал тестовое, прошел все секции, принял оффер, а потом вдруг понял, что все не то: коллеги душные, задачи грустные и кофе на кухне невкусный.
Все ребята из Финтеха через это когда-то проходили и теперь придумали совершенно новый формат: приглашают мобильных разработчиков к себе на пятничную офисную вечеринку — познакомиться и понять, хочется вам работать вместе или нет. Бургеры, плейстейшен, напитки и музыка – обычный вечер пятницы в офисе, где можно проникнуться атмосферой и понять, на одной ли вы волне.
Вечеринка будет в Москве, но если вы из другого города – ребята обещают организовать поездку. Все на полном серьезе — все подробности читайте здесь.
К нам пришли ребята из Финтеха Яндекса с новыми (почти безумными) идеями. Что на этот раз? Рассказываем.
Многие из вас наверняка хотели бы сменить работу, но что-то всё время мешает: страшно, рискованно, дискомфортно. А ведь так правда бывает — сделал тестовое, прошел все секции, принял оффер, а потом вдруг понял, что все не то: коллеги душные, задачи грустные и кофе на кухне невкусный.
Все ребята из Финтеха через это когда-то проходили и теперь придумали совершенно новый формат: приглашают мобильных разработчиков к себе на пятничную офисную вечеринку — познакомиться и понять, хочется вам работать вместе или нет. Бургеры, плейстейшен, напитки и музыка – обычный вечер пятницы в офисе, где можно проникнуться атмосферой и понять, на одной ли вы волне.
Вечеринка будет в Москве, но если вы из другого города – ребята обещают организовать поездку. Все на полном серьезе — все подробности читайте здесь.
Лонгрид с подробной критикой книги Clean Code Роберта Мартина. Автор по фактам разносит большую часть глав, утверждая, что книга не просто устарела, но и с самого начала была так себе. А как бонус – 110 комментариев с отличным срачем!
https://qntm.org/clean
https://qntm.org/clean
qntm.org
It's probably time to stop recommending Clean Code
It may not be possible for us to ever reach empirical definitions of "good code" or "clean code", which means that any one person's opinions about another person's opinions about "clean code" are necessarily highly subjective. I cannot review Robert C. Martin's…
Что вы думаете про книгу Clean Code?
Anonymous Poll
12%
Читал, книга 🔥
26%
Читал, скорее полезная
13%
Читал, отношусь нейтрально
2%
Читал, скорее вредная
1%
Читал, полная дичь
29%
Не читал
18%
Посмотреть результаты
Ловите серию постов про организацию архитектурной секции интервью мобильных разработчиков. Сохраните себе для подготовки к будущим собеседованиям или посмотрите, какие задачи сможете заюрать в свой процесс интервью.
1️⃣Общий фреймворк проведения
2️⃣Дополнительные штуки для разбора
3️⃣Кейс: загрузчик файлов
4️⃣Кейс: библиотека кеширования
5️⃣Кейс: загрузчик изображений
6️⃣Кейс: чат
7️⃣Типичные ошибки на интервью
1️⃣Общий фреймворк проведения
2️⃣Дополнительные штуки для разбора
3️⃣Кейс: загрузчик файлов
4️⃣Кейс: библиотека кеширования
5️⃣Кейс: загрузчик изображений
6️⃣Кейс: чат
7️⃣Типичные ошибки на интервью
Medium
A Simple Framework For Mobile System Design Interviews
The list of posts in this series:
В Gradle 7 появилась возможность использовать типобезопасный API на замену
Jake Wharton делится консольной командой, которая позволит вам мигрировать на новый синтаксис без долгого ручного рефакторинга.
https://twitter.com/jakewharton/status/1491116447703375873?s=21
project(“:some:path”).
Благодаря ему вы не рискуете забыть поменять все нужные пути при рефакторинге зависимостей и получаете автокомплишн.Jake Wharton делится консольной командой, которая позволит вам мигрировать на новый синтаксис без долгого ручного рефакторинга.
https://twitter.com/jakewharton/status/1491116447703375873?s=21
Twitter
Jake Wharton
Migrate to Gradle's type-safe project dependencies: find . -type f -name 'build.gradle*' -exec sed -i -e "/project(/s/-[a-z]/\U&/g" -e "/project(/s/:/./g" -e "/project(/s/-//g" -E -e "s/project\((path\. ?)?('|\")([^'\"]+)\2\)/projects\3/" {} \; (Mac needs…
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Podlodka Bot)
📹 Android Crew #7: Анимации в Jetpack Compose — всё то же самое, только проще?
Рассмотрим возможности инструмента на примерах различной сложности.
Поговорим об эффективности и расширении базовой функциональности.
🙌 Благодарности генеральному партнёру наших конференций — VK!
Рассмотрим возможности инструмента на примерах различной сложности.
Поговорим об эффективности и расширении базовой функциональности.
🙌 Благодарности генеральному партнёру наших конференций — VK!
Поверх Compose for Web выпустили первый полноценный веб-фреймворк, с помощью которого можно быстро собрать личный сайт или блог. Посмотрите, и, может быть, на выходных решите с ним поэкспериментировать!
https://bitspittle.dev/blog/2022/kotlinsite
https://bitspittle.dev/blog/2022/kotlinsite
bitspittle.dev
Kobweb: A Framework Built on Compose for Web - Bitspittle.dev
An intro to Kobweb, a Kotlin web framework I wrote and used to build this website.
📆В месяц в нашем канале появляется около 60 различных материалов. Читать их все сразу, думаю, мало у кого получается. Чтобы помочь вам нагнать пропущенное, раз в месяц я буду публиковать дайджесты самых интересных и заплюсованных материалов из канала. Ловите первый выпуск!
🏝Kotlin: язык, стандартная библиотека, мультиплатформа
Огромный материал про перфоманс и влияние на него языковых фичей Kotlin
Как писать скрипты на Kotlin со своими типами
Разбор Duration API
Пишем мультиплатформенные тесты
Веб-визард для создания мультиплатформенных проектов
💻Архитектура и код
Обзор сильных и слабых сторон новых архитектурных рекомендаций Google
Нет такого понятия как чистый код
Критика книги "Чистый код”
Подборка статей про организацию архитектурного интервью
Обзор решений для навигации в Compose
🛠Инструменты и библиотеки
Kotlin-first библиотека для работы с контактами
Роадмап разработки Jetpack Compose
Автоматический импакт-анализ для тестов
Любимые плагины для IDEA
Пишем GitHub Actions с Kotlin DSL
🤔Кстати, у меня есть еще один канал, на который стоит подписаться тем, кто хочет расти в управление командой – TechLead Good Reads. Держите несколько интересных материалов оттуда на закуску!
Доклад про то, что оценка сроков и дедлайны не нужны
Гайд по организации планирования
Decision log для решений в команде
Если дайджест вам понравился – ставьте ❤️, 👍 и 🔥. Благодаря этому я пойму, что собирал его не зря! А если у вас будут конкретные предложения по его улучшению – смело пишите в комментарии!
#digest
🏝Kotlin: язык, стандартная библиотека, мультиплатформа
Огромный материал про перфоманс и влияние на него языковых фичей Kotlin
Как писать скрипты на Kotlin со своими типами
Разбор Duration API
Пишем мультиплатформенные тесты
Веб-визард для создания мультиплатформенных проектов
💻Архитектура и код
Обзор сильных и слабых сторон новых архитектурных рекомендаций Google
Нет такого понятия как чистый код
Критика книги "Чистый код”
Подборка статей про организацию архитектурного интервью
Обзор решений для навигации в Compose
🛠Инструменты и библиотеки
Kotlin-first библиотека для работы с контактами
Роадмап разработки Jetpack Compose
Автоматический импакт-анализ для тестов
Любимые плагины для IDEA
Пишем GitHub Actions с Kotlin DSL
🤔Кстати, у меня есть еще один канал, на который стоит подписаться тем, кто хочет расти в управление командой – TechLead Good Reads. Держите несколько интересных материалов оттуда на закуску!
Доклад про то, что оценка сроков и дедлайны не нужны
Гайд по организации планирования
Decision log для решений в команде
Если дайджест вам понравился – ставьте ❤️, 👍 и 🔥. Благодаря этому я пойму, что собирал его не зря! А если у вас будут конкретные предложения по его улучшению – смело пишите в комментарии!
#digest
Medium
High performance with idiomatic Kotlin
Nothing is more likely to drive users away than a poorly performing app. So this is why we, as developers, should focus on performance.
Команда Kotlin запустила новое ежемесячное шоу про мультиплатформу – АТОМ. В первом выпуске обсуждается:
🎨Compose Multiplatform
🃏Изменения в мультиплатформенной экосистеме в последний год
💻Кишочки новой модели памяти и других фичей
📆Планы по выходу КММ в бету
https://youtube.com/watch?v=5eVBstHUCyE
🎨Compose Multiplatform
🃏Изменения в мультиплатформенной экосистеме в последний год
💻Кишочки новой модели памяти и других фичей
📆Планы по выходу КММ в бету
https://youtube.com/watch?v=5eVBstHUCyE
YouTube
Brand New Kotlin Multiplatform Podcast: ATOM
Hello Kotlin Multiplatform community and welcome to A Touch of Multiplatform (ATOM)!!! This is the brand new monthly podcast dedicated to Kotlin Multiplatform technology in production and produced for you by JetBrains and Touchlab.
In this first episode…
In this first episode…
Окей, сделаем это воскресенье мультиплатформенным! Интервью с разработчиками Compose Multiplatform – Колей Иготти и Игорем Деминым.
🔄 Архитектурные решения, использованные при мультиплатформизации фреймворка
🤔 Текущие решаемые задачи и ограничения
📆 Планы развития на будущее
Видео на YouTube
🔄 Архитектурные решения, использованные при мультиплатформизации фреймворка
🤔 Текущие решаемые задачи и ограничения
📆 Планы развития на будущее
Видео на YouTube
YouTube
Интервью: Все что хотели знать, но боялись спросить про Compose Multiplatform / И. Демин, Н. Иготти
Jetpack Compose стремительно набирает популярность по всему миру среди Android разработчиков. Однако Compose - это не только Android библиотека, это фундаментально новый подход к организации и написанию UI для настольных приложений (Windows, Mac, Linux),…
Отличный пример использования появившихся в 1.6.20-М1 контекстных ресиверов для того, чтобы сделать DSL более чистыми.
А если вы хотите разобраться с контекстными ресиверами подробнее, почитайте текст соответствующего пропозала.
А если вы хотите разобраться с контекстными ресиверами подробнее, почитайте текст соответствующего пропозала.
timothyearley.github.io
DSL with new context receivers
Стоило только вспомнить на прошлой неделе про синтетики, как пришла новость от Google – они будут удалены из Kotlin этой осенью, вместе с выходом версии 1.8. Parcelize при этом остается жить, но как отдельный плагин.
Если вы все еще не перешли на View Binding, то вот гайд по миграции.
Если вы все еще не перешли на View Binding, то вот гайд по миграции.
Android Developers Blog
Discontinuing Kotlin synthetics for views
Posted by Márton Braun, Developer Relations Engineer
Обновились официальные гайды по тестированию:
🤔Раздел «Что тестировать»
👨❤️👨Раздел «Test Doubles»
📝Примеры локальных и инструментальных тестов
🛠Раздел «Инструменты тестирования»
📰Статья «Advanced test setup»
Про детали и причины обновления можно прочитать в блогпосте.
🤔Раздел «Что тестировать»
👨❤️👨Раздел «Test Doubles»
📝Примеры локальных и инструментальных тестов
🛠Раздел «Инструменты тестирования»
📰Статья «Advanced test setup»
Про детали и причины обновления можно прочитать в блогпосте.
Android Developers
Test apps on Android | Android Developers
Быстрая проверка на то, не включаете ли вы в релизные сборки какие-нибудь тестовые зависимости:
./gradlew :app:dependencies --configuration releaseRuntimeClasspath | grep -e test -e junit
Twitter
Alex Vanyo
Random sanity check for your Android projects: ./gradlew :app:dependencies --configuration releaseRuntimeClasspath | grep -e test -e junit If that outputs some test dependency, then that dependency is being included in your release build. You probably don't…
В kotlinx-coroutines недавно завезли новые возможности, которые упрощают тестирование кода с корутинами. В блогпосте разбираются два кейса:
- Написание теста для кода, который вызывает suspend функции
- Написание теста для кода, который запускает внутри себя новую корутину
- Написание теста для кода, который вызывает suspend функции
- Написание теста для кода, который запускает внутри себя новую корутину
craigrussell
Testing Android Coroutines using runTest
The latest tooling to help test Android Coroutines, provided as part of the kotlinx.coroutines test libraries, which aim to “provide utilities for efficiently testing coroutines”.
Branch by Abstraction – это техника разработки, позволяющая защититься от болезненного мерджа долгоживущих веток. Вместо того, чтобы вести рефакторинг в отдельной ветке в VCS, изменяемый кусок системы выделяется в закрытую интерфейсом абстракцию. Вы рефакторите его копию, и сохраняете оригинал до тех пор, пока работа не будет закончена.
Больше деталей и примеров – в статье.
Больше деталей и примеров – в статье.
Хабр
Как применять Branch by Abstraction в проекте на примере Android-разработки
Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете...
Интересный пример того, как на скорость выполнения кода влияет на каком типе вызывается функция
intersect.
Arkadiusz Chmura
Beware of the order of operands in some Kotlin Collection operations
The order of operands can drastically affect the performance of your code.
Всем привет.
Война – это ужасно, и того, что происходит, не должно происходить. Я считаю недопустимой войну, развязанную Россией, и безумными действия российского правительства.
Бояться в этой ситуации – абсолютно нормально, потому что никто не может представить, как дальше будут развиваться события. Но постарайтесь не давать страху перерастать в панику. Это – плохое состояние, в котором любые принятые решения будут, скорее всего, неверными.
Чтобы у вас была возможность отвлечься от новостных лент, я продолжу выкладывать в свои каналы технический контент. Кроме этого, я обязательно буду делиться ссылками, актуальными сейчас – новостями про работу важных для нас сервисов, советами по релокации. Если вы не захотите его читать – можете замьютить канал или отписаться от него.
Ребята из 🇺🇦, держитесь ❤️
Война – это ужасно, и того, что происходит, не должно происходить. Я считаю недопустимой войну, развязанную Россией, и безумными действия российского правительства.
Бояться в этой ситуации – абсолютно нормально, потому что никто не может представить, как дальше будут развиваться события. Но постарайтесь не давать страху перерастать в панику. Это – плохое состояние, в котором любые принятые решения будут, скорее всего, неверными.
Чтобы у вас была возможность отвлечься от новостных лент, я продолжу выкладывать в свои каналы технический контент. Кроме этого, я обязательно буду делиться ссылками, актуальными сейчас – новостями про работу важных для нас сервисов, советами по релокации. Если вы не захотите его читать – можете замьютить канал или отписаться от него.
Ребята из 🇺🇦, держитесь ❤️
Начался еще один цикл статей про structured concurrency. У этого, правда, довольно многообещающее начало – хорошо разбираются исходные проблемы, а базовые концепции объясняются на понятных схемах.
Thedevtavern
Structured concurrency explained - Part 1: Introduction
This post explains structured concurrency in an intuitive way and shows how it simplifies concurrent programs in practice!