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

Ссылка на чат школы — https://t.iss.one/kts_dev
Download Telegram
На этой неделе у нас заканчивается первый поток курса «Асинхронное программирование на 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

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

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

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

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

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

«Статические анализаторы кода»

В этом видео рассмотрим, что такое статический анализатор кода, для чего он используется.
Посмотрим, какие бывают статические анализаторы для Android-проектов.
Более подробно рассмотрим самые популярные анализаторы: detekt, android lint.

Разделы:
— Что такое статический анализатор кода 0:00
— Detekt 3:15
— Android lint 9:56
— IDE 12:03
— Qodana 13:15

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

Смотреть видео целиком:
https://youtu.be/l10BHPFu7zM
#курсы_backend #хабр

Опубликовали на Хабре интервью-отзыв:

«Курс начинающего бэкендера в Metaclass: интервью со студентом»

Поговорили с нашими стажерами, которые пришли к нам после курсов, и расспросили — как оно вообще было, учиться в школе Metaclass?

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

Прочесть интервью можно здесь:
https://habr.com/ru/company/kts/blog/646937/
Новый поток бесплатной школы начинается в понедельник, но у нас уже больше 600 заявок на 2 курса. К сожалению, ДЗ по фронтенду проверяются преподавателями вручную, поэтому мы вынуждены остановить регистрацию на курс по фронтенду сегодня вечером. Задания на курсе по бекенду проверяется автоматически, так что число человек не ограничено.
Спасибо за ваш интерес, всех, кто не собрался сейчас, ждём на следующем потоке!
#хабр #технологии

Выпустили статью-перевод на Хабре:

«Удаление GIL из Python: заметки со встречи Python Core и Сэма Гросса»

Помните, мы рассказывали, что такое GIL, зачем он нужен в Python и почему его не удалят?

Так вот, американский разработчик Сэм Гросс написал форк Nogil, который, как следует из названия, все же удаляет GIL из Питона.

Сэм встретился с командой разработчиков ядра Python, где подробно ответил на вопросы про свой проект.


Прочитать подробности встречи можно по ссылке:
https://habr.com/ru/company/kts/blog/646207/