За месяц Ноябрь, 2007

LiveCD - Загрузка со сменного носителя

Live CD (он же LiveCD, а если целиком - CD Live Distro) - если “дословно” живой компакт диск - операционная система, которая позволяет загрузиться со сменного носителя. Довольно часто, так же словом называют сам носитель, независимо от его типа (LiveDVD или LiveUSB).

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

Читать целиком »

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

Прозрачность png в ie 6 и ниже

Internet Explorer до 6 версии включительно “по умолчанию” не отображает прозрачность у PNG-изображений.

Очень подробно все проблемы, связанные с отображением PNG картинок в IE расписаны у Игоря:

  • Суть и решение проблемы прозрачности PNG в IE6
  • Краткая информация о Фильтр AlphaImageLoader
  • проблема “Не работают ссылки на png-фоне”
  • PNG в IE темнее - искажение цветов PNG изображений в Internet explorer

http://www.tigir.com/alpha_png.htm

UPD - неплохая статья про PNG и IE

http://www.xiper.net/html-and-css-tricks/glyuki-brauzerov/ie6/png-transparency-ie6.html

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

Реальный объем жесткого диска или где мои гигабайты?

Жесткий диск

При покупке жесткого диска на 200Gb (Гигабайт), после форматирования размер его чуть больше 185 Гигабайт. Куда же делись оставшиеся 15 Гигабайт? Быть может, виной всему неправильный формат? Нам подсунули не тот диск? Обманули?

Поводов для беспокойства нет. Однако, нас действительно обманули… :) “Ловкость рук и никакого мошенства”

Все дело в том, что производители накопителей (кстати, это пошло ещё со времен гибких дисков - дискет, а быть может еще раньше) слегка “лукавят”, указывая емкость из расчета 1000 байт в 1 Кбайте (вместо машинных 1024).

Таким образом диск в 200 Гигабайт = 200 * 1 000 000 000 байт, что в переводе на “настоящие” 1024 Гигабайты (1024*1024*1024) составит около 186 Гигабайт. Получается, что наши “пропавшие” гигабайты (почти 15! из 200 ~ 7%) - это своеобразный маркетинговый(?) ход производителей жестких дисков. Хорошо это или плохо, но такая разница объемов жестких дисков на сегодняшний день воспринимается как норма. Поэтому переживать не стОит.

ps. Если Вам посчастливилось видеть жесткий диск, у которого объем больше (или хотя бы равен) заявленному - было бы интересно узнать…

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

Вкладка Безопасность или как выставить права на файл в Windows

Если диск отформатирован в NTFS, то имеется возможность выставить права на доступ к любому файлу или папке на этом диске, или целому диску.

Однако, по умолчанию, вкладка “Безопасность” скрыта в windows XP. (в контекстном меню - вызов контекстного меню щелчком правой кнопокой мыши или клавишей “контекстное меню” - на файле/папке/диске выбираем пункт “Свойства” и ищем вкладку “Безопасность“.)

Что делать, если отсутствует вкладка “Безопасность”?

Вообще-то она есть, просто она скрыта. Нужно её показать. :). В окне проводника выбираем Сервис - Свойства папки - вкладка Вид и ищем и снимаем галочку “Использовать простой общий доступ к файлам (рекомендуется)”.

Для англоязычной Windows все аналогично - вкладка “Security” для томов в NTFS. Галочку искать тут:”Tools” - “Folder Options” - вкладка “View”, раздел “Advanced Settings” - “Use simple file sharing (Recommended)”.

UPD Работает только для Windows XP Professional; в Windows Home Edition для назначения прав доступа к файлам без использования сторонних утилит не обойтись (если ошибаюсь - поправьте.)

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

mysql - создать базу данных, создать пользователя (шпаргалка)

Показать все базы данных Mysql
SHOW DATABASES;

Создать базу данных MySQL
create database db1;

Создать пользователя mysql с правами на эту базу данных
GRANT ALL PRIVILEGES ON db1.* to user1@localhost identified by 'pass1';

shell> mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO superuser@localhost
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO superuser"%"
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;

superuser - Полноценный суперпользователь - он может подсоединяться к серверу откуда угодно, но должен использовать для этого пароль some_pass. Обратите внимание на то, что мы должны применить операторы GRANT как для superuser@localhost, так и для superuser@”%”. Если не добавить запись с localhost, запись анонимного пользователя для localhost, которая создается при помощи mysql_install_db, будет иметь преимущество при подсоединении с локального компьютера, так как в ней указано более определенное значение для поля Host, и она расположена раньше в таблице user.

admin - Пользователь, который может подсоединяться с localhost без пароля; ему назначены административные привилегии RELOAD и PROCESS. Эти привилегии позволяют пользователю запускать команды mysqladmin reload, mysqladmin refresh и mysqladmin flush-*, а также mysqladmin processlist. Ему не назначено никаких привилегий, относящихся к базам данных (их можно назначить позже, дополнительно применив оператор GRANT).

dummy - Пользователь, который может подсоединяться к серверу без пароля, но только с локального компьютера. Все глобальные привилегии установлены в значение ‘N’-тип привилегии USAGE, который позволяет создавать пользователей без привилегий. Предполагается, что относящиеся к базам данных привилегии будут назначены позже.

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

Деревья php + mysql

Практически каждому программисту приходится сталкиваться с древовидной структурой.

Дано: php + mysql.
Все элементы, которые входят в древовидную структуру хранятся в одной таблице базы данных.
Найти: способ хранения и представления древовидной структуры.

  1. Простейший вариант состоит в том, что все “ветки” дерева имеют дополнительное поле “идентификатор родителя”, используя который и можно построить всё дерево. Если нет необходимости строить всё дерево, а достаточно просматривать потомков следующего уровня некоторого родителя - то такой способ организации дерева, на мой взгляд, идеален. Если же требуется строить дерево целиком, то придется использовать рекурсивную процедуру - или в php или в mysql (при условии, что максимальная “глубина  дерева” заранее определена, можно, конечно, обойтись одним составным, в котором одна таблица присоединяется сама к себе… Но это уже больше похоже на извращения..).
    Можно, конечно, обойтись одним запросом (что-то вроде “select * from tree”, а данные разбирть уже в php примерно так:
      while($row = mysql_fetch_assoc($res)){
      $tree[$row['pid']][$row['id']] = $row;
      }
    Плюсы: простота организации данных.
    Минусы: при большом количестве “веток” количество запросов возрастает…
  2. Nested sets или вложенные множества. Способ организации дерева, при котором дерево обходится, к примеру слева направо, и все вершины нумеруются дважды.
    Нумерация элементов при организации дерева методом Nested Sets
    Плюсы: одним запросом можно выбрать всех потомков, отстоящих по дереву на заданное количество уровней, всех родителей.. да вообще много чего можно. Где-то встречал уже готовый класс для работы с ”Nested sets” -  деревьями.

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