Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
9.86K subscribers
1.44K photos
66 videos
52 files
4.18K links
Все самое полезное для мобильного разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4adec1b17b35b6c0d8389
Download Telegram
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📱 Чем полезен Server Driven UI

Автор статьи рассказывает о Server Driven UI по такому плану:

• что это вообще за технология

• из чего она состоит

• рассмотрит подходы к ее реализации

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

#новость #android #ios
🤩3
📊 Почему увольнять программистов ради ИИ — путь к провалу

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

➡️ Что внутри статьи

▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.

▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.

▪️ Почему опытные разработчики станут супердорогими и востребованными.

▪️ К чему приведет полная ставка на искусственный интеллект в IT.

🔵 Подтяните свои знания о машинном обучении вместе с нашим курсом «Базовые модели ML и приложения»

🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👾 Как оживает смартфон

Вы когда-нибудь задумывались, что происходит в момент загрузки телефона? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?

Автор статьи рассказывает, что скрывается под капотом Android и показывает процесс его запуска.

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

#новость #android
1
🍏 Neovim для iOS разработки

Старички тут? Нашли для самых отважных крутейший плагин переноса разработки приложений из Xcode в Neovim.

Поддерживает все! От iOS до visionOS.
А так же сборку, запуск, отладку приложений на симуляторах или физических устройствах.

Neovim может быть легко интегрирован с SwiftLint, Swift Format, Copilot.
Очень простая настройка и подробная документация идет в придачу!

👉 Github
🤩4👾31
📲 Погружаемся в мир технологий Яндекс Переводчика

В этом подкасте ведущий Android-разработчик Яндекс Переводчика рассказывает о своем пути в разработку, об уникальных функциях приложения, включая перевод изображений и документов, а также интеграцию с камерой и браузером. Также вы узнаете о будущем переводных технологий в эру больших языковых моделей.

👀 Смотреть видео

#новость #android
😁21
👾 Конструкторы в Kotlin

Свойств у класса может быть столько, сколько ему нужно. Но все они должны быть инициализированы при создании экземпляра этого класса. Поэтому для удобства был придуман конструктор — специальный блок кода, который вызывается при создании экземпляра класса. Ему передаются необходимые значения, которые потом используются для инициализации свойств.

Класс в Kotlin может иметь основной конструктор (primary) и один или более вторичных конструкторов (secondary). У класса может и не быть конструктора, но Kotlin всё равно автоматически сгенерирует основной конструктор по умолчанию (без параметров).

👉 Подробнее в статье

#kotlin
🥰4
🗺️ Pисуем аватарки на карте

Для создания динамичных и визуально привлекательных карт иногда требуется отображать изображения, например, аватары пользователей, загружаемые с сервера.

В статье автор рассматривает, как загрузить изображение через Coil и отобразить его на карте при помощи SDK для Yandex MapKit.

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

#новость #kotlin
🥰51
🍏 Yams — парсер YAML для Swift

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
🤩31👍1
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике

Статья, которая поможет развить навыки решения задач с помощью математики.

➡️ Вот что вас ждет

1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.

2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.

3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.

4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.

🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».

👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4
📝 Промпт для идеального рефакторинга кода

ChatGPT способен помочь программистам в решении их проблем с кодом, генерируя решения на месте. Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется.

Вот несколько промтов для рефакторинга:

1. Предложи улучшения в рефакторинге для [язык] кода с целью повышения тестируемости: [фрагмент кода].

2. Выяви возможности применения [архитектурного паттерна] в данном [язык] коде: [фрагмент кода].

3. Оптимизируй следующий [язык] код для уменьшения использования памяти: [фрагмент кода].

4. Отрефакторь приведенный [язык] код для улучшения обработки ошибок и устойчивости к ним: [фрагмент кода].

5. Предложи такие изменения в приведенном [язык] коде, чтобы соблюдался [SOLID или другой принцип проектирования]: [фрагмент кода].


️Как вы обычно рефакторите свой код? Делитесь в комментариях!

Библиотека мобильного программиста #буст
👍1🤔1
Роботы уже помогают получить работу в Сбере 🤖

⚡️ AI-рекрутер моментально анализирует твои ответы и выдаёт фидбэк сразу после интервью. Больше никаких “Мы вам перезвоним” – всё быстро, чётко и по делу.

Как получить пре-офер от Сбера?
1️⃣ Зарегистрируйся на платформе
2️⃣ Авторизуйся через Телеграм
3️⃣ Пройди AI-интервью

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

🔗 Попробуй прямо сейчас! 👉 https://clc.to/GkOTTA 🚀

Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqubZo8S
🥱3
🤝 💼 IT-конференции: как сходить на мероприятие и извлечь из него максимум пользы

🚀 IT-конференции — это не только про кофе-брейки и бесплатные стикеры. Это шанс завести полезные знакомства, узнать инсайдерскую информацию и найти новые карьерные возможности. Но для этого нужно не просто прийти, а правильно подготовиться и ловить важные моменты.

Как извлечь из мероприятия максимум пользы? Как сделать так, чтобы оно дало не только эмоции, но и реальные бонусы для вашей карьеры?

🔗 Подробнее в статье

🐸 Библиотека джависта
Please open Telegram to view this post
VIEW IN TELEGRAM
😢3👍1😁1
👾 Что нужно сделать, чтобы класс можно было наследовать

По умолчанию, классы в Kotlin объявляются как final, то есть их нельзя наследовать. Если мы всё же попытаемся наследоваться от такого класса, то получим ошибку: «This type is final, so it cannot be inherited from».

Чтобы класс можно было наследовать, его нужно объявить с модификатором open.

open class Fraction {...}


Не только классы, но и функции в Kotlin по умолчанию имеют статус final. Поэтому те функции, которые находятся в родительском классе и которые вы хотите переопределить в дочерних классах, также должны быть отмечены open.

open class Fraction {open fun toAttack() {...}}


Свойства класса также по умолчанию являются final. Для возможности переопределения таких свойств в дочерних классах, не забудьте и их отметить ключевым словом open.

open class Fraction {open val name: String = «default»open fun toAttack() {...}}


При этом, если в открытом классе будут присутствовать функции и свойства, которые не отмечены словом open, то переопределяться они не будут. Но дочерний класс сможет к ним обращаться.

open class Fraction {open val name: String = «default»fun toAttack() {...}}class Horde : Fraction() {override val name = «Horde»}class SomeClass() {val horde = Horde()horde.toAttack()}


Библиотека мобильного разработчика #буст
🤩5👍1🔥1
🤔 Работать в корпорации или стартапе?

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

Что для вас важнее: защищённость и система или возможность креативно подходить к задачам и быстро расти? Голосуйте и пишите своё мнение в комментариях 💬

❤️ — работать в корпорации
🤝 — работать в стартапе
👾 — работать на себя

Библиотека мобильного разработчика #междусобойчик
👾1514🤝6
🔒 Руководство по использованию unsafe

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

1. Прямое использование указателей без обёрток,

2. Применение встроенных обёрток (например, UnsafePointer, UnsafeMutablePointer, UnsafeRawPointer, с их вариациями)

3. Дополнительные механизмы вроде withUnsafePointer, withUnsafeMutablePointer, Unmanaged и OpaquePointer.

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

Библиотека мобильного разработчика #буст
1🤩1
🎉 Поздравляем с 8 марта

Сегодня отмечаем вклад девушек-разработчиков, аналитиков, тестировщиков, тимлидов и всех, кто влюблён в код. Без вас IT не было бы таким, каким мы его знаем. С праздником, коллеги 💐

Женщины оставили огромный след в истории IT. Если вам кажется, что программирование — это исключительно «мужская территория», взгляните, вот лишь несколько легендарных женщин:

🔹 Ада Лавлейс — автор первой компьютерной программы ещё в 19 веке.
🔹 Грейс Хоппер — создала первый компилятор и популяризировала термин «баг».
🔹 Барбара Лисков — её принцип Liskov Substitution является основой ООП, в том числе в Java.
🔹 Эдит Кларк — первая женщина-инженер, внесшая вклад в вычислительные методы в энергетике.
🔹 Маргарет Гамильтон — разработала софт для посадки «Аполлона-11» на Луну.

А это только малая часть. В статье собраны ещё больше вдохновляющих историй.

🔗 Подробнее в статье

🐸 Библиотека джависта
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7👍3