Pull to refresh
33
Зеленый Андрей Сергеевич@Green21

User

13
Subscribers
Send message

Советы новичкам в карьере программиста

Level of difficultyEasy
Reading time7 min
Reach and readers32K

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

Читать

Пятьдесят лет на стезе программирования. Часть IV. 4 ЦНИИ МО. Звёздные войны. 1983-1987 г.г

Reading time55 min
Reach and readers27K
В канун Нового 1983 года я прибыл в орденов Трудового Красного Знамени и Октябрьской Революции 4-й Центральный научно-исследовательский институт Министерства обороны СССР (4 ЦНИИ МО), где был назначен на должность младшего научного сотрудника 3 отдела вычислительного центра (ВЦ), отдела занимающегося в момент моего прихода разработкой систем программирования (трансляторов, систем отладки и т.п.):
Читать дальше →

Процедурная генерация бумажных снежинок

Reading time16 min
Reach and readers25K

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

Читать далее

Как я собеседовался в Ozon, Т-Банк, Mindbox и другие крупные компании

Level of difficultyEasy
Reading time25 min
Reach and readers362K

Всем привет. Я сеньор и тимлид на .NET (C#). До недавнего времени работал в Росатоме, пока там внезапно не сократили целую дирекцию по цифровизации. Так что пришлось срочно выходить на рынок, причём, впервые в моей жизни (до этого работа находила меня сама). По результатам нескольких циклов собеседований получился неплохой дневник, который я здесь привожу.

История длинная, но интересная

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python

Level of difficultyHard
Reading time8 min
Reach and readers75K

Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных вероятностных плотностей вместо одной многомерной.

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

Читать далее

Преобразование JSON в объекты C++ на этапе компиляции: демонстрация возможностей принятой в C++26 рефлексии

Level of difficultyMedium
Reading time8 min
Reach and readers15K

На прошлой неделе в Софии, столице Болгарии, закончилась работа над стандартом C++26, который помимо контрактов, std::execution и всего прочего теперь включает и рефлексию.

В этой статье будет продемонстрирован один из примеров её использования: преобразование строк в формате JSON в объекты C++ на этапе компиляции.

Читать далее

Представляю @vue-dnd-kit/components: Готовые компоненты для быстрой разработки интерфейсов с перетаскиванием

Level of difficultyEasy
Reading time8 min
Reach and readers13K

Представляю vue-dnd-kit/components — готовые компоненты для быстрой разработки drag & drop интерфейсов в Vue 3!

📋 Сортируемые таблицы
📊 Канбан-доски
🌳 Древовидные структуры
🧩 Интерактивные дашборды

CLI работает как shadcn/ui — компоненты клонируются в ваш проект, давая полный контроль над кодом. Проект в активной разработке, но уже готов к использованию!

Готовые компоненты: Table, Kanban, Tree, Dashboard.

Статус: бета, API может изменяться. Подходит для прототипов и активной разработки.

Читать далее

Как мы ускорили разработку python-микросервисов с помощью шаблонизатора

Level of difficultyMedium
Reading time15 min
Reach and readers13K

Привет! Меня зовут Влад и занимаюсь Python backend-разработкой. Довольно долго я работал над большим продуктом, который объединял несколько команд разработки. В нем было много микросервисов, базовые фичи кочевали из одного в другой, и часто разработчики делали одни и те же инфраструктурные компоненты по-разному. А когда переходили с одного микросервиса на другой, им приходилось долго осмыслять кодовую базу нового решения.

Код полнился ошибками, а разработчики тратили время на их отладку и исправление. Так мы вживую воплотили печальную статистику: разработчики ПО в среднем тратят на написание кода лишь [52 минуты в день](https://www.software.com/reports/code-time-report), остальное — исправление ошибок и другие сопутствующие задачи.

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

Читать далее

Самый полный Роадмеп бэкенд-разработчика на Python с нуля 2025

Level of difficultyEasy
Reading time40 min
Reach and readers153K

Этот роадмэп мы начали собирать ещё в прошлом году вместе с нашей командой мидл-бэкендеров. Хотелось системно оформить весь стек технологий, с которым реально работает современный backend-разработчик на Python — от базовых тем вроде HTTP и SQL до CI/CD, микросервисной архитектуры, Kubernetes, облаков, безопасности и брокеров сообщений.

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

Читать далее

Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

Level of difficultyEasy
Reading time4 min
Reach and readers60K

Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

Читать далее

Учим нейронную сеть генерировать текст

Level of difficultyEasy
Reading time13 min
Reach and readers25K

Всем привет! 

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

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

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

Читать далее

10 техник оптимизации Java, которые выведут вас на новый уровень

Level of difficultyMedium
Reading time5 min
Reach and readers18K

Когда Java-приложение внезапно начинает «подвисать», причина почти всегда кроется в прозаичных деталях: неоптимизированных циклах, неудачном выборе коллекций, забытом кэше или агрессивном GC. В этой статье — 10 практических техник, которые помогут выжать максимум из JVM без преждевременной микрооптимизации и шаманства. Только доказавшие свою эффективность подходы, которые реально работают в проде — от финтеха до высоконагруженных API.

Читать далее

Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring

Level of difficultyMedium
Reading time25 min
Reach and readers14K

С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring?

Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина.

Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива!

О них и поговорим.

Читать далее

Kafka: как тестировать. Часть 2

Level of difficultyEasy
Reading time6 min
Reach and readers18K

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

Это вторая часть статьи о Kafka (первая тут). Давайте продолжим разбираться.

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

Читать далее

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

Level of difficultyEasy
Reading time3 min
Reach and readers143K

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

Читать далее

Количество Биткоинов не будет 21.000.000

Reading time6 min
Reach and readers59K

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

Докопаться до истины

Ты спросишь у меня, как работает Docker, а я укажу на твою некомпетентность

Level of difficultyEasy
Reading time7 min
Reach and readers64K

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

Читать далее

Подводный камень в docker env и java

Level of difficultyEasy
Reading time3 min
Reach and readers7.3K

Столкнулся с небольшим и интересным моментом: внедрение переменных окружения (а ля environment variables) в стандартный микросервис написанный на Java (классика жанра – Spring Boot).

Читать далее (Тема не сложная)

Жизненный цикл бина в Spring

Level of difficultyEasy
Reading time4 min
Reach and readers34K

Если нужно быстро освежить память о жизненном цикле бина в Spring, эта шпаргалка для вас. Здесь коротко и по делу: ключевые этапы — создание, внедрение зависимостей, инициализация, пост-процессинг и уничтожение. Разберем их на понятных примерах, без лишней воды.

Читать далее

Python для начинающих дата-аналитиков: как настроить виртуальное окружение?

Level of difficultyEasy
Reading time8 min
Reach and readers52K

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

Читать далее

Information

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

Specialization

Фулстек разработчик, Инженер технической поддержки
Старший
Web
RESTful WebServices.
RESTful API
Fullstack
NestJS
Vue.js
TypeScript
TypeORM
C#
Python