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

iOS Developer

Отправить сообщение

Swift 5.0. Что нового?

Время на прочтение6 мин
Количество просмотров20K

Swift 5 — долгожданный релиз, включающий в себя несколько десятков улучшений и исправлений. Но самой главной целью релиза Swift 5.0 было достижение ABI стабильности. В этой статье вы узнаете, что такое ABI и что стабильный ABI даст iOS/macOS разработчикам. А также проведём разбор нескольких новых фич Swift 5.


Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии7

Как получить оффер в день собеседования и не ждать сто лет

Время на прочтение3 мин
Количество просмотров37K

enter image description here


UPD: По итогам мероприятия мы сделали 8 предложений о работе: 5 – iOS-разработчикам, 3 – Android-разработчикам.


Привет, Хабр! Я Богдан, разработчик в iOS-команде Badoo в Лондоне. Прочитав заголовок, вы можете подумать, что в Badoo совсем с ума сошли публиковать посты на такие темы. Но пост вполне для Хабра. Мы сейчас очень активно расширяем iOS- и Android-команды и ищем разработчиков по всему миру. Естественно, Москву обойти стороной просто не можем (наш второй офис здесь). Мы хотим провести достаточно необычное мероприятие, чтобы после него обзавестись новыми коллегами.


Мы (мобильные команды Badoo) решили приехать на несколько дней в Москву и провести небольшую встречу, после которой несколько разработчиков (iOS и Android) получат предложения о работе у нас (в Лондоне). Чтобы не затягивать эту самую встречу, мы сделали онлайн-тест (он не суперсложный, а скорее чтобы понять ваш уровень и упростить и ускорить личные встречи).

Читать дальше →
Всего голосов 89: ↑63 и ↓26+37
Комментарии51

IT-meetup Superjob «iOS — архитектура дизайна, кода, деплоя» (отчет, презентации, видео)

Время на прочтение2 мин
Количество просмотров6.5K
Видео, доклады и краткий отчет для тех, кто не доехал.

В новом офисе Superjob на Малой Дмитровке состоялся первый в 2017 году митап по мобильной iOS-разработке. Приложение Superjob для поиска работы стабильно «проживает» в топе AppStore, а счет установок давно идет на миллионы. Мы первыми запустили приложение для корпоративных пользователей, и сегодня тысячи работодателей уже даже и не обращаются к веб-версии. Так что опыт у нашей команды действительно уникальный. Таким обычно службы безопасности делиться не разрешают. Но у нас СБ нет — запретить вечеринку было некому.

Всего голосов 19: ↑19 и ↓0+19
Комментарии6

IT-meetup Superjob «iOS — архитектура дизайна, кода, деплоя». Прямая трансляция в Facebook

Время на прочтение1 мин
Количество просмотров2K
Специально для тех, кто не успел зарегистрироваться на митап Superjob «iOS — архитектура дизайна, кода, деплоя», мы организуем прямую трансляцию события на нашей странице в Facebook.

Через полчаса, в 19:00 по московскому времени, мы начнем рассказ о кейсах в онлайн режиме.

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

Многопоточность (concurrency) в Swift 3. GCD и Dispatch Queues

Время на прочтение28 мин
Количество просмотров321K
Надо сказать, что многопоточность (сoncurrency) в iOS всегда входит в вопросы, задаваемые на интервью разработчикам iOS приложений, а также в число топ ошибок, которые делают программисты при разработке iOS приложений. Поэтому так важно владеть этим инструментом в совершенстве.
Итак, у вас есть приложение, оно работает на main thread (главном потоке), который отвечает за выполнение кода, отображающего ваш пользовательский интерфейс (UI). Как только вы начинаете добавлять к вашему приложению такие «затратные по времени» куски кода, как загрузка данных из сети или обработка изображений на main thread (главном потоке), то работа вашего UI начинает сильно замедляться и даже может привести к полному его «замораживанию».



Как можно изменить архитектуру приложения, чтобы таких проблем не возникало? В этом случае на помощь приходит многопоточность (сoncurrency), которая позволяет одновременно выполнять две или более независимые задачи (tasks): вычисления, загрузку данных из сети или с диска, обработку изображений и т.д.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии14

Разработка архитектуры нового приложения для пассажиров Uber

Время на прочтение14 мин
Количество просмотров35K
— Здравствуйте. Скажите, сколько стоит сделать приложение типа Uber?

Менеджер по входящим заявкам нашей компании получает звонки с таким содержанием стабильно раз в неделю. Понимать его стоит, как правило, так: либо клиент хочет себе настолько же успешный аналог приложения для связи между пассажиром и водителем, либо Uber для ______ (вписать нужную отрасль).

В такие моменты мы отвечаем, что Uber — это технически очень сложный проект с миллионными инвестициями и сотнями тысяч человекочасов разработки, и что делать его клон не очень целесообразно.

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

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


Всего голосов 29: ↑26 и ↓3+23
Комментарии21

Заметки фрилансера: как перестать бояться и начать работать на себя

Время на прочтение9 мин
Количество просмотров93K

Привет! Последние несколько лет я занимался фрилансом на Upwork (бывший oDesk) и вот наконец решился поделиться своим опытом и наблюдениями с Хабрасообществом в небольшом цикле статей. Начать хотелось бы издалека: кому на мой взгляд стоит рассмотреть фриланс как основной вид своей деятельности + хотелось бы разобрать основные «отпугивающие» факторы, которые мешают многим решиться. Кому небезразлична тема фриланса и Upwork в частности — добро пожаловать под кат.
Читать дальше →
Всего голосов 38: ↑29 и ↓9+20
Комментарии185

Я техлид. Что делать?

Время на прочтение13 мин
Количество просмотров43K
Больше года я занимаю должность технического лидера в своей компании, и хочется поделиться наработками по теме. Имеет смысл уточнить: я веду отдел iOS-разработки из 10 человек в компании-аутсорсере. В моём случае должность подразумевает оптимизацию работы отдела, распределение задач между разработчиками и активности, связанные с программированием. Расскажу немного о своём опыте, наработках и умозаключениях. Статья может быть полезна прежде всего новичкам на аналогичной должности, либо тем, кто на неё метит. Какие-то практики и принципы могут быть переносимы на обычную разработку, на другие платформы или даже другие специальности.
Читать дальше →
Всего голосов 53: ↑50 и ↓3+47
Комментарии30

Система KPI в компании: как не пойти на три буквы

Время на прочтение16 мин
Количество просмотров115K
Оценивать что-либо — очень сложно. Для этого нужно быть экспертом в той сфере, о которой идёт речь, уметь учитывать сторонние факторы, выбирать. Но всё знать и уметь нельзя. Однако бизнес подобрался к решению проблемы оценки вплотную — были придуманы показатели KPI. Но этот мощный и проработанный инструмент оказался не таким простым и безобидным. В компаниях вокруг KPI бушуют нешуточные страсти, в которых есть место даже ненависти и личным мотивам. Несколько месяцев жизни нашей компании были посвящены созданию системы расчёта KPI внутри CRM. Сегодня можно выдохнуть и сказать, что всё получилось. А заодно поделиться интересной информацией и своими выводами. В общем, про эти три буквы мы теперь знаем гораздо больше, чем про те.


Всего голосов 35: ↑30 и ↓5+25
Комментарии52

Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

Время на прочтение14 мин
Количество просмотров92K

Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


Читать дальше →
Всего голосов 145: ↑141 и ↓4+137
Комментарии38

Архитектура WhatsApp, которую Facebook купил за $19 миллиардов

Время на прочтение20 мин
Количество просмотров87K

В очередной раз хочу предложить свой перевод статьи, на этот раз автор Тодд Хофф, и его статья посвященна архитектуре WhatsApp на момент его покупки Facebook.


Ремарка: в начале статьи содержится рассуждение автора оригинала о том, зачем Facebook купил WhatsApp за баснословные 19 миллиардов. Если это вам не интересно — просто пролистайте, описание архитектуры будет ниже.


Рик Рид в его предстоящем мартовском докладе, озаглавленном "Миллиард с большой 'М': Следующий уровень масштабирования в WhatsApp" раскрывает сногсшибательную статистику WhatsApp:


Что имеет сотни узлов, тысячи ядер, сотни терабайт RAM и надеется обслужить миллиарды смартфонов, которые вскоре станут реальностью по всему миру? Основанная на Erlang и FreeBSD архитектура WhatsApp. Мы столкнулись со многими трудностями при удовлетворении постоянно растущего спроса на наш сервис обмена сообщениями, но мы продолжаем расширять нашу систему с точки зрения размера (> 8000 ядер) и с точки зрения скорости (>70М сообщений Erlang в секунду).
Читать дальше →
Всего голосов 66: ↑62 и ↓4+58
Комментарии58

Самое главное о нейронных сетях. Лекция в Яндексе

Время на прочтение30 мин
Количество просмотров185K
Кажется, не проходит и дня, чтобы на Хабре не появлялись посты о нейронных сетях. Они сделали машинное обучение доступным не только большим компаниям, но и любому человеку, который умеет программировать. Несмотря на то, что всем кажется, будто о нейросетях уже всем все известно, мы решили поделиться обзорной лекцией, прочитанной в рамках Малого ШАДа, рассчитанного на старшеклассников с сильной математической подготовкой.

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



Константин klakhman Лахман закончил МИФИ, работал исследователем в отделе нейронаук НИЦ «Курчатовский институт». В Яндексе занимается нейросетевыми технологиями, используемыми в компьютерном зрении.

Под катом — подробная расшифровка со слайдами.
Читать дальше →
Всего голосов 136: ↑133 и ↓3+130
Комментарии16

8 лекций, которые помогут разобраться в машинном обучении и нейросетях

Время на прочтение2 мин
Количество просмотров84K



Мы собрали интересные лекции, которые помогут понять, как работает машинное обучение, какие задачи решает и что нам в ближайшем будущем ждать от машин, умеющих учиться. Первая лекция рассчитана скорее на тех, кто вообще не понимает, как работает machine learning, в остальных много интересных кейсов.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии5

Разработка через тестирование в iOS

Время на прочтение11 мин
Количество просмотров26K

Содержание:


  • Разработка через тестирование – что это?
  • Три закона TDD
  • Примеры применения
  • Преимущества и недостатки
  • Литература и ссылки


Разработка через тестирование – что это?


Разработка через тестирование (Test-driven development) — техника разработки программного обеспечения, которая определяет разработку через написание тестов. В сущности вам нужно выполнять три простых повторяющихся шага:
— Написать тест для новой функциональности, которую необходимо добавить;
— Написать код, который пройдет тест;
— Провести рефакторинг нового и старого кода.

Мартин Фаулер



Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии10

Путеводитель по WWDC’16 для мобильных разработчиков

Время на прочтение8 мин
Количество просмотров11K

Вид из Moscone West


После WWDC на сайте Apple размещается очень много сессий. Чтобы разобраться, что смотреть, а что нет, требуется куча времени. Так как я провел всю неделю на конференции и просмотрел множество топиков, захотелось собрать в одном месте краткий список новинок и видео, которые нужно посмотреть по каждой теме.


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

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии0

API hh.ru. Быстрый старт

Время на прочтение4 мин
Количество просмотров64K

Полагаю, некоторые из вас знают, что у hh.ru есть открытый API (мы рассказывали о нем тут и тут), который используем не только мы, но и сторонние разработчики. С его помощью, например, можно очень детально анализировать рынок на больших объемах актуальных данных.

Я задумал серию из двух статей: в этой покажу, как можно быстро и просто начать использовать API, а в следующей сделаю небольшой проект, рекомендующий актуальные вакансии по вашему резюме.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии16

Боль и анимация таблиц для iOS. Фреймворк Awesome Table Animation Calculator

Время на прочтение10 мин
Количество просмотров12K

Представим себе экран обычного мобильного приложения с уже заполненным списком ячеек. С сервера приходит другой список. Нужно посчитать разницу между ними (что добавилось/удалилось) и проанимировать UICollectionView.


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


Раз проблема встретилась в нескольких проектах, нужно её обобщить и работать дальше с обобщённой реализацией. Интересная задача! Несколько дней борьбы с документацией, здравым смыслом, багами реализации таблиц в iOS, и получился код с достаточно простым интерфейсом, адаптирующийся к широкому кругу задач, про который я хочу рассказать.

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

RxSwift шпаргалка по операторам (+ PDF)

Время на прочтение41 мин
Количество просмотров135K


Заинтересовавшись темой функционального программирования я встал на распутье, — какой фреймворк выбрать для ознакомления. ReactiveCocoa — ветеран в iOS кругах, по нему вдоволь информации. Но он вырос с Objective-C, и хотя это не является проблемой, но все же в данный момент я в основном пишу именно на Swift, — хотелось бы взять решение изначально спроектированное с учетом всех плюшек языка. RxSwift же порт Reactive Extensions, имеющего долгую историю, но сам порт свежий и написанный именно под Swift. На нем я и решил остановиться.
Но специфика документации по RxSwift в том, что описание всех команд ведет на reactivex.io, а там в основном дается общая информация, руки у разработчиков не дошли еще сделать документацию именно для RxSwift, что не всегда удобно. Некоторые команды имеют тонкости в реализации, есть те, о которых в общей документации нет ничего кроме упоминания.
Прочитав все главы вики с RxSwift гитхаба, я сразу решил поразбираться с официальными примерами, тут то и стало ясно, что с RX такое не пройдет, нужно хорошо понимать основы, иначе будешь как мартышка с копипастом гранатой. Я начал разбирать самые сложные для понимания команды, потом те, что вроде понятны, но задав себе вопросы по ним я понял, что лишь догадываюсь на то как верно ответить, но не уверен.
В общем ничтоже сумняшеся я решил проработать все операторы RxSwift. Лучший способ что то понять в программировании — запустить код и посмотреть как он отработает. Затем учитывая специфику реактивного программирования — очень полезны схемы, ну и краткое описание на русском. Закончив сегодня работу, я подумал, что грех не поделиться результатами с тем, кто лишь присматривается к теме реактивного программирования.
Много картинок и текста под катом, очень много!
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии21

Архитектурные паттерны в iOS

Время на прочтение14 мин
Количество просмотров199K

Введение в MVP, MVC, MVVM и VIPER. Что между ними общего и в чем разница.



Делаете все по MVC, а получается некрасиво? Сомневаетесь, переходить ли на MVVM? Слышали о VIPER, но не уверены, стоит ли оно того?

В этой статье я кратко рассмотрю некоторые популярные архитектурные паттерны в среде iOS и сравню их в теории и на практике. Больше информации вы найдете при переходе по ссылкам, указанным в тексте.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии18

5 советов от экспертов, как построить карьеру в ИТ

Время на прочтение3 мин
Количество просмотров49K
image

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

Ниже я подобрала пять докладов, которые отвечают на вопросы, как проходить собеседования, какие способности нужно развить, чтобы стать успешнее в сфере ИТ, и что делать, чтобы карьера пошла в гору. Осторожно, здесь говорят про бизнес!

Читать дальше →
Всего голосов 27: ↑15 и ↓12+3
Комментарии25
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность