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

Java-дайджест за 30 апреля - 1

  • Марк Рейнхольд (Chief Architect of the Java Platform Group at Oracle) рассказал о новом проекте: Project Leyden. Проект должен решить проблему долгого запуска, медленного достижения пиковой производительности и лютого пожирания оперативной памяти… нет, не с помощью GraalVM. Предполагается генерить статические бинарники на существующей инфраструктуре — HotSpot JVM, jaotc AOT compiler, AppCDS и jlink. Ссылка на твит с обсуждением — здесь. Забавно, что твит сразу же заретвитил Томас Вюртингер (сумрачный гений GraalVM), а Рейнхольд заретвитил ретвит обратно к себе в ленту. Там у них своя атмосфера.Читать полностью »

Мир, код, май: проводим праздники с полезными докладами - 1
Автор оригинала diliago

До этой недели слова про «саморазвитие на самоизоляции» были не очень актуальны для айтишников: они продолжали активно работать, у них не появилась прорва времени на книги или онлайн-курсы.

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

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

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

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

Java-дайджест за 21 апреля - 1

  • Выпущен монитор системных ресурсов, работающий на Raspberry Pi и 7-дюймовом экране. Зонд жрет всего 30 мегабайт оперативки без использования GraalVM (но как?). И зонд, и дисплей-сервер для Raspberry Pi используют JavaFX. В качестве платформы для мониторинга пока доступна только Windows с установленным Open Hardware Monitor.

  • Международная Java-конференция JPoint пройдет в онлайне. Остальные конференции JUG Ru Group весенне-летнего сезона тоже переходят на удалёнку. Благодаря этому теперь можно купить абонемент на все восемь конференций сразу, подробности уже есть на сайте.

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

Java-дайджест за 13 апреля - 1

  • Системе контроля версий Git исполнилось 15 лет.
  • Testcontainers исполнилось целых пять лет! Testcontainers — это Java-библиотека, позволяющая делать легкие одноразовые экземпляры популярных баз данных, веб-браузеров Selenium, или чего угодно ещё, что можно запустить в Docker-контейнере.
  • Вышел долгожданный Spring Graal Native 0.6.0. Вот здесь на GitHub есть огромное количество примеров использования вместе с разными технологиями, например, Kotlin и Netty.

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

Чиним сериализацию объектов в Kotlin раз и навсегда - 1

Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable.

Этот способ выглядит абсолютно правильным, однако его поддержка может оказаться слишком проблематичной. С учетом того, что в нашем проекте эта проблема возникала только при использовании объектов внутри Bundle, мы решили использовать проверку через is для каждой ветки when-выражений в случае sealed классов.

Тем не менее, размышляя об этом, я никак не мог понять, почему Kotlin не генерирует readResolve в компиляторе, поддерживая singleton-свойства объектов. Мне казалось, что это работа для инструментов, а не для человека. Но раз Kotlin не добавляет эту функцию сам, мы можем ему помочь! Этим мы сейчас и займёмся.

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

Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах посвященных архитектуре ПО.

Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для блога OTUS на хабре и сегодняшнюю статью хочу посвятить запуску нового потока курса «Алгоритмы для разработчиков».


Введение

Хеш-таблицы (HashMap) наравне с динамическими массивами являются самыми популярными структурами данных, применяемыми в production'е, поэтому очень часто можно услышать вопросы на собеседованиях касаемо их предназначения, особенностей их внутреннего устройства, связанных с ними алгоритмов. Данная структура данных является классической и встречается не только в Java, но и во многих других языках программирования.
Читать полностью »

Всем доброго времени суток.

Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля.

Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта использования и сразу пытаться использовать весь функционал, то не будет базового понимания, так как имеется перечень подводных камней.

Что будет делать приложение

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

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

Исходный код вы сможете найти здесь.

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

Реверс-инжениринг протокола китайского USB ИК трансивера - 1
Попался мне китайский MicroUSB ИК трансивер, и возникло желание подключить его к компу с Windows. Трансивер представляет собой весьма компактный девайс с разъемом Micro USB. Единственный «официальный» вариант работы с ним — через Android приложение под названием ZaZaRemote.

При подключении к компу через переходник девайс определился как HID-совместимое устройство USBVID_10C4&PID_8468. Гугление по этому ID не дало никаких результатов, и пришлось заняться реверсингом протокола.
Читать полностью »

Решение задач с анаграммами натолкнуло на мысль:

Сколько останется слов, если удалить все анаграммы и сабанграммы из словаря русского языка

В найденном словаре больше 1,5 млн слов в различных формах

Можно сравнить каждое слово с каждым, но для 1,5 млн записей это долго и неоптимально.
В мире с бесконечной памятью можно сгенерировать подстроки всех перестановок каждого слова и проверить наш словарь на них

Но есть ли решение получше?
Читать полностью »

Привет!

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

Как создать мультиагентную транспортную модель - 1
Читать полностью »


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