🌐 Pазгоняем MVVM до максимума
Задумываетесь ли вы при покупке новой вещи о том, какой путь она прошла, прежде чем попасть к вам в руки? А ведь телефон, книга или тарелка могли посетить аж четыре дополнительных точки, если продавец далеко от склада.
Автор статьи делится, как с помощью грамотно подобранной архитектуры Яндекс удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее.
👉 Читать статью
#новость #flutter
Задумываетесь ли вы при покупке новой вещи о том, какой путь она прошла, прежде чем попасть к вам в руки? А ведь телефон, книга или тарелка могли посетить аж четыре дополнительных точки, если продавец далеко от склада.
Автор статьи делится, как с помощью грамотно подобранной архитектуры Яндекс удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее.
👉 Читать статью
#новость #flutter
👍6🤩2🔥1
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts
🔹 Как мы из России опубликовали платное приложение в App Store
🔹 Анализ Android-фич на доступность и внедрение accessibility в процесс разработки
🔹R8: Шакалья работа (уменьшение apk через правки R8)
🔹 Приватный финансовый менеджер inCourse на React Native. Опыт разработки
#дайджест
🔹 Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts
🔹 Как мы из России опубликовали платное приложение в App Store
🔹 Анализ Android-фич на доступность и внедрение accessibility в процесс разработки
🔹R8: Шакалья работа (уменьшение apk через правки R8)
🔹 Приватный финансовый менеджер inCourse на React Native. Опыт разработки
#дайджест
🥰4
🎨 Что такое перерисовка и как с ней бороться
Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного устройства, влияет на восприятие качества каждым пользователем приложения. Глаза требуют плавности при выводе изображений и текста на экран. Поэтому лучше избегать медленной отзывчивости и задержек при отрисовке на экране.
В статье автор рассказывает, что такое перерисовки (Overdraw), как они влияют на производительность рендеринга и как можно их исправить.
👉 Читать статью
#новость #android
Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного устройства, влияет на восприятие качества каждым пользователем приложения. Глаза требуют плавности при выводе изображений и текста на экран. Поэтому лучше избегать медленной отзывчивости и задержек при отрисовке на экране.
В статье автор рассказывает, что такое перерисовки (Overdraw), как они влияют на производительность рендеринга и как можно их исправить.
👉 Читать статью
#новость #android
❤3
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
😁5
🍏 Назовите 5 утверждений передачи управления (Control Transfer Statements)
Вот онислева-направо (сверху-вниз):
•
•
•
•
•
Операторы передачи управления изменяют порядок выполнения вашего кода.
Например, вы можете использовать оператор передачи управления
#swift
Вот они
•
Break
•
Continue
•
Fallthrough
•
Throw
•
Return
Операторы передачи управления изменяют порядок выполнения вашего кода.
Например, вы можете использовать оператор передачи управления
break
для завершения выполнения цикла for
, когда продолжение цикла считается ненужным:for choice in choices:if isCorrect(choice):print(«Correct choice found!»)break
#swift
❤2
🌐 Такие разные Slivers: аналоги обычных виджетов
Заключительная часть цикла о сливер-виджетах во Flutter. За прошедшие статьи автор разобрал множество различных типов сливеров, от списков и сеток до гибких решений для управления размером и поведением элементов.
В финальной статье автор познакомит со сливер-виджетами, которые являются аналогами обычных (box-based) виджетов, выполняя схожие функции, но для работы в прокручиваемых структурах.
Эти элементы расширяют возможности управления видимостью, анимациями и декорациями, предоставляя дополнительную гибкость при создании сложных интерфейсов.
👉 Читать статью
#новость #flutter
Заключительная часть цикла о сливер-виджетах во Flutter. За прошедшие статьи автор разобрал множество различных типов сливеров, от списков и сеток до гибких решений для управления размером и поведением элементов.
В финальной статье автор познакомит со сливер-виджетами, которые являются аналогами обычных (box-based) виджетов, выполняя схожие функции, но для работы в прокручиваемых структурах.
Эти элементы расширяют возможности управления видимостью, анимациями и декорациями, предоставляя дополнительную гибкость при создании сложных интерфейсов.
👉 Читать статью
#новость #flutter
🤩2
🕥 APIGoogle запустил TrustedTime API
Точное время критично для многих функций приложений, но пользователь может изменить время на устройстве, поэтому может потребоваться более точный источник времени, чем локальное системное время устройства.
Google представил TrustedTime API, который предоставляет надежную временную метку, не зависящую от настроек локального времени устройства.
👉 Читать статью
#новость #android
Точное время критично для многих функций приложений, но пользователь может изменить время на устройстве, поэтому может потребоваться более точный источник времени, чем локальное системное время устройства.
Google представил TrustedTime API, который предоставляет надежную временную метку, не зависящую от настроек локального времени устройства.
👉 Читать статью
#новость #android
👍3
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📱 Чем полезен Server Driven UI
Автор статьи рассказывает о Server Driven UI по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрит подходы к ее реализации
👉 Читать статью
#новость #android #ios
Автор статьи рассказывает о Server Driven UI по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрит подходы к ее реализации
👉 Читать статью
#новость #android #ios
🤩3
Forwarded from Proglib.academy | IT-курсы
Мы разберем, почему компании, которые массово увольняют разработчиков в пользу ИИ, рискуют остаться у разбитого корыта. Сгенерированный код не умеет исправлять баги, а инженеры, которые действительно понимают систему, становятся редкостью и роскошью.
▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.
▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.
▪️ Почему опытные разработчики станут супердорогими и востребованными.
▪️ К чему приведет полная ставка на искусственный интеллект в IT.
🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👾 Как оживает смартфон
Вы когда-нибудь задумывались, что происходит в момент загрузки телефона? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?
Автор статьи рассказывает, что скрывается под капотом Android и показывает процесс его запуска.
👉 Читать статью
#новость #android
Вы когда-нибудь задумывались, что происходит в момент загрузки телефона? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?
Автор статьи рассказывает, что скрывается под капотом Android и показывает процесс его запуска.
👉 Читать статью
#новость #android
❤1
🍏 Neovim для iOS разработки
Старички тут? Нашли для самых отважных крутейший плагин переноса разработки приложений из Xcode в Neovim.
Поддерживает все! От iOS до visionOS.
А так же сборку, запуск, отладку приложений на симуляторах или физических устройствах.
Neovim может быть легко интегрирован с SwiftLint, Swift Format, Copilot.
Очень простая настройка и подробная документация идет в придачу!
👉 Github
Старички тут? Нашли для самых отважных крутейший плагин переноса разработки приложений из Xcode в Neovim.
Поддерживает все! От iOS до visionOS.
А так же сборку, запуск, отладку приложений на симуляторах или физических устройствах.
Neovim может быть легко интегрирован с SwiftLint, Swift Format, Copilot.
Очень простая настройка и подробная документация идет в придачу!
👉 Github
🤩4👾3❤1
📲 Погружаемся в мир технологий Яндекс Переводчика
В этом подкасте ведущий Android-разработчик Яндекс Переводчика рассказывает о своем пути в разработку, об уникальных функциях приложения, включая перевод изображений и документов, а также интеграцию с камерой и браузером. Также вы узнаете о будущем переводных технологий в эру больших языковых моделей.
👀 Смотреть видео
#новость #android
В этом подкасте ведущий Android-разработчик Яндекс Переводчика рассказывает о своем пути в разработку, об уникальных функциях приложения, включая перевод изображений и документов, а также интеграцию с камерой и браузером. Также вы узнаете о будущем переводных технологий в эру больших языковых моделей.
👀 Смотреть видео
#новость #android
😁2❤1
👾 Конструкторы в Kotlin
Свойств у класса может быть столько, сколько ему нужно. Но все они должны быть инициализированы при создании экземпляра этого класса. Поэтому для удобства был придуман конструктор — специальный блок кода, который вызывается при создании экземпляра класса. Ему передаются необходимые значения, которые потом используются для инициализации свойств.
Класс в Kotlin может иметь основной конструктор (primary) и один или более вторичных конструкторов (secondary). У класса может и не быть конструктора, но Kotlin всё равно автоматически сгенерирует основной конструктор по умолчанию (без параметров).
👉 Подробнее в статье
#kotlin
Свойств у класса может быть столько, сколько ему нужно. Но все они должны быть инициализированы при создании экземпляра этого класса. Поэтому для удобства был придуман конструктор — специальный блок кода, который вызывается при создании экземпляра класса. Ему передаются необходимые значения, которые потом используются для инициализации свойств.
Класс в Kotlin может иметь основной конструктор (primary) и один или более вторичных конструкторов (secondary). У класса может и не быть конструктора, но Kotlin всё равно автоматически сгенерирует основной конструктор по умолчанию (без параметров).
👉 Подробнее в статье
#kotlin
🥰4
🗺️ Pисуем аватарки на карте
Для создания динамичных и визуально привлекательных карт иногда требуется отображать изображения, например, аватары пользователей, загружаемые с сервера.
В статье автор рассматривает, как загрузить изображение через Coil и отобразить его на карте при помощи SDK для Yandex MapKit.
👉 Читать статью
#новость #kotlin
Для создания динамичных и визуально привлекательных карт иногда требуется отображать изображения, например, аватары пользователей, загружаемые с сервера.
В статье автор рассматривает, как загрузить изображение через Coil и отобразить его на карте при помощи SDK для Yandex MapKit.
👉 Читать статью
#новость #kotlin
🥰5❤1
🍏 Yams — парсер YAML для Swift
Yams — парсер YAML для Swift (YAML — это удобный для человека язык сериализации данных). В Yams есть три группы API преобразований: одна для использования с типами Codable, другая — для типов стандартной библиотеки Swift, а третья — для нативного представления Yams.
⚙️ Yams на GitHub
#новость #ios
Yams — парсер YAML для Swift (YAML — это удобный для человека язык сериализации данных). В Yams есть три группы API преобразований: одна для использования с типами Codable, другая — для типов стандартной библиотеки Swift, а третья — для нативного представления Yams.
⚙️ Yams на GitHub
#новость #ios
🤩5
😴 Task.sleep() и Task.yield()
В Swift Concurrency мы можем использовать Task.sleep() и Task.yield(), чтобы перевести конкретную задачу в режим ожидания или приостановки в течение определённого периода времени. Оба они выглядят и ведут себя одинаково, но есть несколько существенных различий, о которых следует знать Swift-разработчикам.
Зная эти различия, вы сможете лучше понять, когда и как использовать те или иные функции, а также оптимизировать свой код соответствующим образом. Прежде чем перейти к рассмотрению различий, автор сначала объясняет, что делают эти модификаторы.
👉 Читать статью
#новость #swift
В Swift Concurrency мы можем использовать Task.sleep() и Task.yield(), чтобы перевести конкретную задачу в режим ожидания или приостановки в течение определённого периода времени. Оба они выглядят и ведут себя одинаково, но есть несколько существенных различий, о которых следует знать Swift-разработчикам.
Зная эти различия, вы сможете лучше понять, когда и как использовать те или иные функции, а также оптимизировать свой код соответствующим образом. Прежде чем перейти к рассмотрению различий, автор сначала объясняет, что делают эти модификаторы.
👉 Читать статью
#новость #swift
🤩3❤1👍1
Forwarded from Proglib.academy | IT-курсы
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике
Статья, которая поможет развить навыки решения задач с помощью математики.
➡️ Вот что вас ждет
1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.
2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.
3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.
4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.
🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».
👉 Читать статью
Статья, которая поможет развить навыки решения задач с помощью математики.
👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4
📝 Промпт для идеального рефакторинга кода
ChatGPT способен помочь программистам в решении их проблем с кодом, генерируя решения на месте. Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется.
Вот несколько промтов для рефакторинга:
⚡ ️Как вы обычно рефакторите свой код? Делитесь в комментариях!
Библиотека мобильного программиста #буст
ChatGPT способен помочь программистам в решении их проблем с кодом, генерируя решения на месте. Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется.
Вот несколько промтов для рефакторинга:
1. Предложи улучшения в рефакторинге для [язык] кода с целью повышения тестируемости: [фрагмент кода].
2. Выяви возможности применения [архитектурного паттерна] в данном [язык] коде: [фрагмент кода].
3. Оптимизируй следующий [язык] код для уменьшения использования памяти: [фрагмент кода].
4. Отрефакторь приведенный [язык] код для улучшения обработки ошибок и устойчивости к ним: [фрагмент кода].
5. Предложи такие изменения в приведенном [язык] коде, чтобы соблюдался [SOLID или другой принцип проектирования]: [фрагмент кода].
⚡ ️Как вы обычно рефакторите свой код? Делитесь в комментариях!
Библиотека мобильного программиста #буст
👍1🤔1