Классификация делит языки на статически типизированные и динамически типизированные.
В статически типизированном языке каждая переменная имеет определенный тип на всем протяжении жизни, он не может измениться во время выполнения. То есть все типы известны ещё на этапе написания кода.
Если же во время выполнения попытаться присвоить переменной одного типа значение другого типа, произойдет ошибка. Причём такие ошибки можно найти без запуска программы.
Динамически типизированные языки работают иначе. У каждой переменной всё ещё есть тип. Но он может легко меняться по хочу исполнения программы. На практике это означает, что в конкретный момент времени мы достоверно не знаем, данные какого типа находятся в переменной.
И что лучше?
Проблема в том, что ничего не лучше. Каждая система типизации решает разные проблемы, у каждой свои плюсы и минусы. Динамическая типизация проще и удобнее на ранних этапах разработки программы, статическая типизация обеспечивает более высокую степень надёжности.
Что предпочитаете вы? Голосуйте и пишите своё мнение в комментариях
❤️ — статическая
👍 — динамическая
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🎉2👍1
Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1
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