Pull to refresh
1
0
Dmitriy Kuts @ExileeD

PHP/Python/Go developer

Send message

Чем заняться тимлиду, если не кодить? Рассказываю о своих задачах

Level of difficultyEasy
Reading time10 min
Views11K

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

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

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

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments13

MacOS Monterey на Linux — быстро и просто?

Level of difficultyEasy
Reading time3 min
Views43K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →
Total votes 83: ↑79 and ↓4+75
Comments67

Разбор Android 13 для разработчиков

Level of difficultyMedium
Reading time22 min
Views14K

Обзор всех изменений Android 13, которые пригодится вам знать чтобы протестировать работу приложения с новой версий ОС и узнать какие возможности вам будут полезны, чтобы улучшить ваш продукт, а какие вас заставит использовать Google Play!

Подробности
Total votes 21: ↑21 and ↓0+21
Comments17

Улучшаем лендинг на основе метрик, а не мнений: гайд

Reading time12 min
Views4.1K

Привет, Хабр! Меня зовут Андрей Устьянцев, и я ведущий аналитик направления Big Data в Лиге Цифровой Экономики. Занимаясь digital-маркетингом с 2006 по 2019 год, в какой-то момент я осознал очевидную сейчас многим истину. Эффективность рекламной кампании в интернете зависит не только от качества настройки ее параметров, но и от продающего качества лендинга, на который ведется рекламный трафик.

Но как измерить качество? Оперирование субъективными мнениями дизайнеров и результатами опросов в «экспертных сообществах» (в духе «подскажите, что не так»), как я могу судить по моему опыту, ни к чему в итоге не приводит.

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

Коротко — суть:

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments0

Управляйте своим Flutter приложением на лету с помощью Firebase Remote Config

Level of difficultyMedium
Reading time14 min
Views5.2K

Обновления в реальном времени, feature flagging и A/B тестирование – что, если я скажу вам, что вы можете включить эти мощные функции в своё приложение Flutter с минимальными усилиями по разработке и без каких-либо затрат? В этой статье я расскажу о нескольких реальных случаях использования, когда Firebase Remote Config может помочь вам при создании приложений Flutter.

Если вы предпочитаете видеоконтент, посмотрите видеоверсию этой статьи на YouTube (EN).

Узнать больше...
Total votes 1: ↑1 and ↓0+1
Comments0

Подборка полезных ссылок для разработчиков игр #2

Level of difficultyEasy
Reading time7 min
Views3.9K

100 новых ссылок по всем специальностям из геймдева для ваших закладок. Книги, статьи, полезные сервисы, материалы и Telegram каналы для всех, кто делает игры.

Читать далее...
Total votes 4: ↑4 and ↓0+4
Comments5

Уменьшаем размер MacOS.vdi в VirtualBox

Level of difficultyEasy
Reading time3 min
Views2.8K

Что ж, приступим сразу к делу. Как-то мы устанавливали виртуальную машину для сборки одного проекта, однако от души сделали динамический диск на 80GB. Однако позже стало понятно, что не стоило этого делать, так как у виртуальной MacOS оказалась весьма интересная особенность - даже если пространство на виртуалке остается незаполненным, она все равно занимает место на нашем Хосте (в моем случае - Windows). И так, вместо 27GB, фактически она занимала 50GB. Странно? Ну, пожалуй. Ведь динамический диск должен расширяться по ходу заполнения файлами. А что делать, если место пустует...

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

Инструкция была максимально простой, но мне стало немного беспокойно из-за конфузов, которые случались у некоторых ребят с форума. Дело в том, что команда diskutil secureErase freespace 0 / стерла все данные, что были на виртуалке Mojave.vdi у одного юзера, а после часовой кропотливой сборки проекта на моей виртуалке этого совсем не хотелось. Пришлось еще немного порыться в интернете и поосторожничать.

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

Подборка полезных ссылок для разработчиков игр #1

Reading time7 min
Views6.9K

148 новых ссылок по всем специальностям из геймдева для ваших закладок. Книги, статьи, полезные сервисы, материалы и Telegram каналы для всех, кто делает игры.

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

Автоматизация маркетинга и продаж: 900+ заявок ежемесячно

Reading time5 min
Views3.3K

После всем известных событий некоторые каналы привлечения платного трафика стали недоступны или существенно снизилась их отдача.

Мы в Completo более активно стали привлекать клиентов с помощью других инструментов. Это позволило не просесть по лидам. В результате мы получаем от 900 до 1200 MQL ежемесячно, в том числе благодаря автоматизации процессов. В этом материале делимся опытом и рассказываем, как работает автоматизация у нас.

Читать далее
Total votes 10: ↑3 and ↓7-4
Comments4

Как адаптировать Android-приложение под Huawei

Reading time11 min
Views11K

Всем привет! Меня зовут Миша Вассер, я Head of Android в AGIMA. Мы занимаемся разработкой Digital-продуктов для больших и маленьких компаний, в том числе пилим мобильные приложения.

Не так давно — по сравнению со всей историей Android — Huawei выкатил собственную операционную систему и сказал: «Ребята, вот вам новая система, кайфуйте». Многие отнеслись к новой ОС скептически. Остальным пришлось адаптировать под нее свои Android-приложения.

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

Читать далее
Total votes 39: ↑37 and ↓2+35
Comments20

Миграция приложения из Docker Compose в Kubernetes. Как, зачем и с какими проблемами я столкнулся

Reading time25 min
Views20K

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

Стоявшая передо мной задача: улучшить инфраструктуру и качество работы приложения, успевшего вырасти из MVP и стенда для одного клиента в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям. Настала пора адаптировать приложение под кластерный режим.

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

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

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

On-Demand ISR в Next.js или как эффективно обновлять статический контент на сайте, поступающий из CMS или админки

Reading time4 min
Views5.3K

В этой статье я расскажу, как и для чего, на одном из своих проектов, мы прикрутили новую возможность Next.js – On-Demand ISR (инкрементная статическая регенерация по запросу).

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

Как мы создали шаблон функциональных требований к разработке ПО

Reading time9 min
Views37K

Всем привет, мы – Таня и Лиза, системные аналитики в МТС. В этой статье мы поделимся опытом внедрения структурированного шаблона функциональных требований (ФТ) к разработке ПО в нашей команде.

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

Добро пожаловать под кат!

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

Как настроить Nginx в качестве балансировщика нагрузки

Reading time9 min
Views58K

Что такое балансировка нагрузки?


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

Существует несколько типов балансировщиков нагрузки:

  • Балансировщик нагрузки приложений.
  • Сетевой балансировщик нагрузки.
  • Балансировщик нагрузки шлюза.
  • Классический балансировщик нагрузки.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments22

За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS

Reading time14 min
Views7.5K
Привет! Меня зовут Денис Кудинов, я iOS-Development team lead в «Лаборатории Касперского». В этой статье расскажу об Mobile Device Management, а также о supervised- и BYOD-режимах — как работает технология и что с ее помощью можно сделать такого, что недоступно обычным приложениям из App Store. Считайте это презентацией возможностей Configuration Profiles, да и Apple MDM в целом :)

image

Статья будет полезна разработчикам B2B-приложений для iOS, которые хотят разбавить свои инструменты новыми фичами, а также для product owner-ов и бэкенд-разработчиков, которые хотят поддержать взаимодействие с мобильными устройствами.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments3

Настоящий Product Backlog Refinement: 4 этапа правильной работы над фичами

Reading time6 min
Views16K

Привет, Хабр! Я Екатерина Колесникова, Agile Coach в inDriver. Когда я пришла в команду, заметила проблемы в процессе Product Backlog Refinement. Я предложила новый сценарий этой церемонии — и он сработал. В этой статье поделюсь опытом проведения PBR без скучной теории о «правильном» планировании. 

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments9

Как мы ускоряли сборку Android-приложения из двух миллионов строк кода

Reading time18 min
Views15K

Всем привет! Наверняка каждый Android-разработчик хоть раз сталкивался с проблемой скорости сборки своего проекта. После нехороших слов в адрес кодогенерации, покупок более мощного железа, многочисленных попыток распилить проект на небольшие параллельно собираемые модули и прохождений всех стадий торга мы продолжаем искать решение этой проблемы. К счастью, за годы развития и в Gradle, и Android Gradle Plugin (AGP) появилось много полезных штук для ускорения сборки, о которых я расскажу дальше.


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


Я расскажу на примере мобильного Яндекс Браузера. У нас было ~150 Gradle-модулей, ~2 млн LoC на Java/Kotlin, десяток Gradle-плагинов, тысячи строк кода в buildSrc и лёгкая дрожь от вопроса, сколько ещё может переварить билд-система. Не скажу, что это всё было категорически необходимо, но к написанным строчкам кода надо проявлять уважение.

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

Дайджест заметок UX-дизайнера за июль 2022

Reading time13 min
Views1.9K

Автор заметок UX-дизайнера — Антон Григорьев — опытный проектировщик информационных систем, преподаватель и автор статей. Он каждый месяц прочитывает десятки публикаций, отбирает из них самые достойные, выписывает основные тезисы и публикует в своём канале. В июльский дайджест полезных материалов для UX-дизайнеров попало 14 материалов…

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

9 причин перейти с Python на Go

Reading time10 min
Views21K

Переход на новый язык — это всегда большой шаг. Особенно, если этим языком владеет только один член команды. В начале этого года мы поменяли основной язык программирования в Stream — с Python на Go. В этой статье я приведу 9 причин почему — и 3 минуса, выявленных в процессе. 

Кодить на Python не брошу, но посмотрю
Total votes 37: ↑9 and ↓28-19
Comments36

Это кто понаписал?

Reading time4 min
Views7.8K
Технический директор и разработчик вместе изучают legacy-код в попытках исправить баг. Мучениям нет конца, и они уже готовы сдаться. «Да кто вообще понаписал эту хрень?» — спрашивает технический директор. В раздрае чувств он смотрит в git blame. Оказывается, это он и понаписал.

Встречайте нашего главного героя – Джейка. Он разработчик, недавно принятый в компанию, на проект, которому идет седьмой год. В процессе онбординга Джейку поручили устранить баг, и для этого ему пришлось закопаться в глубины legacy-кода. Вооружившись всеми своими знаниями и пониманием контекста, он сделал шаг в бездну. Всё должно было быть просто. В конце концов, это задача для новичка. Что такого может случиться? (где-то здесь прозвучал циничный смех)
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments12
1
23 ...

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity