Telegram Web
🍏 Что такое перечисления (enumerations) в Swift?

Перечисление (enumeration)- это группа связанных значений.

Перечисления позволяют писать безопасный для типов код.

enum Direction {
case North
case East
case South
case West
}


Теперь в своем коде вы можете вызвать, например, Direction.North, вместо того чтобы использовать мистическую строку «North» (которая легко может быть неправильно написана и вызвать раздражающие ошибки).

Больше информации о перечислениях можно прочесть в этой статье.

#swift
🥱51
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
🥰1🌚1
📁 Примеры использования File Templates для типовых сценариев, где требуется шаблонный код

Это вторая статья из цикла про File Templates. В предыдущей части автор описал проблему с необходимостью написания шаблонного кода и вариантами решения, познакомил с инструментом шаблонов File Templates и разобрал синтаксис написания шаблонов.

В этой статье автор перейдет к практике — напишет шаблоны для кода типового экрана SomeFeature мобильного приложения.

👉 Читать статью

#новость #android #kotlin
🔥3
✏️ CodeEditTextView — редактор кода

CodeEditTextView — текстовый редактор (замена NSTextView) для отображения и редактирования кода. Особенности: базовое редактирование текста, чрезвычайно быстрая начальная верстка, поддержка работы с большими документами, возможности настройки кодовых документов

⚙️ CodeEditTextView на GitHub

#ios
2😁2
👨‍💻 Что делаете во время кодинга?

👍
— слушаю музыку
❤️ — смотрю видео
👏 — работаю в полной тишине
🤩 — другое (напишу в комментариях)
👍49👏297🤩3
📱 Запускаем приложения на своём iOS-симуляторе

Создание симулятора iOS для запуска приложений на macOS открывает новые горизонты в мобильной разработке.

В докладе рассматриваются внутренние аспекты iOS-приложений, включая формат Mach-O, динамическая подгрузка библиотек в рантайме и выделение памяти под выполняемый код. Автор также расскажет как запускать приложения, собранные через Xcode для iOS, внутри macOS.

👀 Смотреть доклад

#новость #ios
3🥰2
👨‍💻 Топ-5 популярных вопросов на Android собеседовании [2025]

Cобеседования в IT — это всегда вызов и Android тут, конечно же, не исключение. Для успешного прохождения интервью в крупные и востребованные компании современный Android-разработик должен держать в голове огромное количетсво областей.

К счастью, многие вопросы пересекаются между компаниями, так что наработав некоторую «базу» из них вы сильно повысите свои шансы на положительный результат и заветный оффер.

В статье автор разберет топ-5 вопросов, с которыми можно столкнуться в крупных компаниях на российском рынке.

👉 Читать статью

#дайджест
😁31👍1🥰1
⚙️ Управление настройками с помощью Jetpack DataStore: простой подход к сохранению данных разных типов

При разработке Android-приложений часто возникает необходимость сохранять пользовательские настройки, такие как выбор темы, язык или другие данные пользователя. Jetpack DataStore — это современное решение для хранения таких данных, которое заменяет устаревший SharedPreferences.

В статье автор рассмотрит, как использовать DataStore для хранения различных типов данных (Boolean, Integer, Float и String) и как интегрировать его с архитектурой MVVM, используя StateFlow для обновления UI.

👉 Читать статью

#новость #android #kotlin
👍43
🤝 Дружим RabbitMQ и Flutter/Dart

Автор статьи поделиться опытом работы с брокером сообщений RabbitMQ из Dart-кода.

Будут разобраны такие вопросы:

• Как установить и запустить контейнер с RabbitMQ
• Как настроить RabbitMQ.
• Как создать Producer (отправителя) на Flutter.
• Как создать Consumer (потребителя) на Flutter.

👉 Читать статью

#новость #flutter
2😁1
👾 Кодогенерация: кому нужна и как настроить

Кодогенерация — замечательный инструмент, но его нужно использовать обдуманно. Злоупотребление кодогенерацией может ограничить возможности кастомизации, однако это, в свою очередь, заставляет команды работать эффективнее.

В этой статье автор расскажет о кодогенерации в мобильной разработке: кто действительно нуждается в ней, как она применяется на практике и какую ценность можно извлечь из этого процесса.

👉 Читать статью

#новость
3
👾 Свойства, методы get и set

Свойства класса — это переменные, которые хранят состояние объекта класса. Как и любая переменная, свойство может иметь тип, имя и значение.

В классе можно объявить свойства с помощью ключевого слова var или val. Свойства, объявленные с var, могут быть изменены после их инициализации, а свойства, объявленные с val, только для чтения.

class Person {
var name: String = «»
val age: Int = 0
}


При создании своего класса мы хотим сами управлять его свойствами, контролируя то, какие данные могут быть предоставлены или перезаписаны. С этой целью создаются get и set методы (геттеры и сеттеры). Цель get-метода — вернуть значение, а set-метода — записать полученное значение в свойство класса.

var name: String = «»
get() = field.toUpperCase()set(value) {
field = «Name: $value»
}


В данном примере свойство name имеет тип String и начальное значение пустой строки. Геттер возвращает значение свойства, преобразованное к верхнему регистру. Сеттер устанавливает значение свойства с добавлением префикса «Name: " перед переданным значением. Слово field используется для обращения к текущему значению свойства.

Если get и set методы не были созданы вручную, то для таких свойств Kotlin незаметно сам их генерирует. При этом для свойства, объявленного с val, генерируется get-метод, а для свойства, объявленного с varи get, и set методы.

#kotlin
2👍1
⚙️ Корутины в Kotlin: как сделать «Optimised Out» переменные видимыми

Отладка корутинов в Kotlin иногда может напоминать распутывание паутины невидимых нитей — в буквальном смысле. Одна из распространенных ошибок, с которой сталкиваются разработчики — появление страшного сообщения «optimised out» при проверке переменных в приостановленной корутине.

В этой статье автор расскажет, как динамически включать удобные для отладки настройки с помощью свойства idea.active, что позволит вам проверять переменные корутин в IntelliJ IDEA и Android Studio без ущерба для производительности.

👉 Читать статью

#новость #android #kotlin
2😁1
🔧 Строим архитектуру для SwiftUI

SwiftUI фундаментально отличается от UIKit, поэтому он требует своего подхода к архитектуре. Известные паттерны, такие как MVP, MVVM и другие, в чистом виде не адаптированы под особенности SwiftUI.

В статье автор рассказывает о создании собственной архитектуры для разработки на SwiftUI.

👉 Читать статью

#новость #ios #swift
😁41🥱1
👨‍💻 Blueprint — декларативный UI-конструктор

Blueprint предоставляет архитектуру, которая позволяет декларативно определять иерархию пользовательского интерфейса с помощью значений (структур и перечислений Swift), отображать эту иерархию в приложении, обновлять её при изменении состояния приложения (включая анимированные переходы).

Blueprint появился раньше SwiftUI и работает немного по-другому. Вы можете разместить BlueprintView в SwiftUI, чтобы встроить Blueprint в SwiftUI, а также использовать предоставленный ElementView для создания предварительных просмотров Blueprint в Xcode.

⚙️ Blueprint на GitHub

#новость #ios
4
💬 ТОП-8 фраз, которые испортят впечатление о вас на собеседовании

Представьте, вы попали на собеседование мечты. Всё идёт гладко, но пара неудачных фраз могут свести на нет все ваши старания. Например, если вы слишком скромны или, наоборот, перегибаете с самоуверенностью, это может вызвать недоверие. Или фраза, которая должна показать вашу гибкость, внезапно делает акцент на недостатке опыта. Знакомо?

Есть проверенные подходы, которые помогут избежать таких ситуаций, выстроить грамотное общение и оставить положительное впечатление. Готовы узнать больше? 🌟

🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
1
✍️ Открытая редакция: ищем авторов для рубрики DevLife

Друзья, нас часто спрашивают про публикацию материалов о личном опыте и знаниях в IT. Пора это систематизировать!

Пишите нам, если у вас есть история о том, как вы:
• выросли в профессии
• освоили новые технологии
• сделали крутой карьерный скачок
• эпично лажанулись
• создали интересные проекты

Требования к статье простые:
• Реальный опыт
• Конкретные шаги
• От 5000 знаков
• Ссылка на Google Docs

Лучшие истории опубликуем на сайте и в наших соцсетях с общим охватом 1 млн+ человек.

Присылайте свои статьи на почту [email protected] с темой «DevLife»
😁2
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
🚙 Переезжаем с фрагментов на (De)compose

В процессе перевода проекта на Jetpack Compose рано или поздно появляются вопросы: зачем нужны фрагменты, активити и вьюмодели, ведь можно реализовать навигацию прямо между Composable-функциями.

В приложении Мой Beeline разработчики двигаются в сторону компонентного подхода с помощью Decompose, так как он показался им самым надёжным и стройным в своей красоте.

Своим докладом автор хочет показать, что жизнь за пределами стека Google существует. А также поделиться опытом, учитывая количество существующего кода, модульность проекта и стремление остаться в балансе с простотой решения.

👀 Смотреть доклад

#новость #android
😁3🥰2
🍏 typealias в Swift

Typealias, как следует из названия, является псевдонимом для существующего типа данных.

Вы можете создать его следующим образом:

typealias Weight = Float


Теперь вы можете использовать Weight вместо Float:

let mass1: Weight = 150.0
let mass2: Weight = 220.0
let total: Weight = mass1 + mass2


#swift
🥱53
📦 MMKV — эффективное key-valu хранилище от Tencent

MMKV — это эффективный, небольшой и простой в использовании мобильный фреймворк для хранения ключевых значений (key-value), используемый Tencent в приложении WeChat. В настоящее время он доступен для Android, iOS/macOS, Windows, POSIX и HarmonyOS NEXT.

Фичи:

🔹 эффективность — MMKV использует mmap для синхронизации памяти с файлами и protobuf для кодирования/декодирования значений, максимально используя возможности Android для достижения наилучшей производительности;

🔹 многопроцессный параллелизм — MMKV поддерживает одновременный доступ процессов к чтению-чтению и чтению-записи;

🔹 простота — можно использовать MMKV по мере необходимости, все изменения сохраняются немедленно;

🔹 небольшой — 50K в бинарнике.

⚙️ MMKV на GitHub

#новость #android
1🥰1
2025/07/08 23:46:58
Back to Top
HTML Embed Code: