Блог о программировании

Январь 27, 2011

 

printf

Небольшой справочник "для себя" по работе с джавным printf()

Для простоты, в тексте System.out.printf() заменил на printf().

Базовые конструкции

%s → String или toString()

printf("Hello %s!", "World"); // "Hello World!"

%n → Перенос строки

Byte, Short, Int, Long

%d → В десятеричном.
%x → В шестнадцатеричном

%7d → В десятеричном. Минимальная ширина строки 7 знаков.

printf("%7d", 1); // "      1"

%07d → Минимальная ширина строки 7 знаков. Начало забить нулями.

printf("%07d", 1); // "0000001"

Float, Double

%f → Десятичное  число с точкой

%e → Десятичное  число с точкой и экспонентой

%.10f → С точностью 10 знаков после запятой

printf("%.10f", Math.PI); // "3,1415926536"

Date

%tF → Дата в формате "год-месяц-день"

printf("%tD", new Date()); // "2011-01-27"

%tT → Время в формате "час:минута:секунда"

printf("%tT", new Date()); // "22:42:37"

Java на habrahabr

Январь 25, 2011

 

JAVA / [Перевод] Spring Framework без XML… совсем!

В свете нынешней эпохи определения всего и вся аннотациями предлагаю вам статью о Spring Framework и возможностях аннотирования проектов. Прим. перев.
В начале был EJB 2.1, с его огромным количеством XML-файлов везде где только можно. Не будет особым преувеличением, если сказать, что на одну строку кода для бизнес-логики нужно было написать по крайней мере 10 строк кода от фреймворка и две страницы XML. Локальные и удалённые интерфейсы, ручной JNDI-lookup, многоуровневые try-catch, проверки на RemoteException… enterprise, в-общем. Даже инструменты соответствующие были для автоматической генерации всей этой «кухни».

Java на habrahabr

Январь 25, 2011

 

JAVA / AspectJ, Spring, Maven

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

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

Далее: конфигурация проекта и 3 примера аспектов.

Java на habrahabr

Январь 24, 2011

 

JAVA / [Ссылка] JavaTechDay 2011: Дайте два!

Несмотря на все опасения, JavaTechDay 2011 — крупнейшая (наверное) конференция разработчиков в Санкт-Петербурге состоится 18ого февраля. В этом году только один день — почему "дайте два"? Потому что в довесок будет еще полноценная JavaOne во Москве — но позже.

Java на habrahabr

Январь 20, 2011

 

JAVA / [Из песочницы] Система управления документами Alfresco

Поиск по Хабру не нашел подробных статей по системе Alfresco. В данной статье попробую убить сразу двух зайцев: рассказать что представляет из себя система Alfresco и как мы используем ее в нашей работе.

Как хранятся документы в небольшой организации? Самое простое — на локальном диске. А если необходима совместная работа — пересылаются по почте, либо, самый популярный вариант, на сетевом диске. Еще прекрасный вариант — Google Docs, но не уверен что он широко используется в Российской практике.

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

При мысли о системе электронного документооборота первыми на ум приходят дорогие решения от известных вендоров, таких как Microsoft, EMC, 1С и т.д. Но есть и альтернатива закрытым решениям — система управления документами с открытым исходным кодом Alfresco. Или, если по-английски, то Open Source Enterprise Content Management System (ECM, CMS).

Конкуренты Alfresco — это закрытое ПО, такое как EMC Documentum, Open Text, Sharepoint. Сами разработчики Alfresco пишут о своих конкурентах, как о наследии 90-х годов, которое:

  • слишком дорого стоит
  • слишком сложно использовать, разворачивать, масштабировать
  • слишком сложно модифицировать под свои нужды
  • слишком “проприетарно”

Попробую рассказать о системе, а вы уже решайте правы ли были разработчики.

Java на habrahabr

Январь 19, 2011

 

JAVA / [Из песочницы] История одного вскрытия: реверс-инжениринг Java-трояна



День начинался как обычно. Некоторое время я пытался листать конспекты, но скукой от них веяло самым жесточайшим образом. И тут внезапно случилось чудо. Самое настоящее чудо. У меня запищал мобильник, сообщая о том, что мне пришла SMSка.

Я схватил мобильник и стал читать эту SMSку. А в ней такой вот текст:

Postupil MMS podarok ot «Katya» dlya abonenta +7903*******. Posmotret: loadsms.ru/606.jar

Звёздочками я тут прикрыл свой номер.
Ясное дело, развод. Но блин, руки-то чешутся, зверушка явно написана на моей любимой Джаве, и мне жутко хочется её расковырять.

Java на habrahabr

Январь 18, 2011

 

JAVA / Разбираем JSR-334: примеры кода

JSR-334 посвящен небольшим улучшениям языка Java, которые реализованы в JDK 7

Java на habrahabr

Январь 15, 2011

 

JAVA / REST через Spring: Строгое отображение URL в ресурс

Как вы знаете Spring MVC использует новую модель конфигурации на основе аннотаций начиная с версии 2.5. Чтобы получить эти плюшки, нужно использовать тег <mvc:annotation-driven /> в файле конфигурации. Этот тег регистрирует DefaultAnnotationHandlerMapping и AnnotationMethodHandlerAdaptor в контексте приложения.

ru.java на livejournal

Январь 14, 2011

 

Vaadin Developer Meetup в Санкт-Петербурге 24 Января

Коллеги,

тем, кто не равнодушен к веб приложениям и Vaadin-фреймворку в частности, возможно будет интересно посетить мини-конференцию разработчиков Vaadin в Санкт-Петербурге, 24 Января 2011 г. На конференции будут собственно создатели фреймворка, с которыми можно будет пообщаться лично на все насущные проблемы.

Можно так же сделать свой мини-доклад на 10-15 минут по тематике.

Подробности программы и регистрация (бесплатная) на сайте http://vaadin.com/meetup

Java на habrahabr

Январь 12, 2011

 

JAVA / [Из песочницы] Автоматический контроль структуры класса

У каждой компании есть свой стандарт оформления кода и важно придерживаться его. Встроенные в IDE форматеры кода решают это задачу частично, так как они в основном позволяют лишь добиться простого выравнивая кода. Помимо этого хочется еще и порядка в последовательности объявления как полей, методов, так и вложенных классов. Причин, по которым код-стандарт не соблюдается масса: программист перед отправкой кода в репозиторий может не заметить отклонение от стандарта; новый разработчик недостаточно внимательно прочитал документ; в погоне за хот фиксом о формате забыли; либо из-за банальной усталости или лени программиста; автоматического рефакторинга и так далее. Регулярный код-ревью не решает суть проблемы, так как занимает слишком много времени и тормозит разработку — нужна автоматизация проверки соответствия кода в момент его написания!

Частые проблемы:

  • конструктор неожиданно появляется в середине класса;
  • внутренний класс объявлен где-то в середине внешнего класса;
  • абстрактный метод объявлен где-то в середине большого абстрактного класса;
  • @Autowired метод тоже расположен где угодно но только не на самом видном месте;
  • статические билдер методы разбросаны по коду класса;
  • поле класса затерялось где-то между внутренним классом и методами.

Надоело такое терпеть в коде?

 
<< < 31 из 38 > >>