IT Капибара
185 subscribers
159 photos
20 videos
5 files
754 links
Авторский блог о нелегкой жизни в айти
Download Telegram
Про Кодфест

Для участия в моей второй большой конфе пришлось лететь в далекий Новосибирск. Кодфест получился по-настоящему масштабным — столько стендов компаний я еще не видел

На стенде Авито можно было поиграть в айтишную настолку, а Тинькофф рассказывал про свои классные опенсорс проекты

1/3
🔥11❤2
Про Кодфест

Послушать кучу интересных докладов. В этот раз было много классного на технические темы

Запомнилось выступление Яндекса по тестированию беспилотных автомобилей, хакатон по обману ИИ и соревнование по написанию самого короткого CSS

В перерывах между выступлениями удалось поиграть в Токсичное Айти от Авито и заставить чатгпт написать рабочий код🍿

2/3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤2
Про Кодфест

В этот раз удалось выиграть пару стикерпаков, печатного кабанчика(!)

А также попить коктейль «Пятничный деплой» от Сдэка

3/3
🔥10
На канале объявляется новая рубрика!

В течение ближайших двух недель автор канала будет читать книгу по прохождению
System Design интервью и конспектировать сюда все самые важные инсайты.

Ставьте огонь, если хотите узнать больше о проектировании архитектуры
и прокачать свой скилл прохождения собеседований🔥🔥🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30
Angular Platforms: как запускать фронтенд где угодно?

Недавно я дважды выступил(на Холи и внутри Тинькофф) с классным докладом:
Как взять приложение, написанное на Angular, и отрендерить его за пределы браузера?
В фигму, десктоп, мобилку или даже...терминал?

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

Доклад описывает технологию на примере Angular, но у React и Vue довольно похожие механизмы.
В Реакте за рендер отвечает React Reconciler, про него есть классный доклад с прошлого Холи: https://www.youtube.com/watch?v=hpVFlpvPsYc&ab_channel=HolyJS

Во вью: https://vuejs.org/api/custom-renderer.html

Как оно реализовано в NativeScript Angular: https://github.com/NativeScript/angular/blob/main/packages/angular/src/lib/element-registry/common-views.ts

Дайте 🔥 и скоро выложу свой следующий доклад
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14
Angular_Platforms.pdf
5.7 MB
Полная презенташка:
👍4
#system_design 🏗
Начинаем разбирать архитектуру систем!

🥙 Наша история начинается с приложения доставки еды SuperFoods. Изначально это был маленький сервис доставки еды в Саратове. Его сделала небольшая команда разработчиков. Вот что они разработали на первой итерации(cм. диаграмму):

1. Приложение для клиентских заказов: веб-клиент на React
2. Приложение для курьерской доставки: другие экраны того же клиента, но защищенные ролевой моделью. Другими словами, только пользователь с ролью "курьер" может работать с доставкой
3. Бэкенд на Spring Boot. Отвечает за все - обработка заказов, выдача заданий курьерам, авторизация пользователей
4. БД Postgres, хранит все в табличках

🔥Проект оказался нереально успешным, и вот SuperFoods расширяет географию деятельности - теперь они работают в 10 городах. DAU также вырос многократно, и существующая инфраструктра больше не справляется с нагрузкой.
Руководством компании было принято решение модернизировать сервисы и спроектировать новую систему, которая отвечала бы потребностям компании.

Вас нанимают техническим директором для этой задачи. Готовы заняться систем дизайном?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤1
#system_design 🏗
Продолжаем разбирать архитектуру систем!

Первое, о чем нам стоит подумать - это МАСШТАБИРОВАНИЕ

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

Вертикальное масштабирование заключается в том, чтобы увеличить мощность одной единственной машины:

🟢 Прикрутить больше дискового пространства для хранения бОльшего количества данных

🟢 Добавить больше ядер/оперативки, чтобы обрабатывать больше одновременных запросов от пользователей

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

🔴 Наращивать память и увеличивать количество процессоров бесконечно нельзя - мы быстро упремся в ограничения единственной машины.

🔴 Кроме того, выход из строя единственного сервера всё так же положит нам всё приложение. Каким бы мощным сервер ни был.

Получается, вертикальное масштабирование не сильно подходит для нашего случая. Возможно, горизонтальное справится лучше?
🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
❤8
Какой контент вам больше нравится?
Anonymous Poll
6%
Мемы 💅🏻
33%
Образовательный 🧐
61%
Давай ВСЁ!!!
❤6