Search
Write a publication
Pull to refresh
32
0
Зеленый Андрей Сергеевич @Green21

User

Send message

Как понять, что твой мидл готов стать сеньором? Гайд для тимлида (и не только)

Level of difficultyEasy
Reading time8 min
Views26K
Новый грейд — это не просто лычка IT-спеца. По сути, это кульминация работы над задачами и решений различных кейсов, которыми он занимался на своей позиции. Но на этот новый уровень айтишник переходит не один.



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

В «Лаборатории Касперского» существует устоявшийся и прозрачный пайплайн повышения мидлов — промоушен-комитет. В этой статье я подробно расскажу об этом процессе с точки зрения руководителя: от подготовки и сбора кейсов до получения кандидатом заветного грейда.

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

Маппинг даты и времени в Hibernate и JPA

Level of difficultyEasy
Reading time10 min
Views5.7K

Сегодня любой Java разработчик сходу сможет правильно ответить на вопрос "Как смапить дату и время из колонки таблицы БД на поле в Java классе?". Или нет? 

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

В новом переводе от команды Spring АйО рассказывается про подробности работы с современным API java.time, правильный маппинг данных с учётом часовых поясов, устаревших типов java.util.Date, Calendar и многое другое.

Читать далее

Как сделать BPMN-диаграмму чуточку лучше

Level of difficultyMedium
Reading time6 min
Views9.1K

Всем привет!

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

Читать далее

Разработка CAPTCHA своими руками

Reading time9 min
Views122K
Сегодня, благодаря господам спам-ботам и иже с ними, в сети практически невозможно что-либо сделать без ввода символов со сгенерированного изображения — CAPTCHA (далее — капча). Фактически, это предотвращает выполнение какого-либо скрипта без участия человека, и в этом топике я расскажу, как такую капчу создать средствами PHP, а так же упомяну очень полезный топик другого хабраюзера, который пригодится при разработке изображения-капчи.
Читать дальше →

Немного об отладке. Часть 2

Level of difficultyMedium
Reading time116 min
Views4K

Приветствую еще раз.

Это 2 часть небольшой статьи об отладчиках. В прошлой мы разобрали базу: инструкции + системные вызовы, написали свой отладчик, препарировали gdb и смотрели на отладку в высокоуровневых ЯП со своим рантаймом.

В этой мы посмотрим на процесс отладки в IDE изнутри, а потом пойдем еще глубже...

Путешествие на остальные 20 минут

10 лучших приёмов логирования для разработчиков

Level of difficultyEasy
Reading time6 min
Views17K

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

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

Читать далее

FastAPI + Redis + Celery: Создание системы временного хранения файлов с автоудалением и удобным веб-интерфейсом

Reading time46 min
Views21K

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

Мы пошагово разберем процесс разработки, начиная с настройки FastAPI для обработки HTTP-запросов, интеграции Redis для эффективного хранения метаданных файлов, и заканчивая использованием Celery для асинхронного выполнения задач по удалению устаревших файлов.

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

Читать далее

Обзор популярных VPS серверов

Reading time6 min
Views132K

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

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

В данной работе мы разберемся, по каким критериям нужно выбирать виртуальный сервис, и рассмотрим 5 популярных провайдеров VPS.

Читать далее

Бесплатные хостинги для веб-разработчиков

Reading time4 min
Views219K

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

Одним из наиболее популярных направлений разработки сегодня является веб. И когда нужно разместить свой проект где-нибудь, кроме localhost, многие сталкиваются с трудностями, ведь хостинг должен быть быстрым, удобным и, желательно, бесплатным :)

В этом списке вы найдете 15 бесплатных сервисов, где легко сможете разместить свой проект и не заплатите ни копейки. Погнали!

Читать далее

Асинхронный SQLAlchemy 2: пошаговый гайд по управлению сессиями, добавлению и извлечению данных с Pydantic

Reading time34 min
Views37K

Продолжаем цикл статей по асинхронной SQLAlchemy в стиле ORM!

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

Что нас ждёт сегодня?

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

- Добавление данных в таблицы: Освоим безопасные методы добавления новых записей с использованием ORM-методов.

- Извлечение данных из таблиц: Погрузимся в мир извлечения данных. Рассмотрим простые запросы и более сложные фильтры для работы с данными.

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

Не пропустите, будет интересно и полезно!

Читать далее

Создание блога на FastAPI с нуля: JWT, Markdown и современный веб-дизайн

Reading time38 min
Views19K

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

Мы рассмотрим асинхронную работу с SQLAlchemy 2, включая сложные запросы и связи ManyToMany, а также интеграцию фронтенда с использованием Jinja2.

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

Читать далее

От кода к смыслу: улучшенная панель Structure в IntelliJ IDEA 2024.3

Level of difficultyEasy
Reading time5 min
Views6.7K

Совсем недавно вышла IntelliJ IDEA 2024.3 – последний мажорный релиз IDE в этом году. И одним из самых важных нововведений этой версии стала улучшенная панель Structure. 

Команда Spring АйО перевела статью Siva Katamreddy (Developer Advocate в JetBrains), в которой Siva рассказывает, как улучшенная панель помогает решать задачи, и делится историей создания этой функциональности.

Читать далее

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

Level of difficultyEasy
Reading time15 min
Views64K

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

Читать далее

Оптимизация PostgreSQL: параметры для ускорения запросов

Level of difficultyMedium
Reading time5 min
Views13K

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

Читать далее

VSCode — идеальный инструмент для хакера

Level of difficultyMedium
Reading time15 min
Views18K

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

В прошлой статье мы уже разобрали устройство редактора кода VSCode и его особенности. Сегодня хочу рассказать про еще одну уязвимость в расширении, связанном с GitHub, рассмотреть функцию «туннелирование» в VSCode и варианты использования ее атакующими. После посмотрим, что можно сделать для детектирования подобных действий с помощью R-Vision SIEM.

Начнем с функционала туннелирования, который в «стабильном» варианте появился в версии 1.74. Функция позволяет удаленно управлять хостом, используя серверы Microsoft. Для запуска туннеля даже не обязательно устанавливать VSCode, достаточно только серверного компонента приложения VS Code Server. Конечно, это заинтересовало атакующих, и они стали использовать этот метод в своих целях.

exploit it >

OrbStack: Почему я забыл про Docker Desktop

Level of difficultyEasy
Reading time4 min
Views42K

Работая на MacBook с Docker Desktop, я часто сталкивался с тем, что система становилась менее отзывчивой, особенно при запуске нескольких контейнеров одновременно. Высокая нагрузка на CPU и память заметно влияла на время автономной работы.

Но недавно я наткнулся на OrbStack, и это изменило мой рабочий процесс настолько, что я решил поделиться своим опытом. Спойлер: теперь мой MacBook не превращается в печку, батарея держится дольше, а Docker-контейнеры летают.

Читать далее

Celery для новичков

Level of difficultyEasy
Reading time4 min
Views56K

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

Celery – это асинхронная распределенная очередь задач, написанная на Python, она предназначена для обработки сообщений в реальном времени при помощи многозадачности. Используя Celery, можно организовать выполнение задач в фоновом режиме, не загружая основной поток приложения.

Используя Celery можно легко организовать выполнение фоновых задач.

Читать далее

Изучаем Python за 6 месяцев. Подробный план обучения

Level of difficultyEasy
Reading time5 min
Views308K

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

Когда я начал изучать питон, у меня возникло несколько вопросов.

Читать далее

Проверка содержимого PDF-файлов средствами Python и pdfminer. Часть 1

Level of difficultyMedium
Reading time12 min
Views6.8K

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

Читать далее

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Works in
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Technical Support Engineer
Senior
Web
Restful WebServices
RESTful API
FullStack
NestJS
Vue.js
TypeScript
TypeORM
C#
Python