cookie

Utilizamos cookies para mejorar tu experiencia de navegación. Al hacer clic en "Aceptar todo", aceptas el uso de cookies.

avatar

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

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

Mostrar más
Publicaciones publicitarias
1 639
Suscriptores
+224 horas
-57 días
+3830 días

Carga de datos en curso...

Tasa de crecimiento de suscriptores

Carga de datos en curso...

Ребята, это была жесть. В этом году меня в ШАДе не будет🫠 Слишком сложно для меня, если с программированием я что то смог наковырять то математические задачки мне не поддались. Нужно больше готовиться. Наскоком не получилось.
Mostrar todo...
🕊 27👏 10😁 4🤣 2🤝 2
Photo unavailableShow in Telegram
Вот и настал момент истины😊
Mostrar todo...
🔥 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
Mostrar todo...
👍 9🔥 5 2🕊 1
👩‍💻Плейбук для развертывания инструментов разработчика После переустановки Linux решил наконец собрать скрипт для установки тулинга на свежую ОС. Надоело красноглазить😁 Вылилась эта затея в Ansible Playbook с Golang, Python, Docker, K8s, Helm, Git, VS Code с плагинами, ZSH. Установка в одну команду🚄. Выложил на Github, чекайте, если вам интересна тема рабочего тулинга и Ansible😊 https://github.com/abstractart/local-machine-playbook
Mostrar todo...
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
Photo unavailableShow in Telegram
История о том как дед на "старости" лет вписался в авантюру😁 👴 Будучи студентом и джуном очень хотел поступить в ШАД для буста знаний. Но всегда не хватало скиллов, особенно математики😔 (Я выпускник провинциального университета) В этом году подался через альтернативный трек для разработчиков с опытом, и получилось пройти первый этап😊 Для меня честно говоря это уже успех, учитывая что я не готовился к экзамену, ограничившись разбором пробного варианта. Посмотрим что из всего этого получится😄 К экзамену постараюсь уже подготовиться, насколько это возможно)
Mostrar todo...
👍 23🔥 16 6
Пагинация на примере PostreSQL. От простого к сложному. Пагинация — это свойство, при котором сервер возвращает не все результаты сразу, а частями, по страницам. Основной юзкейс для применения пагинации - упорядоченный просмотр множества ресурсов (например посты в ленте вашей любимой соцсети). Благодаря пагинации можно здорово ускорить работу системы и улучшить пользовательский опыт. В статье компании Citus приведен разбор методов для реализации подобной механики, от простых и известных всем, до нетривиальных и экзотических. Расскажите в комментариях, какой способ встречали в рабочих проектах или о том какой способ реализовывали самостоятельно?
Mostrar todo...
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
👨‍💻 Вакансия разработчика в платформу продуктовой аналитики Statist Всем привет! Сегодня будет необычный пост. Дело в том что у меня в команде появилась открытая позиция и я ищу к себе в команду разработчика. 🔵 Что разрабатываем? В зоне ответственности нашего отдела продукт Statist — единая платформа в Тинькофф для сбора продуктовой аналитики и телеметрии с мобильных и веб приложений. Подробный блогпост про наш проект 🔵 Чем занимается конкретно наша команда Отвечаем за несколько направлений: - Data Pipeline (сервисы для приема и процессинга данных, доставка в хранилища) - Analytics API (удобные и понятный интерфейс для разработчиков для доступа к данным). Также на наших плечах частично обслуживание и масштабирование компонентов инфраструктуры (Kafka, ClickHouse, Cassandra). 🔵 Стек технологий - Микросервисы пишем на Golang, разворачиваемся во внутреннем K8s, - Хранилище данных - ClickHouse, транспорт - Kafka. - Python для несложных скриптов. - Хранилище контекста пользователей в Cassandra. - Для сбора логов и метрик используем внутреннюю платформу. - Высокое покрытие тестами (e2e, unit)и алертами. - С помощью внутренних инструментов отслеживаем соблюдение SLA. Из организационных моментов: - в командах отдела только разработчики, отсутствуют выделенные DevOps, SRE, QA, аналитики. Мы делаем всё, от ресерча до деплоя и дальнейшего мониторинга. 🔵 Кого ищем? По моему мнению кандидат в наш проект должен обладать несколькими качествами: - Не бояться задач с высоким уровнем неопределенности (в силу технической сложности). Нам периодически приходиться погружаться в ньюансы работы БД, инфраструктуры и используемых библиотек. - Быть готовым расти в ширину (например не бояться брать на себя ресерчи и погружаться в инфраструктурные задачи) - Высокий уровень ответственности и вовлеченности, вести разработку с использованием тестов, метрик, ТВD + иногда требуется семплирующий профайлер и бенчмарки. Возможно вы заметили что в требованиях нет строгих требований к языку и технологиям. Это неспроста. Дело в том что мы ищем в первую очередь инженера, а не разработчика на конкретном стеке. Если кандидат работал на другом языке с подобными задачами или работал с похожими технологиями - готовы обсуждать. Конечно, кандидат должен быть готов изучить наш текущий стек и инструментарий. Также мы открыты к другим языкам и технологиям, если они подходят под задачу, текущий стек - не панацея😊 Если вакансия заинтересовала - пишите в ЛС @ea_kozlov За рекомендации и репосты безмерная благодарность❤️
Mostrar todo...
Платформа продуктовой аналитики Statist

Единая платформа Тинькофф для сбора продуктовой аналитики и телеметрии с мобильных и веб-приложений

🔥 15👍 5
What happens when ... Kubernetes edition! Пошаговый рассказ о том, что происходит под капотом у команды kubectl create deployment nginx --image=nginx --replicas=3 Прочитал на одном дыхании, довольно занимательная заметка. Автор постарался и детально расписал все этапы работы k8s (которых довольно много) 🙂 Отличное дополнение к давнему посту про K8s
Mostrar todo...
GitHub - jamiehannaford/what-happens-when-k8s: 🤔 What happens when I type kubectl run?

🤔 What happens when I type kubectl run? Contribute to jamiehannaford/what-happens-when-k8s development by creating an account on GitHub.

👍 4🔥 3 1
Наконец дошли руки сделать 2ю версию гайда по алгоритмическим интервью и изучении алгоритмов. Как и прошлая версия, он состоит из открытых источников, по которым я учился и учусь. Добавил несколько хороших курсов на русском и английском языках, поправил битые ссылки + добавил иллюстрации. Перенес на GitHub чтобы была возможность редактировать содержимое самому и другие могли предлагать правки. Поддержка в любом виде приветствуется😊 Любите алгосики и удачи на собесах😇 https://github.com/beagreatengineer/algo-interview
Mostrar todo...
GitHub - beagreatengineer/algo-interview: Бесплатный, минимально необходимый план подготовки к алгоритмическому интервью в компанию мечты. Для любого уровня подготовки.

Бесплатный, минимально необходимый план подготовки к алгоритмическому интервью в компанию мечты. Для любого уровня подготовки. - beagreatengineer/algo-interview

👍 36🔥 9🆒 1
Photo unavailableShow in Telegram
Crafting Interpreters by Robert Nystrom В моё поле зрения попала абсолютно великолепная книга на тему, в которой давно хочется разобраться - дизайн языков программирования. Она рассказывает о том как написать полноценный интерпретируемый язык программирования. Начиная от парсинга и семантического анализа и заканчивая байткодом и сборщиком мусора. В книге используются Java и C, но думаю что можно портировать примеры на Golang без потери сути. Книга продается в онлайн магазинах, а бесплатная веб версия доступна на сайте https://craftinginterpreters.com/contents.html Интересуетесь ли вы теорией языков программирования? Что посоветуете прочитать?😊
Mostrar todo...
🔥 7👍 4