Как стать автором
Обновить
5
0
Volodymyr Chernyshov @idg_chernyshov

Android Developer

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

Конечные автоматы на страже порядка

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


При разработке сложных систем часто сталкиваешься с проблемой прозрачности кода, точным описанием бизнес-логики и масштабирования решения. Однажды нам поставили задачу: реализовать функциональность тарифов, в которой много бизнес-логики. При этом сроки были сжаты, да ещё и повышенные финансовые риски. Чтобы решить эту задачу быстро, эффективно и прозрачно, мы решили использовать конечные автоматы (state machine).
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии8

Как сделать цветные тени в Android с градиентом и анимацией

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

На презентации новых макбуков обратил внимание на картинку процессора: переливающиеся цветные тени на темном фоне. Давайте нарисуем на Android такие-же

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

Kotlin FP: моноиды и сортировки

Время на прочтение5 мин
Количество просмотров3.7K
В данной статье мы рассмотрим понятие моноид и узнаем, как он может помочь нам при сортировке данных.

Интересующихся функциональным программированием на Kotlin также приглашаю заглянуть на мой youtube-канал, где я разбираю разные интересные моменты из Kotlin FP.


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

6 ошибок мышления, из-за которых вы остаетесь на нелюбимой работе

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

В начале 2020 года специалисты сервиса по поиску работы «Работа.ру» провели социальный опрос и выяснили, что в следующие 12 месяцев 74% россиян хотят заняться вопросом нового трудоустройства. 53% респондентов рассказали, что недовольны текущим уровнем заработной платы. Но почему в итоге ничего не происходит?

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

Читать далее
Всего голосов 52: ↑41 и ↓11+30
Комментарии36

Разработка мобильных приложений на заказ недорого: реальность или иллюзия

Время на прочтение9 мин
Количество просмотров9.8K
Когда вы приходите к решению о создании мобильного приложения, не имея в разработке опыта, неизбежно возникает вопрос найма разработчиков. Сам по себе вопрос не дает ответа, поэтому приходится анализировать плюсы и минусы услуг аутстаффинга или аутсорсинга различных исполнителей. Первый показатель, который приходится учитывать при анализе – цена. Хочется дешевле, но обойдется ли в итоге дешево? Этой статьей мы в Omega-R хотим показать подводные камни, которые могут скрываться за часто встречающимися низкими ценами.


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

Form design patterns. Обзор книги

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

Введение от автора обзора


Книга раскрывает, порой не очевидные для дизайнеров и фронтендеров, темы оформления полей, концепции работы с типами данных и юзабилити. Книга будет полезна и новичкам и разбирающимся в теме проектировщикам интерфейсов, т. к. первым даст понимание основ, а вторым пищу для размышлений над, порой спорными, паттернами проектирования. Обзор будет представлен в виде коротких тезисов из книги и краткими комментариями обзорщика.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии36

Шпаргалка по Smali на русском

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

Русская шпаргалка по Smali


Приветствую, любители реверс-инжинирить Android. Перед вами шпаргалка по Smali — аналогу ассемблера для Android-приложений.



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


В итоге, оформил сухой текст + поправил небольшие опечатки и корявости перевода. По поводу замечаний и предложений можете писать либо мне в ЛС, либо оформлять PR на Gist.

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

Какие вопросы задают Junior iOS разработчику на первых собеседованиях

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

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


Здравствуй, Хабр. За недавние 7 месяцев обходил собеседований, где-то больше 20. Все они были на позицию Junior iOS developer. В итоге после многочисленных терзаний и подтягиваний различных нюансов мобильной разработки, мне дали офер в компанию, чему я был безумно рад.

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

Писать я тут буду только для Junior Swift iOS developer позиций. Другие собеседования на тех позицию не проходил.

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

Итак, начнем.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии12

Authenticate me. If you can…

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


I frequently hear questions like "How to implement authentication in an Android app?", "Where to store a PIN?", "Hey man, will I be secure if I implement an authentication feature in such a way?" and a lot of the kind. I got really tired answering these questions so I decided to write all my thoughts about it once to share with all questioners.

Read more →
Всего голосов 13: ↑10 и ↓3+7
Комментарии0

Android. Surface

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

Дисклеймер


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


Почему в заголовке вынесен класс Surface? В android множество классов имеют в своем названии слово Surface (Surface, SurfaceHolder, SurfaceTexture, SurfaceView, GLSurfaceView) они не связаны общей иерархией тем не менее объединены низкоуровневой логикой работы с вывод изображений. Мне показалось разумным использовать его в названии чтобы подчеркнуть попытку раскрытия работы именно с этой частью SDK.

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

История систем управления версиями

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


В этой статье сравним с технической точки зрения самые известные системы управления версиями (в будущем планируем расширить список):

  1. Первое поколение
  2. Второе поколение
  3. Третье поколение
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии25

Дайджест интересных материалов для мобильного разработчика #323 (18 — 24 ноября)

Время на прочтение4 мин
Количество просмотров5.3K
В нашем новом выпуске разработка для Авроры, Дубай Молл в смартфоне, тренды UX-дизайна, инструменты HTML5-разработки, доходы 1% топовых издателей, которые получают 93% денег всего рынка приложений. Интересный дайджест у нас получился!

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

Цепи Маркова для процедурной генерации зданий

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

Примечание: полный исходный код этого проекта можно найти [здесь]. Так как он является частью более масштабного проекта, я рекомендую смотреть коммит на момент выпуска этой статьи, или файл /source/helpers/arraymath.h, а также /source/world/blueprint.cpp.

В этой статье я хочу подробно рассказать о принципах использования цепей Маркова и статистики для процедурной генерации 3D-зданий и других систем.

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

Этот метод является обобщённым способом процедурной генерации систем, удовлетворяющих определённым требованиям, поэтому я рекомендую дочитать хотя бы до конца первого раздела, чтобы вы могли понять, сможет ли эта методика быть полезной в вашем случае, потому что ниже я объясняю необходимые требования.
Всего голосов 30: ↑30 и ↓0+30
Комментарии5

Топ 20 навигационных фич в IntelliJ IDEA. Часть 1

Время на прочтение5 мин
Количество просмотров54K
Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам




Продолжая серию статей, в которых я освещаю основные фичи IntelliJ IDEA (ранее я писал об основных возможностях дополнения и рефакторинга кода), я хотел бы поговорить о навигации, которая является еще одной возможностью повышения производительности IDE, которая экономит вам много времени, при условии, конечно, что вы используете ее правильно.
Читать дальше →
Всего голосов 31: ↑26 и ↓5+21
Комментарии15

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2

Время на прочтение5 мин
Количество просмотров35K
Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам




Первая часть тут
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии5

Оценка срока проекта. Почему она почти всегда сильно занижена и что с этим делать

Время на прочтение7 мин
Количество просмотров11K
При расчёте срока проекта традиционно мы оцениваем длительность промежуточных шагов, затем их суммируем и прибавляем буфер на всякие случайности. Затем руководство режет нам этот срок вдвое. В рамках данной заметки автора будут интересовать наши расчёты, потому что даже руководитель проектов с большим опытом зачастую понимает, что рассчитанный срок слишком короткий и сильно, иногда в разы, расходится с его личной экспертной оценкой. Да, он поправит оценки сроков проекта и промежуточных шагов до своей экспертной оценки и при истинном мастерстве с некоторыми переработками уложится в срок с точностью до 15%, но осадочек останется.

Данная заметка объясняет причину расхождения экспертной и теоретически рассчитанной оценок. Также рассмотрено, почему “завышенная” экспертная оценка обычно оказывается занижена, если она не делается на основе статистических данных по выполнению аналогичных проектов. Под конец раскрыто как корректно посчитать срок проекта и объяснить ситуацию заинтересованным лицам до начала проекта или в ходе проекта.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии12

Я пережила выгорание, или Как остановить хомячка в колесе

Время на прочтение8 мин
Количество просмотров60K
Привет, Хабр. Не так давно я с большим интересом прочла здесь несколько статей со здравыми рекомендациями заботиться о сотрудниках до того, как они «сгорят», перестанут выдавать ожидаемый результат и в конечном итоге приносить пользу компании. И ни одной — с «другой стороны баррикад», то есть от тех, кто действительно выгорел и главное, справился с этим. Я — справилась, получила рекомендации от бывшего работодателя и нашла работу ещё лучше.

Собственно, что делать руководителю и команде, достаточно хорошо написано в «Сгоревшие сотрудники: есть ли выход» (uyga) и «Гори, гори ясно, пока не погасло» (Lisichkina). Краткий спойлер от меня: достаточно быть внимательным руководителем и заботиться о сотрудниках, остальное — разные по степени эффективности инструменты.

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

image

Аллегория с хомячком может показаться кому-то обидной, но она наиболее точно отражает всё произошедшее. Сначала хомячок радостно прыгает в колесо, потом от скорости и адреналина кружится голова, а потом в его жизни остаётся только колесо… Собственно, как я слезла с этой карусели, а также честная рефлексия и непрошеные советы, как пережить выгорание — под катом.
Читать дальше →
Всего голосов 122: ↑110 и ↓12+98
Комментарии301

Пишем API на Python (с Flask и RapidAPI)

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


Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface).

Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же дополнить его нужными данными. Но что, если вы разработали уникальную функцию, которой хотите поделиться с коммьюнити?
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии7

Уменьшаем время сборки ваших Android-проектов

Время на прочтение6 мин
Количество просмотров11K
Доброе утро! Начинаем понедельник с материала, перевод которого подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс».



Недавно я переносил кодовую базу Android в Kure на AndroidX. Мне показалось, что это прекрасная возможность поработать над скоростью сборки проекта. У Gradle всегда была плохая репутация из-за медлительности и ресурсоемкости, но я был очень удивлен, что незначительные изменения в конфигурации сборки могут так значительно увеличить ее скорость.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии6

TensorFlow для начинающих. Часть 1: общие сведения, установка библиотеки

Время на прочтение4 мин
Количество просмотров61K
TensorFlow — это опенсорсная библиотека, созданная Google, которая используется при разработке систем, использующих технологии машинного обучения. Эта библиотека включает в себя реализацию множества мощных алгоритмов, рассчитанных на решение распространённых задач машинного обучения, среди которых можно отметить распознавание образов и принятие решений.

image

Этот материал посвящён основам TensorFlow и рассчитан на читателей, которые ничего не знают о данной библиотеке.
Читать дальше →
Всего голосов 41: ↑32 и ↓9+23
Комментарии16

Информация

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