Записки разработчицы
1.96K subscribers
389 photos
24 videos
4 files
1.09K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
К сожалению, было ожидаемо. Такие эффекты + постоянный синк с нейросеткой требуют и больших затрат энергии, и производительного устройства. В общем, мало задавать стандарты по перформансу и оптимизации, надо их и самим соблюдать
iOS 26 убивает айфоны — владельцы жалуются на баги и дохлый аккумулятор после обновления.

Что уже ломается:
— исчезают иконки приложений;
— «жидкое стекло» тупо не запускается;
— фото не открываются, выскакивает ошибка;
— обновление может зависнуть прямо в процессе установки;
— айфон показывает полный заряд, но до конца так и не заряжается.


Пока лучше держать руки подальше от апдейта.

ChatGPT | FREE VPN
Во время E-Code многие спрашивали, какой доклад я привезла, и удивлялись, что я не выступаю. Что ж, ждать немного, всего-то до октября)

18 октября ловите меня на Merge в Светлогорске. На этой конференции я представлю остросюжетный воркшоп-доклад про то, как создать волшебный докер-контейнер с Android приложением и всеми инструментами, работающий отовсюду (включая Mac Apple Silicon), и настроить связь с внешним миром для управления через Postman, а также подготовить волшебный комплект для развертывания и запуска у пользователя. Вместе прокачаем скиллы мобильного разработчика по горизонтали и освоим настройку инфраструктуры для мобильного тестирования.

А теперь немного про само мероприятие:

IT-комьюнити со всей России собирается на берегу Балтийского моря

17-19 октября в Светлогорске Калининградской области пройдёт Merge Baltic. Это профессиональная конференция для всех, кто в IT.

7 направлений, 30+ секций и 120+ спикеров, нетворкинг и возможность познакомиться с нашей прекрасной Калининградской областью.



Присоединяйтесь! По промокоду ZHARKOVA действует скидка 20%.

Подробнее о Merge Baltic на сайте: https://baltic2025.mergeconf.ru
🔥53
Очень полезный митап от наших аналитиков)
2 октября я выступлю на Стачке с докладом «ИИ в мобильной разработке». Расскажу про использование ИИ в iOS и Android, какие есть готовые сервисы, и какие решения предлагаю Google и Apple.
Также я буду вести нашу секцию "Мобильная разработка", где наши спикеры подготовили 6 прекрасных докладов.

И немного о "Стачке"

Ждём вас с мощной программой:
→ Мощное комьюнити: более 2000 IT-специалистов и лидеров мнений со всей России.
→ Концентрация экспертизы: 250+ актуальных докладов и кейсов от звезд индустрии.
→ Центр притяжения бизнеса: представлено более 150 ведущих компаний.
→ 4 ключевых направлений: разработка, digital-маркетинг, управление, дизайн и контент.
→ Погружение в детали: 50 секций по узким темам.
→ Практика вместо теории: интерактивные нетворкинг-сессии, экспертная зона, 2-х часовые воркшопы и разбор кейсов на мастермайндах.
→ Неформальное общение: громкое афтепати для отдыха и общения с коллегами

Билеты уже доступны на сайте (https://nastachku.ru/bilety)
Кстати промокод “Спикер10” даст скидку 10% на билет)

Следите за новостями Стачки в Телеграме (https://t.iss.one/nastachku2024) и ВК (https://vk.com/nastachku)
7🔥4
Forwarded from iOS Broadcast (Андрей Зонов)
🐥 Улучшение JSONDecoder и JSONEncoder приняли в Swift Foundation
Буквально на днях Apple вмержили Pull Request от коллеги, @pie_liedie. Правки в JSONDecoder/Encoder, ускорят работу в 2 раза на достаточно больших приложениях! Более детально можно ознакомиться с деталями:
🟢😺️ PR Improve performance of JSONDecoder and JSONEncoder for large apps #1481
🟢Обсуждение на Swift.org
🟢Доклад со всеми деталями
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🏝 В Kotlin 2.2.20 прокачали contracts — механизм, который позволяет компилятору делать больше проверок на этапе компиляции и давать дополнительные гарантии.

❗️ Все новые функции пока экспериментальные — их использование требует аннотаций или специальных флагов компилятора.


1️⃣ Контракты в get/set у property
val Any.isHelloString: Boolean
get() {
contract { returns(true) implies (this@isHelloString is String) }
return "hello" == this
}


2️⃣ returnsNotNull() — новая функция в контрактах, которая гарантирует, что функция вернёт не null
fun decode(encoded: String?): String? {
contract { (encoded != null) implies (returnsNotNull()) }
if (encoded == null) return null
return java.net.URLDecoder.decode(encoded, "UTF-8")
}


3️⃣ holdsIn() — новая функция, которая позволяет зафиксировать, что условие будет true в пределах указанной лямбды
Документация
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
}


4️⃣ Поддержка generic типов в контрактах типов
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
🔥81👍1