JPoint 2017

7-8 апреля 2017
Москва, Россия
Международная Java-конференция
Смотреть
В избранное

Алексей Шипилёв

Разработчик Java в Red Hat

Тагир Валеев

Разрабатчик в JetBrains

Барух Садогурский

Developer advocate в JFrog

Вьет Нгуен

Ведущий разработчик в Альфа-Лаборатория

Sasha Goldshtein

CTO в Sela Group

О мероприятии

JPoint — международная Java-конференция для опытных Java-разработчиков. 7-8 апреля 2017 года состоялся пятый по счёту JPoint: с каждым годом он растёт, становится ещё больше, интереснее и хардкорнее. Ежегодно конференция собирает более 1000 участников.

Все доклады конференции только про востребованные в Java технологии. Основные темы JPoint: производительность, concurrency, тестирование, распределенные системы и высокие нагрузки в мире Java, а также будущее платформы.

Для кого

  • Техническим директорам
  • Тим лидам
  • Инженерам
  • Программистам
  • Разработчикам
Поделиться

Расписание

Развернуть все
пятница, 7 апреля
День 1
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Шипилёв

Разработчик Java в Red Hat

Перформанс: Что В Имени Тебе Моём?

Оптимизация производительности бередит умы опытных разработчиков с начала компьютерных времён. В коллективном бессознательном оптимизация — это то, что делает программирование интересным, конференции раскупаемыми, личный послужной лист — золотым. В этом обзорном докладе мы поговорим об оптимизации больших/инфраструктурных проектов (к примеру, OpenJDK): общих принципах, тенденциях и соотношениях; жизненном цикле проекта и экономике оптимизаций; роли и жизненном цикле тестов производительности; типичных ловушках, разногласиях и противоречиях, в которых оказываются оптимизационные задачи в крупных проектах.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Тагир Валеев

Разрабатчик в JetBrains
и ещё 1
докладчик

Java Puzzlers NG S02: Всё чудесатее и чудесатее

Ещё, ещё паззлеров! Чем больше опыта индустрия набирает с Java 8, тем чудесатее и чудесатее она нам кажется. Такое впечатление, что все эти стримы, лямбды, монады, Optional-ы и CompletableFuture-ы были понапиханы туда исключительно для того, чтобы нас запутать! И Java 9, едва замаячив на горизонте, уже сияет и переливается прекрасными загадками и непонятками. В этом сезоне паззлеров у нас, как всегда, прекрасный набор странностей, смешные (по крайней мере, ведущим) шутки; и призы, потому что куда же без призов?!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Вьет Нгуен

Ведущий разработчик в Альфа-Лаборатория

Где мой сервис, чувак?

Как заменить на ходу колесо машины? Как поменять шестеренку в механизме, чтобы все не разломалось? А если при этом остальные шестеренки постоянно отваливаются? И механизм в огне? И ты в аду?

На этом докладе мы будем делать обновление Java-микросервисов без недоступности для клиентов.

Здесь будет много разных тулзов, таких как HAProxy, Ansible, Vegeta, Mesos/Marathon, Ribbon/Eureka; полотна конфигов и бездонный океан боли распределенных систем, в который мы будем последовательно погружаться.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Sasha Goldshtein

CTO в Sela Group

Fast and Safe Production Monitoring of JVM Applications with BPF Magic

All of us have seen these evasive performance issues or production bugs in the field, which standard monitoring tools don't see or catch. BPF is a Linux kernel technology that enables fast, safe, dynamic tracing of a running system without any preparation or instrumentation in advance. The JVM itself has a myriad of insertion points for tracing garbage collections, object allocations, JNI calls, and even method calls with extended probes. When the JVM tracepoints don't cut it, the Linux kernel and libraries allow tracing system calls, network packets, scheduler events, off-CPU time, time blocked on disk accesses, and even database queries. In this talk, we will see a holistic set of BPF-based tools for monitoring JVM applications on Linux, and revisit a systems performance checklist that includes classics like fileslower, opensnoop, and strace – all based on the non-invasive, fast, and safe BPF technology.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Андрей Паньгин

Разработчик в Одноклассники
и ещё 1
докладчик

JVM-профайлер с чувством такта

Все Java-профайлеры в той или иной степени лукавят, потому как средств JDK заведомо не хватает, чтобы точно узнать, на что тратятся такты процессора. Даже «честные» профайлеры, основанные на внутренних интерфейсах HotSpot JVM, не расскажут всей правды. Остаётся прибегнуть к аппаратным счётчикам и функциям ядра, но вот беда: они ничего не знают о Java-коде. Мы обсудим различные подходы к профилированию: JVM TI, AsyncGetCallTrace, perf_events и Flame Graphs; разберём принципы их работы, достоинства и ограничения, а также найдём способ взять лучшее от каждого из них. В завершение рассмотрим, как Одноклассники профилируют в продакшене весь стек от Java-кода до ядра Linux.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Барух Садогурский

Developer advocate в JFrog

“Computer, how my build is doing?” и другие волшебные заклинания

Как вы все прекрасно знаете, инженеры — лентяи. Иногда мы можем потратить месяц бессонных ночей для того, чтобы потом нам не пришлось нажимать несколько кнопок. Как раз для нас (на самом деле нет) в Amazon придумали прекрасный сервис голосовых команд Alexa, с помощью которого мы можем, откинувшись в кресле с бокалом коньяка/кофейка/самогонки (нужное подчеркнуть), управлять, да пожалуй, чем угодно. В этом докладе я покажу вам пример приложения, которое добавляет голосовой интерфейс к совершенно неожиданным вещам, как IntelliJ IDEA и Jenkins , а вы уж за намного меньше, чем месяц ночей, прикрутите его к чему захотите.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Владимир Озеров

Архитектор в GridGain

Масштабируемость в распределенных in-memory системах

Платформы для распределенных in-memory вычислений, такие как Apache Ignite, полагаются на горизонтальное масштабирование. Больше машин в кластере — больше профит. Добавил вторую железку, и стал в два раза быстрее? Добавил еще десять, и ускорился на порядок? Всегда ли это так? За что отвечает фреймворк, а за что должен отвечать разработчик?

В докладе мы рассмотрим основные компромиссы и противоречия, возникающие при проектировании приложений на основе in-memory систем:

  • Преимущества и недостатки различных алгоритмов шардирования
  • Адаптация модели данных для эффективной работы в кластере
  • Проблемы синхронизации и координации в распределенных системах.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Victor Rentea

Sr. Architect, Developer and Technical Lead в IBM

Brainstorming a Clean, Pragmatic Architecture

What’s the goal of Architecture? Developer Comfort! Really!

Did you ever wanted to rewrite your enterprise application from scratch? I’m pretty sure the new codebase would be two times smaller, right? But, given the time and budget for a rewrite, what would you do to keep it from becoming “legacy” again in 2 years?...

Ok, Wake Up! Your boss won’t approve a rewrite! But still, what should you aim for with your continuous refactorings and clean-ups?

Let me share with you what I believe to be the ideal mindset when working on an enterprise application: Pragmatic, Clean Architecture. Simple code that solves the problem at hand without any useless over engineering. Clean Architecture that allows you to defend your domain from external Evil influences. An evolutionary approach to micro-architecture that allows you to grow the design as new functional complexity is being added to the application. And of course, tests, to fight the biggest problem of all: Fear.

I want you to criticize your architecture, and to prefer a minimalistic design that would preserve a happier developers. It's a story that I've gone through with teams on numerous projects, and not it’s time to share. BTW: it’s roughly the architecture and principles that all the new projects on my account now use.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Евгений Борисов

Разработчик Java в Naya Technologies

Spring – Глубоко и не очень

Постоянно работая со Spring, Евгений ранее уже выступал с докладом Spring Puzzlers. Теперь он возвращается с новыми проблемами, нюансами и задачами, требующими нестандартных решений — но у нового доклада более серьёзный формат. Будут разбираться конкретные ситуации, часть из которых могла попадаться вам в реальных проектах, часть ещё попадётся, а что-то покажется совершенно эзотерическим — но все случаи взяты из реальных проектов. Мы будем говорить в основном про spring-core, оговаривая в процессе последние изменения, которые внёс Spring 4.3. Как обычно будут кишки, расчленёнка, вопросы в зал, призы и много лайвкодинга!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Milen Dyankov

Developer Advocate в Liferay

Microservices and Modularity or the difference between treatment and cure!

Everyone is talking about microservices these days! So the question is should you also jump on that bandwagon and why those somewhat older colleagues of yours (yep, those that still remember the EJB 2 revolution) are not that enthusiastic? To help you make the right decisions, this talk will first focus on explaining complexity - the problem microservices claim to solve. It then will concentrate on modular architecture and how it compares to what most people understand by microservices! Live demo will present multiple ways to modularize exiting JEE application going from "monolithic" Glassfish EJB/JSF style app through SpringBoot and OSGi to reach a distributed system with a portal as front-end.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Алексей Савватеев

Ректор в Университет Дмитрия Пожарского

Задача о коллективной ответственности

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

Оказывается, возможно. Но не очень тривиально. Подобные схемы борьбы с массовыми нарушениями могут применяться (и применяются в некоторых странах) при борьбе с налогоуклонением, списыванием на экзаменах, взяточничеством и т.д.

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
суббота, 8 апреля
День 2
Секция 1

Кирилл Толкачёв

Главный разработчик в Альфа-Лаборатория
и ещё 1
докладчик

Проклятие Spring Test

Сегодня только очень ленивый разработчик не пробовал Spring Boot. Всем хочется быть на коне и во всеоружии. Мы писали Spring приложения, теперь Spring Boot. Мы тестировали Spring приложения, а теперь тестируем… ну, вы поняли.

Чем проще инструмент, тем больше магии он делает «под капотом». Spring Boot не исключение. Более того, мало кто задумывается, что происходит при использовании привычных всем инструментов, описанных в документации Spring Test.

Попробуем разобраться в деталях того, какие грабли нам аккуратно подложили тут и там. Для этого протестируем «типичное» приложение и зададим себе вопросы, которые должен задавать любой разработчик, использующий Spring и яростно внедряющий Spring Boot на своих проектах.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Arun Gupta

Vice president of developer advocacy в Couchbase

Package your Java Application using Docker and Kubernetes

Docker is the developer-friendly container technology that enables a creation of your application stack: OS, JVM, app server, app, database, and all your custom configuration. So you are a Java developer but how comfortable are you and your team taking Docker from development to production?

Docker provides PODA (Package Once Deploy Anywhere) and complements WORA (Write Once Run Anywhere) provided by Java. It also helps you reduce the impedance mismatch between dev, test, and production environment and simplifies Java application deployment.

This workshop/session explains how to package, deploy, and scale Java applications using Docker.

Outline:

  • Docker 101.
  • Running first Java application with Docker.
  • Package your Java application with Docker.
  • Sharing your Java application using Docker Hub.
  • Package your Java application as multi-container applications.
  • Deploy your Java application using Maven.
  • Kubernetes 101.
  • Deploy your Java application using Kubernetes.
  • Develop/deploy your application using NetBeans, Eclipse, and IntelliJ.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Никита Липский

Инициатор и руководитель проекта в Excelsior

Верификация Java байт-кода: когда, как, а может отключить?

Сегодня Java разработчики все чаще используют библиотеки для порождения Java байт-кода в рантайме. Делается это для эффективной реализации различных трюков, которые сложно или невозможно выразить на языке Javа. Когда используется Java, компилятор javac гарантирует, что на выходе получится корректный Java байт-код. Но, спускаясь на уровень непосредственно байт-кода, часто нужно самостоятельно следить за его корректностью. Иначе при загрузке порожденных классов на выходе будет j.l.VerifyError, потому что JVM посредством верификатора Java байт-кода строго следит за корректностью байт-кода, который она загружает. Таким образом, порождая байт-код, недостаточно просто знать семантику байт-кодных инструкций — нужно также знать, как работает Java byte-code верификатор, какой байт-код он считает корректным, а какой нет.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Андрей Бреслав

Руководитель проекта в JetBrains

Будущее Kotlin: Стратегия и тактика

Успешные проекты имеют тенденцию расти, и Котлин — не исключение. Мы поддерживаем новые платформы (JavaScript, Native) и новые парадигмы вычислений (coroutines). Этот доклад — о том, как мы представляем себе будущее Kotlin как языка и экосистемы. Мы поговорим о стратегии: что, на наш взгляд, нужно индустрии, и как тут поможет Kotlin. О тактике: как мы справляемся с проблемами совместимости и legacy, и будет ли когда-нибудь Kotlin 2.0. О сиюминутном: как насчет continuous delivery для языковых фич? Или, более широко: насколько можно применять agile-подход к разработке языка программирования?

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Алексей Шипилёв

Разработчик Java в Red Hat

Shenandoah: сборщик мусора, который смог

Одна из главных проблем больших Java-приложений — это cбо... рка мусо... ра. Хранение больших куч данных, активно фрагментирующие приложения и прочие выпадающие из гипотезы о поколениях нагрузки приносят ещё больше проблем. Промышленные GC давно решили первую большую часть проблемы сборки, concurrent marking — выяснение графа объектов без долгой остановки приложения. Shenandoah — новый сборщик мусора, который пытается решить вторую большую часть головоломки, а именно перемещение объектов без остановки приложения, тем самым сбивая паузы ещё больше. Этот доклад об особенностях дизайна и реализации Shenandoah, достоинствах, которыми можно гордиться, и недостатках, с которыми приходится мириться.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Иван Пономарёв

Руководитель проектов разработки в КУРС

Скрытая сложность повседневной задачи: отображение табличных данных

Табличный элемент управления (грид), отображающий данные из реляционной базы — один из самых распространённых компонентов пользовательского интерфейса, и все сталкивались с проблемами его производительности и удобства. Доклад покажет, что за кажущейся простотой грида скрываются интересные и не решённые до конца проблемы, требующие познаний в разных областях математики. Мы попробуем отыскать баланс между скоростью и удобством, параллельно научившись интерполяционному поиску, разобравшись в том, что же такое Collation Rules, и увидев, как можно «помогать» базе быстро извлекать нужные для нас данные.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Алексей Кудрявцев

Разработчик в JetBrains

Как мы боремся за производительность Intellij IDEA

Борьба за производительность в команде IntelliJ IDEA не утихает ни на секунду: стоит только устранить утечку кучи мегабайт, успокоиться и открыть YouTube, как кто-то сразу же коммитит ещё большую кучу. Приходится со вздохом отрываться от пирожного и идти чинить квадратичные алгоритмы, добавлять кеши, писать на это тесты, параллелить нагрузку и придумывать специализированные коллекции.

Доклад поведает, какие подходы в этом использовали, какие уроки извлекали, какие удачи и (главным образом) неудачи настигали.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Николай Алименков

Java-техлид в XP Injection

Сделаем Hibernate снова быстрым

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Андрей Ершов

Руководитель проектов и архитектор в Dino Systems

CRDT. Разрешай конфликты лучше, чем Cassandra

Несколько дата-центров с асинхронной репликацией и отсутствием координации; доступность и корректная работа в условиях сетевой сегментации; молниеносный отклик на клиенте и оптимистичный UI; офлайн-режим работы в браузере или на смартфоне. Всё это звучит круто, не правда ли? Немногие приложения сегодня могут похвастаться таким набором возможностей. Причина в том, что всё это может привести к конкурентным изменениям, а конкурентные изменения приводят к конфликтам… И вот вы уже пишете свой conflict resolver на timestamp’ах. А будет ли ваш conflict resolver работать правильно? Скорее всего, нет. Научное сообщество придумало решение проблемы — CRDT (Conflict-free replicated datatypes). В своем докладе Андрей покажет почему простейшие conflict resolver’s не работают на конкретном примере, а потом расскажет про CRDT. Слушатели узнают о различных видах CRDT, их преимуществах и недостатках. Доклад также коснётся границ применимости CRDT. В конце доклада Андрей рассмотрит несколько баз данных с поддержкой CRDT, для того, чтобы вы знали, какую БД выбрать для вашего следующего проекта. Или, может быть, задумались о написании своей собственной…

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Владимир Долженко

Разработчик в IHS Markit

Внутрь VM сквозь замочную скважину hashCode

«Разрушители легенд» возвращаются. Очередная городская легенда, которой суждено быть разрушенной — HashCode. Как она используется и зачем? Что за ней скрывается? Как, выдвигая даже самые наивные предположения и сравнивая результаты экспериментов, разрушить легенду, исследовать протёкшие абстракции и узнать об архитектуре JVM? Обязательно будут провокационные вопросы, баттлы, разнообразные бенчмарки и несколько практических советов.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Philipp Krenn

Developer Advocate в Elastic

Full-Text Search Explained

Today’s applications are expected to provide powerful full-text search. But how does that work in general and how do I implement it on my site or in my application? Actually, this is not as hard as it sounds at first. This talk covers: How full-text search works in general and what the differences to databases are. How the score or quality of a search result is calculated. How to implement this with Elasticsearch. Attendees will learn how to add common search patterns to their applications without breaking a sweat.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Arun Gupta

Vice president of developer advocacy в Couchbase

Deploy your microservice using Amazon Web Services S3, API Gateway, Lambda and Couchbase

Serverless applications, aka Function-as-a-Service or FaaS, relies upon services to manage server-side logic and state. These applications run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party. These functions can be triggered by a REST API call, scheduled timer, or another function. Static website hosting on Amazon Web Services S3, API Gateway for RESTful APIs, AWS Lambda for functions and Couchbase for persistence provide an ideal combination for deploying, managing and scaling your microservice.

This talk will provide a quick introduction to each part of the stack. Then it will explain how a Serverless Application Model can be used to deploy different components of microservice. A path from your favorite IDE to a fully deployed and functional microservice will be shown with live coding.


Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Алексей Зиновьев

Java/BigData-тренер в EPAM

Kafka льёт, а Spark разгребает!

Использовать Hadoop/Spark как средство построения отчётов умеют многие, но последнее время всё больше и больше клиентов хотят обработки больших потоков данных в режиме real-time (а не просто сохранять их в S3 или Cassandra для будущих отчётов, на построение которых уходят часы). В типичном ТЗ по real-time аналитике часто имеются пункты о том, что необходимо подсчитывать «на лету» некоторые агрегированные величины за небольшой период времени, фильтровать поток, уменьшая нагрузку на последующие стадии вычислений. Достаточно часто мы можем видеть проекты, где команды организуют своё «озерцо данных» в Amazon, просто сваливая все приходящие ивенты в Kafka. Справится ли Spark с потоками из Kafka? А если справится, то какой ценой и что ему в этом поможет? Не ждите на докладе введения в Spark, RDD, разговоров за Big Data. Один кейс — одно решение — немного теории — правим конфиги — пишем код.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Владимир Иванов

Ведущий инженер Oracle в Oracle

Техники векторизации кода в JVM

У каждого современного процессора присутствует «джентльменский набор» векторных инструкций (SIMD) для параллельной обработки данных: множество версий SSE и AVX на x86/x64, VIS на SPARC, NEON в ARM, AltiVec в Power. Такое многообразие не лучшим образом сказывается на удобстве использования. Существует множество нюансов в работе даже в рамках одной платформы, не говоря уже о кросс-платформенном случае. Разговор пойдёт о том, как сейчас выглядят векторные расширения процессора и на какие ухищрения приходится идти JVM, чтобы не давать им простаивать: CPU dispatching, VM intrinsic’и, автоматическая векторизация байт-кода в JIT-компиляторах. Будет упомянут и специализированный векторный API (Vector API), работы над которым активно ведутся в Project Panama.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Сергей Куксенко

Java Performance Engineer в Oracle

Повесть о том, как один инженер HTTP/2 Client разгонял

Команда Oracle много рассказывала о методологии оптимизации производительности. Не пора ли перейти к практике и показать, как Oracle использует (или не использует) всё то, о чем вещали со сцены? Берётся свежий (спылу, сжару) код, например «JEP 110: HTTP/2 Client» (который в будущем появится в JDK) и показывается, как команда запускала, где смотрела и что крутила, чтобы сделать его быстрее. Примечание: доклад не про HTTP/2. Хотя, конечно, некоторых его деталей избежать не удастся.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Тагир Валеев

Разрабатчик в JetBrains

Java-инспекции в IntelliJ IDEA: что может пойти не так?

IntelliJ IDEA постоянно подчёркивает ваш код, предлагая заменить его на что-нибудь получше. Иногда результаты кажутся просто волшебными. Как IDE это делает? Как разбирается в вашем коде, как генерирует новый код на замену старого и какие тут есть подводные камни?

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Виктор Полищук

Java технический лидер в Infopulse

Война с данными: кровавый Ынтерпрайз наносит ответный удар

Иногда программисты в силу разных причин теряют или портят данные в своих «боевых» системах. Иногда такое происходит по причине неправильно выбранного типа данных. И это не всегда сложные типы: речь пойдёт о банальной боли от строк, дат, времени и ряда числовых типов Java. Если вы понятия не имеете, как эти простые и хорошо знакомые ребята могут нанести вред вам и вашему приложению — добро пожаловать.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 4

Volker Simonis

OpenJDK contributor в SAP

Analyzing HotSpot Crashes

Did you ever found hs_err_pid or replay_pid files in your Java application directory? Did your Java application ever crash and you didn't know why? This talk will unveil the contents stored by the HotSpot crash handler into the corresponding error files and how this information can be used to analyze and reproduce the crash. It will also introduce tools like the HotSpot Serviceability Agent which helps to introspect native core files and extract the relevant Java information from them which is otherwise not easily accessible by native debuggers.


Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Charles Nutter

Software Engineer в Red Hat

Going Native: Foreign Functions on the JVM

The JVM is of course the home of Java, and over the past decade it has also started to host a number of alternative languages. However, there's still a wide world of native code and native libraries out there — for graphics, crypto, OS integration and more — but most JVM users are unable to use them.That's changing with projects like the Java Native Runtime and Project Panama, two attempts to bring native library integration to the JVM. In this talk, we'll cover some use cases for calling into native libraries, compare capabilities and performance of the available options, and see what the future holds in Java 9 and beyond.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Антон Кекс

Сооснователь в Codeborne
и ещё 1
докладчик

Kotlin Puzzlers

Котлин — приятный альтернативный язык для JVM, старающийся улучшить удобство написания кода по сравнению с Java. Хоть он уже не нов, после выпущенной версии 1.0 в 2016 году его используемость стала резко расти. Антон сделает быстрое вступление и сразу перейдёт к паззлерам — коротким программам на Котлине, которые делают не совсем то, что кажется с первого взгляда. Это будет полезно как и программирующим на языке, так и интересующимся им. Новичкам паззлеры помогут узнать о некоторых интересных фичах языка. Несмотря на то, что Котлин разрабатывался в течение 6 лет и даже специально пытался избежать самые известные Java-паззлеры, у него всё равно появились свои заковырки и ньюансы, которые не найти в документации.


Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Билеты

Видеозапись
Доступ к записям всех докладов
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Организатор

JUG.ru
https://jugru.org

Организационный комитет: JUG.ru, info@jugru.org, 78126802915

Похожие мероприятия

5 июня 2016
Докладов 25
Просмотров 5
java, javascript, qa, код, по, программирование, разработка, софт, тестирование
2-3 июня 2017
Докладов 27
Просмотров 11
java, javascript, код, по, программирование, разработка, скрипт, софт, тестирование
4 апреля 2017
Докладов 16
Просмотров 6
java, javascript, qa, код, по, программирование, разработка, скрипт, тестирование
показать ещё