Как стать автором
Поиск
Написать публикацию
Обновить
0
0

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

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

Создание полного Fast-API сервиса с фронтендом и деплоем за полчаса

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров28K

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

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

Читать далее

Как я создал архиватор из задачки с техсобеса: сжатие файлов с помощью RLE

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров14K

Привет, меня зовут Рома. Я работаю в отделе спецпроектов KTS на позиции Python backend-разработчика. 

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

Читать далее

Установка LLM на скромном VPS

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

«Я тебя завалю, если ещё раз упомянешь AI», — писал автор нашумевшей статьи. В самом деле, хайп вокруг ИИ всем надоел. Но мы всё-таки рискнём поговорить о том, какую LLM поставить на своём сервере и зачем.

Сразу упомянем, что на серверах RUVDS установлены видеокарты NVIDIA Quadro P4000 (на фото). Карты довольно слабенькие, так что подойдут скорее для проектов в образовательных целях и т. д. Тем более что под VPS выделяется максимум 1 ГБ видеопамяти. Но даже в таких спартанских условиях можно запустить LLM.

Кстати, о VPS с видеокартой. Несколько лет назад мы уже писали о сферах их применения и даже проводили тесты. Всё это можно найти здесь.
Читать дальше →

Flyway + Spring Boot: настройка и написание миграций баз данных

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров8.3K

Написание скриптов миграции трудоёмкий процесс. И если есть возможность это дело автоматизировать – этим нужно пользоваться!

В этом гайде я расскажу как подключить и настроить Flyway в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы базы данных вместе с Amplicode!

Читать далее

Антипаттерны тестирования: как не стоит писать тесты в Python. Часть 1

Время на прочтение5 мин
Количество просмотров5.7K

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

В этой статье разберемся с тремя основными антипаттернами тестирования в Python.

Читать далее

Работает — не трожь: зачем обновлять Python в долгоживущих проектах

Время на прочтение15 мин
Количество просмотров20K

Всем привет! Меня зовут Сергей Яхницкий. Я пишу на Python уже больше шести лет, техлид в Яндекс Такси, Python-евангелист и член Python-комитета Яндекса (аналог Python Steering Council).

Человек я простой, звёзд с Гитхаба не хватал: до того, как я устроился в Такси, я мирно писал маленькие бэкенды на Python. А потом меня прорвало: кодогенерации, CI/CD, кучи тестов, монорепа и прочее. Вот тут-то моя питоничья душа и воспряла. Решил я всё автоматизировать, обновить всё, что движется, а что не движется — подвигать и обновить. Из этого вышел мой рассказ.

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

Читать далее

Глубокое погружение в хуки pytest: как и зачем их использовать

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

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

Читать далее

Hamster Kombat. Сколько ты реально заработаешь? Вся правда. Большой разбор проекта, токена HMSTR и команды

Время на прочтение21 мин
Количество просмотров322K

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

Для того, чтобы понять, сколько денег раздаст проект (и раздаст ли вообще), стоит ли вообще тратить на него свое время, необходимо проанализировать массу метрик, в том числе его фундаментальные показатели, фандрайзинг, токеномику, команду и многое другое. Этим прямо сейчас и займемся. Устраивайтесь поудобней.

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

Читать далее

Как вернуть энергию и интерес

Время на прочтение34 мин
Количество просмотров40K

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

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

Читать далее

Как настроить уведомления в Django с помощью сигналов: пошаговое руководство

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.9K

В Django сигналы используются для отправки и получения важной информации при сохранении, изменении или даже удалении модели данных и это относится к определенным прошлым или настоящим событиям в реальном времени. Сигналы помогают нам связывать события с действиями. Меня зовут Ясин, я младший разработчик Python в Kokoc Group, работаю чуть больше года. Изучаю и использую в работе фреймворки Django и FastAPI. Сегодня покажу пример, как можно эффективно использовать сигналы, но ожидаю, что вы имеете базовые представления о Python 3, виртуальной среде и настройке проекта Django  версии 3 или выше. Поехали!

Читать далее

Самодельный джазмастер со звукоснимателями P-90, превращённый когтями кота в лёгкий релик

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


Привет, Хабр! Мне давно хотелось пополнить коллекцию электрогитарой с датчиками P-90, а теперь эта мечта осуществилась. Причём инструмент собран из конструктора и оформлен своими руками, а это — двойное удовольствие, несмотря на «помощь» со стороны кота, последствия которой задокументированы и опубликованы ниже.

Хотите знать, в чём состоит прелесть датчиков P-90 и формы корпуса, повторяющей Fender Jazzmaster? Тогда я обо всём расскажу!
Спойлер: ни один кот не пострадал

Микросервисы в представлении среднего разработчика, и как всё на самом деле

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

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

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

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

погрузиться в микросервисы

Создание собственного API на Python (FastAPI): Знакомство и первые функции

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров79K

Друзья, приветствую! Данной статьей я планирую начать большой цикл публикаций, в которых я расскажу все, что знаю про FastAPI, начиная от самых простых аспектов и заканчивая более глубокими задачами, такими как JWT авторизация, работа в фоне, валидация данных, правильное подключение базы данных и прочее.

Читать далее

Архитектура универсального проекта Django

Время на прочтение4 мин
Количество просмотров32K

В ходе последних лет моей разработки проектов Django я понял, что почти все они имеют одно строение:
API, Apps, Config, Library, Utils, Workers...

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

Читать далее

Python service layer: основы оформления бизнес-логики на примере Django-приложений

Время на прочтение18 мин
Количество просмотров43K

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

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

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

На самом деле, изложенный далее текст относится не только к Django-проектам. Разрабатывая веб-приложения, используя другие инструменты, вроде Flask, люди используют те же концепции веб-разработки, причём часто именно в таком же виде, как они реализованы, в Django - views, request-response объекты, middlewares, модели, формы.

Читать далее

Авторизация и регистрация в интернет-магазине и закон: как реализовать и не получить штраф

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

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

Читать далее

FastStream — новый убийца Celery?

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

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

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

Однако, это не совсем верно. Существует огромный пласт проектов, которым нужен не фреймворк для менеджмента задач, а просто "голый" функционал Kafka/RabbitMQ/NATS/whatever для межсервисного взаимодействия. И все эти проекты вынуждены довольствоваться "сырыми" python-клиентами к своим брокерам, а всю обвязку вокруг этих клиентов писать самостоятельно. FastStream целится как раз в эту нишу.

В рамках статьи я хочу убедить вас, что не Celery мы едины, и для альтернативных инструментов найдется место под солнцем. А также рассмотрим фичи FastStream, которые он привносит в застоявшийся мир MQ-инструментов.

Читать далее

asynpg-lite: Простой асинхронный менеджер для PostgreSQL на Python

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

Друзья, в прошлых своих публикациях я рассказывал о том, что почти в каждом своем проекте использую свой класс для работы с базой данных PostgreSQL. На днях этот класс перерос в полноценную библиотеку asynpg-lite на базе asyncpg, которую каждый из вас может прямо сейчас установить и начать использовать.

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

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

Для тестирования примеров, которые я приведу, вам потребуется база данных PostgreSQL. Она может быть установлена как на вашем локальном компьютере, так и располагаться удаленно, например, на VPS-сервере.

Читать далее

Духаны в IT

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров29K

Оооо, моя любимая тема "душных" людей в IT. Чаще всего этим болеют Разработчики в возрасте и Девопсы. Основная причина наверное возраст, по моим наблюдениям люди в возрасте к любой проблеме относится дотошней и пытаются предусмотреть все пути эскалации, когда задача требует простого как таракан решения. Любой, кто работал в IT, наверняка с таким, в этой статье мы рассмотрим, кто такие душные люди, какие признаки указывают на их наличие, и самое главное — как с ними эффективно бороться.

Читать далее

Машинное обучение с Python и TensorFlow на Windows. Быстрый старт

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров15K

Словосочетание «машинное обучение» становится всё более значимым с каждым годом и проникает во все возможные сферы жизни, а с появлением в открытом доступе таких нейронных сетей как Chat GPT [1] интерес к машинному обучению стал высок как никогда. Но при этом многих отпугивает сложность создания своих систем на основе машинного обучения, потому что нужно одновременного использовать и настраивать много разных инструментов разработки.

Поэтому я хочу представить вашему вниманию максимально простую инструкцию для быстрого погружения в мир машинного обучения. Инструкция ориентирована в первую очередь на начинающих программистов, мы будем применять Python 3 [2] с библиотекой TensorFlow [3]. Это лучший выбор для начинающих из-за простоты языка и большого сообщества разработчиков, использующих TensorFlow.

Читать далее

Информация

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