Metaclass by KTS
900 subscribers
131 photos
2 videos
255 links
Курсы для разработчиков, менеджеров и аналитиков от компании KTS

Ссылка на чат школы — https://t.iss.one/kts_dev
Download Telegram
#хабр #devops

Как и зачем изучать джуну Kubernetes 🚢

Испытав на собственном опыте все проблемы при изучении Kubernetes, наша бэкенд-разработчик Алина опубликовала на Хабре туториал для новичков.

Статья может быть полезна для начавших или уже изучающих Kubernetes. Что вы узнаете:

🔘 Что такое Kubernetes, зачем он нужен людям и, в частности, джунам
🔘 Как подготовиться к началу изучения
🔘 Какие материалы есть в открытом доступе, в чём их достоинства и недостатки

Напоследок — пара советов от наших DevOps-инженеров специально для начинающих изучать эту интересную тему.

Кстати, напоминаем, что у нас есть курс по Kubernetes, и он рассчитан как раз для новичков.


Читать статью 📰

Посмотреть программу курса👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
#backend #артём_бакулев

Разбираемся в asyncio 🐙

Наш бэкенд-разработчик Артём опубликовал на Хабре статью с разбором принципов асинхронного программирования: когда полезно, когда не очень и зачем, собственно, это учить.

Не ждите, как IO-bound-операция, заходите почитать!

Разбираемся в asyncio: где полезно, а где — нет?
👍11🔥3
#курсы #frontend #backend #хабр

Интервью со студентами школы Metaclass 🏪

В понедельник начинают учиться студенты новых бесплатных курсов по React и Python, а мы пока собрали немного обратной связи от тех, кто уже прошёл обучение и попал к нам на стажировку:

🔸 Интервью с Анастасией Жуковой, курс «Начинающий React-разработчик»

🔹 Интервью с Иваном Пакеевым, курс «Начинающий Backend-разработчик»

Пока мы готовили интервью, набор на курс по фронтенду закрылся из-за большого количества участников, но вы ещё можете записаться на курс по бэкенду. Старт — 6 февраля.
🔥7
#школа #android

🎉 Объявляем запуск четвёртого потока курса «Android-разработчик» 📱

20 марта мы стартуем обновлённый курс мобильной разработки на Android.

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

Лучше всего курс подойдёт тем, кто уже немного знаком с разработкой под Android. За 10 модулей вы прокачаете навыки и научитесь:

— создавать Android-приложения с использованием современных подходов
– использовать Jetpack и другие популярные библиотеки для разработки приложения
– работать с Compose и KMM
– работать с многопоточностью и асинхронностью с применением Kotlin Coroutines и Flow
– и многому другому



Узнать подробнее и записаться на курс можно здесь:

📲 На странице курса — здесь вы можете посмотреть программу и почитать отзывы
🤖 Через бота — здесь вы можете получить ссылки на видео и статьи, полезные при обучении

Ждём вас на курсе и желаем успехов!
Старт — 20 марта.
👍6🔥3🎉3
Вебинар по Android-разработке: Model View-паттерны презентационного слоя 💡

Всех интересующихся, изучающих и практикующих Android-разработку приглашаем в следующий вторник, 21 февраля, на бесплатный вебинар, посвящённый паттернам MV*

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

Ведущий — Максим Мялкин, руководитель мобильной разработки KTS.

На вебинаре:
1️⃣ Расскажем, что такое паттерн презентационного слоя и чем он отличается от архитектуры
2️⃣ Рассмотрим основные паттерны: MVP, State machine, MVVM, MVI, примеры их реализаций, достоинства и недостатки
3️⃣ Покажем эволюционный путь использования этих паттернов в нашей компании

Вебинар будет 21 февраля в 18:00
👉 Регистрируйтесь по ссылке 📲
🔥6👍3
#технологии

Чек-лист от KTS 💥
«Что нужно сделать перед отправкой merge request» ☑️

1. Проверить использование select_related, prefetch_related там, где это возможно
2. Проверить, что нет одинаковых запросов, которые можно заменить одним
3. Обязательно использовать транзакции при добавлении чего-либо не одним запросом
4. Обязательно использовать select for update при использовании неатомарных операций (например, блокируем строчки с ответами при подсчете баллов за тестирование)
5. Обязательно проверить наличие unique индексов там, где не должно быть чего-либо неуникального
6. Не должно быть ошибок в ответах у view, которые не подходят по смыслу
7. Стараемся максимально использовать generic view, не надо городить велосипеды (Get, Create, Update, Delete, List)
8. В каждой задаче должно быть только по одной миграции на одно приложение (не забываем схлопывать новые миграции)
9. Обязательное написание тестов, которые затронут ВСЕ строки ваших изменений
10. Проверить, что все тесты сжаты по смыслу через parametrize (нет одинаковых тест-функций c разными параметрами в запросе и т.д.)
11. Тест обязательно должен проверять полный ответ от арі (не надо проверять выборочные поля)
12. Тест обязательно должен проверять изменения в базе, если такие есть
13. Тест обязательно должен проверять полный ответ даже при тестировании ошибки (нужно проверить тело ответа)
14. Тест обязательно должен проверять статус ответа
15. Тест проверяет связанную задачу в селери, при наличие таковой
16. В тестах должны быть замоканы все внешние запросы к сторонним апи
17. В тестах должны быть замоканы даты
18. В самом конце посмотреть свой MR полностью, проверить отсутствие каких-либо принтов и лишних элементов кода
19. Проверить, что тесты в гитлабе прошли
20. Проверить отсутствие конфликтов
21. Убедиться, что ЭТО ЛУЧШЕЕ, ЧТО ВЫ СМОГЛИ СДЕЛАТЬ 💎
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4
#android #хабр #максим_мялкин

🤖 KMM глазами iOS-разработчика🍏

Kotlin Multiplatform Mobile (KMM) — это SDK для мультиплатформенной разработки от компании JetBrains. KMM позволяет вынести переиспользуемую бизнес-логику в общий модуль для платформ iOS и Android.

Мы в команде используем КММ для оптимизации разработки и поддержки существующего кода, что особенно важно на проекте с ограниченными сроками. В причины выбора углубляться не буду, но если вкратце — КММ позволил не переобучать ребят, как это было бы с Flutter.

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

Но для iOS-разработки при внедрении KMM есть нюансы, которые разобраны в статье 👇

Читать
👍4🔥3👨‍💻1
#android

Вебинар по Android-разработке уже сегодня:
Model-View-паттерны презентационного слоя
💡

Напоминаем, что сегодня в 18:00 руководитель мобильной разработки KTS Максим Мялкин проведёт вебинар, на котором расскажет об эволюции MV*-паттернов в KTS.

Зарегистрироваться на вебинар ещё можно по ссылке:
📲 https://vk.cc/clAdNY

Другие полезные материалы вы найдёте в нашем боте курса Android-разработчик:
📚 @android_kts_bot
👍3🔥3
#android

«Архитектурный паттерн Model-View-Intent (MVI) в KMM» 📱

Вчера мы провели вебинар «Model-View-Паттерны презентационного слоя».

10 марта продложим эту тему. На новом вебинаре расскажем про использование паттерна MVI в KMM и пользу этого подхода в современной мобильной разработке:

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

Хотите прокачать навыки Android — приходите!

Вебинар пройдёт 10 марта в 18:00
👉 Регистрация открыта по ссылке
https://vk.cc/clMxtX

Получить полезные материалы и записаться на вебинар также можно через нашего бота:
🤖 @android_kts_bot
👍4🔥2👨‍💻1
Список фишек Android Studio для ускорения разработки 📱

Наш Android-разработчик и преподаватель школы Metaclass Стефан Серхир выпустил статью на Хабре. Заходите посмотреть приёмы для оперативной работы:

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

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

Обратите внимание: большинство советов универсальны и не завязаны именно на AS. Их могут использовать бэкендеры в PyCharm, фронтендеры на WebStorm, иосеры на AppCode».

📰 Читать статью

#android #habr
🔥3👍2👨‍💻2
Интервью с выпускником курса Android 🎓

20 марта стартует наш курс «Android-разработчик», и мы, как обычно, попросили наших выпускников поделиться обратной связью об учёбе с точки зрения студентов.

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

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

📲 Читать интервью с Тимуром


#habr #курсы #android
👍3🔥1
Через 2 часа — вебинар по Android-разработке: Model-View-паттерны презентационного слоя 💡

Напоминаем, что в 18:00 наш Android-разработчик Стефан Серхир проведёт вебинар, на котором расскажет об использовании паттерна MVI в KMM.

Зарегистрироваться на вебинар ещё можно по ссылке:
📲 https://vk.cc/clMxtX

Другие полезные материалы вы найдёте в нашем боте курса Android-разработчик:
📚 @android_kts_bot


#android
👍2🔥2
Раскрываем карты: зачем создавалась школа Metaclass

Максим Павлов — управляющий партнёр KTS — рассказал, зачем мы построили школу Metaclass и за 6 лет обучили 2 600 студентов.

👉🏻 Узнать ответ на VC
🔥12👍3😁1🤩1
Типизированный DI-контейнер для iOS-приложения 📱 Часть 2

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

В прошлой части мы разобрали зависимости.

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

Заходите почитать, что получилось во 2-й части:
https://habr.com/ru/company/kts/blog/713848/


#ios #habr
👍3🔥21👨‍💻1
Подборка статей по DevOps: история развития, основные модели, сравнение

Те, кто приходил на наше офлайн-меропритие «День Техдира», возможно, помнят совместный доклад KTS и Southbridge.

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

1. История развития DevOps

2. Что такое Argo CD, зачем он нужен и примеры использования

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

Заходите почитать и сохраняйте в закладки 🗞


#devops #сергей_маленко 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1💩1👨‍💻1
Нагрузочный поединок между Tarantool 2.10 и Redis 7.0.5

Друзья, наш бэкенд-тимлид Денис Макаров выпустил на Хабре большую статью-исследование.

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

В статье мы попробовали взять Tarantool как замену Redis и посмотреть, что будет. Взяли типичные кейсы работы с Redis и реализовали такие же механики на Tarantool, начиная от простых K-V операций и заканчивая вторичными ключами и производительностью кластерных решений: для Tarantool это Tarantool Cartridge, для Redis — Redis Cluster».

Какие результаты получились — читайте по ссылке:

https://habr.com/ru/companies/kts/articles/730518/


#базы_данных #денис_макаров
❤‍🔥6🐳2
Как стать iOS-разработчиком? 🍏

Наш привлечённый экперт Александр рассказал на Хабре, почему стоит учиться iOS-разработке, с чего начать и чем продоложить — а главное, как не бросить.

Статья наполнена полезными и просто интересными ссылками, так что рекомендуем сохранить ее в закладки и возвращаться в моменты поиска материалов и кризиса в моменты учёбы:

https://habr.com/ru/companies/kts/articles/734166/
👍8🔥3👀1
Как yarn v3 и философия Zero Installs помогли нам сократить длительность ci/cd пайплайна в 3 раза

Сегодня у нас вышла статья, которая объединяет сразу несколько направлений.

Во-первых, её автор — наш фронтенд-тимлид и ведущий преподаватель курса «Начинающий React-разработчик» Фёдор Биличенко.

Во-вторых, при этом основная тема статьи — DevOps.

В-третих, речь в статье идёт о нашей внутренней разработке, конструкторе ботов Smartbot Pro.

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

Конструктор включает большое количество интеграций, и недавно у нас остро встал вопрос оптимизации ci/cd пайплайнов, потому что релиз определенной версии мог занимать до 18 минут.

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

Читать на Хабре


#devops #фёдор_биличенко
👍4🔥31👨‍💻1
Полное руководство по проектированию систем в виде схемы

Перевели в блог на Хабр статью про основы проектирования систем. В материале кратко рассмотрены такие темы, как DNS, балансировка нагрузки, API-шлюзы, обработка видео и изображений, кэширование, базы данных, генерация уникальных идентификаторов и многие другие.

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

Читать на Хабре


#хабр #бэкенд
🔥6👍2🗿1
Школа Мониторинга от Слёрм

Мы уже участвовали в этом мероприятии от наших партнёров из Слёрм. Сегодня у них стартует 3-й поток.

Школа Мониторинга — бесплатная 2-дневная стрим-конференция, на которой будет две секции:

Во вторник, 20 июня, поговорим о философии мониторинга и бизнес-метриках.

В среду, 21 июня, сделаем обзор всех инструментов хранения метрик (Victoria Metrics, Thanos, Prometheus и другие), а также коснёмся мониторинга баз данных. От KTS выступит наш управляющий партнёр Игорь Латкин с докладом на тему: «Обзор Grafana Mimir как стораджа для Prometheus».

Приходите послушать-поддержать-поспорить:
https://slurm.io/monitoring-school


#мероприятия
🔥3👍2👌1👨‍💻1