JAVA — TechCave

Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle).

Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре, с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года.

Стена группы

Загрузка...
Den
1 день назад
#

«Научиться Spring — бессмысленное занятие» — Джош Лонг, главный евангелист Spring о внутренней кухне проекта



Сегодня у нас в виртуальной студии самый известный в мире докладчик по Spring — Джош Лонг.



Именно его докладами открываются Java-конференции по всему миру. Именно он отвечает на вопросы сообщества, делает Spring Tips на YouTube, именно его «This week in Spring» мы читаем каждую неделю и многое другое.



Кстати, Джош разрешил использовать все материалы в нашем собственном «This week in Java», но он делает их в таком объеме и глубине, что эти данные ни разу не получилось сжать до формата «дайджеста на 15 минут».



Иногда кажется, что он находится во всех городах одновременно, читает доклады и пишет статьи в один момент. Сегодня мы будем разбираться, как это у него получается. Узнаем про «юргенизацию кода», причины удивительной живучести Spring и то, как он умудрился прожить столько лет без глобальных переписываний всего с нуля и другие интересные фишки.






Участники

Josh Long, Spring Developer Advocate at Pivotal



Евгений Трифонов, Олег Чирухин — редакция JUG.ru Group



Источник
Загрузка...
Den
1 день назад
#

Чарльз Наттер о динамических языках в JVM на jug.msk.ru



На очередной встрече московского сообщества Java-разработчиков
jug.msk.ru, прошедшей 4 октября 2018 года, Чарльз Наттер рассказал о технологиях, используемых
JRuby и другими динамическими языками для
JVM.



Источник
Загрузка...
1 день назад
#

Проверка данных — Java & Spring Validation



Проверка данных класса (bean) в java тема не новая, но актуальная и здесь я объединю различные аспекты: валидацию данных в рамках JSR-303, покажу как это сделать чисто в Java и с использованием Spring, как делать в стандартном приложении и в Web.

Содержание: Валидация данных (JSR-303) в

  • стандартном Java приложении

  • c использованием Spring

  • объединение Java + Spring

  • Spring MVC



Источник
Загрузка...
6 дней назад
#

Загубить производительность



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



Предмет доклада:



  • как смотреть на код, чтобы найти в нём узкие места

  • распространённые антипаттерны

  • неочевидные грабли

  • обход граблей



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



Источник
Загрузка...
6 дней назад
#

Boot yourself, Spring is coming (Часть 2)



Евгений EvgenyBorisov Борисов (NAYA Technologies) и Кирилл tolkkv Толкачев (Циан.Финанс, Твиттер) продолжают рассказывать о применении Spring Boot к решению задач воображаемого Железного банка Браавоса. Во второй части речь пойдет о профилях и тонкостях запуска приложения.






Источник
Загрузка...
6 дней назад
#

Как соединить Java, Js и графы с искусством, или история о том, как создавался интерактивный театр



В этом году в Эстонии проходит целая серия театральных представлений, объединенных в серию «История Столетия». В течение года 22 театра страны представили публике в своих спектаклях столетнюю историю Эстонии. Русскому театру Эстонии в ходе жеребьевки досталась тема будущего Эстонии.

Под катом — о том, как совместить технологию и искусство.

Источник
Загрузка...
6 дней назад
#

[Питер] Встреча JUG.ru с Венкатом Субраманиамом — Design Patterns in the Light of Lambda Expressions



В четверг, 18 октября, за день до Joker 2018, в петербургском офисе компании Oracle состоится встреча JUG.ru с Венкатом Субраманиамом (Dr. Venkat Subramaniam), всемирно известным Java-энтузиастом, Java-чемпионом, известным спикером, консультантом и популярнейшим автором книг по программированию. Регистрация и информация о спикере — под катом.






Шаблоны проектирования — одна из центральных идей в объектно-ориентированном программировании. Как только в языке Java появились лямбды, появился повод обдумать их влияние на паттерны проектирования. На этом Джуге мы рассмотрим некоторые типовые шаблоны и переработаем их с использованием лямбд. В добавок, мы познакомимся с менее популярными, но не менее интересными паттернами, в которых можно удачно применить лямбды.



Джуг пройдет на английском языке.



Источник
Загрузка...
6 дней назад
#

Обзор конференции Atlassian





Это обзор конференции Atlas Camp, которая проходила с 5 по 8 сентября в Барселоне. Организовала её компания
Atlassian, чтобы рассказать о нововведениях в своих продуктах и для непосредственного общения разработчиков Atlassian с посетителями. Докладчики говорили о грядущих изменениях в своём API, о том, как будет развиваться их маркетплейс, об изменениях в интерфейсе и best practices в разработке. Кроме того, в программе конференции были выступления представителей компаний, разрабатывающих наиболее успешные и важные плагины.

Так как довольно большая часть моих задач по автоматизации связана с продуктами Atlassian (на данный момент это Confluence и Jira, а раньше приходилось иметь дело с Crucible, Fisheye, Bitbucket), то мне было интересно, какие нововведения появятся в ближайшее время в их API. К тому же мне хотелось послушать про интересные плагины и узнать больше про разработку собственных. Под катом подробный отчёт о том, что в итоге я увидел и узнал, а также прочие важные организационные моменты.

Источник
Загрузка...
Den
8 месяцев назад
#

«Когда ты рассказываешь правдивую историю, ей верят гораздо больше» — Интервью с Олегом Шелаевым, часть 2





Несколько месяцев назад мы встретились с
Олегом Шелаевым, Developer Advocate компании ZeroTurnaround (далее — ZT). С тех пор Олег успел стать Java Champion (поздравляем!) и… покинуть ZT. Да, если откладывать интервью в долгий ящик, с героем может случиться разное.

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

  • о гипотезах и их проверке;

  • о блоге RebelLabs;

  • о разнице между продуктами и услугами;

  • о профилировщике XRebel;

  • о конференции GeekOUT и проекте VirtualJUG;

  • о простых и сложных цепочках в маркетинге.



Вот видео:

Для тех, кто предпочитает читать, а не слушать, ниже — полная расшифровка нашего с Олегом разговора. Приятного вам просмотра или прочтения.

Источник
Загрузка...
8 месяцев назад
#

Как устроен dtraceasm в JMH



В последней версии Java Microbenchmark Harness (JMH) появился новый профайлер — dtraceasm, долгожданный порт perfasm на Mac OS X, который умеет показывать ассемблерный профиль Java-бенчмарка.



Блиц-опрос показал, что не всем понятно, как в принципе возможно, получив на входе Java-метод, на выходе показать ассемблерный листинг скомпилированного метода с самыми горячими инструкциями, их распределением и небольшим профилем вида «А еще 5% времени виртуальная машина провела в методе Symbol::as_C_string(char*, int)».



В процессе портирования perfasm выяснилось, что на самом деле™ все не очень сложно и появилось желание рассказать, как такой профайлер устроен.



Для понимания статьи крайне желательно ознакомиться с JMH, например, посмотрев на примеры его использования.



Источник
Загрузка...
8 месяцев назад
#

Объект в футляре или Optional в Java 8 и Java 9. Часть 1: «Как без него прожить?»



Объект в футляре

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

Какие это могут быть объекты? Многие сервисные компании, торговые предприятия и банки предоставляют различные виды услуг в зависимости от времени суток. Различные устройства могут выполнять или не выполнять те или иные действия в зависимости от своего состояния. Если вы читаете этот текст с экрана смартфона или ноутбука, он может перестать его показывать, если заряд аккумуляторов опуститься ниже определенной границы.

В этой и последующей статье этого tutorial мы рассмотрим простенькие объекты с динамической структурой и способы их моделирования и использования в Java с помощью методов класса Optional.

Источник
Загрузка...
Den
8 месяцев назад
#

Пылесосим код IDEA Ultimate с помощью анализа потоков данных



IntelliJ IDEA содержит тысячи инспекций для Java-кода. Большинство из них работает как продвинутые регулярные выражения: по определённому шаблону они ищут фрагменты программы, которые выглядят как опечатки, избыточны, некрасивы или могут работать медленно. Но есть инспекция совсем другого рода. У неё несколько странное название: «Constant conditions & exceptions». В действительности она выполняет анализ потоков данных в Java-методах с помощью так называемого «символьного выполнения». В результате такого анализа могут обнаружиться некоторые подозрительные факты. Вот некоторые примеры таких фактов:

  • Разыменование ссылки может привести к NullPointerException

  • Условие всегда истинно или ложно

  • Индекс массива всегда за пределами допустимых границ

  • Приведение типа может привести к ClassCastException



Источник
Загрузка...
Den
8 месяцев назад
#

Optional: Кот Шрёдингера в Java 8



Представим, что в коробке находятся кот, радиоактивное вещество и колба с синильной кислотой. Вещества так мало, что в течение часа может распасться только один атом. Если в течение часа он распадётся, считыватель разрядится, сработает реле, которое приведёт в действие молоток, который разобьёт колбу, и коту настанет карачун. Поскольку атом может распасться, а может и не распасться, мы не знаем, жив ли кот или уже нет, поэтому он одновременно и жив, и мёртв. Таков мысленный эксперимент, именуемый «Кот Шрёдингера».



Класс Optional обладает схожими свойствами — при написании кода разработчик часто не может знать — будет ли существовать нужный класс на момент исполнения программы или нет, и в таких случаях приходится делать проверки на null. Если такими проверками пренебречь, то рано или поздно (обычно рано) Ваша программа рухнет с NullPointerException.

Источник
Загрузка...
8 месяцев назад
#

Java конференция с английскими корнями. Обзор размера XXXL



Друзья, мы с
kent2171, моим коллегой из CleverDATA, побывали на одной из крупнейших конференций Европы – Jax London 2017, посвященной экосистеме Java и всему, что ее окружает в современном мире, – микросервисной архитектуре, Continuous Delivery, а также культуре и практикам DevOps.

Объем полученной за четыре дня информации оказался настолько огромным, что обзор пришлось разбить на две части. Сегодня мы предлагаем вашему вниманию первую часть, в которой расскажем о Chaos Engineering подходе к построению устойчивых распределенных систем, а также о том, как контейнеризация java-приложений сказывается на процессе разработки и какие преимущества кроме синтаксиса дают lambda выражения. Это основные моменты. Остальное — под катом.



Источник
Загрузка...
9 месяцев назад
#

Путь запроса по внутренностям Spring Security



Большинство разработчиков имеет только примерное представление о том что происходит внутри Spring Security, что опасно и может привести к появлению уязвимостей.

В этой статье шаг за шагом пройдемся по пути http запроса, что поможет с пониманием настраивать и решать проблемы Spring Security.

image

Источник
Загрузка...
2 3

Авторизация

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

Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch
genagy
Pasha Radiuk
KotikBSD
Эрик Имашев
Амир Исмагилов