Рубрика «Разное»

Соображения Билла Гейтса о жизненных реалиях

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

11 вещей, которым тебя забыли научить в школе

  1. Жизнь несправедлива - свыкнись с этим фактом.
  2. Миру наплевать на твое самоощущение и самоуважение. Мир ожидает от тебя каких-нибудь достижений перед тем как принять во внимание твое чувство собственного достоинства.
  3. Очень маловероятно что тебе начнуть платить 40 тысяч в год сразу после окончания школы. Ты не станешь вице-президентом компании, с лимузином и личным шофером, пока ты не заслужишь этого.
  4. Если ты думаешь, что твой учитель строг и требователен - подожди знакомства со своим боссом. В отличие от учителя, карьера босса зависит от того как ты справляешься со своими заданиями.
  5. Обжаривать бургеры в Макдональдсе - не ниже твоего достоинства. Твои прадеды назвали бы любую - даже такую - работу хорошим шансом.
  6. Не спеши обвинять в каждой своей неудаче своих родителей. Не ной и не носись со своими неудачами, учись на них.
  7. До твоего рождения твои родители не были такими скучными и неинтересными людьми, какими они кажутся тебе сейчас. Они стали такими, зарабатывая на твое беззаботное детство, стирая твою одежду и слушая твою бесконечную болтовню о том какой ты классный. Поэтому перед тем как отправляться спасать леса Амазонки от уничтожения жадным поколением твоих родителей, попытайся для начала привести в порядок свою комнату.
  8. Твоя школа отменила деление на победителей и лузеров, жизнь - нет. В некоторых школах прекратили ставить плохие отметки, разрешили сколько угодно попыток сдать тест или ответить на вопрос… Это не имеет ни малейшего подобия ни к чему происходящему в жизни.
  9. Жизнь не разделена на семестры, летних каникул в ней не существует, и очень мало работодателей заинтересованы в помощи тебе найти твое собственное “я”. Тебе придется делать это в твое личное время.
  10. Не путай реальную жизнь с тем, что показывают по телевидению. В жизни людям приходится большую часть времени проводить не в кофейне, а на рабочем месте.
  11. Поддерживай хорошие отношения с очкариками-ботаниками. Скорее всего, один из них когда-то станет твоим начальником.

Источник: http://americaru.com/

Права доступа на файлы (CHMOD)

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

В системах UNIX все пользователи разделяются на три группы: “user” (непосредственно владелец файла), “group” (член той же группы, к которой принадлежит владелец файла) и “other” (все остальные). Когда вы соединяетесь с сервером, он определяет к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе “user”. Другие пользователи, подключаясь по FTP, будет отнесены к группе “group”, а когда человек попадает к вам на сайт через свой браузер, то попадает в группу “other”.

После определения группы, пользователь получает права на действия с объектами. Т.е он может прочитать, записать или выполнить файл. Чтобы просмотреть каталог, он должен быть исполняемым; чтобы просмотреть его содержимое, он должен иметь атрибут чтения, а чтобы создать новый файл или каталог в существующем каталоге, необходимо иметь право на запись. Таким образом, чтобы выполнялось приложение или CGI скрипт, необходимо установить атрибут чтения и выполнения.

Чтобы распределить права для соответствующих групп, используются цифровые обозначения:

4 = read (право на чтение)
2 = write (право на запись)
1 = execute (право на выполнение)

Простым сложение цифр можно добиться установления прав на совокупность действий. Например, 3(2+1) разрешает запись и выполнение файла (каталога); 5(4+1) разрешает чтение и выполнение; 6(4+2) разрешает чтение и запись; 7(4+2+1) устанавливает право чтения, записи и выполнения. Т.е всего семь вариантов:

7 = read, write & execute
6 = read & write
5 = read & execute
4 = read
3 = write & execute
2 = write
1 = execute

Первая цифра в обозначении устанавливает права для группы “user”(т.е фактически для вас), вторая для группы “group” и третья для “other”:

755
для user - read, write & execute
для group - read & execute
для other - read & execute

Для установления прав доступа используется команда CHMOD. Во всех современных FTP клиентах присутствует возможность назначения прав доступа путем простановки “галочек” в чекбоксах, либо просто введением цифрового кода в соответствующее поле.

Команда “chmod” имеет два режима: Абсолютный(цифровой) и Символьный режим.

При абсолютном (цифровом) режиме используется описанный выше 3-х цифровой код прав доступа. Символьный режим использует буквенный формат для установки прав доступа. Здесь используются буквы “r”, “w” и “x” для read, write и execute соответственно. А также “u”, “g”, “o” и “a” для user, group, other, и all(все) соответственно.

Например:
755 : chmod u=rwx,go=rx filename
644 : chmod u=rw,go=r filename
600 : chmod u=rw,go= filename
444 : chmod a=r filename

Как сделать, чтобы записи в таблице нумеровались “без пробоев”?

Несколько раз слышал на форумах такой вопрос:

Как сделать, чтобы записи в таблице нумеровались «без пробоев», т.е. первичные ключи шли по порядку 1,2,3,4,5? Ведь когда я удаляю одну из записей, то получается что-то типа 1,2,4,5, а 3-го нет.

Первичный ключ нужен не для того, что бы по нему можно было строить красивые HTML-таблички c нумерацией и не для сортировки. Он нужен для идентификации записей, чтобы по его значению можно было найти единственную запись. Он нужен для того, чтобы одна таблица могла ссылаться на другую, но не для нумерации. Забудьте, что это число, это просто уникальное значение (кстати, в большинстве других современных баз данных так и есть).

Допустим, у нас на сайте есть каталог продукции. Таблица categories (группы товаров):

+-------------------------------+---------------------+
| category_id INT [PRIMARY KEY] | name VARCHAR(255)   |
+-------------------------------+---------------------+
| ............................. | ................... |
+-------------------------------+---------------------+

и таблица products (товары):

+------------------------------+-----------------+---------------------+
| product_id INT [PRIMARY KEY] | category_id INT | name VARCHAR(255)   |
+------------------------------+-----------------+---------------------+
| .............................| ................| ................... |
+------------------------------+-----------------+---------------------+

Мы завели товары, группы товаров, все связали между собой с помощью поля category_id в таблице products. Спустя какое-то время шеф решил убрать какую-то группу товаров. Вы её убираете, заполняете «дыры» в нумерации таблицы categories, а про то, что надо изменить все соответствующие записи в products случайно забыли.

И начинается самое интересное – часть товаров куда-то пропадает, часть волшебным образом «переносится» в другие группы. Мониторы продаются в книжном отделе, пиво в компьютерах и так далее. Да, конечно, вы все предусмотрите и ничего не забудете. Но зачем? Для того, чтобы иметь напротив каждой строки порядковый номер? Но нумеровать строки можно и нужно в скриптах. Вот простейший пример:

<?php
$i = 1;
$res = mysql_query('SELECT *  FROM products');
echo '<table>';
while( $row = mysql_fetch_array($res) )
{
  echo '<tr><td>'.$i.'</td><td>'.$row['name'].'</td></tr>';
  $i = $i + 1;
}
echo '</table>';
?>

Источник: http://phpfaq.ru