Категория ‘Без рубрики’

Удвоение отступа (margin) в Internet Explorer 6

Не сразу понял, что происходит когда столкнулся с багом - в Internet explorer 6 отступ визуально казался больше, чем в Mozilla, Opera IE7. При увеличении отступа эта разница становилось более заметной. Хотя, никаких предпосылок к этому, казалось бы, быть не должно - В css всё ровно… Баг наблюдался при указании отступа для “плавающего” элемента (margin-left:10px; float:left) причем, только если отступ и выравнивание в одну сторону.

Как оказалось, это довольно известная проблема с удвоением отступа margin характерна для IE версии 6 и ниже и именно при выравнивании элемента в сторону отступа.. И название у неё имеется  - Doubled Float-Margin Bug.

Конечно, можно отказаться от использования margin для плавающего элемента, но есть другой более действенный способ - прописать display:inline для этого же элемента. Кроме того, можно воспользоваться условными комментариями для Internet Explorer версии 6 и ниже (lt 6) или хаками.

Дополнительную информацию можно посмотреть тут: http://www.positioniseverything.net/explorer/doubled-margin.html

upd Бонус расползание фона (background) в IE  при ненулевом отступе (margin) как раз на расстояние отступа (margin-bottom:10px; background:url() repeat-y;) вылечилось добавлением width:100% для блокового элемента (ie margin background)

Опубликовано Февраль 25, 2008 | автор: levik  |  Нет комментариев »

Адресная книга Outlook Express

Outlook Express (как и любой почтовый клиент) позволяет вести адресную книгу. Удобно, когда все почтовые адреса хранятся в одном месте. Заполнять адресную книгу в Outlook Express можно постепенно (по мере получения писем информация об отправителях автоматически сохраняется, можно заносить информацию и при отправке письма со своего компьютера), а можно сразу - на панели инструментов пункт “Адреса” (он же дублируется в меню “Сервис“- “Адресная книга“, и в информационной панели “Контакты”. Можно воспользоваться быстрыми клавишами Shift+Ctrl+B /возможно, от Book/)

Интерфейс у адресной книги интуитивно понятный. Язык (конечно, если у Вас система русифицированная), скорее всего русский. Справка, как и во многих программах доступна по нажатию горячей клавиши F1.

Для каждого контакта в адресной книге имеется возможность хранить не только необходимую для почтовой переписки информацию (Фамилию, Имя, e-mail, должность), но и другие данные (например, адрес, место работы, дату рождения, информацию о семье), которые аккуратно рассортированы по вкладкам “Личные”, “Служебные”… Конечно, заполнять все это не обязательно, но, согласитесь, приятно получить поздравление, например, с годовщиной или с днем рождения.

Каждый контакт хранится в виде визитной карточки, которую можно экспортировать и импортировать отдельно.

Перенос адресной книги Outlook Express с одного компьютера на другой

Имеется возможность импорта и экспорта адресной книги Outlook Express, как непосредственно из самой программы (и в программу) - что позволяет поддерживать данные на разных компьютерах в актуальном состоянии. Кроме того, когда программу запустить не удается (в случае сбоя, например) можно скопировать файл книги непосредственно. Адресная книга Outlook Express хранится в каталоге Documents and Settings\%USERNAME%\Application Data\Microsoft\Address Book\ в файле специального формата с расширением .WAB.

Куда пропала адресная книга Outlook Express?

Иногда, при переподключении к домену может возникнуть ситуация, когда создается каталог нового пользователя  Documents and Settings\USERNAME.DOMAIN (до этого, все файлы этого пользователя располагались в каталоге Documents and Settings\USERNAME). Следует проверить наличие старой адресной книги Outlook Express в каталоге пользователя.

Возможно, выбран не тот файл адресной книги - следует воспользоваться функциями импорт/экспорт.

Опубликовано Февраль 19, 2008 | автор: levik  |  Нет комментариев »

Пропал пуск и панель задач

После загрузки компьютера отображается рабочий стол, видны (или не видны) значки рабочего стола, однако ни кнопки “Пуск” ни панели задач не видно. Куда пропал ПУСК и панель задач?

Естественно, первым делом пробуем подвести курсор к нижнему краю экрана, где обычно располагается панель задач - возможно, она просто скрыта, или же свернута до минимума - следим за изменением курсора на две “растягивающие” стрелочки… Ан нет - нету панельки :) Или есть? Если курсор изменился - “вытаскиваем” панель задач. А если нет?

Пробуем пройтись по всем краям экрана - возможно, панель задач располагается не внизу, а сбоку или сверху. Если и теперь не получилось найти ни её ни кнопку пуск.. Похоже, они действительно пропали…

Если значков на рабочем столе нет - пробуем запустить explorer.exe (или Проводник) - процесс, который и отображает рабочий стол (Windows+R или Alt+Ctrl+Del - Диспетчер задач - Новая задача(Выполнить), вводим explorer.exe и нажимаем “Ввод”). Не помогло? Пробуем дальше…

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

Возможно, поможет восстановление более раннего состояния системы.

Если же все вышеперечисленное не помогло найти пропавшую панель задач с кнопкой “Пуск” - скорее всего это происки вируса, который, возможно, уже был удален, однако следы его остались.. Если, кроме того, наблюдаются проблемы с копированием-вставкой файлов, папок, с перетаскиванием значков (значки на рабочем столе не перетаскиваются.. Да и не только на рабочем столе, но и в папках. Вспоминается шутка - когда фоновым изображением ставится “рабочий стол со значками”, а неискушенный пользователь безуспешно пытается побороть непонятный “глюк” :) ), возможно, не запускаются некоторые программы.. или наблюдается “непредсказуемое” поведение компьютера - скорее всего, именно так и есть.. Что ж… будем искать панель с пуском :)

Желательно, первым делом, проверить жесткий диск на вирусы - можно воспользоваться LiveCD от DrWeb или любым другим загрузочным антивирусным диском, по-возможности с последними базами. Если после лечения  проблема с панелью задач не решена - копаем дальше.

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

Возможно, в качестве Shell-а (”основная программа системы”) прописан не explorer (проводник)… или не тот проводник - попробуйте восстановить файл (или сравнить файл C:\windows\explorer.exe с “оригинальным”) - можно воспользоваться загрузкой с диска, либо скопировать файл с другого компьютера.

И, наконец, лезем в реестр… Запускаем редактор реестра (regedit.exe)

1. смотрим раздел
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Image File Execution Options/
если имеются подразделы explorer.exe или iexplore.exe - смело удаляем.
2. в разделе
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Winlogon/
проверяем значение параметра Shell - должно быть еxplorer.exe. Если нет - исправляем.

UPD. бывает также “принудительное” закрепление панели задач “За экраном” - при загрузке в безопасном режиме под этим же пользователем панель свернута до минимума, но отображается. При наведении курсор не изменяется. Щелчок правой кнопки мыши проясняет ситуацию - выбран пункт “Закрепить панель задач“, причем он серый - заблокирован для изменения.

Как разблокировать пункт “Закрепить панель задач
http://otvety.google.ru/otvety/thread?tid=715c15c232fcf2ad&clk=wttpcts

1. Сравниваем файлы с файлами из дистрибутива:
C:\WINDOWS\System32\gpedit.dll
C:\WINDOWS\System32\fde.dll
C:\WINDOWS\System32\framedyn.dll

2. проверяем переменную PATH
(смотрим путь %SystemRoot%\System32\WBEM, закрывающие слэши)

3. перерегистрируем gpedit32.dll
regsvr32 /u %SystemRoot%\System32\gpedit32.dll
regsvr32 %SystemRoot%\System32\gpedit32.dll

После перезагрузки должна заработать оснастка “Групповая политика”

4. запускаем gpedit.msc,
Конфигурация пользователя - Административные шаблоны - Панель задач и меню Пуск
“Зафиксировать положение панели задач” = “Отключено”
(Значение “Не задано” почему-то не сработало)
5. перезапускаем Explorer

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

Настройки компилятора Borland Builder

Если приходилось сталкиваться с тем, что программа, созданная в Borland Builder запускается на своем компьютере, но при переносе на другой - ругается на отсутствие файлов ( vcl60.bpl).

Все дело в том, что при настройках по умолчанию (на этапе разработки программы так гораздо удобнее - экономия времени и ресурсов компьютера) скомпилированная программа Borland C++ Builder использует библиотеки Borland (Run Time Packages), в которых содержатся многие используемые функции. Естественно, если на компьютере не установлен Builder или другой продукт, содержащий эти библиотеки, программа не сможет корректно выполниться.

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

  • Перейти в управление свойствами проекта: Project - Options (Shift+Ctrl+F11);
  • на вкладке Packages снимаем галочку Build with runtime packages;
  • на вкладке Compiler нажимаем кнопочку Release (с зеленым человечком);

На всякий случай можно побродить по вкладкам (Linker и Compiler) и посмотреть, чем отличается режим Release и Full debug (кнопочка рядом с Release) .

После таких манипуляций программа, скомпилированная в Borland Builder будет выполняться на любом компьютере (естественно, с операционной системой Windows, которая поддерживает использованные в программе возможности)

Опубликовано Январь 22, 2008 | автор: levik  |  Нет комментариев »

Оптимизация web-сервера Apache (черновик)

Скорее шпаргалка, чтоб не забыть… Постепенно дополняется… Причесать будем позже.

Настраиваем Apache - редактируем файл httpd.conf:
# TimeOut: The number of seconds before receives and sends time out.
TimeOut 60

# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to “Off” to deactivate.
KeepAlive On

# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
MaxKeepAliveRequests 100

# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
KeepAliveTimeout 10

## Server-Pool Size Regulation (MPM specific)

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves

StartServers 3
MinSpareServers 3
MaxSpareServers 10
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000

KeepAlive On имеет смысл ставить на сайтах с относительно большим количеством изображений. Оптимальное время “таймаута” и количество MaxKeepAliveRequests , скорее всего, имеет смысл подбирать “опытным” путем. Обычно не больше 10-15 секунд. Для файл-хостингов лучше будет выставить KeepAlive Off

MinSpareServers и MaxSpareServers - Spare - “запасной” - неиспользуемые процессы (баланс ресурсов процессора и памяти - на запуск процесса требуется некоторое время, которое можно “сэкономить”, если свободный процесс уже висит в памяти.. Однако, если процессов слишком много, то они занимают лишнюю память)

ServerLimit - максимальное значение MaxClients на “время жизни” процесса;
MaxClients - максимальное количество одновременно запущенных процессов (по сути - клиентов) - чем больше, тем больше одновременных запросов можем обработать (соответственно, занимая больше памяти и используя больше процессорных ресурсов);
если сервер уже обслуживает MaxClients запросов, новые запросы попадут в очередь, размер которой устанавливается с помощью директивы ListenBacklog;
MaxRequestsPerChild - максимально возможное количество “дочерних” процессов - при переполнении дочерний процесс автоматически завершается

Для изображений (более-менее постоянных) имеет смысл выставить значение Expires, например на месяц
ExpiresActive On
ExpiresByType image/gif "access plus 30 days"
#ExpiresByType image/jpeg "access plus 20 days"
ExpiresByType image/jpeg A2592000

материалы по оптимизации Apache (пополняется)

http://www.greenmice.info/node/98
http://www.salex.ru/book/book.php?httpd_prefork
http://www.xela.ru/2009/03/nastrojka-httpdconf-na-vps-pod-unix-apache/
http://linux.yaroslavl.ru/docs/serv/

memory - информация о CPU и загрузке процессора в реальном времени

netstat -atun | grep -i ‘wait’ | wc -l - количество открытых соединений в режиме ожидания
netstat -atun | grep 'WAIT' | wc -l

Узнать версию ядра и самого линукса и дополнительную информацию:

cat /etc/issue
uname -a
cat /proc/version

Опубликовано Январь 17, 2008 | автор: levik  |  Нет комментариев »

Хранимые процедуры в MySQL 5.0

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

1. Вызов процедуры, которая возвращает результат:
CREATE PROCEDURE returnresult(IN userid INT)
BEGIN
SELECT * from ... ;
END;

Тогда
<?php mysql_query('call returnresult(2)');'?>
выдаст ошибку “PROCEDURE base.returnresult can’t return a result set in the given context “.
Проблема в том, что библиотека mysql не поддерживает мульти-запросы. Для возврата результата из хранимой процедуры следует использовать улучшенную версию - библиотеку mysqli (improved).
Заменим в коде функции mysql на mysqli, (на локальном сервере для windows - добавим в файл php.ini строку: extension=php_mysqli.dll; аналогичной команды для *nix не знаю.). После этого все заработало.

2. Рекурсивные процедуры в mysql

При попытке использовать рекурсию mysql выдал:

Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routineset …

Лечится запросом “SET max_sp_recursion_depth= 4″ // глубину рекурсии - в зависимости от задачи. Мне много не надо было. :)

Опубликовано Январь 12, 2008 | автор: levik  |  Нет комментариев »

На жестком диске видно только 137 Гигабайт даже в BIOS

Вы поставили новый (или не совсем новый) жесткий диск (в быту винчестер, хард, винт), а в биосе (BIOS) его объем определяется как 137 Gb(Гигабайт) (или 136). Хотя на этикетке, на корпусе диска, на коробочке и инструкции, и даже на сайте производителя написано, что объем диска больше ( 160, 200, 500 и т.д.).

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

Причем, использование программного обеспечения в Windows (тестировалось на XP Professional) увеличить объем не позволяет - диспетчер дисков, Partition magic и ещё несколько утилит полный размер диска не определяют.

Вообще, похожая ситуация с уменьшением объема жесткого диска возникает при попытке подключить жесткий диск большого объема к материнской плате “в возрасте” - просто на момент выхода материнской платы жестких дисков такого объема не было даже в планах. Но объем в 137 гигабайт особенно характерен для материнских плат gigabyte.

Скорее всего решить “проблему 137 гигов” сможет обновление BIOS до последней версии - качать с сайта производителя.

Перед попыткой найти пропавшие гигабайты убираем с диска всю нужную информацию (после проделанных операций диск будет девственно чист)

  • обновляем BIOS - инструкции и прошивку искать на сайте производителя материнской платы
  • для переразметки можно воспользоваться утилитой mhdd (операции nhpa, config), либо поискать утилиты на сайте производителя жесткого диска (лучше запускать на компьютере с другой материнкой)

После установки винчестера на “обновленную материнку” смотрим и радуемся “полному объему”. Если не получилось… Не знаю…

http://www.ihdd.ru/forum/polnyi-obem-diska-v-xp-ne-opredelyaetsya-vt8066.html - еще интересная утилита
http://www.ihdd.ru/hdd-capacity-restore

Опубликовано Декабрь 27, 2007 | автор: levik  |  Нет комментариев »

Lsass.exe - Неправильный формат конечной точки

lsass.exe: Неправильный формат конечной точки. (lsass.exe: The endpoint format is invalid) - такое сообщение появляется при загрузке, после попытки восстановления системы. “Симптомы” до восстановления бывали разные - компьютер начинал загружаться, но на определенном моменте “останавливался”, причем загрузка в безопасном режиме происходила нормально.

Однако, после попытки восстановления, “нормальная” загрузка прекращалась с ошибкой “неправильный формат конечной точки”, после чего компьютер снова перезагружался. Попытки выбрать другую точку восстановления приводили к такому же результату - были проверены несколько точек до “месяца назад”. Компьютер возможно загрузить только в безопасном режиме.

Найденные возможные причины ошибки “неправильный формат конечной точки“:
-    наиболее вероятно поражение вирусом;
-    повреждение реестра;
-    повреждение системных файлов (помогут переустановка SP2 или проверка системных файлов с помощью команды sfc /scannow);
-    повреждение диска (chkdsk);
-    эксперименты с файлом подкачки или системными службами (верните установки по умолчанию);
-    драйверы видеокарты (установите свежие).

Как ни странно, мне ничего из вышеперечисленного не помогло:
- LiveCD антивирус ничего не нашел;
- реестр не проверял - утилиты под рукой не оказалось;
- sfc в безопасном режиме ругнулась на “Сервер RPC”, попытка переустановить SP2 в безопасном режиме тоже не увенчалась успехом;
- chkdsk прошел, однако формату конечной точки особо не помог :) ;
- все значения для файлов подкачки поставил “авто”.. службы - по умолчанию;
- драйвера видеокарты удалил вообще. :) В безопасном же режиме без драйверов работает…

Воспользовался установочным диском WinXP SP2 (с которого была установлена система) - после восстановления (не через консоль) файлов XP сообщение о неправильном формате конечной точки пропало.

Система, похоже, не пострадала - 20 минут, “полет нормальный”.

зы. Видимо, решение слишком очевидно, потому как такого я не нашел.. :) все найденные мной варианты решения проблемы Lsass.exe перечислены выше. Ну, или плохо искал…

Опубликовано Декабрь 17, 2007 | автор: levik  |  Комментарии (2) »

FreeBSD и Sony Vaio pcg-z600lek uhub1: port 2 reset failed

После установки FreeBSD на ноутбук Sony Vaio pcg-z600lek при загрузке выдает ошибкуuhub1: port 2 reset failedНа форумах говорят, что это характерно для случаев, когда usb-панель плохо закреплена. Ничего болтающегося в корпусе найдено не было. Вообще все попытки найти этот UHUB1 завершились неудачей. Логичным продолжением было бы отключение порта (как сказать системе, чтоб забила?)usb - выход выдаёт как uhub0usb на репликаторе - как uhub1 port 3Из советов на форуме:

1. расширитель usb есть в порт pcmcia, и ещё вроде там есть порт мини-юсб, с которого есть переходник на стандартный юсб.2. с модема, если поставить нормальный драйвер, и поиграться с его региональными настройками можно выходить в интернет.3. оперативка там вроде нестандартная(квадратная с двумя разьёмами внизу), наверно не найти (бывала такая на суперслимах sharp и больше нигде не видел).5. это порт “репликатор” к которому подключалась панель со стандартными lpt, com, вторым usb и т.п.(шёл в комплекте). На эти порты существуют usb-преобразователи.

С другого форума:

На мой взгляд, есть несколько вариантов:1) плохой вариант: убрать из ядра поддержку USB девайсов, т.е. просто пересобрать ядро. Но может у вас есть и другие USB-девайсы, работающие?…2) ещё хуже: убрать из /etc/syslog.conf ругаклю на консоль. Не делайте так, козлёночком станете, рано или поздно.3) лучше: лучше напишите в англоязычный список рассылки.4) тоже вариант: расслабьтесь, чтоб это была ваша главная проблема!

Забугорный форум наводит на мысль, что, возможно USB действительно сломан? :)

> uhub7: port 3 reset failed> uhub7: port 4 reset failedI wonder if my laptop’s USB is physically broken.I think it has always had this problem but infrequent, but now theproblem is near continuous and often anything using USB is unusable.

http://www.nout.ru/viewtopic.php?p=22549#22549http://forum.nbprice.ru/1/topic1826-1.htmhttp://www.freebsddiary.org/ibm-thinkpad-t41.phpСо временем проблема стала неактуальна, однако, если кто подскажет решение - буду благодарен.

Опубликовано Декабрь 12, 2007 | автор: levik  |  Нет комментариев »

Office Outlook - Ошибка Symantec Antivirus

При запуске MicroSoft Outlook 2000 Появляется сообщение об ошибке:

Надстройку “C:\Program Files\Symantec_Client_Security\Symantec Antivirus…” не удается установить и загрузить. Устраните неполадку с помощь команды “найти и восстановить” из меню “справка”. Не удается загрузить “C:\Program Files\Symantec_Client_Security…”.  возможно, не хватает памяти, системных ресурсов или файла dll.

Судя по всему, ранее на машине стоял Symantec Antivirus, библиотеки которого подгружаются в MS Outlook при запуске.

Пробуем найти библиотеки в “Настройки - дополнительно - Дополнительно - Приложения (или COM ) (В моем случае название было не совсем похожим на Symantec - что-то вроде LDVP) и снимаем галочку

Если не помогает - открываем реестр и пытаемся найти все, что связано со словом Symantec (обнаружил это дополнение в ветке HKLM/Software/Microsoft/Office/Outlook/Addins/ - где и был прописан путь к библиотеке DLL “C:\Program Files\Symantec_Client_Security\Symantec Antivirus…”

Да и вообще, периодически, стоит подчищать реестр компьютеров.
Кто чем пользуется?

upd. можно воспользоваться одной из утилит для удаления антивирусов - в конкретном случае см. пункт Norton Antivirus

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