Pull to refresh
4
0
Влад Бойко @volkodav01

Волшебник

Send message

Где и как можно ускорить приложение на Android

Level of difficultyMedium
Reading time14 min
Views7.9K

Привет! Я Александр Попсуенко, руководитель инфраструктурной команды мобилок Маркета. Сегодня я хочу рассказать, как мы ускоряли наше приложение на Android.

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

Пост рекомендуется к прочтению:

— мобильным разработчикам и техлидам, чтобы почерпнуть идеи для реализации метрик и ускорения приложений;

— продуктовым и техническим менеджерам для осознания, что можно довольно дешёвыми способами ускорить приложение;

— UX‑дизайнерам, чтобы удостовериться, что мобильные приложения должны быть быстрыми и в это нужно вкладываться.

Почерпнуть, осознать, удостовериться
Total votes 23: ↑23 and ↓0+23
Comments9

Практическое руководство по Jetpack Compose: создаем анимированную кнопку-счетчик

Reading time26 min
Views5.8K

Недавно передо мной возникла необходимость создать кнопку счетчика для небольшого приложения. Бороздя просторы интернета в поисках хороших готовых решений, я наткнулся на этот дизайн от Эхсана Рахими (Ehsan Rahimi) на Dribble. Придя к выводу, что воссоздать его в Compose — задача нетривиальная, я закатал рукава и принялся экспериментировать. В этом руководстве я поделюсь с вами каждым шагом, который я предпринял для реализации этого дизайна в Jetpack Compose.

Читать далее
Total votes 10: ↑8 and ↓2+7
Comments1

Как получить 30 удаленных работ? Опыт 300 собеседований. 9 неочевидных советов для соискателя

Level of difficultyEasy
Reading time6 min
Views67K

Этот метод дал мне конверсию 50% из собеседования в оффер на вакансию «маркетолог» с доходом от 70к.

Меня зовут Слава, 4 года назад я работал маркетологом в агентстве. И решил поискать работу мечты на hh.ru. Я знал, что даже есть агентства, которые закрывают себе клиентов на hh.ru.

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

Читать далее
Total votes 50: ↑36 and ↓14+30
Comments52

Охоту на Макбук объявляем открытой

Reading time3 min
Views20K
Умеете хорошо писать по ИТ-теме? Можете объяснить своей бабушке, что такое DevOps на пальцах? Рассказываете коту про кортежи и полиморфизм? Хватит держать это в себе! Напишите классную статью в наш блог на Хабре и выиграйте Макбук с M1, с котором сможете делать ещё больше крутых штук. На старт, внимание… а всё, вы уже в деле.

Кто победит: осмелевший и талантливый новичок или опытный и владеющий всеми фишками старожил?
Узнать подробности
Total votes 52: ↑37 and ↓15+41
Comments63

Кастомный ItemDecoration для RecyclerView

Reading time6 min
Views9.7K

Как-то раз мне нужно было создать собственный ItemDecoration, и я обнаружил, что в Интернете. почти нет ответов на этот вопрос. Надеюсь, что эта стать будет кому-нибудь полезна.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments2

Работаем в IntelliJ IDEA на слабом железе

Reading time7 min
Views50K

Обнаружил секретный репозиторий на гитхабе JetBrains под названием Projector. Благодаря нему написал кусок кода в IntelliJ IDEA, запущенной на Android-планшете. Рассказываю, как это повторить.


Читать дальше →
Total votes 79: ↑78 and ↓1+92
Comments147

Собеседование наоборот: вопросы соискателя к компании

Reading time6 min
Views76K
Всем привет! Хочу очередной раз поднять тему про найм. Только я собираюсь поговорить об этом с точки зрения кандидата, а не работодателя. Ведь собеседование, вопреки многим стереотипам, процесс двусторонний — вопросы может задавать не только интервьюер, но и сам соискатель. За прошлый год я провёл порядочное количество собеседований, и абсолютное большинство кандидатов огорчило меня отсутствием вопросов о компании, всего 5 человек стали меня расспрашивать о работе.

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

image
Читать дальше →
Total votes 114: ↑108 and ↓6+125
Comments131

COVID-19: чем пробуют лечить, чем можно лечить и немного теорий заговора

Reading time6 min
Views37K

Тема COVID-19 сейчас звучит из каждого утюга, и каждый, кто был военным аналитиком в январе, экономистом в нефтяной отрасли в феврале, сейчас внезапно превратился в вирусолога. Тем не менее из информационного потока можно выделить весьма достойные заметки. Нам хотелось бы рассказать немного о некоторых препаратах – и параллельно затронуть всплывающую тему сходства с ВИЧ (сходства, которого нет), а также то, что якобы „препараты против ВИЧ работают и против коронавируса SARS-CoV-2“ (НЕТ, или как минимум не совсем так).


Даже небезызвестный Люк Монтанье (Нобелевская премия за открытие ВИЧ) недавно высказал своё мнение по поводу того, что коронавирус SARS-CoV-2 был сделан искусственно, причём были использованы части генома ВИЧ. Скорее всего, он сделал это заявление потому, что предположительно SARS-CoV-2 может проникать в T-клетки иммунной системы, однако исследования показывают, что между геномами этих двух вирусов нет ничего общего.

Читать дальше →
Total votes 47: ↑38 and ↓9+41
Comments112

Анимируем RecyclerView легко без перехода на ViewPager2

Reading time9 min
Views9.1K


Когда мы работаем с коллекциями и их отображением, перед многими из нас часто
встает выбор между ViewPager (теперь ещё и ViewPager2) и RecyclerView. Эти
компоненты похожи друг на друга по области применения, но серьезно отличаются
интерфейсом и реализацией. Начиная с support library 24.2.0 границы между
данными компонентами стали ещё более размытыми, т.к. появился вспомогательный
класс SnapHelper для автоматического доведения сhildView до
определенного положения на экране, и без устаревшего ViewPager стало проще
обходиться. С недавним релизом ViewPager2, казалось бы, о старом ViewPager и о
практиках его имитации вообще можно забыть (ViewPager2 — это по сути
RecyclerView с дополнительными вспомогательными классами, он позволяет
практически идентично повторить поведение ViewPager и сохраняет совместимость со
старым api).


Так ли это на самом деле? Лично для меня всё оказалось не так просто. Во-первых,
в классическом RecyclerView отсутствует интерфейс PageTransformer для
анимирования сhildView в зависимости от позиции (далее по тексту используется
понятие «позиционная анимация»). Во-вторых, неприятными сюрпризами долгожданного
ViewPager2 оказались модификатор класса final, который ставит крест на
переопределении метода onInterceptTouchEvent (компонент мало пригоден для
вложения горизонтальных списков в вертикальные), и приватность поля
recyclerView.


Итак, столкнувшись в очередной раз с трудностями позиционной анимации при
отображении коллекций с помощью RecyclerView и поковырявшись в ViewPager2 и
MotionLayout, я подумал, что позаимствовать принцип работы
ViewPager.PageTransformer для классической реализации RecyclerView а-ля
ViewPager2 не самая плохая идея.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Адаптивная фоновая подсветка для телевизора на Raspberry Pi – аналог Ambilight

Reading time21 min
Views47K
image

Это телевизор с диагональю 50” и 37 RGB точками адаптивной фоновой подсветки по верхней и боковым сторонам экрана. Как сделать аналогичную адаптивную фоновую подсветку для любого экрана или ТВ — тема избитая, но вполне актуальная по ряду причин.

Во-первых, все меняется. Пару лет назад еще не было проекта, работающего без программных или аппаратных костылей. Во всяком случае мне не встречались такие публикации. Те, что описаны на просторах рунета – либо потеряли актуальность в связи с устареванием программных или аппаратных платформ, либо реализуют данную технологию только применительно к мониторам, подключенным к ПК.

Во-вторых, на рынке нет и не будет самсунгов, сони, элджи и прочих ТВ с поддержкой данной технологии, так как она запатентована на многие годы вперед компанией Philips. И наконец — все решения «из коробки», доступные на али и иже с ним – имеют ряд ограничений в гибкости настроек и адаптации к размеру кадра видеоконтента, корректировок цветовой гаммы и т. д, являясь при этом всего лишь аппаратным костылем, анализирующим внешний сигнал и работающий только на формирование подсветки.
Total votes 35: ↑35 and ↓0+35
Comments38

ActivityLifecycleCallbacks — слепое пятно в публичном API

Reading time9 min
Views11K


С детства я люблю читать инструкции. Я вырос, но меня до сих пор удивляет то, как взрослые люди безалаберно относятся к инструкциям: многие из них считают, что все знают, и при этом пользуются одной-двумя функциями, в то время как их намного больше! Кто из вас пользовался функцией поддержания температуры в микроволновке? А она есть почти в каждой.

Однажды я решил почитать документацию к различным классам Android framework. Пробежался по основным классам: View, Activity, Fragment, Application, — и меня очень заинтересовал метод Application.registerActivityLifecycleCallbacks() и интерфейс ActivityLifecycleCallbacks. Из примеров его использования в интернете не нашлось ничего лучше, чем логирование жизненного цикла Activity. Тогда я начал сам экспериментировать с ним, и теперь мы в Яндекс.Деньгах активно используем его при решении целого спектра задач, связанных с воздействием на объекты Activity снаружи.
Читать дальше →
Total votes 10: ↑9 and ↓1+11
Comments9

Как писать лёгкие тексты

Reading time2 min
Views22K
Я пишу много текстов, в основном всякую чушь, но, обычно, даже хейтеры говорят, что текст читается легко. Если хотите сделать свои тексты (письма, например) легче, бегом сюда.

Тут я ничего не придумывал, всё из книжки «Слово живое и мёртвое» Норы Галь, советского переводчика, редактора и критика.
Читать дальше →
Total votes 68: ↑56 and ↓12+59
Comments58
Если дома мы можем сами определять конфигурацию рабочего места, то в компаниях по-разному подходят к офисному проектированию. Где-то размышляют утилитарно и ставят обычные noname офисные столы рядами, как скамьи для гребцов на галере. Как итог — работать в таком офисе становится неприятно. А если попробовать что-то особенное? Повлияет ли это на продуктивность и насколько такой подход оправдан?
Подробности — под катом
Total votes 22: ↑19 and ↓3+38
Comments218

Подборка психологических и нетипичных технических вопросов с собеседований Java-разработчика

Reading time6 min
Views36K
Как и у всех разработчиков, у меня настал период затишья. Проект подходил к концу, задач практически не было, хотелось выше зарплату, ну и пошла получать свой заветный job offer.



Так вышло, что некоторые собеседования занимали 2-3 этапа, и я накопила парад вопросов, которыми спешу с Вами поделиться.

Психологические вопросы




Представители отдела кадров и не IT-руководители качественно выполняют свою работу и тоже хотят тебя о чем-нибудь спросить, но некоторые из них удивляют меня все больше и больше. Руководитель одной из контор устроил мне даже блиц-опрос с таймером. Если раньше обходились двумя вопросами: “Кем Вы видите себя через 5 лет?” и “Что Вас не устраивает на старом месте работы? Сейчас же, все вокруг только и говорят, что о психологии, вот и появляются подобные вопросы.

Мои любимые, простенькие короткие вопросики:
— “Вы конфликтный человек?”
— “Допустим у Вас конфликт, как вы будете его решать?”
— “Если в pull-request вы не согласны с коллегой, какие Ваши действия?”
— “Как часто вы пьете чай на рабочем месте?”
— “Как вы решаете споры в команде?”
— “Опишите работу вашей мечты”
— “Опишите рабочее место Вашей мечты”
— “Если бы вы выиграли в лотерею кругосветное путешествие длиной в год. Какова вероятность, что после приезда вы пойдете на прежнее место работы?”

Однажды мне прислали психологический тест, состоящий из 2 частей в общей сложности на 300 вопросов, потому что: «Данная вакансия предполагает конкурсный отбор в 3 этапа — 2 тестирования по электронной почте (психологическое и профессиональное) и собеседование (очное или скайп, как вам удобно)»
Читать дальше →
Total votes 30: ↑24 and ↓6+18
Comments78

Долгожданный View Binding в Android

Reading time3 min
Views61K

Пару дней назад Google выпустил Android Studio 3.6 Canary 11, главным нововведением в которой стал View Binding, о котором было рассказано еще в мае на Google I/O 2019.


Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments24

«Познать кайдзен»: что собой представляет эта философия для улучшения производственных процессов

Reading time3 min
Views12K
Кайдзен используют компании самых разных размеров: от стартапов до крупных предприятий вроде Toyota. Рассказываем, чем помогает и как работает этот фреймворк.

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments29

Ожирение — расслаблять и вовлекать

Reading time35 min
Views24K
Точный подход к вопросу о калориях


Очевидные причины


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

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

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

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

Трудно усомниться в очевидном. Солнце вращается вокруг Земли — не нужны доказательства тому, что видно невооруженным взглядом, не так ли? Не так.
Читать дальше →
Total votes 94: ↑50 and ↓44+6
Comments187

Вы придумали идею IT-продукта, что дальше

Reading time21 min
Views26K
Наверняка каждому из вас приходили в голову идеи новых интересных полезных продуктов – услуг, приложений или устройств. Возможно, кто-то из вас даже что-то разрабатывал и публиковал, может даже пытался на этом заработать.

В этой статье я покажу несколько методик работы над бизнес-идеей – о чем стоит задуматься сразу, какие показатели рассчитать, какие работы спланировать в первую очередь чтобы проверить идею в короткие сроки и с минимальными расходами.
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments16

«Сгоревшие» сотрудники: есть ли выход?

Reading time18 min
Views160K
Ты работаешь в хорошей компании. Вокруг тебя крутые профессионалы, получаешь достойную зарплату, каждый день делаешь важные и нужные вещи. Илон Маск запускает спутники, Сергей Семёнович улучшает и без того лучший город Земли. Погода отличная, солнце светит, деревья цветут — живи да радуйся!

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

Что же делать? Как работать с Игнатом? Добро пожаловать под кат!


Total votes 224: ↑210 and ↓14+196
Comments400

Безопасность со вкусом Google

Reading time3 min
Views9.3K


Отгремел Google I/O 2019 и пришла пора переписывать проекты на новую архитектуру изучать новинки. Так как я интересуюсь безопасностью мобильных приложений, то в первую очередь обратил внимание на новую библиотеку в семействе JetPack — security-crypto. Библиотека помогает правильно организовывать шифрование данных и при этом ограждает разработчиков от всех нюансов, которые сопровождают этот процесс.

Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments11

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity