cookie

Мы используем файлы cookie для улучшения сервиса. Нажав кнопку «Принять все», вы соглашаетесь с использованием cookies.

avatar

Евгений Козлов пишет про IT

Руководитель платформенной команды в Тинькофф. Делюсь знаниями и опытом по темам: 📌 Golang, Python, Ruby 📌 Backend, System Design 📌 Linux, DevOps, SRE 📌 Computer Science Для связи: @ea_kozlov

Больше
Рекламные посты
1 658
Подписчики
-124 часа
+27 дней
+1730 дней

Загрузка данных...

Прирост подписчиков

Загрузка данных...

Фото недоступноПоказать в Telegram
Наконец то в мои руки попало это сокровище. Книга, которую я давно хотел прочитать и которую упоминал в постах ранее. В ней рассказывается о внутренностях современных СУБД, структуры данных и алгоритмы на которых всё стоит, благодаря которым разработчики приложений просто пользуются работающим инструментом😊 Начал читать ее в электронном виде и настолько увлекло что захотелось пополнить библиотеку. А какую книгу вы читаете сейчас?
Показать все...
🔥 9👍 7
Raft - Understandable Distributed Consensus Последнее время я всё больше и больше погружаюсь в те самые Distributed Systems, которые уже несколько лет на хайпе, о которых говорят на каждом system design интервью и конференции. Одной из важнейших частей дисциплины является достижение консенсуса - согласованности данных среди участников распределенной системы. Консенсус достигается с помощью софта реализующего конкретный протокол. В качестве примеров такого софта можно привести: Kafka + kraft ClickHouse + CHKeeper (raft) Kubernetes + etcd (raft protocol) Cassandra + Paxos protocol + Отдельно стоит выделить Apache Zookeeper (протокол zab) Ну и само собой куда же без криптовалют и технологии блокчейн использующих протоколы консенсуса для операций. Как видите примеров довольно много и используются они в довольно популярных технологиях. Отличный материал для погружения в эту довольно обьёмную тему это Raft - Understandable Distributed Consensus - интерактивный гайд с анимациями, который шаг за шагом посвятит вас в основные этапы работы алгоритма на примерах. https://thesecretlivesofdata.com/raft/ P.S. Расскажите о своем опыте работы с алгоритмами консенсуса? Неважно по работе или в пет проджектах😊
Показать все...
👍 10🔥 7
Великолепная статья с примерами того какие ошибки логики могут возникнуть в серверном приложении, если разработчик будет игнорировать конкуррентность запросов (в том числе от одного и того же клиента) и дубликаты запросов / данных Под катом: - ETag Header как способ защищаться от Lost Update (optimistic concurrency control) - Механики идемпотентности как способ зашититься от задваивания операций (из за ошибок клиента или природы сети) - ACID Транзакции как самый надежный способ гарантировать консистентность + Уровни изоляции и механизм захвата (Lock) https://www.strv.com/blog/database-transactions-lost-updates-idempotency-engineering
Показать все...
Database Transactions, Lost Updates & Idempotency

200+ highly skilled designers and engineers. Web & mobile development, AR & VR. Ready to unlock your opportunity with human-centered design and technology.

👍 11🔥 5
Просто оставлю это здесь. Попозже сделаю пост с разбором механизмов обхода (или опубликую чей нибудь хороший) https://habr.com/ru/news/818177/
Показать все...
Docker hub перестал работать в России

При открытии сайта появляется надпись 403 Forbidden Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses...

🤯 12👍 3💔 2👏 1😡 1
Ребята, это была жесть. В этом году меня в ШАДе не будет🫠 Слишком сложно для меня, если с программированием я что то смог наковырять то математические задачки мне не поддались. Нужно больше готовиться. Наскоком не получилось.
Показать все...
🕊 28👏 11😁 4🤣 2🤝 2
Фото недоступноПоказать в Telegram
Вот и настал момент истины😊
Показать все...
🔥 18🕊 2
Что происходит при старте терминала? В процессе работы над плейбуком из прошлого поста мне волей и не волей пришлось погрузиться глубже в то как именно происходит установка утилит, какие файлы редактируются и какие переменные окружения проставляются. Да, я знал со времен работы на Windows что есть магическая переменная PATH которая отвечает за поиск по набору директорий любой вводимой команды. Да, я помнил что например в домашней директории на Linux есть файлы типа которые занимаются настройкой переменных окружения. Но вот в процессе работы с ансиблом я заметил что в некоторых кейсах эти файлы остаются нетронутыми, но при этом всё работает, магия не правда ли? Поэтому сегодня я поделюсь с вами заметкой в которой описаны все файлы участвующие при старте терминала помимо тех что лежат в домашней директории (bashrc, bash_profile)😊 https://www.thegeekstuff.com/2008/10/execution-sequence-for-bash_profile-bashrc-bash_login-profile-and-bash_logout/ Советую посмотреть,особенно если вы ловите себя на мысли что при установке утилит не понимаете зачем вас просят что либо редактировать😊 Ну и заодно можете пройтись по своей локальной машине и узнать сколько всего интересного делает ОС перед тем как показать заветный терминал. P.S. Про переменную PATH https://www.ibm.com/docs/fi/aix/7.1?topic=accounts-path-environment-variable
Показать все...
👍 10🔥 5 2🕊 1
👩‍💻Плейбук для развертывания инструментов разработчика После переустановки Linux решил наконец собрать скрипт для установки тулинга на свежую ОС. Надоело красноглазить😁 Вылилась эта затея в Ansible Playbook с Golang, Python, Docker, K8s, Helm, Git, VS Code с плагинами, ZSH. Установка в одну команду🚄. Выложил на Github, чекайте, если вам интересна тема рабочего тулинга и Ansible😊 https://github.com/abstractart/local-machine-playbook
Показать все...
GitHub - abstractart/local-machine-playbook: 👨‍💻Prepare your laptop for Development in one shell command. Includes Golang, Python, VS Code, Docker and tools for it!

👨‍💻Prepare your laptop for Development in one shell command. Includes Golang, Python, VS Code, Docker and tools for it! - abstractart/local-machine-playbook

🔥 23👍 6🤮 1🕊 1
Фото недоступноПоказать в Telegram
История о том как дед на "старости" лет вписался в авантюру😁 👴 Будучи студентом и джуном очень хотел поступить в ШАД для буста знаний. Но всегда не хватало скиллов, особенно математики😔 (Я выпускник провинциального университета) В этом году подался через альтернативный трек для разработчиков с опытом, и получилось пройти первый этап😊 Для меня честно говоря это уже успех, учитывая что я не готовился к экзамену, ограничившись разбором пробного варианта. Посмотрим что из всего этого получится😄 К экзамену постараюсь уже подготовиться, насколько это возможно)
Показать все...
👍 23🔥 16 6
Пагинация на примере PostreSQL. От простого к сложному. Пагинация — это свойство, при котором сервер возвращает не все результаты сразу, а частями, по страницам. Основной юзкейс для применения пагинации - упорядоченный просмотр множества ресурсов (например посты в ленте вашей любимой соцсети). Благодаря пагинации можно здорово ускорить работу системы и улучшить пользовательский опыт. В статье компании Citus приведен разбор методов для реализации подобной механики, от простых и известных всем, до нетривиальных и экзотических. Расскажите в комментариях, какой способ встречали в рабочих проектах или о том какой способ реализовывали самостоятельно?
Показать все...
Five ways to paginate in Postgres, from the basic to the exotic

Pagination, pervasive as it is in web applications, is easy to implement inefficiently. This post examines different methods of server-side pagination and their tradeoffs in PostgreSQL. Methods explored include limit-offset, cursors, keyset pagination, as well as more exotic techniques.

👍 10🔥 2
Выберите другой тариф

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