воскресенье, 14 февраля 2010 г.

jdk and jre

Кто-нибудь знает, зачем вместе с JDK поставляется еще и JRE?
Ведь в JDK и так есть все необходимое для запуска java приложений?

суббота, 2 января 2010 г.

Total Anihilation SPRING!

This is my favourite game!

It is very very cool and opensource!! And cross platform!!

Just take a look at little trailer:


and another video:

воскресенье, 11 октября 2009 г.

social networks

Коллеги, а у вас тоже есть чувство недоверия к социальным сетям и различным веб проектам?

Например, гугл блокнот был и теперь его нет :-) Или я нашел любимую музыку и составил плейлист вконтакте, но кто знает, как долго там будет пиратская музыка и сайт вообще может закрыться через какое-то время. А ведь есть куча сайтов для ведения своих дел, проектов, заметок... я им очень не доверяю. Кто знает, может сейчас они все просто очень молодые.. и через лет 5 все стабилизируется.. но не доверяю им и всё тут..

четверг, 24 сентября 2009 г.

sql troubles

У меня часто бывает - напишу SQL отчет какой-нибудь на страницу или две, а потом через месяц надо в нем найти и пофиксить багу.

Каждый раз смотрю на SQL и ощущаю себя тупицей :-) ничего не помню, и понять SQL запрос так не просто, что хоть снова взять и с нуля написать. Более того, в процессе написания такого SQL report-а я могу потерять мысль и прийдется снова всё переписывать заново.

Пробовал комментировать чуть ли не каждую строчку - всё равно при больших запросах это не спасает. Как быть?

У вас есть такая проблема? Как ее решаете вы?

вторник, 22 сентября 2009 г.

Молились ли вы на ночь? Deathdemona

Macr0s: SELECT ... {далее следует огромный такой SQL запрос}
Macr0s: где я не прав? :)

Spirit: Втом месте времени когда ты мне написал это(12:10:30) )))

Macr0s: оО
Macr0s: Иов глава 12, стих 10 В Его руке душа всего живущего и дух всякой человеческой плоти.
Macr0s: 30-я буква "о"
Macr0s: точно, как же я сразу не догадался
Macr0s: О селект .... фром...

jamerlan: Теперь всегда буду строки называть "глава" а столбцы "стих" :-))) в SQL запросах)))
jamerlan: если ошибка - значит твоя летопись расзодится с библией, и надо помолиться

Macr0s: компьютер на котором не работают заветы библии - объявляется неверным и подлежит сожжению!

jamerlan: Oracle - буддизм, Mysql - язычество, Microsoft SQL - христианство
jamerlan: Бог как-бы един, но молитвы все равно разные надо произносить

Macr0s: мускул - сатанизм
Macr0s: оракл - расизм :)
Macr0s: мс-скул - нигилизм

среда, 16 сентября 2009 г.

Разобрал notebook

не программерский пост :-)

В последнее время у меня ноут стал сильно греться, и даже вырубился пару раз сам. Это меня насторожило, я подумал, что он запылился (покупал примерно год назад).
Ну и решил разобрать, почистить.

Вот как выглядит ноут:
Samsung R700
Samsung R700

Первым делом осмотрел нижнюю часть ноутбука. Какого-нибудь легкого способа достать до вентилятора, что на процессоре, не нашел. Стал разбирать. Открутил все болтики на днище, и наткнулся на самую распространенную проблему: все болтики открутил, а ноут не разбирается! :-) Оказывается, надо снять клавиатуру и там еще пару болтиков открутить. Как я это делал - целая история :-) Но закончилась благополучно..

Разобрал, пыли вообще никакой нет. Успокоился, собрал назад. Как обычно, лишние детали - 2 болтика. Но вроде всё работает :-)

Я с ним возился часов 5 с небольшими перерывами. Поэтому устал, но все таки нашел силы сделать на память пару снимков("абы как"):



воскресенье, 19 июля 2009 г.

apache commons io

Мой наивный пост на тему полезности commons.io

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

Все удивлялся, почему в jdk не входит удобный и простой метод для перебора файлов и работы со строками. И вот как-то читая juick наткнулся на запись ~ "я открыл для себя commons.io, рулез!". И тоже для себя ее открыл :-D

Оказалось, что эта библиотека сократила код всех моих утилит раза в 3! Использовать и изучить ее очень просто! Хоть я и не пользуюсь всеми фишками, хочу о двух из них, для примера, рассказать.


Пример:
Задача #1:
Нам требуется найти все файлы, содержащие строку "hello world" и сохранить список этих файлов.

Решение:
Надо просто написать класс, назовем его "HelloWorldWalker" и унаследовать его от абстрактного класса DirectoryWalker. Переопределяем в нем метод handleFile, в котором "принимаем" только файлы, содержащие искомую строку. Все очень просто.
Использовать его еще проще!
List labelInFiles = new HelloWorldWalker(startDir).findLabelInFiles();

Задача #2:
Надо считать все строки из файла

Решение:
List stringsList = FileUtils.readLines(file);
Проще некуда!

P.S. Похоже commons.io не поддерживает дженерики из java 5, очень жаль
P.P.S. пост just for fun