Рубрика «java» - 156

Год назад я рассказывал о том, как с помощью 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: NoSQL базе данных с открытым кодом, построенной поверх распределенного кэша.

После достаточно неплохого отклика, решил написать статью о том как можно наращивать функционал Bagri путем написания расширений (extensions) используя встроенный API системы.

image

Читать полностью »

Joker 2016: Вертикальное масштабирование - 1

Помимо «чисел Joker 2016», перечисленных нами заранее, теперь можно назвать ещё одно: на конференции наши фотографы сделали более 5000 снимков. Неудивительно, что на обработку ушло ощутимое время, и на Хабре уже успел появиться отзыв глазами участника от dbelob — а теперь мы публикуем свой.

Резкие отличия Joker 2016 от предыдущих «Джокеров» бросались в глаза сразу. В чём они состояли, о чём рассказывали на конференции в этот раз, и какие доклады по зрительским оценкам оказались лучшими?
Читать полностью »

Привет! На прошлой неделе мы выпустили новую версию нашего инструмента для code review и навигации по репозиториям, Upsource. Давайте посмотрим, какие изменения мы включили в этот релиз.

Обновленная страница проектов

Мы переосмыслили домашнюю страницу продукта и сделали ее более удобной как для тех компаний, у которых дюжина проектов, так и для тех, у кого счет проектов идет на сотни.

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

image
Читать полностью »

Конференция Joker 2016, проходившая 14-15 октября 2016 года в Санкт-Петербурге, стала, возможно, самой большой русскоязычной Java-конференцией за всю историю. 2 дня, 52 доклада, 6 параллельных треков, более 40 спикеров, свыше 1000 участников.

Java-конференция Joker 2016: больше, сильнее, интереснее - 1
Читать полностью »

Есть внутренняя система, которая крутится на Weblogic, есть готовый шаблон почты, есть программист и есть баг. Вот вы знали, что почтовые клиенты с большОй вероятностью не смогут показать картинку, которая вставлена в разметку письма, источник которой начинается на data:image/gif;base64?

Я, например не знал. Да что уж там, я до этого даже не знал что картинки можно вставлять в HTML разметку без, собственно, самой картинки. Так получилось, что одну и ту же .jsp используют и для составления страницы для печати, и, в отдельных случаях, для электронного письма. В итоге в обозревателе письмо открывается нормально, а почтовые клиенты показывают битую картинку.

Это будет рассказик про процесс нахождения одного решения. Теперь обо всем по порядку.
Читать полностью »

image

Привет друзья! Будучи студентами одного небезызвестного образовательного проекта, мы с bo_0m, после вводной лекции по курсу Углубленное программирование на Java, получили свое первое домашнее задание. Необходимо было реализовать программу, которая бы перемножала матрицы. И всё бы ничего, да так совпало, что на следующей неделе должна была состояться конференция Joker, и наш преподаватель решил отменить по такому случаю занятие, подарив нам несколько часов свободного пятничного вечера. Не пропадать же времени зря! Раз никто не торопит, то можно подойти к делу творчески.

Welcome, under the hood ↓
Читать полностью »

Привет! Это мой первый пост, который рассчитан на новичков в веб-программировании. Требуются знания:

— Java;
— Знать как создавать сервлет;
— HTML;
— JavaScript;
— JQuery.

Задача такова:

— На основе данных БД построить дерево на веб-странице, все дерево сразу грузить было нельзя так, как слишком много данных.
Читать полностью »

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

Это достаточно стандартный и, во многом, привычный ход событий. С опытом, мы пытаемся делать разрозненные попытки улучшать ситуацию, и не допускать ошибок прошлого. Но часто, собрать все в кучу для организации какой-то вменяемой системы времени не хватает. И, какое-либо универсальное решение, до настоящего времени, найти было достаточно непросто.

Мы разработали автоматизацию по контролю качества кода, которая уже работает в нашей компании и в некоторых других. Данная реализация создана для языка PHP. Ранее она была только для Java и C#. Однако принципы и подходы применимы ко всем современным языкам, поэтому приглашаем к обсуждению этой важной темы.
Читать полностью »

The distinguishing characteristic of industrial-strength software is that it is intensely difficult… the complexity of such systems exceeds the human intellectual capacity… we may master this complexity, but we can never make it go away.

Grady Booch

Давайте вернемся на несколько десятилетий назад и взглянем на то, как выглядели типовые программы тех лет. Тогда доминировал Императивный подход. Напомню, что название он получил благодаря тотальному контролю программы над процессом вычислений: в программе четко указывается, что и когда должно быть выполнено. Словно набор приказов Императора. Большинство операционных систем предлагали для написания исполняемых программ именно этот подход. Он широко используется и по сей день, например при написании различного рода утилит. Более того, с данного подхода начинается изучение программирования в школе. В чем же причина его популярности? Дело в том, что Императивный стиль очень прост и понятен человеку. Освоить его не сложно.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js