Kotlin Developer
6.22K subscribers
255 photos
8 videos
350 links
Самый топовый канал по Kotlin

По вопросам сотрудничества и рекламы: @NadikaKir

Мы на бирже: https://telega.in/c/KotlinSenior
Download Telegram
Почему нельзя все функции сделать inline?

Технически, можно попробовать сделать все функции inline. Однако, это может привести к ряду негативных последствий:

1. Увеличение размера скомпилированного кода

Поскольку inline-функции заменяются на их вызовы во время компиляции, это может привести к увеличению размера скомпилированного кода, особенно если функции содержат большой объем кода.

2. Увеличение времени компиляции

inline-функции могут увеличить время компиляции проекта, так как компилятору нужно заменить каждый вызов функции на ее код.

3. Увеличение расхода памяти

Если функции являются часто используемыми и содержат большой объем кода, использование inline-функций может привести к увеличению расхода памяти.

4. Ограничения на использование лямбда-выражений

Применение inline-функций может ограничить возможности использования лямбда-выражений. Например, в inline-функциях нельзя использовать функции, которые не могут быть inlined, такие как protected-функции или функции из других модулей.

5. Ограничения на использование рекурсии

Использование inline-функций может ограничить возможность использования рекурсии, так как замена рекурсивного вызова функции на ее код может привести к бесконечной рекурсии или переполнению стека.

ВЫВОД: если все функции сделать inline, это может привести к экспоненциальному росту размера кода и увеличению времени компиляции. Поэтому необходимо выбирать оптимальную стратегию для каждой конкретной функции в зависимости от ее предполагаемого использования.
This media is not supported in your browser
VIEW IN TELEGRAM
В октябре пройдёт Mobile Team Fest — три недели митапов, встреч и вебинаров про мобильную разработку в Яндексе

20 октября
ребята из Go, Карт, Рекламы, Маркета, Путешествий, Авто.ру и Недвижимости расскажут про технологии под капотом, свои проекты, задачи и карьерные возможности в Яндексе.

Также будут онлайн и офлайн митапы с техническими докладами.

24 октября офлайн участников митапа помимо докладов ждёт экскурсия по офису в Москва-Сити и нетворкинг.

19 и 25 октября опытные инженеры Яндекса проведут в прямом эфире секции с кодом для iOS и Android-разработчиков в прямых эфирах на каналах Кирилла Розова и Mobile Developer.

В финале будет возможность получить офер в Яндекса за несколько дней в команду, которая понравилась больше всего.

Подробности и регистрация.

Реклама. ООО "Яндекс". erid: 2Vtzqv73Aix
Философия Compose

Всем привет! Недавно я начала изучать Jetpack Compose. Всё, что я изучаю по иностранным гайдам, я обычно перевожу, чтобы при повторном прочтении, мозг снова не тратил время на перевод. Мне кажется, этот фреймворк становится всё более популярен, поэтому хочу поделиться своим переводом Thinking in Compose с другими начинающими :)

Jetpack Compose — это современный декларативный UI Toolkit для Android, упрощающий написание и поддержку UI (пользовательского интерфейса) вашего приложения, и в этом гайде рассказывается за счёт чего это достигается.

Читать статью
⚡️В OTUS продолжается набор в группу курса "Kotlin Backend Developer Professional".

Старт занятий 25.10.2023 г.

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

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

За время обучения преподаватели на вебинарах в качестве примера разработают проект маркетплейса от идеи и постановки задачи до конечного решения.

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

🔥ПРОЙТИ ТЕСТ и получить бонус https://otus.pw/uzLy/

При поступлении в группу возможны разные способы оплаты и рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Реализация экранов авторизации и регистрации с помощью Custom View и Firebase

Каждый из нас сталкивается с авторизацией и регистрацией в приложениях как пользователь и как разработчик. Но перед разработчиком стоит более важная задача, а именно реализовать View таким образом, чтобы данные, которые введет пользователь, были корректно обработаны и переданы на сервер, что если пользователь введет вместо своего email просто набор символов, или напишет пароль из одной цифры? В нормальных приложениях это недопустимо! В этой статье я хочу продемонстрировать демо приложение, где будет представлен способ обработки данных полей с использованием Custom View и авторизацией в firebase.

Читать статью
⚡️В OTUS продолжается набор в группу курса "Kotlin Backend Developer Professional".

Старт занятий 25.10.2023 г.

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

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

За время обучения преподаватели на вебинарах в качестве примера разработают проект маркетплейса от идеи и постановки задачи до конечного решения.

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

🔥ПРОЙТИ ТЕСТ и получить бонус https://otus.pw/uzLy/

При поступлении в группу возможны разные способы оплаты и рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Что такое sealed класс?

Это abstract класс, который имеет ограниченную иерархию наследования. Не объявляется с ключевым словом inner. В качестве наследников могут быть:
– Object который не имеет конструктора;
– Class который может иметь конструктор с параметрами.

Преимущества перед Enum:
– Может иметь несколько экземпляров классов, enum работает подобно Singleton
– Классы наследники могут иметь разные конструкторы с различным количеством аргументов;
– При использовании when, все подклассы, которые не были проверены в конструкции, будут подсвечены IDE.
Всем, привет, мы исследовательское агентство SmartMinds и сейчас проводим опрос среди IT специалистов. Что хотим узнать: что важно при выборе работодателя, какие каналы являются эффективными при поиске работы и ходите ли вы на мероприятия для IT. Опрос анонимный, займет не более 3-х минут и мы будем благодарны всем, кто примет участие ❤️

Пройти опрос
Моя любимая функция Kotlin

За последние несколько лет я видел много дискуссий о функциях Kotlin. Среди обсуждаемых тем обнуляемость всегда в первых рядах. Мне она нравится, но это определенно не моя любимая функция.

Больше всего в Kotlin мне нравятся некоторые мелкие особенности, благодаря которым язык становится очень элегантным. Например, смарт-кастинг (контракты), приостановка, функции приемника/расширения и делегирование.

Но на данный момент моей любимой особенностью является сочетание функций inline и suspend.

Читать статью
Kotlin Multiplatform перешёл в stable. Что это значит?

1 ноября состоялся релиз Kotlin 1.9.20, beta компилятора k2.

Но для нас интереснее глобальное изменение статуса KMP. Мы используем эту технологию в мобильной разработке и написали про неё несколько статей.

В статье подробнее рассмотрим, что изменилось в технологии с переходом в релиз.


Читать статью
Как Android-разработчику повысить квалификацию?

Прийти на практический бесплатный урок «Делаем простейшую имплементацию SDUI» от OTUS и Абакара Магомедова – Android-разработчика в «Альфа-банк».

На вебинаре разберем:
- в чем заключается Server Drvien UI подход;
- его плюсы и минусы;
- что нужно, чтобы реализовать простейшую его реализацию.

Занятие пройдёт 30 ноября в 20:00 мск и будет приурочено к старту курса «Android Developer. Professional». Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени. После урока вы сможете стать студентом курса в рассрочку.

Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://otus.pw/Cdg7/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Самодостаточный системный подход с применением мультиплатформенного Kotlin

Готов ли мультиплатформенный Kotlin для создания полностековых (веб-)сервисов? Как такая разработка воспринимается с точки зрения тех, кто уже имеет опыт работы с Kotlin? Поделюсь моим опытом по созданию веб-UI для JVM-микросервиса при помощи Kotlin Multiplatform.

Читать статью
This media is not supported in your browser
VIEW IN TELEGRAM
О чём расскажут эксперты по разработке и эксплуатации на YaTalks 2023

Делимся некоторыми темами ↓

«Интеграция Delivery Club и Яндекс Еды» — как объединяли приложения и сотрудников разных команд, как укладывались в сроки и какие уроки извлекли из этого опыта.
Никита Илясов, СТО, Яндекс Еда и Маркет Деливери

«Искусство бенчмаркинга и оптимизации распределённых баз данных на примере YDB» — как бенчмарки и оптимизация помогают работать с серверами, на которых лежат петабайты данных.
Евгений Иванов, старший разработчик программного обеспечения, Yandex Infrastructure

«Ускоритель в масштабе планеты: как инженеры управляют временем» — доклад о технологиях, которые увеличили скорость целых городов и стран, и о том, что происходит уже сейчас и ждёт нас в будущем.
Алексей Гусаков, технический директор, Яндекс Поиск

Эти и другие доклады можно послушать 5 декабря. Офлайн — в Москве и Белграде, онлайн — из любой точки мира. Если придёте лично, сможете поучаствовать в нетворкинге, полайвкодить с коллегами и посоветоваться с HR Яндекса, как написать резюме.

Всё бесплатно, регистрируйтесь ↓

Зарегистрироваться

Реклама. ООО "Яндекс". erid:2VtzqxQAFsM
KMongo и неструктурированные данные

Несмотря на то, что MongoDB начало движение в сторону строгости реляционной модели, она по прежнему остается документной БД и предполагает возможность сохранения документов произвольной структуры. И при использовании MongoDB в языках с динамической типизацией (JavaScript, Python) сохранение или генерация объектов не вызывает сложностей, поскольку заранее не требуется определить структуру извлекаемого или сохраняемого объекта. Но как действовать в случае использования драйверов для MongoDB для языков со строгой типизацией?

В этой статье мы разберем приемы для работы с неструктурированными данными, которые позволят сохранить преимущества использования сериализации с механизмами рефлексии для извлечения произвольных документов.

Читать статью
🌟 Открываем двери в мир Scala-разработки! 🚀

Присоединяйтесь к бесплатному онлайн-занятию «Применение механизма implicits в Scala» от OTUS: регистрация

В рамках вебинара:
— Познакомимся с историей возникновения и мотивацией за разными компонентами данного механизма.
— Разберем возможности и опасности которые таят в себе implicit преобразования
— Узнаем, как использовать и для чего служат implicit параметры
— Рассмотрим правила, по которым Scala ищет подходящего implicit кандидата и какие требования к нему предъявляются.

Вебинар подойдет тем, кто имеет первичный опыт работы со Scala и хочет разобраться, как работает механизм implicit.

💼 По завершении урока вы сможете оформить полный курс в беспроцентную рассрочку.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Модификатор open в Kotlin — где используется и что даёт?

По умолчанию класс всегда наследуется от Any (аналог Object в Java) и является закрытым (final) (в Java по умолчанию открыты). В этом случае нельзя наследоваться от него. Но мы можем наследоваться от другого конкретного класса, который явно объявлен как open или abstract.Также добавьте модификатор open ко всем свойствам и методам, которые можно переопределять.
🦾 Стань крутым Android-разработчиком вместе с OTUS

У нас есть отличный курс с крутыми условиями и рассрочкой, но сначала пройди небольшой тест и проверь достаточно ли у тебя знаний для обучения на курсе.

👉 Пройти тест

➡️ Что ждёт тебя в рамках курса 👩‍💻:

• Глубокое погружение в промышленную Android-разработку
• Весь курс построен на языке Kotlin
• Много практики и живого общения с преподавателями
• Глубокое изучение Gradle, Dagger 2, Kotlin coroutines, а также процесса тестирования Android-приложений
• Выстраивание инфраструктуры «с нуля»
• Проектирование архитектуры приложений
• Тестирование приложений
• Глубокий разбор Android SDK
• Использование современных библиотек и фреймворков

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Kotlin. Ключевые слова in и out. А так же что такое ковариантность и контрвариантность

В этой статье речь пойдет про вариантность параметризованных типов в Котлин.

Цель данной статьи дать первичное понимание работы ковариантности и контрвариантности в Котлин. Здесь будет рассмотрено использование ключевых слов in и out в параметризованных типах.

Читать статью
🔧В большинстве случаев Gradle используется в командах для довольно несложных задач и только для Kotlin-проектов, java. Между тем, он является очень мощным инструментом разработки для DevOps.

⚡️30 ноября в 19.00 (мск) приглашаем на открытый урок курса “Kotlin Backend Developer Professional” в OTUS

📌На уроке обсудим:

- как выполнять сборку проектов, содержащих компоненты на C/C++, Rust, Go и др. языках;

- как автоматически генерировать исходники с дальнейшей их компиляцией;

- извлекать файлы из репозиториев для дальнейшей обработки;

- разрабатывать кастомные плагины;

- гибко управлять версиями;

- собирать докер-образы.

👉Регистрация для участия https://otus.pw/yIs1/

После урока вы сможете продолжить обучение, поступив в группу курса по специальной цене. Возможны разные способы и рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Kotlin под капотом: нюансы использования аннотаций

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

Читать статью
🏙 Урбатон: Создавай будущее города на хакатоне Благотворительного фонда СКБ Контур

24-26 ноября участвуй в благотворительном Урбатоне — трехдневном хакатоне по созданию цифровых решений в развитии городской среды по направлениям:
🌇 Инфраструктура города
🎨 Культура
🌳 Экология и природа

На Урбатоне ты сможешь:
• решить актуальные городские проблемы от реальных бизнес-заказчиков;• побороться за призовой фонд в размере 500 000 рублей;
• прокачать скиллы и реализовать свой потенциал;
• принять участие в нетворкинге с единомышленниками и экспертами.

На хакатон приглашаются команды от 2 до 5 человек, состоящие из фронтенд-, бэкенд-, AR-, мобильных разработчиков, аналитиков, дизайнеров, дата-сайентистов, продакт- и проджект-менеджеров, QA-специалистов и урбанистов со всех регионов России и всех уровней навыков, приглашаются все!

👉 Регистрация открыта до 23 ноября. Подробности по ссылке: https://cnrlink.com/urbatonhacks

Реклама. БФ "СКБ КОНТУР". ИНН 6671145446.