Как стать автором
Обновить
320.5
KTS
Создаем цифровые продукты для бизнеса
Сначала показывать

Почему так удобно использовать паттерн MVI в KMM

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров13K

Привет!

Меня зовут Стефан Серхир. Я мобильный разработчик в KTS. Пишу под Android, iOS и КММ (Kotlin Multiplatform Mobile) и веду курсы в школе Metaclass.

Недавно мы провели вебинар, в котором разобрали Model-View-Intent (MVI) в KMM на практике и посмотрели, как это выглядит в коде iOS и Android. Это статья написана по мотивам этого вебинара. Подход MVI в KMM полезен, потому что:

— Удобно шарить бизнес-логику между всеми платформами
— Можно выделять отдельный функционал в фича-модули
— Сам MVI позволяет легко разделять экран на различные состояния и менять их в зависимости от действий пользователя
— MVI очень легко ложится на Jetpack Compose (Android) и SwiftUi (iOS)

В статье я расскажу, что такое MVI и KMM вообще, опишу преимущества и недостатки MVI и разберу на практике подход MVI в KMM.

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

Нужна ли на проекте документация: три признака, что да, ещё три — когда нет

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.3K

Привет! Меня зовут Максим Павлов, я управляющий партнёр KTS и отвечаю за направление системной и бизнес-аналитики.

Подготовка документации — дело затратное. Прежде чем приступать к ней, нужно подумать, действительно ли она нужна, или это делается, потому что «так принято». 

В статье я подробно остановился на ситуациях, когда написать её необходимо. Если в одной из них вы узнаете свой проект, то документация сильно поможет в его реализации.

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

Тонкости настройки Grafana Loki

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров37K

Привет! Меня зовут Игорь, я управляющий партнёр и системный архитектор в KTS.

В этой статье, подготовленной по мотивам моего доклада в «Школе мониторинга» Slurm, хочу поделиться своим набором best practice «Как лучше всего настроить Grafana Loki для сбора логов в инфраструктуре». 

На мой взгляд, порог входа в систему достаточно низкий, и в Интернете много туториалов. Поэтому я расскажу о более сложных и не совсем очевидных вещах, с которыми не раз сталкивался при работе с Grafana Loki. 

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

Ctrl+C и Ctrl+V — как перестать копипастить и сконцентрироваться на уникальных проектах

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.9K

Привет, меня зовут Надя, я руковожу фронтендерами в юните рекламных спецпроектов KTS.

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

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

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

Как управлять инфраструктурой в GitOps с помощью Crossplane

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.4K

Привет! Меня зовут Сергей — я руководитель DevOps-направления в KTS.

Этот цикл из трёх статей, посвящённый истории развития деплоя приложений, основным моделям и их сравнению. Мы достаточно детально пройдёмся по Pull-модели и покажем, как с помощью «передовых» инструментов организовать управление инфраструктурой больших проектов и дать возможность разработчикам самостоятельно заказывать элементы в инфраструктуре под нужды своих приложений.

Это финальная часть нашего доклада, в которой вы узнаете, как управлять инфраструктурой в GitOps с помощью Crossplane. Новый подход к IaC и как его можно объединить с ArgoCD.

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

Визуализация 5 алгоритмов сортировки на Python

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров45K

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

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

Код написан на Python, а графический интерфейс построен на Tkinter.

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

Инструкция для менеджеров и руководителей по реанимации проекта

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3K

Привет, я Вика Строгонова, руководитель проектного офиса KTS

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

Такой проект вам могут передать в комплекте с менеджером, или он может достаться вам «в наследство» после ухода другого сотрудника. 

Читать далее
Всего голосов 23: ↑21 и ↓2+19
Комментарии4

Как менеджеру понять, что на проекте нужен аналитик

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.3K

Привет, это Максим Павлов, управляющий партнер KTS

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

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

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

GitOps-платформа на базе Argo CD

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров19K

Привет, меня зовут Сергей — я руководитель DevOps-направления KTS. 

Рассмотрим относительно новый виток в развитии деплоя приложений и посмотрим, какие вопросы можно закрыть с помощью инструмента Argo CD.

GitOps — это одна из реализаций Pull-модели, в которой Git является хранилищем всех конфигураций. Источник правды — Git, все изменения в инфраструктуре проходят только через него. Все изменения по Pull-модели проводит специальный агент, который затем поддерживает заданное состояние. То есть если внести в инфраструктуру изменения вручную, агент увидит несоответствие с тем, что есть в Git, и вернёт все к нужному состоянию, идентичному источнику правды. 

Argo CD — один из самых популярных GitOps-инструментов. Он живет внутри Kubernetes и там же развертывает сущности. Argo CD предоставляет удобный RBAC, то есть управление правами и доступами. В интерфейсе можно посмотреть свои действия, управлять приложениями и  принудительно синхронизировать их. Argo CD входит в CNCF, что вызывает к нему большое доверие.

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

6 ошибок, из-за которых менеджеры-джуны остаются джунами

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров12K

Привет, я Вика Строгонова, руководитель проектного офиса в KTS. Я веду проекты с 2017 года и прошла путь от младшего менеджера до руководителя проектного офиса. Сейчас в моем портфеле более 20 проектов, в подчинении — 42 человека, среди них  разработчики, аналитики и менеджеры. 

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

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

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

Как нанимать разработчиков через школу: наши выводы за 6 лет обучения и 50 нанятых стажёров

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.1K

Привет, я Максим Павлов из KTS. Мы разрабатываем продукты в HRTech, EduTech и делаем кастомные IT-сервисы для бизнеса. 

6 лет мы 2 раза в год проводим школу Metaclass и после неё нанимаем стажёров. За это время мы обучили 2600 человек, приняли на работу около 50. Рассказываю о том, как запустить свою школу, ориентированную на найм стажеров, и не облажаться. 

Читать далее
Всего голосов 23: ↑20 и ↓3+19
Комментарии4

Как развивался DevOps: от начала времен до ArgoCD и IaC

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров6.3K

Привет, меня зовут Сергей — я руководитель DevOps-направления KTS. 

Этот цикл из трёх статей, посвящённый истории развития деплоя приложений, основным моделям и их сравнению. Мы достаточно детально пройдёмся по Pull-модели и покажем, как с помощью «передовых» инструментов организовать управление инфраструктурой больших проектов и дать возможность разработчикам самостоятельно заказывать элементы в инфраструктуре под нужды своих приложений.

В этой части расскажем, как программисты работали раньше.

Читать далее
Всего голосов 24: ↑21 и ↓3+20
Комментарии5

Программисты проверили, насколько тяжело жить девушкам с длинными ногтями

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

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

В среднем 247 рабочих дней в году мы в KTS проводим за разработкой цифровых продуктов в HRTech, EduTech, мобильной разработкой и DevOps. Месяц назад мы поспорили: правда ли, что с нарощенными длинными ногтями сложнее выполнять повседневные действия. Девушки согласились, парни — нет. Выяснить правду решили честным экспериментом.

Дисклеймер: цель нашей статьи — поздравить девушек с 8 марта и напомнить всем мужчинам, насколько прекрасны и изобретательны девушки.

Читать далее
Всего голосов 38: ↑22 и ↓16+8
Комментарии13

Эргономичный мониторинг на практике

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров8.9K

Всем привет! Меня зовут Алексей Леонтьев, я старший разработчик и системный архитектор в компании KTS.

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

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

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

Курсы дали больше университета: интервью со студентом школы Metaclass

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

Привет! 

20 марта начинается очередной поток нашей школы Metaclass по курсу Android-разработки.

После учёбы мы всегда спрашиваем наших студентов о курсе: что было легко, что не очень, как знания с курса помогли в карьере. Сегодня о своем опыте расскажет выпускник прошлых потоков курса Android-разработчик Тимур Чикишев. 

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

Список фишек Android Studio для ускорения разработки

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K

Привет! Меня зовут Стефан, я занимаюсь Android-разработкой в KTS.

Android-разработчики каждый день сталкиваются с своим основным инструментом — Android Studio. 

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

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

Пишем типизированный DI-контейнер для iOS приложения. Часть 2. Жизненные циклы

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

Привет! На связи KTS и наш привлеченный эксперт по направлению iOS-разработки Александр.

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

В первой статье мы рассказали о своём понимании Dependency Injection, какие бывают зависимости и откуда их получать. Разобрались в паттерне Dependency Container, написали собственную реализацию и поняли, какую проблему он решает.

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

Если вы готовы, погнали! ?

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

KMP глазами iOS-разработчика

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров12K

Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.

Мы в мобильной команде для шаринга кода на несколько платформ используем KMP. 

На Хабре можно встретить достаточное количество статей по этой технологии, но большинство из них рассматривает выбор кроссплатформенной технологии либо перевод проекта на KMP.

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

Читать далее
Всего голосов 18: ↑17 и ↓1+18
Комментарии10

Сменить профессию и не сойти с ума: интервью со студентом школы Metaclass

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

Привет! 

6 февраля начинается очередной поток нашей школы Metaclass по курсам frontend и backend для начинающих.

После учебы мы всегда спрашиваем наших студентов о курсе: что было легко, что не очень, как знания с курса помогли в карьере. Сегодня о своем опыте расскажет недавний выпускник курса Начинающий Backend-разработчик на Python Иван Пакеев.

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

Интервью со студенткой школы Metaclass, которая прошла два наших курса и дважды попала на стажировку в KTS

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

6 февраля начинается очередной поток нашей школы Metaclass по курсам frontend и backend для начинающих.

После учебы мы всегда спрашиваем наших студентов о курсе: что было легко, что не очень, как знания с курса помогли в карьере. Сегодня о своём опыте расскажет недавний выпускник курса Начинающий React-разработчик Настя Жукова.

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

Информация

Сайт
kts.tech
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия