Как стать автором
Обновить
2
0
Vitaly Zolkin @T0tem

Android Developer

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

Cicerone — простая навигация в Андроид приложении

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


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


Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии29

Moxy — реализация MVP под Android с щепоткой магии

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

Что такое MVP


MVP – это способ разделения ответственности в коде приложения. Model предоставляет данные для Presenter. View выполняет две функции: реагирует на команды от пользователя(или от элементов UI), передавая эти события в Presenter и изменяет gui по требованию Presenter. Presenter выступает как связующее звено между View и Model. Presenter получает события из View, обрабатывает их(используя или не используя Model), и командует View о том, как она должна себя изменить.

У такого подхода к разделению ответственности есть ряд плюсов:
  1. Сильно упрощается написание тестов к коду
  2. Легко менять какую-то часть, не ломая при этом другую
  3. Код разбивается на мелкие кусочки, за счёт чего он становится более понятным и читабельным

В то же время, конечно, есть и минусы:
  1. Кода становится больше
  2. К этому подходу нужно привыкать
  3. На данный момент не сильно распространённый(но известный) подход, поэтому приходится всем рассказывать о нём

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

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

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


Никлаус Вирт, швейцарский ученый-информатик, в 1976 году написал книгу под названием «Алгоритмы + Структуры данных = Программы».

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

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

Иногда в вопросах на интервью прямо упоминается та или иная структура данных, например, «дано двоичное дерево». В других случаях задача формулируется более завуалированно, например, «нужно отследить, сколько у нас книг от каждого автора».

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

Переведено в Alconost
Читать дальше →
Всего голосов 36: ↑21 и ↓15+6
Комментарии17

Искусство подбирать чужие пароли

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

В культовом фильме начала двухтысячных «Пароль «Рыба-меч» талантливому хакеру необходимо подобрать пароль в течение одной минуты. В этом ему помогает приятель, который заботливо держит пистолет у виска и темпераментная блондинка, прячущаяся под столом. Что делать, если таких друзей поблизости нет, а пароль подобрать необходимо? Например, в ходе тестирования на проникновение…



Небольшое, но важное предупреждение: если предлагаемым в статье подходом пользоваться не в рамках проектов по тестированию защищенности, то ваши действия легко могут подпасть под статью 272 УК РФ (Неправомерный доступ к компьютерной информации).

Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии65

Теория счастья. Закон зебры и чужой очереди

Время на прочтение16 мин
Количество просмотров41K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.





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

Реализация навигации в Android приложениях с помощью Navigation Architecture Component

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

image


От переводчика


Здравствуйте, хабрчане. Это перевод статьи-документации к новой технологии Navigation для Android-разработчиков. Технология сейчас находится в стадии разработки, но уже доступна для использования и очень даже работает в превью версии Android Studio 3.2 и выше. Я уже опробовал её в действии и могу сказать что меня она впечатлила. Наконец-то осуществление смены экранов перестало быть чем-то сложным, особенно если используется передача данных от одного экрана к другому. Собственно, перевод я делаю для того чтобы больше русскоязычных разработчиков обратило внимание на технологию, и чтобы упростить её изучение.
Если заметите существенные ошибки или неточности, прошу сообщать в комментариях.

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

Заблуждения Clean Architecture

Время на прочтение15 мин
Количество просмотров421K
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии203

Как подготовиться к собеседованию в Google и не пройти его. Дважды

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


Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.
Кому интересно, прошу под кат.
Всего голосов 178: ↑174 и ↓4+170
Комментарии457

Dagger 2 для начинающих Android разработчиков — Введение

Время на прочтение4 мин
Количество просмотров102K
Данная статья является первой частью серии статей, предназначенных, по словам автора, для тех, кто не может разобраться с внедрением зависимостей и фреймворком Dagger 2, либо только собирается это сделать. Оригинал написан 18 ноября 2017 года. Изображения и GIF — из оригинала. Перевод вольный.

image
Всего голосов 3: ↑3 и ↓0+3
Комментарии7

Теория счастья. Закон арбузной корки и нормальность ненормальности

Время на прочтение10 мин
Количество просмотров75K
Представляю на суд читателей Хабра неупорядоченные главы из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



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

Читать дальше →
Всего голосов 118: ↑117 и ↓1+116
Комментарии250

Теория счастья. Введение в мерфологию

Время на прочтение12 мин
Количество просмотров33K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



Это, одна из первых глав, в которой на примере велосипедиста рассматриваются нужные нам инструменты для измерения несправедливости: кривая Лоренца и индекс Джини, а также упоминаются пресловутый Парето и грозный инспектор.

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

Как освоить иностранный язык без преподавателя. Часть 2. «Пошаговая стратегия»

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

Languages are not taught, they are learnt!


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


Примечание: Материалы статьи опираются на исследования Е.Д. Авериной, Д.Б. Никуличевой, Э.В. Гуннемарка и П.Нейшна, пропущенные через призму моего восприятия и опыт изучения 3 иностранных языков.

Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии65

Кератоэктазия (кератоконус, «выпуклая роговица»): что это и что с этим делать

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

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

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

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

Откуда берётся астигматизм? Дело в том, что выступающая роговица меняет свойства «системы линз» глаза, и новая «передняя линза» не соответствует проекции зрачка. Роговица с астигматизмом неровная, но регулярно-неровная, симметрично-неровная. При диагностическом сканировании видна характерная «бабочка».
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии23

10 мелких ошибок в дизайне, которые мы допускаем до сих пор

Время на прочтение7 мин
Количество просмотров16K
Поговорке «хороший дизайн — это дизайн, в котором все очевидно» сто лет в обед, и я уверен, что в каком-то виде она существовала и в прошлые века, применительно к хорошей еде, музыке, архитектуре, одежде, философии и вообще чему угодно.


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

Возможности человеческого мозга не меняются из года в год, поэтому у результатов исследований поведения людей очень продолжительный срок годности. То, что было сложно для пользователя двадцать лет назад, остается сложным и сегодня.
— Дж. Нильсен
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии9

О главном инструменте разработчика, аналитика и руководителя

Время на прочтение8 мин
Количество просмотров30K
Думаю, все были на собеседованиях и на вопрос «какие инструменты вы используете в работе», у всех заготовлен ответ про языки, библиотеки, среды разработки, базы данных и т.д. и т.п. В крайнем случае, у кого-то может быть припасена шутка про грабли и напильник. Ну и все доблестно перечисляют всякие Spring'и Hibernate'ы думая что перечисляют невероятно важные средства разработки, в которых хорошо разбираются. Но правда заключается в том, что единственно важным средством разработки является ваш мозг. И вы абсолютно ничего не знаете о том, как он устроен.


Эта статья основана на книге Андрея Курпатова Чертоги разума. Андрей Курпатов — российский врач-психотерапевт, телевизионный продюсер, автор книг по психологии, научных монографий по психотерапии и философии.
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии52

Очень простое объяснение принципов SOLID

Время на прочтение5 мин
Количество просмотров68K
Disclaimer: Всем можно, ну а я чем хуже?!

SOLID — это набор принципов по организации кода. Фактически они декларируют некие правила, которые помогут вам сохранить свои и чужие нервы и время. А могут и не помочь.

Попробуем разобраться в этих принципах на пальцах, без примеров кода и СМС.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии60

Заблуждения программистов о трудоустройстве

Время на прочтение3 мин
Количество просмотров92K
Это перевод. Статья опубликована в июне 2018 года

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

Прошло четыре года. Теперь я лучше понимаю процедуру трудоустройства и то, как увеличить свои шансы, используя логику нанимателя.

В стиле известной статьи Патрика Маккензи об именах, вот список главных заблуждений, которые могут быть у программистов (особенно начинающих).
Читать дальше →
Всего голосов 71: ↑67 и ↓4+63
Комментарии442

Как я осилил английский

Время на прочтение13 мин
Количество просмотров348K
Всем привет. Я – айтишник «за 30», и я люблю английский язык. Так получилось, что на протяжении многих лет английский никак не хотел полюбить меня. Перед вами живой пример человека с «плохой памятью», «неспособностью к языкам», богатейшим опытом неудачного изучения английского как на курсах, так и самостоятельно, упущенными из-за незнания языка шансами и возникшими на этой почве комплексами. Все, что можно было сделать в изучении иностранного языка плохо, я попытался сделать еще хуже. Не смотря на все это, перед вами история с хэппи эндом, которая, верю, поможет кому-то избежать глупых ошибок, сэкономить время, избавится от иллюзий и предрассудков по поводу изучения нового языка с около нулевого уровня.
Читать дальше →
Всего голосов 155: ↑151 и ↓4+147
Комментарии256

Что такое утечки памяти в android, как проверить программу на их отсутствие и как предотвратить их появление

Время на прочтение14 мин
Количество просмотров88K
В этой статье для начинающих android-разработчиков я постараюсь рассказать о том, что такое «утечки памяти» в android, почему о них стоит думать на современных устройствах, выделяющих по 192МБ на приложение, как быстро найти и устранить эти утечки в малознакомом приложении и на что нужно обращать особое внимание при разработке любого приложения.


Конечная цель этой статьи — ответ на простой вопрос:
Куда нажать, чтобы узнать, какую строчку в приложении поправить?

Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии36

Про хранение паролей в БД

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


Сегодня посмотрим, как лучше всего хранить пароли в базе данных и как известные платформы решают эту задачу.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии44

Информация

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