Pull to refresh
30
0.2
Евгений Казанов @evgenyk

User

Send message

Kubernetes на AWS: пошаговое руководство

Reading time7 min
Views4.3K

В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:

Создание кластера с помощью kops: kops — это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS.

Создание кластера с помощью Amazon Elastic Kubernetes Service (EKS): EKS — это управляемый сервис Kubernetes, предоставляемый компанией Amazon. Кластер Kubernetes с EKS можно создать с помощью AWS Management Console.

Создание кластера с помощью Rancher: Rancher — это платформа управления Kubernetes, которая упрощает развертывание Kubernetes и контейнеров.

Читать далее
Total votes 10: ↑7 and ↓3+5
Comments5

Красота не только в коде — как оформлять репозиторий

Level of difficultyEasy
Reading time7 min
Views26K

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

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

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

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

Узнать, как оформлять репозитории
Total votes 21: ↑14 and ↓7+13
Comments42

Асинхронный python без головной боли (часть 3)

Level of difficultyEasy
Reading time10 min
Views15K

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

И снова здравствуйте
Total votes 14: ↑14 and ↓0+14
Comments5

100 промптов для ChatGPT

Reading time10 min
Views43K

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

Читать далее
Total votes 26: ↑17 and ↓9+10
Comments23

«Иногда лучше написать велосипед»: как тестировать кластеры Kubernetes с помощью Python

Level of difficultyMedium
Reading time8 min
Views5.9K

Сегодня Kubernetes — это основное средство для оркестрации контейнеров на рынке, поэтому их тестирование занимает особую позицию в перечне задач. Большинство тривиальных тестов можно запустить через команду kubectl, либо фреймворк Sonobuoy для тестирования сертификации версий.

Однако для сложных интеграционных тестов, которые завязаны на Kubernetes API, необходимо реализовать что-то свое. Я воспользовался клиентской библиотекой Python для Kubernetes, которая позволяет работать со всеми прелестями его интерфейса, соединил ее с PyTest и API нашего продукта — Managed Kubernetes. Что из этого вышло, показываю в статье.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments7

Разработка real-time приложений с Python и WebSocket

Level of difficultyEasy
Reading time15 min
Views32K

Real-time приложения, как следует из названия, предоставляют мгновенный обмен данных и информации между сервером и клиентом. Они встречаются повсеместно в различных сферах, начиная от социальных сетей и мессенджеров, и заканчивая финансовыми торговыми платформами, мониторингом систем, онлайн-играми и многими другими областями. Подобные приложения обеспечивают пользовательский опыт, который чрезвычайно близок к реальному времени.

Читать далее
Total votes 28: ↑23 and ↓5+26
Comments17

Сравнение алгоритмов балансировки нагрузки: Round Robin vs. Least Connections vs. IP Hash

Level of difficultyEasy
Reading time12 min
Views5.6K

Привет, уважаемые читатели Хабра!

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

В этой статье мы проведем сравнительный анализ трех известных алгоритмов балансировки нагрузки: Round Robin, Least Connections и IP Hash. Мы рассмотрим их преимущества и недостатки, а также сценарии использования, в которых каждый из них сияет особенным образом.

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments3

Тиннитус (шум в ушах) для айтишников, геймеров, и не только

Reading time16 min
Views69K

ВНИМАНИЕ! Если у вас нет шума в ушах (тиннитуса) и/или нейросенсорной тугоухости, но есть особенности психики в части психосоматики или подобного – покиньте данный пост не читая.

Самые важные победы в мире – победы над собой

Всем привет. Меня зовут Паша Герасимов, мне 38, я – инженер в ИТ, геймер, и у меня диагноз НСТ (нейросенсорная тугоухость), а также субъективный шум в ухе (тиннитус) и гидропс правого лабиринта. По ощущениям, это комбо – шум/гул/свист в ухе, снижение слуха, чувство заложенности за перепонкой, и гиперакузия (повышенная чувствительность к некоторым звукам). Для тех, кто не в теме – представьте, что у вас ухо заложено ваткой, а внутри уха – звук неработающего канала ТВ (как видео пример, или mp3). И так – регулярно, месяцами, без возможности исправления.  

До 37 лет я практически не болел и не ходил по поликлиникам, это повлияло на всю историю с тиннитусом, поэтому для многих очевидные вещи, я понял на своей шкуре. 

Читать далее
Total votes 80: ↑78 and ↓2+91
Comments155

Behavioral-интервью в IT: что это и как подготовиться? (вопросы с ответами для Software Developer + грамматика)

Reading time8 min
Views9.7K

Многоэтапный процесс интервью в IT иногда занимает до 40 дней, но как правило большинство кандидатов отваливаются именно после одного из первых этапов отбора - behavioral interview.

Обычно behavioral questions включают в себя вопросы на следующие темы...

Читать далее
Total votes 20: ↑16 and ↓4+16
Comments2

10 лучших практик логирования в Python

Level of difficultyEasy
Reading time19 min
Views30K

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

В этой статье мы рассмотрим лучшие практики логирования в Python. Следуя им, вы сможете обеспечить информативность, практичность и масштабируемость генерируемых логов. Давайте начнём!

Читать далее
Total votes 50: ↑49 and ↓1+70
Comments19

LISP — исследование оригинального языка ИИ

Level of difficultyEasy
Reading time12 min
Views3.8K

Откройте для себя один из первых языков программирования, который, по мнению Майка Бедфорда, не мог быть более непохожим на своих ранних собратьев.

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

Эти два подхода можно сравнить с инструкциями, прилагаемыми к мебели для самостоятельной сборки. При императивном подходе инструкция представляет собой подробный перечень указаний, а при декларативном методе вам просто показывают картинку собранной мебели. На самом деле, это не первое знакомство с декларативным программированием за последние месяцы. Чуть ранее мы познакомились с языком Prolog, который практически канул в Лету в 1980-х годах, а затем вновь стал популярным благодаря Al-революции.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments8

Чтение на выходные: «Идеальный программист» Роберта Мартина

Level of difficultyEasy
Reading time3 min
Views7.8K

Роберт Мартин — инженер, программист, консультант в области разработки ПО. Известен как автор книг о чистом коде, архитектуре и Agile. Пока что мы прочитали одну из его книг — «Идеальный программист», и уже хотим продолжить чтение по теме. Поговорим о том, чем зацепила эта работа и даже немного поспорим с рандомными отзывами в интернете (в том числе на Хабре) о ней.

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments7

Четыре года с умным домом: личный опыт и интересные сценарии

Reading time22 min
Views42K

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

Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенять опыт и избежать чужих ошибок; уже имеет умный дом и интересуется прикладными сценариями.

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

Пишем АПИ автотесты на Python по шагам

Level of difficultyMedium
Reading time27 min
Views22K

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

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

Перелом в судьбе змеи: как Python менял версию с 2 на 3

Level of difficultyEasy
Reading time6 min
Views6.9K

Мы можем только догадываться, что происходило в рождественские выходные 1989 года, когда Гвидо ван Россум приступил к своему хобби-проекту. Что можно сказать о Python, чего ещё не было сказано? Это один из самых популярных языков в мире, первый язык, на котором я учился программировать по-настоящему, и одно из самых громких имён в сфере машинного обучения. Судя по всему, он ни за что не должен был получить всю ту популярность, которой добился. Его на несколько лет опережал Perl: релиз 1.0 вышел в 1987 году и пустил глубокие корни в мире Unix, компьютерной графики и биоинформатики.

Python имел ужасный Global Interpreter Lock (GIL) и был очень медленным по сравнению даже с другими языками с динамической типизацией. К тому же он разделил своё сообщество из-за перехода от версии Python 2 к версии 3. Даже сегодня есть люди, отказывающиеся прикасаться к нему после этого перехода. Но несмотря на все свои недостатки, ему каким-то образом удаётся быть успешным.

Во время перехода с Python 2 на 3 я учился на последнем курсе магистратуры и изучал Python 2, поэтому помню, как оттягивал освоение Python 3. К тому моменту переход длился уже почти десяток лет, поэтому многие библиотеки уже были обновлены. Но окончательный срок Python 2 был ещё далеко. Мне повезло, что мой переход оказался относительно безболезненным, но для многих людей это было не так. Давайте разберёмся, с чего всё началось, но пока совершим небольшое отступление.

Читать далее
Total votes 14: ↑11 and ↓3+13
Comments4

Как правильно оформить пет-проект

Level of difficultyEasy
Reading time5 min
Views14K

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

Оформить
Total votes 20: ↑14 and ↓6+10
Comments25

Hello-World туториал на React/Django/RabbitMQ/Websockets

Level of difficultyMedium
Reading time37 min
Views11K

Однажды в поисках примера на React/Django я нашел на Хабре одну интересную статью. Она показалась мне полезной, и я решил дополнить пример из статьи новыми возможностями. В этом сиквеле мы добавим в веб-проект со списком студентов поддержку авторизации и real-time уведомлений на сокетах, улучшим систему Docker-сборки, оптимизируем модель очередей на RabbitMQ и немного пригладим косметику. В результате получим удобный базовый шаблон, с которого вы сможете начинать свои проекты.

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

Создание библиотеки Python: полный гайд

Level of difficultyMedium
Reading time7 min
Views23K

Создайте свою библиотеку для Python и загрузите на PyPi, сейчас!

В этом туториале я максимально понятно и подробно расскажу о том, как создать свою библиотеку для Python и загрузить её на PyPi, для того, что бы её мог использовать любой!

Читать далее
Total votes 9: ↑7 and ↓2+8
Comments13

Советы по тестированию HTTP-прокси

Reading time7 min
Views3.4K
image

TLDR; Коллекция советов по работе с HTTP-прокси. Применяйте прокси на localhost или с мобильного, используя имя своего компьютера или частный ip-адрес из ifconfig (или ipconfig). Цепочка прокси-серверов позволяет использовать возможности всех инструментов одновременно и делает манипуляцию запросами более надежной. Charles Proxy может проверять HTML как часть тестирования.
Перейти к статье
Total votes 10: ↑8 and ↓2+8
Comments0

Смартфон как инструмент ИБ-специалиста

Reading time5 min
Views11K

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

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

Information

Rating
2,014-th
Location
Висагинас, Литва, Литва
Date of birth
Registered
Activity