Вдохновившись колесиками для выбора времени и даты напоминаний Telegram, автор решил сделать на одном из своих пет‑проектов что‑то подобное. Первой мыслью было — найти этот код в исходниках Telegram, но т.к. скорее всего, у них это написано на Java, решил не тратить время на раскопки в Java‑коде, и сделал это на Jetpack Compose.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5
#дайджест для Android-разработчиков 👋
🔹 ByteWeaver в Open Source: инструментирование байт-кода Java во имя великого блага.
🔹 Разработка дизайна на SDUI с Jetpack Compose and Firebase.
🔹 Официальный релиз Koin 4.0.
🔹 Использование Kotlin 2.0 для разработки.
🔹 Размер имеет значение: как измерить и уменьшить вес Android-приложения
🔹 Стань лучше с помощью Compiler Explorer.
🔹 Декларативный подход в организации gradle зависимостей в Android-проектах.
🔹 Как легко рисовать на GoogleMaps с помощью Compose?
🔹 ByteWeaver в Open Source: инструментирование байт-кода Java во имя великого блага.
🔹 Разработка дизайна на SDUI с Jetpack Compose and Firebase.
🔹 Официальный релиз Koin 4.0.
🔹 Использование Kotlin 2.0 для разработки.
🔹 Размер имеет значение: как измерить и уменьшить вес Android-приложения
🔹 Стань лучше с помощью Compiler Explorer.
🔹 Декларативный подход в организации gradle зависимостей в Android-проектах.
🔹 Как легко рисовать на GoogleMaps с помощью Compose?
👍1
weak vs strong ссылки в Swift. 🚀
При работе с объектами важно правильно управлять памятью, и вот здесь на помощь приходят — weak и strong ссылки!
🔹 Strong ссылки — это те, что «держат» объект в памяти. Если на объект есть хотя бы одна strong ссылка, он останется в памяти. Это удобно, но есть риск создания циклических ссылок, что может привести к утечкам памяти!
🔹 Weak ссылки, напротив, не удерживают объект в памяти. Если на объект остаются только weak ссылки, он будет удалён из памяти. Это полезно для избежания циклов, например, когда объекты ссылаются друг на друга.
💡Используйте strong ссылки, когда нужно гарантировать, что объект будет жить, и weak ссылки, чтобы избежать утечек памяти!
#Swift #iOS
При работе с объектами важно правильно управлять памятью, и вот здесь на помощь приходят — weak и strong ссылки!
🔹 Strong ссылки — это те, что «держат» объект в памяти. Если на объект есть хотя бы одна strong ссылка, он останется в памяти. Это удобно, но есть риск создания циклических ссылок, что может привести к утечкам памяти!
🔹 Weak ссылки, напротив, не удерживают объект в памяти. Если на объект остаются только weak ссылки, он будет удалён из памяти. Это полезно для избежания циклов, например, когда объекты ссылаются друг на друга.
💡Используйте strong ссылки, когда нужно гарантировать, что объект будет жить, и weak ссылки, чтобы избежать утечек памяти!
#Swift #iOS
🥱5🔥3❤2👏1
🚀 GitHub Copilot в Xcode!
Нейросетевой помощник GitHub Copilot расширяет свои возможности, теперь он доступен для Xcode (Public Preview)!
Что может Copilot в Xcode?
• Предлагать варианты завершения кода в режиме реального времени
• Поддерживать языки Swift и Objective-C
• Автоматически подбирать целые блоки кода, а не только отдельные строки
• Помогать избежать уязвимостей и некачественного кода
Чтобы подключить Copilot в Xcode, нужно установить расширение из официальной инструкции.
👉 GitHub Docs
Нейросетевой помощник GitHub Copilot расширяет свои возможности, теперь он доступен для Xcode (Public Preview)!
Что может Copilot в Xcode?
• Предлагать варианты завершения кода в режиме реального времени
• Поддерживать языки Swift и Objective-C
• Автоматически подбирать целые блоки кода, а не только отдельные строки
• Помогать избежать уязвимостей и некачественного кода
Чтобы подключить Copilot в Xcode, нужно установить расширение из официальной инструкции.
👉 GitHub Docs
🤩5
📌 Flutter в Telegram Mini Apps!
Telegram Mini Apps — это одно из самых популярных и быстроразвивающихся направлений в Telegram. Благодаря мини-приложениям, Telegram стал не только мессенджером, но и мощной платформой для различных сервисов, доступных прямо внутри чатов.
А Flutter, в свою очередь, стремительно завоёвывает сердца разработчиков благодаря кросс-платформенности и гибкости.
Но насколько сложно совместить эти две технологии? 🤔
Ответ вы найдёте в статье, где автор рассказывает про практическое применение Flutter при разработке Telegram Mini App и делится результатом!
📖 Читать статью
#Flutter
Telegram Mini Apps — это одно из самых популярных и быстроразвивающихся направлений в Telegram. Благодаря мини-приложениям, Telegram стал не только мессенджером, но и мощной платформой для различных сервисов, доступных прямо внутри чатов.
А Flutter, в свою очередь, стремительно завоёвывает сердца разработчиков благодаря кросс-платформенности и гибкости.
Но насколько сложно совместить эти две технологии? 🤔
Ответ вы найдёте в статье, где автор рассказывает про практическое применение Flutter при разработке Telegram Mini App и делится результатом!
📖 Читать статью
#Flutter
🔥4🌚1
Бу!
Сегодня мы в костюме шестидневной рабочей недели! 😅
А вы как справляетесь с нагрузкой?
Делитесь своими лайфхаками и мемами — поддержим друг друга! 🧑💻
#интерактив
Сегодня мы в костюме шестидневной рабочей недели! 😅
А вы как справляетесь с нагрузкой?
Делитесь своими лайфхаками и мемами — поддержим друг друга! 🧑💻
#интерактив
❤🔥5
Forwarded from Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
💻🤔 Код сожаления: 10 ошибок, о которых жалеют даже опытные программисты
В программировании полно разных путей и нет единственно правильного способа достичь вершины мастерства. Но есть общие ловушки.
✔️Читать статью
В программировании полно разных путей и нет единственно правильного способа достичь вершины мастерства. Но есть общие ловушки.
✔️Читать статью
🤩1🥱1
Пятничный #дайджест для мобильщиков
🍏 iOS 18 для разработчиков
Статья-обзор ключевых изменений в UIKit
🤖 Гайд для новичков в Android разработке
Статья про написание Android-приложения, которое не будет стыдно положить в портфолио.
⚙️ Flutter-приложения на Авроре
Статья про создание Flutter-приложения на Авроре
🍏 Objective-C не кусается
Статья про то, как перестать бояться Legacy и стать настоящим iOS-ниндзя
🤖 Опыт использования Dynamic Feature Delivery
Статья про динамические модули в приложениях на Android
🍏 iOS 18 для разработчиков
Статья-обзор ключевых изменений в UIKit
🤖 Гайд для новичков в Android разработке
Статья про написание Android-приложения, которое не будет стыдно положить в портфолио.
⚙️ Flutter-приложения на Авроре
Статья про создание Flutter-приложения на Авроре
🍏 Objective-C не кусается
Статья про то, как перестать бояться Legacy и стать настоящим iOS-ниндзя
🤖 Опыт использования Dynamic Feature Delivery
Статья про динамические модули в приложениях на Android
1🔥3❤🔥1😍1
Forwarded from Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Создавай ИИ-приложения как профи: 17 опенсорсных инструментов
Полный набор инструментов для создания ИИ-приложений: генеративные модели, фреймворки для работы с ИИ-агентами и многое другое.
Читать статью
Полный набор инструментов для создания ИИ-приложений: генеративные модели, фреймворки для работы с ИИ-агентами и многое другое.
Читать статью
1❤2🥰2👏1🤩1
🔑 Шифруем файлы в Android
Мобильные приложения уже давно перестали быть тонкими клиентами, и вопрос защиты локальных данных становится всё актуальнее.
Однако мир криптографии не такой страшный, как кажется на первый взгляд.
А поможет вам в ней разобраться крутейший доклад.
Автор расскажет про опыт внедрения шифрования локальных файлов в приложении VK Teams, в том числе про подводные камни и неочевидные моменты, с которыми пришлось столкнуться.
👀 Смотреть доклад
#mobius #android
Мобильные приложения уже давно перестали быть тонкими клиентами, и вопрос защиты локальных данных становится всё актуальнее.
Однако мир криптографии не такой страшный, как кажется на первый взгляд.
А поможет вам в ней разобраться крутейший доклад.
Автор расскажет про опыт внедрения шифрования локальных файлов в приложении VK Teams, в том числе про подводные камни и неочевидные моменты, с которыми пришлось столкнуться.
👀 Смотреть доклад
#mobius #android
😁4🥰2
📌 Async, await и deferred в Kotlin
В Kotlin три ключевых инструмента для асинхронной работы: async, await и Deferred.
🔹 async запускает задачу в фоновом потоке и возвращает Deferred, объект с результатом. Полезно, когда нужно выполнить несколько операций одновременно.
🔹 await возвращает результат из Deferred, приостанавливая выполнение, пока задача не завершится. Если использовать await сразу после async, задача выполнится синхронно, поэтому лучше запускать задачи параллельно и вызывать await после всех.
🔹 Deferred — это «обещание» результата, который будет позже. Через него можно узнать статус, отменить задачу или дождаться её завершения.
Итак, async запускает, await возвращает результат, а Deferred — сам результат, доступный позже.
#Kotlin
В Kotlin три ключевых инструмента для асинхронной работы: async, await и Deferred.
🔹 async запускает задачу в фоновом потоке и возвращает Deferred, объект с результатом. Полезно, когда нужно выполнить несколько операций одновременно.
🔹 await возвращает результат из Deferred, приостанавливая выполнение, пока задача не завершится. Если использовать await сразу после async, задача выполнится синхронно, поэтому лучше запускать задачи параллельно и вызывать await после всех.
🔹 Deferred — это «обещание» результата, который будет позже. Через него можно узнать статус, отменить задачу или дождаться её завершения.
Итак, async запускает, await возвращает результат, а Deferred — сам результат, доступный позже.
#Kotlin
🎉5❤🔥2❤2👍1🥰1
📱Инклюзивный дизайн мобильных приложений
Задумывались ли вы, почему перила у лестницы находятся по правую руку, цифры в лифте идут снизу вверх по возрастанию, а бутылку с газировкой делают такой формы, чтобы рука могла комфортно обхватить её?
Такие детали очень важны для определённых категорий людей. К примеру, в статье описаны реальные истории о пользе инклюзивного дизайна.
А если хотите сами создавать инклюзивный и доступный дизайн рекомендуем статью.
Задумывались ли вы, почему перила у лестницы находятся по правую руку, цифры в лифте идут снизу вверх по возрастанию, а бутылку с газировкой делают такой формы, чтобы рука могла комфортно обхватить её?
Такие детали очень важны для определённых категорий людей. К примеру, в статье описаны реальные истории о пользе инклюзивного дизайна.
А если хотите сами создавать инклюзивный и доступный дизайн рекомендуем статью.
🔥2👏1
🍏 Малоизвестные фичи SwiftUI
SwiftUI предоставляет массу полезных инструментов, однако некоторые возможности остаются в тени.
Специально для вас нашли статью с неочевидными, но интересными фичами, которые упростят разработку и добавят гибкости интерфейсу.
👉 Читать статью
#iOS #Swift
SwiftUI предоставляет массу полезных инструментов, однако некоторые возможности остаются в тени.
Специально для вас нашли статью с неочевидными, но интересными фичами, которые упростят разработку и добавят гибкости интерфейсу.
👉 Читать статью
#iOS #Swift
👍3🥰2😁1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📘 Новый взгляд на код-стайл в Swift
В мире Swift существуют разные соглашения по код-стайлу, и многие из нас привыкли к стандартам вроде AirBnb’s Swift Code Convention. Вы наверняка сталкивались с правилами использования PascalCase для типов и lowerCamelCase для всего остального, или же указания именовать булевы переменные с приставками вроде is или has.
Однако придерживаться нескольких соглашений может быть не очень удобно. Автор статьи рассказывает, как пришёл к выводу, что для проектов на Swift наиболее эффективно следовать код-стайлу Apple.
👉 Читать статью
#Swift #iOS
В мире Swift существуют разные соглашения по код-стайлу, и многие из нас привыкли к стандартам вроде AirBnb’s Swift Code Convention. Вы наверняка сталкивались с правилами использования PascalCase для типов и lowerCamelCase для всего остального, или же указания именовать булевы переменные с приставками вроде is или has.
Однако придерживаться нескольких соглашений может быть не очень удобно. Автор статьи рассказывает, как пришёл к выводу, что для проектов на Swift наиболее эффективно следовать код-стайлу Apple.
👉 Читать статью
#Swift #iOS
🥱5👏2🤩2
📈 Топ 5 плагинов для Android Studio
🔹Kotlin Fill Class — ускоряет разработку, автоматически заполняя классы и функции
🔹ADB Idea — добавляет удобные команды ADB, запускаемые через всплывающее меню
🔹Android Drawable Preview — показывает иконки в каталоге, упрощая навигацию
🔹Key Promoter X — обучает сочетаниям клавиш, предлагая их при использовании мыши
🔹IdeaVim — добавляет функционал Vim в Android Studio, с возможностью настройки через файл .ideavimrc.
#дайджест #android #kotlin
🔹Kotlin Fill Class — ускоряет разработку, автоматически заполняя классы и функции
🔹ADB Idea — добавляет удобные команды ADB, запускаемые через всплывающее меню
🔹Android Drawable Preview — показывает иконки в каталоге, упрощая навигацию
🔹Key Promoter X — обучает сочетаниям клавиш, предлагая их при использовании мыши
🔹IdeaVim — добавляет функционал Vim в Android Studio, с возможностью настройки через файл .ideavimrc.
#дайджест #android #kotlin
1🥰4❤1👏1
🚫 Антитренды в мобильной разработке на Flutter
Flutter предлагает много библиотек, пакетов и других инструментов, которые помогают создавать красивые и быстрые программы. Но кроме удобных паттернов среди них есть практики, которые поначалу кажутся хорошими идеями, а со временем только мешают.
В статье разбирают «антитренды» и обсуждают, чем их можно заменить.
👉 Читать статью
#Flutter
Flutter предлагает много библиотек, пакетов и других инструментов, которые помогают создавать красивые и быстрые программы. Но кроме удобных паттернов среди них есть практики, которые поначалу кажутся хорошими идеями, а со временем только мешают.
В статье разбирают «антитренды» и обсуждают, чем их можно заменить.
👉 Читать статью
#Flutter
😁4👍2
sealed class vs enum
sealed class и enum это два разных концепта в Kotlin, хотя их часто используют для ограничения набора возможных значений.
🔹 enum — это тип данных, представляющий фиксированный набор значений, заданный на этапе компиляции и неизменяемый в процессе выполнения программы
🔹 sealed class — это абстрактный класс, позволяющий определять ограниченный набор значений, но эти значения могут быть расширены в будущем
enum лучше подходит для фиксированных списков состояний, а sealed class — для создания ограниченного, но потенциально изменяемого набора произвольных объектов.
#Kotlin
sealed class и enum это два разных концепта в Kotlin, хотя их часто используют для ограничения набора возможных значений.
🔹 enum — это тип данных, представляющий фиксированный набор значений, заданный на этапе компиляции и неизменяемый в процессе выполнения программы
🔹 sealed class — это абстрактный класс, позволяющий определять ограниченный набор значений, но эти значения могут быть расширены в будущем
enum лучше подходит для фиксированных списков состояний, а sealed class — для создания ограниченного, но потенциально изменяемого набора произвольных объектов.
#Kotlin
👾7👍2