Обновить
0
@Daniel_Vread⁠-⁠only

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

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

[Личный опыт] «Повзрослевшая Россия»: тонкости переезда в Канаду

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

В июле 2020 года, в разгар уже опостылевшей всем пандемии, ValCanada получил статус резидента Канады и переехал с семьёй в Северную Америку.


Откровенно и искренне он поделился с нами особенностями страны, про которые мало говорят в инструкциях о релокации: как получить максимум баллов для ПМЖ, каким IT-специалистам легче найти работу, как законно сэкономить на съёмном жилье (но, возможно, заработать невроз), почему при переезде стоит одеваться теплее, и как обстоят дела с новомодным дайверсити.


Впереди лонгрид!




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

Сценарий идеального технического собеседования

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


Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей.

Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я собрал накопленный опыт и собственные наблюдения, которыми хочу поделиться. Во второй части статьи приведу пример собеса с комментариями со своей стороны. Итак, начнём.

1. Собесы бывают разные: жёлтые, зелёные, красные (лирическое отступление)


Есть мнение, что сложные технические собесы не работают. Сооснователь платформы для рекрутинга Interviewing.io Алин Лернер ранее писала, что компании, которые подбирают сотрудников, опираясь на сложные технические собеседования, «тратят ресурсы на множество кандидатов, которые не понимают игровую сущность собеседований». В результате на финишную прямую в таких компаниях выходят кандидаты, которые хороши именно в прохождении интервью.
Читать дальше →

Архитектурные паттерны в iOS: страх и ненависть в диаграммах. MV(X)

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

Каждый iOS разработчик в своей жизни уходил с собеседования в расстроенных чувствах и мыслью “это что еще за новая аббревиатура?” Архитектурами пугают и джунов, и миддлов, и синьоров (и наверное даже синьорит). Важно не просто знать что стоит за названием, но ещё и в каком случае какую использовать. Литературы по этому вопросу преступно мало, редкие обсуждения в интернете ограничиваются собственным опытом и какими-то поделками на гитхабе.

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

Первая часть посвящена MV(X) паттернам: самым известным и распространенным практикам в индустрии.

Читать далее

Вторая причина остаться без зубов в 45 лет

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

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

Группы риска:

1.      Люди с плохой гигиеной. Впрочем, кариес лишит зубов раньше, чем пародонтит.

2.      Диабетики. У них проблемы с сосудами и местным иммунитетом.

3.      Курящие. У них тоже проблемы с сосудами. И да, вейпы несильно спасают: никотин токсичен сам по себе. Кроме этого, у курящих налёт прочнее фиксируется на эмали.

4.      Люди, чьи родители или ближайшие родственники имеют поставленный пародонтальный диагноз.

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

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

Читать далее

Процесс загрузки iPhone. Часть 1: Boot ROM

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

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

Почитать

Йога глазами дата-сайентиста: как мы строили computer vision в мобильном приложении

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

Привет! Я Денис Соколов, руковожу R&D в Zenia Yoga — первом приложении для йоги на основе ИИ. В этой статье я расскажу, из чего состоит современная система, работающая с компьютерным зрением: как влияет каждый элемент пайплайна на конечный результат, который видит пользователь. Мы пошагово разберем создание модели для human pose estimation и сравним ее с готовыми «коробочными» решениями от производителей мобильных платформ, а также открытыми аналогами.

Читать далее

Core Data + Repository pattern. Детали реализации

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

Всем привет! Данный пост рассчитан на людей, которые немного знают о том что такое Core Data. Если вы не один из них, прочитайте краткую информацию тут и присоединяйтесь! Прежде всего, мне хотелось бы поделиться своим взглядом на некоторые проблемы и подходы к организации работы с данными в IOS приложениях, надеюсь - это будет как минимум интересно, а может даже и полезно. Поехали!

Читать далее

10 расширений Swift, которые мы используем на Livefront

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

Добавьте в Swift свою собственную изюминку

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

Если вы новичок в Swift, пожалуйста, обратитесь к документации, чтобы узнать больше о Расширениях перед тем, как продолжить.

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

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

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

Вы можете найти Xcode Playground, используемый в этой статье, на моей странице GitHub.

Вот только 10 из многих расширений, которые мы используем в Livefront.

Читать далее

Подходы к спискам на UICollectionView

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

Уже давным давно, во всех известных нам галактиках мобильные приложения представляют информацию в виде списков - будь то доставка еды на Татуине, имперская почта или обычный ежедневник джедая. С незапамятных времен мы писали UI на UITableView и не задумывались.

Копились бесчисленные баги и знания об устройстве этого инструмента и о лучших практиках. И когда мы получили очередной infinite scroll дизайн, мы поняли: пришло время задуматься и дать отпор тирании UITableViewDataSource и UITableViewDelegate.

Читать далее

Если вы не чистите зубы, то я их вам почищу: FAQ про гигиену

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

Зубы до гигиены, химический агент для окраски налёта (используется в обучающих целях для того, чтобы пациент видел непрочищаемые участки) и состояние после гигиены.

Про чистку зубов есть очень много вопросов, поэтому пробежимся по основным:

  • Что будет, если не чистить зубы?
  • Можно ли чистить зубы редко, но ходить к стоматологу время от времени, чтобы он их вам «мощно почистил»?
  • Как проходит чистка зубов в стоматологии?
  • Почему швейцарцы чистят зубы вообще без пасты?
  • Работает ли жвачка?
  • Какие щётки выбирать и как? Что насчёт электрических?
  • Правда ли, что щётку надо выкидывать, когда хотя бы одна ворсинка отклоняется от вертикали?
  • Зачем нужны скребки для языка, межзубные ёршики, зубная нить и всё остальное?
  • Ирригатор заменяет чистку зубов щёткой?
  • Ополаскиватель для рта — хорошая тема?
  • Когда важнее чистить зубы — утром или вечером?
  • Чем ИТ-специалист отличается от среднего пациента по анамнезу относительно гигиены ротовой полости?
Читать дальше →

Compositional Layout: стоит ли игра свеч?

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


Всем привет! Меня зовут Алексей Скоробогатов, я ведущий iOS-разработчик в Delivery Club. Сегодня я хотел бы рассказать про вёрстку в нашем приложении на примере использования Compositional Layout. В конце прошлого года волевым решением iOS-команды и апрувом руководства мы перешли на iOS 13+. Этот манёвр позволил нам начать использовать новые нативные инструменты, в том числе и новый декларативный подход к описанию layout-коллекций. Расскажу о переводе нашего экрана поиска и его компонентов на Compositional Layout, а также о проблемах, с которыми я столкнулся.

Для полноценного представления о Compositional Layout предлагаю прочитать вот эту статью и ознакомиться с примерами Apple.
Читать дальше →

Как «приручить» консоль, или 5 шагов к жизни с командной строкой

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

Всем привет! Меня зовут Осип, я Android-разработчик в red_mad_robot и я люблю автоматизировать всё, что автоматизируется. В этом мне помогает консоль, поэтому решил поделиться опытом, как настроить командную оболочку так, чтобы в ней было приятно работать и она ежедневно помогала вам решать задачи.

Статья для тех, кто использует Linux или macOS. Если у вас Windows, вы можете использовать WSL (приравнивается к Ubuntu).

Читать далее

Погружение в автотестирование на iOS. Часть 4. Ожидания в XCUITest

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

Привет, Хабр!

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

В этой статье мы разберем:

- Что такое ожидание и для чего они используются в тестах;

- Рассмотрим какие бывают ожидания;

- Разберем из чего состоят ожидания;

- Рассмотрим пример эффективных ожиданий в тестах.

Читать далее

Типичные зубы пациента-айтишника: что с ними не так

Время на прочтение7 мин
Охват и читатели107K
Добрый день! Меня зовут Ярослав, я главврач клиники на Зиларте сети «Белая радуга». 10 лет я работаю с зубами пациентов, и вот на 10-й год обнаружилось кое-что интересное. Мы в декабре начали писать про свою клинику, и у нас в гостях оказались люди, которые говорили, что они с Хабра.

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

image
Стираемость на нижней челюсти.

Сразу уточню, что речь, скорее всего, идёт не про ваши конкретно зубы и не про типичные зубы ИТ-специалиста, а про типичные зубы ИТ-специалиста, осознавшего, что нужно обратиться к врачу-стоматологу. То есть выборка — только те люди, кто сознательно понял, что во рту что-то не так. Именно непонимание более широкой выборки и ведёт к вопросам, потому что, похоже, я до этого многого не знал про ИТ-специалистов.

Если коротко, то у моих пациентов данного профиля есть четыре основные проблемы:

  1. Нарушение саливации из-за ночной работы, обезвоживания или стресса.
  2. Привычка перекусывать джанк-фудом (пицца, печенье).
  3. Малоподвижный образ жизни с детства, что в целом сказывается на формировании постуры, скелета и прикуса.
  4. Привычка блокировать телесные сигналы: развитая «встроенная» аутоанестезия.

Давайте расскажу, что я увидел по зубам.
Читать дальше →

Выгорание — норма? Часть 2. Подробно про фазы и «Что делать?»

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

Стресс — это норма жизни. Без стресса нет роста и обучения новому.

Передоз стресса, как передоз чего угодно — вызывает защитную реакцию. Сначала — сопротивление и попытки адаптации, затем, если эти попытки провалились — схлопывание энергетических систем, чтобы не умереть. 

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

Читать далее

Безопасность iOS-приложений: гайд для новичков

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

Привет! Меня зовут Гриша, я работаю application security инженером в компании Wrike и отвечаю за безопасность наших мобильных приложений. В этой статье я расскажу про основы безопасности iOS-приложений. Текст будет полезен, если вы только начинаете интересоваться безопасностью мобильных приложений под iOS и хотите разобраться, как все устроено изнутри.

Читать далее

Как мы ускоряли работу отладчика Swift

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

Привет! Меня зовут Александр Скворцов, я работаю в команде Яндекс.Браузера для iOS. Это очень большой проект, который насчитывает около тысячи clang-модулей и примерно 600 Swift-модулей. Наверное, из-за таких масштабов мы чаще других наталкиваемся на проблемы инструментов разработки, например, находим критические ошибки в компиляторе, неработающую подсветку и автодополнение. Это бывает неприятно, но жить можно. 

Самая серьёзная проблема возникла с отладкой. В худшем случае с момента запуска до остановки в отладчике на точке входа в приложение проходило больше 20 минут. И это на свежем MacBook Pro 16! С таким «быстродействием» инструментов разработки невозможно эффективно развивать проект, поэтому мы решили разобраться в причинах и поискать возможные решения.

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

Читать далее

[Личный опыт] Свой среди чужих: как встроиться в шведское общество

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

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


Швеция считается самой закрытой страной среди европейских. Спросили инженера, который 2 года назад уехал работать в Spotify, удалось ли ему вписаться в местную культуру, и как это сделать тем, кто только собирается переехать к суровым северянам. Рассказывает Константин Голиков.




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

Цвета в Swift: UIColor

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

UIColor дает возможность настроить цвет для Dark Mode, дает семантический набор цветов "от Apple", а также дает возможность задать не только цвет, но и паттерн заполнения пространства, что как бы кричит нам, что UIColor это вовсе не цвет. Давайте слегка заглянем в эти чертоги UIColor.

Читать далее

Погружение в автотестирование на iOS. Часть 3. Жизненный цикл iOS приложения во время прогона тестов

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

Привет, хабр!

В этой статье я расскажу про жизненый цикл iOS приложения во время прогона тестов, а в частности про:

- Предусловия и постусловия в ui-тестах;

- Запуск/завершение работы приложения;

- Запуск стороних приложений;

- Сброс permissions;

- Определение состояния приложения.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность