Как стать автором
Обновить
272.68
KTS
Создаем цифровые продукты для бизнеса
Сначала показывать

Собираем свою библиотеку для SSR на React. Роутинг

Время на прочтение16 мин
Количество просмотров4.1K

Привет! Меня зовут Сергей, я управляющий партнер в KTS

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

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

Читать далее

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

Время на прочтение7 мин
Количество просмотров20K

Последнее время кажется, что React-фреймворки выходят каждый день. Хотя каждому из них есть, что предложить, Remix особенно выделяется.

Remix — React-фреймворк для SSR (server-side rendering) от создателей react-router, который заопенсорсили совсем недавно.

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

Читать далее

Этапы работы Jetpack Compose

Время на прочтение9 мин
Количество просмотров14K

Как и большинство UI-фреймворков, Compose рендерит кадр в несколько различных этапов. В системе Android View есть 3 этапа: Measure, Layout и Drawing. Compose очень похож, но имеет важный дополнительный этап Composition в начале.

1. Composition: какой UI показывать. Compose запускает composable-функции и создает описание вашего UI 

2. Layout: где размещать UI. Этот шаг состоит из двух: измерение и размещение (measurement и placement). Элементы верстки измеряют и помещают самих себя и все дочерние элементы в 2D-координатах.

3. Drawing: как рендерить. UI-элементы отрисовываются в Canvas, обычно на экране устройства.

Читать далее

Деплоим приложение на Django в Kubernetes с нуля

Время на прочтение19 мин
Количество просмотров24K

Привет! Меня зовут Игорь, я управляющий партнер в KTS.

Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах.

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

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

Читать далее

Запускаем HAProxy Kubernetes Ingress Controller вне Kubernetes-кластера

Время на прочтение11 мин
Количество просмотров14K

Обычно вы можете запустить HAProxy Kubernetes Ingress Controller как pod внутри Kubernetes-кластера. Как pod, он имеет доступ к другим pod, потому что они используют внутреннюю сеть Kubernetes-кластера. Это дает возможность управлять маршрутизацией и балансировать трафик к приложениям, запущенным в кластере. Но возникает проблема, как передать внешний трафик во внутренний Ingress Controller.

В статье мы установим Calico в качестве сетевого плагина в Kubernetes и настроим маршрутизацию с помощью протокола BGP. В продакшне BGP будет работать на третьем уровне сети, но для демонстрации этого мы используем в качестве роутера демона BIRD, установленного на той же VM, что Ingress Controller.

Мы пошагово разберем, как запустить внешний HAProxy Kubernetes Ingress Controller и как установить Kubernetes-кластер с Calico.

Читать далее

Kubernetes и другие оркестраторы

Время на прочтение13 мин
Количество просмотров63K

Привет! Меня зовут Леонид, я DevOps-инженер в компании KTS. 

В этой статье я рассмотрю различные оркестраторы и объясню, почему Kubernetes — лучший выбор.

Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах. 

За небольшой срок в 4 года мы набрали много опыта. Начинали с вопроса, который, возможно, стоит сейчас перед вами: «Какой оркестратор выбрать?» Мы рассмотрели разные варианты, и в итоге остановились на Kubernetes. В статье расскажу, почему.

Читать далее

Мой опыт проведения курса по Android

Время на прочтение10 мин
Количество просмотров3.2K

Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS

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

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

Читать далее

Как не стать жертвой IT корпораций?

Время на прочтение10 мин
Количество просмотров21K

Практически каждый день на просторах Интернета появляется очередной привлекательные сервис, призванный сделать жизнь комфортнее или привнести в нее новый пользовательский опыт: вроде сервисов доставки еды в автомобиль, VR-чатов и метавселенной Facebook.

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

В статье рассказываю, в чем потенциальная опасность некоторых ресурсов и на основе своего опыта рекомендую замену. В качестве альтернативы предлагаю преимущественно open source решения с прозрачными сценариями и использованием разных данных пользователя.

Например: NewPipe и FreeTube вместо YouTube, Matrix вместо WhatsApp и Telegram, DuckDuckGo вместо Google.

Читать далее

Сохраняем кластеры Kubernetes в чистоте и порядке

Время на прочтение9 мин
Количество просмотров16K

Одновременно с ростом кластера растет количество ресурсов, volume и других API-объектов. Рано или поздно вы упретесь в потолок, будь то etcd, память или процессор. Зачем подвергать себя ненужной боли и проблемам, если можно установить простые — хотя и довольно изощренные — правила? Вы можете настроить автоматизацию и мониторинг, которые будут содержать кластер в аккуратном состоянии. В статье разберемся, как избавиться от лишних нагрузок, через которые утекают ресурсы, и устаревших накопившихся объектов.

Читать далее

Как разработчикам начать вести Телеграм-канал

Время на прочтение5 мин
Количество просмотров4.7K


Меня зовут Александр, я руковожу backend-разработкой в КТS. Мы разрабатываем сложные высоконагруженные сервисы для крупных корпораций и рекламные спецпроекты.

У нас есть Телеграм-канал «Программисты делают бизнес». Мы ведем его недавно — первый пост вышел в декабре 2020 года.

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

Читать далее

Как проводить собеседования объективно и с пользой

Время на прочтение10 мин
Количество просмотров19K

Всем привет! Меня зовут Виталий, я ведущий фронтенд-разработчик в KTS.

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

В статье поделюсь выводами за это время. Расскажу, как сделать результат собеседования объективным, а процесс — более комфортным для кандидата и интервьюера.

Читать далее

Пишем свой Google, или асинхронный краулер с rate limits на Python

Время на прочтение11 мин
Количество просмотров14K

Меня зовут Александр, я руковожу backend-разработкой в КТS. Сегодня расскажу, как написать асинхронный краулер.

Такая задача часто встречается на практике, когда нужно реализовать периодическую синхронизацию/обкачку между сервисами. 

Статья написана по мотивам вебинара, который мы провели в рамках нового курса «Асинхронное программирование на Python для начинающих». Курс стартует 18 октября, поэтому, если вам интересно — загляните посмотреть.

Что будет в статье:

1. Цель
2. Исходный код
3. Планировщик
4. Задача для краулера
5. Пробный запуск
6. Промежуточный итог
7. Функции put и join
8. Semaphore
9. Остановка фонового планировщика
10. Работа краулера на примере обкачки нашего блога на Хабре
11. Заключение

Читать далее

От тестов до IDE в браузере: как мы разрабатывали систему проверки студентов для онлайн-школы

Время на прочтение9 мин
Количество просмотров2.5K

С 2018 года компания KTS проводит курсы для разработчиков и менеджеров. И в этом году мы решили запустить наши курсы на своей собственной платформе для онлайн-обучения (LMS).

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

Читать далее

Создание мини-игры «Шкатулка» с помощью JS + CSS

Время на прочтение10 мин
Количество просмотров6.9K

Привет!

Меня зовут Сергей, я фронтенд-разработчик отдела спецпроектов KTS. Наш отдел занимается разработкой веб-приложений для промокампаний.

Год назад перед нами встала задача: сделать игру-квест с диалогами, 360-панорамой, drag-n-drop, звуками и мини-играми.

В этой статье расскажу про последнюю часть: как сделать мини-игру со звуками с помощью react, styled-components, mobx и howler.

Надеюсь, материал будет полезен начинающим реактивным разработчикам.

Читать далее

Первые шаги в aiohttp, часть 3: публикуем приложение в Интернете

Время на прочтение8 мин
Количество просмотров7.6K

Сегодня разберем заключительную часть цикла «Первые шаги в aiohttp». В первой статье мы создали и настроили проект, а во второй подключили базу данных.

В этой части статьи мы рассмотрим размещение нашего веб-сервиса в Интернете, используя платформу Heroku.

Асинхронное программирование — большая тема. Если хотите разобраться в ней подробнее, приходите к нам на курс. 

Читать далее

Первые шаги в aiohttp, часть 2: подключаем базу данных к приложению

Время на прочтение16 мин
Количество просмотров25K

Привет!

В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.

В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически сгенерируем и применим миграции с помощью Alembic.

Если вам интересно асинхронное программирование, приходите к нам на курс в KTS, где мы гораздо подробнее разберем эту тему.

Читать далее

Игра с голосовым управлением на React и Phaser

Время на прочтение10 мин
Количество просмотров5.6K

В апреле 2020 года перед отделом рекламных спецпроектов KTS встала непростая задача: разработать игру-раннер с управлением голосом в браузере.

В этой статье я расскажу, как мы делали этот проект, какие технические решения принимали, какие технологии использовали и с какими проблемами сталкивались.
При разработке мы использовали TS + React + MobX и Phaser в качестве игрового движка.

Читать далее

Создаем текстовый редактор на React.js

Время на прочтение17 мин
Количество просмотров44K

Привет! Меня зовут Данила, и я фронтенд-разработчик в KTS.

Однажды в одном из своих проектов мне потребовалось реализовать кастомный текстовый редактор на React.js. Задача показалась мне довольно интересной, и я решил рассказать о своем опыте. В статье я поэтапно покажу, как можно создать текстовый редактор с базовыми функциями.

Надеюсь, информация будет полезной и сэкономит кому-то время и силы.

Читать далее

selectel-exporter — экспортер для manage-баз данных

Время на прочтение4 мин
Количество просмотров2.4K

Мы в KTS на многих проектах пользуемся услугами managed database от selectel. За этими кластерами нужно следить, и делать это хотелось бы из одной точки. Этой точкой у нас является prometheus, alertmanager и grafana. 

Из коробки у selectel нет prometheus exporter для manage-баз данных. Есть внутренние графики и мониторинг, но использовать их затруднительно. Поэтому мы написали свой selectel-exporter, который использует selectel API.

В статье расскажем, почему решили его написать и расскажем, что он умеет.

Читать далее

Метакласс — школа от KTS

Время на прочтение8 мин
Количество просмотров3.1K

Привет!

В KTS мы уделяем особое внимание наставничеству и росту разработчиков. С самого создания компании старшие разработчики преподавали в ВУЗах — МГТУ им. Баумана, Московский политех — и в 2018 году мы решили сделать собственную школу разработки.

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

Читать далее

Информация

Сайт
kts.tech
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия