Kotlin мощно обновился до версии 2.1.20. Собрали главное:
1. Улучшения компилятора K2
Теперь в Kotlin используется новый компилятор K2. Он быстрее и эффективнее. Если при работе с ним возникнут проблемы, можно временно вернуть старый компилятор, добавив в файл gradle.properties строку:
Также появилась поддержка аннотации @SuperBuilder из библиотеки Lombok. Она упрощает создание объектов, особенно если есть наследование классов.
2. Kotlin Multiplatform (KMP): новый способ настройки приложений
В этой версии появился новый способ настройки приложений для разных платформ. Теперь вместо плагина Application в Gradle используется блок executable {}. Он помогает настраивать задачи и распределение для JVM-целей. Пример использования можно найти в официальной документации.
3. Kotlin/Native: новые оптимизации
Добавлены новые оптимизации, которые делают программы быстрее. Чтобы их включить, нужно добавить в настройки компилятора опцию:
Рекомендуется значение 40, но можно экспериментировать.
4. Kotlin/Wasm: улучшенная отладка
Теперь отлаживать приложения на Kotlin для WebAssembly стало проще. Добавлена поддержка формата DWARF, который позволяет пошагово выполнять код и смотреть значения переменных. Чтобы включить эту функцию, используйте опцию компилятора:
5. Поддержка Gradle
Kotlin 2.1.20 полностью совместим с Gradle версий от 7.6.3 до 8.11. Если после обновления возникнут проблемы со сборкой, можно добавить в файл gradle.properties строку:
6. Новые функции стандартной библиотеки
Атомарные типы: Появились общие атомарные типы в пакете kotlin.concurrent.atomics. Они экспериментальные, поэтому для их использования нужно добавить аннотацию:
• UUID: Теперь объекты UUID можно сравнивать и сортировать напрямую.
• Время: Интерфейс kotlinx.datetime.Clock теперь доступен как kotlin.time.Clock, а kotlinx.datetime.Instant — как kotlin.time.Instant.
7. Compose: улучшения
• Аргументы по умолчанию в открытых функциях с аннотацией @Composable теперь работают корректно.
• Удалены ComposableSingletons из публичного API, чтобы избежать утечек в inline-функциях.
• Включена функция, которая добавляет информацию о месте, где был сгенерирован Compose-код.
Фул доки и сведения об обновлении — тут.
1. Улучшения компилятора K2
Теперь в Kotlin используется новый компилятор K2. Он быстрее и эффективнее. Если при работе с ним возникнут проблемы, можно временно вернуть старый компилятор, добавив в файл gradle.properties строку:
kapt.use.k2=false
Также появилась поддержка аннотации @SuperBuilder из библиотеки Lombok. Она упрощает создание объектов, особенно если есть наследование классов.
2. Kotlin Multiplatform (KMP): новый способ настройки приложений
В этой версии появился новый способ настройки приложений для разных платформ. Теперь вместо плагина Application в Gradle используется блок executable {}. Он помогает настраивать задачи и распределение для JVM-целей. Пример использования можно найти в официальной документации.
3. Kotlin/Native: новые оптимизации
Добавлены новые оптимизации, которые делают программы быстрее. Чтобы их включить, нужно добавить в настройки компилятора опцию:
-Xbinary=preCodegenInlineThreshold=40
Рекомендуется значение 40, но можно экспериментировать.
4. Kotlin/Wasm: улучшенная отладка
Теперь отлаживать приложения на Kotlin для WebAssembly стало проще. Добавлена поддержка формата DWARF, который позволяет пошагово выполнять код и смотреть значения переменных. Чтобы включить эту функцию, используйте опцию компилятора:
-Xwasm-generate-dwarf
5. Поддержка Gradle
Kotlin 2.1.20 полностью совместим с Gradle версий от 7.6.3 до 8.11. Если после обновления возникнут проблемы со сборкой, можно добавить в файл gradle.properties строку:
kotlin.kmp.isolated-projects.support=disable
6. Новые функции стандартной библиотеки
Атомарные типы: Появились общие атомарные типы в пакете kotlin.concurrent.atomics. Они экспериментальные, поэтому для их использования нужно добавить аннотацию:
@OptIn(ExperimentalAtomicApi::class)
• UUID: Теперь объекты UUID можно сравнивать и сортировать напрямую.
• Время: Интерфейс kotlinx.datetime.Clock теперь доступен как kotlin.time.Clock, а kotlinx.datetime.Instant — как kotlin.time.Instant.
7. Compose: улучшения
• Аргументы по умолчанию в открытых функциях с аннотацией @Composable теперь работают корректно.
• Удалены ComposableSingletons из публичного API, чтобы избежать утечек в inline-функциях.
• Включена функция, которая добавляет информацию о месте, где был сгенерирован Compose-код.
Фул доки и сведения об обновлении — тут.
👍17⚡3❤2🥱2👎1🔥1💋1
Еще одна огромная база UI- компонентов с открытым кодом.
Зацените, что внутри:
• Множество интерактивных графиков, календарей, счетчиков и чатов, которые можно СРАЗУ внедрить в личные и рабочие проекты.
• НИКАКИХ проблем с версткой — каждый элемент отлично интегрируется с любой библиотекой или фреймворком.
• БЕСПЛАТНО.
Мастхев для каждого разраба — тут.
Зацените, что внутри:
• Множество интерактивных графиков, календарей, счетчиков и чатов, которые можно СРАЗУ внедрить в личные и рабочие проекты.
• НИКАКИХ проблем с версткой — каждый элемент отлично интегрируется с любой библиотекой или фреймворком.
• БЕСПЛАТНО.
Мастхев для каждого разраба — тут.
👍15👎8😁5❤4😭2
This media is not supported in your browser
VIEW IN TELEGRAM
Учим алгоритмы без боли — интерактивный тренажер VisualGo поможет прокачаться в этой сложной теме. Он покажет алгоритмы В ДЕЙСТВИИ.
• Пояснения простые — поймет даже новичок.
• Есть все языки для мобильных разрабов, чтобы практиковаться и стать еще круче.
• Примеры только из реальных задач
• Бесплатно и без регистрации
Мастхев перед каждым собесом — тут.
• Пояснения простые — поймет даже новичок.
• Есть все языки для мобильных разрабов, чтобы практиковаться и стать еще круче.
• Примеры только из реальных задач
• Бесплатно и без регистрации
Мастхев перед каждым собесом — тут.
⚡16👍6❤3🥱2
This media is not supported in your browser
VIEW IN TELEGRAM
Тимлид, когда сделал всю работу за джуна.
😁50👍17🤝4🤣2🔥1
Уже бегу тестировать для мобильных приложений, попробую создать простенькую игрушку для начала. Го со мной тестить.
😁7❤2👍2
Forwarded from Нейроканал
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️Только что выкатили БЕСПЛАТНЫЙ аналог Cursor на базе DeepSeek V3. Его можно юзать прямо в браузере.
Что умеет:
• Пишет, редачит и оптимизирует ваш код.
• Создает веб-приложения практически любой сложности.
• Можно даже создавать сайты, игры и сразу хостить их — ассистент поможет запустить проект.
Бежим тестировать — сюда.
Делитесь в комментах, как попробуете. Интересны ваши впечатления.
Что умеет:
• Пишет, редачит и оптимизирует ваш код.
• Создает веб-приложения практически любой сложности.
• Можно даже создавать сайты, игры и сразу хостить их — ассистент поможет запустить проект.
Бежим тестировать — сюда.
Делитесь в комментах, как попробуете. Интересны ваши впечатления.
👍12👎6😁4❤2
Долгожданный Xcode 16.3 релизнулся — что нового:
Разрабы исправили баги:
• Clipboard Viewer снова включён в Additional Tools
• Проблема с LD_CLIENT_NAME и падением из-за debug dylib — устранена
• Debugger раньше грузил ненужные данные в переменных при паузе на фрейме — фикс
И внедрили новые фичи:
• Clang теперь сам расставляет
• Поддержка API Notes для C++ методов и вложенных классов
• Теперь по умолчанию используется C++14 с GNU расширениями.
Реализованы фичи C++26 / C++23 / C++20
C++26:
• = delete("reason")
• Pack Indexing
• constexpr-cast из void*
• Удалены устаревшие конверсии enum
• Ловушки вроде binding glvalue к temporary — теперь запрещены
• Поддержка атрибутов у structured bindings
• И много других [PXXXXRXX] улучшений
C++23:
• deducing this, новые правила для constexpr, lambda-return типов
• Явные методы и detection временных объектов
C++20:
• consteval
• NTTP на основе class type
Фул документация — тут.
Разрабы исправили баги:
• Clipboard Viewer снова включён в Additional Tools
• Проблема с LD_CLIENT_NAME и падением из-за debug dylib — устранена
• Debugger раньше грузил ненужные данные в переменных при паузе на фрейме — фикс
И внедрили новые фичи:
• Clang теперь сам расставляет
TARGET_OS_
макросы — отключается флагом -fno-define-target-os-macros
• Поддержка API Notes для C++ методов и вложенных классов
• Теперь по умолчанию используется C++14 с GNU расширениями.
Реализованы фичи C++26 / C++23 / C++20
C++26:
• = delete("reason")
• Pack Indexing
• constexpr-cast из void*
• Удалены устаревшие конверсии enum
• Ловушки вроде binding glvalue к temporary — теперь запрещены
• Поддержка атрибутов у structured bindings
• И много других [PXXXXRXX] улучшений
C++23:
• deducing this, новые правила для constexpr, lambda-return типов
• Явные методы и detection временных объектов
C++20:
• consteval
• NTTP на основе class type
Фул документация — тут.
🗿16👍5😁3👎1
Отличная БАЗА по кодингу на GitHub — нашел полную библиотеку знаний по множеству языков программирования, паттернам проектирования, разработке ПО, которая регулярно пополняется.
Кстати, там шикарные материалы по Java и Swift для мобилок. Также есть гайды по iOS и Android разработке в целом.
Вот краткий перечень других тем: инфобез, C++, C#, PHP, React, Swift, Unreal Engine, Python, DevOps, Docker — всего их 35.
Забирайте себе и просвещайтесь.
Кстати, там шикарные материалы по Java и Swift для мобилок. Также есть гайды по iOS и Android разработке в целом.
Вот краткий перечень других тем: инфобез, C++, C#, PHP, React, Swift, Unreal Engine, Python, DevOps, Docker — всего их 35.
• Хакинг
• Информационная безопасность
• Базы данных
• JavaScript
• React
• Vue
• Angular
• Node.js
• Typescript
• Java
• Go
• Ruby
• PHP
• Kotlin
• Rust
• Swift • iOS-разработка
• Android-разработка
• C
• C++
• C#
• Unreal Engine
• Unity
• Python
• Django
• Data Science
• TensorFlow
• Linux
• DevOps
• SysAdmins
• Nginx
• Kubernetes
• Docker
• Автоматизация сетевой инфраструктуры
• QA: awesome-testing
Забирайте себе и просвещайтесь.
⚡6👍3❤2
Самая полная шпаргалка по Docker — забираем имбу с GitHub и прокачиваемся в навыках.
Здесь есть ВСЕ: отладка, сборка образа, базовые команды и управление сетями.
На русском языке штудируем — тут.
Здесь есть ВСЕ: отладка, сборка образа, базовые команды и управление сетями.
На русском языке штудируем — тут.
👍14❤3🥰2
Классная тема от коллег, интересно узнать ваше мнение. Я бы зарулил на фриланс и тихоньку зарабатывал копеечку.
👍6❤4😁3
Forwarded from Нейроканал
Google DeepMind платит, чтобы... разрабы ничего не делали — и это не шутка!
По данным Business Insider, компания заключает с сотрудниками нейропроекта 12-месячные контракты. Все просто: нельзя устраиваться к конкурентам. А чем вы будете заниматься — дело хозяйское.
Некоторые инженеры признались: «оплаченная свобода» звучит красиво, но на деле — депрессия и деградация.
А что выбрали бы вы: год «официального чилла» или работу втихаря?
По данным Business Insider, компания заключает с сотрудниками нейропроекта 12-месячные контракты. Все просто: нельзя устраиваться к конкурентам. А чем вы будете заниматься — дело хозяйское.
Некоторые инженеры признались: «оплаченная свобода» звучит красиво, но на деле — депрессия и деградация.
А что выбрали бы вы: год «официального чилла» или работу втихаря?
👍24🔥5❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Google выкатила топовый генератор кода — Firebase создает любые приложения с нуля и даже помогает задеплоить их.
• Работает со всеми популярными языками прораммирования, включая Java, Rust и Swift, а также фреймворками и библиотеками.
• Основа — новейшая Gemini от Гугла, она пишет, редачит и оптимизирует код за вас.
• Можно работать с уже готовым проектом — сервис подскажет, как вести разработку дальше.
• Разрабы обещают завезти кучу ИИ-агентов для помощи разработчикам.
• БЕСПЛАТНО.
Тестируем — здесь.
• Работает со всеми популярными языками прораммирования, включая Java, Rust и Swift, а также фреймворками и библиотеками.
• Основа — новейшая Gemini от Гугла, она пишет, редачит и оптимизирует код за вас.
• Можно работать с уже готовым проектом — сервис подскажет, как вести разработку дальше.
• Разрабы обещают завезти кучу ИИ-агентов для помощи разработчикам.
• БЕСПЛАТНО.
Тестируем — здесь.
👍22😁11❤3❤🔥2
Нашел один из лучших репозиторией по Flutter, в котором собрана вся БАЗА для разработки. Авторы объединили обучающие материалы, шаблоны, фреймворки и опен-сорс решения в одном месте.
• Туториалы от новичка до профи — все разделено по уровням с подробным роадмапом по изучению тематик. Примеры кода привели для каждого тезиса теории.
• Видео, статьи и блоги, чтобы поддерживать актуальность своих знаний.
• Авторы приводят фреймворки Flutter, которые актуальны для разработки прямо сейчас и обозревают каждое обновление.
• Множество сопутствующих тем для мобильной разработки — вы сможете максимально расширить свой кругозор.
• Главное, БЕСПЛАТНО.
Гуру по Flutter становимся — тут.
• Туториалы от новичка до профи — все разделено по уровням с подробным роадмапом по изучению тематик. Примеры кода привели для каждого тезиса теории.
• Видео, статьи и блоги, чтобы поддерживать актуальность своих знаний.
• Авторы приводят фреймворки Flutter, которые актуальны для разработки прямо сейчас и обозревают каждое обновление.
• Множество сопутствующих тем для мобильной разработки — вы сможете максимально расширить свой кругозор.
• Главное, БЕСПЛАТНО.
Гуру по Flutter становимся — тут.
👍17👎5🔥3❤2😁2
Ультимативный чек-лист по тестированию мобильных приложений — обозначили самые мощные «болевые точки», чтобы вы сверялись с гайдом при разработке и не сливали свои проги из-за мелких ошибок.
• Функциональное тестирование — проверка всех кнопок, форм, логина
• Совместимость — чтобы на Xiaomi 2019 все шло, как на новом айфоне.
• Локализация — даты, валюты, язык — все по правилам.
• Интеррапты — что будет, если кто-то позвонит во время заказа пиццы.
• Производительность — не разрядится ли телефон из-за вашей кнопки «Оформить».
• Пользовательский опыт — чтобы юзер не снес приложение через минуту.
Главное, все делать ДО РЕЛИЗА. Потому что баги — это не просто неудобно. Это — минус в рейтинге, отвалившиеся пользователи и потерянные деньги
А вы тестируете свои разработки?
👍 — да, я же профи
😁 — и так сойдет
🔥 — убиваю баги прям на проде
• Функциональное тестирование — проверка всех кнопок, форм, логина
• Совместимость — чтобы на Xiaomi 2019 все шло, как на новом айфоне.
• Локализация — даты, валюты, язык — все по правилам.
• Интеррапты — что будет, если кто-то позвонит во время заказа пиццы.
• Производительность — не разрядится ли телефон из-за вашей кнопки «Оформить».
• Пользовательский опыт — чтобы юзер не снес приложение через минуту.
Главное, все делать ДО РЕЛИЗА. Потому что баги — это не просто неудобно. Это — минус в рейтинге, отвалившиеся пользователи и потерянные деньги
А вы тестируете свои разработки?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38👍17😁10🗿3
Джависты, аларм: тут проверяют, сможете ли вы построить систему, которая выдержит и конец света.
Типичный программист проводит квиз для разрабов, чтобы проверить их знания и навыки:
• Выбирай фреймворки.
• Принимай архитектурные решения.
• Проверь, насколько твоя система устойчива.
Показываем свои знания — тут.
Типичный программист проводит квиз для разрабов, чтобы проверить их знания и навыки:
• Выбирай фреймворки.
• Принимай архитектурные решения.
• Проверь, насколько твоя система устойчива.
Показываем свои знания — тут.
🥱15👍4🤨4
Товарищи разрабы, подаемся на вакансию мечты уже в этом году. Ловите крутые лайфхаки от коллег.
Пишите, кто затестит, делитесь своими резюме в комментариях.
Пишите, кто затестит, делитесь своими резюме в комментариях.
😁6👍4❤3