Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Senior Flutter разработчик — 215 000 ₽, удалёнка
iOS Developer (Сообщества) — от 250 000 ₽, удалёнка
Flutter Developer — от 200 000 ₽, офис (Москва)
Старший iOS-разработчик — от 300 000 до 540 000 ₽, гибрид (Москва)
Flutter-developer — от 300 000 до 540 000 ₽, удалёнка
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
pod install --repo-update
– надежный способ избежать "кэш-проблем" с CocoaPodsЭта команда гарантирует, что перед установкой:
• Локальный репозиторий CocoaPods синхронизируется с удаленным
• Вы получаете актуальные версии всех зависимостей
• Исключаются проблемы с устаревшим кэшем
Для экономии времени в CI можно использовать
pod install --repo-update --verbose
(лог поможет отладить проблемы)Альтернатива для "чистого" старта:
rm -rf ~/.cocoapods/repos && pod setup
Лайфхак: Добавьте в ваш
Fastfile
:lane :setup_pods do
sh "pod install --repo-update"
end
А вы часто сталкиваетесь с проблемами CocoaPods? Делитесь в комментариях своими способами решения
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Последний шанс залутать курсы Proglib Academy с выгодой 40% и пожизненным доступом.
До 1 августа действует скидка на курсы по математике для Data Science, алгоритмам и структурам данных, обновлённому Python, frontend-разработке с нуля, основам IT для непрограммистов, базовым моделям ML, а также архитектурам и шаблонам проектирования.
Выбираем и забираем 👈
P.S. Акция не распространяется на курсы «AI-агенты для DS-специалистов» и «ML для старта в Data Science».
До 1 августа действует скидка на курсы по математике для Data Science, алгоритмам и структурам данных, обновлённому Python, frontend-разработке с нуля, основам IT для непрограммистов, базовым моделям ML, а также архитектурам и шаблонам проектирования.
Выбираем и забираем 👈
P.S. Акция не распространяется на курсы «AI-агенты для DS-специалистов» и «ML для старта в Data Science».
В этом материале автор разберёт, как работают PWA и WebView в офлайн-режиме, посмотрит на инструменты, которые помогают реализовать такую функциональность, и в завершении поделиться примером: какую технологию он выбрал для календаря и как внедрил офлайн-режим на практике.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2
1. Добавьте зависимости:
implementation 'com.google.firebase:firebase-messaging:23.1.0'
2. Регистрация токена:
FirebaseMessaging.getInstance().token.addOnCompleteListener { task ->
if (task.isSuccessful) {
val token = task.result
// Отправьте токен на ваш сервер
}
}
3. Обработка входящих сообщений:
class MyFirebaseService : FirebaseMessagingService() {
override fun onMessageReceived(message: RemoteMessage) {
// Создайте и отобразите уведомление
}
}
1. Настройка в Xcode:
• Включите Push Notifications в Capabilities
• Зарегистрируйте сертификаты в Developer Center
2. Запрос разрешений:
UNUserNotificationCenter.current().requestAuthorization(
options: [.alert, .sound, .badge]) { granted, error in
if granted {
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
}
3. Обработка токена устройства:
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
// Отправьте токен на сервер
}
1. Группировка уведомлений (Android):
NotificationCompat.Builder(context, CHANNEL_ID)
.setGroup("news_group")
.setGroupSummary(true)
2. Действия в уведомлениях (iOS):
let action = UNNotificationAction(
identifier: "replyAction",
title: "Ответить",
options: [.foreground])
3. Глубокая навигация:
val pendingIntent = NavDeepLinkBuilder(context)
.setGraph(R.navigation.main_nav)
.setDestination(R.id.detailsFragment)
.createPendingIntent()
Какие лучшие практики по push-уведомлениям используете вы? Делитесь в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🥱2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5❤1
Перед релизом или крупным обновлением пройдитесь по этому списку, чтобы избежать критических ошибок и негативных отзывов.
Какие важные пункты мы забыли? Пишите в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
Собрали лучшее о мобильной разработке. Включаем и смотрим по пути на работу.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
В карточках рассказали, как создать надежную платежную систему, которая может обрабатывать тысячи транзакций ежедневно с минимальным количеством простоев и наивысшим уровнем отказоустойчивости.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13❤2
Docker и серверы являются важнейшими компонентами современных вычислительных систем. Docker упрощает развертывание приложений и управление ими за счет контейнеризации, обеспечивая согласованность и масштабируемость.
Серверы обеспечивают базовую инфраструктуру, услуги хостинга и ресурсы, необходимые для эффективной работы приложений. Вместе они обеспечивают эффективную и гибкую разработку и развертывание программного обеспечения, устраняя разрыв между средами разработки и производственными средами.
Выбор между Docker и серверами зависит от ваших конкретных потребностей, ограничений по ресурсам и опыта. Они также могут дополнять друг друга в современных ИТ-средах.
Что предпочитаете вы? Голосуйте и пишите своё мнение в комментариях
❤️ — Docker
👍 — традиционные серверы
🤝 — гибрид
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🥱1🤝1
Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Модификаторы
crossinline
и noinline
используются для управления поведением лямбда-выражений, переданных в качестве параметров функций. Они позволяют указывать, может ли лямбда-выражение содержать операторы return
.Модификатор
crossinline
используется для указания того, что лямбда-выражение не может содержать операторы return
, даже если функция, принимающая лямбда-выражение, инлайновая.Модификатор
noinline
, с другой стороны, указывает на то, что лямбда-выражение может быть сохранено как объект функции, а не выполнено внутри вызывающей функции. Это может быть полезно в случае, когда вы хотите использовать лямбда-выражение где-то ещё, например, как параметр для другой функции.ВЫВОД:
crossinline
должен использоваться только тогда, когда вы уверены в том, что оператор return
не будет использоваться внутри лямбда-выражения. Если лямбда-выражение должно содержать оператор return
, то следует использовать ключевое слово noinline
вместо crossinline
.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1