Павел Агалецкий, ведущий разработчик юнита Platform as a Service Авито, написал, как поднять кластер Kubernetes на локальном компьютере Mac с помощью подручных инструментов, а потом задеплоить в него простейшие приложения.
User
Как пройти собеседование на позицию системного аналитика в 2025 году
Привет, Хабр! Меня зовут Андрей Царев — я системный аналитик, технический интервьюер и ментор.
Системный анализ — одно из популярных направлений в ИТ.
Но далеко не все представляют, как правильно готовиться к интервью и проходить их. В этой статье я делюсь собственным опытом и полезными советами, чтобы вам было проще получить работу мечты!
Когда в первый рабочий день джуном смотришь на свои задачи…
Привет, Хабр!
Собственно, а все ли поняли мем?
Человек прошел обучение, отбор посредством собеседования, имеет багаж знаний. После освоения навыков, набравшись практики (в наши дни стать junior-разработчиокм без практики нереально) добравшись до цели в виде трудоустройства. Не успев толком продышаться сразу сталкивается с такой вещью как бизнес процессы. Пытается понять что от него хотят коллеги по работе и как тут вообще все устроено. Он чувствует растерянность. Но тут стоит оговориться что бизнес это конкурентная среда. Там всем приходится непросто. Смотрите: программист это ремесленник, инструмент которым он пользуется сложный и не понятный - это его собственный мозг. Своим мозгом он обслуживает бизнес процессы. Решает задачи за счет которых приложение работодателя остается в рабочем состоянии и развиваются с точки зрения прибыли. Поток этих задач такой, что нет времени плавно погружаться в процесс, надо срочно в бой. Если вы не знакомы с программированием, взгляните на примеры кода и вы примерно ощутите тоже самое что junior-разработчик в свой первый рабочий день.
Машинное зрение для ритейла. Как прочитать ценники в магазине
В статье пойдет речь именно о том, как с его помощью локализовать и идентифицировать несколько объектов на одном магазинном ценнике, а также распознать его содержимое. Похожая задача распознавания ценников IKEA уже решалась на Хабре с применением классических инструментов обработки изображений, доступных в библиотеке OpenCV.
Отдельно хотелось бы отметить, что решение может работать как на платформе SAP HANA в связке с Tensorflow Serving, так и на SAP Cloud Platform.
Задача распознавания цены товара актуальна и для покупателей, которые хотят «шарить» цены друг с другом и выбирать магазин для покупок, и для ритейлеров — они хотят узнавать про цены конкурентов в режиме реального времени.
Хватит лирики – гоу в технику!
Распознавание товаров на полках с помощью нейронных сетей на технологиях Keras и Tensorflow Object Detection API
«Она такая крошечная?» Как пройти скрининг и не продешевить
Скрининг — первый этап в цепочке собеседований, обычно это звонок с HR. Он позволяет отсеить откровенно лишних людей, которые не проходят базовые критерии отбора.
Именно на этом этапе можно наломать кучу дров: рассказать лишнего, назвать слишком маленькие зарплатные ожидания, произвести неловкое впечатление.
Пара нелепых оговорок — и тебе прилетает отказ, либо придётся собирать крошки с барского стола, работая на так-себе условиях.
Статья написана так, что тебе придётся приложить минимум когнитивных усилий, следуя пошаговому гайду
Как выдавать бесплатные SSL сертификаты с помощью certbot, Nginx и Docker
Всем привет! Одна из моих рутинных задач - это подъем новых проектов и микросервисов в облаках. Для этого практически всегда нужны домены и поддомены с наличием SSL сертификата. У меня выработался подход, с помощью которого я автоматизировал процесс выдачи сертификатов с помощью certbot. О чём и хочу рассказать.
Тимлид, которого не любят
Есть у нас такая традиция – начальство не любить. А как быть, если начальство – ты сам? Хочется ж быть хорошим, всегда и для всех. Но получается так, увы, редко.
Как понять, что про вас думают сотрудники, как повлиять на эти мысли, что нужно делать, чтобы помимо оценок “не бесит” иногда проскакивали и “отличный руководитель!” давайте разберемся в статье. Прошу под кат.
Карманный справочник: сравнение синтаксиса MS SQL Server и PostgreSQL
Приветствую, уважаемые хаброжители!
Так как занимаюсь переводом кода с MS SQL в Postgre SQL с начала 2019 года, то решил продолжить сравнение этих двух СУБД.
В прошлой публикации мы рассматривали отличия в быстродействии MS SQL и PostgreSQL для 1C.
Сегодня давайте сравним основные конструкции синтаксиса MS SQL и PostgreSQL для правильного чтения кода, а также для того, чтобы быстро изменить код из MS SQL для PostgreSQL или наоборот.
Начнем рассмотрение с сопоставления типов.
Поднимаем BI Apache Superset в 2023 году — гайд с последними обновлениями
Поднимаем BI Apache Superset в 2023 году - полный гайд с последними обновлениями и полезными настройками самого BI после установки.
PostgreSQL Antipatterns: ходим по JSON-граблям
Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:
• множество чтений из CTE (хоть и единственной записи, но все же);
• извлечение по каждому ключу текста с раскастовкой в jsonb;
• извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;
• "ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.
А как - правильно?
Как создать API в облаке менее чем в 200 строках кода
Репозиторий к этому проекту находится здесь, пользуйтесь им, если захотите опробовать весь код сами.
Пример API, возвращающего данные. О том, как его создать, рассказано в этом посте.
[Python Intermediate] Урок 2. Docker и docker-compose
К сожалению, в python-мире до сих пор повсеместно применяется неизолированный запуск приложения и его инфраструктуры на личных устройствах. Боюсь, даже опытные специалисты неохотно используют контейнеризацию, хотя в действительности её плюсы неоспоримы.
Во-первых, она позволяет при локальном запуске повторить среду продакшена, что может уберечь от многих неочевидных ошибок. А во-вторых, при переезде с компа на комп или при появлении нового разработчика не придётся в сотый раз корячиться с настройкой приложения и инфраструктуры. Конфигурация производится лишь однажды и в дальнейшем просто поддерживается в актуальном состоянии.
Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам
Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.
Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.
В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.
Разбираемся с RabbitMQ: High Availability и High Load
Продолжаем делиться конспектами Алексея Барабанова, IT-директора «Хлебницы». На этот раз обсудим специфику работы RabbitMQ с высокими нагрузками (High Load) и обеспечением высокой доступности (High Availability). Рассмотрим различные методы увеличения производительности и горизонтального масштабирования, разберём и настроим внутренние инструменты. Также по мере погружения постараемся изучить основные подводные камни всех подходов.
Построение распределенной системы очередей сообщений с RabbitMQ и Python
Распределенные системы — это важная составляющая современных вычислений. Они позволяют нам создавать приложения и сервисы, способные обрабатывать огромные объемы данных, обеспечивать высокую доступность и масштабируемость. Однако, при работе с распределенными системами, существует ряд сложностей и вызовов, которые разработчики должны учитывать.
RabbitMQ — это мощный и гибкий брокер сообщений, который широко используется для создания распределенных систем, поддерживающих обмен данных между различными компонентами приложения. Он был разработан с учетом принципов протокола Advanced Message Queuing Protocol (AMQP), что делает его стандартом в индустрии для обработки сообщений.
Яндекс-функции рассылают почту
Сегодня мы создадим т.н. Яндекс-функцию (официальное название Yandex Cloud Functions), которая вступив в сговор с сервисом почтовых рассылок SendGrid будет слать «мыло» мирно спящим пользователям (шутка — я знаю, что все мы против спама).
А ещё я противник (но без фанатизма) традиционных серверов, и сторонник т.н. serverless (бессерверных) решений, поскольку не люблю (да и толком не умею) администрировать сервера, а ещё больше — платить за то время, когда они не нагружены. Другое дело — функции. Их кто-то обслуживает без меня, а я плачу только за вызовы. В начале октября 2019 г. Яндекс представил свои Yandex Cloud Functions — кажется первый в РФ serverless. И что особо приятно — для навыков Алисы они вообще бесплатны, поэтому с тех пор находятся в поле моего периферийного зрения. Но давайте уже приступим.
Опыт 1440 миграций баз данных
Представьте себе Oracle DBA. Ему уже за тридцать, он слегка полноват, носит жилетку, на шее у него висит секретный токен доступа ко всем базам, а в резюме полстраницы пройденных им сертификаций. Суббота. День большого релиза. Кульминация. Время накатывать изменения на базу данных. Он набирает sqlplus, нажимает ENTER и по черному экрану куда-то вверх, в пустоту, устремляются километры SQL команд. Совсем как в звездных войнах. Спустя пять минут все готово. Через час релиз завершен. Работа сделана, день удался. Теперь можно и по паре пива.
Знакомство с FastAPI
В нашей команде бытует хорошая практика фиксировать все изменения, которые отправляются в продакшен в гитхабовских релизах. Однако, не вся наша команда имеет доступ в гитхаб, а о релизах хочется знать всем. Так сложилась традиция релиз из гитхаба дублировать в рабочем чате команды в телеграме. Что хорошо, гитхаб позволяет с помощь маркдауна красиво оформить релиз с разделением на секции и ссылками на задачи, которые отправляются на выкатку. Что плохо, простым copy/paste всю эту красоту в телеграм не перенесёшь и приходится тратить время на довольно нудную работу по повторному оформлению релиза, но уже в телеграме. Ну а посколько программисты народ ленивый, я решил этот процесс автоматизировать.
Исходные данные:
- Гитхаб умеет сообщать обо всём, что происходит в репозитории с помощью вебхуков
- Вся необходимая для формирования релиза информация содержится в теле запроса, который кидает вебхук
- Авторизация идёт через подпись запроса секретом, который проставляется в настройках вебхука
Соответственно, задача заключается в том, чтобы поднять HTTP API, который сможет принять POST запрос, проверить подпись, извлечь нужную информацию из тела запроса и передать её дальше по инстанции. Как тут не попробовать FastAPI, на который я давно глаз положил?
Кто такой FastAPI?
FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью,
что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.
Комбайн получился легким, неперегруженным и более, чем достаточным по функционалу.
Поднимаем кластер PostgreSQL в Docker и Testcontainers
Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.
Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.
Information
- Rating
- Does not participate
- Registered
- Activity