Search
Write a publication
Pull to refresh
3
0.5

WEB-программист, сетевой администратор

Send message

Сложное — просто: архитектуры ПО на жизненных примерах

Level of difficultyEasy
Reading time7 min
Views21K

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

Здесь я рассказываю про монолиты, микросервисы и микрофронтенды без сложных терминов и технических деталей, чтобы те, кто только начинает разбираться в теме, могли понять, что к чему. Надеюсь, вам будет полезно и интересно. Поехали! 🚀

Читать далее

Получение информации о системе с помощью Python

Level of difficultyMedium
Reading time5 min
Views10K

Привет! Это моя первая статья, и я решил начать с темы, которая, как мне кажется, актуальна для многих системных администраторов. Часто сталкиваюсь с ситуацией, когда нужно быстро получить информацию о системе — будь то для проверки после внесения изменений, для поиска узких мест в производительности или для составления отчёта. Конечно, существуют различные утилиты и программы для мониторинга, но иногда хочется иметь под рукой простой и гибкий инструмент, который можно быстро адаптировать под свои нужды. Именно поэтому я считаю Python отличным выбором для решения подобных задач. Его простой синтаксис и богатая экосистема библиотек позволяют легко и быстро писать скрипты для получения практически любой системной информации. В этой статье я поделюсь своим опытом и покажу, как с помощью Python можно легко и эффективно получать данные о системе.

Читать далее

Получение информации о системе и сети с помощью Python

Level of difficultyMedium
Reading time14 min
Views13K

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

Читать далее

Бесплатное обучение фулстек-разработке веб-сервиса с нуля по видео-урокам с исходным кодом и поддержкой

Level of difficultyMedium
Reading time7 min
Views45K

TLDR. Я примерно год создавал курс из 141 урока. Курс получился хороший, все кто проходят рады и пишут положительные отзывы. Я пытался его продавать, в лучшем случае у меня получалось отбивать рекламу в ноль. Короче, я хороший разработчик, я хорошо доношу материал, но я плохой маркетолог. Все эти таргреты, ретаргеты, воронки, шморонки — тоска унылая. Мне гораздо веселее и понятнее заработать на создании и запуске IT-продуктов, чему я и учу в этом учебнике. Так что пишу эту статью, чтобы сообщить вам о существовании моего курса и предложить всем желающим абсолютно бесплатно получить от него пользу 🙂

Цель обучения — создать проект с нуля, изучив и применив технологии и архитектуру, которые обеспечивают качество и масштабируемость вашего кода, скорость разработки, а также удовольствие и радость от процесса.

Читать далее

Строкам грустно в одиночестве. Мои простые правила оформления списков

Reading time5 min
Views9.2K

Недавно я в очередной раз прочитал на Хабре, что списки — это один из признаков текста, созданного нейросетью. Значит меня можно считать «нейросетью» устаревшей модели, выпущенной ещё в 70-х годах XX века. Я начал составлять списки в детстве, почти сразу, как только научился писать.

Я очень люблю списки: они позволяют легко и в то же время наглядно структурировать информацию. По эффективности списки находятся где-то между обычным текстом, в котором объекты перечисляются в строке через запятую, и таблицей, которая по сути является двухмерным списком. Взгляд читателя легко скользит по номерам или маркерам списка. Можно быстро оценить количество строк, понять их последовательность и структуру, перейти к нужной строке.

В этой статье я хочу поделиться с вами своими правилами оформления списков.

Читать далее

Из практики. Как я пришла к тому, что все делаю на английском языке и теперь это легко

Level of difficultyEasy
Reading time2 min
Views54K

Из практики. Я сейчас все делаю на английском языке: работаю, веду все свои заметки, смотрю фильмы, учусь, гуглю, разговариваю с ChatGPT и все остальное. Даже дома мы часто разговариваем на английском в течении дня.

К этому я пришла не сразу и на мой взгляд, есть 2 основных барьера, чтобы начать использовать язык:

Читать далее

Как запускать пет проекты, зарабатывать на них и отправлять на кладбище неуспешные

Level of difficultyEasy
Reading time12 min
Views18K

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

Я - Юра, разработчик и фаундер нескольких продуктов. В этой статье я расскажу о своем подходе к поиску идей, их реализации (без глубиных технических деталей), маркетинге, тайм менеджменте и в целом моментах, которые важны на мой взгляд. Будет мало теории и больше практики из моего опыта.

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

Читать далее

От «все сломалось» до «вы меня спасли»: как проходит день дежурного администратора в облачном провайдере

Reading time5 min
Views4.6K

Добрый день, коллега или случайный читатель. Меня зовут Павел, я дежурный системный администратор в Nubes. Мне коллеги по ошибке прислали доступ к Хабру, и я, никому ничего не сказав, решил втихаря поделиться тем, как проходит моя рабочая смена. Надеюсь, меня не накажут, хе-хе. 

08:00 – с первыми лучами солнца, я, счастливый, встаю с кровати и иду разминаться. 20-минутный бег и прохладный ветерок придали сил на грядущий день.
08:30 – возвращаюсь с пробежки и начинаю завтракать. В меню сладкий чай, авокадо, форель и газета. Кажется, пора разрабатывать нефтяные скважины, нефть дорожает.
09:00 – 09:40 – спокойно еду в метро и даже успеваю сесть на свой автобус.
09:40 – 10:00 – коллеги спокойно передают мне смену.
10:00 – 19:00 – с умным видом решаю сложные задачи.
20:00 – отправляю вечерний отчет руководителю.
03:00 – заканчиваю свои рабочие дела и…

Читать далее

Как мы переходили на React-router v6: подводные камни и альтернативы

Reading time8 min
Views20K

Мы перешли на шестую версии React-router. Это помогло нам решить несколько проблем, например, определение маршрутов в Switch рендерит точный маршрут, а не первое совпадение, а размер бандла уменьшился в 2 раза.  

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

Читать далее

Небезопасная десериализация в PHP: Как создать собственный эксплойт

Level of difficultyMedium
Reading time14 min
Views7.3K

Привет, Хабр! Сегодня мы познакомимся с уязвимостями небезопасной десериализации в PHP, научимся писать эксплойты для эксплуатации уязвимости в рамках тестирований на проникновение и попробуем себя в анализе кода.

Читать далее

Что DevOps-инженеру может предложить Python?

Reading time5 min
Views9.1K

В этой статье разберём, для решения каких задач DevOps-специалисты могут использовать Python. Посмотрим на взаимодействие Python с системами контроля версий (CVS), инструментами CI/CD и другими аспектами DevOps.

Читать далее

Зачем покупать, когда можно… или как я собирал систему мониторинга фильтра воды и что из этого вышло

Level of difficultyEasy
Reading time9 min
Views25K

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

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

Читать далее

Используй эту копеечную советскую микросхему, и часы оживут

Level of difficultyEasy
Reading time5 min
Views23K

Попросил меня недавно один мой хороший знакомый оживить вторичные часы для школьного музея, мол, тыжэлектронщик. Я раньше ни о каких вторичных часах и не слышал, хотя, как оказалось, многократно их видел. Товарищ ввел меня в курс дела да ещё снабдил сразу и ссылками на заметки, как это всё решается. Статья реально отличная, после нее не остается никаких вопросов, что нужно этим часам, чтобы тикать, спасибо её автору.

Желательно сперва прочесть её, чтобы вникнуть в тему. Но, так как яжэлектронщик, то после ознакомления решил попробовать решить эту задачу сугубо «железячными» методами без единой строчки кода. H-мост L298N, который формирует импульсы амплитудой 24 вольта нужной полярности, было решено оставить, как в указанной заметке, а вот сигналы для него получать на цифровой «рассыпухе» без применения контроллеров. Тем более, что такая реализация отлично подходит как учебная задача для слушателей недавно вышедших с моим участием бесплатных онлайн-курсов по цифровой схемотехнике для начинающих.

Часы, которые мне передал товарищ, выглядели солидно.

Читать далее

Kafka для самых маленьких тестировщиков

Level of difficultyEasy
Reading time5 min
Views21K

Всем привет! Меня зовут Максим, я QA в Максилекте.

Недавно коллеги попросили меня рассказать о базовых вещах в Kafka, которые могут быть полезны при тестировании общающихся между собой микросервисов или сервисов, взаимодействующих со сторонними ресурсами. В этой статье - основные идеи моего рассказа.

Читать далее

FastAPI + APScheduler: Простой пошаговый гайд по созданию асинхронного API для мониторинга валют по расписанию на Python

Reading time32 min
Views17K

Как создать асинхронный API для мониторинга курсов валют на Python? В этом практическом руководстве мы разработаем сервис на FastAPI с интеграцией APScheduler, который будет отслеживать курсы USD и EUR в банках России. Вы узнаете, как реализовать асинхронный парсинг данных, настроить планировщик задач и развернуть приложение в облаке. Проект включает систему аутентификации, фильтрацию данных и REST API — идеальный пример для изучения современной веб-разработки на Python.

Читать далее

Python REST API: Flask, Connexion и SQLAlchemy (часть 2)

Level of difficultyMedium
Reading time24 min
Views3.3K

Это перевод статьи от Philipp Acsany

В этой второй части серии вы узнаете, как:
- Использовать SQL-инструкции в Python
- Настраивать базу данных SQLite для вашего проекта Flask
- Использовать SQLAlchemy для хранения объектов Python в базе данных
- Работать с базой данных через REST API
- Сериализовывать и десериализовывать JSON в объекты Python через Marshmallow

Читать далее

RabbitMQ Simulator. Песочница брокера сообщений

Level of difficultyEasy
Reading time6 min
Views7.9K

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

RabbitMQ и Apache Kafka — это термины, которые, возможно, на слуху у каждого, кто так или иначе работает в ИТ-сфере.

И сегодня я хотел бы познакомить вас с одним из, на мой взгляд, интереснейших инструментов для симуляции брокера RabbitMQ - сайтом RabbitMQ Simulator https://tryrabbitmq.com.

Для начала пару слов теории о брокере сообщений RabbitMQ.

RabbitMQ — это популярная система обмена сообщениями с открытым исходным кодом, которая используется для передачи данных между различными приложениями и сервисами. Она основана на протоколе AMQP (Advanced Message Queuing Protocol) и позволяет создавать надежные и масштабируемые системы обмена сообщениями.

RabbitMQ представляет собой брокер сообщений, который принимает сообщения от отправителей (publishers), хранит их в очереди и передает получателям (consumers). Он поддерживает различные модели взаимодействия, такие как точка-точка (point-to-point) и публикация-подписка (publish-subscribe).

Теперь перейдём к самому RabbitMQ Simulator-у.

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

Читать далее

Многослойная архитектура FrontEnd-приложений на основании SOLID, часть 1

Level of difficultyMedium
Reading time6 min
Views9K

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

Но в основном сначала получается та самая картина с балконом.

Читать далее

Как писать чистый код — советы для разработчиков с примерами

Level of difficultyEasy
Reading time16 min
Views17K

Представьте комнату, где повсюду разбросана одежда, книги и другие вещи. Найти что-то в такой комнате было бы сложно, не так ли?

Теперь представьте, что вы пишете беспорядочный код – это не менее запутанно, если не хуже!

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

Давайте взглянем на этот график. Он показывает два разных подхода к написанию кода и их влияние на время, необходимое для добавления новых строк:

Читать далее

Domain-Driven Design: чистая архитектура снизу доверху

Level of difficultyMedium
Reading time18 min
Views42K

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

Если Вы - мидл, и Вас стали мучать такие вопросы — поздравляю, Вы на верном пути. Ведь профессиональный рост не происходит с переводом на должность - новый сениор должен родиться, и это как раз муки такого рождения.

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

Information

Rating
3,609-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity