Pull to refresh
1
0
Send message

Введение в Locust: open source инструмент для нагрузочного тестирования на языке Python

Reading time6 min
Views23K

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

Читать далее

Как убить самоорганизацию в команде: вредные советы для лидера

Reading time12 min
Views34K

Привет, Хабр! Меня зовут Светлана Болсуновская, я стратегический коуч-консультант в YADRO. Многие компании перешли на гибридный формат работы, где команды нуждаются в особом подходе для поддержания самоорганизации — процесса, при котором люди выполняют задачи без постоянного контроля руководителя. Я поделюсь своими наблюдениями, почему в современных условиях самоорганизация не происходит «магически» и что должен (и не должен) делать тимлид, чтобы помочь команде достичь этой цели.

Читать далее

Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем

Reading time40 min
Views32K

Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.

Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации и страницу самого чата.

Чтобы наш чат мог обслуживать множество пользователей одновременно, мы выполним деплой нашего FastApi приложения. Для этого воспользуемся сервисом Amvera Cloud. Нам нужно будет подготовить файлы приложения, написать код, создать файл с настройками (можно сгенерировать на сайте или скопировать мой код), а затем доставить файлы на сервис. Для доставки можно использовать встроенный терминал или GIT, используя стандартные команды PUSH/PULL.

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

Читать далее

Асинхронный SQLAlchemy 2: простой пошаговый гайд по настройке, моделям, связям и миграциям с использованием Alembic

Reading time30 min
Views62K

Наконец-то пришло время взяться за то, что я давно планировал — подробный гайд по асинхронной версии SQLAlchemy 2.0 в стиле ORM. В этой серии статей я подробно расскажу обо всех аспектах: от создания моделей и установления связей между ними до миграций с Alembic и взаимодействия с данными в базе. Мы будем шаг за шагом разбирать ключевые моменты работы с асинхронной базой данных, что позволит вам глубже понять SQLAlchemy и применить эти знания на практике.

Для начала, давайте разберёмся, что такое SQLAlchemy и почему каждый разработчик, работающий с реляционными базами данных (такими как SQLite, PostgreSQL, MySQL и т. д.), должен знать о ней. После этого — настройка. Мы будем работать с PostgreSQL, но не переживайте: код, который мы напишем, универсален для всех реляционных баз данных. Мы начнем с базовой настройки SQLAlchemy для асинхронного взаимодействия, а затем перейдём к созданию таблиц в современном декларативном стиле.

Читать далее

Кто твоя целевая аудитория? Подробный алгоритм работы с ЦА для маркетолога

Reading time16 min
Views6.9K

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

Читать далее

GoodbyeDPI перестал работать новый фикс 10.10.24

Level of difficultyEasy
Reading time2 min
Views557K

После последнего фикса https://habr.com/ru/articles/845114/, пользователи стали жаловаться снова на проблемы с DPI и что через HEX у многих перестало работать. В следствии чего выкатываю вам два новых способа которые работают (но не у всех, так что тестите).

Читать далее

ИПР — то, чем вы сможете похвастаться на собеседовании или в баре

Reading time6 min
Views54K

Мы на Хабр Карьере помогаем IT-специалистам зарабатывать больше, а компаниям — быть в курсе трендов на рынке найма. 

Не так давно мы стали внедрять Индивидуальные Планы Развития (ИПР-ы) в Хабре и это оказалось непросто. Нам стало любопытно: каким специалистам они подходят, как влияют на мотивацию, повышение и как их собирать, чтобы сотрудникам было по-настоящему интересно по ним идти. 

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

К исследованию подключили команду платформы корпоративного обучения Грейд от Яндекс Практикума — оказалось, что ребята умеют круто наполнять ИПР-ы и собирают индивидуальные образовательные треки под каждого специалиста. 

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

Читать исследование

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

Level of difficultyEasy
Reading time15 min
Views70K

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

Читать далее

Системный аналитик. Краткий гайд по профессии. Часть 3. Архитектура приложений и их масштабирование

Level of difficultyMedium
Reading time17 min
Views31K

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

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

Читать далее

Парсинг данных через api vk и google sheets api на python

Level of difficultyEasy
Reading time4 min
Views34K

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

Я не профессиональный программист и не претендую, поэтому решил сделать все довольно просто.

Читать далее

Бесплатный аналог Notion на своем сервере за 10 минут. Локальный запуск, настройка и деплой Wiki.JS

Level of difficultyEasy
Reading time14 min
Views25K

Привет, друзья!

Как вы, возможно, уже знаете, 9 сентября Notion покидает рынок РФ, и, по слухам, это может сопровождаться удалением всех аккаунтов из России. В связи с этим, нам всем стоит задуматься о том, какую альтернативу выбрать.

После тщательного анализа различных опций, я нашел, на мой взгляд, отличную и полностью бесплатный аналог Notion — Wiki.JS.

Сегодня мы разберемся, как установить и настроить эту платформу. Начнем с первичной настройки и запуска системы на локальном компьютере, а затем, всего за несколько минут, развернем наш проект на удаленном хостинге, превратив Wiki.JS в полноценную замену Notion.

Для освоения материала вам не понадобятся никакие навыки программирования. Следуйте моим инструкциям, и к концу статьи у вас будет свой собственный экземпляр Notion, работающий на удаленном хостинге.

Для деплоя я буду использовать сервис Amvera Cloud. Я выбрал его за простоту развертывания и предоставление бесплатного доменного имени с HTTPS-протоколом, которое будет выделено вам сразу после создания проекта.

Для деплоя нам понадобится создать Dockerfile (этот файл будет использоваться как для локального запуска, так и для развертывания). Технически, вам достаточно будет скопировать настройки с этой статьи и все у вас заработает. Затем, просто загрузите этот файл через консоль на сайте Amvera Cloud, и ваш проект соберется и запустится автоматически!

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

Читать далее

Как давать надёжные вероятностные прогнозы, не дробя свои истории на равные кусочки

Reading time9 min
Views4.7K

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

Читать далее

Данные из базы Notion по Api за 5 минут

Level of difficultyMedium
Reading time6 min
Views3K

Недавно дали мне задачку - сделать скрипт, который будет вытаскивать данные из базы данных Notion по API и загружать их в хранилище S3 в формате Parquet (автоматическая работа скрипта была на заказчике), при этом:

Читать далее

Парсим API HeadHunter с помощью R

Level of difficultyEasy
Reading time8 min
Views6.9K

В данной статье мы рассмотрим, как при помощи языка R обработать запросы API hh.ru. Мы подробно разберем, как получить OAuth токен для доступа к API hh.ru, а также как использовать библиотеки tidyverse, httr2, и furrr для эффективного сбора и анализа данных. Начнем с регистрации приложения на hh.ru и получения необходимых данных для авторизации. Затем перейдем к выполнению запросов к API, получению информации о вакансиях, их фильтрации и преобразованию в удобный формат для дальнейшего анализа в R.

Читать далее

Как Notion проектировал свой data lake, чтобы успевать за быстрым ростом

Level of difficultyMedium
Reading time16 min
Views9.3K

За последние три года размер данных Notion увеличился в 10 раз из‑за роста количества пользователей и объёмов контента, с которым они работают. Удвоение этого показателя происходило каждые 6–12 месяцев. Нам нужно было справиться со стремительным ростом размеров данных, соответствуя при этом постоянно растущим требованиям, которые выдвигали критически важные сценарии использования наших продуктов и аналитических систем. Особенно это справедливо в применении к новым функциям Notion AI. Для того чтобы решить эти задачи нам нужно было создать озеро данных Notion и обеспечить его масштабирование. Вот как мы это сделали.

Читать далее

Платформа как сервис в Авито: как это устроено

Reading time24 min
Views33K

Привет, Хабр! Меня зовут Александр Лукьянченко, я тимлид команды, которая занимается платформой в Авито. В этой статье я расскажу о проблемах, которые возникали у нас при построении платформы для инженеров и том, какие технические решения мы использовали, чтобы эти проблемы устранить. Текст охватывает ту часть наших наработок, которые потенциально можно переиспользовать другим компаниям.


Читать дальше →

Scrum — рак, убивающий индустрию

Reading time7 min
Views101K

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

Какой?

Моделирование микросервисов с помощью Event storming

Reading time8 min
Views88K

Event storming — метод, который смещает акцент у событий с технического на организационный и бизнес уровни и помогает создать устойчивую модульную систему. Он нередко используется в контексте моделирования микросервисов. Но как применить его на практике?

При создании системы на микросервисах можно легко получить распределенный монолит. Event Storming не уберегает от этого на 100 %, но позволяет существенно снизить риск этого события. О том, как именно этого добиться, рассказал в своем докладе на конференции TechLead Conf 2020 практикующий консультант по архитектуре, процессам разработки и продуктовым практикам Сергей Баранов.

Читать далее

50 вопросов для опроса лояльности и удовлетворенности сотрудников для вашего вдохновения

Reading time8 min
Views18K

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

Значимость опросов лояльности и удовлетворенности сотрудников

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

Читать далее

Фоновые асинхронные задачи в FastAPI и их мониторинг

Reading time19 min
Views32K

Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.

Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.

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

В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery.

В конце расскажу, как мониторить фоновые задачи.

Читать далее

Information

Rating
Does not participate
Registered
Activity