Search
Write a publication
Pull to refresh
4
0

User

Send message

Фантастически быстрый деплой веб-приложения

Level of difficultyEasy
Reading time18 min
Views11K
image

Привет, Хабр! Сегодня поговорим об одном интересном микро-фреймворке для Python — Flask. Мы создадим свое собственное веб-приложение и изучим расширения flask, а после задеплоим его на сервер, чтобы иметь доступ из внешнего мира.

Flask всегда мне нравился, ибо он был минималистичный, быстрый, лёгкий для изучения, и в то же время легко расширялся до полноценного проекта.

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

А самое главное — безболезненный, быстрый и легкий деплой будущего приложения.
Читать дальше →

Apache NiFi как доступный ETL инструмент: кейс применения + тестовый стенд Docker

Level of difficultyEasy
Reading time8 min
Views7.4K

В статье расскажу о практических аспектах использования Apache NiFi, опишу преимущества и проблемы, с которыми я столкнулся.

Для наглядности собрал "песочницу" в контейнере Docker, в которой представлены упрощенные примеры пайплайнов, аналогичные тем, которые были использованы в реальном проекте.

Читать далее

Python streaming (spark+kafka)

Level of difficultyEasy
Reading time4 min
Views5.9K

В этой статье, посвященной Python streaming с использованием Spark и Kafka мы рассмотрим основные шаги по настройке окружения и запуску первых простых программ

Читать далее

Микросервис на Python+ FastAPI

Level of difficultyEasy
Reading time19 min
Views32K

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

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

В микросервисной архитектуре приложение разбивается на несколько отдельных служб, которые выполняются в отдельных процессах. Существует другая база данных для разных функций приложения, и службы взаимодействуют друг с другом с использованием HTTP, AMQP или двоичного протокола, такого как TCP, в зависимости от характера каждой службы. Межсервисное взаимодействие также может осуществляться с использованием очередей сообщений, таких как RabbitMQ , Kafka или Redis .

Читать далее

Секреты сборки и пересылка SSH в Docker 18.09

Reading time5 min
Views20K
image

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


Команда сборки Docker 18.09 включает множество обновлений. Основная особенность — в том, что появился абсолютно новый вариант реализации серверной части, он предлагается в рамках проекта Moby BuildKit. Серверное приложение BuildKit обзавелось новыми функциями, среди которых — поддержка секретов сборки Dockerfile.

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

PostgreSQL + pgAdmin + mTLS + certificate-based authentication + docker-compose в одном флаконе

Reading time4 min
Views6.7K

Чего у меня не отнять, дак это мастерства заголовка...

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

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

TL;DR исходники к вашим услугам.

В рамках любых взаимодействий мы сталкиваемся с такими сущностями как авторизация и аутентификация. Повторять в 100500 раз что есть что я не буду (но мне не лень такую длинную ремарку напечатать, ага). В рамках PostgreSQL первое обеспечивается через Roles, а второе через Privileges.

Читать далее

Очередное пособие по рынку труда, или где же вы 300к находите. Март 2024

Level of difficultyHard
Reading time16 min
Views73K

Ответ на статью Снижение зарплат в ИТ

— Сколько я показываю пальцев, Уинстон?
— Четыре.
— А если партия говорит, что их не четыре, а пять, — тогда сколько?..

Читать далее

Работа с Kubernetes: поднимаем локальный кластер и деплоим в него приложения

Reading time5 min
Views17K

Павел Агалецкий, ведущий разработчик юнита Platform as a Service Авито, написал, как поднять кластер Kubernetes на локальном компьютере Mac с помощью подручных инструментов, а потом задеплоить в него простейшие приложения.

Читать далее

Как пройти собеседование на позицию системного аналитика в 2025 году

Level of difficultyEasy
Reading time13 min
Views41K

Привет, Хабр! Меня зовут Андрей Царев — я системный аналитик, технический интервьюер и ментор.

Системный анализ — одно из популярных направлений в ИТ.

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

Читать далее

Когда в первый рабочий день джуном смотришь на свои задачи…

Level of difficultyEasy
Reading time6 min
Views57K

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

Собственно, а все ли поняли мем?

Человек прошел обучение, отбор посредством собеседования, имеет багаж знаний. После освоения навыков, набравшись практики (в наши дни стать junior-разработчиокм без практики нереально) добравшись до цели в виде трудоустройства. Не успев толком продышаться сразу сталкивается с такой вещью как бизнес процессы. Пытается понять что от него хотят коллеги по работе и как тут вообще все устроено. Он чувствует растерянность. Но тут стоит оговориться что бизнес это конкурентная среда. Там всем приходится непросто. Смотрите: программист это ремесленник, инструмент которым он пользуется сложный и не понятный - это его собственный мозг. Своим мозгом он обслуживает бизнес процессы. Решает задачи за счет которых приложение работодателя остается в рабочем состоянии и развиваются с точки зрения прибыли. Поток этих задач такой, что нет времени плавно погружаться в процесс, надо срочно в бой. Если вы не знакомы с программированием, взгляните на примеры кода и вы примерно ощутите тоже самое что junior-разработчик в свой первый рабочий день.

Читать далее

Машинное зрение для ритейла. Как прочитать ценники в магазине

Reading time7 min
Views18K
Машинное зрение – очень актуальная тема в наши дни. Для решения задачи по распознаванию магазинных ценников с использованием нейронных сетей мы выбрали фреймворк TensorFlow.

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

Отдельно хотелось бы отметить, что решение может работать как на платформе SAP HANA в связке с Tensorflow Serving, так и на SAP Cloud Platform.

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

Хватит лирики – гоу в технику!
Читать дальше →

Распознавание товаров на полках с помощью нейронных сетей на технологиях Keras и Tensorflow Object Detection API

Reading time18 min
Views35K
В статье мы расскажем о применении свёрточных нейронных сетей для решения практической бизнес-задачи восстановления реалограммы по фотографии полок с товарами. С помощью Tensorflow Object Detection API мы натренируем модель поиска/локализации. Улучшим качество поиска мелких товаров на фотографиях с большим разрешением с помощью плавающего окна и алгоритма подавления немаксимумов. На Keras реализуем классификатор товаров по брендам. Параллельно будем сравнивать подходы и результаты с решениями 4 летней давности. Все данные, использованные в статье, доступны для скачивания, а полностью рабочий код есть на GitHub и оформлен в виде tutorial.
 

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

«Она такая крошечная?» Как пройти скрининг и не продешевить

Level of difficultyEasy
Reading time10 min
Views23K

Скрининг — первый этап в цепочке собеседований, обычно это звонок с HR. Он позволяет отсеить откровенно лишних людей, которые не проходят базовые критерии отбора.

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

Пара нелепых оговорок — и тебе прилетает отказ, либо придётся собирать крошки с барского стола, работая на так-себе условиях.

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

Нагнуть рынок

Как выдавать бесплатные SSL сертификаты с помощью certbot, Nginx и Docker

Level of difficultyMedium
Reading time5 min
Views55K

Всем привет! Одна из моих рутинных задач - это подъем новых проектов и микросервисов в облаках. Для этого практически всегда нужны домены и поддомены с наличием SSL сертификата. У меня выработался подход, с помощью которого я автоматизировал процесс выдачи сертификатов с помощью certbot. О чём и хочу рассказать.

Читать далее

Тимлид, которого не любят

Level of difficultyEasy
Reading time5 min
Views23K

Есть у нас такая традиция – начальство не любить. А как быть, если начальство – ты сам? Хочется ж быть хорошим, всегда и для всех. Но получается так, увы, редко.

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

Читать далее

Карманный справочник: сравнение синтаксиса MS SQL Server и PostgreSQL

Reading time17 min
Views104K

Приветствую, уважаемые хаброжители!

Так как занимаюсь переводом кода с MS SQL в Postgre SQL с начала 2019 года, то решил продолжить сравнение этих двух СУБД.

В прошлой публикации мы рассматривали отличия в быстродействии MS SQL и PostgreSQL для 1C.

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

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

Читать далее

Поднимаем BI Apache Superset в 2023 году — гайд с последними обновлениями

Level of difficultyEasy
Reading time4 min
Views17K

Поднимаем BI Apache Superset в 2023 году - полный гайд с последними обновлениями и полезными настройками самого BI после установки.

Читать далее

PostgreSQL Antipatterns: ходим по JSON-граблям

Level of difficultyEasy
Reading time3 min
Views17K

Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:

множество чтений из CTE (хоть и единственной записи, но все же);

извлечение по каждому ключу текста с раскастовкой в jsonb;

извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;

"ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.

А как - правильно?

Читать далее

Как создать API в облаке менее чем в 200 строках кода

Level of difficultyHard
Reading time13 min
Views12K
Современные облачные инструменты и пакеты Python стали настолько мощными, что с их помощью можно создать (масштабируемый) облачный API менее чем в 200 строках кода. В этом посте будет рассмотрено, как при помощи lines Google Cloud, Terraform и FastAPI развернуть в облаке полноценный API, через который можно отвечать на запросы.

Репозиторий к этому проекту находится здесь, пользуйтесь им, если захотите опробовать весь код сами.

image

Пример API, возвращающего данные. О том, как его создать, рассказано в этом посте.
Читать дальше →

[Python Intermediate] Урок 2. Docker и docker-compose

Reading time11 min
Views37K

К сожалению, в python-мире до сих пор повсеместно применяется неизолированный запуск приложения и его инфраструктуры на личных устройствах. Боюсь, даже опытные специалисты неохотно используют контейнеризацию, хотя в действительности её плюсы неоспоримы.

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

Читать далее

Information

Rating
Does not participate
Registered
Activity