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

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

Курс Asyncio на Metaclass

Долгожданный анонс!

Бесплатные курсы подходят к концу, на следующей неделе уже защиты проектов.

А мы анонсируем новый поток нашего флагманского курса по асинхронному программированию на Python, про запуск которого нас беспрерывно спрашивали последнее время 😃 В этот раз мы запускаем его совместно со школой Slurm.

Что будет на курсе?
Мы рассмотрим теорию асинхронного программирования, разберемся, как устроен модуль asyncio, напишем свой сервер, используя популярные протоколы websocket и s3 и даже сделаем свой собственный event loop. Ну и конечно, по традиции, для студентов мы подготовили выделенные виртуалки, на которых уже установлено все, что нужно для работы.

Кому будет полезно
Если вы уже знакомы с основами Python или даже побывали на нашем бесплатном курсе, то этот курс будет вам полезен. Он ориентируется на глубокое погружение в теорию, так что вы точно разберетесь, как все это асинхронное программирование устроено. Это даст вам очков на собеседовании (если вы еще не работаете) и поможет апнуться на работе (если вы уже ее нашли).


👉 Записаться на курс можно по ссылке.


А еще у нас в пилотном режиме работает Бот Слёрмик, который расскажет про курс и пришлет полезные материалы для подготовки.

Всех ждем, старт 3 октября! 👨‍🎓
🔥71
#мобильная_разработка #максим_мялкин

📱Как реализовать правильный OAuth в Android приложении

Наш руководитель мобильной разработки Макс Мялкин на канале Android Broadcast подготовил небольшое, но подробное видео.

Узнаете, как правильно реализовать OAuth на Android, какие есть подходы, почему лучше не использовать SDK и увидите live coding авторизации GitHub для Android.


📋 Содержание:

00:00 Про доклад
00:54 Структура доклада
01:20 Что не будем рассматривать
01:44 Базовые сценарии авторизации
02:30 Authorization Code Flow with PKCE
03:23 Базовый сценарий
05:20 Проблемы
06:39 Отличия базового и PKCE сценариев
08:55 Решение проблемы через PKCE
10:39 Нюансы реализации
10:57 Способы открытия страницы логина
11:07 Логин через WebView
13:24 Логин через браузер
14:18 Логин через Chrome Custom Tabs
15:42 Особенности редиректа в Chrome
17:07 Логин, когда браузер не установлен
17:35 Обновление токенов
17:51 Что нужно сделать при логауте
19:20 Авторизация через SDK
20:34 Собственная реализация авторизации
21:07 Авторизация с помощью OAuth библиотек
23:09 Кодинг. Пример реализации
37:50 Логаут
39:46 Обновление токена
40:41 Выводы
41:27 Заключение


Посмотреть
🔥52👍21
#asyncio #вебинары

Вебинар «Пишем Websocket-сервер для геолокации на asyncio»

22 сентября, в 19:00 МСК проведём вебинар по теме асинхронного программирования для демонстрации — чему мы учим на предстоящем курсе.

Мы создадим веб-сервис на Python с использованием библиотеки aiohttp. Он позволит делиться своим местоположением и отслеживать местоположение на карте мира других подключённых к нему людей. И всё это в режиме реального времени — для этого как раз и нужны веб-сокеты.

С их помощью клиент может послать запрос к серверу, как в обычном HTTP. Но самое интересное, что, используя веб-сокеты, сервер тоже может послать данные клиенту, не дожидаясь от него HTTP-запроса.

На вебинаре:

❇️ Рассмотрим недостатки веб-сокетов
❇️ Научимся работать с веб-сокетами из консоли
❇️ Научимся работать с веб-сокетами в aiohttp: отправлять и получать сообщения с сервера
❇️ Реализуем бизнес-логику геосервиса

Приходите, будет интересно!

Зарегистрироваться
5👍2🔥2
#youtube #asyncio

Запись вебинара: websocket-сервер для геолокации

В четверг мы написали геолокацию в режиме реального времени на вебсокетах.

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

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

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

Чтобы лучше разбираться в подобных задачах, приходите к нам на курс:
«Асинхронное программирование для начинающих».
Старт — 13 октября
🔥6
#asyncio #вебинары

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

Завтра проведём вебинар перед предстоящим курсом по асинхронному программированию.

Начало — 6 октября в 19:00 Мск.

На вебинаре расскажем, как написать своего Tелеграм-бота на основе asyncio и aiohttp. Мы не будем использовать ни aiogram, ни любые другие библиотеки, а напишем бота с нуля, чтобы немного познакомиться с асинхронным программированием, корутинами и некоторыми примитивами синхронизации.

На вебинаре:

🔸 Познакомимся с основами ботоведения
🔹 Напишем простого Echo-бота и поймём его недостатки
🔸 Спроектируем архитектуру «правильного» бота
🔹 Напишем «правильного» бота на Python с использованием asyncio и aiohttp
🔸 Попутно изучим некоторые компоненты библиотек asyncio и aiohttp на практике

Приходите, будем писать бота!

Зарегистрироваться на вебинар 6-го октября
👍3🔥2
#курсы #asyncio

Старт курса по асинхронному программированию — завтра 🐍

Привет! 13 октября стартует 4-й поток курса, о котором мы столько говорили.

👉 Если вы всё это время не решались записаться, то вот ссылка, присоединяйтесь: https://vk.cc/chltSL
👉 И не забывайте подключаться к ТГ-боту Слёрмику, он поделится полезными материалами по теме: https://vk.cc/chltQx

Ждём всех на курсе и желаем успехов в обучении!
👍3
#курсы #новичкам

Курс по Web-парсингу на Stepik 🔍

Наш друг и коллега Павел Хошев приглашает всех на курс по парсингу.

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

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

Парсинг отлично подходит для заработка на фриланс-биржах. Львиную долю заказов там составляют именно предложение о написании парсеров.

Вот небольшая часть того, чему вы научитесь на курсе:

🔅 Работать с библиотекой BeautifulSoup
🔅 Парсить при помощи selenium
🔅 Проводить парсинг ТГ чатов\групп\пабликов
🔅 Собирать и обрабатывать огромное количество данных, находящихся на веб-сайтах
🔅 Производить синтаксический анализ HTML дерева
🔅 Узнаете как работает асинхронность и напишете свой асинхронный парсер на Python

Скоро появится ещё один модуль про обход капчи на сайтах 👌

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

PS Скидка 10% по промокоду KTS 🪙

Посмотреть страницу курса
🔥7👍3
#habr #ios #mobile

Dinamic Island в iOS16.1 🏝

Слыхали про такое недавнее новшество в айфонах 14 Pro/Pro Max? Позволяет показывать дополнительную информацию вокруг «чёлки» фронтальной камеры.

Наш iOS-разработчик Даниил опубликовал на Хабре перевод об этой функции. В статье рассмотрен пример базовой работы с размещением контента в Dynamic Island для его разных состояний. Для сборки проекта нужно запустить Xcode версии не ниже 14.1 Beta.

Заходите почитать, если интересуетесь мобильной разработкой или новинками в айфонах 📱

https://habr.com/ru/company/kts/blog/692574/
🔥4👍1
#ios #habr

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

Про остров на месте чёлки айфона-то мы рассказали, а про DI-контейнер забыли. Нехорошо.

Суть такова.

💡Dependency Injection — паттерн, который предлагает все зависимости внедрять снаружи, а не инициализировать их внутри самого объекта.

В серии статей, которые в будущем сольются в объёмный DI-альманах, мы соберём большой проект, разбитый на модули 🏢

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

Подходите, посмотрите, что получилось в 1-й части:
https://habr.com/ru/company/kts/blog/688664/
👍4🔥1
#medium #react #eng

Наш новый блог — Medium

"It was the best of times, it was the worst of times..." 🎩

В далёком 2020 мы заложили первую статью в наш блог на Хабре — рассказали про спецпроект к 5-летию Oreo в России. С тех пор мы опубликовали 55 статей и переводов и теперь взялись за новую платформу — Medium. Подписывайтесь и не забывайте хлопать понравившимся публикациям! 💥👏

Чтобы почитать ту самую первую-статью прародительницу на английском, запаситесь упаковкой Oreo, стаканчиком молока и переходите по ссылке:
Tower of Babel out of a million cookies. How we made a game in the Social Network 🍪
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6
#наставничество #виталий_черков

Цели наставничества 👨‍🏫

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

Цели наставничества можно разделить на цели компании, сотрудника и общие.

🏢 Для компании важнейшие цели — удержание и рост сотрудников. Это важно из-за стоимости поиска нового специалиста и поддержания общего высокого уровня сотрудников: компания становится более конкурентоспособной.

👨‍💻 Для сотрудника самая очевидная польза в том, что более быстрый профессиональный рост позволяет ему быстрее расти финансово. Чем больше ответственности человек готов взять → тем больше пользы приносит компании → тем быстрее растёт ЗП.

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

Чтобы защитить подопечного от выгорания, нужно не только работать на достижение целей сотрудника, но и отслеживать его эмоциональное состояние. При работе с новичками часто нужно отдельно контролировать их work-life balance, потому что молодые энтузиасты могут сами не замечать проблемы.

👩‍🏫👨‍🎓 Для наставника ведение подопечного тоже приносит пользу. Наставник повышает уровень своей абстракции и умение контролировать косвенные процессы.


В следующий раз мы разберём первое из возможных направлений роста сотрудника — технические навыки ⚙️
🔥8👍53
#хабр #игорь_латкин

Изобретая бота: система обработки сообщений на примере конструктора чат-бота 💬

Наш управляющий партнёр, архитектор и DevOps-инженер Игорь Латкин выпустил на Хабре новую статью. Кроме KTS, там звучат имена VK, Tarantool и Smartbot Pro. Знаете таких?

Материал посвящён очередям сообщений.

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

Если вы заинтригованы — или пока не совсем, но хотите разобраться — вот полная версия статьи:

https://habr.com/ru/company/vk/blog/697024/
🔥7👍5
#наставничество #виталий_черков

Векторы развития разработчика: технические навыки ⚙️

Продолжение серии постов про наставничество и развитие внутри компании

Предыдущий пост: цели наставничества

Чтобы определить, куда сотруднику развиваться технически, я использую таблицу технических требований к фронтендеру в KTS.

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

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

В KTS тимлид и наставник — это разные роли: за развитие сотрудника всегда отвечает один человек. Наставником сотрудника необязательно является его тимлид. Им может быть человек из другой команды или даже юнита 🎭

Мне нравится такой подход. За несколько лет сотрудник может успеть поработать на нескольких проектах и в разных отделах. Но из-за того, что за подопечным закреплен один наставник, он знает весь его контекст и подход. Формируется стабильный тандем.


Следующий пост будет про
домашние задания 📚

Некоторые скилы проблематично прокачать через рабочие задачи. Например, если стажёр приходит на уже развитый проект, то не сможет хорошо освоить инструменты сборки фронтенда. Для таких ситуаций мы проработали ряд ДЗ, которые сотрудник выполняет во внерабочее время.
🔥7👍4
#хабр #бэкенд

Как мы сделали и оптимизировали механизм правил для персонализации UI 🧑‍💻

Наш бэкенд-разработчик и преподаватель курса по бэкенду Александр опубликовал на Хабре новую статью. Это одна из историй о работе над проектом личного кабинета сотрудника Пятёрочки 🏪

В этой статье — создание правил для персонализации интерфейса ЛК и их оптимизация.

Приглашаем почитать по ссылке 👈
👍1👨‍💻1
#мероприятия #курсы

Школа мониторинга — старт уже завтра 🎓

Многое из разных движух прошлого года мы делали в партнёрстве со Слёрмом — ведущей онлайн-школой по DevOps и разработке. Ребята абсолютно совпадают с нами по вайбу, фонтанируют крутыми идеями и всегда очень чётко их реализуют. Поэтому когда они написали, что есть одна идейка и очень хочется воплотить её в жизнь, мы, не задумываясь, вписались.

Встречайте: школа мониторинга от Слёрм!

Бесплатно, три трека: про бизнес, технику и философию мониторинга. Будет куча докладов от известных компаний, включая 3 доклада от нас.

Регаться по ссылке 👇
https://slurm.io/monitoring-school-2023
👍4🔥1
Metaclass by KTS
#мероприятия #курсы Школа мониторинга — старт уже завтра 🎓 Многое из разных движух прошлого года мы делали в партнёрстве со Слёрмом — ведущей онлайн-школой по DevOps и разработке. Ребята абсолютно совпадают с нами по вайбу, фонтанируют крутыми идеями и всегда…
#мероприятия

Что можно увидеть уже сегодня в эфире школы мониторинга

Сегодня вы можете поучиться, вдохновиться и просто насладиться 2 докладами от наших сотрудников:

🔅 в 15:50 выступает Игорь Латкин с докладом:
«Grafana Loki как инструмент для сбора логов с вашей инфраструктуры»

В докладе рассмотрим внутренности Loki, его архитектуру, обсудим какие параметры конфигурации следует «крутить», чтобы масштабировать Loki под вашу нагрузку. А также рассмотрим, как можно на основе логов с помощью Loki строить систему мониторинга.

🔅 в 17:20 выступает Алексей Леонтьев с докладом:
«Эргономичный мониторинг на практике»

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


🔐 Ссылка на регистрацию

🎥 Прямая ссылка на трансляцию, которая идёт уже сейчас
🔥4👍2
#школа

Всем привет!

🎊 Объявляем запуск 10-го потока бесплатных курсов 💻

Мы стандартно проводим 2 курса по направлениям frontend и backend. Оба они стартуют 6 февраля.

Курсы рассчитаны на тех, кто уже немножко разбирается. Формат соответствующий: дедлайны, домашние задания, выпускные проекты.

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


Также послушать о курсе вы сможете на приветственном вебинаре 6 февраля. Вебинар будет доступен после регистрации.


Записаться:
🔸 Начинающий React-разработчик
🔹 Начинающий Backend-разработчик на Python

Почитать интервью с выпускниками:
🔸🎓 Выпускник фронтенд-курса Кирилл Гаджиев
🔹🎓 Выпускник бэкенд-курса Сергей Ордин

❗️ Обратите внимание, что теперь, даже если вы уже участвовали в курсе, заявку нужно подать заново

Приходите сами и друзей зовите, ждём всех! 🙂
🔥25👍3🤩1
#хабр #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