Pull to refresh
48
0
Дмитрий Белобородов @dbelob

Пользователь

Send message

Организация собственной библиотеки на сервере с веб-интерфейсом

Level of difficultyEasy
Reading time6 min
Views5.4K

Привет! Наверное, у каждого рано или поздно возникает вопрос: как упорядочить хаос с купленными (да, мы же против пиратства?) книгами в форматах PDF, DJVU и других, так чтобы:

- получить к ним доступ как с мобильного устройства, так и с любимого ПК или Mac;

- сохранять прогресс чтения между устройствами;

- не терять книги в куче папок.

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

Читать далее

8 ошибок в лицензировании софта, которые могут обходиться дорого

Level of difficultyEasy
Reading time9 min
Views1.4K

Привет, Хабр! Сегодня хочу поговорить о том, как компании-разработчики сами себе «ставят палки в колеса» — выбирают неэффективные модели лицензирования собственного ПО и теряют выручку. Казалось бы, что сложного? Настроил защиту от несанкционированного использования, прикрутил проверку лицензий, добавил пару условий в договор — и готово. Но на практике ошибки в лицензировании обходятся дорого: теряется выручка из-за пиратства и негибких продаж, растут операционные расходы, а клиенты уходят к конкурентам. Почему это важно? Лицензирование — не просто «замок» на софте. Это инструмент монетизации, который защищает код от нелегального использования, формирует стабильный доход (подписки, продажа обновлений и модулей ПО), автоматизирует процессы и делает конечных пользователей счастливыми.

Читать далее

Почему я исправляю баги бесплатно и как это изменило мою карьеру

Level of difficultyEasy
Reading time6 min
Views15K

8 лет назад я исправил опечатку в чужом репозитории, а сейчас регулярно делаю коммиты в проекты, которые использую, и даже вошел в core team библиотеки с 27000 звёзд на GitHub

В этой статье покажу, что участие в Open Source проще, чем кажется. Расскажу, как регулярная работа с чужим кодом помогает быстрее разбираться в незнакомых кодовых базах, писать тесты и лучше документировать решения. А также объясню, почему публичная активность на GitHub выгодно отличает вас от других разработчиков, особенно в эпоху повсеместного использования ИИ.

Читать далее

Где бесплатно хостить пет-проект с собственным доменным именем

Level of difficultyEasy
Reading time3 min
Views26K

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

Найденные варианты я собрал в табличку, актуальную на май 2025. ChatGPT o3 наврал в ответах, поэтому пришлось добавлять, фильтровать и перепроверять данные вручную. К сожалению, приходится сравнивать «яблоки с попугаями», потому что каждый Cloud провайдер рассчитывает стоимость хостинга немного «по‑своему» и включает в бесплатный тариф только часть функциональности.

Читать далее

Как должен выглядеть правильный Docker Image для Spring Boot приложения?

Level of difficultyEasy
Reading time9 min
Views11K

Когда мы упаковываем Spring Boot-приложение в Docker-образ, важно не только обеспечить его запуск. Нам нужен такой образ, который поможет понять причины проблем: падений, тормозов и других сбоев.

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

Читать далее

Апгрейд компьютера в 2025

Level of difficultyEasy
Reading time20 min
Views54K

Свой предыдущий компьютер я собрал 10 лет назад. Я еще застал то время когда за подобный промежуток времени персоналки успевали измениться до неузнаваемости а для того чтобы не отстать от жизни их требовалось апгрейдить каждые два или три года. Но в тихие 2020е годы «железо» развивается уже не так быстро и по большому счету я мог бы продолжать этим старым компьютером и дальше. Однако руки у меня чесались уже из принципа и когда «винда» объявила мне что поддержка win10 прекращается, а win11 на моем компьютере работать не может, то я воспринял это как знак и решил немного побаловать себя. Эта статья — это обзор для олдфагов типа меня о том что появилось на рынке персоналок в последние годы и о том чего можно ожидать при подобном апгрейде.

Да, кстати, стоит ли вообще игра свеч?

Нововведения Java 24

Level of difficultyMedium
Reading time9 min
Views11K

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

Читать далее

Волшебные ссылки теперь в Spring Security

Level of difficultyHard
Reading time4 min
Views6.6K

Концепция волшебных ссылок (magic link) далеко не нова, однако долгое время у разработчиков не было надежного решения с полноценным комьюнити, которое позволяло бы быстро и просто реализовывать волшебные ссылки в своих приложениях. И вот, наконец, такая фича появилась в spring security. Давайте подробно разберем что у нас получилось, какие проблемы остались, и что планируется реализовать.

Читать далее

Росбанк стал частью Т‑Банка. Но есть нюансы…

Reading time5 min
Views78K

Я регулярно занимаюсь созданием Java-приложений, и, пожалуй, могу себя считать Java-разработчиком. Как и полагается Java-разработчику, я интересуюсь новостями из мира Java и с интересом помимо прочего читаю выпуски Java Digest из блога Т-Банк на Хабре.

И мне было бы очень интересно узнать, что у команды Т-Банка пошло немножко не так при недавнем переходе Росбанка под крыло Т-Банка.

Читать далее

Вышел React v19

Level of difficultyEasy
Reading time16 min
Views21K

React v19 теперь доступен на npm!

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

Читать далее

Ленточные накопители в домашнем ПК

Level of difficultyEasy
Reading time11 min
Views29K
Приветствую всех!
Однажды перед каждым из нас встаёт вопрос: где хранить сотни гигабайт столь важной информации? Кто-то продлевает подписку в облаке, кто-то покупает ещё один винт, кто-то собирает NAS, а кто-то, как и я, присматривается к чуть более экзотическим решениям.
Вдохновившись постом двухгодичной давности про серверное железо в обычном ПК, я решил, что самое время рассказать про ещё один атрибут подобных систем — стримеры.



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

Что нового в React 19

Level of difficultyMedium
Reading time13 min
Views31K



React 19 на подходе. Команда React анонсировала предрелизную версию React 19 в апреле. Это крупное обновление принесет с собой ряд улучшений и новых паттернов, нацеленных на повышение производительности, удобство использования и опыта разработки.


Многие из этих возможностей были представлены в экспериментальном режиме в React 18, но в React 19 они станут стабильными. Давайте подготовимся к этому обновлению.

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

Руководство по использованию Signal в Angular 17

Level of difficultyMedium
Reading time5 min
Views4.6K

Angular 17 представляет собой мощный инструмент для создания современных веб-приложений. С каждым новым релизом команда разработчиков добавляет новые возможности, и одним из самых интересных нововведений в Angular 17 является поддержка Signal. В этой статье мы рассмотрим, что такое Signal, как его использовать в Angular, и приведем примеры реального использования.

Читать далее

Корректорские заметки: где ошибаются и как не ошибаться

Level of difficultyEasy
Reading time6 min
Views4.5K

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

Читать далее

Миграция с Webpack и react-scripts на Vite: Путь к Быстрому и Легковесному React

Level of difficultyEasy
Reading time4 min
Views19K

Я работаю фронтенд-разработчицей в IT-компании, и многие из моих проектов на протяжении долгого времени собирались с использованием Webpack. Настройка Webpack иногда бывала сложной, но в целом он справлялся с задачей сборки проектов. Однако в последнее время мои коллеги начали восторгаться новым инструментом - Vite. Они рассказывали о его легковесности, быстрой сборке и преимуществах для разработчиков React-приложений. В этой статье я поделюсь своим опытом миграции с Webpack и react-scripts на Vite. Я расскажу о причинах, по которым решила попробовать Vite, а также о том, с какими сложностями пришлось столкнуться и как они были решены.

Читать далее

Мой ТОП-5 лучших CSS-in-JS решений

Level of difficultyEasy
Reading time10 min
Views10K

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

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

Здесь вот и приходят на помощь решения CSS‑in‑JS, объединяющие фичи JS и CSS.

Читать далее

Деньги — чужие, проблемы – Ваши

Level of difficultyEasy
Reading time3 min
Views46K

Вечер пятницы, у себя дома в ближайшем Подмосковье собираю lego low‑code. Подходит вторая половина — ей поступил платёж на сумму 42 т.р. от неизвестной Анюты Ивановны И. на карту Сбера. Догадываясь, что за этим последует звонок с просьбой вернуть деньги, пишем обращение в чат поддержки. Пока ждем ответ, действительно начинают звонить «потерпевшие» и объяснять, что произошла ошибка: мама переводила деньги сыну на оплату квартиры, эти деньги срочно нужны и надо их немедленно вернуть. Телефон «мамы» похож на отправителя, а второй номер не имеет ничего общего с номером получателя. Объясняем, что процесс пошел, заявление уже подано и скоро всё решится к обоюдному удовольствию.

И тут приходит ответ от Сбера, который резко меняет ситуацию:

Читать далее

Вам не нужен Lodash. Хватит! Пожалуйста

Level of difficultyEasy
Reading time5 min
Views22K

На State Of JS 2023 Lodash занял первое место в топе библиотек - что меня сильно огорчило. Я топлю за его отказ последние годы - и хотел бы рассказать, почему я считаю его вредным и не особо вам нужным.

Ну давай!

Эволюция сети Ethernet на витой паре

Level of difficultyEasy
Reading time20 min
Views58K

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

Читать далее

Создание дистрибутивов для разных операционных систем в Java 21 и 22

Reading time6 min
Views5.3K


Статья рассказывает о построении дистрибутивов приложений для операционных систем Windows, macOS и Linux в случае использования Java 21 и 22.

Продолжает ранее опубликованную статью о создании дистрибутивов в предыдущих версиях Java, подробно описывая кардинальные изменения, произошедшие с того времени.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity