TechCave

Описание сайта

Основная информация

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

Рейтинг: 1
Создана 4 года назад
Владелец root

Стена группы

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

Создание дистрибутивов для разных операционных систем в Java 9 и 10



В статье рассказывается о построении полноценных дистрибутивов для
Windows,
macOS и
Linux стандартными средствами
Java 9 и
10.

Дополняет ранее опубликованную статью об
уменьшении размера дистрибутива, делая акцент не на модульности, а на особенностях создания дистрибутива для разных операционных систем.

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



Источник
1 год назад
#

Подключаем Swagger модуль в Play Framework



Documenting Play Framework using Swagger

Оригинальный источник по настройке swagger-модуля



Play Framework — это MVC веб-фреймворк для языков программирования Java и Scala от компании ранее называемой Typesafe, а нынее Lightbend.



сайт:



Play Framework

статья с Хабра:



Впечатления от работы с Play! Framework 2.1 + Java

wiki



Play (фреймворк)

записки программиста



Play Framework — все, что вы хотели о нем узнать, но почему-то боялись спросить

Swagger — это целая множество инструментов, на протяжении всего жизненного цикла разработки API, от дизайна и документации, до тестирования и развертывания.



сайт:



Swagger

статьи с Хабра:



Документирование #микросервисов
3 лучших инструмента для описания RESTful API

wiki:



OpenAPI
Swagger (software)


Источник
Den
1 год назад
#

Servlet 4.0: Делаем больше быстрее. Server Push



Всем доброго и постепенно наступающего!

До окончания этого года остаётся не так уж и много времени, но мы ещё похоже успеем запустить два курса, одним из которых будет курс по
Java EE. Так что держите первую часть заметок по Servlet 4.0

Новый крупный релиз API Servlet охватывает протокол HTTP/2 и прогнозирует потребности в ресурсах.


Долгожданное обновление для Java EE 8 включает в себя обновления существующих API: JAX-RS 2.1, Bean Validation 2.0, JavaServer Faces (JSF) 2.3, Contexts and Dependency Injection (CDI) 2.0, JSON with Padding (JSONP) 1.1 и Servlet 4.0, а также два новых API: JSON-Binding (JSON-B) и Java EE Security. Среди этих API, Servlet 4.0 представляет собой достаточно крупное обновление, первое с 2009 года.

Импульс, который вызвал этот большой релиз (а не точечное обновление), — это глобальное развертывание протокола
HTTP/2 и множество новых возможностей, которые он приносит. Это обновление для HTTP является первым за почти 20 лет и устраняет многие недостатки HTTP 1.x. Новые возможности многочисленны (мультиплексирование запросов/ответов, сжатие заголовков, приоритизация потоков и push-сервер), но наиболее заметной функцией для пользователей Servlet API является Server Push, о котором я расскажу в этой статье.

Server Push — это не единственное примечательное дополнение к Servlet 4.0. Этот релиз также представляет усовершенствования в виде Servlet Mapping API, который поддерживает распознавание URL-отображений во время выполнения, за счет улучшений получения ссылочных путей. В этой статье обсуждаются эти функции, и как Server Push был интегрирован в API JavaServer Faces 2.3.



Источник
1 год назад
#

Один день в Альфа-Лаборатории: Java-разработка





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

Думали сделать один «фулл-стековый» текст, но материала набралось столько, что пришлось делить его на части. И сейчас перед вами «утренняя» первая часть, в которой пообщались с Java-разработчиками
Максимом Гореликовым и
Кириллом Толкачёвым. Оба они как раз недавно выступили на нашей конференции Joker.

Источник
1 год назад
#

JUnit тесты для логирования



Логирование относится к сквозной функциональности — разбросанной по коду и, как правило, редко покрываемой юнит-тестами. Слабое покрытие тестами, очевидно, связано с тем что вывод в лог не всегда достаточно важен и воспринимается скорее как вспомогательная функция а не цель работы метода, к тому же тестировать сквозную функциональность бывает достаточно сложно.

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

Источник
1 год назад
#

Как я осознал, что такое распределенные системы



Привет, Хабр!

В скором времени у нас выходит изысканная новинка для разработчиков высшего класса — "
Реактивные шаблоны проектирования".

Автор книги Роланд Кун — звезда первой величины в области распределенных систем, один из разработчиков Akka. Под катом предлагаем перевод его программной статьи о распределенных системах и акторной модели, размещенной на сайте GitHub

Источник
1 год назад
#

Идеальный мавен. Часть 2: структура проекта



Это вторая статья, посвященная мавену и его использованию для организации моих проектов. Целью этой статьи будет структура проекта под управлением мавен. Особых откровений вы не найдёте, скорее набор общих правил для моих проектов. Первую статью можно прочитать здесь.



Источник
1 год назад
#

Дебаты об отличном сервере приложений Java c Tomcat, Jboss, GlassFish, Jetty и Liberty Profile. Часть вторая



Всем доброго! Как и обещали, вторая часть перевода статьи по теме
Java EE. Первую часть можно увидеть
тут.

ОПЕРАЦИЯ ПОД ПРИКРЫТИЕМ

Надеемся, вы не только сейчас поняли, что бюджет равен 0, и вообще вас покорил WebLogic wink До сих пор, мы рассматривали темы, значимые на начальных этапах, во время изучения серверов приложений. Теперь же посмотрим чуть глубже на каждый сервер, чтобы понять, отвечает ли он реальным задачам разработчика:

  • Настоящие показатели производительности;

  • Функционал и Соответствие Open Standards;

  • Администрирование и Управление/UI;

  • Стоимость $$$/Лицензия.



Читайте дальше, уже скоро мы определим, какой сервер приложений лучший из лучших!

Настоящие показатели производительности

Знали ли вы, что Lamborghini Gallardo LP570-4 Superleggra 2011 г. выпуска разгоняется от 0 до 60 км/ч всего за 2.8 с, а Dodge Viper Hennessey Venom GT делает это за целых 2.9 с? Думаю, водителям Viper ооочень скучно ждать, пока их машина разгоняется до 60!



Источник
1 год назад
#

Java EE


Java EE 13: Servlets 13: Cookies



Java EE 14: Servlets 14: Session



Java EE 15: Servlets 15: Асинхронные сервлеты



Java EE 16: JSP 1: Что такое JSP

1 год назад
#

Алексей Шипилёв — Shenandoah: сборщик мусора, который смог (часть 1)


Этот доклад во многом повторяет доклад Алексея с JPoint 2017:

Если вы его уже слушали или смотрели видеозапись, то нового увидите мало, хотя многое наверняка будет лучше объяснено. Этот доклад является обязательным пререквизитом к докладу на Joker 2017 с тем же названием и припиской "… (часть 2)".

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

Shenandoah — новый сборщик мусора, который пытается решить вторую большую часть головоломки, а именно перемещение объектов без остановки приложения, тем самым сбивая паузы ещё больше. Этот доклад об особенностях дизайна и реализации Shenandoah, достоинствах, которыми можно гордиться, и недостатках, с которыми приходится мириться.

Den
1 год назад
#

Что я узнал после 1000 code review



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

Вот мои 3 (+1 бонусная) наиболее распространенные рекомендации по код-ревью.

image

Рекомендация 1: Выбрасывайте исключения, если что то идет не так

Зачастую паттерн выглядит так:

List<String> getSearchResults(...) {
  try {
    List<String> results = // make REST call to search service
    return results;
  } catch (RemoteInvocationException e) {
    return Collections.emptyList();
  }
}


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

Источник
Den
1 год назад
#

Практическое использование multiple bounds generic в Java



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



Источник
1 год назад
#

Создание игры «Сапёр» на Java


1 год назад
#

Spring Websocket + SockJs. How it works?



Доброго времени суток уважаемые хабравчане. В данной статье хочу продолжить рассказ устройства
Spring Websocket, рассмотрев серверную реализацию Spring Websocket + SockJs.

SockJs — это JavaScript библиотека, которая обеспечивает двусторонний междоменный канал связи между клиентом и сервером. Другими словами SockJs имитирует WebSocket API. Под капотом SockJS сначала пытается использовать нативную реализацию WebSocket API. Если это не удается, используются различные транспортные протоколы, специфичные для браузера, и представляет их через абстракции, подобные WebSocket. Про порт данной библиотеки в мир Spring Frameworks мы сегодня и поговорим.

Источник
1 год назад
#

Почему repository в pom.xml — плохая идея



Где-то полгода назад я опубликовал туториал, посвящённый добавлению в проект библиотек, которых нет в репозиториях maven. Речь шла о маленьких проектах, и я порекомендовал ставить тег repository прямо в pom.xml, чтобы можно было собирать проект без необходимости править settings.xml.





В комментариях этот подход критиковали sshikov, igor_suhorukov, jbaruch и многие другие. Там же в комментариях мне дали ссылку на статью Брайана Фокса, в которой чётко и понятно изложено, чем чреваты repository в pom.xml. Статья 2009 года, но не потеряла актуальности до сих пор. Перевода на Хабре я не нашел — поэтому предлагаю вашему вниманию свой.



Источник
10 11 13 14

Авторизация

Войти с помощью

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

GeekBrains

КАРКАМ

Нетология