Рубрика «java» - 167

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

В среду, 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.
Читать полностью »

Я календарь переверну
И снова третье сентября
И вновь восьмое сентября

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

Барух Садогурский и Кирилл Толкачёв про DevOps на jug.msk.ru - 1
Читать полностью »

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

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

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

Как выглядит идеальная на наш взгляд трансляция? Вот несколько ссылок на свежие трансляции последних конференций:
«Ни единого разрыва»: чего стоит сделать онлайн-трансляцию, которая не будет падать, тормозить и вызывать боль в глазах? - 2«Ни единого разрыва»: чего стоит сделать онлайн-трансляцию, которая не будет падать, тормозить и вызывать боль в глазах? - 3«Ни единого разрыва»: чего стоит сделать онлайн-трансляцию, которая не будет падать, тормозить и вызывать боль в глазах? - 4«Ни единого разрыва»: чего стоит сделать онлайн-трансляцию, которая не будет падать, тормозить и вызывать боль в глазах? - 5

А если вам интересно, чего нам стоило отточить трансляцию и видеозаписи до такого состояния, а также какие факапы с реал-тайм системой вызывают самый сильный баттхертом, читайте под катом.
Читать полностью »

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

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

Читать полностью »

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

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

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

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

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

— Мне кажется, что эта идея заведомо была некорректной. Предполагалось, что такие проверки могут заменить тесты и сделать код самоверифицированным, но, к сожалению, не срослось. Причина очень простая: в этой идее полагаются на то, что, разработчик, когда он пишет код, одновременно думает и о реализации, и о побочных явлениях, которые могут произойти. Но разработчики не так хорошо переключают контекст налету. Вместо этого юнит-тесты заставляют делать сначала фокус на тестирование, а потом возвращаться к фокусу на разработку.
Читать полностью »

Технический департамент компании HeadHunter

На дворе сентябрь, а это значит, что мы в очередной раз объявляем набор в Школу программистов HeadHunter. В седьмой раз Школа открывает свои двери — в этом году мы снова будем готовить full-stack разработчиков.

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

Четверть нашего техдепа — это выпускники Школы. Мы любим разработчиков, потому что умеем их готовить!
Читать полностью »

image

В этом выпуске

JVM Language Summit: ведущие эксперты о будущем Java
— Черновой вариант value types на подходе
— Инвесторы вливают деньги в Hadoop
JITWatch: новый инструмент performance-инженера
… и многое другое
Читать полностью »

Статья написана для тех, кто умеет писать простейшие программы на java, но не умеет их собирать. Этим людям уже известно, что такое классы, что такое пакеты и зачем нужен public static main(String[] argv), но код без среды разработки они не запускали, да и не понимают кому и зачем это вообще может понадобиться.

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

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

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

Читать полностью »

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

Алексей Рагозин о диагностических интерфейсах JVM на jug.msk.ru - 1
Читать полностью »

RxJava — это реализация ReactiveX для Java — библиотеки для асинхронной обработки потоков данных. Паттерн observable на стероидах, как они сами пишут. В интернете, в том числе на Хабре, есть много «введений в RxJava». Я хочу привести несколько примеров реальных задач. Они не очень сложные, но возможно кто-то увидит какие-то сходства со своими и задумается.

Собственно, задачи:

1. Простое клиентское TCP-соединение. Есть протокол поверх TCP/IP, нужно сформировать сообщение, подключиться к удаленному узлу, если еще не подключился, передать сообщение и прочитать ответ. Плюс обработка ошибок, проверка таймаутов, повтор отправки в случае неудачи. Жестких требований к производительности нет, трафик не большой.

2. Есть двигатель и некоторый датчик. Нужно произвести сканирование — пройтись двигателем по заданной траектории: послать двигатель к точке, дождаться, когда он к ней приедет, снять показания датчика, отобразить точку на графике (в GUI потоке), поехать к следующей точке…

3. Полученные после сканирования данные нужно обработать (условно длительный вычислительный процесс) и засунуть в pdf-отчет (условно длительный процесс ввода-вывода) вместе с изображением графика и данными введенными пользователем (GUI поток).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js