Pull to refresh
28
7.2

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

Send message

Настраиваем приватный Docker-репозиторий

Reading time3 min
Views93K

Docker одна из горячих тем в разработке. Большинство новых проектов строится именно на Docker. Как минимум, он отлично зарекомендовал себя для распространения ПО, например, наша система поиска по документам Ambar устанавливается с помощью docker-compose.


В начале работы над Ambar мы использовали публичный docker-репозиторий, но с ростом проекта и появлением enterprise версии мы задумались над созданием собственного приватного репозитория. В данной статье мы поделимся своим опытом развертывания селф-хостед репозитория: пошагово опишем весь процесс, попытаемся обойти все подводные камни.

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

Паттерны ООП c примерами на Java: порождающие шаблоны

Level of difficultyMedium
Reading time14 min
Views5.8K

Привет! Меня зовут Бромбин Андрей. В этой статье мы рассмотрим порождающие паттерны ООП. Обсудим, что такое хороший дизайн и почему не стоит начинать всё с нуля каждый раз, когда перед нами новая задача. Также разберёмся, где эти паттерны действительно помогают и какую пользу несут — всё это с наглядными примерами на Java, приближёнными к реальным.

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

Шаблонизироваться

Освоение Unicode в Java: создаём на Quarkus REST API, готовый к глобальной аудитории

Level of difficultyMedium
Reading time11 min
Views493

В этом руководстве мы разберем непонятности вокруг Unicode и узнаем, как строить надёжные, интернациональные Java-приложения. Разберём теорию, укажем на подводные камни, а затем соберём «Глобальный сервис приветствий» на Quarkus, который переживёт весь хаос реального текста.

К концу статьи вы разберётесь с тем,

– как устроен Unicode и как Java на самом деле хранит текст;
– почему длина строки и перебор символов сложнее, чем кажется;
– как нормализация предотвращает неприятные несоответствия;
– как настроить REST-сервис и базу данных для безопасной работы с Unicode.

Unicode без боли

Контейнеры для взрослых (Часть 01): Практический гид по терминологии

Reading time16 min
Views28K
Вы можете спросить, зачем разбираться с терминологией, если концепция контейнеров выглядит вполне простой и понятной? Однако, довольно часто неверное использование терминов создает препятствия на пути к освоению контейнеров. Например, люди часто считают, что термины «контейнеры» и «образы» взаимозаменяемы, хотя на самом деле между ними есть важные концептуальные различия. Другой пример: в мире контейнеров «репозиторий» означает вовсе не то, что вы думаете. Кроме того, контейнерные технологии – это гораздо больше, чем только docker.



Так что, не владея терминологией, будет сложно понять, чем docker отличается от CRI-O, rkt или lxc/lxd; либо оценить роль Open Container Initiative в деле стандартизации контейнерных технологий.
Читать дальше: Практический гид по контейнерной терминологии

Крипта без костылей, профилирование без боли, многопоточность без хаоса: Axiom JDK 25 уже в OpenIDE

Level of difficultyEasy
Reading time4 min
Views881

Синхронно с Oracle мы выпустили Axiom JDK Pro 25 — новый долгосрочный релиз российской Java-платформы. Это LTS-версия с поддержкой до 2034 года — на год дольше, чем Oracle JDK 25. Для бизнеса это гарантия, что инфраструктура и критичные сервисы будут жить спокойно много лет. Для разработчиков — шанс сразу прыгнуть в JDK 25 и работать с новыми инструментами без страха, что их скоро «снимут с поддержки».

Под капотом — больше 2800 изменений в ядре. Мы прогоняем каждую сборку через 160 тысяч тестов на десятках аппаратных конфигураций, так что релиз выходит не «как есть», а уже готовым к российским сценариям. И важно — Axiom JDK 25 доступен в OpenIDE.

Итак, что внутри:

Читать далее

Путеводитель по больничным

Level of difficultyEasy
Reading time12 min
Views2K

Мы ни на что не намекаем, ведь в этом вопросе мы солидарны с Минздравом: переносить болезнь на ногах – вредно для здоровья. Как вашего, так и  окружающих вас коллег. Тем более, если вы работаете по трудовому договору, ваша нетрудоспособность оплачивается, а значит никаких преград для безопасного выздоровления не существует. 

Чтобы получить деньги за свою болезнь, нужно открыть больничный.

Привет, хабр! Я Оксана, эксперт по расчетам с персоналом в IT-компании SimbirSoft, в феврале я написала статью о том, как получить налоговый вычет. И теперь решила помочь с ещё одной близкой всем темой. Понимаю, что материалов о больничных много, но, как показывает практика, иногда вопросов больше, чем ответов. Это я и постараюсь исправить. И раз уж я назвала свою статью «путеводитель», то просто обязана расписать всю схему взаимодействия со всеми участниками процесса вашей нетрудоспособности.

Итак, вы заболели….

Узнать подробности и не болеть🤞

Состояние HTTP-клиентов в Spring

Level of difficultyEasy
Reading time10 min
Views2.2K

В новом переводе от команды Spring АйО команда Spring делает важное объявление — RestTemplate уходит в прошлое. С выходом Spring Framework 7.0 разработчики официально заявляют о плане поэтапного прекращения поддержки одного из самых популярных HTTP-клиентов в экосистеме. Его место занимает RestClient, современный fluent-клиент с расширенными возможностями: API-версионирование, гибкая конфигурация конвертеров, группы HTTP-интерфейсов и новый тестовый клиент RestTestClient.

Кроме того, в Spring Boot 4.0 появятся отдельные стартеры для каждого типа клиента, а RestClient теперь можно удобно переиспользовать с уже существующей инфраструктурой RestTemplate.

Читать далее

Domain-Driven Design: чистая архитектура снизу доверху

Level of difficultyMedium
Reading time18 min
Views46K

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

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

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

Издательство «БХВ» теперь на Хабре. С чем мы к вам пришли

Reading time4 min
Views9.8K

Приветствуем, коллеги!

Вы читаете первую статью от имени издательства «БХВ» (BHV) из Санкт-Петербурга, которое наконец-то решило официально обосноваться на Хабре и попробовать систематизировать нашу работу на этой великолепной платформе, объединив рекламный контент, тизеры и спойлеры в корпблоге. Меня зовут Олег Сивченко, я тружусь в БХВ менеджером проектов в области компьютерной литературы 4+ года, одновременно работаю в редакции Хабра, где веду небесспорный, но очень интересный научно-популярный блог @OlegSivchenko и блог с IT-переводами @Sivchenko_translate Кроме меня в команде БХВ есть ещё один маститый хабровчанин, пишущий под псевдонимом Валентин Холмогоров @Holmogorov — ведущий редактор журнала «Хакер», ранее работавший в отрасли кибербеза, руководил командой технических писателей. Так что, феномен хаброблога и хабрааудитории для нас не в новинку. Далее — немного о нашем издательстве.

Читать далее

Почасовая оплата

Level of difficultyMedium
Reading time12 min
Views7.2K

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

И эта привычка настолько укоренилась, что работодателям сложно представить, «как ещё узнать, что люди, действительно, работают?!»

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

Читать далее

Окружения развёртывания программного обеспечения

Reading time8 min
Views23K

image


Только что опубликовал в русской википедии перевод статьи Deployment environment.


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

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

Как написать простейшую нейросеть на python, простыми словами о сложном

Level of difficultyEasy
Reading time8 min
Views19K

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

Читать далее

Погружение в контейнеризацию

Reading time11 min
Views28K

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

Читать далее

Контейнеризация понятным языком: от самых азов до тонкостей работы с Kubernetes

Reading time17 min
Views115K


Чем контейнеры отличаются от виртуальных машин, почему Docker настолько популярен, что такое Kubernetes и в чём его преимущества и недостатки. В интервью АйТиБороде СТО «Слёрма» Марсель Ибраев и старший инженер Southbridge Николай Месропян рассказали о контейнеризации понятным языком. Мы перевели интервью в текст для тех, кому лень смотреть.
Мне не лень смотреть, мне лень читать

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

Лучшие альтернативы для Docker

Reading time7 min
Views71K

Изобретение интермодальных контейнеров вызвало бум международной торговли и стало одним из основных элементов глобализации

Контейнеры от компании Docker произвели настоящую революцию в разработке, тестировании и развёртывании приложений. Хотя вовсе не она изобрела Linux-контейнеры. Ведь LXC и OpenVZ появились раньше под Linux, а до них много лет существовали Jails/Zones в BSD/Solaris.

Но именно Docker представил контейнеры в виде удобного и простого «массового продукта». Примерно как Apple позаимствовала идеи MP3-плеера и смартфона и доработала их. То же самое сделал Docker. Хотя не довёл дело до конца, то есть до получения прибыли.

Сейчас компания Docker разваливается на глазах. Однако Linux-контейнеры отлично работают и без неё, это же опенсорс.
Читать дальше →

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

Level of difficultyMedium
Reading time5 min
Views12K

Java не стоит на месте и продолжает активно развиваться. Скоро выйдет уже 25-я версия языка. В этом релизе изменили работу с boilerplate-кодом и конструкторами, а также отказались от поддержки устаревших систем. Обо всех этих и других нововведениях расскажем в статье.

Читать далее

Что нового в Maven 4?

Level of difficultyEasy
Reading time15 min
Views8.5K

В новом переводе от команды Spring АйО рассматриваются основные изменения, которые ждут нас в новой версии Maven. Изменения затронули performance, POM, новый тип упаковки, улучшения для подпроектов и много другое. 

Читать далее

Что такое Docker: краткий экскурс в историю и основные абстракции

Reading time8 min
Views25K

10 августа в Слёрм стартовал видеокурс по Docker, в котором мы разбираем его полностью — от основных абстракций до параметров сети.


В этой статье поговорим об истории появления Docker и его основных абстракциях: Image, Cli, Dockerfile. Лекция рассчитана на новичков, поэтому вряд ли будет интересна опытным пользователям. Здесь не будет крови, аппендикса и глубокого погружения. Самые основы.


10 лет Docker: от революционной идеи до современной практики

Reading time8 min
Views20K

Привет, Хабр! На момент написания статьи, я занимаюсь надежностью (SRE) в компании Workday, еще помогаю студентам в Практикуме осваивать курс по DevOps-практикам.

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

Читать далее

Не смотрите на % использования процессора при гиперпоточности

Level of difficultyMedium
Reading time19 min
Views17K

Этот небольшой этюд служит как бы продолжением статьи "Проценты использования процессора — это ложная метрика". Мы попытаемся копнуть чуть поглубже и более детально разобраться как работает гиперпоточность (или гипертрединг, как его иногда называют).

Читать далее
1

Information

Rating
805-th
Registered
Activity