Чем дольше "сижу" в линухе, тем больше понимаю что винда фигня... не... не совсем конечно фигня... для "начинающих" самый то... но...
Чем больше читаешь статей в инете про сравнения на всякого рода "хороших" и "умных" онлайн-журналах, тем больше понимаешь, что ЗАКАЗУХА...
вот например последняя статья с PCWeek отдаёт такой желтизной и заказухой...
вот например вырезка:
"Возвращение Microsoft к использованию командной строки с помощью PowerShell не имеет прямого аналога в мире Linux."
или
"Problem Steps Recorder представляет собой неплохой инструмент для выявления неисправностей, входящий в состав Windows 7. Если и существует что-то подобное для Linux, то нам не удалось его найти."
абидна
понедельник, декабря 21
четверг, декабря 17
Подключение по JDBC к DB2 из Java-агента Lotus Domino
Для Universal JDBC доступа к DB2 серверу из Java-агента Lotus Domino понадобится:
Скопировать на сервер библиотеки драйвера:
Копируем в каталог "%DOMINO_DIR%/jvm/lib/ext" файлы db2jcc.jar и db2jcc_license_cu.jar. Взять их можно с самого сервера DB2 из каталога "%DB2%\SQLLIB\java"
Перезагружаем сервер Lotus Domino, дабы JRE оного сервера "подхватила" новые библиотеки
написать Java-библиотеку DBFactory:
Создаём Java Library для класса DBFactory. Я не буду здесь расписывать вариант с несколькими подключениями и пропишу "жесткие" параметры подключения через private-аттрибуты url, user и password.
Исходный код библиотеки:
произвести само подключение, используя DBFactory:
Создаём Java-агента с Security="Allow restricted operations", к которому подключаем нашу библиотеку DBFactory

после чего в агенте можно создать подключение к серверу:
теперь нам доступен объект Statement, позволяющий организовывать SQL запросы к серверу.
Скопировать на сервер библиотеки драйвера:
Копируем в каталог "%DOMINO_DIR%/jvm/lib/ext" файлы db2jcc.jar и db2jcc_license_cu.jar. Взять их можно с самого сервера DB2 из каталога "%DB2%\SQLLIB\java"
Перезагружаем сервер Lotus Domino, дабы JRE оного сервера "подхватила" новые библиотеки
написать Java-библиотеку DBFactory:
Создаём Java Library для класса DBFactory. Я не буду здесь расписывать вариант с несколькими подключениями и пропишу "жесткие" параметры подключения через private-аттрибуты url, user и password.
Исходный код библиотеки:
public class DBFactory {
private static final String url = "jdbc:db2://SERVER_NAME:SERVER_PORT/DATABASE";
private static final String user = "USERNAME";
private static final String password = "PASSWORD";
private Connection con;
private Statement stmt;
public DBFactory() {
try{
Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
con = DriverManager.getConnection(url, user, password);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public Statement getStatement(){
return stmt;
}
}
произвести само подключение, используя DBFactory:
Создаём Java-агента с Security="Allow restricted operations", к которому подключаем нашу библиотеку DBFactory
после чего в агенте можно создать подключение к серверу:
Statement stmt = (new DBFactory()).getStatement();
теперь нам доступен объект Statement, позволяющий организовывать SQL запросы к серверу.
понедельник, декабря 14
линукс и принтеры...
Но вот раскопал ресурс (да, позор - ресурс лежал на поверхности, а я его не видел), в котором есть "справка" по установке в линуксе практически любого принтера...
Нашлись там и те принтеры, с которыми я сталкивался...
Последовательность поиска очень простая:
ЗЫ: Для openSUSE потребуется предварительно установить пакет lsb
Нашлись там и те принтеры, с которыми я сталкивался...
Последовательность поиска очень простая:
- Переходим в раздел Printers
- в первой строке выбираем производителя принтера (ВНИМАНИЕ - НЕ НАЖИМАЙТЕ СРАЗУ кнопку "Show")
- В списке правее выбираем модель принтера
- вот теперь можно нажимать на кнопку "Show", что в первой строке. (Для принтера Xerox WorkCentre M128, что у меня настраивался, это будет вот эта страница)
- переводим, читаем, вникаем и устанавливаем
ЗЫ: Для openSUSE потребуется предварительно установить пакет lsb
суббота, декабря 12
понедельник, декабря 7
Работа с FLAC (Часть 1. Разбивка на треки)
Понадобилось мне тут "порезать" большой flac на "множество треков...
Происки по инету дали следующие результаты:
1) треба использовать утилиты из пакетов cuetools и shntools
2) для openSUSE требуется подключить доп. репозитарии, дабы не ставить "ручками" и иметь возможность автоматического обновления
Посему, себе на память и ищущим для облегчения:
процедура раз (установка требуемого ПО):
1) в openSUSE требуется добавить репозитарии "Multimedia:Apps" и "Multimedia:Libs" для своей версии ОС
2) установить озвученные пакеты (из командной строки): sudo zypper in cuetools shntool (прим.: в openSUSE пакет shntools "сокращён" до shntool)
Процедура два (собственно, процесс разбиения flac на треки):
1) (опционально) Перекодирование русских названий треков в треклисте из Windows-кодировки: iconv --from-code=CP1251 --to-code=UTF-8 --output=CDImageUTF8.cue CDImage.cue
2) разбиение на треки: cuebreakpoints CDImage.cue | shnsplit -o flac CDImage.flac (прим.: если выполнялся пункт (1), то CDImage.cue заменить на CDImageUTF8.cue)
3) Заполнение тегами: cuetag CDImage.cue split-track*.flac
Происки по инету дали следующие результаты:
1) треба использовать утилиты из пакетов cuetools и shntools
2) для openSUSE требуется подключить доп. репозитарии, дабы не ставить "ручками" и иметь возможность автоматического обновления
Посему, себе на память и ищущим для облегчения:
процедура раз (установка требуемого ПО):
1) в openSUSE требуется добавить репозитарии "Multimedia:Apps" и "Multimedia:Libs" для своей версии ОС
2) установить озвученные пакеты (из командной строки): sudo zypper in cuetools shntool (прим.: в openSUSE пакет shntools "сокращён" до shntool)
Процедура два (собственно, процесс разбиения flac на треки):
1) (опционально) Перекодирование русских названий треков в треклисте из Windows-кодировки: iconv --from-code=CP1251 --to-code=UTF-8 --output=CDImageUTF8.cue CDImage.cue
2) разбиение на треки: cuebreakpoints CDImage.cue | shnsplit -o flac CDImage.flac (прим.: если выполнялся пункт (1), то CDImage.cue заменить на CDImageUTF8.cue)
3) Заполнение тегами: cuetag CDImage.cue split-track*.flac
воскресенье, апреля 26
PHP __autoload
Попалась тут задачка...
есть несколько вариантов написания библиотек с классами... почему так? потому что разные источники и у каждого свои исторически сложившиеся наименования...
В частности их было 3:
1) ClassName.class.php
2) ClassName.php
3) class/ClassName.php
где ClassName - имя вызываемого класса.
естественно, что решение с простым использованием include/require в функции __autoload в данном случае не подходил.
в итоге пришёл вот к такому коду:
function __autoload($className){
if (is_file('class/' . $className . '.php')) {
include_once ('class/' . $className . '.php');
} elseif (is_file($className . '.class.php')) {
include_once ($className . '.class.php');
} elseif (is_file($className . '.php')) {
include_once ($className . '.php');
} else {
throw new ErrorException('Не удаётся закрузить класс "' . $className . '"');
}
}
есть несколько вариантов написания библиотек с классами... почему так? потому что разные источники и у каждого свои исторически сложившиеся наименования...
В частности их было 3:
1) ClassName.class.php
2) ClassName.php
3) class/ClassName.php
где ClassName - имя вызываемого класса.
естественно, что решение с простым использованием include/require в функции __autoload в данном случае не подходил.
в итоге пришёл вот к такому коду:
function __autoload($className){
if (is_file('class/' . $className . '.php')) {
include_once ('class/' . $className . '.php');
} elseif (is_file($className . '.class.php')) {
include_once ($className . '.class.php');
} elseif (is_file($className . '.php')) {
include_once ($className . '.php');
} else {
throw new ErrorException('Не удаётся закрузить класс "' . $className . '"');
}
}
NetBeans
Решил попробовать NetBeans вместо Eclipse для кодинга...
хм... или мне пока только кажется, или в нём и правда получше будет... хотя есть некоторые "мелочи", которые несколько раздражают...
такие как сворачивание блоков происходит ПОЛНОСТЬЮ и норовит это сделать постоянно... разве что не на тех блоках, которые ты сейчас правишь - это радует немного...
Цвето-шрифтовая схема какая-то малость неприятная... но менять пока времени особо нет - долго сидеть разбираться и ковыряться в настройках... но чуть позже к этому я явно вернусь - как совсем достанет...
Радует хорошая интеграция с AJAX библиотеками... а так же нашёл модуль, добавляющий поддержку Smarty-шаблонов для PHP проектов.
хм... или мне пока только кажется, или в нём и правда получше будет... хотя есть некоторые "мелочи", которые несколько раздражают...
такие как сворачивание блоков происходит ПОЛНОСТЬЮ и норовит это сделать постоянно... разве что не на тех блоках, которые ты сейчас правишь - это радует немного...
Цвето-шрифтовая схема какая-то малость неприятная... но менять пока времени особо нет - долго сидеть разбираться и ковыряться в настройках... но чуть позже к этому я явно вернусь - как совсем достанет...
Радует хорошая интеграция с AJAX библиотеками... а так же нашёл модуль, добавляющий поддержку Smarty-шаблонов для PHP проектов.
воскресенье, апреля 5
Ладо, ладно! Уже выхожу...
Решил я тут значит в консольке поработать да пакеты всякие понаставить...
а тут Zypper возьми да подвисни что-то...
Ну дурное дело не хитрое - жму Ctrl+C, дабы прекратить работу...
тишина...
жму ещё раз... и чтоб вы думали? мне в ответ ещё и НУКАЮТ... :)
Да... весёлые разработчики Zypper видать...

----------------
Now playing on Last.fm: Leftfield - Space Shanty
via FoxyTunes
а тут Zypper возьми да подвисни что-то...
Ну дурное дело не хитрое - жму Ctrl+C, дабы прекратить работу...
тишина...
жму ещё раз... и чтоб вы думали? мне в ответ ещё и НУКАЮТ... :)
Да... весёлые разработчики Zypper видать...

----------------
Now playing on Last.fm: Leftfield - Space Shanty
via FoxyTunes
понедельник, марта 23
руководства к openOffice
на Инфра-Ресурс есть не только небольшой список руководств, но ещё сейчас нашёл и список поприличнее, да ещё и в 2-х форматах - в PDF и ODT.
----------------
Now playing on Last.fm: ...И Друг Мой Грузовик - Учительница
via FoxyTunes
----------------
Now playing on Last.fm: ...И Друг Мой Грузовик - Учительница
via FoxyTunes
вторник, марта 17
ноутбук ASUS Mk51Kr и openSUSE
Поставил себе openSUSE 11.1 на ноутбук.
После установки возникло несколько проблем:
1) проблема со звуком
2) У мышки пашут не все кнопки/колёсики
3) Расширение рабочего стола на внешний монитор
Первую проблему решил оставить на потом, ибо а) не критична и б) "заткнул" её подключением внешних USB колонок.
На вторую пока просто забил...
А вот вторая была для меня критичной - дома и на работе цепляю дополнительный монитор и хочется использовать его по полной :)
В общем проблема решилась довольно просто - через sax2 выставил монитор в VESA и поддерживаемые режимы до 1600x1200х75, а используемый режим в 1280x800 (ноут). При этом включать поддержку второго монитора не стал - предоставил это сделать xrandr.
После перезагрузки иксов (разлогинился и Ctrl+Alt+Backspace дважды) всё заработало как мне и хотелось: внешние мониторы пашут как нужно, помнят что подключались с таким-то разрешением (когда цепляешься к разным мониторам с различными диагоналями), перезагрузка X-сервера не требуется.
кусочек из xorg.conf:
После установки возникло несколько проблем:
1) проблема со звуком
2) У мышки пашут не все кнопки/колёсики
3) Расширение рабочего стола на внешний монитор
Первую проблему решил оставить на потом, ибо а) не критична и б) "заткнул" её подключением внешних USB колонок.
На вторую пока просто забил...
А вот вторая была для меня критичной - дома и на работе цепляю дополнительный монитор и хочется использовать его по полной :)
В общем проблема решилась довольно просто - через sax2 выставил монитор в VESA и поддерживаемые режимы до 1600x1200х75, а используемый режим в 1280x800 (ноут). При этом включать поддержку второго монитора не стал - предоставил это сделать xrandr.
После перезагрузки иксов (разлогинился и Ctrl+Alt+Backspace дважды) всё заработало как мне и хотелось: внешние мониторы пашут как нужно, помнят что подключались с таким-то разрешением (когда цепляешься к разным мониторам с различными диагоналями), перезагрузка X-сервера не требуется.
кусочек из xorg.conf:
Section "Monitor"
DisplaySize 331 207
HorizSync 31-93
Identifier "Monitor[0]"
ModelName "1600X1200@75HZ"
Option "PreferredMode" "1280x800"
VendorName "--> VESA"
VertRefresh 50-75
UseModes "Modes[0]"
EndSection
Подписаться на:
Сообщения (Atom)