SourceCraft встроили ИИ-агент в платформу
Недавно я был на Big Tech Night и слушал доклад о том, как ИИ становится частью инструментов разработчика. Прогнозы прогнозами, а вот и первый в России пример, когда ИИ — не просто помощник, а полноценный агент внутри целой платформы. 🚀
Яндекс анонсировал релиз обновленной SourceCraft. И это не просто «еще одна фича». Теперь это первая платформа в России, где ИИ-агент встроен в весь цикл создания ПО — от проработки идеи до деплоя в продакшен.
Что это меняет на практике?
Представьте, что у вас есть задача. Вместо того чтобы самому копаться в репозиториях, писать код, тестировать и настраивать деплой, вы можете дать задание ИИ-агенту. Он сам:
⏺️ Создаст репозиторий.
⏺️ Напишет код.
⏺️ Сгенерирует автотесты.
⏺️ Проверит безопасность.
⏺️ Подготовит пул-реквест.
⏺️ Проведет ревью
⏺️ Сделает публикацию/деплой
По сути, он берет на себя всю рутину. А вы выступаете в роли архитектора или тимлида, который контролирует процесс.
🔥 А если нужно поработать руками? Хорошо обновили Code Assistant. Он теперь умнее: не просто предлагает код, но и отслеживает, где используется функция, которую вы редактируете, и сразу предлагает готовые правки для всех этих мест. Появился режим Агента, а также возможность подключения внешние LLM моделей и MCP-серверов (пока только в VSCode)
☄️ Что еще крутого в обновлении?
👉 Облако и CI/CD без боли: Платформа полностью заточена под облако. Настройка доступа к сервисам в CI/CD происходит автоматически, без возни с ключами.
👉 Безопасность с первого шага: Система сразу сканирует код на предмет «утечек» — паролей, API-ключей — еще до того, как они попадут в коммит.
👉 Поддержка GitHub Actions: Переносите проекты на SourceCraft, и ваши workflow автоматически преобразуются в формат платформы.
Разработка меняется на основе ИИ, как и инструменты для работы с кодом, это нужно принимать, адаптировать и применять, чтобы становиться продуктивным, а значит востребованным.
❗️ Попробуйте обновленный набор ИИ инструментов от SourceCraft в своих задачах и делитесь впечатлениями в комментариях
#ai #яндекс
Недавно я был на Big Tech Night и слушал доклад о том, как ИИ становится частью инструментов разработчика. Прогнозы прогнозами, а вот и первый в России пример, когда ИИ — не просто помощник, а полноценный агент внутри целой платформы. 🚀
Яндекс анонсировал релиз обновленной SourceCraft. И это не просто «еще одна фича». Теперь это первая платформа в России, где ИИ-агент встроен в весь цикл создания ПО — от проработки идеи до деплоя в продакшен.
Что это меняет на практике?
Представьте, что у вас есть задача. Вместо того чтобы самому копаться в репозиториях, писать код, тестировать и настраивать деплой, вы можете дать задание ИИ-агенту. Он сам:
По сути, он берет на себя всю рутину. А вы выступаете в роли архитектора или тимлида, который контролирует процесс.
👉 Облако и CI/CD без боли: Платформа полностью заточена под облако. Настройка доступа к сервисам в CI/CD происходит автоматически, без возни с ключами.
👉 Безопасность с первого шага: Система сразу сканирует код на предмет «утечек» — паролей, API-ключей — еще до того, как они попадут в коммит.
👉 Поддержка GitHub Actions: Переносите проекты на SourceCraft, и ваши workflow автоматически преобразуются в формат платформы.
Разработка меняется на основе ИИ, как и инструменты для работы с кодом, это нужно принимать, адаптировать и применять, чтобы становиться продуктивным, а значит востребованным.
#ai #яндекс
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔9👍8❤3🔥3
enum class UserRole { ADMIN, MEMBER, GUEST }
fun getPermissionLevel(role: UserRole): Int {
// Проверяем один кейс из Enum до работы с when
if (role == UserRole.ADMIN) return 99
return when (role) {
UserRole.MEMBER -> 10
UserRole.GUEST -> 1
// С Kotlin 2.2.20 не надо добавлять else,
// так как кейс уже был проверен выше
// else -> throw IllegalStateException()
}
}
Фича экспериментальная и требует включения через опции
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍67🔥26🤔16❤1
Разработчик демонстрирует как из KMP кода вызывать API из macOS на примере реализации синхронизации данных через iCloud. Всё сводится к тому,
#kotlin #macos
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤯6❤3
Также обновили панель "Koin Конфигурация", чтобы проще отыскать ошибки в настройке. Также стала проще навигация и появилась группировка по модулям.
🛠 Конечно же, внесли улучшения в скорость работы и исправили баги.
#kotlin #koin #di
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25🤔7👍2🤯1
💡 Знаете ли вы, что Kotlin Multiplatform позволяет использовать до 70% 99% общего кода между Android и iOS?
Это значит — быстрее выпускать продукт, меньше багов и проще поддерживать проект.
📘 Книга «Kotlin Multiplatform на практике» Анны Жарковой — именно тот гид, который проведёт вас от первых шагов до уверенной разработки полнофункциональных кросс-платформенных приложений.
Здесь собраны реальные примеры, архитектурные решения, приёмы работы с общим и нативным кодом, многопоточностью, сетью, хранением данных и Compose Multiplatform для iOS.
🔥 Вы научитесь мигрировать нативные проекты, тестировать с Kotest, ускорять разработку с KSP и ИИ-ассистентами, а также создавать и публиковать собственные KMP-библиотеки. В книге есть и краткий справочник по Kotlin и Swift — чтобы уверенно чувствовать себя в обеих экосистемах.
🎯 Для Android- и iOS-разработчиков, которые хотят выйти на новый уровень.
👉 По промокоду
#реклама
Это значит — быстрее выпускать продукт, меньше багов и проще поддерживать проект.
📘 Книга «Kotlin Multiplatform на практике» Анны Жарковой — именно тот гид, который проведёт вас от первых шагов до уверенной разработки полнофункциональных кросс-платформенных приложений.
Здесь собраны реальные примеры, архитектурные решения, приёмы работы с общим и нативным кодом, многопоточностью, сетью, хранением данных и Compose Multiplatform для iOS.
🎯 Для Android- и iOS-разработчиков, которые хотят выйти на новый уровень.
👉 По промокоду
broadcast
— скидка 5%#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥50🤔16👍6
Иногда в проектах встречаю код:
class Sample(
val value1: Type1?,
val value2: Type2?,
) {
init {
require(
(value1 != null && value2 != null) ||
(value1 == null && value2 == null)
}
}
Минус такого подхода - проверка сработает только в рантайме, а на уровне написания кода легко допустить ошибку и лучше избежать ошибки.
class Sample private constructor(
val value1: Type1?,
val value2: Type2?,
) {
constructor(value1: Type1, value2: Type2): this(value1 as Type1?, value2 as Type2?)
constructor(): this(value1 = null, value2 = null)
}
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤4🤔3
🚀 Яндекс открыл регистрацию на Yandex Cup — чемпионат по программированию с финалом в Стамбуле и призовым фондом 12 млн ₽!
📱 Направление «Мобильная разработка» ждёт iOS- и Android-разработчиков. Будет 5 призовых мест:
🥇 500 000 ₽
🥈 400 000 ₽
🥉 300 000 ₽
🏅 200 000 ₽
🏅 100 000 ₽
📅 Важно:
⏺️ 20–29 октября — пробный тур (знакомство с задачами)
⏺️ 2 ноября — квалификация (отбор 180 финалистов)
⏺️ 5–7 декабря — офлайн-финал в Стамбуле 🎉
👨💻 Финалисты получат шанс пройти собеседование в Яндекс по упрощённой схеме.
Для специалистов — это возможность посоревноваться с лучшими программистами со всего мира и проверить свои навыки мобильной разработки.
🔗 Регистрируйтесь до 29 октября
Успейте заявить о себе! 💡
📱 Направление «Мобильная разработка» ждёт iOS- и Android-разработчиков. Будет 5 призовых мест:
🥇 500 000 ₽
🥈 400 000 ₽
🥉 300 000 ₽
🏅 200 000 ₽
🏅 100 000 ₽
📅 Важно:
👨💻 Финалисты получат шанс пройти собеседование в Яндекс по упрощённой схеме.
Для специалистов — это возможность посоревноваться с лучшими программистами со всего мира и проверить свои навыки мобильной разработки.
🔗 Регистрируйтесь до 29 октября
Успейте заявить о себе! 💡
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤯4🔥2❤1
❗️ Все новые функции пока экспериментальные — их использование требует аннотаций или специальных флагов компилятора.
val Any.isHelloString: Boolean
get() {
contract { returns(true) implies (this@isHelloString is String) }
return "hello" == this
}
fun decode(encoded: String?): String? {
contract { (encoded != null) implies (returnsNotNull()) }
if (encoded == null) return null
return java.net.URLDecoder.decode(encoded, "UTF-8")
}
Документация
fun <T> T.alsoIf(
condition: Boolean,
block: (T) -> Unit,
): T {
contract {
// Объявляет, что лямбда будет вызвана не более одного раза
callsInPlace(block, InvocationKind.AT_MOST_ONCE)
// Объявляет, что условие считается истинным внутри лямбды
condition holdsIn block
}
if (condition) block(this)
return this
}
fun <T, F : Failure> Result<T, F>.isHttpError(): Boolean {
contract {
returns(true) implies (this@isHttpError is Result.Failed<Failure.HttpError>)
}
return this is Result.Failed && this.failure is Failure.HttpError
}
✨ Зачем это нужно
Контракты помогают компилятору и IDE лучше понимать поведение функций и условий в коде. Это значит: меньше лишних !!, меньше кастов типов, больше подсказок от IDE и меньше багов на рантайме. По сути, вы даёте компилятору «дополнительные знания», и он становится умнее при анализе вашего кода.
#kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🔥9
Forwarded from Android Broadcast
🔥 Вышел JUnit 6 с поддержкой Kotlin
Прошло более 8 лет с релиза JUnit 5 (10 сентября 2017 года) и вот новая мажорная версия популярного фреймворка для написания Unit тестов в Java
Ключевые изменения в новой версии:
👉 Поддержка Java 17 и Kotlin 2.2+
👉 Переход на аннотации JSpecify
🏝 Поддержка корутин из Kotlin
👉 Поддержка Java Flight Recorder (JFR) из коробки
👉 Поддержка отмены выполнения теста
👉 Удалено deprecated API
👉
#тестирование #kotlin
Прошло более 8 лет с релиза JUnit 5 (10 сентября 2017 года) и вот новая мажорная версия популярного фреймворка для написания Unit тестов в Java
Ключевые изменения в новой версии:
👉 Поддержка Java 17 и Kotlin 2.2+
👉 Переход на аннотации JSpecify
👉 Поддержка Java Flight Recorder (JFR) из коробки
👉 Поддержка отмены выполнения теста
👉 Удалено deprecated API
👉
--fail-fast
режим для запуска тестов из терминала#тестирование #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👍7
Используете Amper от JetBrains ?
Anonymous Poll
60%
Что это?
31%
Не использую
1%
Использую
2%
Попробовал(а). Не зашло
1%
Другой вариант
4%
Не участвую
👍5
#kotlin #kmp #xcode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🎉6👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥8👍4🤔2
🎉 Вышел Koin Annotations 2.2 - привычный DI с кодогенраций на базе Koin с проверкой графа во время компиляции кода
Основные изменения:
💉 Совместимость с JSR-330 - набор API для работы с DI в java (Dagger тоже поддерживает его). Переход между DI фреймворками с поддержкой JSR-330 станет проще. Например, с Dagger или Hilt 😁
💉 Популярные Scope прямо из коробки:
💉 Умная конфигурация: можно пометить модуль аннотацией
💉 Встроенный в фреймворк мониторинг скорости работы компонентов, используя интеграцию с Kotzilla Platform. Добавляете аннотацию @Monitor и автоматически расставятся все трейсинги вызовов методов
🚀 Улучшили скорость работы процессора кода, уменьшили расход памяти, сделали больше проверок при работе процессора. Вообщем поработали по всем направлениям для улучшения работы
Koin Annotations - это хорошая альтернатива тем, кто хочет уйти с Dagger или Hilt, либо нужна поддержка KMP, а переписывать весь код не хочется. С версией 2.2 становится только лучше и проще миграция. Но всё также от кодогенерации не уйти, а значит влияние на время сборки проекта.
#kotlin #koin #kmp #java
Основные изменения:
@ActivityScope
, @ActivityRetainedScope
, @FragmentScope
, @ViewModelScope
. Что-то еще больше пахнет Dagger Hilt@Configuration
, а объект помеченный @KoinApplication
найдет их при компиляции и включит в граф. Работает в многомодульных проектах@Module
@Configuration
class DatabaseModule {
@Singleton fun database() = ...
}
@KoinApplication
object ProductionApp
fun main() {
// Функция startKoin() сгенерируется
ProductionApp.startKoin()
}
@Monitor
@Single
class UserService(private val repository: UserRepository)
🚀 Улучшили скорость работы процессора кода, уменьшили расход памяти, сделали больше проверок при работе процессора. Вообщем поработали по всем направлениям для улучшения работы
Koin Annotations - это хорошая альтернатива тем, кто хочет уйти с Dagger или Hilt, либо нужна поддержка KMP, а переписывать весь код не хочется. С версией 2.2 становится только лучше и проще миграция. Но всё также от кодогенерации не уйти, а значит влияние на время сборки проекта.
#kotlin #koin #kmp #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🔥 Хотите, чтобы баги находились сами, а ваши тесты работали умнее?
Property-based тестирование в Kotlin — это подход, который выводит автотесты за пределы фиксированных сценариев. Вместо проверки “одного случая” вы получаете сотни автоматически сгенерированных данных и edge-кейсов, которые выявляют слабые места там, где обычные тесты молчат.
📌 На уроке разберём:
⏺️ быстрый старт с Kotest без лишней теории;
⏺️ генерацию сотен сценариев за секунды;
⏺️ стресс-тестирование UI на длинных строках и нестандартных вводах;
⏺️ проверку сетевого слоя и JSON-моделей.
💡 Результат: меньше неожиданных багов в продакшене, быстрее релизы, выше доверие к команде и продукту.
👉 Подробности и регистрация — по ссылке!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Property-based тестирование в Kotlin — это подход, который выводит автотесты за пределы фиксированных сценариев. Вместо проверки “одного случая” вы получаете сотни автоматически сгенерированных данных и edge-кейсов, которые выявляют слабые места там, где обычные тесты молчат.
📌 На уроке разберём:
💡 Результат: меньше неожиданных багов в продакшене, быстрее релизы, выше доверие к команде и продукту.
👉 Подробности и регистрация — по ссылке!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1