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

Ссылка на чат школы — https://t.iss.one/kts_dev
Download Telegram
Channel photo updated
#школа #бесплатные_курсы

Привет!

Сегодня старт нашей бесплатной школы по курсам frontend и backend. Если еще не успели записаться, решайтесь! До закрытия регистрации осталось 2 часа 🙂

📘 Начинающий Backend-разработчик
📙 Начинающий React-разработчик

Напоминаем, что сегодня мы проводим вводные вебинары:

💻 Начинающий Backend-разработчик (18:00 МСК)
💻 Начинающий React-разработчик (19:00 МСК)
🔥8👍1
#хабр #мобильная_разработка

OAuth в iOS

Мы уже однажды разговаривали про авторизацию в сервисах и протокол OAuth. Сегодня настало время продолжить этот разговор.

Лена Качармина занимается в KTS iOS-разработкой, и сегодня она выпустила на Хабре статью про реализацию OAuth-авторизации с помощью библиотеки AppAuth-iOS. Она одна из самых популярных и довольна проста в использовании.

📲 Заходите почитать:
https://habr.com/ru/company/kts/blog/681998/
❤‍🔥6👍1
#хабр

🌲🌲2 дерева в конце трилогии:
Заключительный перевод про устройство браузеров

Было просто, местами непонятно, местами познавательно. Самое время вспомнить, за что мы любим переводы про браузеры, потому что сегодня опубликована последняя часть! 😱

Спешите познакомиться с деревом специальных возможностей, деревом рендеринга и A11y. Что? Да-да, обо всё этом здесь:

https://habr.com/ru/post/683240/
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆5👍2
#youtube #frontend #сергей_чернобровкин

Context

Выпустили новое видео на Youtube-канале ▶️

Обычно данные идут от родительского компонента к дочернему. Разбираем, какие проблемы это может вызвать и что с этим делать.

Содержание:
Что такое Context 0:00
Как это работает 1:00
Context в классах 3:08
Несколько источников 4:06

Рассказывает управляющий партнер KTS Сергей Чернобровкин.

Смотреть видео целиком
👍4
#хабр #максим_павлов

Как перестать быть сутулой собакой? 🦮

Сегодня мы для разнообразия поговорим о здоровье. Наш управляющий партнёр Максим Павлов опубликовал на Хабре статью, где делится полезным и временами болезненным опытом на пути к несутулой спине.

В статье не встречаются тренажёры, подтягивания, йога и прочие неприятные слова.

Хотите узнать, в чем секрет — заходите по ссылке без регистрации и смс:
https://habr.com/ru/company/kts/blog/685462/
🔥7👍3
#youtube #frontend #сергей_чернобровкин

Менеджеры состояния в React

«Это же уже Redux»! — скажете вы. Всё так, но всё законно... Об этом мы тоже поговорим в новом видео на Youtube-канале ▶️

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

Содержание 💬
0:00 О Менеджерах состояния
1:20 Зачем управлять состоянием
2:13 Handmade: подробное demo, пишем свой мини-менеджер
6:50 Зачем использовать useMemo
15:37 Актульные технологии в 2021-2022
19:01 Какие еще есть state manager
23:20 Redux
24:27 Пример работы Redux
26:38 Преимущества и недостатки Redux
29:34 MobX
31:03 Преимущества и недостатки MobX

Фрагмент лекции Сергея Чернобровкина в МГТУ Баумана.

Смотреть видео целиком
👍6
#курсы #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