Обновить
5
0

Пользователь

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

Как стать хорошим техлидом

Время на прочтение10 мин
Охват и читатели35K

В 2006 году Яндекс и Google приехали в Петербург в Borland, который сокращал команду. Обе компании одновременно открывали в Петербурге свои офисы на его базе. Тогда к нам пришли замечательные ребята. Мы много общались, но больше всего запомнились слова Толи Орлова. Он сказал, что рост Яндекса на тот момент ограничивает только количество лидов, которые бы могли развивать продукты. Что роли техлида и тимлида очень существенны, и часто рост компании зависит только от наличия сильных лидеров. Тогда мне и захотелось узнать, как им стать.

Меня зовут Владимир Горовой. Я был тимлидом, потом перешёл в менеджмент, руководил созданием разных сервисов, в том числе, Яндекс.Путешествий. Сейчас работаю в Яндекс.Вертикалях. У меня есть разный опыт: менеджерский, разработческий и тимлидский. Всем этим и хочу с вами поделиться.

Читать далее

Kotlin, как работает suspend под капотом

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели54K

Как компилятор Kotlin преобразует suspend код? Что получается в итоге? Разбираемся в машине состояний suspend кода.

Читать далее

Как подготовиться к iOS-собеседованию

Время на прочтение12 мин
Охват и читатели27K

Всем привет! Меня зовут Илья, и я провожу собеседования *хлоп-хлоп-хлоп*. Сейчас работаю на позиции Principal iOS Engineer в inDriver, и мой фокус смещен в сторону технических собеседований. До этого руководил мобильной разработкой в в «Альфа-Банке» и был кем-то вроде нанимающего менеджера. Это тот человек, который говорит финальное слово по кандидату и определяет, какую циферку написать в оффере. Помимо «рабочих» собеседований, я иногда собеседую на аутсорсе, а также помогаю разработчикам к ним готовиться. 

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

Читать далее

Как работает Backend-Driven UI на мобильном клиенте

Время на прочтение12 мин
Охват и читатели41K

Привет всем, кто хочет изменять интерфейс мобильного приложения до выхода нового релиза, всем, кто хочет без лишних доработок на клиенте проводить А/B-тестирование, и всем, кто хочет забыть о срочных «новых пятничных промоакциях», которые нужны уже в понедельник. В этой статье мы поговорим об основах Backend-Driven UI: рассмотрим абстрактно, как всё работает на бэкенде и на клиенте. 

Читать далее

«Выглядит похоже». Как работает перцептивный хэш

Время на прочтение6 мин
Охват и читатели130K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →

Flutter: Создание расширения для Chrome

Время на прочтение6 мин
Охват и читатели6K

Как создать расширение для браузера? Создание расширения для Google Chrome.

Сложность: Опытный

Всем привет. Месяц назад, пока бороздил просторы интернета, понял, что у меня есть проблема, я хотел проверить текущую цену Биткойна, но каждый раз заходить на сайт валюты мне было тяжело. Итак, я решил сделать расширение для Google Chrome с помощью Flutter. И хочу рассказать как я это сделал.

Расширение будет достаточно простым, будет лишь функционал проверки состояния Биткойна. Вам не понадобится дополнительная установка каких-либо плагинов. Мы напишем его с помощью встроенных средств web.

Читать далее

Шорткаты для Xcode в виде Cheat sheet

Время на прочтение1 мин
Охват и читатели3.6K

Вдохновился референсом от Tower и создал русскую версию таблицы с шорткатами для нашей среды разработки.

Читать далее

Как завести XCRemoteCache, или Кэши из топора

Время на прочтение9 мин
Охват и читатели2.3K

Всем привет! 

Меня зовут Федоров Василий, я руковожу группой Mobile.Speed в компании Aliexpress Россия. Мы стараемся облегчить жизнь разработчиков, пишем утилиты, настраиваем CI, складируем метрики в Grafana — в общем отвечаем почти за все, что влияет на time-to-market и Developer Experience команд. В этой статье я расскажу о том, как мы ускоряем сборку проекта с помощью XCRemoteCache — но обо всем по порядку под катом. 

Читать далее

CRDT: Conflict-free Replicated Data Types

Время на прочтение10 мин
Охват и читатели64K

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →

Протокольно ориентированное программирование, часть 3

Время на прочтение5 мин
Охват и читатели7.5K

Завершающая статья на тему протокольно ориентированного программирования.


В этой части мы рассмотрим как переменные обобщенного типа хранятся и копируются и как с ними работает метод dispatch.

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

Протокольно ориентированное программирование. Часть 1

Время на прочтение10 мин
Охват и читатели21K

Давайте подробнее изучим тему протокольно ориентированного программирования. Для удобства разделили материал на три части.


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

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

Протокольно ориентированное программирование, часть 2

Время на прочтение8 мин
Охват и читатели27K

В продолжение темы разберемся в протокольных типах и обобщенном (generic) коде.


По ходу будут рассмотрены следующие вопросы:


  • реализация полиморфизма без наследования и ссылочных типов
  • как объекты протокольных типов хранятся и используются
  • как с ними работает отправка метода
Читать дальше →

Восемь вопросов от iOS-разработчиков на собесах в hh.ru

Время на прочтение6 мин
Охват и читатели5.4K

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

Ладно, давайте ваши вопросы

Big O нотация в Swift

Время на прочтение3 мин
Охват и читатели16K

Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.

Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространству.

Читать далее

Как устроен Elementary

Время на прочтение9 мин
Охват и читатели9.3K

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

Мы в Surf постоянно сталкиваемся с необходимостью решать эти проблемы при разработке мобильных приложений, в том числе и на Flutter. Опыт, который мы получили за долгое время, отразился на наших подходах и лёг в основу библиотеки Elementary, автором которой я являюсь.

В статье расскажу, как устроен Elementary, какие принципы в нём заложены и чем вообще он может быть полезен.

Читать далее

Как написать и опубликовать идеальный пакет для Flutter

Время на прочтение8 мин
Охват и читатели7.2K

Думаю, многие разрабочики хотя бы раз в жизни хотели поделиться своими наработками с сообществом. Уж точно все - пользовались тем, чем делятся другие. Мое мнение на этот счет примерно такое - если ты делаешь что-то для себя и можешь это сделать таким, чтобы этим могли пользоваться другие с, относительно, небольшим количеством трудозатрат - то делай это. К тому же, выставляя "напоказ" свои велосипеды - так или иначе, придется их хотя бы покрасить. Смазать цепь. А значит и в твоем проекте данное решение будет уже более качественным. Не буду углубляться в философию опен-сорса (простите меня, нелюбители английских слов, написанных по русски), поэтому перейдем сразу к делу.

Перейти к делу

Разработка приложения на Flutter с нуля до релиза: Part 2

Время на прочтение30 мин
Охват и читатели18K

Привет! Это вторая статья из цикла о разработке приложения на Flutter. В этом "номере" я опишу создание сетевого слоя, работу с локализацией, удобный способ работы с ассетами, локальный поиск и создание UI для одного из двух экранов приложения. Также я выведу интересные метрики, например - сколько данных сможет распарсить ваше приложение за одну милисекунду и начиная с какого размера JSON’а, прилетевшего с бэка UI начнет тормозить. Как говорится - с места...

В карьер!

Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура

Время на прочтение11 мин
Охват и читатели43K

Привет! В данном цикле статей я хотел бы показать, как может происходить создание приложений с использованием Flutter. У меня есть несколько Open Source решений, которые будут использованы в данном приложении. Что из этого получится - увидим в скором будущем.

Если долго мучаться...

Секреты запуска Flutter в production. Создаем IT-верфи

Время на прочтение30 мин
Охват и читатели19K


Про нас


Привет! Мы Даниил Левицкий и Дмитрий Дронов, мобильные разработчики компании ATI.SU — крупнейшей в России и СНГ Бирже грузоперевозок. Хотим поделиться с вами своим видением разработки приложений на Flutter.


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


Ссылка на шаблон и детали реализации под катом.

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

Умный дом iOS разработчика

Время на прочтение6 мин
Охват и читатели19K

В свободное время (а иногда и в рабочее) я изучаю микроконтроллеры и собираю умный дом у себя в квартире, а так как по профессии я iOS-разработчик, то на умный дом я смотрю через призму iPhone и HomeKit. После сборки более-менее рабочего умного дома и, столкнувшись с кучей проблем, решил рассказать про свой опыт и устройства в цикле из 2 статей. Первая статья будет небольшим ликбезом в теорию микроконтроллеров и протоколов, а во второй уже поделюсь конкретным применением этих протоколов и фреймворков в моем умном доме.

Читать далее

Информация

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