uz
Feedback
Чашечка Java

Чашечка Java

Kanalga Telegram’da o‘tish

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

Ko'proq ko'rsatish
8 570
Obunachilar
+224 soatlar
-47 kunlar
-2830 kunlar
Postlar arxiv
Использование javascript в Vaadin 7 или как я сэкономил $490 на графиках (часть 1) В этой статье я расскажу вам как внедрял красивые графики в наш сервис учета коммунальных услуг Dom24x7 и с какими проблемами и неудобствами пришлось столкнуться. Для Vaadin 7 имеется прекрасное официальное дополнение для работы с графиками, но проблема в том, что оно не бесплатное и стоит почти $500! Таких денег мне тратить не хотелось, и я решил поискать альтернативу из бесплатного, но, к сожалению, все что я нашел меня совершенно не удовлетворяло по качеству и тогда я вернул свое внимание на официальное дополнение для работы с графиками и решил изучить его повнимательнее. Оказалось, что это дополнение всего лишь оболочка для прекрасной javascript библиотеки Highcharts, которую, о чудо, можно было использовать бесплатно в некоммерческих проектах (каковым, на текущий момент, является наш проект, хотя, когда его статус измениться, я с удовольствием приобрету коммерческую лицензию), хотя есть еще прекрасная альтернативная библиотека Amcharts, но все же решил остановиться на предыдущей. Кстати, разработчики Vaadin объясняют, почему так дорого просят за дополнение по работе с графиками тем, что им приходится приобретать корпоративную лицензию. Определившись с библиотекой осталось решить вопрос, как же все таки ее подключить к своему проекту? Статья состоит из двух частей. Первая часть это перевод статьи о том как подключать javascript библиотеки к vaadin проектам, а вторая часть расскажет о там, как я, используя полученные знания, написал библиотеку для отображения графиков. Итак… Читать: https://habr.com/ru/companies/dom24x7/articles/218361/?utm_campaign=218361 @a_cup_of_java | Другие наши каналы

Проект Lazybones — «Лентяй», который работает за вас Я не люблю Maven. О моей пассионарной ненависти к этой штуке можно написать не одну статью, но сегодня я хочу поговорить об одной очень хорошей фиче Мавена — об архетипах. Что это такое можно прочитать в официальной документации, в каждом из туторилов по Мавену на Хабре(1, 2, 3), да и вообще, вы наверняка знаете и сами. Так вот, архетипы — это круто, и было бы здорово, если бы 1) во многих проектах со стандартной структурой они были. 2) можно было бы их прикрутить к тем, у которых их нет. Примерно так думал Питер Ледбрук, когда смотрел на полное отсутствие архетапов в Ratpack. Тогда и родился проект Lazybones — инструмент генерации проектов. В этой статье я расскажу вам как 1) Пользоваться Lazybones для генерации проектов, для которых уже созданы шаблоны. 2) Создавать новые шаблоны для любых проектов. Читать как создавать Читать: https://habr.com/ru/articles/218205/?utm_campaign=218205 @a_cup_of_java | Другие наши каналы

JPHP — Как он работает. История создания В этой статье я расскажу более подробно об истории проекта JPHP и каким образом он был разработан с технической стороны. Текст будет интересен как простым разработчикам PHP, так и любителям компиляторов. Я постарался описать все на простом языке. JPHP это компилятор языка PHP для Java VM. Две недели назад я писал статью о проекте. Похожие проекты — JRuby для ruby, Jython для python. После публикации первой статьи о JPHP, проект за два дня набрал 500 звёзд на гитхабе и успел засветиться не только в РУнете, но и на зарубежных ресурсах, успел побывать на первом месте в рейтинге гитхаба. Читать: https://habr.com/ru/articles/218021/?utm_campaign=218021 @a_cup_of_java | Другие наши каналы

Введение в Акторы на основе Java/GPars, Часть I Кратко рассматривается API библиотеки GPars и решение многопоточной задачи средней сложности, результаты которой могут быть полезны в «народном хозяйстве». Данная статья написана в ходе исследования различных библиотек акторов, доступных Java-программисту, в процессе подготовки к чтению курса «Multicore programming in Java». Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX). Это первая статья из цикла статей цель которых сравнить API, быстродействие и реализацию акторов Akka с реализациями в других библиотеках на некоторой модельной задаче. Данная статья предлагает такую задачу и решение на GPars. GPars — библиотека написанная для Clojure с широкой поддержкой различных подходов к параллельным вычислениям. Плюсы GPars * Исходный код написан на Java (в отличии от Akka, написанной на Scala). Всегда интересно посмотреть «что под капотом» на «родном» языке программирования * GPars представляет собой целый «зоопарк» подходов (Actor, Agent, STM, CSP, Dataflow) * GPars использует классы из runtime-библиотеки Clojure, написанной на Java. Интересно покопаться Читать: https://habr.com/ru/companies/golovachcourses/articles/217899/?utm_campaign=217899 @a_cup_of_java | Другие наши каналы

JavaFX и AnimationTimer Вариант применения интересного класса в JavaFX-приложении — предотвращение «заморозки» окна во время длительного процесса. Заодно чуть-чуть об особенностях прорисовки сцен в JavaFX. Читать: https://habr.com/ru/articles/217269/?utm_campaign=217269 @a_cup_of_java | Другие наши каналы

Что ждет IntelliJ IDEA впереди? Совсем скоро нашей флагманской среде разработки IntelliJ IDEA исполнится 14 лет. Уже немало продуктов создано с помощью наших инструментов, и казалось бы всевозможные фичи добавлены в IDE, но мы продолжаем искать новые источники вдохновения, чтобы наши продукты на вашем столе всегда были свежими. По случаю приближающейся годовщины мы хотели бы поделиться нашими взглядами – что именно в ближайшие 5-10 лет будет определять развитие в продуктовой разработке. Для того, чтобы нам продолжать успешное развитие, как стремительно растущей компании, мы решили обратиться к независимым профессиональным консультантам. Выбор пал на весьма престижное международное бюро с большим опытом сотрудничества и собственными проектами для многих известных IT компаний. Было опрошено множество разработчиков различного возраста, пола, с разнообразными культурными и профессиональными интересами. Вооружившись основными результатами, наши разработчики с огромным энтузиазмом принялись внедрять новые идеи. Что ждет нас? Все под катом. Читать: https://habr.com/ru/companies/JetBrains/articles/217877/?utm_campaign=217877 @a_cup_of_java | Другие наши каналы

Перевод legacy-проекта на Dependency Injection. Путь Ситха Внесу и свой вклад в тренд темного программирования. Многим из вас знакома дилемма: использовать ли DI в своем проекте или нет. Поводы перехода на DI: * создание развитой системы авто-тестов * повторное использование кода в различном окружении, в том числе в различных проектах * использование 3rd-party библиотек, построенных на DI * изучение DI Доводы не использовать DI: * усложнение понимания кода (поначалу) * необходимость конфигурирования контекста * изучение DI Допустим, у нас есть большой рабочий проект, принято решение: переводить на DI. Разработчики чувствуют свой потенциал, уровень мидихлориан в крови зашкаливает. Путь тебя ждет тернистый и долгий, мой юный падаван. Если проект большой и в нем много разработчиков, одним коммитом вряд ли удастся сделать такой рефакторинг. Поэтому мы используем несколько плохих практик, упростив переход, а затем от них избавимся. С чего начать? Читать: https://habr.com/ru/articles/217523/?utm_campaign=217523 @a_cup_of_java | Другие наши каналы

Как web-страницу легко превратить в PDF? Для меня было очень неожиданно то, что в хабе по Java практически нет информации по работе с PDF документами, поэтому я, из личного опыта, хочу на примере сервлета показать как легко можно любую web-страницу превратить в PDF документ. Читать: https://habr.com/ru/articles/217561/?utm_campaign=217561 @a_cup_of_java | Другие наши каналы

Аннотации в Java, часть I Это первая часть статьи, посвященной такому языковому механизму Java 5+ как аннотации. Она имеет вводный характер и рассчитана на Junior разработчиков или тех, кто только приступает к изучению языка. Я занимаюсь онлайн обучением Java и опубликую часть учебных материалов в рамках переработки курса Java Core. Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX). Мой метод обучения состоит в том, что я 1. строю усложняющуюся последовательность примеров 2. объясняю возможные варианты применения 3. объясняю логику двигавшую авторами (по мере возможности) 4. даю большое количество тестов (50-100) всесторонне проверяющее понимание и демонстрирующих различные комбинации 5. даю лабораторные для самостоятельной работы Данная статье следует пунктам #1 (последовательность примеров) и #2(варианты применения). Читать: https://habr.com/ru/companies/golovachcourses/articles/217595/?utm_campaign=217595 @a_cup_of_java | Другие наши каналы

Dripstat — сервис мониторинга производительности JVM или MMO игра? Приветствую, хабражители! Сегодня я хочу рассказать вам про сервис, который обнаружил буквально недавно — Dripstat. Он позволяет установить на локальную JVM специальный java-агент, который собирает статистику работы сервера приложений и отправляет на сайт, где с ней можно детальнее ознакомиться. — Ну какие сервисы мониторинга? Сегодня суббота! — скажете вы, и будете правы. Более того, я даже поддержу эту мысль и в данной заметке расскажу как раз об обратной, развлекательной, стороне медали, и чуть-чуть о программировании на JS. Итак, приглашаю дочитать тех кто заинтересовался. Let's play! Читать: https://habr.com/ru/articles/217507/?utm_campaign=217507 @a_cup_of_java | Другие наши каналы

Легкий старт: Spring + MongoDB Поискал на хабре схожие статьи, нашел только Morphia — легкий ORM для MongoDB, управляемый аннотациями, ничего по связке Spring Data + MongoDB не нашлось, в связи с этим решил написать пост из раздела «для самых маленьких» по настройке и использованию связки Spring + MongoDB. Читать: https://habr.com/ru/articles/217391/?utm_campaign=217391 @a_cup_of_java | Другие наши каналы

Дружим штатную громкую связь Volvo с русскими буквами Доброго времени суток! Несколько месяцев назад появился у меня чудесный автомобиль Volvo V50 родом из Бельгии. Бортовой компьютер и магнитолу успешно перепрошили на русский язык у официального дилера, а вот с отображением русских имен из записной книжки телефона при использовании штатной громкой связи вышла беда: все кириллические символы показывались в виде подчеркиваний. Я пользуюсь Samsung Galaxy S3 прошитым CyanogenMod 11, поэтому возникла идея подправить стандартный Bluetooth.apk для обеспечения возможности видеть имя звонящего. Читать: https://habr.com/ru/articles/217381/?utm_campaign=217381 @a_cup_of_java | Другие наши каналы

JPHP — Новый движок php для Java VM + JIT Представляю вам свой open-source проект — JPHP. Это альтернативная реализация PHP для JavaVM с поддержкой JIT. Я начал проект в одиночку в октябре 2013 года и за 4 месяца реализовал компилятор php в байткод JVM. Язык поддерживается на уровне PHP 5.3, частично поддерживаются возможности PHP 5.4 и 5.5. По своей идеологии проект напоминает JRuby и Jython. Я подготовил небольшую презентацию, которая расскажет о проекте и не отнимет у вас много времени: Читать: https://habr.com/ru/articles/216651/?utm_campaign=216651 @a_cup_of_java | Другие наши каналы

Концепция Абстрактного Типа Данных Доброго времени суток, хабравчане! Следующий пост является изложением моих размышлений на тему природы классов и АТД. Эти размышления дополнены интересными цитатами из книг гуру разработки программного обеспечения Введение Начнем с того, что плавно подойдем к определению АТД. АТД, в первую очередь, представляет собой тип данных, что означет следущее: наличие определенных доступных операций над элементами этого типа; а также данные, относительно которых эти операции выполняются (диапазон значений). Читать: https://habr.com/ru/articles/216725/?utm_campaign=216725 @a_cup_of_java | Другие наши каналы

IntelliJ IDEA 13.1: Весеннее обновление Привет, Хабр! Вместе с хорошим известием для Северного полушария, что продолжительность светлого времени суток увеличилась, мы хотим рассказать о релизе IntelliJ IDEA 13.1, случившемся на этой неделе. Но перед рассказом о новинках хотелось бы отметить еще одно, весьма ожидаемое всем Java-cообществом, событие… Читать дальше Читать: https://habr.com/ru/companies/JetBrains/articles/216667/?utm_campaign=216667 @a_cup_of_java | Другие наши каналы

Java 8 в IaaS InfoboxCloud в одну команду. Используем Java 8 в тестах Совсем недавно вышла Java 8. Это большое и долгожданное событие для всех разработчиков на платформе JVM и безусловно повлияет на код в enterprise проектах. Мы в InfoboxCloud очень любим технологии Java и ценим Java разработчиков. К релизу Java 8 мы написали скрипты, которые позволят в одну команду установить JRE 8 или JDK 8 в Облачную инфраструктуру InfoboxCloud на любою из ОС Linux. Просто выберите скрипт, вставьте в консоль и нажмите Enter. Гораздо лучше тратить время на написание хорошего кода, чем на установку java. На Облачной платформе InfoboxCloud Jelastic поддержка Java 8 появится в следующем обновлении программного стека довольно скоро. В этой статье мы, установив Java 8, рассмотрим как тестировать ваше разрабатываемое ПО с Java 8, собирая его под Java 7. Читать: https://habr.com/ru/companies/infobox/articles/216563/?utm_campaign=216563 @a_cup_of_java | Другие наши каналы

Новое в Java 8 Java еще не умерла — и люди начинают это понимать. Добро пожаловать в ведение по Java 8. Этот материал шаг за шагом познакомит вас со всеми новыми фичами языка. Вы научитесь использовать методы интерфейсов по умолчанию (default interface methods), лямбда-выражения (lambda expressions), ссылки на методы (method references) и повторяемые аннотации (repeatable annotations). Все это будет сопровождаться короткими и простыми примерами кода. В конце статьи вы познакомитесь с наиболее свежими изменениями в API, касающихся потоков, функциональных интерфейсов, расширений для ассоциативных массивов, а также с изменениями в API работы с датами. Читать: https://habr.com/ru/articles/216431/?utm_campaign=216431 @a_cup_of_java | Другие наши каналы

Сравниваем производительность reflection в JDK8 и JDK7 Привет, Хабр! Недавно, путешествуя по коду своего рабочего проекта набрел на довольно высоконагруженный spring бин, который производил обращения к методам объектов (иногда и объектов сгенерированных на лету классов) вызывая геттеры и сеттеры объекта через reflection. В бине уже был реализован кэш геттеров, однако я задался вопросом — насколько быстр reflection и можно ли сделать быстрее. Читать: https://habr.com/ru/articles/216435/?utm_campaign=216435 @a_cup_of_java | Другие наши каналы

Java 8 Released Поздравляю всех с официальным выходом Java 8. Основные ссылки по данному вопросу: 1. Ссылка на скачивание 2. Ссылка на перечень изменений Читать: https://habr.com/ru/articles/216303/?utm_campaign=216303 @a_cup_of_java | Другие наши каналы

QuisyReader Под влиянием "500 слов в минуту без подготовки" решил реализовать программу которая бы работала на большинстве платформ, так и появилось сиё чудо под названием «QuisyReader». Читать дальше Читать: https://habr.com/ru/articles/216099/?utm_campaign=216099 @a_cup_of_java | Другие наши каналы