-
Немного карри
Использовать карринг в Scala одно удовольствие. Само определение каррирования(или карринга, названо в честь Хаскелла Карри): Для функции h типа h : (A × B) → C оператор каррирования Λ выполняет преобразование Λ(h) : A → (B → C) Отметим, что Λ — это оператор, то есть «функция над функциями». Например берем функцию foo(x,y), каррируем и получаем moo(x)(y) — функцию от x которая возвращает функцию от y.
-
Java + Excel файлы (Apache POI)
С периодичностью раз в два-три года сталкиваюсь с проектами, в которых опять нужно работать с Excel файлами. Наверно это у меня что-то кармическое… Сейчас, в очередной раз приходиться реализовать полуавтоматический разбор сотен excel-файлов с прайсами. В прошлых своих проектах использовал JExcelApi. Ничего плохого про эту библиотеку сказать не могу, но хочется какого-то разнообразия в жизни поэтому в этот раз с товарищем решили попробовать Apache POI. Apache POI поддерживает как формат для обычных *.xls файлов (HSSF) так и *.xlsx файлы (XSSF). Кстати, формат для *.xls файлы в Apache POI они обзывают «HSSF — Horrible SpreadSheet Format», то есть «Вселяющий ужас формат…
-
Календари и даты
Постоянно наталкиваюсь на людей, которые утверждают, что «Date — deprecated, нужно использовать Calendar». Это не верно! Вариаций на тему «почему это не верно» где-только уже не написано, но все-равно появляются люди которые мне доказывают, что правильней использовать Calendar (аргументеруя именно «устареванием» Date). На самом деле в классе Date просто много deprecated методов. Но если почитать внимательно документацию, то видно, что устарел не сам класс, а просто часть функций этого класса еще во времена выхода Java 1.1 была вынесена в другой класс. Вот и всё! Целевое назначение объектов класса Date сохранилось. Это простой и легкий класс для обозначения времени (например 2010-01-01T12:00:00).…
android (11) blog (2) coworking (3) database (5) dce vm (1) design (2) design pattern (2) excel (1) gradle (1) groovy (1) gwt (3) gwt-ext (2) hibernate (2) image (3) Jar (1) Java (79) JavaScript (4) json (1) lambda (1) linux (6) maven (6) multimedia (2) mustache (1) mysql (4) netbeans (10) pdf (1) rdf (2) rmi (1) Scala (17) security (1) svg (1) svn (4) template system (1) Tomcat (4) tv (1) uml (9) web (1) xml (1) архитектор (3) дизайн (1) комикс (1) компьютер (1) места (2) программирование (59) работа (7)