Pull to refresh
2
0
Евгений Балаганский @twixus_vulgaris

Инженер VoIP

Send message

Roadmap для начинающих DevOps-инженеров: личный опыт

Level of difficultyEasy
Reading time6 min
Views6.6K

Сейчас DevOps-инженеры довольно востребованны: в их услугах нуждаются различные компании, чья деятельность в той или иной степени связана с ИТ-отраслью. В профессию приходят как разработчики, системные администраторы и реже — тестировщики, так и полные новички (обычно это становится возможно благодаря стажировкам).

Меня зовут Евгений Цигельников, и я ведущий DevOps-инженер в направлении интеграционных решений в Лиге Цифровой Экономики. В этом материале поделюсь опытом и расскажу, чего ожидать новичкам в DevOps на старте карьеры и как преодолевать первые трудности.

DevOps-инженер связывает и синхронизирует все этапы разработки программного обеспечения: от составления технического задания до релиза.

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

Со стороны hard skills это очень творческое направление — можно построить инфраструктуру или автоматизировать работу совершенно разными способами, приходится разбираться в процессах ИТ-бизнеса. Последнее, кстати, будет актуально для тех, кто в будущем планирует строить свой стартап. А еще это отличная профессия для общительных людей. 

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

Читать далее
Total votes 6: ↑2 and ↓4+2
Comments4

Плюсы и минусы FastAPI в 2023

Level of difficultyEasy
Reading time3 min
Views17K

Всем привет, меня зовут Абай. Я являюсь Back-End разработчиком в 13LAB.

После прочтения интересной статьи со сравнением NodeJS и FastAPI, у меня появилось желание высказать свое личное мнение об удобстве разработки бэкенда на Python и фреймворке FastAPI.

FastAPI - является легковесным асинхронным фреймворком для Python, который используют преимущественно для разработки API-сервисов. Фреймворк довольно молодой и существует всего лишь 5 лет. До 2021 года не имел большой популярности по сравнению с Flask и Django, но на данный момент уже стал намного востребованнее, что его стали использовать в МAANG компаниях, к примеру...

Читать далее
Total votes 14: ↑13 and ↓1+17
Comments23

Пишем FastAPI с нуля на python

Reading time19 min
Views92K

FastAPI — это современная, быстрая (высокопроизводительная) веб-инфраструктура для создания API-интерфейсов с Python 3.7+ на основе стандартных подсказок типов Python.

В этой статье мы рассмотрим как написать его с нуля.

Читать далее
Total votes 14: ↑12 and ↓2+11
Comments8

Simba: Симуляция десятков тысяч частиц в потенциале Леннарда-Джонса на чистом Python с GPU-ускорением

Reading time9 min
Views19K

Добрый день, уважаемые хабровчане.

Примерно год назад я начал проект симулятора динамики частиц на Python, используя библиотеку Numba для проведения параллельных расчетов на видеокарте. Сейчас, добравшись до определенной вехи в его развитии, я решил открыть исходный код и выложить его на GitHub для всех, кому интересны подобного рода эксперименты.

Самостоятельно потыркать проект можно вот тут: https://github.com/r-aristov/simba-ps

В этой статье я кратко опишу суть проекта, пройдусь по прилагающимся к нему примерам и расскажу почему вообще начал работу над ним.

В глубины симуляции
Total votes 136: ↑136 and ↓0+136
Comments78

Крестики-Нолики (Tic Tac Toe) с компьютером на Python. Мой первый шаг к Machine Learning. Часть 1

Level of difficultyEasy
Reading time10 min
Views15K

Всем привет. Я любитель Python и совсем недолго осваиваю язык всеми доступными способами. Моя цель - понять принципы машинного обучения и его взаимосвязь с нейросетью. Никакого опыта в IT не имел, тем не менее постараюсь излагать общепринятой терминологией, не судите строго. Моя основная профессия (оперирующий травматолог, кандидат наук) не менее сложная и далека от IT, но для упрощения работы в нее все больше внедряются AI и ML. Мною движет лишь интерес к современным технологиям, программированию.

В первой части покажу только основные этапы создания игры, где пользователь выбирает роль (Х или О), играя с компьютером. Поиск в сети Python аналогов дал только несколько вариантов игры с рандомным ответом компьютера. Мой целью в этой части стало самостоятельно научиться оценивать текущую позицию на поле "Крестики-Нолики" и подбирать оптимальный вариант следующего хода компьютера. К слову, уже перед окончанием статьи нашел готовую web-игру в google, где уже реализован такой подход. Тем интереснее было проверить себя и поделиться "изобретением колеса, но по-своему".

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

Кому будет полезен материал: любителям Python, логики, алгоритмов. В финальном коде все переменные, функции и действия прокомментированы на английском.

Крестики-Нолики с компьютером на Python
Total votes 5: ↑4 and ↓1+5
Comments6

Превращаем любой фреймворк в FastAPI. На прицеле Flask

Level of difficultyEasy
Reading time5 min
Views5.9K

Я уверен, вы знаете, что такое FastAPI. По результатам опросов Stackoverflow этот фреймворк уверенно входит в топ любимых фреймворков не только питонистов, но и разработчиков в целом. И не зря: за счет свеого подхода к сериализации данных он предоставляет действительно потрясающий опыт разработки.

На Хабре уже была отличная статья о том, как устроен FastAPI изнутри. Там достаточно подробно рассмотрены все ключевые концепции этого фреймворка, а также разобраны детали его реализации на базе Starlette.

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

Интересно? Тогда добро пожаловать!

Читать далее
Total votes 6: ↑5 and ↓1+5
Comments5

Погружение в индексы PostgreSQL

Level of difficultyEasy
Reading time9 min
Views33K


Автор статьи: Артем Михайлов

В данной статье мы сделаем погружение в индексы PostgreSQL — мощного и гибкого реляционного СУБД с открытым исходным кодом. Мы рассмотрим концепции, типы индексов и методы их применения для ускорения запросов к данным. Статья будет полезна как для начинающих разработчиков, так и для опытных, желающих углубить свои знания в области индексирования в PostgreSQL.

Индексы представляют собой структуры данных, которые позволяют базе данных быстрее находить и извлекать информацию. Они аналогичны оглавлениям в книгах, которые упрощают поиск определенной информации, указывая на ее местоположение. Правильное использование индексов может существенно улучшить производительность запросов, сокращая время обработки и уменьшая нагрузку на систему.
Читать дальше →
Total votes 22: ↑14 and ↓8+9
Comments1

Тайны виртуальных конвертов: чтение и парсинг .pst файлов

Level of difficultyEasy
Reading time5 min
Views4.3K

Привет, Хабр!

Меня зовут Максим Саввин, я участник профессионального сообщества NTA.

Сегодня я рассмотрю алгоритм чтения и парсинга .pst-файлов, написанный на python, для работы с одним файлом и оставлю в стороне параллельную обработку, которую стоит использовать при работе с большим числом архивов.

Узнать больше
Total votes 5: ↑4 and ↓1+3
Comments0

Возможно ли бессмертие?

Level of difficultyEasy
Reading time9 min
Views23K

(а если «ДА», то как это можно реально осуществить)

Американский физик, лауреат Нобелевской премии Ричард Фейнман: «Если бы человек вздумал соорудить вечный двигатель, он столкнулся бы с запретом в виде физического закона. В отличие от этой ситуации в биологии нет закона, который утверждал бы обязательную конечность жизни каждого индивида».

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

Читать далее
Total votes 19: ↑11 and ↓8+14
Comments180

Автоматизация установки и удаления LAMP-стека с помощью Ansible

Level of difficultyEasy
Reading time7 min
Views4.3K

В этом руководстве мы рассмотрим, как автоматизировать установку и удаление LAMP-стека (Linux, Apache, MySQL, PHP) с помощью Ansible. Ansible — это инструмент автоматизации с открытым исходным кодом, который позволяет вам определять инфраструктуру и управлять ею как кодом.

Читать далее
Total votes 12: ↑9 and ↓3+8
Comments3

Почему они не сталкиваются?

Level of difficultyMedium
Reading time11 min
Views34K

На момент середины 2023 года вокруг Земли вращается примерно 25000 искусственных спутников. В это число входят и действующие аппараты, и вышедшие из строя, и ступени выведения ракет-носителей, и различные обломки (таких большинство). Все эти спутники движутся по разным орбитам плотным слоем окутывая околоземное космическое пространство (см. картинку). Так почему же при такой «плотности» они не сталкиваются друг с другом? А когда начнут? Чем это чревато? И как вообще оценить вероятность столкновения с космическим мусором? (NB! Будет много картинок)

Читать далее
Total votes 89: ↑89 and ↓0+89
Comments73

Полезные алиасы в Bash

Level of difficultyEasy
Reading time4 min
Views25K

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

Читать далее
Total votes 23: ↑14 and ↓9+9
Comments22

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficultyEasy
Reading time8 min
Views207K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)

Читать далее
Total votes 156: ↑149 and ↓7+177
Comments178

Каково расстояние между «Будапештом» и «Бухарестом» или об отождествлении слов с помощью расстояния Левенштейна

Level of difficultyMedium
Reading time6 min
Views2.3K

Каждый из нас из школы помнит определение Евклидова расстояния между двумя точками на плоскости. С помощью расстояния Евклида можно вычислить расстояние между двумя точками на карте, например, между вашим местоположением и станцией метро. Но для пешехода в Нью-Йорке расстояние между двумя точками в городе будет отличаться от расстояния Евклида между двумя точками из-за невозможности передвигаться иначе, как по проезжим улицам, пересекающимся под прямыми углами. Такое расстояние так и называется: "расстояние городских кварталов" или манхэттенское расстояние. При любом способе расстояние характеризует меру близости точек. В сегодняшней статье мы расскажем о способах вычисления расстояния между двумя словами.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments13

Дорожная карта DevOps: от новичка до эксперта

Level of difficultyEasy
Reading time6 min
Views44K
image

Медианная зарплата DevOps-инженеров в России — 235 000 руб. Выглядит заманчиво, но порог входа в профессию высокий. Чтобы стать экспертом в области DevOps, нужно получить опыт работы с Linux и облачными платформами, выучить языки программирования, освоить инструменты автоматизации и виртуализации.

Для тех, кто хочет развиваться в сфере DevOps, дорожная карта станет полезным инструментом. Сегодня расскажем, где получать знания, в каких областях полезно разбираться DevOps-инженеру, какие навыки рекомендуют подтянуть эксперты.

Читать дальше →
Total votes 25: ↑19 and ↓6+21
Comments22

Организация присутствия на датчике движения в Home Assistant

Level of difficultyMedium
Reading time1 min
Views9.5K

Допустим у вас есть: Home Assistant, Zigbee2MQTT, Node-RED, датчик движения RTCGQ01LM или RTCGQ11LM и желание что бы на всем этом включался и горел свет когда кто-то находится в помещении.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments37

Распределенное управление версиями с помощью Git. Установка и настройка

Level of difficultyEasy
Reading time4 min
Views3.3K

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

Какие преимущества дает использование Git командой разработчиков? Прежде всего это централизованное хранение версий файлов исходных кодов проектов. Причем, речь идет не просто о хранении последней, актуальной версии того или иного кода, но и о хранении всех предыдущих версий кода. Иногда это бывает очень полезно. Так, например, с помощью Git разработчик может откатить свой проект до более старой версии, для того, чтобы сравнить или проанализировать свои изменения в коде проекта.

Читать далее
Total votes 23: ↑7 and ↓16-7
Comments11

IQ-Openvpn или Openvpn с распределенной маршрутизацией

Level of difficultyMedium
Reading time9 min
Views6.4K

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

Ну давай посмотрим, что там
Total votes 7: ↑6 and ↓1+5
Comments16

Эффективное ведение дел или Obsidian + GTD

Level of difficultyMedium
Reading time12 min
Views72K

Иногда сложно справиться с большим потоком задач и информации, особенно если это касается работы. Поэтому создание персональной базы знаний для своих текущих дел становится весьма актуальным. Но простая фиксация данных не всегда эффективна: легко потеряться в куче заметок. Различные методики помогают правильно организовать процесс. Вместе с тем информация не существует сама по себе, она, как правило, неразрывно связана со всеми нашими проектами, задачами и другими событиями. Если это учитывать, то проще оперировать данными, находить нужные факты. Через задачу легко выйти на связанную с ней информацию или, наоборот, через данные можно найти проект или задачу, в рамках которых они появились. Однако на практике все это будет эффективно работать, если получится создать единую среду для ведения дел и хранения всех связанных с ними данных.

Существующие приложения, как правило, не могут предоставить готовое решение для работы в таком контексте. Приходится придумывать или создавать что-то свое. Самое простое — это начать с каких-то стандартных заметочников, например Evernote или OneNote, и приспособить их под себя. Однако с появлением Roam-подобных программ пришло понимание, что можно создать очень гибкую систему, которую легко настроить под ведение любого вида задач, проектов и хранение различного типа связанной с ними информации. В этой статье познакомимся с примером настройки и практического использования маркдаун-заметочника Obsidian совместно с методологией Getting Things Done (GTD) Дэвида Аллена.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments37

Мониторинг активности пользователей OpenVPN при помощи Python

Level of difficultyMedium
Reading time10 min
Views9.9K

Приветствую! Меня зовут Евгений, я DevOps в команде развития инфраструктуры. Мои прошлые статьи были посвящены протоколу BGP, но в этот раз я приготовил нечто поинтереснее. В прошлом году мне захотелось расширить своё портфолио навыков в сторону автоматизации задач. Не последнюю роль в этом желании сыграла книга «Автоматизация программируемых сетей», выпущенная известным в IT-кругах издательским домом O'Reilly. В ней примеры скриптов написаны на Python. Позже я в учебном центре прошёл курс повышения квалификации по программе «Python для сетевых инженеров. Автоматизация сетевых задач», а затем продолжил самостоятельно постигать это искусство. Недавно подвернулась интересная задача, о решении которой при помощи Python я вам сегодня и расскажу. Усаживаетесь поудобнее, мы отправляемся.

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments12
1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

System Administration, Network Engineer
Senior
From 150,000 ₽
Ansible
Asterisk
Linux
Zabbix
Mikrotik
Debian
Python
Bash