Как стать автором
Обновить

Приглашаем на DartUp 2021

Блог компании Surf Разработка мобильных приложений *Dart *Конференции Flutter *

Приходите 3–4 декабря 2021 года на DartUp 2021 — крупную конференцию о Dart и Flutter! Всё будет в онлайне.

Surf — партнёр DartUp. Мы подготовили интерактивный стенд с полезностями и развлечениями: участники смогут поучаствовать в открытом собеседовании, квизах, послушать доклады и пообщаться с Flutter-разработчиками. 

Участие бесплатное, нужно только зарегистрироваться.

Подробности и расписание
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 708
Комментарии 0

Live-coding на SwiftUI: пишем BeautyQR Widget

Блог компании Surf Программирование *Разработка под iOS *Разработка мобильных приложений *

15 декабря (среда). Старт в 18:00 мск

Кто-то набил татуху с QR-кодом с Госуслуг, кто-то напечатал его на футболке, кто-то просто заскриншотил… А мы напишем приложение, которое создаёт виджет с QR-кодом на рабочем столе айфона. Да не простой QR-код, а с красивым ламповым фоном!

Зарегистрироваться на live-coding

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 644
Комментарии 0

Flutter weekend: онлайн-хакатон, лекция, лайвкодинг-сессия уже в эти выходные

Блог компании Surf Программирование *Разработка мобильных приложений *Dart *Flutter *

19 и 20 февраля 2022 года. Начало в 11:00

В ближайшие выходные Surf проведёт Flutter Study Jam Weekend. В программе:

— Теоретическая лекция «Flutter 101» для знакомства с технологией.

— Лайвкодинг-сессия с разбором реализации интересных примеров.

— Онлайн-хакатон.

-> Зарегистрироваться на Flutter weekend

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 948
Комментарии 0

18–20 мая: оффер для бэкенд-разработчика за 1 день

Блог компании Surf Программирование *Java *Kotlin *Удалённая работа

Открываем программу ускоренного трудоустройства для Middle и Senior разработчиков на Java/Kotlin. Тебя ждут всего три шага: подай заявку, пройди онлайн-собеседование и получи оффер. Никаких многоступенчатых собеседований и долгого ожидания ответа. 

Подробности >> 

Читать далее
Всего голосов 3: ↑0 и ↓3 -3
Просмотры 1.6K
Комментарии 1

Применение SURF для создания маркера дополненной реальности

Программирование *Обработка изображений *

Применение SURF для создания маркера дополненной реальности


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

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 19K
Комментарии 6

Поиск кропнутых дубликатов изображений с помощью перцептуальных хешей

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



Читать дальше →
Всего голосов 129: ↑118 и ↓11 +107
Просмотры 69K
Комментарии 39

Организуем ML-проект с помощью Ocean

Блог компании Surf Data Mining *Машинное обучение *

image


Вступление


За годы разработки ML- и DL-проектов у студии Surf накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить первые результаты быстрее.


Очень важно, чтобы все эти материалы были не только в головах разработчиков, но и в читаемом виде на диске. Это позволит эффективнее обучить новых сотрудников, ввести их в курс дела и погрузить в проект.


Конечно, так было не всегда. Мы столкнулись с множеством проблем на первых этапах


  • Каждый проект был организован по-разному, особенно если их инициировали разные люди.
  • Недостаточно отслеживали, что делает код, как его запустить и кто его автор.
  • Не использовали виртуализацию в должной степени, зачастую мешая своим коллегам установкой существующих библиотек другой версии.
  • Забывались выводы, сделанные по графикам, которые осели и умерли в горé jupyter-тетрадок.
  • Теряли отчеты по результатам и прогрессу в проекте.

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


Вишенка на торте — логи проекта, которые агрегируются и превращаются в красивый сайт, автоматически собранный с помощью выполнения одной команды.


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

Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 5.1K
Комментарии 0

Создаем шаблон Xcode проекта

Блог компании Surf Разработка под iOS *Разработка мобильных приложений *Xcode *
Всем привет, я Ваня — iOS-разработчик. В этой статье я расскажу о том, как создавать Xcode шаблоны проектов и о том, как они помогли сэкономить время на старте проекта.


Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 7.4K
Комментарии 5

Rekko Challenge 2019: как это было

Блог компании Surf Машинное обучение *Искусственный интеллект


Не так давно на платформе Boosters прошел контест рекомендательных систем от онлайн-кинотеатра Okko — Rekko Challenge 2019. Для меня это был первый опыт участия в соревновании с лидербордом (ранее пробовал силы только в хакатоне). Задача интересная и знакома мне из практики, призовой фонд есть, а значит, был смысл участвовать. В итоге я занял 14 место, за что организаторы выдали памятную футболку. Приятно. Спасибо.

В этой статье я кратко погружу вас в задачу, расскажу о выдвинутых мной гипотезах, а также о том, как затащить соревнование по рекомендательным системам и попасть в топ-15 без опыта стекинга, что будет особенно полезно тем, кто только собирается участвовать в контестах.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2.1K
Комментарии 2

ViewPager 2 — новая функциональность в старой обертке

Блог компании Surf Разработка под Android *
ViewPager — один из самых известных и широко используемых компонентов Android Support Library. Все простейшие карусели, онбординги и слайдеры в мобильных приложениях для Android выполнены именно на нем. В феврале 2019 года команда разработки AndroidX выпустила ViewPager2. Давайте разберемся, какие у этого были предпосылки и какими преимуществами обладает обновленная версия компонента.


Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 27K
Комментарии 10

Обзор облачных сервисов для разработки бэкенда мобильных приложений

Блог компании Surf Разработка мобильных приложений *Облачные сервисы *
Разработка бэкенда — сложный и затратный процесс. При разработке мобильных приложений ему зачастую уделяется неоправданно больше внимания. Неоправданно, потому что каждый раз приходится реализовывать типичные для мобильных приложений сценарии: отправить push-уведомление, узнать сколько пользователей заинтересовались акцией и оформили заказ и т.п. Хочется решение, которое позволит сфокусироваться на важных для приложения вещах без потери качества и деталей в реализации второстепенных. И такие решения есть!

Подобные сервисы называются Mobile Backend-as-a-Service (MBaaS). Процессы создания бэкенда с их помощью упрощены, по сравнению с разработкой «вручную». Это экономия на найме отдельного backend-разработчика. А тот факт, что провайдер MBaaS берет на себя все вопросы, связанные со стабильностью серверов, балансировкой нагрузки, масштабируемостью и прочими инфраструктурами сложностями, придает уверенности в качестве полученного результата и является основным преимуществом таких сервисов.

В этой статье рассмотрим несколько крупных и зарекомендовавших себя сервисов: Microsoft Azure, AWS Amplify, Google Firebase, Kumulos.


Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 13K
Комментарии 3

Reactive Data Display Manager. Введение

Блог компании Surf Разработка под iOS *Разработка мобильных приложений *Swift *
Это первая часть из цикла статей о библиотеке ReactiveDataDisplayManager (RDDM) от команды iOS разработки Surf. В этой статье я опишу частые проблемы, с которыми приходится сталкиваться при работе с «обычными» таблицами, а также дам описание RDDM.


Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.5K
Комментарии 2

Тестирование Flutter-приложений. Начало

Блог компании Surf Разработка мобильных приложений *Dart *Тестирование мобильных приложений *Flutter *

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


Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 16K
Комментарии 4

Удаленка в IT: личный опыт

Блог компании Surf Карьера в IT-индустрии
Сейчас все больше компаний готовы к найму удаленных сотрудников. Для работодателей это расширяет возможность выбора высококвалифицированных специалистов. В Surf найм удаленных сотрудников практикуется уже давно, на данный момент 40% работают дистанционно — разработчики и менеджеры. Удаленных QA мы не нанимаем из-за специфики мобильной разработки — нужен большой парк устройств, на которых проводится тестирование, и это сложно организовать дома. Процессы в Surf адаптировались к работе с удаленщиками в отлаженный механизм, который позволяет организовать эффективную работу над проектами.

image
Читать дальше →
Всего голосов 31: ↑26 и ↓5 +21
Просмотры 29K
Комментарии 32

Разработка мобильного приложения без сервера

Блог компании Surf Open source *Разработка мобильных приложений *Тестирование мобильных приложений *
Очень часто при разработке мобильных приложений (возможно с веб-приложениями та же проблема) разработчики попадают в ситуацию, когда бэкэнд не работает или не предоставляет нужных методов.

Такая ситуация может происходить по разным причинам. Однако, чаще всего на старте разработки, бэкэнд просто не написан и клиент начинает без него. В таком случае начало разработки затягивается на 2-4 месяца.

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


Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 12K
Комментарии 15

Находим потерянные файлы в нескольких Xcode таргетах

Блог компании Surf Ruby *Разработка под iOS *Разработка мобильных приложений *Xcode *

Привет, я Саня — iOS-разработчик в Surf, и в этой статье поделюсь своим способом решения головной боли, которая возникает при работе на проекте с несколькими таргетами.


Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.8K
Комментарии 14

Проблемы архитектуры в больших проектах

Блог компании Surf Разработка под iOS *Разработка мобильных приложений *Проектирование и рефакторинг *Swift *

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


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


image

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 7.8K
Комментарии 2

Проблемы взаимодействия с внешними командами на больших проектах

Блог компании Surf Разработка под iOS *Разработка мобильных приложений *Дизайн мобильных приложений *

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


image

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.2K
Комментарии 2

Как работать из дома. Чек-лист удаленщика

Блог компании Surf Управление персоналом *Карьера в IT-индустрии Здоровье
В интернете огромное количество заметок на тему удаленной работы, с лаконичным обзором минусов, плюсов и известными советами, как вытащить себя из рутины, начиная с «Первым делом снимите пижаму». В блоге Surf мы уже затрагивали эту тему в статье моей коллеги, которая поделилась своим опытом, но с ростом количества удаленных сотрудников (и моим переходом на «удаленку» после 20-летнего опыта работы в офисе), я решила изучить вопрос глубже: читала зарубежные блоги про удаленную работу и пробовала разные идеи. Здесь поделюсь своим опытом, методами сохранения и повышения мотивации. А в конце статьи я приготовила небольшую памятку сотруднику home office.

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


Читать дальше →
Всего голосов 21: ↑12 и ↓9 +3
Просмотры 15K
Комментарии 8