Обновить
256K+

Java *

Объектно-ориентированный язык программирования

196,87
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

RetroBase — аналог Retrofit для запросов к базам данных

Время на прочтение6 мин
Охват и читатели8.5K
Многие разработчики, используют в своих проектах библиотеку Retrofit, которая позволяет превратить HTTP API в java-интерфейс. Это очень удобно, так как позволяет избавиться от лишнего кода и использовать ее очень легко. Нужно лишь создать интерфейс и навесить несколько аннотаций.

Недавно я занимался разработкой приложения для Android, которому необходимо было делать запросы к базе данных через JDBC- драйвер. Тогда мне пришла идея создать нечто подобное Retrofit только для запросов к базе данных. Так появился RetroBase, о котором я Вам сейчас и расскажу.
Читать дальше →

«Во всех проектах делали именно то, что считали нужным»: Luxoft о Java и не только

Время на прочтение8 мин
Охват и читатели13K
В преддверии Joker 2016 продолжаем серию текстов о тех компаниях, в жизни которых Java-разработка точно играет большую роль: спонсорах Joker. В Luxoft нам ответили на очень разные вопросы — от того, какие Java-технологии используют чаще всего, до того, почему предубеждения по поводу аутсорс-разработки неверны.



Нашими собеседниками стали:

  • Олег Золотых, управляющий директор Luxoft Russia
  • Михаил Дружинин, архитектор и лидер архитектурного комьюнити (а также спикер HolyJS 2016)
  • Максим Сячин, Java-разработчик (а также спикер Joker 2016)
  • Анастасия Тихомирова, специалист по маркетингу
Читать дальше →

Idea Platform — конструктор для создания сложных веб-приложений (почти) без программирования

Время на прочтение6 мин
Охват и читатели12K
Здравствуй, Хабр! Мы начинаем блог об Idea Platform — платформе для автоматизации бизнес-процессов.

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

Мы сами и наши партнеры успешно применяем платформу для автоматизации самых разных бизнес-процессов в маленьких и больших компаниях (в том числе масштаба всей страны).
Сейчас мы хотим рассказать о платформе Хабр-сообществу, чтобы еще больше разработчиков могли использовать Idea Platform в своих проектах.
Читать дальше →

Суд Северной Калифорнии отказал Oracle в ходатайстве на новое рассмотрение по делу против Google

Время на прочтение2 мин
Охват и читатели6.9K
Незамеченным на хабре прошло решение судьи Вильяма Алсупа (William Alsup) из окружного суда Сан-Франциско, вынесенное 27 сентября 2016. Он отклонил ходатайство Oracle в суд на новое рассмотрение и судейство на основании норм права (judgment as a matter of law) по делу против Google. Напомню, что речь идет об использовании реализации Java в Android и ChromeOS.
Читать дальше →

Обзор ESB-систем ServiceMix и Fuse

Время на прочтение4 мин
Охват и читатели42K
Представляю вашему вниманию небольшой обзор систем ESB (Enterprise Service Bus) на основе Apache Camel: Apache ServiceMix и Red Hat JBoss Fuse. Эти две системы построены на одних и тех же компонентах и обладают схожими возможностями. Более того, в большинстве случаев, они взаимозаменяемы. Apache ServiceMix разрабатывается open-source сообществом, Red Hat JBoss Fuse компанией Red Hat. По большей части, это одни и те же люди.


Для начала, разберемся что такое ESB и зачем системы такого класса используются в информационной инфраструктуре предприятий. На современных предприятиях используется всё большей приложений различного класса: ERP, CRM, BPM, DWH, ECM и ещё множество трех-буквенных аббревиатур. Все эти приложения используют для интеграции различные протоколы и различные форматы данных. Для того чтобы связать все эти системы между собой и используется ESB.
Читать дальше →

Java-бенчмарки: случайные паттерны и закономерные результаты

Время на прочтение4 мин
Охват и читатели3.4K
Зависит ли производительность mass storage устройства от содержимого записываемых файлов? Во времена, когда монополия на реализацию внешней памяти вычислительных систем принадлежала накопителям на магнитных дисках, такой вопрос показался бы странным. Очевидно, в таких устройствах, время передачи файла определяется его размером, а также фрагментацией, заставляющей устройство выполнять дополнительное позиционирование. И нет причин для возникновения зависимости скорости от содержимого, если говорить исключительно об аппаратной производительности, не принимая во внимание программные драйверы, выполняющие архивацию или шифрование данных на уровне файловой системы. А как обстоят дела с данным вопросом у твердотельных дисков?
Читать дальше →

Особенности программного ProxyChanging'а в Android. Часть 1: от Jelly Bean до Lollipop

Время на прочтение23 мин
Охват и читатели5.7K
Как-то раз, для собственного удобства, мне захотелось написать приложение, которое меняет настройки прокси в конфигурации сетей Wifi для Android. Задача, как мне тогда показалось, была на раз плюнуть, однако, на деле, как всегда, возникли непредвиденные сложности.



Если вы считаете полезным в будущем знать решение, хотите почерпнуть что-то для себя или в вас просто проснулось любопытство — добро пожаловать под кат. Там вас ждет внутреннее устройство классов отвечающих за конфигурацию Wifi в различных версиях Android, небольшая чашечка кода на Java и щепотка Reflection.
Читать дальше →

«Выходить на сцену — мой способ не отставать от технологий»

: интервью с Барухом Садогурским из JFrog

Время на прочтение28 мин
Охват и читатели19K


В новом выпуске «Без слайдов» гостем стал Барух Садогурский aka jbaruch — Developer Advocate компании JFrog, постоянный резидент подкаста «Разбор Полётов» и частый спикер Java-конференций. За время разговора он среди прочего успел порассуждать:

  • о продвижении продукта без навязчивого расхваливания
  • о том, что «стюардессу Java EE пора закапывать»
  • о сложностях монетизации open source
  • о точном определении слова «стартап»
  • о своём дрифте от технологий и борьбе с ним
  • о том, чем Artifactory от JFrog лучше конкурентов — и даже о том, чем хуже

Как всегда, под катом — полная расшифровка интервью.


Читать дальше →

Измеряем производительность кэша Apache Ignite

Время на прочтение7 мин
Охват и читатели7.7K
После того, как в предыдущих статьях данной серии обзоров распределённого Java-фреймворка Apache Ignite мы сделали первые шаги, познакомились с основными принципами построения топологии и даже сделали стартер для Spring Boot, неизбежно встаёт вопрос о кэшировании, которое является одной из основных функций Ignite. Прежде всего, хотелось бы понять, нужно ли оно, когда библиотек для кэширования на Java и так полным-полно. Тем, что предоставляется реализация стандарта JCache (JSR 107) и возможность распределённого кэширования в наше время удивить сложно. Поэтому прежде чем (или вместо того чтобы) рассматривать функциональные возможности кэша Apache Ignite, мне бы хотелось посмотреть, насколько он быстр.

Для исследования применялся бенчмарк cache2k-benchmark, разработанный с целью доказательства того, что у библиотеки cache2k кэш самый быстрый. Вот заодно и проверим. Настоящая статья не преследует цель всеобъемлющего тестирования производительности, или хотя бы научно достоверного, пусть этим занимаются разработчики Apache Ignite. Мы просто посмотрим на порядок величин, основные особенности и взаимное расположение в рейтинге, в котором будут ещё cache2k и нативный кэш на ConcurrentHashMap.
Читать дальше →

Итоги Школы и все материалы по архитектуре клиент-серверных приложений

Время на прочтение2 мин
Охват и читатели11K
image

Больше трех месяцев назад мы анонсировали набор в школу для Android-разработчиков в Казани, месяц назад подвели итоги отбора и пообещали после окончания Школы поделиться всеми материалами курса. Время пришло.

Что выкладываем:
Читать дальше →

Университет Иннополис поможет бесплатно подготовить ИТ-специалистов

Время на прочтение1 мин
Охват и читатели12K
image

Желающие пройдут курсы и устроятся на работу в компании-резиденты Иннополиса, среди которых — Яндекс, Kaspersky и Acronis.
Читать дальше →

Как сделать всплывающие подсказки в JavaFX

Время на прочтение8 мин
Охват и читатели12K

Забытое искусство подсказки


Давным-давно, когда люди ещё делали домашние странички, интернет был по шипучему модему, а Napster казался опасной провокацией коммунистов, простенькие оконные приложения под Windows очень часто писали на библиотеке VCL. Одни пользовались Delphi (но признавались только домашним), другие смело запускали её из C++ Builder (и удивлялись ещё одному String, а также спискам, которые начинаются с 1). А кто-то ухитрялся писать на нём под unix-ы (вы помните Kylix? А он был!)

В VCL почти у всех визуальных компонент были свойства ShowHint и Hint. Если быть точным, они были у всех компонент оконного типа (кнопок, выпадающих списков и прочих панелек).

В строковой Hint писался текст подсказки, а булевый ShowHint мог её отключить. А более прокачанные даже знали, что можно сделать расширенный вариант подсказки. Если написать в Hint Нажми меня|Кнопка просит, чтобы вы её нажали, то левая часть всплывёт, а правая будет передана в событие. Это событие перехватывали и показывали полученный текст в строке состояния.

Настолько простые и удобные подсказки были предметом величайшей зависти тех, кто сидел на MFC (никаких WinForms в тогдашней Visual Studio ещё не было, не говоря о WPF), поддерживал OWL или штурмовал чистый WinAPI с Петцольдом наперевес. Кто знает, может быть кто-то из них и приложил свою мозолистую от кодинга руку к тому, что уникальная по своей удобности технология подсказок оказалась полностью утрачена в JavaFX.

Что у нас есть?


В JavaFX за подсказки отвечает компонент Tooltip. По всей видимости, это тайный компонент, потому что, к примеру, SceneBuilder его знать не знает.
Читать дальше →

Альтернативная версия упаковки Java приложения в Docker

Время на прочтение4 мин
Охват и читатели29K
Прочитав статью об упаковке JVM приложения в Docker, я остался в смятении. Я, как и любой разработчик, хочу чтоб мои волосы развевались на ветру контейнер собирался за одну команду, сразу, без лишних телодвижений. Чтобы конфигурация проекта и сборки была собрана в одном файле, и чтобы не было зависимостей от внешних систем.

Java приложения, как мы их видим

Далее последует альтернативный способ сборки Java-приложений в Docker контейнер используя Maven.
Читать дальше →

Ближайшие события

Welcome to Spark… on Java: Интервью с Евгением Борисовым

Время на прочтение9 мин
Охват и читатели14K
Big Data – это проблема. Количество информации растет с каждым днем, и она накапливается как снежный ком. Прекрасно то, что проблема эта имеет решения, только в мире JVM больший данных процессят десятки тысяч проектов.

В 2012 году увидел свет фреймворк Apache Spark, разработанный на Scala и рассчитанный на повышение производительности определенных классов задач в работе с Big Data. Проекту уже 4 года он повзрослел и дорос до версии 2.0, к которой (на самом деле уже начиная с версии 1.3-1.5) имеет мощный и удобный API для работы с Java. Чтобы понять, для кого это все надо, какие именно задачи стоит решать при помощи Spark, а какие не стоит, мы поговорили с Евгением EvgenyBorisov Борисовым, автором тренинга «Welcome to Spark», который пройдет 12-13 октября в Петербурге.


Читать дальше →

Как с помощью maven подключить библиотеку к проекту

Время на прочтение7 мин
Охват и читатели74K

Спросите кого-нибудь, для чего вообще нужен Maven — 90 процентов поголовья программистов ответит, что именно для этого и будут во многом правы.


Если в случае с, например, C++ подключение библиотеки к своему проекту — это серьёзный шаг, который гарантированно усложнит сборку до такой степени, что придётся включить инструкции по подключению данной конкретной библиотеки в readme, то в случае с Java это делается легко и непринуждённо — не в последнюю очедь благодаря Maven.


Хочу отметить, что статья предназначена для тех, кто начал изучать java относительно недавно и хотя уже знает из предыдущей статьи, что такое maven — о том, что такое библиотеки, знает не очень хорошо, а как их подключать не знает вообще.

Читать дальше →

QA: Conference. Множество новостей, новые доклады, онлайн-вещание

Время на прочтение1 мин
Охват и читатели230


Мы сделали это. Сетка докладов практически готова. Самое главное, выжимка:
  • Автоматизация тестирования серверной части и UI в ОС Linux в условиях жестких рамок настройки безопасности системы от Макса Шоничева
  • Про проблемы взаимодействия между отделами QA и Dev поговорят их представители: Артур Орлов и Анастасия Леншмидт
  • Мы с Яном Алексеенко проведем три мастер-класса
  • Специальный гость из Германии — Алексей Виноградов (один из ведущих Radio QA и разработчиков Selenide) — познакомит нас с тремя простыми и практичными видами PageObject архитектуры — Static, Void и Fluent и продемонстрирует использование кодом, сравнит плюсы и минусы подходов
  • Также из Германии — наш гость Slava Schmidt — консультант по Scala. Он нам поведует про Property-Based Testing with API-First Approach

«Недавно запустили систему онлайн-продаж для BMW»: T-Systems о роли Java и конференций в своей деятельности

Время на прочтение6 мин
Охват и читатели8.4K
Как со стороны понять, насколько активно IT-компания использует Java? Один из признаков: если компания спонсирует Java-конференцию и отправляет туда спикера, значит, активно. Поэтому в преддверии Joker 2016 мы решили расспросить наших спонсоров о Java и участии в конференции. Первый пост — о T-Systems.



Мы расспросили нескольких сотрудников компании: одних об их личном опыте Java-разработки в T-Systems, других — о компании в целом. Нашими собеседниками стали:

  • Кирилл Чернин — HR бизнес-партнёр
  • Дмитрий Александров — ведущий эксперт-программист (спикер Joker)
  • Вячеслав Круглов — Java-разработчик, team lead (спикер Joker)
  • Мария Зернова — специалист по внутренним коммуникациям


Читать дальше →

Принуждение к асинхронности в Java сервисах для Baratine

Время на прочтение4 мин
Охват и читатели7.9K

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


  • Асинхронные сервис интерфейсы
  • Выполнение вызовов сервиса в едином потоке
  • Неразделённое владение данными
  • Асинхронный Web
  • Асинхронная платформа исполнения сервисов
Читать дальше →

Spring Boot стартер для Apache Ignite своими руками

Время на прочтение11 мин
Охват и читатели12K

Вот уже вышло две статьи в потенциально очень длинной серии обзоров распределённой платформы Apache Ignite (первая про настройку и запуск, вторая про построение топологии). Данная статья посвящена попытке подружить Apache Ignite и Spring Boot. Стандартным способом подключения некой библиотеки к Spring Boot является создание для этой технологии «стартера». Несмотря на то, что Spring Boot весьма популярен и на Хабре описывался не единожды, про то, как делать стартеры, вроде бы ещё не писали. Этот досадный пробел я постараюсь закрыть.

Статья посвящена преимущественно Spring Boot'у и Spring Core, так что те, кого тема Apache Ignite не интересует, всё равно могут узнать что-то новое. Код выложен на GitHub, стартера и демо-приложения.
Читать дальше →

Логирование Git revision в Java с помощью Maven

Время на прочтение5 мин
Охват и читатели18K
Наша компания перешла с mercurial на Git, после чего мне пришлось разобраться как у нас до этого выводилась в лог информация о развертывающейся ветки и переписать это под git. Возможно, кто-то в будущем столкнется с такой же проблемой, так как Git набирает популярность и многие компании мигрируют на него.

Моя цель показать Вам, как с помощью нескольких maven plugin-ов можно сделать вывод в лог Вашей java программы названия ветки и хэш коммита из Git. Это полезно при анализе логов, если у Вас давно не было деплоя и история Вашего инструмента CI затерлась.
Читать дальше →