Pull to refresh
0
Сержант Александру @solariserjread⁠-⁠only

User

Send message

Как мы создавали технологию оптического распознавания текста. OCR в Яндексе

Reading time12 min
Views21K
Привет! Сегодня я расскажу читателям Хабра о том, как мы создавали технологию распознавания текста, работающую на 45 языках и доступную пользователям Яндекс.Облака, какие задачи мы ставили и как их решали. Будет полезно, если вы работаете над схожими проектами или хотите узнать, как так получилось, что сегодня вам достаточно сфотографировать вывеску турецкого магазина, чтобы Алиса перевела её на русский.


Читать дальше →

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков

Reading time9 min
Views19K


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


В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в качестве зависимостей:


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

При выборе второго подхода становится логичным использовать CI/CD системы для сборки библиотек в готовые к употреблению артефакты.


Однако, необходимость собирать библиотеки под несколько платформ или архитектур процессора в экосистеме Apple, зачастую, требует проводить не всегда тривиальные операции, как при сборке библиотеки, так и конечного продукта, который её использует.


На этом фоне, было сложно не заметить и крайне интересно изучить, одно из нововведений от Apple, представленное на WWDC 2019 в рамках презентации Binary Frameworks in Swift — формат упаковки фреймворков — XCFramework.


XCFramework имеет несколько преимуществ, в сравнении с устоявшимися подходами:


  1. Упаковка зависимостей под все целевые платформы и архитектуры в единый bundle из коробки.
  2. Подключение bundle в формате XCFramework, как единой зависимости для всех целевых платформ и архитектур.
  3. Отсутствие необходимости в сборке fat/universal фреймворка.
  4. Нет необходимости избавляться от x86_64 слайсов (slice) перед загрузкой конечных приложений в AppStore.

В этой статье мы расскажем, зачем был внедрён этот новый формат, что он из себя представляет, а также, что он даёт разработчику.

Читать дальше →

Yandex maps для приложения Такси

Reading time4 min
Views8.2K
Для большинства приложений, которые используют работу с геопозицией, картами и маршрутами, я предпочитаю Google Maps. Потому как Google Maps имеет обширный набор функций, хорошую документацию, а также отличный mapkit для реализации любых визуальных и программных идей. К большому сожалению Google Maps не является панацей для реализации всех возможных задач. Проблема заключается в том что имеются местности, города и т.д., которые не до конца изучены компанией, и ввиду этого могут отсутствовать номера домов и даже целые улицы.
Читать дальше →

Моя первая виртуальная машина: как не накосячить

Reading time5 min
Views22K
Итак, вот перед вами свеженькая организация в vCloud Director, и вам только предстоит создать свою первую виртуальную машину. Сегодня расскажу, какие настройки выбирать при создании виртуальной машины, чтобы она работала и не просила есть. Поехали!


Источник: drive2.ru
Читать дальше →

Изменения модальной презентации экранов в iOS 13

Reading time9 min
Views20K

Всем привет!


Меня зовут Илья, я из Tinkoff.ru. Я перевел для вас статью от Geoff Hackworth про то, как изменился стиль модальной презентации в iOS 13, на что это повлияло и как работает обратная совместимость с предыдущими версиями iOS и Xcode.


image

Читать дальше →

Распознавание текста с помощью OCR

Reading time3 min
Views51K

Tesseract — это движок оптического распознавания символов (OCR) с открытым исходным кодом, является самой популярной и качественной OCR-библиотекой.


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


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

Читать дальше →

SwiftUI для прошлого конкурсного задания Telegram Charts (март 2019 года): все просто

Reading time21 min
Views8.2K


Сразу начну с замечания о том, что приложение, о котором пойдет речь в этой статье, требует Xcode 11 и MacOS Catalina , если вы хотите использовать Live Previews, и Mojave, если будете пользоваться симулятором. Код приложения находится на Github.

В этом году на WWDC 2019, Apple анонсировала SwiftUI, новый декларативный способ построения пользовательского интерфейса (UI) на всех устройствах Apple. Это практически полное отступление от привычного нам UIKit, и я — как и многие другие разработчики — очень хотела посмотреть этот новый инструмент в действии.

В этой статье представлен опыт решение с помощью SwiftUI некоторой задачи, код которой в рамках UIKit несопоставимо более сложный и его не удается на мой взгляд представить в читабельном виде.
Читать дальше →

Как научить Алису управлять вашим умным домом. Доклад Яндекса

Reading time10 min
Views28K
В конце сентября прошла наша первая встреча для hardware-разработчиков — Яндекс.Железо. Это важный шаг на новом для нас рынке производителей устройств. Участники (около 150 человек) послушали доклады, пообщались и провели много времени на стендах, где можно было заглянуть внутрь беспилотного автомобиля, обезвредить «бомбу», перерезав нужные провода, разобрать Яндекс.Станцию (рекорд — 6 минут 23 секунды), а также протестировать бортовой компьютер Яндекс.Авто и умный дом.





Как раз о платформе умного дома и поговорим сегодня. Весной мы запустили её для всех разработчиков, а на Яндекс.Железе руководитель разработки платформы Марат Мавлютов подвёл первые итоги и показал, как наладить управление устройствами. Из доклада можно узнать о терминах голосового API, способах описания и взаимодействия с девайсом пользователя.
Читать дальше →

Яндекс.Станция Мини. Большая история маленького устройства

Reading time8 min
Views53K
Только что мы представили наше новое устройство — Яндекс.Станцию Мини. Это компактная умная колонка, которая умеет воспроизводить музыку, управлять умным домом, ставить напоминания — и многое другое. А ещё это первая колонка с Алисой, управлять которой можно жестами.

Сегодня мы расскажем читателям Хабра несколько историй об этапах создания Станции Мини. От калибровки оптики и UX-тестирования до неочевидных особенностей работы с электропитанием. А ещё вы узнаете, что такое терменвокс и как он связан с устройством Яндекса.


Читать дальше →

Технологии для «умного города». Станет ли Петербург первым мегаполисом, удобным для слепых?

Reading time4 min
Views3.3K
Представьте себе систему, которая способна обеспечить навигацию для людей с инвалидностью в пределах целого мегаполиса. Спуститься в метро, уверенно пройти по незнакомому району, сориентироваться на вокзале и даже сесть на рейсовый автобус без помощи проводника – для многих слепых это кажется чем-то невероятным. Но в России есть разработчики, которые прямо сейчас превращают мечту миллионов незрячих людей в реальность.



Санкт-Петербург смело можно назвать не только Северной столицей, но и столицей доступности для людей с инвалидностью по зрению. Ведь именно здесь наиболее масштабно применяется система «Говорящий город» (Speaking City), которая позволяет незрячим людям уверенно ориентироваться в инфраструктуре города.

С помощью специальных абонентских устройств или мобильного приложения слепой или слабовидящий человек может найти остановку и воспользоваться общественным транспортом, пройтись по важным городским объектам или уверенно перейти дорогу на зелёный сигнал светофора.
Читать дальше →

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд. дополненное и переработанное»

Reading time9 min
Views6.4K
image Привет, Хаброжители! Язык Swift молод, он растет, развивается и изменяется, хотя основные подходы к программированию и разработке уже сформировались. В новом, пятом издании книги была полностью переработана первая часть книги, что делает знакомство с языком Swift более комфортным, а весь текст актуализирован в соответствии с возможностями Swift 5. В ходе долгого и плодотворного общения с читателями появилось множество идей, благодаря которым новое издание стало еще более полезным и насыщенным учебными материалами. Теперь вы не только изучите Swift, но и получите начальные сведения о принципах разработки полноценных приложений. Мир Swift постоянно меняется, людей со значительным багажом знаний и опыта за плечами еще просто не существует в силу возраста языка, поэтому вы можете стать одним из первых специалистов.
Читать дальше →

Реверс инжиниринг протокола активации Яндекс.Станции

Reading time4 min
Views65K


«Яндекс.Станция» — умная колонка с голосовым помощником Алиса. Чтобы её активировать, нужно поднести телефон и проиграть звук из приложения «Яндекс». Под катом я расскажу, как устроен этот сигнал, про пароль от WiFi в открытом виде и попробую развить идею передачи данных через звук.
Читать дальше →

Выбираем правильную структуру данных в Swift

Reading time8 min
Views15K
И снова здравствуйте. Прежде чем уйти на выходные хотим поделиться с вами переводом материала, который был подготовлен специально для базового курса «iOS-разработчик».




Решить, какую структуру данных использовать для представления заданного набора значений, часто бывает намного сложнее, чем кажется. Поскольку каждый тип структур данных оптимизирован для определенного числа вариантов использования, выбор правильного соответствия для каждого набора данных часто может оказать большое влияние на эффективность нашего кода.
Читать дальше →

А не фигню ли я опять делаю? Как и зачем внедрять метрики качества

Reading time7 min
Views13K
Привет, Хабр! Когда-то мы использовали метрику «Вроде бы стало лучше» для оценки качества наших релизов. Но потом мы решили довериться чему-то более надёжному. В этой статье я расскажу о том, как искал гайд по метрикам, не нашёл и создал свой.


Читать дальше →

USB-педаль для переключения между компьютерами

Reading time5 min
Views30K
Статья из блога самоделкина с ником РедькаМышь

Вот она, во всей своей красе:



Файлы STL:


Зачем я её сделал


Я одновременно использую несколько ноутбуков. На них запущены Linux, OpenBSD, macOS и ChromeOS. Я предпочитаю работать на клавиатуре вслепую и использую навигацию при помощи клавиш. Мне нужно было переключаться между ноутбуками.
Читать дальше →

Workers архитектуры Clean Swift

Reading time4 min
Views6.3K
Привет, читатель!

Ранее мы разобрали как устроен VIP цикл и как совершать переходы между с ценами с передачей данных. Теперь нужно разобраться как разгрузить наш Interactor от переизбытка логики и вынести ее часть для повторного использования другими сценами. И в этом нам помогут Worker’ы. Тема достаточно скромная по объему, но важная для упоминания.


Читать дальше →

Очень много YouTube-каналов для прокачки английского языка для программистов

Reading time4 min
Views61K
Привет, Хабр!

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

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

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →

Космические сверхзвуковые парашюты

Reading time8 min
Views22K
Мы привыкли к тому, что парашют — это то, что раскрывается на финальном этапе посадки. Но так происходит в наших, земных условиях. Плотности атмосферы достаточно, чтобы купол замедлил скорость снижения. И то, парашютистов-людей учат принимать правильное положение, чтобы не поломать ноги, а техника садится с надувными амортизаторами или двигателями мягкой посадки, включающимися на последних секундах. Но в Солнечной системе на небесных телах разные условия, и иногда парашюты выступают в непривычной роли промежуточного этапа посадки. Они раскрываются на огромных, сверхзвуковых скоростях и по форме и пропорциям в лучшем случае лишь отдаленно напоминают нам привычные, земные купола. А еще для замедления в атмосфере предлагаются совсем особенные конструкции.


«Кьюриосити» снижается на парашюте, фото с орбитального аппарата Mars Reconnaissance Orbiter/NASA

Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 1

Reading time10 min
Views87K
Возможно, вы уже слышали о так называемом «функциональном» программировании. Возможно, вы даже подумываете о том, что вам стоит его как-нибудь попробовать.

Ни в коем случае этого не делайте!



Функциональное программирование полно недочётов, оно не подходит для реальных проектов. Его применение приведёт к резкому падению производительности труда. Почему это так? Давайте выясним.

▍→ Часть 2
Читать дальше →

Адский холод, левитация и плазма: прошлое, настоящее и будущее сверхпроводимости

Reading time9 min
Views31K


Сверхпроводимость – открытие с незавидной судьбой по сравнению с другими научными прорывами XX века. Результаты последних быстро нашли путь из теоретической в прикладную науку, а затем – в повседневную жизнь. Сверхпроводимость же постоянно требует от учёных достигать и преодолевать какие-то пределы: температурные, химические, материальные. И даже спустя более чем 100 лет после открытия этого явления, мы все ещё боремся с теми же преградами, которые стояли перед учёными в начале прошлого века. Мы — это и Toshiba тоже, и нам есть что рассказать о нашем вкладе в изучение и приручение сверхпроводимости.

Information

Rating
Does not participate
Location
Кишинев, Молдова, Молдова
Date of birth
Registered
Activity