Записки разработчицы
2.37K subscribers
442 photos
26 videos
4 files
1.15K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
Forwarded from iOS Broadcast
🔥 Автоматизация code review: must-have для больших iOS-проектов

В крупных проектах человеческий фактор 😵‍💫 легко пропускает ошибки, а скорость релиза 🚀 зависит от качества проверки. Поэтому автоматизация ревью — не роскошь, а необходимость.

На открытом уроке вы создадите плагин для Swift Package Manager 🔧:
— разберётесь, как анализировать код через регулярные выражения 🔍;
— увидите, как Xcode подсвечивает ошибки ⚠️;
— подключите плагин к мульти-модульному проекту 🧩.

Это практический воркшоп для тех, кто хочет встроить контроль качества прямо в пайплайн 🛠 — iOS-разработчиков, релиз-инженеров и тимлидов. После занятия вы сможете написать собственный инструмент, работающий внутри проекта.

📅 11 декабря в 20:00 МСК — перед стартом курса «iOS Developer. Professional».
👉 Регистрация открыта.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Forwarded from Люди и Код
Google выпустил Advent для вайб-кодеров

Бесплатный календарь с ежедневными уроками по созданию ИИ-агентов.

Google запустил рождественский календарь — Advent of Agents. Это короткий курс для всех, кто хочет научиться создавать ИИ-агентов в Google Cloud.

Формат простой: с 1 декабря каждый день выходит новое задание, фича или мини-урок. Advent of Agents предполагает минимум теории и максимум кода. Вы пока ничего не пропустили: был только вводный урок и первое задание на Hello World. Присоединяйтесь и делитесь результатами в комментариях.
👍3🔥3
AI агенты открывают нам тренд на умных помощников для практических задач
Forwarded from iOS Broadcast (Андрей Зонов)
🔱 Учим AI читать логи Xcode Build
Продолжаю делиться последними хайлайтами из блога Tuist. На этот раз про интересную точку приложения AI в той области, где знаний даже у опытных разработчиков порой не хватает: Анализ логов сборки Xcode
🟢Система сборки Xcode не оптимизирована для понимания агентами ИИ.
🟢XCSift преобразует выходные данные сборки в структурированный JSON для использования ИИ.
🟢Протоколы сборки содержат структурированные данные, но они не всегда доступны для анализа.
🟢Структурированные данные сборки могут помочь агентам ИИ в диагностике и оптимизации сборок.
🟢Протоколы сборки могут использоваться для анализа производительности и зависимостей.
🟢Структурированные сообщения могут помочь агентам ИИ задавать вопросы о сборках на естественном языке.
🟢Протоколы сборки могут быть использованы для хранения и обработки данных о сборках.
🟢Корреляция данных сборки и запросов агентов ИИ является ключевым моментом для эффективного использования структурированных данных.

Ключевые выводы
🔵Система сборки сложнее, чем кажется, и требует детального инструментария.
🔵Структурированные данные в корне меняют возможности ИИ для анализа и оптимизации сборки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Последнее время Apple берет масштабом новых фичей, но не проработкой или доработкой старых. Одной из таких оставшихся проблем является DIY решение по SwiftUI и навигации. В своей статье коллеги из Clever Pumpkin разбирают существующие проблемы и предлагают свои способы обхода для корректной работы: https://habr.com/ru/companies/cleverpumpkin/articles/972810/
4🤮2
Forwarded from Kotlin Meta (demn)
📅 Kotlin Multiplatform

Завтра — 6 декабря, в 15:00, мы будем обсуждать Kotlin Multiplatform с нашим гостем Алексеем Михайловым — СТО в IceRock Development. Алексей начал заниматься мультиплатформенной разработкой приложений ещё до того, как это стало мейнстримом. В этом стриме мы обсудим

- какие использовались подходы до compose multiplatform;
- шейринг всего приложения vs только бизнес-логики;
- зачем вообще нужен compose wasm и зачем менеджеры из JetBrains делают на него такую ставку;
- и многое другое!

Заходите и задавайте вопросы!

📅 6 декабря
🕒 15:00
83🔥2👎1
Конец квартала очень насыщенный у многих, в том числе и у меня. Но возвращаемся

#flutter #aurora В сообществе разработчиков Aurora OS (особенно, пишущих на Flutter) значимое событие: ключевой компонент Flutter для OS Aurora стал Open-Source:
https://auroraos.ru/tpost/stha5pl7n1-klyuchevoi-komponent-flutter-dlya-os-avr
🔥16👎83👍21
🎉 Новый год с Hugging Face!

Hugging Face подарили нейросообществу 12 бесплатных курсов по топовым темам ИИ — от агентов и LLM до роботов и геймдева!

AI Agents: освойте создание автономных агентов — тренд 2025 года!
LLM Course: раскройте секреты «мозга» чат‑ботов и библиотек вроде Transformers.
Smol-course: быстрый старт в fine‑tuning — идеально, если времени в обрез.
MCP Course: (совместно с Anthropic): подключайте ИИ к любым данным — свежайший курс!
Deep RL: погрузитесь в обучение с подкреплением — технологию, которая движет роботами и OpenAI o1.
ML для игр: добавьте нейросетевые фишки в свои игровые проекты.
Robotics: от механических роботов к интеллектуальным системам на нейросетях.
Deep RL: всё про глубокое обучение с подкреплением (привет, OpenAI o1).
Computer Vision: научите ИИ «видеть» и анализировать изображения.
Audio Course: осваивайте обработку звука и речи через Transformers.
Diffusion Course: станьте мастером генерации изображений с Diffusers.
Open-Source AI Cookbook: ваша шпаргалка с кодом для решения любых ИИ‑задач.



🧠 Идеальный новогодний челлендж для прокачки скиллов!

👉 Все курсы — здесь.


YouTube | VkVideo | Telegram | Pikabu
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124👎3
Стоит рассказывать не только о новых технологиях компаний, занимающихся их разработкой, но и концепциях, а также интересных коллаборациях.
Например, недавно провайдер облачных и AI-технологий Cloud.ru и бренд одежды .solutions представили лимитированную коллекцию одежды и предметов (можно сказать, искусства), приуроченную к публичному релизу платформы для работы с генеративным AI — AI Factory. В каждом из элементов зашифрованы технологические коды и отсылки к продукту. Предметы коллекции символизируют трансформацию данных, идей и цифровых процессов — всего того, что изначально существует в виртуальной среде, — в реальные продукты и решения, которые создают клиенты Cloud.ru на базе новой AI-платформы. Один из наборов прислали мне в подарок, за что им отдельное спасибо
Коллекция выполнена в минималистичном технологичном стиле и вдохновлена идеей опыта взаимодействия человека с современными AI-инструментами. В линейку вошли лонгсливы, куртки, худи и карабины, а также надувной арт-объект. Его можно использовать как диван или кресло, что я планирую делать в дальнейшем. Куртка для меня немного слишком оверсайз, но для ценителей модных форм бомберов будет самое оно.
🔥136👍5🤡4🗿1
Но вернемся к теме технологий. Думаю, многие в курсе, что пару недель назад вышел Kotlin 2.3.0 https://blog.jetbrains.com/kotlin/2025/12/kotlin-2-3-0-released/
Что же нового:
Язык: Более стабильная работа стандартных фичей, проверка неиспользуемых возвращаемых значений, явные backing-поля, а также изменения в контекстно-зависимом разрешении.
Kotlin/JVM: Поддержка Java 25.
Kotlin/Native: Улучшенная интероперабельность через экспорт в Swift, более быстрая сборка для release-задач, импорт библиотек C и Objective-C находится в бета-версии.
Kotlin/Wasm: Полностью квалифицированные имена и новая модель обработки исключений включены по умолчанию, а также новое компактное хранилище для символов Latin-1.
Kotlin/JS: Новый экспериментальный экспорт suspend-функций, представление LongArray, унифицированный доступ к объекту-компаньону и другие улучшения.
Gradle: Совместимость с Gradle 9.0 и новый API для регистрации сгенерированных исходных кодов.
Compose compiler: Трассировка стека для минифицированных Android-приложений.
Стандартная библиотека: Стабилизированная функциональность отслеживания времени и улучшенные генерация и парсинг UUID.

Появилась экспериментальная фича проверки не использованных значений с помощью аннотации @MustUseReturnValues и для игнорирования @IgnorableReturnValue

@IgnorableReturnValue
fun <T> MutableList<T>.addAndIgnoreResult(element: T): Boolean {
return add(element)
}


Интересно выглядит работа и с явными backing-полями. Теперь так код:


private val _city = MutableStateFlow<String>("")
val city: StateFlow<String> get() = _city

fun updateCity(newCity: String) {
_city.value = newCity
}


Можно превратить в такой:

val city: StateFlow<String>
field = MutableStateFlow("")

fun updateCity(newCity: String) {
// Smart casting works automatically
city.value = newCity
}


Это также экспериментальная фича
🔥6
Полного прямого экспорта из Kotlin в Swift еще нет, но есть определенные продвижения. Например, enum теперь конвертируются напрямую:


// Kotlin
enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF)
}

val color = Color.RED



// Swift
public enum Color: Swift.CaseIterable, Swift.LosslessStringConvertible, Swift.RawRepresentable {
case RED, GREEN, BLUE

var rgb: Int { get }
}

Обратите внимание, как теперь выводятся типы
Также теперь поддерживаются vararg:

// Kotlin
fun log(vararg messages: String)



// Swift
public func log(messages: Swift.String...)


И только Generics все еще не поддерживаются.
Со всей этой кутерьмой мы забыли, что iOS и другие разработки Apple не сводятся только к LLM и работе с ними (ну хотя у Apple своего нет). И мы чуть не пропустили еще один подход к Swift Concurrency
🤡1
Forwarded from iOS Broadcast (Андрей Зонов)
🐥 Non-Sendable First Design — новый взгляд на Swift Concurrency
В Swift 6.2 появилась превью новой фичи, под флагом NonisolatedNonsendingByDefault. В комьюнити и форумах swift обсуждается идея, которая набирает отклик в Swift-сообществе: начинать проект с non-Sendable типов и добавлять Sendable / actor только там, где действительно нужна безопасность между потоками. Этот подход предлагает более простой путь к переходу на Swift Concurrency, чем повсеместное использование акторов и Sendable.

В чём суть Non-Sendable First Design:
🔵Sendable — это маркер безопасности для передачи между потоками/акторами, но далеко не все типы в приложении должны быть такими
🔵Идея Non-Sendable First Design заключается в том, чтобы изначально проектировать модели как non-Sendable, пока они не пересекают границы изоляции (то есть не должны быть переданы в Task, actor или другой изоляционный контекст)
🔵Это напоминает принцип «начинай с простого» — избегай лишних аннотаций @MainActor, @Sendable, акторов, пока код фактически не требует потокобезопасного обмена

Почему это может быть полезно:
🔵Меньше шума в коде на старте: не нужно помечать всё акторной изоляцией только из-за страхов компилятора
🔵Упрощение модели данных: простые классы и структуры не обременены проверками Sendable, пока они используются в одном домене
🔵Добавление безопасности по потребности: когда код пересекает границы конкуренции (например, Task или Actor), можно локально добавить Sendable/actor именно туда, где это важно

📌 Статья от Apple
📌 Оригинальный пропоузал
📌 Обсуждение на reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Подборка моих агентов
https://github.com/AlexGladkov/claude-code-agents

Тут в чате у Глеба стали спрашивать каких агентов я использую, поэтому я решил выложить их на общее обозрение. Я не буду рассказывать как я к этому пришел или как я их использую, но думаю сложив 2 и 2 вы сами сможете это использовать

Несколько важных моментов
👉 Они все заточены на Kotlin, но думаю, если надо вы можете поправить их на свой язык
👉 Они заточены под мой стиль кода и как мне удобно писать, так что в каком-то смысле это слепок моей личности
👉 Тут есть бэкенд, мобилка и фронтенд
👉 Это лучше всего комбинировать с кастомными командами и MCP

Если вы хотите как-то больше узнавать про всю эту движуху и оперативно получать все мои знания по этой теме, то вы можете оформить подписку тут - @famous_md_bot
Там я делюсь этими знаниями и своими экспериментами (считайте, что это бортовой журнал) на регулярной основе
👎11😐8🤡5🔥4👾1
Интересные новости
📱 Apple меняет iOS в Японии

🇯🇵 Apple вводит в Японии с iOS 26.2 поддержку альтернативных магазинов приложений и внешних платежей, чтобы соответствовать закону MSCA о конкуренции в мобильном ПО.

💵 Разработчики смогут запускать свои маркетплейсы и обрабатывать платежи вне App Store, но Apple усилила защиту.

Это третий крупный регион после ЕС и Бразилии.

⚠️ Но, до 17 марта 2026 все разработчики должны принять обновлённое соглашение Apple Developer Program.

RuStore, давай - дожимай!!!


YouTube | VkVideo | Telegram | Pikabu
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥152👎1🤮1