Как стать автором
Обновить
7
0
Васильев Кирилл @v_for_vasiliev

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

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

Интерактивное ТВ: как всё работает и что оно умеет (часть 1)

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

Привет! Меня зовут Евгений Гудкин, я руководитель группы спецпроектов в сейлс-хауcе ЭВЕРЕСТ, я хочу рассказать вам про интерактивное ТВ и изменения, которые мы вносили в ряд механик в этом году. Поговорим про специфику интерактивного ТВ, обсудим его элементы и метрики, а также затронем тему рекламодателей.

Читать далее
Всего голосов 16: ↑9 и ↓7+4
Комментарии12

Кто такой ИТ-бизнес-партнёр и чем он занимается

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

Привет! К определению сущности ИТ-бизнес-партнёра зачастую возникает больше вопросов, чем к названиям большинства других должностей. Для рядового сотрудника порой куда понятнее, чем занимается тот же scrum-мастер или agile-коуч. А вот с ИТ-бизнес-партнёром всё иначе: кто-то думает, что это такой аналог классического продуктолога, который просто чуть более вхож в руководящие круги. Другие считают, что это просто перемычка между бизнесом и чистым ИТ, мол, коммуникации такого рода не автоматизируешь, так что вот, пусть должность будет для живого человека.

В этом посте мы постараемся объяснить, чем же именно занят ИТ-бизнес-партнёр на работе, что входит в его обязанности, какими качествами он должен обладать. И сделаем мы это на живом примере: меня зовут Светлана Евстигнеева, я ИТ-бизнес-партнёр блока розничного бизнеса Московского кредитного банка (МКБ).

Читать далее
Всего голосов 12: ↑9 и ↓3+8
Комментарии19

Одноплатник Khadas Vim4 — интересный аналог Raspberry Pi 4

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

Привет, Хабр! Недавно мы опубликовали статью про аналоги Raspberry Pi. Увидели, что текст понравился, и написали продолжение про перспективный одноплатник Khadas Vim4. Это флагманский мини-ПК на базе чипа Amlogic. Его особенность — наличие HDMI-входа, который расширяет список реализуемых на нем проектов.

Что можно собрать на базе Vim4, какие особенности и характеристики платы нужно учитывать — рассказываем под катом.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+9
Комментарии19

Лучшие сообщества разработчиков и IT специалистов в 2022 году

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

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

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

Делим неделимое или горизонтальная декомпозиция

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

Привет!

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

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

Нарезая задачки по бизнес-ценности, мы столкнулись с двумя типами проблем:

- максимально мелко нарезанные задачи все еще большие,
- разные бизнес-задачи завязаны на общие изменения.

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

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

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

Как мы в СИБУРе делаем дашборды для людей. Часть 3: считаем прибыль не только правильно, но и красиво

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

Привет! Как мы уже не раз рассказывали, СИБУР поделен на несколько сквозных процессов. Сквозные процессы – это бизнес-домены, которые объединяют в себе бизнес-команды одной сферы. У нас таких много, но конкретно этот пост будет посвящён дашбордам для O2C. 

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

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

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

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

Я создал принтер чеков для issues в GitHub

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

У меня есть много хобби-проектов в GitHub. Некоторые из них довольно популярны, поэтому к ним время от времени постят issues. Проблема в том, что они теряются в куче моих электронных писем или я забываю пройтись по своим репозиториям и добавить новые пункты в список дел.

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

Спойлер: у меня получилось!
Читать дальше →
Всего голосов 22: ↑20 и ↓2+28
Комментарии12

Dashboard as code, или как мы создание дашбордов автоматизировали

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

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

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

Сейчас будет «Но», правда?

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

Читать далее
Всего голосов 23: ↑22 и ↓1+25
Комментарии6

Как мы в QIWI внедряли Kotlin Multiplatform Mobile Часть 2: Смотрим шире

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

Это продолжение нашего рассказа о внедрении Kotlin Multiplatform Mobile в QIWI. Если хотите узнать больше про технику, посмотреть на код, переходите в первую часть. В этой статье будет больше контекста про то, как мы принимали решение, готовили прототип и внедряли технологию в команды. Наш опыт может помочь вам “продать” KMM в вашей компании и вашим стейкхолдерам. Я расскажу о плюсах и сложностях, с которыми мы столкнулись на нашем пути.

Немного истории

В QIWI мы часто пробуем что-то новое в наших процессах и в разработке. За последние 5 лет мы создали несколько приложений с нуля, используя разнообразные подходы. Например, мы впервые попробовали кросс-платформу, когда делали приложение QIWI Инвестор. Мы использовали инструмент J2ObjC, чтобы конвертировать общий модуль с кодом на Java на Objective-c для iOS. Это решение было смелым, но не самым надежным. По ходу использования было много проблем, самые большие — с конвертацией кода сторонних библиотек. В итоге проект закрылся, как и этот эксперимент. Кросс-платформенный подход оказался рабочим, но мы отложили его в сторону пока не появился более надежный инструмент.

В 2018 году мы перешли от платформенных команд к кросс-функциональным. Это стало самым большим изменением в процессе разработки c внедрения скрама. “Совместное владение кодом” стало нашей новой ценностью. Границы между платформами начали размываться, мы стали внимательнее изучать код на других платформах, вместе принимали решения и делились лучшими практиками.

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

Почему хабражители предпочитают велосипеды, вместо готовых решений? Или о systemd, part 0

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

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

Во всём виноват Хабр!
Всего голосов 82: ↑80 и ↓2+102
Комментарии245

Можно ли сэкономить, набирая junior специалистов?

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

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


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

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

Как я сделал кастомный прерыватель Okhttp через котлиновские корутины

Время на прочтение4 мин
Количество просмотров4.7K
Начнём с постановки задачи.

  1. Надо в каждом запросе в header’s отправлять токен и id юзера
  2. Надо из каждого ответа вытаскивать из headers новый токен и id юзера
  3. Полученные данные надо сохранять

Библиотека для серверного взаимодействия – Retrofit. За многопоточность отвечают корутины.
Задача не сложная, надо просто добавить прерыватель Okhttp client в каждый запрос. Полчаса и всё готово, всё работает, все рады. Но мне стало интересно, а нельзя ли сделать прерыватель без Okhttp клиента?
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии11

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

Время на прочтение3 мин
Количество просмотров5.5K
В этой подборке (не)настоящее восстание машин в Google Play, чистый Swift и настоящие компоненты, новый Android 10 и старый геймдев, удобные интерфейсы и сомнительный маркетинг для инди-игр.

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

Современное окружение для React Native приложений

Время на прочтение4 мин
Количество просмотров7.3K
В этой статье мы рассмотрим настройку React Native окружения с использованием expo-cli, Typescript, и Jest.

Typescript поможет нам избежать ошибок при разработке и написать более эффективное мобильное приложение.

Современные разработки позволяют интегрировать Typescript в окружение разработки. Так же мы можем использовать VS Code, который отлично поддерживает Typescript.

Также интеграция с React Native даст нам возможность использовать сервис автодополнения, навигацию по коду и рефакторинг.

Expo — это набор инструментов, которые упрощают создание нативных React приложений. В этом уроке я собираюсь показать вам, как вы можете быстро создавать нативные React приложения, используя Expo.


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

Многозадачность или марихуана?

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


Взгляните на эту картинку. Персонаж справа — медведь. Так случилось, что он курит марихуану (не спрашивайте, где он её взял. Знать не хочу). Женщину слева я назвал Салли. За исключением того, что у неё пять рук, Салли совершенно обыкновенная, непримечательная деловая женщина. Салли, как и многие другие обыкновенные деловые женщины, ещё и завзятая многозадачница. На картинке она держит свой ноутбук, готовит какой-то десерт, да ещё и балансирует миской с какой-то обжигающе горячей похлёбкой, наверное, из морепродуктов. А теперь главный вопрос. Допустим, у Салли и медведя одинаковый уровень интеллекта (это очень умный медведь), тогда кто из них покажет лучший результат при тестировании когнитивной деятельности? Иными словами, если бы меня интересовала умственная деятельность, что для меня хуже: быть многозадачным или забивать косяк?
Всего голосов 81: ↑72 и ↓9+63
Комментарии124

Не морочьте мне голову со своим функциональным программированием

Время на прочтение19 мин
Количество просмотров68K
Адепты функционального программирования любят завлекать новичков обещаниями идеальной выразительности кода, 100% корректностью, лёгкостью поддержки и простотой рефакторинга, а иногда даже пророчат высочайшую производительность. Однако, опытные разработчики знают, что такого не бывает. Программирование — это тяжёлый труд, а «волшебных таблеток» не существует. 

С другой стороны, элементы функционального стиля программирования уже проникли в промышленные языки программирования, такие как Swift и Kotlin. Разработчики этих языков прекрасно знакомы с функциональным программированием, поэтому смогли применить его «в малом», предусмотрев многие, хотя и не все, необходимые компоненты. Чем дальше — тем больше части ФП внедряются в промышленные ЯП, и тем качественнее и полнее реализуется поддержка.

Уметь программировать в функциональном стиле полезно, чтобы упрощать себе работу, и сейчас мы посмотрим, как этим воспользоваться!


Виталий Брагилевский — преподаватель ФП, теории алгоритмов и вычислений, автор книги «Haskell in Depth» и участник комитетов Haskell 2020 и наблюдательного комитета компилятора GHC.
Всего голосов 133: ↑109 и ↓24+85
Комментарии215

ViewPager 2 — новая функциональность в старой обертке

Время на прочтение9 мин
Количество просмотров30K
ViewPager — один из самых известных и широко используемых компонентов Android Support Library. Все простейшие карусели, онбординги и слайдеры в мобильных приложениях для Android выполнены именно на нем. В феврале 2019 года команда разработки AndroidX выпустила ViewPager2. Давайте разберемся, какие у этого были предпосылки и какими преимуществами обладает обновленная версия компонента.


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

Темы и стили в Android-приложениях

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


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


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

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

10 принципов объектно-ориентированного программирования, о которых должен знать каждый разработчик

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


Мне довольно часто встречаются разработчики, которые не слышали о принципах SOLID (мы подробно рассказывали о них здесь. — Пер.) или объектно-ориентированного программирования (ООП), или слышали, но не используют их на практике. В этой статье описываются преимущества принципов ООП, которые помогают разработчику в его ежедневном труде. Некоторые из них хорошо известны, другие — не очень, так что статья будет полезна и новичкам, и уже опытным программистам.
Читать дальше →
Всего голосов 57: ↑36 и ↓21+15
Комментарии26

Сжимаем APK, стараясь сохранить его работоспособность

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


/ PxHere / PD


Оптимизация веса APK — это нетривиальная, но очень актуальная во времена Instant App, задача. Включение proguard избавит вас от ненужного кода, если ваши зависимости можно определить на этапе компиляции, но в APK есть ещё несколько видов файлов, которые можно исключить из сборки.


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

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

Информация

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