Сканер штрих-кодов в Озоне
Ловите статью про крутую прикладную задачу – сделать сканнер штрих-кодов. От выбора фреймворка и их сравнений до борьбы с багами, из-за которых пришось понижать его чувствительность.
P.S. Обожаю статьи про сканирования и камеры еще и потому, что одна из моих команд делает платежную умную камеру, и это безумно крутая фича, как технически, так и как продукт. Чего только стоит распознавание котов и собак, которое мы сделали в конце прошлого года🌈 🥰
Ловите статью про крутую прикладную задачу – сделать сканнер штрих-кодов. От выбора фреймворка и их сравнений до борьбы с багами, из-за которых пришось понижать его чувствительность.
P.S. Обожаю статьи про сканирования и камеры еще и потому, что одна из моих команд делает платежную умную камеру, и это безумно крутая фича, как технически, так и как продукт. Чего только стоит распознавание котов и собак, которое мы сделали в конце прошлого года
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты
Всем привет, меня зовут Никита, я старший разработчик в компании Озон и работаю над iOS-приложением «Пункт Озон». «Пункт Озон» — это мобильное приложение для работников и менеджеров пункта выдачи...
🔥8❤2
Swift Method Dispatch
Бесконечно вечно можно делать три вещи: смотреть как горит огонь, смотреть как течет вода и читать статьи про диспетчирезацию в Swift'е.
Бесконечно вечно можно делать три вещи: смотреть как горит огонь, смотреть как течет вода и читать статьи про диспетчирезацию в Swift'е.
Jacobstechtavern
The Swift Method Dispatch Deep Dive
And the compiler's endless quest to speed up your code
👍14😁3
Первая статья про приложение для Vision Pro
Ребята из 2ГИС выпустили статью про историю и особенности создания приложения для нового девайса от эпла. Забирайте почитать на выходные.
А я уже успел потестить как и это приложение, так и сам Vision Pro, но пока думаю в каком формате об этом лучше рассказать. Можете накидать вопросов в тред или в личку.
Ребята из 2ГИС выпустили статью про историю и особенности создания приложения для нового девайса от эпла. Забирайте почитать на выходные.
А я уже успел потестить как и это приложение, так и сам Vision Pro, но пока думаю в каком формате об этом лучше рассказать. Можете накидать вопросов в тред или в личку.
Хабр
Миссия выполнима: как мы создали приложение для Apple Vision Pro за 8 дней
Всем привет! На связи Саша Сырков из 2ГИС, и это рассказ, как чуть больше недели мы разрабатывали приложение на Vision OS, разбирались в особенностях Reality Composer Pro, ловили всевозможные...
👍13
Базовая статья про LLM
Не совсем по теме iOS, но натолкнулся и не могу не поделиться крутой статьей, которая раскрывает очень много аспектов вокруг LLM: от архитектур и отличий моделей, до настройки и запуска у себя на машине. В мире AI все очень быстро устаревает, но статья свежая и в ней достаточно актуальная инфа.
Забирайте на почитать на эти выходные.
Не совсем по теме iOS, но натолкнулся и не могу не поделиться крутой статьей, которая раскрывает очень много аспектов вокруг LLM: от архитектур и отличий моделей, до настройки и запуска у себя на машине. В мире AI все очень быстро устаревает, но статья свежая и в ней достаточно актуальная инфа.
Забирайте на почитать на эти выходные.
Хабр
Раскрывая секреты LLM: руководство по основным понятиям больших языковых моделей без хайпа
AI-хайп, честно говоря, слегка задолбал. Кажется, что все вокруг только и делают, что внедряют в продукт как можно больше AI фичей, поднимают миллионы на оболочку для ChatGPT, осваивают сто первый...
👍5❤1
Что такое Accelerate и с чем его едят
Мало кто вообще слышал об этом фреймворке и, возможно, никогда не придет к тому, чтобы его использовать. Но чем шире ваши знания, тем больше шансов, что когда у вас появится специфическая задача, вы выберете правильный инструмент для ее решения.
Мало кто вообще слышал об этом фреймворке и, возможно, никогда не придет к тому, чтобы его использовать. Но чем шире ваши знания, тем больше шансов, что когда у вас появится специфическая задача, вы выберете правильный инструмент для ее решения.
Хабр
Почему Accelerate — это не страшно
Всем привет! Я Игорь Белов, iOS-разработчик в Тинькофф Бизнесе, выпускник Университета Иннополис и энтузиаст в области Computer Science. Занимаюсь iOS-разработкой почти четыре года, мне нравится...
👍8❤1🔥1
SwiftUI: архитектура State-Model-View
Статья про подход к построению простой архитектуры через @State для отображения состояний. Автор советует не переусложнять и практично использовать SwiftUI так, “как оно есть”.
Но мне кажется, что это будет нормально работать только на простых экранах. Если делать что-то сложнее чем экран с парой кнопок, то в этих состояниях уже можно будет утонуть.
Статья про подход к построению простой архитектуры через @State для отображения состояний. Автор советует не переусложнять и практично использовать SwiftUI так, “как оно есть”.
Но мне кажется, что это будет нормально работать только на простых экранах. Если делать что-то сложнее чем экран с парой кнопок, то в этих состояниях уже можно будет утонуть.
Хабр
SwiftUI: архитектура State-Model-View
В документации по UIKit компании Apple можно найти объяснение , что структура приложений основана на шаблоне проектирования Model-View-Controller ( MVC ). В материалах Apple по SwiftUI объяснений и...
👍5🔥2❤1
Автоматизация сборки приложения
Тему CI/CD незаслуженно обходят стороной, не придавая ей должного внимания, а ведь от CI/CD напрямую зависит time to market — время, которое компания тратит на реализацию и выпуск продукта, а разработчики могут сосредоточиться на инновациях и улучшении функциональности приложений.
В статье подробный гайд по настройке автоматизации сборки приложения для AppStore, используя Jenkins, Fastlane, TestFlight
Тему CI/CD незаслуженно обходят стороной, не придавая ей должного внимания, а ведь от CI/CD напрямую зависит time to market — время, которое компания тратит на реализацию и выпуск продукта, а разработчики могут сосредоточиться на инновациях и улучшении функциональности приложений.
В статье подробный гайд по настройке автоматизации сборки приложения для AppStore, используя Jenkins, Fastlane, TestFlight
Хабр
Сборка приложения для AppStore. Используем Jenkins, Fastlane, TestFlight
Большой туториал настройки CI/CD пайплайна с использованием Jenkins и Fastlane. Мухаммадиер Расулов TeamLead IOS в YuSMP Group, автор материала Внедрение CI/CD в процесс создания iOS-приложений ...
👍7⚡3🔥1
Порефлексируем немного?
Reflection в swift – механизм, позволяющий получать информацию о типе, публичных и приватных свойствах объекта в Runtime и работать с ними.
Иногда полезный механизм, но лучше сто раз подумать, перед тем, как использовать его для какой то конкретной фичи в проде.
Reflection в swift – механизм, позволяющий получать информацию о типе, публичных и приватных свойствах объекта в Runtime и работать с ними.
Иногда полезный механизм, но лучше сто раз подумать, перед тем, как использовать его для какой то конкретной фичи в проде.
Хабр
Reflection в iOS: как посмотреть содержимое любой сущности
В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью...
⚡9🔥1
Локализация мобильного приложения на iOS: процесс, трудности и решения
Статья в прямом смысле о трудностях перевода: проблемы и их решение, про системный алгоритм выбора языка, пример перевода приложения «на лету» и многом другом в процессе локализации.
Статья в прямом смысле о трудностях перевода: проблемы и их решение, про системный алгоритм выбора языка, пример перевода приложения «на лету» и многом другом в процессе локализации.
Хабр
О, вы из Англии? Локализация Ozon Seller на iOS
Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и всячески улучшает пользовательский...
👍10🔥2
Server-side Swift для AI задач
Вдруг вы решили, что вам срочно нужно приложение с фунцией классификации изображения или другой ML задачей и вы не хотите делать это на клиенте, а знаете только Swift, то для вас есть решение – Vapor + CoreML.
Не уверен, что можно масштабировать этот подход на большое количество пользователей, но сделать Proof of concept более чем можнои получить миллионы $ инвестиций
Вдруг вы решили, что вам срочно нужно приложение с фунцией классификации изображения или другой ML задачей и вы не хотите делать это на клиенте, а знаете только Swift, то для вас есть решение – Vapor + CoreML.
Не уверен, что можно масштабировать этот подход на большое количество пользователей, но сделать Proof of concept более чем можно
Create with Swift
Using server-side Swift for machine learning processing
In this tutorial learn how to use a machine learning model in a Vapor server using Swift.
👍13❤2🔥2
Шаблон Trigger в SwiftUI
В последней версии SwiftUI появился шаблон Trigger. С его помощью можно заставить UI реагировать каждый раз, когда значение свойства, которое мы установим как триггер изменилось.
Подойдет, например, чтобы заставить Scroll Indicator мигать, воспроизводить звук или выполнить анимацию при каком-либо действии. И все это можно делать как "шаблон", который можно переиспользовать на других UI элементах.
В последней версии SwiftUI появился шаблон Trigger. С его помощью можно заставить UI реагировать каждый раз, когда значение свойства, которое мы установим как триггер изменилось.
Подойдет, например, чтобы заставить Scroll Indicator мигать, воспроизводить звук или выполнить анимацию при каком-либо действии. И все это можно делать как "шаблон", который можно переиспользовать на других UI элементах.
Swift with Majid
Trigger value pattern in SwiftUI
The recent version of the SwiftUI framework introduces a trigger value pattern across its APIs. Trigger value allows us to attach a view modifier that runs its action whenever the trigger value changes. You can find this pattern while using sensory feedback…
👍11❤2
GraphQL в IOS разработке
Aльтернативный подход к разработке сетевого API, который позволяет более тонко настроить детали запросов, используя единственную конечную точку.
В отличие от традиционных RESTful API, GraphQL позволяет клиенту запросить только необходимые поля, минуя лишнюю информацию, что существенно уменьшает количество запросов в сеть и улучшает производительность приложения.
Aльтернативный подход к разработке сетевого API, который позволяет более тонко настроить детали запросов, используя единственную конечную точку.
В отличие от традиционных RESTful API, GraphQL позволяет клиенту запросить только необходимые поля, минуя лишнюю информацию, что существенно уменьшает количество запросов в сеть и улучшает производительность приложения.
Tanaschita
GraphQL essentials for iOS development
This article provides you with the essentials of GraphQL, especially those you need to know as an iOS developer.
⚡5👍3🔥3
Библиотека Apollo iOS для работы с GraphQL
В статье о том, как внедрить и использовать библиотеку Apollo iOS для создания приложений с поддержкой GraphQL.
Установка либы может показаться излишне сложной, но это тот случай, когда один раз разобрался и дальше просто применяешь на практике.
В статье о том, как внедрить и использовать библиотеку Apollo iOS для создания приложений с поддержкой GraphQL.
Установка либы может показаться излишне сложной, но это тот случай, когда один раз разобрался и дальше просто применяешь на практике.
Tanaschita
Getting started with Apollo iOS for GraphQL in Swift
Learn how to integrate GraphQL into a Swift application using Apollo iOS. Add Apollo dependency using the Swift Package Manager, install Codegen CLI, download schema and more.
💯6⚡2
Визуализация данных в SwiftUI с Swift Charts
Swift Charts - фреймворк от Apple, который позволяет преобразовывать данные в информативные и настраиваемые графики и диаграммы с очень небольшим количеством кода.
Включает в себя множество функций для создания различных типов графиков, таких как линейные, точечные или гистограммы.
Еще один плюсик в том, что теперь можно обойтись без использования сторонних зависимостей.
Swift Charts - фреймворк от Apple, который позволяет преобразовывать данные в информативные и настраиваемые графики и диаграммы с очень небольшим количеством кода.
Включает в себя множество функций для создания различных типов графиков, таких как линейные, точечные или гистограммы.
Еще один плюсик в том, что теперь можно обойтись без использования сторонних зависимостей.
AppTractor
Создаем гистограмму с помощью Swift Charts
На WWDC 22 Apple представила Swift Charts, фреймворк, позволяющий визуализировать данные в виде гистограмм. До его появления нам приходилось подключать всевозможные сторонние решения для построения графиков в SwiftUI. Визуализация данных с помощью аналогичного…
👍7✍2
This media is not supported in your browser
VIEW IN TELEGRAM
GPT-4o 🧠
Open AI выпустили новую языковую модель GPT-4o (o” значит “omni”), которая:
- мощнее других моделей
- доступна для бесплатных пользователей
-мультимодальна омниканальна: может генерировать контент или понимать команды в виде голоса, текста или изображений. Вот это просто настоящая магия ✨
- улавливает эмоции и может отвечать с разной интонацией😯
- доступна уже сейчас
Было очень много слухов, что Apple подружились с OpenAI и Siri ждет новое воплощение. К сожалению, об этом на презентации не было ни слова. Но я определенно с нетерпением буду ждать эту «One more thing» на WWDC. Такую Siri я бы очень хотел видеть.
P.S. Вы только посмотрите, как круто она отвечает голосом, как быстро и уместно она это делает. Очень советую полистать видосы про возможности у них в анонсе, для меня это взрыв мозга.
Open AI выпустили новую языковую модель GPT-4o (o” значит “omni”), которая:
- мощнее других моделей
- доступна для бесплатных пользователей
-
- улавливает эмоции и может отвечать с разной интонацией
- доступна уже сейчас
Было очень много слухов, что Apple подружились с OpenAI и Siri ждет новое воплощение. К сожалению, об этом на презентации не было ни слова. Но я определенно с нетерпением буду ждать эту «One more thing» на WWDC. Такую Siri я бы очень хотел видеть.
P.S. Вы только посмотрите, как круто она отвечает голосом, как быстро и уместно она это делает. Очень советую полистать видосы про возможности у них в анонсе, для меня это взрыв мозга.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤯4❤3💯1
Карантин UI тестов
Одна из проблем UI тестов – это их стабильность и больнее всего эта проблема ощущается, когда начинают падать UI тесты в компонентах, которые не были затронуты.
Ребята из hh.ru рассказывают как они решали эту проблему с помощью добавления таких тестов в «карантинный» тест план.
Одна из проблем UI тестов – это их стабильность и больнее всего эта проблема ощущается, когда начинают падать UI тесты в компонентах, которые не были затронуты.
Ребята из hh.ru рассказывают как они решали эту проблему с помощью добавления таких тестов в «карантинный» тест план.
Хабр
Карантин UI-тестов в iOS
Всем привет! Я Тимур — iOS разработчик в платформенной команде hh.ru . Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся. Мы уделяем массу внимания UI-тестам, ведь именно...
🔥4❤1
Function Body Macros
Макросы продолжают развиваться: теперь их можно будет использовать для функций. Например, можно будет дополнить функции шаблонным кодом логирования:
Вместо привычного:
Попробовать можно уже сейчас, но для этого нужно скачать текущий снепшот и добавить:
Ждем в будущих версиях Swift'а!
Макросы продолжают развиваться: теперь их можно будет использовать для функций. Например, можно будет дополнить функции шаблонным кодом логирования:
@Logged
func g(a: Int, b: Int) -> Int {
return a + b
}
Вместо привычного:
func g(a: Int, b: Int) -> Int {
log("Entering g(a: \(a), b: \(b))")
defer {
log("Exiting g")
}
return a + b
}
Попробовать можно уже сейчас, но для этого нужно скачать текущий снепшот и добавить:
-enable-experimental-feature BodyMacros
Ждем в будущих версиях Swift'а!
🔥18👎3
Getting to Know TextKit
Многие из вас работают со стандартными дизайн компонентами, такими как UILabel и их почти всегда хватает. Но как только нам нужно сделать что-то более сложное, более производительное или что-то очень кастомное, то на помощь нам приходят более низкоуровневые фреймворки, например, TextKit.
В недавно прошедшей конференции try! Swift Tokyo Conference 2024 как раз был доклаз про TextKit 2, его внутренности и для каких задач его можно использовать.
Многие из вас работают со стандартными дизайн компонентами, такими как UILabel и их почти всегда хватает. Но как только нам нужно сделать что-то более сложное, более производительное или что-то очень кастомное, то на помощь нам приходят более низкоуровневые фреймворки, например, TextKit.
В недавно прошедшей конференции try! Swift Tokyo Conference 2024 как раз был доклаз про TextKit 2, его внутренности и для каких задач его можно использовать.
YouTube
try! Swift Tokyo 2024 - Getting to Know TextKit
After a year of developing an editor component with the TextKit 2 framework, I gained knowledge of best practices and techniques. I am thrilled to share my experience and insights.
Speaker: Marcin Krzyzanowski
try! Swift Tokyo Conference 2024 - try! Swift…
Speaker: Marcin Krzyzanowski
try! Swift Tokyo Conference 2024 - try! Swift…
👍3🔥3🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
New accessibility features
Apple показали новые возможности в сфере «доступности», которые появятся в iOS 18. Что меня прям очень радует:
- отслеживание взгляда пользователя, которое поможет людям с ограниченными возможностями взаимодействовать с контентом
- Music Haptics – новый способ прослушивания музыки для глухих или слабослышащих пользователей
- «Прослушивание нетипичный речи» – улучшение распознавания голоса пользователей с приобретенными или прогрессирующими речевыми заболеваниями
- «Vehicle Motion Cues» – это вообще magic✨ для многих – обещают меньше укачивания при езде в машине и залипании в телефон
Очень круто, что многие эти вещи работаю «on-device» и благодаря вкладу Apple в AI: самое настоящее применение современных технологий для прикладных задач.
Apple показали новые возможности в сфере «доступности», которые появятся в iOS 18. Что меня прям очень радует:
- отслеживание взгляда пользователя, которое поможет людям с ограниченными возможностями взаимодействовать с контентом
- Music Haptics – новый способ прослушивания музыки для глухих или слабослышащих пользователей
- «Прослушивание нетипичный речи» – улучшение распознавания голоса пользователей с приобретенными или прогрессирующими речевыми заболеваниями
- «Vehicle Motion Cues» – это вообще magic
Очень круто, что многие эти вещи работаю «on-device» и благодаря вкладу Apple в AI: самое настоящее применение современных технологий для прикладных задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Подробно об акторах в Swift
Акторы в Swift 5.5 предназначены для безопасной обработки общего изменяемого состояния и предотвращения гонок данных при работе с многопоточностью.
В Swift акторами гарантируется изоляция данных: все изменяемые свойства и функции в акторе изолированы от прямого доступа извне.
В статье автор приводит примеры работы с акторами, подсвечивает основные моменты при работе с ними, а так же описывает процесс перехода на них.
Акторы в Swift 5.5 предназначены для безопасной обработки общего изменяемого состояния и предотвращения гонок данных при работе с многопоточностью.
В Swift акторами гарантируется изоляция данных: все изменяемые свойства и функции в акторе изолированы от прямого доступа извне.
В статье автор приводит примеры работы с акторами, подсвечивает основные моменты при работе с ними, а так же описывает процесс перехода на них.
Medium
Подробно об акторах в Swift
Не зубрить, но разбираться
👍7🔥3