Автор: vit
-
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. Ничего плохого про эту библиотеку сказать не могу, но хочется какого-то разнообразия в жизни
-
Календари и даты
Постоянно наталкиваюсь на людей, которые утверждают, что «Date — deprecated, нужно использовать Calendar». Это не верно! Вариаций на тему «почему это не верно» где-только уже не написано, но все-равно появляются люди которые мне доказывают, что правильней использовать Calendar (аргументеруя именно «устареванием» Date). На самом деле в классе Date просто много deprecated методов. Но если почитать
-
Apache HTTPD, mod_jk, Apache Tomcat, Linux
1. Начало. Если Вы ставите Tomcat как-то так: (от рута) aptitude install tomcat6 tomcat6-admin tomcat6-examples, то прежде чем двигаться дальше, вам возможно стоит обратить внимание на настройки URIEncoding в server.xml. Здесь и далее: Томкат => Apache Tomcat, Апач => Apache HTTPD. 2. Вяжем. Классическая схема работы Томката (Apache Tomcat) в продакшене, это связка его с
-
Java one, Day #2
Java One, День Второй. Москва. По просьбе друзей выкладываю фотографии с конференции Java One. Фотки не мои, так что вопросы где взять исходные фотографии не ко мне. Как я туда попал. Вначале идти не очень хотелось — дел по работе выше крыши. Но поскольку Java One мероприятия последнее время проводились в Питере, то я их
-
Уменьшение изображения на Java
Довольно рутинная операция. Есть несколько способов. Возьмём исходное изображение: 1. Самый простой. Первый на stackoverflow. Суть метода очень проста — создаем BufferedImage меньшего размера, затем прорисовываем в него исходное изображение. Далее сохраняем обычным ImageIO.write() BufferedImage scaled = new BufferedImage(scaledWidth, scaledHeight, BufferedImage.TYPE_INT_RGB); Graphics2D g = scaled.createGraphics(); g.drawImage(originalImage, 0, 0, scaledWidth, scaledHeight, null); g.dispose(); ImageIO.write(scaled, «JPEG», new
-
Простые хаки и Greasemonkey
Недавно обратил внимание на то, что шрифты на сайте java.net какие-то неприятные – мутные и плохо читаются. Может они всегда были такими, а я стал чуть-более придирчивым, а может быть стали такими после мега_перезагрузки_сайта. На самом деле не столь важно почему, важно понять как подправить… Могу предложить два способа из разряда «быстрых хаков». Способ 1.
-
Удобный небезопасный кастинг
Удобный автоматический кастинг Вещь не новая, но для тех, кто начинал программировать на Java в 90-ые и не очень привык к Generics-ам, это может быть интересно. Пример использования. Вам нужен метод, который возвращает объекты разных классов. Это могут быть обычные объекты – String, Integer, List, а могут быть и какие-то «свои» сложные бизнес-объекты вроде –
-
Scala. Pattern Matching
Продолжил работу по созданию учебных материалов по Scala. Выкладываю черновую версию одной из глав. Сопоставление по образцу (pattern matching). Начало.