bootg.com »
United States »
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck » Telegram Web
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость
Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.
📅 Сроки: прием новостей до 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Осталась неделя — ждем ваших новостей!
Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.
📅 Сроки: прием новостей до 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Осталась неделя — ждем ваших новостей!
Google Docs
Конкурс на самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переворачиваете её с ног на голову, чтобы смеялись…
Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переворачиваете её с ног на голову, чтобы смеялись…
➖ LinkMeetup — 14 мая, Москва
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
SSZipArchive — простая библиотека для архивации и разархивации файлов на iOS, macOS, tvOS, watchOS и visionOS. Умеет распаковывать zip-файлы, в том числе защищенные паролем или зашифрованных AES, создавать архивы такие же архивы — с паролями и шифрованием (в том числе и прямо из NSData).
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы хотите стать профессионалом в создании мобильных приложений, курсы iOS-разработчика — это отличный старт для вашего карьерного пути. Осваивая Swift, Objective-C и другие ключевые технологии, вы сможете разрабатывать качественные и эффективные приложения для платформы iOS.
Эти курсы предлагают не только теорию, но и практические задания, которые помогут вам быстро овладеть необходимыми навыками и приступить к реальным проектам.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Ключ
-u
(полный вариант --set-upstream
) создаёт в удалённом репозитории ветку, соответствующую локальной и связывает их.Пример:
git push -u origin master
Эта команда используется для отправки закоммиченных файлов в удаленный репозиторий (также известный как GitHub) в указанной ветке.
Используйте эту команду, когда вы впервые отправляете файлы в удаленный репозиторий. Он зафиксирует место, куда вы отправляете эти файлы. И в следующий раз можно будет использовать команду git push.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Чтобы ваше приложение работало быстро и без лагов, проверьте выполнение этих пунктов:
Как оценить результат? Измерьте до и после:
– Время запуска приложения
– Потребление памяти (Android Studio Profiler, Xcode Instruments)
– Размер APK/IPA
– Скорость отклика интерфейса
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Вчера JetBrains официально объявили о выходе CMP 1.8.0, c которой поддержка iOS переходит в статус stable. Это важный этап, поскольку теперь CMP можно всерьез рассматривать как основу для кроссплатформенной мобильной разработки.
В этой статье автор знакомит с обновлением и рассматривает заявленные фишки, а заодно говорит о результатах опытов с CMP на «боевом» проекте.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Собрали лучшее о мобильной разработке. Включаем и смотрим по пути на работу.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Месяцы поиска работы и ноль офферов? Возможно, ты сам саботируешь свой успех. Рассказываем о пяти распространенных ошибках, которые мешают программистам найти работу мечты.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом споре активно участвуют как простые пользователи, так и профессиональные разработчики. Если для первых дело скорее в привычках, удобстве и личных предпочтениях, то вторые приводят серьёзные аргументы в пользу любимых интернет-обозревателей.
Каждый браузер имеет свои козыри: Chrome — бешеную популярность и интеграцию с Google-сервисами, Firefox — открытый исходный код и приватность, Opera — встроенные фишки для разработчиков.
А где же истина? Какой браузер предпочитаете вы? Голосуйте и пишите своё мнение в комментариях
❤️ — Chrome
👍 — FireFox
👏 — Opera
🌚 — другие
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассмотрим этот фрагмент кода, который пытается получить цвет темы из локального хранилища устройства iOS:
var color = UserDefaults.standard.string(forKey: "themeColor")!
print(color)
Ответ:
Первая строка извлекает цвет темы из user defaults. Этот метод, однако, возвращает optional (поскольку themeColor может быть не определен). Если ключ не найден, возвращается nil, что приводит к крашу:
fatal error: unexpectedly found nil while unwrapping an Optional value
Это происходит потому, что в первой строке используется ! для force unwrap optional, которое теперь nil. Force unwrapping должно использоваться только тогда, когда вы на 100% уверены, что значение не nil.
Чтобы исправить это, вы можете использовать optional binding для проверки, найдено ли значение для ключа:
if let color = defaults.stringForKey("themeColor") { print(color)}
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Java / Kotlin разработчик (Software Engineer) — до 450 000 ₽, гибрид (Москва)
Junior iOS developer/Младший iOS разработчик — до 150 000 ₽, гибрид (Москва)
iOS разработчик — до 450 000 ₽, гибрид (Москва, Санкт-Петербург)
Android-разработчик — от 150 000 ₽, офис (Москва, Санкт-Петербург)
Android Developer — от 4 500 до 5 500 €, удалёнка
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
1. Получение типа класса через функцию
::class
Функция
::class
возвращает объект KClass
, который содержит информацию о типе класса во время выполнения.class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 30)
println(person::class) // выводит "class Person"
}
2. Получение типа класса через функцию
javaClass
Функция
javaClass
возвращает объект Class
, который содержит информацию о типе класса во время выполнения.class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 30)
println(person.javaClass) // выводит "class Person"
}
3. Получение типа класса через функцию
::class.java
Вызов функции
::class.java
на объекте типа KClass
возвращает объект Class
, который содержит информацию о типе класса во время выполнения.class Person(val name: String, val age: Int)
fun main() {
val person = Person("John", 30)
println(person::class.java) // выводит "class Person"
}
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Kotlin давно перерос статус языка «только для Android». Благодаря технологии Kotlin Multiplatform (KMP), он позволяет создавать приложения, которые работают на JVM, iOS, macOS, вебе и других платформах, сохраняя единый код бизнес-логики.
В статье — без лишнего пафоса о том, как устроена архитектура KMP, чем она отличается от Flutter и React Native, как работает сборка, где границы общего и платформенного кода и почему это решение подходит командам, стремящимся к эффективности без компромиссов.
#cвежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Проблема: Долгая загрузка данных, лишние запросы и падение приложения при плохом интернете.
Используйте
Room
(Android) или CoreData
(iOS) для локального хранения:// Android + Kotlin
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}
// iOS + Swift
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}
Делите данные на страницы:
// iOS
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}
// Android + OkHttp
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Запутались в настройке Firebase для Android/iOS? Используйте этот промпт, чтобы быстро разобраться с типовыми задачами и избежать распространённых ошибок:
Provide a step-by-step guide for setting up Firebase in a mobile
1. Initial setup for Android/iOS
2. Typical configuration mistakes and how to avoid them
3. Best practices for structuring Firestore/Firebase Auth
4. Performance optimization tips
–
Suggest solutions for common Firebase authentication errors
(если столкнулись с проблемами логина)–
Compare Realtime Database vs Firestore for a chat app
(если выбираете базу данных)–
Provide code samples for offline mode implementation
(для работы без интернета)Добавьте
Explain like I'm a junior developer
, если нужно максимально простое объяснение.А как вы настраиваете Firebase? Делитесь лайфхаками в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM