Синий экран ошибка BCCode: 50 (BSOD на Windows 7)

Периодически компьютер при попытке перехода в режим Гибернация (а-ля спящий режим) выдает синий экран смерти (BSOD) и перезагружается с сообщением “Система была восстановлена после серьезного сбоя”

Имя события проблемы: BlueScreen
BCCode:    50
BCP1:    CECECECE
BCP2:    00000000
BCP3:    88522300
BCP4:    00000002
OS Version:    6_1_7600

Из рекомендаций - проверить драйвера к видеокарте (тем более, что в сообщении мелькало что-то про NVidia)

Опубликовано Февраль 15, 2011 | автор: levik  |  Без комментариев »

У пользователя пропадают локальные административные права

Доменный пользователь, имеющий права локального администратора, после перезагрузки компьютера “исчезает” из группы администраторов на компьютере. При этом, если перезагрузка происходит через короткий промежуток времени после установки административных прав, то пользователь может остаться администратором.

После применения политики безопасности на Default domain policy - параметры безопасности - hisecws.inf у пользователей у которых были права локального администратора на компьютере после перезагрузки пропадает администратор на локальной машине. Была применена setup security.inf но проблемы остались. Как это исправить ???

http://forum.sysadmins.su/index.php?showtopic=26394

Рекомендация:
см. настройки Restricted Groups в GP

бонус:
http://zona.su/2009/01/restricted-groups-remote-desktop.html
Использование Restricted Groups для администрирования через Remote Desktop

Выполняем для изменения пути по умолчанию, при подключении новых компьютеров в домен, на нужный нам OU:
redircmp ou=mycomputers,DC=corp,dc=com

Для пользователей соответственно используем:
redirusr ou=myusers,DC=corp,dc=com

http://support.microsoft.com/kb/324949

Опубликовано Февраль 14, 2011 | автор: levik  |  Без комментариев »

Wget - загрузка файлов и сайтов в Linux

Про полезности wget написано много.

Просто скачать файл при помощи wget:
wget ftp://myserver.com/file.data

Продолжить прерванную загрузку файла - загрузка файла с докачкой:
wget -c ftp://myserver.com/file.data
wget --continue ftp://myserver.com/file.data

скачать файлы из списка:
wget -i filelist.txt
wget --input-file filelist.txt

Создать локальное зеркало сайта - скачать сайт:
wget -m http://yandex.ru/
(простое сохранение страниц. При этом ссылки ведут на сам сайт)

Для того, чтобы создать копию сайта для локального просмотра (скачать сайт целиком), можно воспользоваться дополнительными ключами:

wget -r -l 0 -e robots=off -np -k http://yandex.ru/
Скачать весь яндекс :)

-r - рекурсивное скачивание
-l 0 - глубина 0 (т.е. качаем, пока качается)
-np - no-parent - не качать ссылки выше основного url
-k - изменить ссылки на локальные
-e robots=off - игнорируем директивы robots.txt

http://www.inp.nsk.su/~bolkhov/teach/inpunix/typ_wget.ru.html
Описание некоторых ключей wget

Опубликовано Февраль 12, 2011 | автор: levik  |  Без комментариев »

Общение с заказчиком :)

Программист сдает готовый проект заказчику. Заказчику все нравится, он довольно кивает:
— Я надеюсь, если потом нужно будет что-нибудь переделать, я смогу обратиться к Вам? Конечно же, я не скажу «Давайте все изменим!»
— Без проблем. Кстати, маленький вопрос. Можно и мне потом, если у меня вдруг закончатся деньги или будут какие-нибудь проблемы, связаться с вами с просьбой – немного мне доплатить?
— ???
— Да вы не волнуйтесь! Я же не скажу вам «заплатите мне еще раз»!

http://itif.ru/ulybnulo-xoroshaya-otpiska-zakazchiku/

Опубликовано Февраль 11, 2011 | автор: levik  |  Комментарий (1) »

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext

При запуске из командной строки в Windows php ругается кучей однотипных warning-ов:
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\…

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\php_curl.dll’ - =х эрщфхэ єърчрээvщ ьюфєы№. in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\php_gd2.dll’ - =х эрщфхэ єърчрээvщ ьюфєы№. in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\php_mbstring.dll’ - =х эрщфхэ єърчрээvщ ьюфєы№. in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\php_mysql.dll’ - =х эрщфхэ єърчрээvщ ьюфєы№. in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\php_mysqli.dll’ - =х эрщфхэ єърчрээvщ ьюфєы№. in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\php_pdo.dll’ - =х эрщфхэ єърчрээvщ ьюфєы№. in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php5/ext\php_pdo_mysql.dll’ - =х эрщфхэ єърчрээvщ ьюфєы№. in Unknown on line 0

Переводя кракозябры, получаем что-то вроде “Не найден указанный модуль“.

Как правило, всё дело в том, что в php.ini не правильно задан путь к расширениям:
;Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/php5/ext"

Следует исправить на “нормальный” для windows путь (не забываем заключительный слэш) - должно получиться что-то вроде такого:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:\program files\servers\usr\local\php5\ext\"

Такого рода проблема может появиться у многих windows-серверов для локальной разработки: Xampp, Wampp, Denwer

Опубликовано Февраль 10, 2011 | автор: levik  |  Без комментариев »

Yii framework - заметки на полях

Заметки про Yiiframework

Создать приложение YII
yiic webapp /home/webmaster/public_html
yiic.bat webapp Z:\home\mysite\www

Для корректной работы скрипта yiic.bat в Windows на Denwer следует либо исправить скрипт (прописать полный путь к php, либо добавить каталог с php в системную переменную PATH).
if "%PHP_COMMAND%" == "" set PHP_COMMAND=z:\usr\local\php5\php.exe
Запускать скрипт следует из каталога framework

Приложение в YII можно создать без консоли. Достаточно скопировать framework/cli/views/webapp/protected/.

Наиболее полный конфиг для YII:
http://www.yiiframework.com/wiki/59/using-the-configuration-file-explain-what-can-be-configured
http://www.yiiframework.com/doc/api/1.1/CWebApplication - конфиг = массив параметров
Можно поставить http://www.yiiframework.com/extension/yii-debug-toolbar Там в настройках все подключенные компоненты описаны и все их настройки.

http://issuu.com/vincentchoi/docs/yii-blog-1.1.0

Кэширование схемы БД:
http://www.larryullman.com/2010/06/28/caching-the-database-schema-using-memcached-with-yii/
'db'=>array(//...
'schemaCachingDuration'=>3600,//....

Контроллер по умолчанию site. Задать другой контроллер по умолчанию:
'defaultController'=>'default', // параметр в protected/config/main.php

Action по умолчанию index. Задать другой Action по умолчанию
public $defaultAction = 'newindex'; // переменная в Controller

Если нужный Action отсутствует, может быть вызван метод missingAction

    class SiteController extends CController
    {
      public missingAction($actionID)
      {
        Yii::trace(' Action not found '.$actionID);
        $this->redirect('site/index'); // вариант с редиректом
        $this->run('index'); // вариант без редиректа
      }
    }

Язык по умолчанию задается в protected.config.main (сообщения верификации вроде “cannot be blank”)
'sourceLanguage' => 'ru',
'language' => 'ru',

Тотальный перевод - http://yiiframework.ru/forum/viewtopic.php?f=3&t=1001

Свой адрес для страниц, требующих авторизации (если null - выдает 403 ошибку и не перебрасывает на форму)
'loginUrl'=>null, // 'site/login'

Расширения для YII
http://www.yiiframework.com/extensions/
http://yiiframework.ru/forum/viewtopic.php?f=4&t=963
http://code.google.com/p/yiiplayground/

Динамическое изменение CUrlManager::rules
http://rmcreative.ru/blog/post/curlmanageraddrules

Структура
http://www.yiiframework.com/wiki/155/the-directory-structure-of-the-yii-project-site/

View - глобальный/модуль/каталог:
- “//layouts/main” указывает на «protected/views/layouts/main.php» (если «protected» — это базовая директория приложения)
- “/layouts/main” указывает на «protected/modules/abc/views/layouts/main.php» (если «abc» — это текущий рабочий модуль. Если нет, то это тоже самое, что и “//layouts/main”)
- “main” указывает на view-файл, размещенный в директории представлений текущего контроллера или в директории текущего макета (layout).

В атрибутах CHtml (а также - форм) убираем преобразование спецсимволов
echo CHtml::activeCheckBox($advertisment, ‘anyProposed’, array(
‘onClick’ => “document.getElementById(’myText’).value=’123′”,
‘encode’ => FASLE,
));

Включаем отладку, смотрим SQL
http://yiiframework.ru/forum/viewtopic.php?f=3&t=877

События в YII
http://devkp.ru/post/sobyitiya-v-yii
http://dr0id.ru/post/90/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9+%D0%B2+Yii
http://yiiframework.ru/forum/viewtopic.php?f=3&t=4255#p26793

RBAC в БД
http://www.yiiframework.com/doc/api/1.1/CDbAuthManager
http://yiiframework.ru/forum/viewtopic.php?f=3&t=4321#p26883 -

Привязка изображений к модели
http://www.yiiframework.com/extension/fileimagearbehavior
http://yiiframework.ru/forum/viewtopic.php?f=3&t=4342
http://yiiframework.ru/forum/viewtopic.php?f=3&t=1678&start=20#p10318

Grid
http://www.yiiframework.com/forum/index.php?/topic/24280-gridview-filtering-of-relational-data/

http://yiiframework.ru/forum/viewtopic.php?f=8&t=1284&start=10#p7918 - куки/сессии/поддомены
http://www.yiiframework.com/wiki/152/cookie-management-in-yii/ - cookie

Ajax link
http://yiiframework.ru/forum/viewtopic.php?f=3&t=4726#p29551

Полезные поведения
http://yiiframework.ru/forum/viewtopic.php?f=9&t=2000 - slug (транслит заголовка)

Twig Renderer
http://yiiframework.ru/forum/viewtopic.php?f=4&t=3511#p21424- static twig (CHtml)

Опубликовано Февраль 9, 2011 | автор: levik  |  Без комментариев »

Lazy Load - ленивая (отложенная) загрузка изображений с помощью javascript

Увеличение скорости загрузки сайта, а также снижение нагрузки на сервер, используя отложенную загрузку изображений при помощи javascript т.н. Lazy Load

Для сайтов, на которых присутствует довольно большое количество картинок (особенно, если в браузер они выводятся “скопом”), отложенная загрузка может дать значительный выигрыш, как в скорости работы “для клиента”, так и в уменьшении нагрузки (и трафика) на сервер.

Вся “фишка” lazy load загрузки картинок в том, что те картинки, которые не видны пользователю попросту не загружаются. То есть, загрузка “нижних” картинок, не попадающих на экран происходит при перемотке страницы.

Lazy Load реализован с использованием различных фреймворков:

Опубликовано Февраль 8, 2011 | автор: levik  |  Без комментариев »

Debian 6.0 Squeeze

Freebsd / DebianВышел Debian 6.0 Squeeze, анонс на оф. сайте
Основные изменения:

  • Инфраструктура Debian:
    • backports.org теперь является частью основного проекта (backports.debian.org).
  • Структура ОС:
    • переработан установщик;
    • dash теперь устанавливается по умолчанию и является обязательным;
    • используется новый загрузчик GRUB 2, старый GRUB доступен в пакете grub-legacy;
    • загрузка ускорена с помощью insserv и параллельного запуска служб на основе их зависимостей;
    • в dpkg добавлена поддержка компрессии xz, проведены оптимизации по ускорению работы с базой данных, а также произведена отвязка от perl;
    • соответствие стандартам FHS 2.3 и LSB 3.2;
    • полностью свободное ядро Linux без закрытых и несвободных прошивок (перенесены в non-free);
    • более 10 000 новых пакетов — теперь общее число пакетов достигло 29 000 (собраны из 15 000 пакетов с исходными кодами), около 60% пакетов обновлены, некоторые пакеты были удалены;
    • в качестве технического обзора в дистрибутив включены два ядра FreeBSD, работающие с пакетами Debian: kfreebsd-i386 и kfreebsd-amd64.
  • ПО, включённое в выпуск:
    • ядро Linux 2.6.32 с поддержкой ext4 и KMS;
    • GNOME 2.30 с некоторыми частями GNOME 2.32;
    • KDE 4.4.5;
    • Xorg 7.5;
    • OpenOffice 3.2;
    • Python 2.6.6;
    • Samba 3.5.5;
    • Tomcat 6.0.28.

UPD PHP5.2 + debian squeeze
http://muzso.hu/2011/09/19/how-to-use-php-5.2-with-debian-squeeze

Опубликовано Февраль 6, 2011 | автор: levik  |  Без комментариев »

php - прячем информацию от разработчиков

Задача:  написать непрозрачный объектно-ориентированный код на php.
Есть система, которая работает с некоторыми секретными данными. Данные хранятся в xml, и закрыты ассиметричным ключом. Закрытый ключ хранится в коде внутри финализированного метода внутри класса. Класс накрыт зендом и поднимается только через дизасм. Скрепя сердце начальство признало этот способ безопасным. Доступ к классу осуществляется через https соединение. Столкнулся с проблемой, которая разорвала мне мозги: вся эта система ходит по рукам, но всё время остается закрытой для сторонних разработчиков за исключением того, что у системы есть документированное API. А значит на эту систему вешаются сторонние модули.Несмотря на то, что сам класс, который парсит xml с секретными данными финализированный и всё, что можно находится в private, добрые люди намекнули, что эта система пробиваема на Ура. Способ обхода очень странный: самый верхний объект прогоняется через var_dump, результат вывода кэшируется, а затем кэш парсится. Получается, что если мой объект расшифровал секретный xml, то он хранит распарсированные конфиги у себя в private свойствах, потом его сканирует сторонний модуль через var_dump или print_r и грабит секретную статическую информацию производителя системы, которая одинакова на всех копиях системы. На сколько мне известно, var_dump и print_r могут получить доступ к всем свойствам (в том числе private и protected). Уязвимостью это язык не поворачивается, это дыра, в которую можно пешком пройти.

final class Center {

private static $domSecret = 'DOM';public function makeProfit($a){

return self::$domSecret.$a;

}

public function __construct(){

exit("error");

}

}

echo Center::makeProfit('::Profit');

//а тут - вылетает с ошибкой

$c = new Center();

Вариации на тему^
private function __construct(){}

http://www.php.ru/forum/viewtopic.php?t=29560

Опубликовано Февраль 2, 2011 | автор: levik  |  Без комментариев »

Перенос сайта на MODx на другой сервер

Шпаргалка по переносу сайтов на MODx с одного хостинга на другой (или на/с локальный компьютер) по большому счету не особо отличается от шпаргалки по переносу блога на Wordpress

Для того, чтобы перенести сайт на MODx, потребуется скопировать сам сайт и базу данных :) Как правило, в этом заключается перенос любого сайта, который использует базу. Ну и, возможно, потребуются некоторые правки в конфигурационных файлах (где искать конфигурационные файлы в разных CMS).

Файлы размещаем на новом месте в соответствующей (как правило, корневой, если это не подкаталог ) директории сайта. Дамп базы данных загружаем в соответствующую базу (реквизиты для доступа, как правило, предоставляет хостер, если это хостинг, либо администратор, каковым часто является сам “переносчик” сайта на локальном компьютере).

Сразу рекомендую установить разрешения на запись для каталога assets\cache\ и всех файлов в нём. Возможно, потребуются разрешения и на другие каталоги.. например, при загрузке изображений…

После изменений параметров,отвечающих за подключение к БД в файле /manager/includes/config.inc.php
[code]$database_server = ‘localhost’;
$database_user = ‘root’;
$database_password = ‘password’;

$dbase = ‘`modx_database`’;[/code]

можно войти в административный раздел  (/manager/) сайта на новом месте. Если всё сделано правильно, и конфигурация нового сервера соответствует требованиям modx, доступ в админку должен работать.

Заходим в админке в раздел “Конфигурация” и устанавливаем правильные пути для файл-менеджера и TinyMCE (Если изначально над ними никаких манипуляций не проводилось - можно их стереть \Clear\, тогда будут выбраны значения по умолчанию)

Теперь можно смело “Очистить кэш” (Сайт->Очистить кэш) нового сайта и зайти по новому адресу - сайт должен работать.

Удачи!

ps. При пользовании шпаргалкой, мозг рекомендуется не выключать. Использовать в случае возникновения ситуаций, не предусмотренных в данном “руководстве”

pps. Полезной может быть шпаргалка по установке MODx

ppps. http://ru.wikibooks.org/wiki/MODx/administrator_guide/moving_site_to_new_server

Опубликовано Февраль 1, 2011 | автор: levik  |  Без комментариев »