Search
Write a publication
Pull to refresh
170
4

java / open source

Send message

Ускоряем запуск Spring Boot-приложений в контейнере

Reading time8 min
Views12K

Знаете ли вы, что Spring Boot-приложение в контейнере может запускаться за миллисекунды? При этом без ущерба для производительности, памяти, паритета окружений разработки-продакшена, без ограничений возможностей языка Java, и почти без изменения кода приложения. Но как? С помощью Liberty 23.0.0.10-beta…

Читать далее

Взлом YouTube для быстрого скачивания видео

Reading time9 min
Views83K
Мы неоднократно рассказывали о специальном софте, который позволяет скачивать видео с YouTube. Это в первую очередь youtube-dl (yt-dl) и его клоны, такие как yt-dlp и yt-dlc. С ними воюют могучие копирасты, пытаются удалить их из поисковой выдачи, с хостингов, с Github и так далее, по известной схеме «тотальная война».

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

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

Трейсы в Spring Boot 3 с использованием Zipkin и Kafka в качестве транспорта

Level of difficultyMedium
Reading time13 min
Views12K

Рассмотрим вариант добавления трейсов в Spring Boot 3 приложение с использованием Kafka в качестве транспорта и Zipkin в качестве инструмента для трассировки.

Функциональность соберем в автоконфигурацию для подключения к Spring Boot приложениям.

Читать далее

Своими руками. Как я сделал сервис сбора статистики цен на туры

Reading time4 min
Views15K
Работа — работой, но иногда хочется отдохнуть. Предположим, вы собрались в отпуск в жаркие края. Перед вами сразу возникает несколько вопросов, основные из которых:

1) Куда поехать отдыхать
Действительно, нужно перечитать множество источников, чтобы определиться, где сейчас (или когда вы там собрались) тепло, нужна ли для въезда в страну виза, сколько стоит путёвка и т.д.

2) Когда поехать отдыхать
Допустим, вы знаете, что хотите провести свой отпуск в Египте, но не знаете когда. Самый важный вопрос для многих — когда дешевле всего туда ехать? Так же важно знать, какая там погода и т.д.

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

Как работают полумошеннические конторы по ремонту компьютеров: немного инсайда и советов

Level of difficultyEasy
Reading time6 min
Views106K

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

Читать далее

Доводим разработчика до выгорания: три простых шага

Reading time7 min
Views47K
Если вы менеджер и хотите, чтобы ваши лучшие разработчики выгорели и разуверились в вашей способности руководить – могу помочь. Мне довелось работать в двух командах, подверженных выгоранию, и молча смотреть, как окружающие меня талантливые программисты один за другим покидали команду или компанию.

В первом случае я был ведущим специалистом в стартапе на посевной стадии с финансированием, работал непосредственно под и совместно с руководителем. Во втором я был одним из рядовых разработчиков, работал в команде из одиннадцати человек в составе крупной технологической компании (уровня Meta, Google, Apple и т.д.). Вот пошаговое руководство из методички выгорания, по которой работали эти команды.
Читать дальше →

Приходите к нам на завод, у нас тяжело

Reading time10 min
Views141K
Короче, ИТ на заводе — это вам не романтика, особенно в нашем цифровом направлении.

Между «давайте этим займёмся» и «о, смотрите, какая гламурная ML-модель» лежит очень много того, про что не рассказывают. Сейчас расскажу.

Вначале у нас была банда энтузиастов из разных подразделений: несколько человек из ИТ, АСУТП, технологи со знанием статистики — чтобы смотреть с разных углов и видеть всё в целом, насколько это возможно. Начали с оценки перспектив. Они были необъятные — наше производство размером с небольшой город. Стали формироваться подразделения и направления: кто-то пошёл собирать роботов, кто-то в видеоаналитику, кто-то в лайтовый анализ данных, кто-то в самый хардкор — в дата-сатанизм. Работы у нас всегда больше, чем рук.

И на каждой из этих дорожек нас поджидали свои чудеса и сюрпризы.

Вот, к примеру, видеоаналитика:

  • Мы поняли, что ML в 50% задач не нужны. Нужна, например, камера, которая по цвету определяет, где есть железка, и смотрит её геометрию в реальности. Всё. Или другая камера, которая следит, чтобы в нужной зоне ничего не шевелилось.
  • Всё это прекрасно до первого солнечного зайчика. ML отлично показывают себя там, где вам лень строить крышу или ставить прожектор над конвейером.
  • У нас была идея, что мы можем сами в нейросети. Чуть не написали свой сервис для распознавания номеров вагонов. Казалось, делов-то на 20 минут, а у подрядчика это стоит 25 копеек за фото. Сделали свой, сферические вагоны в вакууме он определял хорошо. Потом приехало вот это:

image

А потом внезапно пошёл дождь. Знаете что? Вагоны под дождём становятся мокрыми. Это было неожиданно. Ещё они бывают после снега, битые, немытые, обновлённые криворукими малярами и ПРОЧИЕ. И в солнечных зайчиках тоже.

Мы накалывались на получении данных (кто сказал, что прошивка станка без костылей?), на роботизации, инфраструктуре, связи, на всём. Мы облазили весь завод, испачкались в солидоле, мазуте и масле. Но стали делать то, что должны, — оптимизировать мир.
Читать дальше →

Большая миграция из Кремниевой долины не удалась. Люди едут обратно

Level of difficultyEasy
Reading time7 min
Views42K

Три года назад разработчики начали «побег из Сан-Франциско». Люди бежали от высоких цен на недвижимость, от аренды по $3600 в месяц за односпальную квартиру, от засилья бездомных и наркоманов на улицах. Самым популярным направлением во время ковида стал Остин, столица штата Техас. Где вроде как не должно было быть всех проблем, постигших «либеральную» Калифорнию.

Но оказалось, что проблемы там были, просто не совсем такие, как все ожидали. И теперь пошел уже «побег из Техаса».

Читать далее

Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети

Level of difficultyMedium
Reading time13 min
Views19K

Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.

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

Чтобы все зеркала не вышли из строя сразу, принимать такие диски надо бы небольшими группами с нескольких машин из разных стоек. Идея показалась достойной рассмотрения, поэтому создали небольшой стенд.

Меня зовут Алексей Дрожжов, я старший инженер в билайне, и в этом посте расскажу, как мы решали эту задачу.

Задача: подключить много дисков с нескольких серверов

Читать далее

Как Rust меняет мышление разработчика

Level of difficultyEasy
Reading time9 min
Views50K
Я страшно ненавижу C++. Обычно я люблю программирование, но каждый проект, с которым я имел дело на C++, ощущался как монотонная рутина. В январе 2023 года я пошёл по пути изучения Rust, поэтому теперь могу сказать, что знаю язык системного программирования, который действительно люблю использовать.

Первый стабильный релиз Rust появился в 2015 году, и каждый год, начиная с 2016, он признаётся в Stack Overflow’s Annual Developer Survey самым любимым языком (в 2023 году эта категория называется «обожаемый»). Почему же разработчики, ощутившие вкус Rust, не могут отказаться от его использования? Похоже, в мире прогремевших наследников C/C++ репутация растёт только у Rust. Как же этот язык, появившийся на сцене меньше десятка лет назад, стал настолько популярным?

Ржавый красный краб Феррис по версии Midjourney

Кривая обучения оказалась крутой. Я нашёл многое, что мне нравится в Rust, но постоянно попадал в его ловушки. Однако в конечном счёте именно препятствия и проблемы, с которыми столкнулся, я научился любить больше всего.

Я начну историю с разговора о том, что легко полюбить — со среды Rust, управления пакетами и документации. Затем я расскажу о системе типов и типажах (trait). Далее я поведаю о тех возможностях тестирования и test driven development, которые становятся возможными благодаря Rust. Наконец, мы обсудим самую запутанную и сбивающую с толку часть — одержимость Rust тем, кто какой переменной владеет.
Читать дальше →

Управление Linux-сервером — самая ценная инвестиция

Level of difficultyEasy
Reading time6 min
Views80K

В эпоху облаков настройка Linux-сервера своими руками кажется неким вымирающим искусством. Для непосвящённого человека даже bash-скрипты выглядят как заклинания, а коллеги проникаются уважением к сисадмину, как древние индейцы к своему шаману…

Сейчас это «древнее искусство» вновь стало актуальным. История идёт по кругу — всё старое возвращается в новом виде. Запуск сервера на своём хостинге стал хорошей альтернативой облакам. Этому есть ряд причин, которые мы не будем подробно разбирать, только повторим вкратце: безопасность, свобода, контроль над своими данными, экономия финансов.
Читать дальше →

Как из вакансии понять, что наниматель-муд**: 5 признаков

Reading time3 min
Views56K

Всем привет! Я Тёма Логинов, за 4 года работы в digital я неоднократно искал работу, нанимал людей и помогал это делать другим.

Многие компании оформляют вакансии по-странному: предлагают работу за три рубля или вешают на одного сотрудника работу целого отдела. Рассказываю, как распознать такие вакансии, чтобы уберечь себя от работы на [ч]удаков.

Читать далее

Распределённые транзакции

Level of difficultyMedium
Reading time10 min
Views61K

На собеседованиях на позицию middle/senior разработчика часто задают вопросы по распределенным транзакциям в микросервисной архитектуре.

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

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

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

Читать далее

Делаем 10-минутную задачу за 2 часа с помощью ChatGPT

Level of difficultyEasy
Reading time5 min
Views73K

Все мы видели много статей, где с помощью AI-инструментов за минуты выполняется работа, на которую раньше мог легко уйти день. Особенно впечатляют примеры, где работа (успешно) идет вне зоны компетенции человека (т.е. когда AI позволяет делать то, что человек в принципе один сделать не мог бы). Но сегодня у меня получился несколько другой случай:

Читать далее

Новости из мира OpenStreetMap за сентябрь

Reading time6 min
Views4.8K

Еженедельник OSM снова на Хабре! Теперь раз в месяц, но с самыми интересными новостями. Приятного чтения.

На обложке: визуализация обращений к тайлам OpenStreetMap

Читать далее

Почему ты не станешь программистом

Level of difficultyEasy
Reading time7 min
Views113K

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

Читать далее

Jsonb и gin, ошибки планировщика на старых PostgreSQL

Level of difficultyHard
Reading time9 min
Views4.3K

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

Читать далее

Пишем простую интеграцию с GitHub используя feign и jsonschema2pojo maven plugin

Reading time3 min
Views2.8K

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

Для примера мы будем использовать интеграцию с API GitHub и привычные Spring аннотации для описания нашего feign клиента.

Читать далее

Демографический бум или как программисты плодятся

Level of difficultyEasy
Reading time5 min
Views71K

Вы спросите, какое отношение демография, имеет к тематике ИТ. На первый взгляд? Никакого. Но это на первый взгляд. Давайте обо всем по порядку.

Сначала была история.

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

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

Дело хорошее, не все гуглу миром править. Да вот беда. Те спецы, что институты готовили, ежели попроворнее, кнопку купить билет и за океан, ну или не важно, главное из России того. А те что слабину на учебе дали, оказалось доучивать требуется. Бизнесмены расстраивались, но доучивали. Но вместо благодарности, прохвосты, начали бегать из конторы в контору и ценники на себя заворачивать.

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

Тем временем хайп словили и прохвосты. Начали экспертов себе подобных за деньги готовить. Мол хочешь зп 100к. Отдай на 80к и мы научим. Чему там научат не ведомо, но вот желающих таких "спецов" нанять не прибавилось.

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

Читать далее

Information

Rating
468-th
Location
Россия
Registered
Activity