понедельник, 2 августа 2010 г.

Конкурс "Системный администратор - 2010"


Мой рейтинг — «Опытный»
Опытные — участники, правильно ответившие на 50-74% вопросов теста

Ответил на 14 из 21

на следующих вопросах прокололся:

Вопрос №5: 3
Вопрос №9: 1
Вопрос №11: 4
Вопрос №13: 2
Вопрос №16: 1
Вопрос №17: 3
Вопрос №18: 1


 

четверг, 22 июля 2010 г.

вторник, 13 июля 2010 г.

Запомни...

Три вещи никогда не возвращаются обратно:
Время, слово, возможность.

Три вещи не следует терять:
Спокойствие, надежду, честь.

Три вещи в жизни наиболее ценны:
Любовь, убеждения, дружба.

Три вещи в жизни никогда не надежны:
Власть, удача, состояние.

Три вещи определяют человека:
Труд, честность, достижения.

Три вещи разрушают человека:
Вино, гордыня, злость .
P.S. но иногда пока все поймешь, пройдет целая жизнь

РАЗ.
Давай людям больше, чем они ожидают,
и делай это с радостью.

ДВА.
Возьми себе в супруги того, с кем тебе всегда есть о чём поговорить.
Когда ты станешь старше, его/её способность к общению будет так же важна, как и всё остальное.

ТРИ.
Верь не всему, что слышишь, отдавай всё, что имеешь и спи столько, сколько хочешь.

ЧЕТЫРЕ.
Если ты говоришь 'Я люблю тебя', имей ввиду именно это!

ПЯТЬ.
Если ты говоришь, 'Мне очень жаль', смотри человеку в глаза.

ШЕСТЬ.
Будь помолвлен/а как минимум полгода, прежде чем вступать в брак.

СЕМЬ.
Верь в любовь с первого взгляда.

ВОСЕМЬ.
Никогда не смейся над мечтами других.
Люди, которые не имеют мечты, имеют не много.

ДЕВЯТЬ.
Люби глубоко и страстно. Возможно, твоё сердце будет разбито, но это единственный путь испытать жизнь полностью.

ДЕСЯТЬ.
При разногласиях спорь справедливо.
Не допускай оскорблений.

ОДИННАДЦАТЬ.
Не суди о людях по их родственникам.

ДВЕНАДЦАТЬ.
Говори медленно, а думай быстро.

ТРИНАДЦАТЬ.
Если тебе задали вопрос, на который ты не хочешь отвечать, улыбнись и спроси, 'Почему ты хочешь это знать?'

ЧЕТЫРНАДЦАТЬ.
Помни о том, что большая любовь и большие успехи несут в себе большой риск.

ПЯТНАДЦАТЬ.
Говори «Будь здоров!», если слышишь, что кто-то чихает.

ШЕСТНАДЦАТЬ.
Если ты проиграл, извлеки из этого урок.

СЕМНАДЦАТЬ.
Помни три важные вещи:
1) Собственное достоинство;
2) Уважение к другим;
3) Ответственность за все свои действия.

ВОСЕМНАДЦАТЬ.
Никогда не позволяй маленькой ссоре испортить большую дружбу.

ДЕВЯТНАДЦАТЬ.
Если ты обнаружил/а, что совершил/а ошибку, тут же исправь её.

ДВАДЦАТЬ.
Улыбайся, когда отвечаешь на телефонный звонок.
Позвонивший заметит это по твоему голосу.

ДВАДЦАТЬ ОДИН.
Проводи время сам с собой.

среда, 7 июля 2010 г.

Жизнь такая штука...

Давно я тут ничего не писал.. А всё потому что пропал у меня интерес ко всему, что нравилось. Жуткая депрессия меня охватила. Разрушились мечты которыми я долго жил... надежды безвозвратно пропали.. Всё чего я больше всего хотел - потерял. Всё, что я больше всего боялся - случилось.
И кого во всём винить? - только себя, кого же ещё, я управляю своей жизнью или кто?!
Делаю выводы, работаю над собой.. Получается пока не очень, но главное есть стимул! - Я не хочу, чтобы это повторилось вновь. Ещё раз убедился, что в этом мире доверять никому нельзя, если вам кажется, что Этому человеку можно сказать то, что ты бы не хотел говорить никому - остановись! Немедленно!!! Тебе кажется, что ты его знаешь как себя?? - Возможно! но это пока.. Ведь люди постоянно растут, меняются. Ладно, хватит лирики..

В данный момент пытаюсь взяться за голову, поставить цели на ближайшее время и добиваться их. Долой бухло в немереных количествах и прочее! :D

Любовь под одним из ракурсов:

четверг, 22 апреля 2010 г.

Бросок к свободе И.В. Беркут.

Игорь Беркут, лидер партии «Великая Украина».
Подробности инцидента в аэропорту Франкфурта-на-Майне.

часть 1


часть 2

суббота, 17 апреля 2010 г.

Про разработку на PHP

Всё больше и больше заглядываю в доки по MySQL потому что не хочется писать кучу громоздких функций на PHP для выполнения тривиальных задач.
вот в тему, надыбал очень полезную статью на phpclub'e, для начала: "Работа с MySQL: Подробнее"
1. Запросы на выборку данных (SELECT)

* Во избежание путаницы полей (если встречаются поля с одинаковыми названиями) используйте в запросах оператор AS: "SELECT table1.id as id1, table2.id as id2". Это поможет избежать ошибок в запросе (например, если не указана таблица, а поле с таким названием есть в нескольких запрашиваемых таблицах, mysql выдаёт ошибку), а так же вы избежите недоразумений при работе с полученными данными (echo $row["id1"] писать гораздо проще, чем $row[$x]).
* Данные типа DATE, TIME, DATETIME и TIMESTAMP можно форматировать с помощью функции date_format (см. руководство по mysql). Используйте его, и не форматируйте данные через php - это не просто "самодеятельность", а ещё и растрата системных ресурсов.
* По возможности минимально используйте LEFT JOIN для объединения таблиц. Это весьма трудоёмкая операция для базы данных.
* Там, где можно, используйте идентификаторы - выборка данных при указании ключевого поля происходит быстрее, чем при указании обычного.
* Вместо "WHERE id=1 OR id=3 OR id=232" можно использовать встроенную функцию IN: "WHERE id IN (1,3,232)".
* Если нужен текстовый поиск, осторожней со знаком "%". Во всяком случае, запросы типа somefield LIKE '%a%' лучше не делать - опять же слишком трудоёмкая операция. По крайней мере, надо фильтровать слова и отрезать те, которые короче 3 символов.
* Используйте минимум необходимых полей в запросе. "SELECT * FROM sometable" выполняется медленнее, чем "SELECT id FROM sometable", тем более если в таблице много данных. Для подсчёта количества строк в таблице вообще (или подпадающих под некоторое условие) достаточно одного поля.
* Разбивайте данные на страницы, используя оператор LIMIT. Это экономит время выполнения запроса и уменьшает объем страницы, которую получает пользователь.

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

кстати, новость услышал от сотрудника пару дней назад, начиная с версии MySQL 5.5 тип хранилища по умолчанию будет InnoDB :)

P.S.: Согласитесь, это лучше чем доставать левое ухо правой рукой на php, когда у вас в таблице дата хранится типом DATETIME:
SELECT *, DATE_FORMAT(`date`, '%d.%m.%Y') AS f_date FROM `table1`

пятница, 2 апреля 2010 г.

четверг, 1 апреля 2010 г.

Про СУБД MySQL и хранилище InnoDB, и про иерархические структуры =)

Не поверите, я искал и нашёл то, что хотел :D

Предисловие

Я пишу одно веб-приложение на PHP, которое использует MySQL в качестве СУБД и одна из задач этого приложения - создание, редактирование, удаление и вкладывание неких категорий друг в друга. Понятно, что данные о категориях должны храниться иерархически.

Не долго думая я построил одну таблицу для своих категорий и написал функцию на PHP которая может рекурсивно вычитывать "дерево" категорий.

Суть таблицы в том, что есть идентификатор поля (id) и идентификатор "родителя" (pid), в поле pid мы записываем id родителя.

Вчера добавлял в своё приложение возможность удалять категории, а т.к. у каждой категории могут быть свои дети, внуки, правнуки и т.п., логично удалять их тоже. Сказано - сделано. Продемонстрировал свой 40-а минутный труд сотруднику на что он мне сказал: "А зачем ты удаляешь на уровне программы, удаляй записи на уровне СУБД". Я на несколько секунд оторопел, потому что в голову даже такая мысль и не приходила, после чего спросил: "подскажи, что загуглить?". Он ответил: "delete cascade или foreign key". И начались поиски...

InnoDB вместо MyISAM

первое куда я попал это конечно dev.mysql.com:
http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html
после чего я понял, что мне нужно понять, что такое "InnoDB" :)))
следующая полезная ссылка для меня была на википедии. Там же нашёл ссылку на статью, которая вкратце и доступно объясняет что такое InnoDB, MyISAM, в чём разница и с чем их лучше кушать:
"Нужно ли переходить с MyISAM на InnoDB?"
после чего обратно курить доки по mysql, потом опять гуглить, в итоге, по запросу "древовидная иерархия innodb" надыбал замечательную статью на opennet'e "Иерархические структуры данных и Doctrine"

Иерархические структуры

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

В данной статье очень подробно рассмотрено 3 основных подхода в организации хранения деревьев в реляционных БД:

* Список смежных вершин (Adjacency List)


* Вложенное множество (Nested Set)


* Материализованный путь (Materialized Path)

Также очерчены все достоинства и недостатки этих методов. И всё это подкреплено множеством примеров запросов. А особенно порадовали тесты на производительность.



В общем, всем кому пришлось столкнутся с "деревьями" - рекомендую. Статья - супер :)

понедельник, 29 марта 2010 г.

Ext JS — JavaScript Framework and RIA Platform

ExtJS - это яваскриптовый фреймворк с использованием технолгии аякс для веб-разработчиков, которые хотят строить богато функциональные и устойчивые веб-приложения быстрее чем когда либо. (а ещё кроссбраузерные)
"Build rich, sustainable web applications faster than ever."
если не правильно перевёл - поправьте :)

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

можете начать ознакамливаться с этим чудом по этой ссылке:
http://www.extjs.com/deploy/dev/examples/layout-browser/layout-browser.html

Те кто использовал этот фреймворк, просьба, отпишитесь, какие плюсы и минусы, что понравилось, а что нет.

суббота, 27 марта 2010 г.

интернет-магазин книг - хороший пример для вебмастеров

как всегда, ищешь что-то одно, находишь совершенно другое :)
наткнулся на интернет-магазин книг: shop.vlasnasprava.info
простой, не напрягающий дизайн, спокойная цветовая гамма.
Очень понравилось как сделали кнопку "цена>в корзину", там где цена - фон оранжевый, иконка корзины такая же как в блоке "корзина", в общем чё я мучаюсь, вот смотрите:




Просто, понятно и со вкусом :) я почему обратил внимание, потому что сам не давно пытался изобразить подобную кнопку - получилось не очень :-\


В общем почерпнуть что нить хорошее можно будет отсюда :)

четверг, 25 марта 2010 г.

Google Analytics - пробуем

давно хотел попробовать "Google Analytics". из подобных сервисов знаю только "stat24", который вообще платный, но есть возможность пользоваться урезанным (бесплатным) функционалом, но раздражают их обязательные кнопки, которые нужно ставить на свой сайт))
stat24 стоит на hot-cars.org.ua
а гугл аналитикс собираюсь поставить на mir-computerov.com.ua

вот в сравнении увидим что лучше.. хотя, сомневаюсь что кто-то с гуглом сможет потягаться..

среда, 24 марта 2010 г.

Первый блог в моей жизни :)

круто, это первый мой блог :D
посмотрим, что с этого выйдет :)