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

Приглашаем на 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
Просмотры 639
Комментарии 0

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

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

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

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

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

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

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

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

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

Организуем 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

Как смотреть WWDC 2020, если ты не разработчик

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

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


В этой статье расскажу, как сориентироваться в веренице всего и поделюсь нашим опытом работы с материалами конференции. Но для начала немного поговорим про то, что же такое WWDC.


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

Тестирование Flutter-приложений: инструменты, преимущества, проблемы

Блог компании Surf Dart *Тестирование мобильных приложений *Flutter *
Привет! Меня зовут Мария Лещинская, я QA-специалист в Surf. Наша компания разрабатывает нативные приложения с 2011 года, а с 2018-го мы занимаемся ещё и разработкой под Flutter.

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


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

Формальные грамматики на службе мобильного клиента

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

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

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


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

«Flutter клёвенький — у меня только такое объяснение». Обзор лучших выпусков Flutter Dev Podcast

Блог компании Google Developers Разработка мобильных приложений *Flutter *
Привет! На связи Flutter Dev Podcast и его создатель и ведущий — Евгений Сатуров. 

Вместе с коллегами из Flutter-комьюнити мы делаем подкаст про Flutter. Первый эпизод вышел 29 января 2019 года. С тех пор каждый месяц мы приглашаем коллег из мира Flutter и других сфер IT: обсуждаем новости, события, технические нюансы, даём советы из боевого опыта — в общем, смотрим на Flutter с разных ракурсов.

Как и зачем мы делаем подкаст, я подробно рассказал на vc.ru. В этой статье я сделал обзор самых интересных и популярных эпизодов Flutter Dev Podcast.


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