Проверка данных класса (bean) в java тема не новая, но актуальная и здесь я объединю различные аспекты: валидацию данных в рамках JSR-303, покажу как это сделать чисто в Java и с использованием Spring, как делать в стандартном приложении и в Web.
Содержание: Валидация данных (JSR-303) в
— стандартном Java приложении
— c использованием Spring
— объединение Java + Spring
— Spring MVC
Читать полностью »
Рубрика «java» - 79
Чарльз Наттер о динамических языках в JVM на jug.msk.ru
2018-10-11 в 21:02, admin, рубрики: java, jruby, JUG, jug.msk.ru, redhat, ruby, Блог компании JUG.ru GroupНа очередной встрече московского сообщества Java-разработчиков jug.msk.ru, прошедшей 4 октября 2018 года, Чарльз Наттер рассказал о технологиях, используемых JRuby и другими динамическими языками для JVM.
«Научиться Spring — бессмысленное занятие» — Джош Лонг, главный евангелист Spring о внутренней кухне проекта
2018-10-10 в 13:45, admin, рубрики: java, joker2018, spring, Блог компании JUG.ru Group, ПрограммированиеСегодня у нас в виртуальной студии самый известный в мире докладчик по 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
Kotlin: копаем глубже. Конструкторы и инициализаторы
2018-10-10 в 11:42, admin, рубрики: android, android development, java, kotlin, Блог компании FunCorp, разработка мобильных приложений, Разработка под android
В уже далёком мае 2017 года Google объявила о том, что Kotlin стал официальным языком для разработки под Android. Кто-то тогда впервые услышал название этого языка, кто-то на нём уже продолжительное время писал, но с того момента стало понятно, что все, кто близок к Android-разработке, теперь просто обязаны познакомиться с ним. Далее последовали как восторженные отклики «Наконец-то!», так и жуткое негодование «Зачем нам нам новый язык? Чем Java не угодила?» и т.д. и т.п.
С тех пор прошло достаточно времени, и хоть споры о том, хороший Kotlin или плохой, до сих пор не утихли, всё больше кода под Android пишется именно на нём. И даже вполне консервативные разработчики тоже переходят на него. Кроме того, в сети можно наткнуться на информацию, что скорость разработки после освоения этого языка увеличивается на 30% по сравнению с Java.
Сегодня Kotlin уже успел вылечиться от нескольких детских болезней, оброс большим количеством вопросов и ответов на Stack Overflow. Невооружённым взглядом стали видны как его плюсы, так и слабые места.
И вот на этой волне мне пришла в голову идея подробно разобрать отдельные элементы молодого, но популярного языка. Обратить внимание на сложные моменты и сравнить их с Java для наглядности и лучшего понимания. Разобраться в вопросе несколько глубже, чем это можно сделать, прочитав документацию. Если эта статья вызовет интерес, то, скорее всего, она положит начало целому циклу статей. А пока начну с довольно базовых вещей, которые, тем не менее, скрывают массу подводных камней. Поговорим о конструкторах и инициализаторах в Kotlin.Читать полностью »
Эта заметка является писанной версией моего доклада "Как загубить производительность с помощью неэффективного кода" с конференции JPoint 2018. Посмотреть видео и слайды можно на странице конференции. В расписании доклад отмечен обидным стаканчиком смузи, так что ничего сверхсложного не будет, это скорее для начинающих.
Предмет доклада:
- как смотреть на код, чтобы найти в нём узкие места
- распространённые антипаттерны
- неочевидные грабли
- обход граблей
В кулуарах мне указали на некоторые неточности/упущения в докладе, они здесь отмечены. Замечания также приветствуются.
Обзор конференции Atlassian
2018-10-09 в 14:31, admin, рубрики: AtlasCamp, atlassian, bitbucket, Conference, confluence, Crucible, fisheye, java, jira, Trello, Блог компании FunCorp, конференции, облачные сервисы
Это обзор конференции Atlas Camp, которая проходила с 5 по 8 сентября в Барселоне. Организовала её компания Atlassian, чтобы рассказать о нововведениях в своих продуктах и для непосредственного общения разработчиков Atlassian с посетителями. Докладчики говорили о грядущих изменениях в своём API, о том, как будет развиваться их маркетплейс, об изменениях в интерфейсе и best practices в разработке. Кроме того, в программе конференции были выступления представителей компаний, разрабатывающих наиболее успешные и важные плагины.
Так как довольно большая часть моих задач по автоматизации связана с продуктами Atlassian (на данный момент это Confluence и Jira, а раньше приходилось иметь дело с Crucible, Fisheye, Bitbucket), то мне было интересно, какие нововведения появятся в ближайшее время в их API. К тому же мне хотелось послушать про интересные плагины и узнать больше про разработку собственных. Под катом подробный отчёт о том, что в итоге я увидел и узнал, а также прочие важные организационные моменты.Читать полностью »
KotlinConf 2018 — кейноут и первые видео
2018-10-08 в 14:05, admin, рубрики: Conference, java, jetbrains, kotlin, mobile, Блог компании JetBrains, конференции, Программирование, разработка мобильных приложений3-5 октября в Амстердаме прошла конференция KotlinConf 2018, и мы рады поделиться первыми видео. Смотрите кейноут Андрея Бреслава, руководителя проекта Kotlin:
Ещё 8 видео доступны в нашем канале на YouTube.
Подпишитесь и получите ссылку на все видео, как только они станут доступны.
Ваша команда JetBrains
Читать полностью »
Часть кода игры Minecraft была передана в Open Source корпорацией Microsoft
2018-10-08 в 12:06, admin, рубрики: Brigadier, DataFixerUpper, java, microsoft, minecraft, open source, разработка игр
Иллюстрация opensource.com
Часть исходного кода игры Minecraft: Java Edition была легально опубликована на GitHub под свободной лицензией корпорацией Microsoft
Код был открыт под лицензией MIT и представляет собой Java-библиотеки Brigadier и DataFixerUpper. Они позволяют разбирать и направлять пользовательские команды, а также обрабатывать данные для новых версий игры.
Раньше основным способом увидеть этот код для энтузиастов была «декомпиляция» — конвертация байт-кода обратно в человеко-читаемый код на Java. Многим хватало и этого, но, конечно, «исходные тексты», полученные таким путем, были несколько труднее для восприятия чем оригинальные исходники.
В дальнейшем планируется «освобождение» других универсальных подсистем Minecraft, которые могут оказаться полезными для разработки других игр и упрощения труда мод-мейкеров. Вероятно, на следующем этапе будут открыты исходные тексты движка отрисовки Blaze3D, разрабатываемого для выпуска Minecraft 1.14. Читать полностью »
[Питер] Встреча JUG.ru с Венкатом Субраманиамом — Design Patterns in the Light of Lambda Expressions
2018-10-08 в 10:43, admin, рубрики: java, jug.ru, jugru, Блог компании JUG.ru Group, конференции, ПрограммированиеВ четверг, 18 октября, за день до Joker 2018, в петербургском офисе компании Oracle состоится встреча JUG.ru с Венкатом Субраманиамом (Dr. Venkat Subramaniam), всемирно известным Java-энтузиастом, Java-чемпионом, известным спикером, консультантом и популярнейшим автором книг по программированию. Регистрация и информация о спикере — под катом.
Шаблоны проектирования — одна из центральных идей в объектно-ориентированном программировании. Как только в языке Java появились лямбды, появился повод обдумать их влияние на паттерны проектирования. На этом Джуге мы рассмотрим некоторые типовые шаблоны и переработаем их с использованием лямбд. В добавок, мы познакомимся с менее популярными, но не менее интересными паттернами, в которых можно удачно применить лямбды.
Джуг пройдет на английском языке.
Live guide по созданию приложения на Java
2018-10-07 в 21:48, admin, рубрики: java, дизайн мобильных приложений, разработка мобильных приложенийПримерно со старшей школы меня сначала поверхностно, а потом все сильнее и сильнее, стало захватывать программирование. Поначалу это были банальные программки на Паскале, от которого я, впрочем, очень скоро отказался в пользу плюсов. Постепенно мой интерес нарастал и я стал прорешивать полуолимпиадные-полуобучающие задачки с применением различных довольно простеньких алгоритмов по типу бинарного поиска или обхода в глубину с некоторыми модификациями.
Примерно в это же время у меня возникла идея создать свое приложение для организации своего времени: условный прототип ежедневника. Да, довольно простенькая идея, но все же. Тогда у меня так и не дошли руки до написания программы. Зато дошли сейчас.
Так вот. Для написания этого самого приложения я решил изучить язык Java. Несмотря на то, что у меня к нему есть некое предубеждение (когда-то давно я начинал его учить и мне показалось, что в нем слишком длинные и непонятные названия методов, да и вообще все сложно), потребность в кроссплатформенности (почему бы приложение не запускать еще и на ПК без лишних приседаний?) вернула меня на путь изучения Java.
Для чего я все это пишу? Хочу делиться своим путем, своими ошибками, своим ходом мыслей в процессе создания приложения. Возможно, кому-то это поможет, кто-то в комментариях поделится чем-то интересным на этот счет, да и в процессе формулирования мыслей пройденное усвоится лучше).