Как стать автором
Обновить
177.54
JUG Ru Group
Конференции для Senior-разработчиков
Сначала показывать

Проект Jigsaw в Java 9. Модулярное будущее, которого не избежать

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


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

Иван занимается разработкой виртуальных машин Java и компиляторов более 10 лет, в настоящее время развивает компиляторную инфраструктуру в виртуальной машине Zing в Azul Systems. Регулярный докладчик на конференциях JUG.ru и других европейских Java-конференциях.

Что такое Jigsaw, и как он повлияет на мир Java?


— Иван, добрый день. Расскажите, пожалуйста, какое влияние проект Jigsaw окажет на экосистему Java?

— Добрый. Для объяснения моего взгляда на Java и модулярность стоит немного рассказать о моей деятельности. Коммерческим программированием я занимаюсь примерно двадцать лет. Последние одиннадцать из них — разработкой виртуальных машин. Работал в команде HotSpot Runtime в Sun. Потом компания была куплена Oracle. Далее было несколько изменений деятельности, и последние три с половиной года работаю в компании Azul Systems, где занимаюсь разработкой виртуальных машин.
Читать дальше →
Всего голосов 44: ↑43 и ↓1 +42
Комментарии 33

Java-ресурсы, на которые есть смысл подписаться

Время на прочтение 4 мин
Количество просмотров 24K
Когда язык программирования используют миллионы человек, кажется, что о нём должно быть предостаточно сайтов, в том числе русскоязычных. Однако, если набрать в поисковике «новости Java», результаты оказываются примерно такими:



Сайты с помощью начинающим в рунете есть (например, JavaRush) — а вот с актуальной информацией для тех, кто уже вовсю работает и хочет держать руку на пульсе, всё гораздо печальнее. Понятно, что большинство опытных Java-разработчиков вполне способно читать новости на английском, но всё равно родной язык понимается быстрее и проще.

Поэтому, во-первых, мы сейчас перезапустили сайт JUG.ru, чтобы исправить это. А во-вторых, раз русскоязычные регулярно обновляемые ресурсы в дефиците, вспомнили, какие есть англоязычные, и делимся результатами с Хабром. Разумеется, в текст вошло далеко не всё возможное, и будем только рады дополнениям в комментариях.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Комментарии 10

OpenJDK: Project Panama

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


Два года назад в OpenJDK был создан новый проект под кодовым названием «Panama». Основным направлением исследований анонсировалось создание нового интерфейса для работы с платформозависимыми библиотеками и данными вне Java heap’а (off-heap). Но цели проекта шире: исследование механизмов взаимодействия JVM и «внешнего» (не-Java) API.

Владимир Иванов iwanowww — ведущий инженер Oracle, работает в группе разработки виртуальной Java-машины HotSpot. Специализируется на JIT-компиляции и поддержке альтернативных языков на платформе Java. Владимир пришел в Sun Microsystems (приобретена Oracle в 2010) в 2005 году и с того момента поучаствовал в большом количестве проектов, связанных с Java (HotSpot JVM, RTSJ, JavaFX).

JNI 2.0?


— Большая часть проекта Panama — это работа с native библиотеками из Java кода. Как это можно делать сейчас?

— Работать с native кодом в Java можно было всегда. Native методы были еще в первой версии Java, а стандартный интерфейс JNI появился уже в версии 1.1. Но время идет, платформа развивается, требования меняются и, смотря на JNI сейчас, есть понимание, что можно организовать работу с native библиотеками удобнее и эффективнее.
Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 12

Scala или не Scala? Вот в чем вопрос

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


Дискуссия вокруг Scala не стихает уже много лет, разворачиваясь в основном на поле противостояния с Java. Действительно, несмотря на общую платформу, языки разные.

Аргументы за Scala известны:

1. Scala лаконичная;
2. Scala функциональная;
3. Scala крутая и современная;

В ответ на то, что Scala медленно загибается, Мартин Одерски заявил следующее: «В 2015-м было затишье, но вот в 2016-м развитие Scala должно ускориться».

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

Ну и в конце дам пару ссылок на популярные статьи по теме за последние несколько лет, если вдруг вы какие-то из них пропустили.
Читать дальше →
Всего голосов 39: ↑31 и ↓8 +23
Комментарии 97

Твоя Data такая большая: Введение в Spark на Java

Время на прочтение 4 мин
Количество просмотров 19K
Apache Spark – универсальный инструмент для процессинга больших данных, с которым можно писать в Hadoop с различных СУБД, стримить всякие источники в реальном времени, параллельно делать с данными какую-нибудь сложную обработку, и все это не при помощи каких-то батчей, скриптов и SQL-запросов, а при помощи функционального подхода.


Про Spark ходит несколько мифов:

  • Spark’y нужен Hadoop: не нужен!
  • Spark’у нужна Scala: не обязательно!

Почему? Смотрите под катом.
Всего голосов 34: ↑25 и ↓9 +16
Комментарии 14

[Питер, анонс] Встреча JUG.ru с Дмитрием Александровым — Nashorn: легкий движок JavaScript на JVM

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


В среду, 14 сентября, в 20:00 в офисе компании SEMrush состоится встреча JUG.ru с Дмитрием Александровым, экспертом по Java EE, Spring и JavaScript. Тема встречи: Nashorn — легкий движок JavaScript на JVM.

В данной сессии мы познакомимся с проектом Nashorn — легким движком JavaScript на JVM. Мы пройдем от простого к сложному: узнаем, как и зачем могут сосуществовать Java и JavaScript. Посмотрим, как вызывать JavaScript из Java и наоборот. Научимся работать в консоли jjs, или как писать (и главное дебажить) скрипты для ОС независимые от ОС при наличии JDK. Посмотрим, как можно применить JavaScript-библиотеки в Java-проектах. Рассмотрим, как можно придать динамизм нашим программам с помощью скриптинга на JS.
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 0

Барух Садогурский и Кирилл Толкачёв про DevOps на jug.msk.ru

Время на прочтение 4 мин
Количество просмотров 10K
Я календарь переверну
И снова третье сентября
И вновь восьмое сентября

8 сентября 2016 года прошла встреча jug.msk.ru, собравшая, возможно, максимальное число участников. Гостями были Барух Садогурский и Кирилл Толкачёв, темой их доклада — DevOps. Что же ждало слушателей на встрече, можно прочитать далее.


Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 12

«Ни единого разрыва»: чего стоит сделать онлайн-трансляцию, которая не будет падать, тормозить и вызывать боль в глазах?

Время на прочтение 8 мин
Количество просмотров 23K
Если кто следит за нашим блогом, наверняка уже знает, что мы проводим хардкорные технические конференции в разных областях программирования (Java, .NET, HolyJS, iOS/Android, тестирование). Конференции эти традиционно проходят в Москве и Петербурге, почему? Потому что в этих городах физически больше разработчиков – это позволяет собирать под одной крышей по 500-1000 единомышленников.



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

Как выглядит идеальная на наш взгляд трансляция? Вот несколько ссылок на свежие трансляции последних конференций:
















А если вам интересно, чего нам стоило отточить трансляцию и видеозаписи до такого состояния, а также какие факапы с реал-тайм системой вызывают самый сильный баттхерт, читайте под катом.
Читать дальше →
Всего голосов 69: ↑66 и ↓3 +63
Комментарии 41

«Как я провёл это лето»: видео с летних встреч JUG.ru

Время на прочтение 2 мин
Количество просмотров 5.4K
Вот и наступила осень. Кто-то возвращается в город с центнером яблок в багажнике, кто-то — c норвежским пивом прямиком с JavaZone, а мы подготовили для вас материал, который, надеемся, скоротает дождливые вечера. Мы расскажем о трёх летних встречах JUG.ru. Посему разработчики, вернувшись из отпусков, имеют замечательную возможность запастись чашкой горячего чая, завернуться в плед и посмотреть видео с наших митапов.

Итак, летом у нас было три встречи:
    — Douglas Hawkins из Azul рассказал об особенностях работы JIT-компиляторов в HotSpot JVM;
    — Alvaro Hernandez, разработчик ToroDB, рассказал о том, как Java работает с PostgreSQL;
    — наконец, Евгений Борисов порадовал нас новой порцией загадок на тему Spring.

Всего голосов 34: ↑34 и ↓0 +34
Комментарии 2

Сферическое тестирование в вакууме: Как есть, как должно быть, как будет

Время на прочтение 15 мин
Количество просмотров 17K
Тестирование занимает особое место в работе каждого из нас. Это очень важная, сложная, не самая приятная, часто недоведённая до конца, недооценённая часть нашей работы. Поэтому я, как практикующий разработчик и технический руководитель небольшого стартапа, был рад возможности побеседовать с экспертом в этой области и задать ему свои наболевшие вопросы. Почему программисты не работают по TDD? Как правильно решать проблемы, связанные модульным тестированием системы, работающей с базой данных? Как избавиться от «человеческого фактора» и автоматизировать, в конце концов, тестирование пользовательского интерфейса?



В рамках подготовки Joker 2016 вышел пост про легаси, который вызвал бурное обсуждение тестирования в Java, которое мы решили продолжить в интервью с Николаем Алименковым.

Николай — специалист в области разработки на Java уже с 12-летним стажем. Помимо основной рабочей деятельности, он — сооснователь и тренер тренингового центра XP Injection, активный участник и докладчик на международных конференциях. При его участии были организованы IT-конференции Selenium Camp, JEEConf, XP Days Ukraine и IT Brunch. Мы поговорили как о том, что можно улучшить в области тестирования в своей команде «здесь и сейчас», так и о том, к каким технологическим переменам нам следует готовиться в будущем.

— Николай, мой первый вопрос — про самотестируемый код, использующий ассерты внутри самого себя. Твоё отношение к этой практике.

— Мне кажется, что эта идея заведомо была некорректной. Предполагалось, что такие проверки могут заменить тесты и сделать код самоверифицированным, но, к сожалению, не срослось. Причина очень простая: в этой идее полагаются на то, что, разработчик, когда он пишет код, одновременно думает и о реализации, и о побочных явлениях, которые могут произойти. Но разработчики не так хорошо переключают контекст налету. Вместо этого юнит-тесты заставляют делать сначала фокус на тестирование, а потом возвращаться к фокусу на разработку.
Читать дальше →
Всего голосов 43: ↑39 и ↓4 +35
Комментарии 48

Алексей Рагозин о диагностических интерфейсах JVM на jug.msk.ru

Время на прочтение 2 мин
Количество просмотров 4.6K
После перерыва на летние каникулы возобновились встречи московского сообщества Java-разработчиков jug.msk.ru. 30 августа 2016 года в офисе компании КРОК была возможность послушать доклад Алексея Рагозина «Диагностические интерфейсы JVM или как сделать профайлер своими руками». Далее — подробности встречи.


Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 2

[СПб, Анонс] Встреча CodeFreeze с разработчиком PHP Дмитрием Стоговым про внутреннее устройство виртуальной машины PHP

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

В среду, 7 сентября, в 20:00 в питерском офисе компании JetBrains состоится встреча с Дмитрием Стоговым, разработчиком компилятора PHP, сотрудником Zend Technologies. Тема встречи — внутреннее устройство виртуальной машины PHP и, в частности, последние изменения в PHP 7.



Участие, как всегда, бесплатное. Регистрация — по ссылке. Количество мест ограничено.


О докладе


Виртуальная машина PHP имеет различные внутренние изменения, однако самые интересные — поднимающие производительность от версии к версии. Именно о них расскажет Дмитрий, уделив внимание последним изменениям, реализованным в PHP 7 и принесшим двукратное улучшение, и новым идеям, реализуемым в ещё не выпущенных версиях.


Доклад будет интересен всем интересующимся разработкой интерпретируемых языков программирования.

Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 2

ООП будущего: Барух Садогурский и Егор Бугаенко о том, как мы будем программировать через 20 лет

Время на прочтение 23 мин
Количество просмотров 56K
Концепция объектно-ориентированного программирования воспринимается разработчиками по-разному: кто-то говорит, что ей уже пора на свалку истории; кто-то кодит и не задумывается о том, что, как и почему он делает; а кто-то пытается работать в «pure OOP» парадигме, переворачивая классические паттерны с ног на голову.

В преддверии Joker 2016 мы попросили Баруха Садогурского обсудить судьбу Java и ООП с Егором Бугаенко. Что из этого получилось, слушайте в аудиоформате или смотрите в видео:



А под катом лежит полная расшифровка интервью со всеми ссылками.
Читать дальше →
Всего голосов 68: ↑58 и ↓10 +48
Комментарии 331

Let the Holy War begin: Java vs С++

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


В преддверии Joker 2016 мы накатали пост про Java Performance, который вызвал бурю эмоций у читателей. Дабы вбросить топлива в вентилятор и попытаться все-таки прийти к какому-то единому решению, мы решили привлечь экспертов из разных «лагерей»:

  • Дмитрий Нестерук. Эксперт по .NET, С++ и инструментам разработки, автор курсов по технологиям и математике, квант.
  • Андрей Паньгин. Ведущий программист компании Одноклассники, специализирующийся на высоконагруженных бэкендах. Знает JVM как свои пять пальцев, поскольку ранее на протяжении нескольких лет разрабатывал виртуальную машину HotSpot в Sun Microsystems и Oracle. Любит ассемблер и низкоуровневое системное программирование.
  • Владимир Ситников. Десять лет работает над производительностью и масштабируемостью NetCracker OSS — ПО, используемого операторами связи для автоматизации процессов управления сетью и сетевым оборудованием. Увлекается вопросами производительности Java и Oracle Database.
  • Олег Краснов. CTO компании SEMrush и адепт ANSI C.

Читать дальше →
Всего голосов 65: ↑53 и ↓12 +41
Комментарии 160

Гейзенбаг — новая конференция по тестированию от JUG.ru Group

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


Мы проводим много разных конференций для разработчиков: Java, .NET, JavaScript, iOS/Android, – и в каждой из них акцент всегда ставится на технический хардкор и отсутствие воды в докладах. Кроме того, мы уже больше года опрашиваем наших участников, каких конференций не хватает в России. И вот результат: 10 декабря в Москве состоится первая в своем роде глубоко техническая конференция по тестированию Гейзенбаг 2016 Moscow.

Обратите внимание: Гейзенбаг — это именно конференция «по тестированию», а не «для тестировщиков». Мы приглашаем на конференцию:

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

Итак, какую техно-жесть мы готовим для вас? Смотрите под катом.
Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 11

О Legacy-коде без максимализма: что делать

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


Представьте, что вам дали задачу поправить часть кода. В голове возникнет много мыслей. Кто его написал? Когда? А может он — legacy? Где документация? Давайте попробуем разобраться с «наследием» основательно и со всех сторон. Поможет нам в этом вопросе Андрей Солнцев @asolntsev (http://asolntsev.github.io/), разработчик из таллинской компании Codeborne. Начнём.

— Андрей, вы знакомы с трудами Michael Feathers, например, «Working Effectively with Legacy Code»? В книге акцентируется внимание на важности тестирования и выделяется одно из ключевых отличий legacy от не legacy-кода — это наличие тестов. Вы согласны с этим мнением?

Абсолютно согласен! Скажу больше: юнит-тесты — необходимое, но недостаточное условие. И с юнит-тестами можно навалить так, что сам Геракл не разгребёт.
Что для настоящего джедая мастхав, так это:
  1. TDD — то есть тесты ДО кода.
  2. Чистый код (и чистые тесты).


Я очень люблю книгу Robert C. Martin «Clean Code» («Чистый код»). Это для меня настольная библия. Категорически всем советую. Кстати, его блог тоже великолепен.

Читать дальше →
Всего голосов 53: ↑44 и ↓9 +35
Комментарии 61

JavaScript Performance, базы данных и поиски «серебряной пули»: видеозаписи ТОП-5 докладов HolyJS 2016

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

Меньше трех месяцев прошло с HolyJS 2016 Piter, шутка ли, даже лето еще не кончилось, а доклады с конференции уже лежат в открытом доступе. Под катом вы найдете 5 лучших докладов, куда вошли как хардкорные вещи о JS-компиляторах, так и «антихипстерский» soft talk о трудностях выбора инструмента JS-разработчиком.




Кроме того, появились трое новых докладчиков в программе HolyJS 2016 Moscow.

Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 10

Joker Student Edition: Лучшие видео прошлых конференций

Время на прочтение 6 мин
Количество просмотров 14K
Бескрайние просторы интернета часто озаряются вспышками праведного гнева по поводу бессмысленности и бесполезности студентов-айтишников, нашего образования и сетований в стиле «раньше трава была зеленее».



Этот пост получится большим, а все вот почему: мы рассмотрим ТОП-5 докладов с двух наших студенческих конференций (Joker 2015 University Day и JPoint 2016 Student Day), поговорим о том, чего хочет молодежь в 2016 году, а также пройдемся по новому формату Joker 2016 Student Edition (Петербург, 15 октября, Экспофорум).
И все это уже здесь, под катом.
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 11

HolyJS в Москве: первые доклады и CallForPapers

Время на прочтение 4 мин
Количество просмотров 6K
Вселенная JavaScript прекрасна: язык растет и развивается огромными темпами, фреймворки плодятся (возможно, даже слишком:)), коммьюнити цветет и пахнет, в России появляются профессиональные конференции.



Если вы следите за событиями, то знаете, что в июне в Питере прошла первая в России масштабная профессиональная конференция по JavaScript – HolyJS. Все тогда прошло хорошо, а сама конференция 11 декабря приедет в Москву, об этом и поговорим.
Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 14

Java Stream API: что делает хорошо, а что не очень

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


Настолько ли «энергичен» Java 8 Stream API? Возможно ли «превращение» обработки сложных операций над коллекциями в простой и понятный код? Где та выгода от параллельных операций, и когда стоит остановиться? Это одни из многочисленных вопросов, встречающихся читателям. Попробуем разобрать подводные камни Stream API с Тагиром Валеевым aka @lany. Многие читатели уже знакомы с нашим собеседником по статьям, исследованиям в области Java, выразительным докладам на конференциях. Итак, без проволочек, начинаем обсуждение.

Тагир, у вас отличные показатели на ресурсе StackOverflow (gold status в ветке «java-stream»). Как вы думаете, динамика применения Java 8 Stream API и сложность конструкций выросла (на основе вопросов и ответов на данном ресурсе)?
Читать дальше →
Всего голосов 62: ↑59 и ↓3 +56
Комментарии 8

Информация

Сайт
jugru.org
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
Алексей Федоров