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

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

Как содержать Kubernetes-кластер в чистоте?

На нашем курсе «Деплой приложений в Kubernetes» мы рассказываем про ci/cd и применение Kubernetes.

Но кроме использования, есть еще и администрирование. Поэтому мы перевели актуальную статью о том, как очищать Kubernetes-кластер и выложили на наш Хабр.

Будет особенно полезно уже работающим девопс-инженерам.

Читайте статью, сохраняйте в закладки и делитесь впечатлениями!
Несколько лет назад мы в KTS решали, какой оркестратор выбрать. Оркестратор – это система, отвечающая за управление контейнерами, в которых запущены наши приложения.
Так как приложений в проде у нас много, а еще есть разные дев-окружения, это была важная и ответственная задача, ведь в будущем вся инфраструктура будет основываться именно на выбранном решении.
Тогда мы много изучали, даже использовали разные системы для разных проектов, но в конечном итоге для всего KTS выбрали Kubernetes.

И не ошиблись! Сейчас kubernetes – стандарт в оркестрации контейнеров. За эти годы мы плавно перевели почти всю нашу инфраструктуру на куб.

А в этот четверг, 18 ноября в 19:00 наш DevOps-инженер Леонид Гвоздков вместе с автором курса Деплой приложений в Kubernetes Игорем Латкиным проведут вебинар на тему:

- Зачем нужны оркестраторы контейнеров
- Сравнение систем оркестрации: какие у каждого возможности, достоинства и недостатки
- Как стартануть с Kubernetes и почему деплой туда - круто и современно

Присоединяйтесь!
#android #максим_мялкин

Окончание курса по Android: мысли, наблюдения и планы

Привет!

На прошлой неделе завершился курс «Начинающий Android-разработчик» в Metaclass.

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

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

Первое ДЗ сдали 45 человек. В дальнейшем мы планируем сделать курс не таким ограниченным по времени, а некоторые части сделать более подробными и перевести теоретическую часть на платформу Metaclass.

Также в планах создать углубленный курс по Android-разработке.

Общая фотка с очной защиты:
#курсы

Вчера прошел вебинар про Kubernetes и другие оркестраторы в рамках подготовки к курсу «Деплой приложений в Kubernetes». На нем DevOps-инженер KTS Леонид Гвоздков объяснил, зачем нужны оркестраторы, показал критерии выбора (простота использования, автомасштабирование, отказоустойчивость и т.д.) и на примерах сравнил Docker Swarm, Nomad, Kubernetes и Openshift по этим критериям.

Идея вебинара появилась из практики: несколько лет назад весь KTS уходил от старой системы управления инфраструктурой и перед нашими инженерами встал выбор между разными оркестраторами. Мы решили показать практические преимущества и недостатки разных систем на нашем вебинаре.

Вебинар можно посмотреть тут.

Содержание вебинара с временными метками:
00:00 Немного о KTS
02:50 Что такое оркестрация?
11:45 Docker Swarm
14:52 Hashicorp Nomad
21:25 Kubernetes & Openshift
31:15 Сравнение. Почему Kubernetes?
36:40 Как начать работать с Kubernetes
37:10 О курсе "Деплой приложений в Kubernetes"
39:40 Вопросы

Всем спасибо за хорошие отзывы и интересные вопросы 💪
Друзья, на прошлом вебинаре по Kubernetes и другим оркестраторам нас просили показать демо.

И мы решили провести еще один вебинар, на котором Игорь Латкин (вы уже с ним знакомы 🙂) покажет все шаги деплоя в Kubernetes: начиная от кода приложения и заканчивая разверткой в облаке.

На вебинаре Игорь:
1. Пройдет путь от написания кода проекта до запуска его в Интернете
2. Рассмотрит необходимые для этого абстракции в Kubernetes
3. Задеплоит приложение в облаке и разберет, что для этого необходимо

Записывайтесь на странице курса! Вебинар пройдет в среду 1 декабря в 19:00
На этой неделе у нас заканчивается первый поток курса «Асинхронное программирование на Python для начинающих». В рамках курса студенты познакомились с asyncio в Python; изучили, как устроен GIL; чем CPU-bound операции отличаются от IO-bound и как это можно использовать на практике; научились асинхронно работать с брокером очередей RabbitMQ и популярными БД; написали своего чатбота и свой сервер на aiohttp.

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

Сразу же после начала занятий в первой группе, нас спрашивали «когда будет следующий поток?». И теперь мы рады анонсировать, что новый поток стартует уже 20 декабря (с перерывом на праздники конечно)! А 8 декабря мы проведем вебинар, на котором расскажем про курс и разыграем бесплатное место. Записаться можно на странице курса, всех ждем!)
Вчера состоялся вебинар «Деплой приложений в Kubernetes» в рамках одноименного курса. На вебинаре наш сооснователь и DevOps-архитектор Игорь Латкин рассказал про базовые абстракции в Kubernetes и показал на практике по шагам, как задеплоить приложение.
Прямо на вебинаре Игорь купил кластер Kubernetes в облаке, создал из шаблона Django-приложение и пошагово писал манифесты для разных Kubernetes-абстракций: pod, service, deployment и тд.

Всем, кто был, большое спасибо и ждем на курсе уже 13 декабря.
Ну а кто не был, не расстраивайтесь: запись уже у нас на ютубе!
#android

Работа с БД в Android

Опубликовали на Youtube-канале 3 новых видео из курса мобильной разработки:

Основы работы БД на Android
Базы Данных — все, что позволяет вам хранить набор взаимосвязанной информации об объектах. Используются в основном чтобы хранить большой объем структурированных данных.
На уроке рассматриваем виды СУБД и основные моменты, требуемые для создания схемы БД в приложении.

RoomDao
Библиотека от Google, которая является частью jetpack и упрощает работу с SQLite в приложении. Если нужна работа с базой данных — в большинстве случаев используют RoomDao.
На уроке рассматриваем основные сущности RoomDao и их связь.

Пример работы с RoomDao
На практике рассматриваем, как можно сделать хранение данных с помощью RoomDao в приложении. Изучаем примеры с:
— Entity
— Dao
— Database
— подпиской на изменение данных в БД с помощью Flow
— получением сущностей со связями из БД
— работой с Database inspector в Android studio
Старт курса «Деплой приложений в Kubernetes» уже в понедельник!

13-го декабря в понедельник начинается наш новый курс "Деплой приложений в Kubernetes". Он состоит из 7 лекций каждую неделю (кроме праздников, конечно), заданий с автопроверкой, а также онлайн-разборами ДЗ и менторской поддержкой.

Тренажер с личным кластером и IDE на платформе!
Чтобы вы могли максимально удобно и быстро выполнять домашние задания на курсе, мы подготовили специальный тренажер. Каждому студенту будет выделен личный Kubernetes-кластер. На нем уже будет установлено все, что необходимо. Останется только написать нужные конфиги для решения задачи! А писать можно будет в VS Code, который мы интегрировали прямо на нашу платформу. Посмотреть демо можно на нашем ютубе

Материалы к курсу
А еще к началу курса мы подготовили много дополнительных материалов. Посмотрите, если вдруг что-то пропустили:

– Ведущий преподаватель курса Игорь Латкин рассказывает про основы работы с Kubernetes на примере задачи деплоя приложения на питоне: видео и статья
– Наш DevOps-инженер Леонид Гвоздков объясняет, почему Kubernetes стал стандартом в оркестрации контейнеров и сравнивает его с другими оркестраторами: Docker Swarm, Nomad и Openshift: видео и статья.

Другие статьи на тему:
Сохраняем Kubernetes кластеры в чистоте и порядке
Запускаем HAProxy Kubernetes Ingress Controller вне Kubernetes-кластера

и, конечно, Вебинар о курсе, на котором автор курса Игорь Латкин рассказывает о программе и отвечает на вопросы.


Если у вас еще есть какие-то вопросы по курсу, то обязательно присоединяйтесь в наш чат курса

Ждем вас в понедельник!
#вебинар #асинхронное_программирование

Вебинар «Пишем Телеграм-бота»

В этот четверг, 16-го декарбя в 19:00, проведем вебинар по асинхронному программированию, на котором покажем, как написать своего бота на основе asyncio и aiohttp.

Мы не будем использовать aiogram (и любые другие библиотеки), а напишем его с нуля, чтобы немного познакомиться с асинхронным программированием, корутинами и некоторыми примитивами синхронизации.

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

Ведущий вебинара — руководитель бэкенд-разработки Александр Опрышко.

Ждем вас в четверг!

зарегистрироваться на вебинар 👈
#хабр #android

Наш руководитель мобильной разработки Максим Мялкин опубликовал на Хабре статью-перевод про Android:
«Этапы работы Jetpack Compose»

UI-фреймворк Compose имеет 3 основных этапа рендеринга кадра:

📱1. Composition отвечает за то, какой UI показывать.
📱2. Layout отвечает за то, где размещать UI.
📱3. Drawing определяет, как рендерить.

В статье вы можете прочесть об этом подробнее, а полное содержание выглядит так:
— Три этапа отрисовки кадра
— Считывание состояния
— Поэтапное считывание состояния: Composition, Layout, Drawing
— Оптимизация считывания состояния
— Цикл рекомпозиции (циклическая зависимость этапов)


Посмотреть статью📲
Уже завтра запускается новый поток по асинхронному программированию на Python!

Все модули уже доступны на нашей платформе, ДЗ проверяется автоматически, а делать их можно прямо в браузере на нашем тренажере.  Каждую неделю (кроме праздников) вас ждут онлайн-разборы домашних заданий с преподавателем.

Материалы

Перед курсом мы подготовили для вас подборку наших материалов по asyncio:
Вебинар о курсе. Автор курса рассказывает о программе и отвечает на вопросы.
Лекция про asyncio. Один из преподавателей рассказывает про основные принципы асинхронного программирования
Пишем свой google. Live-code вебинар от автора курса, где он на примере задачи написания поискового краулера рассказывает про asyncio.
Пишем телеграм-бота. В прямом эфире пишем телеграм бота без сторонних библиотек. Изучаем очереди и воркеров.

а еще все эти материалы можно найти в текстовом виде на нашем хабре!
А если вас интересует aiohttp, то про него мы написали несколько простых туториалов.

Желаем успехов в обучении!
#android

Опубликовали на Youtube-канале новое видео из курса мобильной разработки:

SOLID и архитектура приложений

В этом видео обсудим практики построения приложения и моменты, на которые стоит обратить внимание. Поговорим о SOLID и Clean Architecture.

Рассказывает наш Android-разработчик Стефан Серхир.

Содержание:
SOLID – 00:00
Пример с SOLID – 12:02
Clean Architecture – 15:34
Data layer — 25:21
Repository — 28:04
Domain layer — 29:01
Presentation layer — 30:09
Реализация архитектуры — 31:13
Вопрос о Repository, Interactor – 35:40
#хабр #frontend

Выпустили на Хабре небольшую статью-обзор:
«Remix: руководство по новому open source React-фреймворку»

Remix — React-фреймворк для SSR (server-side rendering). Это означает, что бэкенд и фронтенд реализуются в одном приложении. Рендер происходит на сервере и верстка передается на клиент с минимальным использованием JavaScript. В классическом React-приложении данные сначала отдельно фетчатся, а затем компоненты с ними рендерятся на фронте. Remix, напротив, получает данные на бэкенде и передает отрендеренный HTML напрямую пользователю.

Автор статьи разобрал (а мы перевели) плюсы и недостаки Remix и его отличие от Next.js.

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

Читайте по ссылке
#android

Опубликовали на Youtube-канале новое видео из курса мобильной разработки:

Паттерны презентационного слоя MV*

В каждом Android-приложении используется паттерн презентационного слоя. Набор таких паттернов обозначается аббревиатурой MV*. В видео рассказываем, какие существуют популярные паттерны, в чем их отличие, как их реализовать.

Рассказывает наш Android-разработчик Стефан Серхир.

Содержание:

MVP — 00:00
MVVM — 3:45
MVI — 5:53

Смотреть целиком: https://youtu.be/NzvnJc1Bcxs
#frontend #react

Совсем недавно вышла новая версия библиотеки для роутинга в React – react-router.
Мы собрали краткий обзор изменений и постарались рассмотреть их с точки зрения истории развития библиотеки. В react-router v6 добавилось много того, что уже когда-то было в библиотеке. Некоторые из этих фичей появились еще в первых версиях, затем их убирали, а теперь вернули в новом представлении.

Прочитать об этом можно у нас на хабре: https://habr.com/ru/company/kts/blog/598835/
#android

Опубликовали на Youtube-канале новое видео из курса мобильной разработки:

Школа KTS. Android. DI

В этом видео мы рассмотрим, что такое Dependency Injection (DI) и какие проблемы он помогает решить. Расскажем, как можно реализовать DI с использованием библиотеки koin.

Рассказывает наш Android-разработчик Стефан Серхир.

Содержание:
Проблемы предыдущего кода — 00:00
DI — 05:33
Koin — 10:29
Привет!
Если вы работете джуниор-разработчиком, желательно пишете на Python, то предлагаем вам поучаствовать в крутой движухе:

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

https://form.typeform.com/to/XkbyeGM5
#frontend #react

Выпустили небольшой перевод-обзор:

«Remix: руководство по новому open source React-фреймворку»

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

Читать статью
#android

Опубликовали на Youtube-канале новое видео из курса мобильной разработки:

«Утечки памяти в Android»

В этом видео изучим, что такое утечка памяти и почему она может возникать.
Немного коснемся сборщика мусора (GC).
Посмотрим на примеры утечек памяти и инструменты обнаружений в Android.

Содержание:
Что такое утечки памяти — 0:00
Сборщик мусора — 1:35
Последствия утечки памяти — 3:20
Примеры утечек памяти — 6:30
Как обнаружить утечку памяти — 16:25
LeakCanary — 16:45
Android Studio Profiler — 18:55

Смотреть целиком:
https://youtu.be/GSefKVXuYQE
Всем привет!

🎉 Объявляем запуск наших долгожданных бесплатных курсов! 🎉


Все как обычно: фронт + бек. Оба курса стартуют 31 января, а записаться можно по ссылкам:

Начинающий React-разработчик
https://metaclass.kts.studio/beginner_react

Начинающий Backend-разработчик на Python
https://metaclass.kts.studio/beginner_backend

Конечно, занятия не «для самых маленьких», да и формат непростой: дедлайны, сложные дз-шки, выпускные проекты.

Почему стоит пройти:

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

В общем, ждем вас на курсах! 💻
Зовите друзей 🙂