По мотивам недавних обсуждений здесь захотелось более широко взглянуть на вопрос о том, кто больше кушает — новомодные хипстерские лямбды или старые проверенные анонимные классы. Давайте устроим словесную перепалку между ними и посмотрим, кто выиграет. Как с любым добротным холиваром, даже если не удастся выяснить победителя, можно узнать много нового для себя.
Рубрика «java» - 172
Лямбды и анонимные классы: кто больше жрёт
2016-10-30 в 10:38, admin, рубрики: java, анонимный класс, лямбда, Программирование, холиварЧисто экспериментальные приёмы портирования Stream API из Java 8 на Java 6
2016-10-28 в 19:31, admin, рубрики: ant, java, java 8, jvm, portingГод назад я рассказывал о том, как с помощью Maven и Retrolambda портировать своё приложение, использующее языковые средства Java 8, а также сопутствующие “не совсем Java 8” библиотеки, на Android. К сожалению, новые Java 8 API использовать не удастся ввиду банального их отсутствия на более старой целевой платформе. Но, поскольку сама идея не покидала меня продолжительное время, мне стало интересным: можно ли портировать, например, Stream API на более старую платформу и не ограничиваться самими только возможностями языка вроде лямбда-выражений.
В конечном итоге, такая идея подразумевает следующее: как и в предыдущем случае, нужно с помощью доступных инструментов, в частности старой-доброй Retrolambda, переписать байткод Stream API таким образом, чтобы код, использующий этот API, мог работать и на старых версиях Java. Почему именно Java 6? Честно говоря, с этой версией Java я проработал дольшее время, Java 5 я не застал, а Java 7 для меня скорее как пролетела мимо.
Как подружить Bagri и MongoDB
2016-10-28 в 15:58, admin, рубрики: big data, java, mongodb, nosql, open source, базы данныхПримерно месяц назад, я рассказал Хабру о проекте Bagri: NoSQL базе данных с открытым кодом, построенной поверх распределенного кэша.
После достаточно неплохого отклика, решил написать статью о том как можно наращивать функционал Bagri путем написания расширений (extensions) используя встроенный API системы.

Joker 2016: Вертикальное масштабирование
2016-10-28 в 14:00, admin, рубрики: java, joker, performance, Блог компании JUG.ru Group, конференция, шипилёв
Помимо «чисел Joker 2016», перечисленных нами заранее, теперь можно назвать ещё одно: на конференции наши фотографы сделали более 5000 снимков. Неудивительно, что на обработку ушло ощутимое время, и на Хабре уже успел появиться отзыв глазами участника от dbelob — а теперь мы публикуем свой.
Резкие отличия Joker 2016 от предыдущих «Джокеров» бросались в глаза сразу. В чём они состояли, о чём рассказывали на конференции в этот раз, и какие доклады по зрительским оценкам оказались лучшими?
Читать полностью »
Вышел Upsource 3.5 с многочисленными изменениями
2016-10-25 в 9:16, admin, рубрики: code analysis, code quality tools, code review, java, javascript, jetbrains, kotlin, php, release, Блог компании JetBrainsПривет! На прошлой неделе мы выпустили новую версию нашего инструмента для code review и навигации по репозиториям, Upsource. Давайте посмотрим, какие изменения мы включили в этот релиз.
Обновленная страница проектов
Мы переосмыслили домашнюю страницу продукта и сделали ее более удобной как для тех компаний, у которых дюжина проектов, так и для тех, у кого счет проектов идет на сотни.
Помимо этого, домашняя страница в целом стала более информативной – теперь вы можете сразу увидеть не только проекты, добавленные в закладки, но и проекты с наибольшей активностью, недавно созданные проекты и проекты, в которых вы принимаете участие.
Java-конференция Joker 2016: больше, сильнее, интереснее
2016-10-23 в 20:41, admin, рубрики: azul, groovy, java, jetbrains, joker, jvm, kotlin, oracle, spring, Блог компании JUG.ru Group, конференцияКонференция Joker 2016, проходившая 14-15 октября 2016 года в Санкт-Петербурге, стала, возможно, самой большой русскоязычной Java-конференцией за всю историю. 2 дня, 52 доклада, 6 параллельных треков, более 40 спикеров, свыше 1000 участников.
Дневник одного бага: как я чинил картинки в электронной почте
2016-10-22 в 9:23, admin, рубрики: 6строчекЗа6Часов, email, java, Weblogic, да-беги-оно-конемЕсть внутренняя система, которая крутится на Weblogic, есть готовый шаблон почты, есть программист и есть баг. Вот вы знали, что почтовые клиенты с большОй вероятностью не смогут показать картинку, которая вставлена в разметку письма, источник которой начинается на data:image/gif;base64?
Я, например не знал. Да что уж там, я до этого даже не знал что картинки можно вставлять в HTML разметку без, собственно, самой картинки. Так получилось, что одну и ту же .jsp используют и для составления страницы для печати, и, в отдельных случаях, для электронного письма. В итоге в обозревателе письмо открывается нормально, а почтовые клиенты показывают битую картинку.
Это будет рассказик про процесс нахождения одного решения. Теперь обо всем по порядку.
Читать полностью »
Divide&Conquer над алгоритмом Штрассена
2016-10-21 в 8:28, admin, рубрики: algorithms, fork/join framework, java, matrix multiplication, Алгоритмы, параллельное программирование, метки: matrix multiplication
Привет друзья! Будучи студентами одного небезызвестного образовательного проекта, мы с bo_0m, после вводной лекции по курсу Углубленное программирование на Java, получили свое первое домашнее задание. Необходимо было реализовать программу, которая бы перемножала матрицы. И всё бы ничего, да так совпало, что на следующей неделе должна была состояться конференция Joker, и наш преподаватель решил отменить по такому случаю занятие, подарив нам несколько часов свободного пятничного вечера. Не пропадать же времени зря! Раз никто не торопит, то можно подойти к делу творчески.
Welcome, under the hood ↓
Читать полностью »
JsTree — построение простого дерева с помощью JAVA
2016-10-20 в 16:33, admin, рубрики: Bootstrap, java, javascript, json, jstree, servlets, Разработка веб-сайтовПривет! Это мой первый пост, который рассчитан на новичков в веб-программировании. Требуются знания:
— Java;
— Знать как создавать сервлет;
— HTML;
— JavaScript;
— JQuery.
Задача такова:
— На основе данных БД построить дерево на веб-странице, все дерево сразу грузить было нельзя так, как слишком много данных.
Читать полностью »
Контроль качества кода в перспективе развития проекта
2016-10-19 в 10:41, admin, рубрики: Building Maintainable Software, C#, java, php, Software Improvement Group, Блог компании SECL GROUP, высокая производительность, качество кода, поддержка проекта, Программирование, Разработка веб-сайтов, стандарты кодирования, стоимость поддержки, чистый код, метки: стандарты кодированияНаверняка всем знакома ситуация, когда развитием проекта упирается в какую-то стену, внедрение новых функций становится все более затратным по времени и финансам. И, к сожалению, нередки такие моменты, когда чаша весов с ценой, начинает значительно перевешивать возможную выгоду от реализации той, или иной функции.
Это достаточно стандартный и, во многом, привычный ход событий. С опытом, мы пытаемся делать разрозненные попытки улучшать ситуацию, и не допускать ошибок прошлого. Но часто, собрать все в кучу для организации какой-то вменяемой системы времени не хватает. И, какое-либо универсальное решение, до настоящего времени, найти было достаточно непросто.
Мы разработали автоматизацию по контролю качества кода, которая уже работает в нашей компании и в некоторых других. Данная реализация создана для языка PHP. Ранее она была только для Java и C#. Однако принципы и подходы применимы ко всем современным языкам, поэтому приглашаем к обсуждению этой важной темы.
Читать полностью »


