Как стать автором
Обновить
48
0
Дмитрий Белобородов @dbelob

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

Отправить сообщение

Уменьшение размера дистрибутива в Java 9

Время на прочтение4 мин
Количество просмотров17K
Через четыре месяца планируется выпустить Java 9 (надеемся, что переносов сроков больше не произойдёт). Ничто не мешает уже сейчас на предварительной версии проверить, насколько соответствует ожиданиям главная возможность новой версии — модульность (проект Jigsaw).



В статье описываются изменения, требуемые для сборки дистрибутива с поддержкой модульности. Сборка дистрибутива производится в операционных системах Windows, macOS и Linux.
Читать дальше →

Java-конференция JBreak 2017, или Зачем Charles Nutter едет в Новосибирск из Миннеаполиса

Время на прочтение8 мин
Количество просмотров5.3K
Charles Nutter — JVM-разработчик из Red Hat, работающий на OpenJDK, мейнтейнер проекта JRuby, Java Champion и Ruby Hero, первоклассный специалист и спикер многих Java-конференций. Впервые в Россию он приехал в прошлом году на Joker 2016, где выступил с двумя хардкорными докладами, после чего признался в том, что не ожидал такого теплого приема и решил во что бы то ни стало вернуться в Россию:

Все сложилось удачно, и Charles запланировал визиты в Новосибирск (JBreak, 4 апреля) и в Москву (JPoint, 7-8 апреля). Обзор программы JPoint 2017 мы уже делали, вот руки дошли и до JBreak 2017. Под катом – длиннопост про всех, кто будет выступать в Новосибе, и про все, что они будут рассказывать.

«Скорее всего, будет расти как снежный ком» — Андрей Бреслав и Антон Кекс о Kotlin

Время на прочтение25 мин
Количество просмотров25K


За год, прошедший с релиза Kotlin 1.0, у языка произошли прорывы по многим фронтам: от поддержки в Gradle и Spring до выхода книги «Kotlin in Action». Число Kotlin-строк на GitHub возросло более чем вчетверо, превысив 10 миллионов. А теперь вышла версия 1.1, добавляющая компиляцию в JavaScript, и это выглядит громкой заявкой на новую долю рынка. Означает ли это всё, что вот теперь время Kotlin по-настоящему пришло, и нам всем пора активно использовать язык в продакшене?

Андрей Бреслав (JetBrains) и Антон Кекс (Codeborne) многое знают о Kotlin (и оба скоро выступят на JPoint с докладами о нём), но при этом смотрят на него с разных сторон: пока Антон разрабатывает на этом языке, Андрей работает над самим языком. Мы решили, что о настоящем и будущем Kotlin интересно поговорить с ними обоими сразу, получив полную картину. Начав с вопросов о бурном росте, затем успели обсудить ещё многое:

  • Взаимодействие с разработчиками и процесс эволюции языка
  • Компиляцию в JS, проект Kotlin Native и мультиплатформенность в общем
  • Несовершенства
  • Kotlin-паззлеры
  • Ожидания и амбиции
Читать дальше →

GitHub Pages для сайта на 8 марта

Время на прочтение8 мин
Количество просмотров34K
Что такое HTML, CSS, JavaScript и Bootstrap фреймворк сложно объяснять человеку который далек от IT. А что если нужен сайт на бесплатном хостинге, без привязки к онлайн конструкту именно этого хостинга?!



Как думаете, реально научить девушку обновлять свой сайт на GitHub Pages к Международному женскому дню?! Расскажу как мне это удалось с помощью генератора сайта, который доступен на Github и написан на Java + FreeMarker, к тому же старался автоматизировать публикацию контента в git репозитарий.

Maven. Собираем только измененное

Время на прочтение6 мин
Количество просмотров9.4K

Работая в многомодульном maven проекте, зачастую приходится вносить изменения в несколько связанных модулей одновременно. И если хочется собрать только задетые модули, то к сожалению maven не предоставляет ничего автоматического. Если чуть погуглить, то на stackoverflow можно найти простое однострочное решение:


mvn install -amd -pl $(svn st | colrm 1 8 | sed 's /.*  ' | xargs echo | sed 's- -,:-g' | sed 's ^ : ')

На этом можно было бы и закончить. Но мне хотелось большего — чего конкретнее и как я этого добивался под катом.

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

Безболезненное разрешение Merge конфликтов в Git

Время на прочтение8 мин
Количество просмотров173K

Предлагаю читателям "Хабрахабра" перевод публикации "Painless Merge Conflict Resolution in Git"
из блога blog.wuwon.id.au.


В моей повседневной работе, часто приходится иметь дело со множеством git ветвей (branch). Это могут быть ветви промежуточных релизов, ветви с устаревшим API находящиеся на поддержке для некоторых клиентов, или ветви с экспериментальными свойствами. Лёгкость создания ветвей в модели Git так и соблазняет разработчиков создавать все больше и больше ветвей, и как правило бремя от большого количества ветвей становится очень ощутимым, когда приходится все эти ветви поддерживать и периодически делать слияния (merge) с другими ветвями.


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

Java-конференция JPoint 2017: Москва, 7-8 апреля — Обзор докладов

Время на прочтение10 мин
Количество просмотров8.3K
До Java-конференции JPoint 2017 осталось пять недель, 75% докладов уже утверждены, оставшиеся 25% будут выбраны из имеющихся заявок к середине марта. В этом посте я расскажу вам о том, что у нас получилось.



Если темы всех докладов разделить по тематикам, то получится следующее:

  • Производительность Java, как на уровне JVM, так и в работе с фреймворками;
  • Препарирование JVM и публичная демонстрация кровавых кишочков;
  • Построение распределенных систем, которые работают;
  • Проблемы параллелизма и многопоточности в больших проектах;
  • Контейнеризация и оркестрация Java-приложений и сервисов.

Плюсом к основным блокам будут доклады на более специфические темы: Kotlin, trueOOP на Java от Егора, паттерны и, конечно, немного паззлеров!

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

Итак, мы сделали дамп JVM на 150 Гб. Что дальше?

Время на прочтение3 мин
Количество просмотров19K
Возможность сделать снимок (или дамп) памяти виртуальной машины Java — это инструмент, ценность которого сложно переоценить. Файл дампа содержит копии всех Java объектов, находившихся в памяти в момент снимка. Формат файла хорошо известен, и существует множество инструментов, которые умеют с ним работать.


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

Почему я игнорирую рекрутёров Google

Время на прочтение3 мин
Количество просмотров65K
Это реальная история, она — не только про Google. Я нередко получаю письма от рекрутёров Amazon, Facebook, а также небольших стартапов Кремниевой долины. Они как-то находят меня — наиболее вероятно через этот блог, через мои книги или через аккаунт на GitHub. Они всегда начинают с фразы: «Ваш профиль нас сильно впечатлил», — а заканчивают: «Давайте назначим собеседование». Я всегда отвечаю одинаково, а они всегда после этого исчезают, возвращаясь нередко через несколько месяцев под другим именем. Попробую здесь объяснить мои соображения. Возможно, вы будете делать то же, и мы сможем изменить ситуацию.

image

«Охотник на оленей» (1978), режиссёр Майкл Чимино
Читать дальше →

Новый GC Epsilon. У джавы может не быть сборки мусора. Шок. Сенсация

Время на прочтение6 мин
Количество просмотров38K
Добрый день, господа! Спешу сообщить, что настают последние дни. Кажется, мир Java развился до такой степени, что то ли мы теперь можем спокойно использовать Rust вместо Java, то ли Java вместо Rust. Кровавые подробности ждут вас под катом.
Читать дальше →

sudo rm -rf, или Хроника инцидента с базой данных GitLab.com от 2017/01/31

Время на прочтение15 мин
Количество просмотров66K

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

Аркадий и Борис Стругацкие

31 января 2017 года произошло важное для мира OpenSource событие: один из админов GitLab.com, пытаясь починить репликацию, перепутал консоли и удалил основную базу PostgreSQL, в результате чего было потеряно большое количество пользовательских данных и сам сервис ушел в офлайн. При этом все 5 различных способов бэкапа/репликации оказались нерабочими. Восстановились же с LVM-снимка, случайно сделанного за 6 часов до удаления базы. It, как говорится, happens. Но надо отдать должное команде проекта: они нашли в себе силы отнестись ко всему с юмором, не потеряли голову и проявили удивительную открытость, написав обо всем в твиттере и выложив в общий доступ, по сути, внутренний документ, в котором команда в реальном времени вела описание разворачивающихся событий.


Во время его чтения буквально ощущаешь себя на месте бедного YP, который в 11 часов вечера после тяжелого трудового дня и безрезультатной борьбы с Постгресом, устало щурясь, вбивает в консоль боевого сервера роковое sudo rm -rf и жмет Enter. Через секунду он понимает, что натворил, отменяет удаление, но уже поздно — базы больше нет...


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

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

Дюк, вынеси мусор! — 1. Введение

Время на прочтение13 мин
Количество просмотров228K


Наверняка вы уже читали не один обзор механизмов сборки мусора в Java и настройка таких опций, как Xmx и Xms, превратилась для вас в обычную рутину. Но действительно ли вы в деталях понимаете, что происходит под капотом вашей виртуальной машины в тот момент, когда приходит время избавиться от ненужных объектов в памяти и ваш идеально оптимизированный метод начинает выполняться в несколько раз дольше положенного? И знаете ли вы, какие возможности предоставляют вам последние версии Java для оптимизации ответственной работы по сборке мусора, зачастую сильно влияющей на производительность вашего приложения?

Попробуем в нескольких статьях пройти путь от описания базовых идей, лежащих в основе всех сборщиков мусора, до разбора алгоритмов работы и возможностей тонкой настройки различных сборщиков Java HotSpot VM (вы ведь знаете, что таких сборщиков четыре?). И самое главное, рассмотрим, каким образом эти знания можно использовать на практике.
Узнать

«При работе над инспекциями кода встречаешь Java-паззлеры каждый день»: Тагир Валеев о работе над IntelliJ IDEA

Время на прочтение10 мин
Количество просмотров11K


Одни знают Тагира lany Валеева по его докладам о Stream API, другие — по хабрапостам, третьи — по работе над статическим анализом кода (в проектах FindBugs и HuntBugs). А с августа он работает в JetBrains над IntelliJ IDEA, и это на многое повлияло: анализом кода он теперь занимается именно там, и его следующий доклад (на приближающихся JPoint и JBreak) будет как раз о создании инспекций кода в IDEA. Мы расспросили Тагира о том, каково разрабатывать проект, в котором разрабатывают всё остальное.
Читать дальше →

Начинается разработка OpenJDK 10

Время на прочтение1 мин
Количество просмотров10K

Сегодня Mark Reinhold объявил об открытии репозиториев mercurial для Java 10, и разработчики, имевшие статус committer и выше в проекте Java 9, получили возможность размещать багфиксы и мелкие улучшения, которые не предполагается вносить в Java 9. Всем разработчикам (например, мне) обновили статус на страничке переписи OpenJDK.


Крупные изменения вносить пока не рекомендуется во избежание конфликтов. Изменения в Java 9 ещё не завершены и некоторое время придётся их переносить в Java 10. При отсутствии конфликтов процедура будет автоматизирована, так что тем, кто продолжает вносить исправления в Java 9, скорее всего не придётся лишний раз беспокоиться.

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

Разработка JDK 9 прошла фазу «Feature Complete»

Время на прочтение2 мин
Количество просмотров11K
Марк Рейнхольд (Mark Reinhold) главный архитектор платформы Java в Oracle на днях сообщил в рассылке что разработка JDK 9 прошла фазу «Feature Complete».
image

Что значит, что добавление новой функциональности в проект приостановлено и теперь необходимо сконцентрировать усилия сообщества разработчиков на исправлении ошибок.
Читать дальше →

«Изучил что-то — пробуй это объяснить, пока не поймёшь сам»

Время на прочтение16 мин
Количество просмотров12K


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

Мы уже говорили с Владимиром Красильщиком (Яндекс) о его опыте выступлений, а теперь на наши вопросы ответили сразу четыре человека, хорошо известные посетителям Java-конференций:

  • Алексей @shipilev Шипилёв (Red Hat);
  • Тагир lany Валеев (JetBrains);
  • Руслан cheremin Черёмин (Дойче Банк);
  • Глеб gvsmirnov Смирнов (Plumbr).

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

Анализ доклада Баруха Садогурского с JPoint 2015

Время на прочтение6 мин
Количество просмотров7.6K
Созрел ещё один разбор, в этот раз смотрим доклад Баруха jbaruch Садогурского «Как писать асинхронные многопоточные http-приложения» с JPoint 2015:


Слайды тут.

Про Java только разбираемый доклад, а не сама статья.

Пошаговая инструкция: сборка JDK9 из исходников на Windows 10

Время на прочтение10 мин
Количество просмотров19K
В последнее время со сборкой JDK в Windows всё стало хорошо и приятно, поэтому поделюсь радостью и распишу, как это делается.
Читать дальше →

«Меня разрывает, когда я не могу писать код» — интервью с Максимом Шафировым, CEO JetBrains

Время на прочтение29 мин
Количество просмотров40K


В новогоднем выпуске «Без слайдов» — Максим shafirov Шафиров, CEO компании JetBrains.

Вот о чем мы поговорили с Максимом:

  • Важен ли для JetBrains российский рынок?
  • Почему Максим не прекращает писать код?
  • Насколько помогает догфудинг и в чём его ограничения?
  • Почему компания редко закрывает продукты?
  • Как появился Kotlin, и какими компания видит его перспективы?
  • Почему компания не была продана, несмотря на щедрые предложения?
  • Как в JetBrains появилась должность PMM?
  • Как JetBrains одновременно конкурируют и сотрудничают с Microsoft?




Как обычно, под катом — полная текстовая расшифровка беседы.

Все конференции JUG.ru Group: итог 2016-го и планы на 2017-й

Время на прочтение6 мин
Количество просмотров6.2K


2016-й стал для JUG.ru Group годом бурного роста: сразу несколько конференций мы провели впервые, а уже известные стали крупнее. Более того, на 2017-й уже запланировано покорение новых рубежей. Перед Новым годом мы решили вспомнить все конференции, которые провели в уходящем году, и поговорить о том, какие проведём в наступающем — так что под катом можно узнать обо всех сразу и найти самую подходящую вам.


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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность