четверг, 19 апреля 2012 г.

PHP, Windows и библиотка php_ibm_db2.dll. Ошибка "Unable to load dynamic library php_ibm_db2.dll"

При возникновении ошибки "Unable to load dynamic library php_ibm_db2.dll" нужно скачать библиотеку, скомпилированную для используемой версии PHP и скомпилированной в той же версии компилятора, в котором был скомпилирован интерпретатор. После чего, поместить библиотеку в каталог расширений PHP.

Скачать нужную версию php_ibm_db2.dll можно здесь.

В случае возникновения других ошибок "Unable to load dynamic library ...", нужные версии библиотек для PHP можно поискать тут.




понедельник, 16 апреля 2012 г.

Ошибка при запуске программ. Источник: SydeBySide. Не найдена сборка Microsoft.VC90.CRT.

Ошибка поймана при установке новой версии WampServer 2.2a, который отказался запускаться после установки.

В логе системы два сообщения:

Resolve Partial Assembly завершилась не удачно для Microsoft.VC90.CRT
Зависимая сборка Microsoft.VC90.CRT не может быть найдена
Источник - SydeBySide

Решение:
Ошибка возникает из-за того, что не установлены распространяемые библиотеки Microsoft Visual C++ 2008 (VC++ 2008 Redistributable Package).
Взять можно тут - http://www.microsoft.com/downloads/ru-ru/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

воскресенье, 1 апреля 2012 г.

Eclipse IDE. Проблема с загрузкой обновлений и плагинов.

После установки Windows 7 x64 и свежей Eclipse IDE (Indigo) получил следующую проблему - Eclipse при обновлении самой среды разработки или попытке установки новых плагинов "зависает" во время загрузки обновлений - процесс загрузки останавливается на определенном этапе.

Решается проблема с загрузкой обновлений для Eclipse так:
  1.      В свойствах запускного файла на вкладке "Совместимость -> Изменить параметры для всех пользователей" указываем, что программа всегда должна выполняться от имени администратора.
  2.      В свойствах ярлыка программы прописываем следующий параметр запуска:
 -Djava.util.Arrays.useLegacyMergeSort=true

Если проблема не исчезла - проверяем файрволл, прокси и антивирус.



среда, 28 марта 2012 г.

Идиомы. Нейтральный к исключениям код на C#.

Под нейтральным к исключениям кодом понимается такой код, в котором не предумотрена явная обработка возможных исключений (try/catch) и который при этом в состояние справиться с возникшими исключениями.

В основе написания нейтрального к исключениям кода лежит идея, похожая на идею транзаций (commit/rollback) - фиксация изменений или откат всех действий и восстановление первоначального состояния объектов в случае возникновения исключения.

Реализация подобной схемы дает несколько преимуществ:
1) Улучшение читабельности кода за счет отсутствия конструкций try/catch/finnally.
2) Код гарантированно не генерирует исключения после изменения состояния обьектов, что вполне может произойти в блоках catch или finally.
3) Если возникает исключение до изменения состояния обьектов - все изменения откатываются и обьекты остаются в первоначальном состоянии.

Минусы подобной схемы:
1) Снижение эффективностикода во время выполнения за счет большего количества потребляемых системных ресурсов.

Расмотрим пример реализации подобного кода:

воскресенье, 18 марта 2012 г.

Ошибка в Windows 7. BOOTMGR is compressed.

В случае, если система Windows 7 не загружается, выдавая при загрузке ошибку "BOOTMBR is compressed", выполняем следующую последовательность действий:
  1. Загружаемся с диска ERD Commander или любого загрузочного диска.
  2. Переходим в коммандную строку, в которой последовательно набираем:
bootrec /FixMbr
bootrec /FixBoot
bootrec /RebuildBcd
exit
     3. Перезагружаемся с жесткого диска. Все должно работать.

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



воскресенье, 29 января 2012 г.

Смена раскладки клавиатуры (языка по умолчанию) при входе в Windows

Если требуется изменить язык (раскладку клавиатуры) по умолчанию при входе в систему:

1. Запускаем редактор реестра regedit.exe, переходим в ветку
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
2. На первую позицию ставим нужную нам раскладку:
00000419 - Руская
00000409 - Английская

Настройка окна терминального Windows-клиента

1. Сохраняем параметры подключения в RDP-файле
2. Открываем RDP-файл в блокноте и правим
3. Для того, чтобы окно запускалось развернутым, правим параметр winposstr:i
    winposstr:s:0,WinMode,Left,Top,Right,Bottom
где WinMode:
1 - окно не развернуто
3 - развернуто

остальные параметры здесь: http://support.microsoft.com/kb/885187