Обновить
-2
0.1

Пользователь

Отправить сообщение

Изучаем Python: модуль pathlib для начинающих с домашним заданием

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели11K

Забудьте о ручном склеивании строк: с pathlib пути элегантно конструируются с помощью оператора /. Проверка существования, чтение, получение родительской директории — всё это становится методами и атрибутами самого объекта. В результате код получается не просто чище и читабельнее, он становится более надежным и по-настоящему "питоничным" (Pythonic).

Читать далее

Микросервисы на пальцах: API‑Gateway, API‑Composition, KrakenD, FastAPI

Время на прочтение14 мин
Охват и читатели17K

Количество современных приложений, построенных на микросервисной архитектуре, очень велико. А сами микросервисы стали уже больше обыденностью, чем какой-то редкостью. В этом материале рассмотрим API-Gateway, BFF и композицию API — три базовых шаблона, которые можно встретить почти в каждой системе с микросервисами. Наша задача — понять, для чего они нужны, какие проблемы решают и создают. Пройдемся по теории и развернем реальный пример на инфраструктуре.
Читать дальше →

Как я в одиночку спроектировал API-шлюз на FastAPI, который держит 200к+ запросов в сутки

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели20K

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

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

Статья будет полезна тем, кто работает с FastAPI, микросервисами и думает о надежности и масштабируемости своих систем.

Читать далее

Реализация DOM-подобных структур данных на C++

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели9.2K

Это третья статья в серии про DOM-подобные модели данных в различных языках программирования.

Ранее мы рассмотрели что такое DOM-подобные структуры данных и как оценить их поддержку языках программирования и препарировали JavaScript.

Сегодня мы проверим как с Card DOM справится С++.

Читать далее

Зумеры на работе: почему мы уходим на обед и не возвращаемся. Якобы просто так

Время на прочтение8 мин
Охват и читатели51K

Всем привет! Меня зовут Соня, я продакт-оунер в молодежном продукте МТС: формирую стратегию, занимаюсь дискавери и оптимизирую CJM. Параллельно учусь в Вышке. Мне нравится работа: нет рутины и конфликтов, руководитель эмпатичный, а задачи дают возможность расти.

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

Со стороны это воспринимается как слабость, высмеивается и становится предметом мемов и шуток. Недавно я наткнулась на пост с такой фразой:

«Есть большое количество новоиспеченных разработчиков/аналитиков/тестировщиков/продактов (дополните список) с весьма скромным опытом (и нередко сомнительным качеством работы), которые готовы работать только 2–3 часа в день, принимать ванну из смузи, играть в плойку, на которых категорически нельзя повышать голос, которые требуют себе огромную зарплату, которые, чтобы прийти на офлайн-интервью, просят прислать за ними вертолет».

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

Читать далее

Зумеры против труда: почему это поколение не хочет работать?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели130K

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

Читать далее

Микросервисы — это зло

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели22K

Я PHP-разработчик с восьмилетним коммерческим опытом. Долгое время я не видел смысла в микросервисах — пока не перешёл на Python и не столкнулся с его архитектурными особенностями.

Читать далее

Отвлекать разработчиков ПО намного вреднее, чем считает большинство менеджеров

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели32K

После COVID-19 наша культура труда в основном изменилась к лучшему, но были и негативные изменения, например, увеличение количества совещаний на 13,5%[1].

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

В своей знаменитой статье «Maker's Schedule, Manager’s Schedule» [2] Пол Грэм писал:

«Когда работаешь в режиме творца, совещания — это катастрофа. Единственное совещание может поломать день, разделив его на две части, в каждой из которых невозможно сделать ничего достаточно сложного».

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

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

Читать далее

Pytest. Гайд для тех, кто ни разу про него не слышал

Уровень сложностиПростой
Время на прочтение24 мин
Охват и читатели17K

Недавно на работе передо мной возникла задача максимально быстро погрузиться в автоматизированное тестирование с ранее мной не использовавшимся фреймворком pytest. Почитав порядка десяти статей на Хабре я понял, что в каждой из статей есть много всего интересного, а чтобы системно погрузиться — необходимо идти читать документацию. Я решил, в привычной мне манере, разобраться и систематизировать самый сок для того, чтобы быстро въехать в суть и важные тонкости положив основу для дальнейшего использования. 

Всем интересующимся — добро пожаловать под кат!

Читать далее

Что должен знать и уметь Разработчик Автоматического Тестирования, чтобы называться Инженером

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5.9K

В области автоматического тестирования я работаю уже 15 лет. За это время я работал как в крупных компаниях, так и в небольших стартапах. Использовал различные языки программирования и технологии. Был частью разных команд — от специализированных групп разработчиков автоматического тестирования до смешанных команд, где вместе работали и разработчики, и тестировщики. За время карьеры занимал различные позиции и дорос до Senior Automation Engineer.

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

Читать далее

Как я купил Lenovo Thinkpad и начал понимать что такое настоящее терпение

Время на прочтение9 мин
Охват и читатели44K

Прошу не ругаться, это моя первая статья.

Итак, далёким летом 2021 года я решил обновить свой основной рабочий лэптоп, потому что мой старый был куплен в 2012 году и уже еле‑еле справлялся с теми нагрузками и задачами, что я на него возлагал.

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

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

Критерии были такие:

Читать далее

8 атак на СУБД. Что делать?

Время на прочтение9 мин
Охват и читатели6.1K

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

Сегодня с вами Дмитрий Ларин, руководитель продуктового направления по защите баз данных и Александр Хребтов, аналитик группы компаний «Гарда», и мы поговорим о способах защиты баз данных. После 2022 года многие российские компании оказались в ситуации, когда привычные инструменты управления базами данных стали недоступны. Миграция на отечественные СУБД обострила вопрос: как защитить критические данные в условиях, когда стандартные средства больше не работают?

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

Как обезопасить CУБД

Как не сойти с ума на умной работе: инструкция по психологическому здоровью для ИТ-шников

Время на прочтение3 мин
Охват и читатели25K

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

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

Читать далее

Что такое DevOps и почему он автоматизировал не всё

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели25K

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

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

Читать далее

Устаревшие версии Python обходятся компаниям в миллионы долларов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.8K

Команда Python for Devs подготовила перевод статьи о скрытых издержках использования старых версий Python. TL;DR: 83% разработчиков застряли на Python 3.10–3.11, и это обходится компаниям в миллионы долларов ежегодно из-за лишних "облачных" затрат. А ведь казалось бы, обновиться — проще простого.

Читать далее

1С: Шина. Используем сервисную шину предприятия

Время на прочтение7 мин
Охват и читатели7.3K

Современные системы состоят из множества различных сервисов и одной из основных задач является обеспечение обмена данными между компонентами системы. Для обеспечения этой функциональности используются шины данных (Enterprise Service Bus, ESB), интегрирующие различные приложения и системы в единую информационную среду. Она выступает в роли «посредника», минимизируя прямые связи между отдельными системами и обеспечивая гибкость взаимодействия. Таким образом, основная цель внедрения ESB — оптимизировать и унифицировать взаимодействие внутри информационного ландшафта предприятия.

Подробнее о 1С:Шине

Используйте простейшие рабочие решения

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели12K

Занимаясь проектированием систем ПО, идите самым простым путём из возможных.

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

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

Читать далее

Культура ИТ экспериментов. Очередные первые 100 дней в новой компании

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.9K

Каждая компания двигается по шкале от незрелой к зрелой и обратно. Это всегда динамика. Сегодня вы образец, завтра вы устаревшая помойка. Если 10 лет назад для наведения порядка внедрялся какой-нибудь "каскадо-водопадный PMI", 5 лет назад гибко-адаптивный Agile-OKR, то сейчас есть динамика к культуре проведения экспериментов*.

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

*Статья состоит из двух блоков - критика и предложение. Контекст: продуктовая ИТ компания среднего уровня, не стартап и не из ТОП 50.

Читать далее

Трюк, который раньше ускорял Python, теперь лишь захламляет код

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели15K

Команда Python for Devs подготовила перевод статьи о том, почему любимая оптимизация Python — присваивать глобальные функции локальным переменным — больше не даёт выигрыша. CPython 3.11 стал умнее, и старый хак l = len уже почти бессмыслен.

Читать далее

Запускаем WebAssembly модули с Python хоста

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.2K

WebAssembly - молодая, но довольно перспективная технология. WASM позволяет упаковать программу в бинарный формат, который можно запускать на любой системе, в изолированной среде.

В статье посмотрим как WASM-модули взаимодействуют с Python хостом. (Спойлер - не все так просто как хотелось, поддержка WASM в Python экосистеме пока слабая)

Читать далее

Информация

В рейтинге
4 130-й
Зарегистрирован
Активность