Как стать автором
Обновить
23
-1
Сергей Москвин @debug45

Lead iOS Developer

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

Reflection в iOS: как посмотреть содержимое любой сущности

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2K

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

Меня зовут Светлана Гладышева, я iOS-разработчик в Тинькофф. Расскажу, какие возможности есть у Reflection в Swift, в чем ограничения и подводные камни. Рассмотрим его применение на примерах и узнаем, для чего его можно использовать в повседневной работе. А еще поговорим о том, как можно отключить Reflection в проекте и на что это может повлиять.

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

Психология в UX/UI дизайне: 10 принципов, повышающих вовлеченность и удержание

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров5K

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

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии5

Может ли мобильный-разработчик стать CTO?

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров7.6K

Да, может. На этом статью можно было бы закончить. Спасибо, что дочитали до конца, приходите поделиться своим опытом в комментариях.

Если серьёзно, карьера мобильного разработчика, который хочет вырасти в большого руководителя, может складываться по-разному. Например, мой путь начался в 2013 году, и за это время я успел поработать и в маленьких стартапах, и в больших корпорациях. Сейчас я Director of Engineering в Яндекс Go. Последние шесть лет я управляю разными командами разного размера: от 5 до 200+ человек.

В этой статье я хочу рассказать, какие есть пути развития в мобильной разработке, что делать, если ты уже тимлид, кто такие крутые Individual Contributors (топовые разработчики) и как стать одним из них. Обо всём этом читайте под катом: попробуем разобраться, как расти и куда это может завести.

Читать далее
Всего голосов 29: ↑28.5 и ↓0.5+28
Комментарии13

Оформляем README-файл профиля на GitHub

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

Летом 2020 года GitHub позволила пользователям создавать персональные README-файлы и с их помощью кастомизировать свои профили. Сама платформа при создании подобного файла предлагает уже готовый шаблон, в который можно вписать свои данные. Но о какой кастомизации может идти речь, если у всех будут одинаково оформленные профили? За почти два года сообщество придумало множество различных способов выделиться и особенно оформить свою страницу на GitHub.

Читать далее
Всего голосов 77: ↑75 и ↓2+73
Комментарии25

Как я стал IEEE Senior Member

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров5.4K

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

Читать далее
Всего голосов 34: ↑25 и ↓9+16
Комментарии3

Произносим термины IT правильно

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров53K

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

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

Читать далее
Всего голосов 94: ↑79 и ↓15+64
Комментарии229

Jailbreak checker — как обезопасить свое iOS-приложение

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.5K

Привет! Меня зовут Тоня, я продуктовый разработчик в продукте QIWI Кошелек. Недавно мы делали задачу по предотвращению рисков в связи с использованием приложения с Jailbreak. Хочу рассказать о трудностях, с которыми столкнулись на пути, и о том, как мы их разрешили.

Кто такой этот ваш Jailbreak?

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

Дословно jailbreak переводится как «побег из тюрьмы» или «взлом». Данный термин, как правило, используется в отношении iOS. Простыми словами — это использование уязвимостей устройства для получения полного доступа к операционной системе. Из-за такого полного доступа к системе появляется и доступ до keychain, который становится уже не таким защищенным. После взлома у пользователя появляется доступ к альтернативным сторам, из которых можно скачать приложения, не проходившие ревью в App Store. Одним из самых популярных таких альтернативных сторов является Cydia, который чаще всего сразу же устанавливается в момент взлома устройства. 

Зачем его отслеживать?

Читать далее
Всего голосов 28: ↑24 и ↓4+20
Комментарии35

Интервью на камеру: как избежать ошибок и не испортить имидж

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров7.8K

Интервью телеканалу или в видеоблог может стать отличным способом привлечь внимание к вашему бизнесу. Это возможность для рекламы на большую аудиторию, часто бесплатная. Но беседа с журналистом перед камерой для многих становится настоящим стрессом. Спешим вас успокоить: волноваться – это нормально. Важно суметь справиться с нервами, и тогда выступление станет достижением, о котором вы захотите рассказать коллегам и друзьям. В этой статье в блоге ЛАНИТ мы собрали советы о том, что нужно сделать, чтобы телевизионное или видеоинтервью с вашим участием получилось качественным. 

Читать далее
Всего голосов 34: ↑33 и ↓1+32
Комментарии1

Как попасть в фичеринг

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.3K

Попадание в подборки App Store и Google Play, которое называется фичеринг, не самый простой способ увеличить популярность вашего приложения, но крайне эффективный — по подсчетам участников рынка, это увеличивает число загрузок на 800%. Купить место в подборках не получится — туда попадают самые лучшие, или, как минимум, те, кто соответствует всем критериям стора. Как же попасть в фичеринг? Рассказываем!

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

Какие у вас есть вопросы?

Время на прочтение6 мин
Количество просмотров30K
«Какие у вас есть вопросы?» – вопрос, который гарантирован на любом собеседовании на работу.
«И если у кандидата нет вопросов, то вопрос возникает по поводу кандидата» – как-то сказала мне знакомая HR из Кремниевой долины в разговоре о поиске работы в США.

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

На эту тему недавно нашла занимательный сайтик-генератор вопросов для интервью KeyValues.com. Для тех, кто не владеет английским в достаточной мере, я и решила сделать перевод.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии23

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

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

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

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

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

Читать далее
Всего голосов 69: ↑62 и ↓7+55
Комментарии95

Что такое LinkedIn SSI и зачем его прокачивать?

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

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

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

Хеш-таблица, хеш-функция в Swift

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.9K

Хеш-таблица — это структура данных, реализующая интерфейс ассоциативного массива, а именно, она позволяет хранить пары (ключ, значение) и выполнять три операции: операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу. Сегодня мы рассмотрим, что такое хеш-таблица, как она работает и что делает ее полезной.

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

Произвольные красивые цвета: RGB, HSL, LCH и вот это вот всё

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

RGB какой-то отстой.

Модель RGB, мало чем отличающаяся от ASCII, адресов памяти и наличия 86 400 секунд в сутках, является одной из тех инструментов, которые немного упрощают программирование, до поры до времени.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии17

Мой опыт переезда в Лондон. Часть 2. Собеседования в FAANG

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров14K

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

Читать далее
Всего голосов 26: ↑24 и ↓2+22
Комментарии5

Элемент выбора эмодзи (aka EmojiPicker) для iOS как в MacOS

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.7K

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии5

Диспетчеризация методов в Swift

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

В разных языках программирования применяется механизм диспетчеризации методов (Method Dispatch), и все разработчики имеют с ним дело. Однако, не все это осознают и не все понимают, как этот механизм работает. Поэтому данная статья будет полезна всем разработчикам на Swift, которые хотят погрузиться глубже в диспетчеризацию методов и понять принципы ее работы, что в свою очередь позволит писать более эффективный код и избежать появления некоторых неочевидных проблем. Также статья будет полезна тем, кто в поисках работы – данный вопрос часто обсуждается на собеседованиях iOS разработчиков.

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

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

Регулярные выражения (regexp) — основы

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

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее
Всего голосов 59: ↑51 и ↓8+43
Комментарии76

Без одной faangи или как я проходил собеседования

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

Привет, Хабр! Меня зовут Рустам, работаю программистом 9 лет. 7 лет работал в Контуре и около 2 лет в Яндексе. В этой статье расскажу про свой опыт подготовки и прохождения собеседований в большие технологические компании, поделюсь рекомендациями.

Пробовался в Facebook, Apple, Amazon, Microsoft, Google. Пять попыток: четыре на бэкенд программиста, одна на инженера по инфраструктуре. Два предложения по работе, два отказа, одно потенциальное предложение.

Принял предложение в Amazon. Сейчас в Лондоне.

Читать далее
Всего голосов 82: ↑79 и ↓3+76
Комментарии27

Собеседование: Swift. Вопросы и ответы

Время на прочтение13 мин
Количество просмотров59K
Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в нем добавляется еще больше возможностей.

Но насколько хорошо вы на самом деле знаете Swift? В этой статье вы найдете примеры вопросов для собеседования по Swift.

Вы можете использовать эти вопросы для интервьюирования кандидатов, чтобы проверить их знания или вы можете проверить свои собственные. Если вы не знаете ответа, не переживайте: к каждому вопросу есть ответ.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии19
1

Информация

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

Специализация

Software Developer, Mobile Application Developer
Lead
От 8 000 $