-
UML в Javadoc через maven+umlgraph
Где-то год назад писал про различные UML-редакторы. К сожалению, ситуация толком не изменилась, пока действительно удобного на 100% для себя инструмента для создания UML-диаграмм не нашел. UMLet – хорошо спасает в 80% случаев для быстрого прототипирования, но иногда его не хватает. Сейчас речь пойдет не о нем, а о UMLGraph. Это инструмент, который позволяет осуществлять…
-
Java 7. Строки в переключателе
В предыдущей статье я написал про некоторые новшества в Java 7 (входящие в Project Coin) а именно: – Бриллиантовый оператор (Improved type inference for generic instance creation diamond) – Автоматически закрывающиеся ресурсы (try-with-resource). Конечно, это очень приятные вещи, но больше всего я рад появлению Strings in switch! Возможность использовать строки в switch люди ждут уже
-
Дельфин, монета и бриллиантовый оператор.
Релиз Java 7 должен выйти 28 Июля. В связи с этой знаменательно датой, я наконец-то решил посмотреть, что нас всех ждет. Поскольку в последнее время в основном занимаюсь Scala, то на новые языковые фичи в Java не обращал серьезного внимания (только на тусовках java-программистов, плюс поглядывал что пишут в разных блогах жависты). Итак Java 7.…
-
do while false
“Делать пока ложно”. Пару дней назад пытался кратко рассказать товарищу через аську про использование do { } while(false); для переписывания длинных ветвящихся if-ов. Кратко объяснить не получилось, в итоге решил написать в блоге. Метод довольно спорный, хотя и встречается в некоторых авторитетных источниках (например в “Совершенном Коде” С. Макконела). Идея довольно простая. 0. Код помещаем…
-
Мои хинты для Netbeans 7
Недавно нужно было заново установить Netbeans 7. Вот некоторые действия, которые всегда приходится делать после установки “коробочной” версии, а именно: поддержка Scala, интерфейс на английском и quick file chooser. Установка Заходим на официальный сайт: netbeans.org Нажимаем на [Download FREE] и переходим на ссылку http://netbeans.org/downloads/index.html Скачиваем, устанавливаем и запускаем. Итак, что приходится делать: 0. Обновления. На…
-
Scala и пустота
В Scala есть несколько разных сущностей для обозначения несуществующих, пустых или неопределенных объектов. Начнем с самого привычного для Java-программистов случая. Null Null – это trait. Объект null (с маленькой буквы) — это как раз и есть объект типа Null. Он находится внизу иерархии типов в Scala, в противовес AnyRef. Благодаря этому вы всегда можете как-бы…
-
EncryptableProperties и защита от дурака
Все знают, что не следует хранить в конфигурационных файлах (например properties) критически важную информацию в открытом виде. Например логины и пароли от базы данных, почты и т.д. Не стоит этого делать, т.к. “случайный” сисадмин или пользователь сможет открыть этот ваш файлик и увидеть пароль. С учетом того, что довольно часто пароли придумывают люди, то запомнить…
-
Main args, netbeans
Пара простых вещей (про аргументы командной строки + Java/Scala и чуть-чуть про NetBeans) Самый популярный и набивший оскомину пример HelloWorld встречается, наверное, уже во всех учебниках по программированию: // Пример из туториала: http://download.oracle.com/javase/tutorial/getStarted/application/index.html class HelloWorldApp { public static void main(String[] args) { System.out.println(“Hello World!”); // Display the string. } } Здесь String[] args — аргументы…
-
Немного карри
Использовать карринг в Scala одно удовольствие. Само определение каррирования(или карринга, названо в честь Хаскелла Карри): Для функции h типа h : (A × B) → C оператор каррирования Λ выполняет преобразование Λ(h) : A → (B → C) Отметим, что Λ – это оператор, то есть “функция над функциями”. Например берем функцию foo(x,y), каррируем и…
-
Java + Excel файлы (Apache POI)
С периодичностью раз в два-три года сталкиваюсь с проектами, в которых опять нужно работать с Excel файлами. Наверно это у меня что-то кармическое… Сейчас, в очередной раз приходиться реализовать полуавтоматический разбор сотен excel-файлов с прайсами. В прошлых своих проектах использовал JExcelApi. Ничего плохого про эту библиотеку сказать не могу, но хочется какого-то разнообразия в жизни…