Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 58 min ago

Пишем код, который живёт долго: SOLID, DRY, KISS, YAGNI

Tue, 11/18/2025 - 20:40

Мы продолжаем нашу серию статей, посвящённых фундаментальным концепциям разработки. Сегодня мы поговорим о проверенных практиках, которые помогают разработчикам избегать распространённых ошибок и работать эффективнее. Мы разберём принципы SOLID, а также парадигмы YAGNI, DRY и KISS, которые особенно актуальны в объектно-ориентированном программировании.

Читать далее

Токены доступа и API Gateway: как обеспечить безопасность запросов

Tue, 11/18/2025 - 20:10

Распределенные системы (aka микросервисы) набрали популярность и применяются все шире в современных реалиях. Сервисов становится больше, привычные задачи для них решаются сложнее, усложнились и вопросы аутентификации и контроля доступа.

В статье рассмотрим различные подходы использования API Gateway как части более общего API security-решения в контексте его работы с токенами доступа, выделяя преимущества, недостатки и связанные с ними вопросы безопасности. Также разберем, почему нужно ограничивать область действия access token и может ли API Gateway помочь и в данном вопросе.

Статья написана на основе материала, с которым выступал на PHDays 2025 и CodeFest 15.

Читать далее

Ликбез о плавающей точке: сложение, катастрофическое сокращение и бабушка Кэхена

Tue, 11/18/2025 - 20:08

Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat. Библиотека написана на C++ и намеренно избегает встроенных типов плавающей запятой, полагаясь исключительно на 32-битные целые числа. Цель состоит в том, чтобы сделать код максимально читабельным — без бит-хаков и хитроумных уловок.

Библиотека пишется в рамках борьбы с неграмотностью населения, поэтому, я хочу иметь подробную документацию о том, что происходит «под капотом». Оказалось, что лучший способ документировать код C++ — это полностью переписать его на Python :-)

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

Читать далее

Spring без боли: моя шпаргалка для собесов в Java. Часть 3

Tue, 11/18/2025 - 20:05

Всем привет!

Сейчас я работаю Senior Java Developer в одном из банков, и за последние годы мне довелось пройти множество собеседований, столкнуться с десятками непростых вопросов и вложить кучу времени в подготовку. И со временем я заметил одну закономерность: Spring — одна из самых объёмных и любимых тем на Java‑собеседованиях, причём спрашивают её у кандидатов любого уровня.

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

Читать далее

Я устроился джуном в open source проект. Вот что получилось

Tue, 11/18/2025 - 20:01

Всем привет!

Не так давно вышла статья о том, как @misterzsm нанял джуна в свой open source проект. Я и есть тот самый джун Рома (на самом деле я Рамазан).

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

Читать далее

Как покупать игры на PlayStation в России в 2025 году — проверенные способы

Tue, 11/18/2025 - 19:54

Владельцам PlayStation в России пришлось привыкнуть к новому порядку. Раньше покупки в PS Store были делом пары минут — выбрал игру, оплатил картой и скачал. После 2022 года все усложнилось: магазин перестал принимать российские карты, часть игр исчезла из локального каталога, а официальная поддержка региона фактически прекратилась.

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

Читать далее

[Перевод] Вы доверяете ИИ больше, чем своим разработчикам. И это ваша главная ошибка

Tue, 11/18/2025 - 19:41

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

Но…

Читать далее

Мигрируем с Oracle на Postgres-like СУБД: наш опыт перевода процессов розничного кредитования на рельсы СУБД Pangolin

Tue, 11/18/2025 - 19:34

Привет, Хабр! Меня зовут Валерий Пташкин, я руководитель направления в трайбе «Потребительское Кредитование» в Сбере. Статью я подготовил вместе с моими коллегами — Кириллом Макаровым и Евгением Беляевым.

Наш продукт отвечает за хранение клиентских заявок на потребительские кредиты, заявок кредитного потенциала, автокредитов, ипотечного кредитования и так далее. И в этом году мы перевели работу нашего модуля хранения с Oracle на СУБД Pangolin (сборка PostgreSQL с доработками от СберТеха).

При переезде у нас было несколько критичных требований к СУБД: способность держать достаточно высокую нагрузку (4 тысячи запросов в секунду), при этом иметь время отклика не более 100 мс для 99 % запросов, и обеспечивать максимально высокую доступность нашего сервиса как системы уровня mission critical.

В этой статье мы расскажем про состояние нашей инфраструктуры, этапы миграции, и коснёмся возможных нюансов и потенциальных рисков. Это будет полезно тем, кто тоже планирует переезд на СУБД Pangolin или другой форк PostgreSQL. Уверен, многие рекомендации будут полезны и пользователям стандартного PostgreSQL. Итак, начнём.

Читать далее

Трафик из нейросетей: как попасть в выдачу ИИ и превратить нейроответы в новый канал продвижения

Tue, 11/18/2025 - 19:01

С 2007 года я занимаюсь SEO и развиваю собственное рекламное агентство. Последние 9 месяцев плотно погрузился в исследование нейросетей как источника трафика, и мы с командой запустили отдельное направление GEO и AEO-продвижения. Такое решение продиктовано двумя причинами:

Читать далее

Гипотеза о роли скрытого описательного языка в механизмах мышления и о том, как у этого языка появляется смысл

Tue, 11/18/2025 - 18:55

 

Я знаю, это будет звучать громко и самонадеянно, но все-таки я это скажу: мне кажется, я нашел ключик к проблеме объяснения и конструирования мышления. Нет, это еще не решение всей проблемы, но многообещающая возможность к нему приблизиться. Полгода назад у меня возникла идея, что в основе феномена мышления (даже у «низкоразвитых» животных вроде крабов или мышей) может лежать оперирование особого класса описательной языкоподобной структурой. Я попытался развить этот подход и обнаружил, что он как будто бы позволяет сформулировать много важных философских проблем о мышлении в виде точных математических вопросов. С тех пор мне удалось продвинутся в решении некоторых из них и получить несколько интересных, на мой взгляд, результатов на стыке логики и психологии. Я собираюсь написать серию статей, чтобы поделиться своими находками и привлечь энтузиастов вместе исследовать возможности, которые они открывают. Перед вами первая статья из этой серии.

Познакомиться с исследованием

Отличи технологию от поп-артефакта: испытай свою IT-эрудицию в тесте Рунити

Tue, 11/18/2025 - 18:47

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

Calico, Kolla, Reconciler — это названия технологических сервисов или имена героев аниме? Проверьте свою интуицию и знания в нашем новом тесте, который мы разработали в Хабре вместе с Рунити!

Мы собрали различные популярные и двусмысленные термины, чтобы выяснить, насколько хорошо вы чувствуете границу между IT-технологиями и поп-культурой. Готовы к вызову? Вперед!

Читать далее

Три интересные логические задачи

Tue, 11/18/2025 - 18:35

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

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

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

Читать далее

[Перевод] Почему архитектурный долг опаснее технического?

Tue, 11/18/2025 - 18:32

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

Читать далее

Как мы разработали решение, чтобы ловить сбои в логировании

Tue, 11/18/2025 - 18:16

Привет! Меня зовут Маша Иванова, я старший аналитик монетизации в Авито. В статье расскажу, как несовершенство процесса логирования приводит к ошибкам в данных, как это влияет на достоверность аналитики и что мы разработали, чтобы предотвратить такие проблемы. Материал будет интересен аналитикам, QA-инженерам и разработчикам.

Читать далее

Обзор 10 лучших планировщиков задач в 2025 году: выбираем приложения для командной работы и личных дел

Tue, 11/18/2025 - 18:11

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

Читать обзор

Как я искал работу в IT и получил 5 офферов

Tue, 11/18/2025 - 18:09

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

Читать далее

Как хостинг пережил дотком-кризис, когда многие ИТ-компании обанкротились

Tue, 11/18/2025 - 18:01

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

Читать

Sipeed NanoKVM: что умеет крохотный кубик RISC-V для удаленного управления компьютером

Tue, 11/18/2025 - 18:00

Есть такой класс гаджетов, который не нужен рядовому потребителю. Большинство, вероятно, даже не знает об их существовании. Речь, разумеется, об IP-KVM, предоставляющих доступ к устройствам ввода-вывода. Собственно, аббревиатура KVM расшифровывается как Keyboard Video Mouse. Главная задача — дать удаленный доступ по сети без использования средств операционной системы.

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

Читать далее

Почему проджекты не виноваты в провале проекта? Как менеджмент сменил 3-х проджектов, но нужно было сделать только одно

Tue, 11/18/2025 - 17:48

Я часто вижу ситуацию, когда менеджмент во всем винит руководителей проектов. Уволили одного, поставили другого, «более опытного». А он тоже почему-то не справился. Опять накормил завтраками, обещая, что вот-вот и все будет. Тем временем, проект, на который постоянно назначают новых РП, уже в настолько глубокой Ж, что… все, включая заказчика, хотят его закрыть. Списать десятки миллионов в убытки и снова всех уволить. Нанять нормальных, ответственных людей!

Сегодня поделюсь своим кейсом, как много лет назад я видел похожую ситуацию при реализации проекта по запуску системы в крупном банке. Менеджмент сменил уже ТРЕХ руководителей проекта, но «завтраки» продолжались. Сроки и бюджет росли каждый день как на дрожжах.

Веры в то, что изменить ситуацию возможно, не было ни у кого. Менеджмент винил сотрудников, которые «наврали» о реалистичности сроков. Однако я понимал, что проблема тут не в них. 

В этой статье на примере этого кейса объясняю, почему проджекты не виноваты в провалах проектов. А также вкратце поделюсь, что именно я сделал, чтобы вытащить конкретно этот проект из Ж все-таки запустить банковскую систему за 4 месяца, вместо 2 лет.

Читать далее

Сколько производительности съедает Kubernetes: сравниваю native PostgreSQL и CloudNativePG в Yandex Cloud

Tue, 11/18/2025 - 17:42

В этой статье я руками сравнил производительность PostgreSQL на «голой» VM в Yandex Cloud и в кластере CloudNativePG в Kubernetes. Один и тот же конфиг, одинаковые ресурсы, fio и pgbench, несколько типов хранилищ — и просадка до ~40% при работе через cnpg.

Разбираемся, где теряются TPS: на диске, в сети или в оболочке k8s, показываем все цифры в таблицах и схемах прохождения запроса «до VM» и «до Pod’а» — и в конце честно отвечаем, стоит ли игра свеч.

Читать далее

Who's online

There are currently 0 users and 0 guests online.