fa
Feedback
Записки разработчицы

Записки разработчицы

رفتن به کانال در Telegram

Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных. Личный аккаунт @azharkova

نمایش بیشتر
2 357
مشترکین
+224 ساعت
+47 روز
-330 روز

در حال بارگیری داده...

جذب مشترکین
ژوئن '26
ژوئن '26
+9
در 0 کانال‌ها
مه '26
+29
در 0 کانال‌ها
Get PRO
آوریل '26
+30
در 0 کانال‌ها
Get PRO
مارس '26
+28
در 1 کانال‌ها
Get PRO
فوریه '26
+70
در 1 کانال‌ها
Get PRO
ژانویه '26
+141
در 0 کانال‌ها
Get PRO
دسامبر '25
+78
در 1 کانال‌ها
Get PRO
نوامبر '25
+163
در 1 کانال‌ها
Get PRO
اکتبر '25
+221
در 12 کانال‌ها
Get PRO
سپتامبر '25
+89
در 3 کانال‌ها
Get PRO
اوت '25
+21
در 0 کانال‌ها
Get PRO
ژوئیه '25
+49
در 1 کانال‌ها
Get PRO
ژوئن '25
+47
در 0 کانال‌ها
Get PRO
مه '25
+41
در 2 کانال‌ها
Get PRO
آوریل '25
+48
در 1 کانال‌ها
Get PRO
مارس '25
+26
در 0 کانال‌ها
Get PRO
فوریه '25
+35
در 0 کانال‌ها
Get PRO
ژانویه '25
+40
در 0 کانال‌ها
Get PRO
دسامبر '24
+40
در 0 کانال‌ها
Get PRO
نوامبر '24
+67
در 1 کانال‌ها
Get PRO
اکتبر '24
+67
در 0 کانال‌ها
Get PRO
سپتامبر '24
+93
در 0 کانال‌ها
Get PRO
اوت '24
+178
در 3 کانال‌ها
Get PRO
ژوئیه '24
+37
در 1 کانال‌ها
Get PRO
ژوئن '24
+58
در 4 کانال‌ها
Get PRO
مه '24
+117
در 5 کانال‌ها
Get PRO
آوریل '24
+22
در 0 کانال‌ها
Get PRO
مارس '24
+83
در 2 کانال‌ها
Get PRO
فوریه '24
+42
در 2 کانال‌ها
Get PRO
ژانویه '24
+74
در 1 کانال‌ها
Get PRO
دسامبر '23
+76
در 0 کانال‌ها
Get PRO
نوامبر '23
+44
در 2 کانال‌ها
Get PRO
اکتبر '23
+36
در 0 کانال‌ها
Get PRO
سپتامبر '23
+15
در 0 کانال‌ها
Get PRO
اوت '23
+26
در 0 کانال‌ها
Get PRO
ژوئیه '23
+18
در 0 کانال‌ها
Get PRO
ژوئن '23
+131
در 0 کانال‌ها
Get PRO
مه '23
+518
در 0 کانال‌ها
Get PRO
آوریل '23
+22
در 0 کانال‌ها
Get PRO
مارس '23
+41
در 0 کانال‌ها
Get PRO
فوریه '23
+57
در 0 کانال‌ها
Get PRO
ژانویه '23
+12
در 0 کانال‌ها
Get PRO
دسامبر '22
+18
در 0 کانال‌ها
Get PRO
نوامبر '22
+76
در 0 کانال‌ها
Get PRO
اکتبر '22
+18
در 0 کانال‌ها
Get PRO
سپتامبر '22
+47
در 0 کانال‌ها
Get PRO
اوت '22
+22
در 0 کانال‌ها
Get PRO
ژوئیه '22
+10
در 0 کانال‌ها
Get PRO
ژوئن '22
+35
در 0 کانال‌ها
Get PRO
مه '22
+19
در 0 کانال‌ها
Get PRO
آوریل '22
+109
در 0 کانال‌ها
Get PRO
مارس '22
+62
در 0 کانال‌ها
Get PRO
فوریه '22
+9
در 0 کانال‌ها
Get PRO
ژانویه '22
+24
در 0 کانال‌ها
Get PRO
دسامبر '21
+11
در 0 کانال‌ها
Get PRO
نوامبر '21
+19
در 0 کانال‌ها
Get PRO
اکتبر '21
+132
در 0 کانال‌ها
Get PRO
سپتامبر '21
+271
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
05 ژوئن+1
04 ژوئن+3
03 ژوئن+4
02 ژوئن0
01 ژوئن+1
پست‌های کانال
🏝 Вышел Kotlin 2.4.0 Stable 👉 Язык: стабильные контекстные параметры, явные backing-поля и несколько нововведений для use-s
🏝 Вышел Kotlin 2.4.0 Stable 👉 Язык: стабильные контекстные параметры, явные backing-поля и несколько нововведений для use-site таргетов аннотаций. 👉 Стандартная библиотека: стабилизация UUID API 👉 Kotlin/JVM: поддержка Java 26 и аннотации в метаданных включены по умолчанию. 👉 Kotlin/Native: поддержка SPM как зависимостей, обновления Swift export и CMS GC включён по умолчанию. 👉 Kotlin/Wasm: инкрементальная компиляция включена по умолчанию и поддержка WebAssembly Component Model. 👉 Совместимость с Gradle 9.5.0. 👉 Компилятор Kotlin: более согласованное поведение inline-функций при компиляции в .klib. 🔗 Полный список изменений #Kotlin #Kotlin240

2
Я закончила с одним очень жестким релизом, выступила на Квартирнике на Кодефесте и с докладом на Мобиус и готова вернуться к освещению IT и просвещению)
486
3
Хорошая картинка, кстати ) Очень наглядно про разницу между вайбкодингом и AI SDLC
Хорошая картинка, кстати ) Очень наглядно про разницу между вайбкодингом и AI SDLC
781
4
#видеозаписи #ТестоваяСреда Открываем новую видеозапись выступления: Александр Князев — Взлом AI-агентов: прикладная инструкция к уязвимостям LLM и тулов Доклад о популярных векторах атак на веб-приложения с AI-агентами. Спикер показал реальные примеры атак на API, которые могут привести к компрометации системы, раскрытию данных и выполнению нежелательных действий. 😉 YouTube | 📺 VK Видео Скачать презентацию с сайта Heisenbug
853
5
📚 Две новинки о System Design 👨‍💻 Серию пополнили книги от ведущих экспертов в области разработки и управления командами.
📚 Две новинки о System Design 👨‍💻 Серию пополнили книги от ведущих экспертов в области разработки и управления командами. Эти издания помогут кандидатам подготовиться к собеседованию и получить работу мечты. 📘 «System Design. Проектирование мобильных систем. Подготовка к сложному интервью» Собеседования по mobile system design больше не будут выглядеть как хаотичный стресс-тест. С этой книгой вы подготовитесь к интервью — системно и уверенно: от первых вопросов до финальной схемы решения. Автор предлагает универсальный алгоритм из пяти шагов и подробный разбор популярных задач. Вы научитесь продумывать клиентскую архитектуру, API, офлайн-режим, кэширование и масштабирование, а также разбираться в ключевых trade-off’ах, которые ждут от кандидатов в крупных IT-компаниях. ❤️ Сайт По промокоду sdi25 — скидка 25 % 😉 📘 «Object Oriented Design. Подготовка к сложному интервью» В книге представлена универсальная четырехэтапная методика проектирования, подробный разбор принципов SOLID и объектно-ориентированного подхода, а также десятки практических примеров — от систем управления парковкой и лифтами до банкоматов и кинотеатров. Каждая задача сопровождается UML-диаграммами, кодом, анализом edge cases и пояснением логики решений, чтобы вы могли уверенно пройти интервью любого уровня. ❤️ Оформить предзаказ 👉 Читайте отзывы экспертов на Хабре!
914
6
Еще новости. У издательства "Питер" вышла крутая книга по систем-дизайну с моей рецензией
745
7
А вот и новый выпуск OR: Flutter vs Native! Где Flutter действительно выигрывает у native, а где всё ещё уступает? Поговорили
А вот и новый выпуск OR: Flutter vs Native! Где Flutter действительно выигрывает у native, а где всё ещё уступает? Поговорили про производительность, плагины, безопасность, требования бизнеса и выбор технологий для fintech, AI-стартапов, ecommerce и enterprise-продуктов. Отличный выпуск, чтобы добавить аргументов для вечного холивара: https://youtu.be/-NrQ5hY7DTk
801
8
Любит ИИ меня переделывать, ну да ладно. Мы же провели крутой эфир на тему натива и кросс-платформы с Evrone)
787
9
🤖 Google анонсировала ADK for Android 0.1.0 вместе с ADK for Kotlin ADK (Agent Development Kit) - это open-source фреймворк для AI-агентов, и теперь у него есть Android-артефакт с поддержкой on-device моделей. Ключевая архитектурная идея: облачный оркестратор ведёт диалог с пользователем и координирует работу. Когда нужно обработать приватные данные - документы, брони, личные файлы - он делегирует subagent'у, который работает на устройстве через ML Kit GenAI и AICore. Данные за пределы устройства не уходят. В стек входят LLM-агенты, sequential agents, MCP tools, session state и long-term memory через Memory service, OpenTelemetry для наблюдаемости. Можно использовать три варианта моделей: 👉 ML Kit GenAI для on-device Gemini Nano 👉 Firebase AI Logic для облачного Gemini 👉 Google GenAI для быстрого прототипирования. ‼️ ВАЖНО: версия 0.1.0, статус "В активной разработке". Это очень ранний экспериментальный релиз, не для продакшна. Архитектурный паттерн с разделением на облачный оркестратор и on-device агент выглядит разумно - именно так я бы и хотел видеть подобный инструмент. Но внедрять в прод рано. 🔗 Источник Android Dev Blog #Android #AI #Gemini
912
10
Интересно, насколько это связано или различается от Koog
834
11
Многие из вас (надеюсь) задаются вопросом: "Аня, а вот Google I/O прошел, а где обзор на Хабре?" Все будет) Но в выходные 😎
1 352
12
‼️ Android View всё! Да здравствует Compose! Google официально объявила о переходе к стратегии «Compose-first» и прекращении
‼️ Android View всё! Да здравствует Compose! Google официально объявила о переходе к стратегии «Compose-first» и прекращении развития Android View, переводя его в режим поддержки. Что это значит: 👉 Классы android.widget.* в Android SDK будут находиться в режиме поддержки. 👉 Библиотеки Android Jetpack (включая RecyclerView) также переходят в режим поддержки. 👉 Все инструменты в Android Studio будут создаваться только для Compose. 👉 Документация будет писаться только для Compose, однако некоторые разделы про View останутся. 🔗 Источник - оф сайт Android Developers #Android #AndroidDev #Compose
1 071
13
С учетом того, что очень давно ничего нового и не выходило под View, особо ничего и не изменилось. View под капотом компоуза останутся
1 248
14
Присоединяемся к просмотру Google I/O: https://io.google/2026/ Прошлый год получился очень насыщенный по новинкам AI, так что Google надо постараться, чтобы нас удивить (хотя им достаточно разрешить свободное использование своих тулзов из РФ). Лично я жду, что же они покажут не иишного: новинки Android, KMP, Kotlin и Flutter https://www.youtube.com/watch?v=wYSncx9zLIU
1 325
15
🏝 JetBrains обновили дефолтную структуру KMP проектов. Теперь общий код живёт в shared модуле, а под каждую целевую платформ
🏝 JetBrains обновили дефолтную структуру KMP проектов. Теперь общий код живёт в shared модуле, а под каждую целевую платформу свой отдельный application модуль. Раньше всё было в одном composeApp, который одновременно был и KMP библиотекой, и приложением. Это создавало путаницу в build конфигах и платформенных настройках. iOS при этом уже жил в отдельной папке, и асимметрия торчала наружу. Главным триггером изменений стал Android Gradle Plugin 9, который больше не позволяет применять Android application plugin к multiplatform модулю. Entry point Android приложения теперь обязательно вынесен в отдельный модуль. Если в проекте есть нативный UI (например, SwiftUI для iOS), shared разбивается на два модуля: sharedLogic без Compose зависимостей и sharedUI только для платформ с Compose Multiplatform. Для проектов с серверной частью добавляется server модуль и core с общими моделями и валидацией для шаринга между клиентом и сервером. Я ещё до этого держал каждый application в отдельном модуле, так что для меня новая дефолтная структура лишь оформляет то что уже стало здравым смыслом. Раньше с одним shared было неприятно из-за того что Kotlin stdlib и зависимости тащились в каждый iOS framework. Несколько атомарных shared модулей решают эту проблему и позволяют точечнее управлять тем что попадает на каждую платформу. Очень рад что JetBrains двигаются в сторону более атомарных модулей, но пока есть вопросы не будет ли дублирования базовых Kotlin библиотека в каждый Xcode фреймворк. Новая структура уже доступна в KMP wizard на kmp.new и в IDE плагине. 🔗 Анонс 📹 Видео разбор от JetBrains #Kotlin #KMP #Gradle
972
16
Что ж, хорошо, что второе издание еще не ушло в печать
997
17
Становимся «сертифицированными вайб-кодерами»: у Microsoft появился официальный тест пл работе с ИИ-агентами. В рамках двухча
Становимся «сертифицированными вайб-кодерами»: у Microsoft появился официальный тест пл работе с ИИ-агентами. В рамках двухчасового тестирования вам предстоит продемонстрировать умение управлять агентами, их памятью и инструментами, а для подготовки к экзамену компания даже сделала отдельный сборник. К слову, стоит это удовольствие чуть меньше месячной подписки Pro на ChatGPT — $160. Пробуем свои силы тут.
1 099
18
🐥 Swift 6 краши при многопоточности Если вам кажется что Swift 6 strict concurrency - это просто больше compile-time проверо
🐥 Swift 6 краши при многопоточности Если вам кажется что Swift 6 strict concurrency - это просто больше compile-time проверок - это не так. Часть проблем ловится уже в runtime, причём иногда прямо в production. Даже если проект собирается без warnings, Swift может вставить dynamic isolation checks на границах акторов и GCD. И если код ожидал один execution context, а приехал в другой — приложение упадет 😥. Чаще всего в crash reports это выглядит так: _dispatch_assert_queue_fail _swift_task_checkIsolatedSwift Суть проблемы простая: closure или метод унаследовал actor isolation там, где был объявлен, а вызвали его потом из другого потока. Например, closure внутри @MainActor context может неявно стать main-actor-isolated. А потом вы передаёте её в context.perform у Core Data, который выполняет блок на своей private queue. Где это особенно легко поймать: 🟢Core Data context.perform из @MainActor-кода 🟢Combine pipeline, где operator выполняется до receive(on:) 🟢NotificationCenter publisher, если notification прилетает с background thread 🟢delegate callbacks от SDK, которые не обещают main thread 🟢MainActor.assumeIsolated, если вы на самом деле не на MainActor 🟢actor methods, где после await состояние уже могло измениться из-за reentrancy Практические правила: 🟢если Combine-operator должен работать на main — ставьте .receive(on: DispatchQueue.main) до него, а не после 🟢если closure не должен наследовать actor isolation — явно помечайте его @Sendable 🟢если delegate может прийти не с main thread — делайте метод nonisolated, а UI-работу отправляйте в Task { @MainActor in ... } 🟢не используйте MainActor.assumeIsolated как красивую замену await MainActor.run 🟢не рассчитывайте, что @MainActor на всём классе автоматически безопасен для всех callback’ов Swift 6 начал громко показывать то, что раньше было скрытой проблемой: 🟡closure наследует isolation от места объявления, а не от места выполнения 🟡receive(on:) не спасает код, который уже выполнился до него 🟡delegate от системного SDK не обязан приходить на main thread 🟡билд без ворнингов не гарантирует отсутствие рантайм крашей из-за многопоточности 🟡после await внутри actor нельзя слепо доверять старому состоянию Swift 6 concurrency — это не только про то, чтобы пофиксить warnings, это про пересмотр границ - где выполняется код, кто владеет состоянием и какой thread/actor реально вызывает callback.
1 211
19
🈲 Как LLM помогает миграции крупных проектов 🤝 Привет, это руководитель группы iOS-разработки Андрей Сикерин и разработчица
🈲 Как LLM помогает миграции крупных проектов 🤝 Привет, это руководитель группы iOS-разработки Андрей Сикерин и разработчица Елизавета Мазулова. В Яндекс Браузере мы делаем приложение на iOS. Уже много лет в нашем сервисе шла миграция с Objective-C на Swift: это 10 тысяч файлов и сотни тысяч строк кода. А параллельно с миграцией мы продолжали развивать продукт. Пять лет мы закрывали этот техдолг и за это время переписали лишь половину кода. Поэтому в прошлом году мы начали автоматизировать миграцию с помощью LLM и в итоге превратили её в воспроизводимый процесс, которым готовы поделиться с сообществом. ⏭ В отличие от существующих инструментов-конвертеров, наша система с LLM понимает не только грамматику языка, но и архитектуру конкретного проекта. В её основе лежат четыре специализированных промпта: 🟠 Первый определяет оптимальный порядок миграции файлов, переписывает код и проверяет результат через компиляцию и тесты 🟠 Второй адаптирует код под лучшие практики Swift 🟠 Третий проводит автоматическую проверку по чек-листу: заголовки файлов, корректность замены типов, соответствие стандартам 🟠 Четвёртый очищает код от устаревших аннотаций, когда необходимость в них отпадает За время работы над проектом мы полностью делегировали LLM рутинное переписывание кода. Разработчики только валидируют корректность миграции и занимаются сложным рефакторингом. В итоге затраты человеко-часов снизились примерно в 2,5 раза. Меньше чем за год мы влили 106 пул-реквестов в master, обработали 97 500 строк легаси-кода и 2167 файлов. ✨ А ещё мы уже проверили, что подход работает не только у нас. Для этого взяли открытый репозиторий приложения Wikipedia для iOS и без существенных изменений промптов мигрировали один из его пакетов. 🎲 Читайте статью на Хабре, в которой мы подробно рассказали об архитектуре решения, контроле качества и устройстве промптов. 🎲 Найти наш опенсорс-инструмент можно на гитхабе или в SourceCraft. Подписывайтесь: 💬 @Yandex4Mobile 📹 @YandexforMobile
1 021
20
Айти пузырь лопается уже четвертый или пятый раз за последние три года.  Будни обычного разраба — это охреневать от сай-файности своей профессии и одновременно подбирать себе подходящий мост, чтобы под ним оказаться. С одной стороны у нас тут ультра техно прогресс. С другой — интренет блять не работает.  Но. Мы позвали разраба, который “вхож в некоторые круги” и “кое-чего знает, че там обсуждают”. Алексей Гладков говорил с — кхм-кхм — “важными людьми”, и представляет, че там наверху думают про индустрию. Почему лопнул Айти пузырь. Что надуется на его месте. Где скоро будет куча вакансий. И главное — нахрена нам ломают интернет об колено. Заходите смотрите Youtube | VK-видео | Rutube | Аудиоверсия ___ Приходите на наш оффлайн-спешл
753