пятница, 24 апреля 2009 г.

Блог переезжает

Официально сообщаю, что блог теперь переехал на мой сайт.

Моя домашняя страничка

воскресенье, 19 апреля 2009 г.

Форсаж 4

Весь день вчера был страшно занят и освободился только под вечер. Решил, как обычный человек сесть перед зомбоящиком, вставить в DVD-плеер компашку и посмотреть кино. Все, прям, так и было. Скачал Форсаж 4, записал на DVD+RW, скормил плееру.

Теперь могу честно сказать, что полтора часа моего сна потрачены напрасно. Ну неужели нет более интересного сюжета, чем убийство-месть-убийство? Согласен, красивые машинки, Вин Дизель с серьезным видом, но тупая сюжетная линия просто убивает впечатление от фильма на корню.

пятница, 17 апреля 2009 г.

Патчим DatsoGallery

Все в галерейке хорошо, вот только добираться до оригинальной фотографии уж больно долго. Решил, наконец, пропатчить галерею на эту тему. Теперь при просмотре категории, если щелкнуть на фото, то откроется фрейм с возможностью листать вперед-назад, а не новая страница с изображением среднего размера.

Скачать пропатченный com_datsogallery

вторник, 14 апреля 2009 г.

NGE: GoS2

Вчерашнее паршивое настроение подтолкнуло к чтению манги -- лучше ничего не придумал. Из манги по Евангелиону до вчерашнего дня читал только Садоматовскую мангу, вчера прочитал NGE: Girlfriend of Steel 2. Прекраснейшее творение, я вам скажу.

Скачать здесь

понедельник, 13 апреля 2009 г.

Суровые Туканские водители

Предыстория.
Рядом с Белорецком есть небольшой поселок -- Тукан называется. История как раз про одного водителя из Тукана.
История.
Еду, значит, сегодня утром домой из магазина по Пушкина, ничего не предвещает беды. Еду себе еду, решил налево повернуть на перекрестке Пушкина-Ленина (для тех, кто был в Белорецке это может что-то значит ;), смотрю, зеленый сигнал светофора зажегся, показываю левый поворотник и начинаю выполнять маневр. Только выезжаю на перекресток, как мне в левый бок бьется Волга. От удара мою шестерку разворачивает на 180 градусов, я в шоке, моя девушка, которая сидела рядом тоже. Как ни странно, водитель Волги тоже в шоке.
Выхожу к нему, познакомились, пожали друг другу руки, вызвали ГИБДДшников. Пока ГИБДДшники едут -- беседуем тихо-мирно.
Оказалось, водитель Волги, стаж больше чем мне лет тупо не увидел красный сигнал, точнее увидел зеленый на дополнительной секции светофора, который разрешает движение направо и поехал прямо.
Так что вот. Ему штраф, мне страховку. А толку?

воскресенье, 12 апреля 2009 г.

Новая работа в портфолио: Сайт города Белорецк

Итак, в моем портфолио появилась еще одна работа: сайт моего города.

Сложно оценить объем работы, который был сделан, одно можно сказать точно: Joomla подошла идеально для проекта такого размера -- более пяти тысяч статей, около семи тысяч фотографий, более десяти тысяч объявлений...

Все это удалось портировать со старой версии сайта на самодельном движке в Joomla. Еще ни в один проект мне не приходилось дописывать столько компонентов, как в этот. Ну что ж, работа получилась неплоха.

Стоит сказать, что дизайнерское решение и сам интерфейс сайта был разработан не мной, тем не менее, кода было написано огромное количество, поэтому я могу с чистой совестью присвоить работу себе =)

Просмотреть мои работы

суббота, 11 апреля 2009 г.

Доклад на студенческую конференцию "Неделя науки"

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

СМО создания бизнес-планов и анализа инвестиционных проектов

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

Поездка в Уфу

Уфф, вернулся) В пятницу ездил в Уфу из Белорецка на машине чтобы выступить на конференции в УГАТУ. Да, такое расстояние на машине намного легче переносится, чем на автобусе или поезде. Тем более, что три последние поездки в Уфу на автобусе меня страшно укачивало. Неправильные какие-то автобусы делают...

четверг, 9 апреля 2009 г.

VLC и Rhytmbox

Обнаружил еще одну приятную неожиданность своего линукса. Если запустить одновременно VLC и Rhytmbox, то у VLC видео не разворачивается не весь экран. С чем связан баг пока не понятно, решения, кроме как выключать Rhytmbox на время просмотр фильма тоже нет.

С другой стороны, когда смотришь фильм, музыку все равно не слушаешь, так что особого ущемления возможностей пользователя тоже не наблюдается.

среда, 8 апреля 2009 г.

Домены в зоне .me

Порадовал вчера nic.ru, прислал письмо примерно следующего содержания:

Мы продаем подороже домены в зоне .me, хотите прикупить?

Еще бы придумали специально для России зону .ya -- пользовалась бы больше популярностью =)

вторник, 7 апреля 2009 г.

Портфолио работ

Начал собирать все свои старые работы в одно большое портфолио. Мало того, что времени нет делать скрины, писать описание, так еще и половина работ где-то растерялась. Вот незадача. Ну да ладно, начало сделано =)

Здесь я буду собирать портфолио своих работ

понедельник, 6 апреля 2009 г.

Старые игрушки

Воскресенье, настроение совершенно нерабочее, тем более снег идет, как ни странно.

Кино смотреть не хочется, да и нечего смотреть, а вот старая игрушка завалялась: "Космические войны: Последний рубеж".

Дааа, сейчас такие игры уже не делают. Как на баше: многоядерные процессоры, гигабайты оперативной памяти, терабайты жестких дисков... А душа просит СуперМарио.

Вирусы на best-hoster.ru Серия 2

Трушный хостер.

Полез вчера вечером менять пароль в админку хостинга, сменил все пароли. Сегодня с утра в почтовый ящик пришло два письма от хостера. Одно о том, что кто-то (!) пытался сменить пароль и сменил-таки его (!). Второе о том, что хостер тоже сменил его (!) и прислал мне.

Может хостер еще и сайты за меня делать будет?

суббота, 4 апреля 2009 г.

Вирусы на best-hoster.ru

Мда, интересно, интересно.

Оказывается, тырят не только пароли на аськи/вКонтакте/Одноклассников, но еще и на хостинг, да к тому же еще и роботы. С юниксовых серверов.

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

Так что, будьте бдительны, следите за хостером)

пятница, 3 апреля 2009 г.

Дождь идет

Опять спал днем. Ложился спать -- была весна: светило солнышко, светло было. Проснулся -- идет дождь и темно. Осень, короче. Похоже, что-то странное в мире творится.

четверг, 2 апреля 2009 г.

CakePHP и CP1251

На практике выяснил, что CakePHP, по крайней мере, версия 1.2.2 не очень-то дружит с кодировкой cp1251, а больше предпочитает юникод.

Лечится все просто.

/app/config/core.php
Начиная с 42 строки
/**
* Application wide charset encoding
*/
Configure::write('App.encoding', 'windows-1251');

И будет счастье!

среда, 1 апреля 2009 г.

Установка CakePHP в Ubuntu

Развернув фреймворк под Линуксом заметил неприятную неожиданность -- mod_rewirte отказывается работать: не отображаются таблица каскадных стилей и изображения. Решение не очевидное, но простое.

1. Проверяем включенность mod_rewrite в наш Апач
sudo a2enmod rewrite
2. Разрешаем перезапись заголовков. Смотрим файл /etc/apache2/sites-available/default
12. AllowOverride None
заменяем на
12. AllowOverride All
3. Перезапускаем Апача
sudo /etc/init.d/apache2 force-reload
4. Радуемся)

вторник, 31 марта 2009 г.

Портирование постов из Blogger

Целый день сегодня ломал голову, так ничего и не придумал. Может кто знает, как портировать посты из своего блога в хоть какой-нибудь формат, кроме Atom?

Патчим com_akocomment

Компонент комментариев akocomment всем хорош, но есть одно но. Вместо названия статьи в админке, где пропускаем комментарии, стоит ее номер. Неудобно. Наконец дошли руки и это досадное неудобство, наконец, исправил.

Фай /administrator/com_akocomment/admin.akocomment.php

Заменяем строку 159 на это

$database->setQuery( "SELECT #__akocomment.id, #__akocomment.parentid, #__akocomment.status, #__akocomment.contentid, #__akocomment.ip,
#__akocomment.name, #__akocomment.web, #__akocomment.email, #__akocomment.title, #__akocomment.comment, #__akocomment.date,
#__akocomment.published, #__akocomment.ordering, #__akocomment.iduser, #__akocomment.subscribe,
#__content.title
FROM #__akocomment"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\nleft join #__content on #__akocomment.contentid = #__content.id"
. "\nORDER BY id DESC"
. "\nLIMIT $pageNav->limitstart,$pageNav->limit"
);
Теперь исправляем отображение


Фай /administrator/com_akocomment/admin.akocomment.html.php

Строку 108 тоже изменяем
echo "<td align='center'><a href=\"".$mosConfig_live_site."/index.php?option=com_content&task=view&id=".$row->contentid."&Itemid=1\" target=\"_blank\">$row->title</a></td>";
Этих двух простых исправлений достаточно, чтобы упростить процесс просмотра комментариев.

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

Патчим com_banners

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

Зато страница имеет кучу других параметров, таких как, например, option, id, task, act. Именно к ним я и решил привязать показ баннеров.

Итакс, начнем патчить базу =)

Выполняем в ней запрос

CREATE TABLE IF NOT EXISTS `#__bannerparam` (
`param_id` int(11) NOT NULL auto_increment,
`banner_id` int(11) NOT NULL default '0',
`param_name` varchar(255) NOT NULL default '',
`param_value` varchar(255) NOT NULL default '',
PRIMARY KEY (`param_id`)
)


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

Далее. Теперь патчим админку компонента, чтобы можно было эти параметры устанавливать.

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

Обновленный компонент+модуль

О семинаре по технологиям OpenSource

Как и собирался, в субботу 28 марта съездил в Магнитогорск на семинар по технологиями OpenSource. Выступления всех докладчиков мне очень понравились, узнал много нового, побывал в кругу настоящих специалистов, линуксоидов (ну мало у нас их в городе. Три всего)

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

Тем более, благодарность с печатью выписали. И что самое главное -- угостили кофе и пирожками между секциями.

О переводе часов

Что сказать... Один раз в год мы переводим часы на час назад, на зимнее время, и один раз на час вперед.

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

Ладно. Хотя, даже ученые подтверждают, что никакого экономического/политического/демографического эффекта перевод времени туда-сюда не дает. Так-то вот.

четверг, 26 марта 2009 г.

VBA и MS Word

В Интернете полно материалов о том, как встраивать в электронные книги Excel всякие макросы, а про то, как их встроить в MS Word нет ни одного упоминания. Почесав затылок изобрел =) Суть самого макроса не меняется, кидаем в документ TextBox`ы, они красиво нумеруются, все как положено. Разница лишь в обращении:

sub some_function
thisDocuments.TextBox1.Value = UserForm1.TextBox1.Value
endSub

Только и всего ;)

среда, 25 марта 2009 г.

Роспечать меня удивила

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

Я в шоке О_о

вторник, 24 марта 2009 г.

Лаба по ассемблеру

А сегодня случилось просто нечто очевидное-невероятное. Мы всей группой делаем в эмуляторе К580 лабораторную по ассемблеру. Еще немного, ближе к завтрашнему утру и я смогу поменять свою решенную лабу на запчасть от адронного коллайдера =)

Эмулятор Электроника К580

Сегодня на паре по вычислительным сетям преподаватель принес занимательную програмку:

Эмулятор Электроника К580

Можно поковыряться в тамошнем ассемблере -- команд не так уж и много. Всего 244 =)

воскресенье, 22 марта 2009 г.

Презентация к докладу За кулисами Joomla 1.5.x

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

Скачать презентацию За кулисами Joomla 1.5.x

суббота, 21 марта 2009 г.

Акция "Я умею говорить по-русски!"

Наткнулся на ЛинуксФоруме на заметный баннерок в поддержку русского языка:

Так вот, я тоже присоединяюсь к акции.

пятница, 20 марта 2009 г.

Totem VS VLC

Если бы начал смотреть кино, так бы и не обнаружил, что в Totem DVD не просматриваются, вместо них просто зеленая полоса на фоне всякой ряби. ГуглЁж результатов не дал, поиск по форуму Убунту тоже.

В результате поставил VLC и сижу смотрю в нем.

Кроме всего прочего обнаружил еще одно. Mandriva 2009 Free не содержит ни кодеков для просмотра видео, ни wine =) Так что качаю PowerPack с торрентов.

Старые фильмы

Наконец выбрал время отдохнуть. Сходил в прокат, взял сборник фильмов с Брюсом Уиллисом. Скажу честно, Крепкий Орешек 4.0 я смотрел, но фильм впечатления не производит совсем не те, что первые три. Там Джон Маклейн был обычным полицейским, для которого спасение мира -- что-то из ряда вон выходящее. У него есть жена и он ей дорожит. А в четвертой части это какой-то супермен, для которого спасти Америку/Фондовый рынок/Жену/Дочку/Внучку/Жучку как прогулка возле дома. Разучились снимать, нечего сказать.

Доклад За кулисами Joomla 1.5.x

Я уже писал, что делаю доклад по Joomla, и вот, наконец, настал тот час, когда я выбрал время и открыл свой любимый OpenOffice Writer и набрал в нем текст доклада.

Доклад получился короткий, рассчитан на читателя хоть сколько-нибудь слышавшего об объектно-ориентированном программировании (потому что упоминается слово класс, инкапсуляция и еще что-то подобное).

Информация, в основном, бралась с англоязычного сайта разработчиков Joomla.

Прочитать можно здесь: За кулисами Joomla 1.5.x

Астерикс на Олимпийских играх

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

Мой первый проект на CakePHP

После трех дней курения мануалов по CakePHP и попытки осмыслить, как же это все на самом деле работает родился сайт =)

Сплавы по реке Белой

В целом, на мой взгляд, получилось неплохо. Конечно, на Joomla я бы сделал это в два раза быстрее, а наверное, даже в три, но тут уж дело принципа.

Единственное, что пока смущает, так это CAKEPHP в адресе. Ладно, разберемся =)

четверг, 19 марта 2009 г.

CakePHP 1.1.x и элементы

Долго вчера бился с задачей: как в отображении одного действия отображать результат работы другого, или на каждой странице отображать один и тот же блок, например, последних новостей. Спасибо, хоть на форуме поддержки помогли =)

Оказывается, все намного проще.
В нужном контроллере пишем функцию, которая непосредственно возвращает результат, например так:
function last()
{
return $this->Post->findAll('', array("title", "created", "introtext"), "created desc", 3);
}
Затем создаем элемент для отображения:
$news = $this->requestAction("/posts/last/");

foreach($news as $new) {
echo "
".$new['Post']['created']."
";
echo "
".$new['Post']['title']."
";
echo "
".$new['Post']['introtext']."
";
echo '

';
}
?>
А затем этот элемент просто засовываем в шаблон:
renderElement('news'); ?>
Все оказалось в два раза проще, чем я думал %)

вторник, 17 марта 2009 г.

Мысль: А не сделать ли систему приема заявок?

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

И тут мне в голову пришла совершенно неожиданная идея: а почему бы не заставить все это начальство использовать автоматизированную систему приема заявок? И заявка не потеряется, и время на перемещение по городу сократим)

На текущий момент, имеющиеся решения в этой области по каким-то причинам меня не устраивают и руки просто чешутся написать что-нибудь свое. Пока есть только мысли, но, я думаю, на этом все не закончится.

Neon Genesis Evangelion: Girlfriend of Steel

Нашел вчера старую-старую игрушку, если этот нелинейный мультфильм еще можно так назвать и просидел всю ночь проиграл.

После повторного просмотра End of Evangelion, игра в Girlfriend of Steel доставляет массу приятных впечатлений.

Ня!

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

За кулисами Joomla 1.5.x

За кулисами Joomla 1.5.x -- так я решил назвать свой второй доклад для OpenSource конференции. После просмотра всего, что у меня есть несложного по Joomla и того, что можно рассказать за 15 минут я пришел к выводу, что лучше всего рассказать о нововведениях в архитектуре Joomla 1.5.x, ведь их, как оказалось, действительно, очень много!

Доклад уже готово процентов на 60: написан текст, осталось только его отредактировать и придумать слайды.

Приблизительный план доклада (вряд ли что-то координально поменяю):
  1. WWW и появление CMS
  2. Joomla: появление, лицензия, сообщество
  3. Joomla Framework API
  4. Joomla MVC модель
  5. Классы безопасности Joomla
Сейчас текст еще рукописный (в универ с собой взять можно и на паре перечитать ;) ), но набрать много времени все равно не займет.

воскресенье, 15 марта 2009 г.

SiS Mirage 1 и Ubuntu 8.04

После длительного перерыва я вновь установил пингвина на свою рабочую машину. Причина была банальна. После обновления железа не было драйвера для видеокарты. Меня бы вполне устроил стандартный vesa драйвер, если бы не одно но -- он не держит разрешение 1680х1050 на видеокарте Silicon Integrated Systems [SiS] 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter.

Железку поменять никак нельзя, так как она в материнку впаяна (Intel LY662GLY2). После многомесячный поисков драйвер я все-таки нашел. Нашел здесь. Несмотря на то, что на странице представлены и драйвера для Ubuntu 8.10 завести их мне так и не удалось. Виной всему X.Org Server 1.5.0, который в этой убунте есть. В Ubuntu 8.04 X.Org Server предыдущей версии и с ним без особых проблем работает вот этот драйвер.

Процесс установки прост: качам, распаковываем в корень, наслаждаемся =)

О пользе ведения блога

Сел сегодня писать доклад. За стол сел, взял ручку и бумагу, и уже собрался чего-нибудь писать, но вдруг понял, что мысль есть, а написать я ее не могу. Раньше, когда я постоянно вел блог или участвовал в дискуссиях на форуме мне это легко удавалось. Поэтому советую всем, кто столкнулся с подобной проблемой попробовать постоянно чего-нибудь писать. Бумажный дневник, например - очень помогает. На себе проверял ;)

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

Подготовка к семинару по OpenSource

Нашел свой старый доклад по своей СППР. На всякий случай выкину здесь, вдруг кому пригодятся какие тезисы ;)
Принятие управленческих решений — неотъемлемая часть работы любого менеджера. На современном этапе развития информационных технологий задача анализа текущей ситуации и принятия управленческого решения облегчается за счет использования специализированных систем поддержки принятия решений. Они помогают менеджерам решать не только слабоструктурированные и многокритериальные задачи, но принимать решения в условиях неполноты данных или слабой структурированности задачи.
Организация хостинга в Интернете и создание веб-ресурса — нетривиальная задача. Для ее решения недостаточно просто закупить оборудование и обеспечить доступ к глобальной сети. Для полноценного функционирования ресурса необходимо также наличие специализированного программного обеспечения для организации веб-хостинга.
Программное обеспечение — неотъемлемая часть любой информационной системы. Именно она позволяет реализовать полностью все аппаратные возможности компьютера.
Свободное программное обеспечение сегодня — альтернативный путь развития. Его открытость позволяет любому энтузиасту принять участие в разработке и внести свой вклад в развитие. Основным достоинством свободного программного обеспечения является его доступность, в то время как проприетарное ПО, чаще всего, сопровождается жесткими лицензионными требованиями и соглашениями.
Функциональность веб-ресурса обеспечивается тремя компонентами: операционной системой, веб-сервером и системой управления базами данных.
К операционным системам, устанавливаемым на веб-сервера предъявляются повышенные требования к многозадачности, надежности и защищенности.
Мной было проведено исследования распространения операционных систем на рынке хостинговых платформ. По итогам исследования я получил следующие результаты: на российских серверах безусловно лидирует FreeBSD (53%), на втором месте Linux (32%), Windows на третьем месте (9%), реже всего встречается Solaris (5%).
Статистика по зарубежным сайтам значительно отличается. Здесь первое место занимает Linux (44%), второе — Windows (36%), третье — Solaris (12%). Российский лидер FreeBSD за рубежом практически не распространен и используется только на 7% сайтах.
В Российском сегменте Интернета наиболее распространены веб-серверы на базе свободного программного обеспечения. Распространение Windows в зарубежном сегменте можно объяснить непосредственным влиянием Microsoft на разработку и внедрение веб-серверов.
Для того, чтобы компьютер-сервер мог принимать от пользователей HTTP запросы необходимо специальное программное обеспечение, называемое веб-сервером.
Наибольшую популярность в Интернете имеет кроссплатформенный веб-сервер Apache, на долю которого приходится 56,5% всего Инетрнета. Второе место занимает IIS, на долю которого приходится 30,75%. Таким образом, эти два продукта контролируют около 87% рынка веб-серверов.
Необходимым условием для создания современного веб-ресурса является наличие систему управления базами данных и возможности ее взаимодействия с веб-сервером.
В Интернете самой используемой СУБД является MySQL (используется на 29% сайтов), второе место занимает MS SQL (24%), третье Oracle (23%) и наименее используемой системой является DB 2(10%).
Основным пользовательским средством, для работы с веб-ресурсом, безусловно, является браузер. В связи с повсеместным распространением операционной системы MS Windows среди пользователей, наиболее распространенным остается браузер, встроенную в эту ОС — Internet Explorer. Тем не менее, даже среди пользователей Windows широко распространен браузер Mozilla Firefox.
Задача оптимального выбора ПО при создании веб-ресурса является задачей первостепенной важности, так как выбранная конфигурация должна обеспечивать поддержку всех необходимых технологий программирования и достаточный запас производительности, чтобы выдержать большую нагрузку со стороны пользователей веб-ресурса.
С целью выбора оптимальной конфигурации веб-сервера по заранее заданным параметрам, мной была разработана система поддержки принятия решений.
Разработанная мной система позволяет в интерактивном режиме подбирать конфигурацию веб-сервера по заранее заданным параметрам. К числу параметров относятся технологии программирования, возможность кластеризации и интеграции с Active Directory. Система предоставляет решения, основанные на наиболее распространенных конфигурациях веб-серверов Рунета.
Система представляет собой динамический веб-ресурс, созданных на основе технологии PHP и реляционной базы данных. Для работы с ресурсом достаточно любого графического браузера, поддерживающего JavaScript.
Работа лица, принимающего решения заключается в выборе необходимых технологий программирования и возможностей, которые, предположительно, будут использоваться на веб-сервере. По мере выбора система автоматически предлагает решение. Стоит отметить, что решение системы не является единственно возможным при данной конфигурации. Как и при работе с любой системой поддержки принятия решений, основная работа по выбору ложиться на лицо принимающее решение.
Система вырабатывает решение в три этапа. На первом выбирается веб-сервер, поддерживающий выбранные технологии программирования, или наиболее близкий по возможностям. Затем подбирается СУБД, совместимая с данным сервером и на третьем этапе выбирается ОС, на базе которой могут работать выбранный веб-сервер и СУБД. Наша СППР учитывает возможность использования той или иной конфигурации на базе различных операционных систем и выбирает наиболее выгодный вариант. Использование проприетарного ПО выполняется только в том случае, если невозможно получить конфигурацию с требуемыми возможностями на базе свободного.
Использование свободного ПО в качестве платформы для веб-сервера более выгодно экономически, так как лицензии, по которым оно распространяется позволяют использование ПО без необходимости отчислений производителю в случае его коммерческого использования.
Конфигурации, генерируемые системой, в целом, совпадают с общей тенденцией, используемого в рунете программного обеспечения. Тем не менее, такие узкоспециализированные веб-ресурсы как, например, файловое хранилище или система онлайнового вещания видео предполагают большую нагрузку на программный веб-сервер. Система предусматривает генерацию решений с учетом специфики ресурса, то есть возможность распределения вычислений между несколькими компьютерами.
На основе проведенного мной статистического исследования следует сделать вывод, что программное обеспечение, используемое для организации веб-ресурсов, в среднем, одинаково как для Российского сегмента Интернета, так и для зарубежного. Более 40% за рубежом и 50% хостеров России используют свободное программное обеспечение для организации хостинга. Это в первую очередь основано на его большей надежности и более высокой скорости выхода обновлений и устранения критических уязвимостей.
Разработанная мной система направлена на создание оптимальной конфигурации веб-сервер на основе свободного программного обеспечения. Так как система реализована в виде динамического веб-ресурса, она может быть размещена в Интернете и использована не только менеджерами и управляющими, но и пользователями сети Интернет. В особенности, ее решения могут быть полезны для развивающихся хостинговых компаний и системных администраторов.

Подготовка к семинару по OpenSource

В процессе подготовки к семинару по OpenSource в Магнитогорске начал ковырять свои старые работы в поисках того, что же можно там показать и рассказать. Обнаружил вот это:

СППР выбора ПО для организации хостинга

СППР-ка данными набита мало, но коим-то образом работает, при том, что старые дампы я потерял, вместе со структурой БД, которая там у меня была, так что восстанавливал по памяти.

воскресенье, 8 марта 2009 г.

Семинар по OpenSource в Магнитогорске

Наткнулся на LinuxForum на новость, публикую здесь на всякий случай.
28-го марта 2009 г. факультет информатики МаГУ совместно с магнитогорской LUG проводят семинар по OpenSource. В программе семинара:

Секция 1. OpenSource для начинающих.

* Глеб Канин. Статистический анализ в Gnumeric.
* Илья Портнов. Работа в редакторе Gimp.
* Павел Вязовой. Ubuntu Roadmap (что ожидает пользователя в грядущих версиях Ubuntu 9.04 и 9.10).
* Константин Калугин. Особенности OpenOffice 3.0.


Секция 2. OpenSource для профессионалов.

* Максим Сорокин. Среда разработки NetBeans.
* Илья Портнов. Файловая система Btrfs.
* Сергей Шакшин. Проект Centrix.
* Константин Рубан. Применение систем обнаружения вторжений на примере программы TripWire.


Регистрация желающих посетить семинар будет организована на сайте seminar.masu-inform.ru.

Обсуждение также идёт на сайте LUG и на wiki.

Если есть ещё желающие сделать доклады, просьба как можно быстрее выйти на связь.

суббота, 28 февраля 2009 г.

О беспорядке: Теория разбитых окон

Собственно, материал не мой, поэтому дам просто ссылку и короткую цитатку.

Теория разбитых окон: распространение беспорядка

Цитатка:

нарушение общественных норм может нарастать, как снежный ком, и бороться нужно уже с самыми первыми проявлениями, потому что антиобщественное поведение может быстро стать привычным для многих, и тогда система начнет поддерживать сама себя
Поэтому, как говорилось в детских книжках советских времен:
Если ты порвал подряд
книжицу и мячик,
все ребята говорят:
плоховатый мальчик.

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

От вороны карапуз
убежал, заохав.
Мальчик этот просто трус.
Это очень плохо.
Ну, и еще, из собственных размышлений: рыба гниет с головы, что очень хорошо видно на поколении современной молодежи.

четверг, 26 февраля 2009 г.

Разработка на РНР: CakePHP

Как раньше жил, даже не знаю без фреймворка для разработки на РНР. И вот, свершилось! На Хабре наткнулся на замечательную статью о творчестве студентов. Проекты мне малоинтересны, интересным оказался план реализации, а именно с использованием фреймворка CakePHP.

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

вторник, 24 февраля 2009 г.

Философское настроение

Муть сегодня что-то с разумом. Взято отсюда
Я тебя люблю.
9 класс

Когда я сидел там, в классе Английского языка, я смотрел на девушку, сидевшую впереди. Она была для меня так называемым “лучшим другом”.

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

10 класс

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

Я люблю ее, но я так стесняюсь, и я не знаю почему.

11 класс

За день до школьного бала она подошла к моему шкафчику. “Мой парень заболел” - сказала она,- и он не поправится к завтрашнему дню. У меня в то время не было девушки, и к тому же в 7 классе мы пообещали, что всегда будем помогать друг другу. Поэтому мы пошли на бал, как “лучшие друзья”. Той ночью, после окончания праздника, я стоял перед ней около ее дома. Я смотрел, как она улыбалась и глядела на меня своими кристальными глазами. Я хотел, чтобы она была моей. Но она не замечала этого, и я знал это. Затем она сказала - “я замечательно провела с тобой время, спасибо!”, и поцеловала меня в щечку. Я хотел ей сказать, что я хочу, чтобы она знала, что я не хочу быть просто друзьями. Я люблю ее, но я так стесняюсь, и я не знаю почему.

Выпускной день

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

Несколько лет спустя

Сейчас я сижу на церковной скамье. Та девушка выходит замуж. Я только что видел, как она сказала “Да” и вошла в ее новую жизнь вместе с другим человеком. Я хотел, чтобы она была моей. Но она не замечала этого, и я знал это. Но перед тем, как она уехала, она подошла ко мне, сказав - “Ты пришел!!! Спасибо!”, и поцеловала меня в щечку. Я хотел ей сказать, что я хочу, чтобы она знала, что я не хочу быть просто друзьями. Я люблю ее, но я так стесняюсь, и я не знаю почему.



Похороны

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

Вот что там было написано:

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

Я бы так хотела, чтобы он сказал мне, что любит меня!!

Для счастья одному из них всего лишь надо было сказать три слова…

пятница, 20 февраля 2009 г.

Мысль о программировании

Всегда думал, что это именно так, но как-то четко сформулировать не мог.

четверг, 19 февраля 2009 г.

Грустная история о том, как я стал админом

Невесел я сегодня, вот и решил рассказать, как более полугода назад я обнаружил весьма занимательную и интересную багу в нашем городском сайте. Багу я скрывать не стал и сообщил владельцу сайта, после чего мне и предложили переделать весь сайт. Работы, как оказалось много, и намного больше, чем я даже себе представлял, но разной и веселой.
С момента обнаружения баги прошло уже больше полугода, с момента переезда сайта на новый двиг уже почти пять месяцев, так что просто так выкладываю.
Видео прикладываю в архиве, так как зажалось оно хорошо и не вижу большого смысла заливать его куда-то, типа YouTube

Скачать Видео о Sql-Injection в Beloretsk.RU

среда, 18 февраля 2009 г.

Социальная сеть на Joomla

Долго не писал, все время выбрать не мог, но вот, наконец-то решил выложить, что накодил за это время. Начну, пожалуй, с самой большой, и как оказалось, бесперспективной, разработки: социальная сеть для Joomla. Погуглив, погуглив, пришел к выводу, что ничего подобного, по крайней мере, в том виде, в котором мне это нужно, для Joomla еще не сделано, вот и решил-таки сделать именно то, что нужно мне.

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

Выкладываю скрины и сырцы, так как не жалко. Сеть использовалась и разрабатывалась специально для сайта Белорецк.РУ



Скачать com_kontakt

Зы: В архиве лежат файлы, которые на сервер заливать, установочник я так и не сделал

понедельник, 12 января 2009 г.

Мысли о раскрутке. Мысль 3

Уже собрался спать, как обнаружил, что Яндекс и Google индексируют разные части страницы. Итак, пример:
А теперь, гугл:
И, наконец, разница: гугл при индексации просматривает мета-теги description и keywords, а яндекс только keywords, а также ссылки на другие материалы.

Мысли о раскрутке. Мысль 2

Сижу и думаю дальше. Раз есть ключевые слова, по которым сайты индексируются, то однозначно можно как-то можно эти слова где-то указать, что сайт индексировался именно по ним.

Начнем с Яндекса и пойдем на Яндекс.Директ. Мне нужно оптимизировать сайт под поисковые слова типа отдых, Урал, база отдыха и подобные, то есть по более общим запросам.

Итакс, скармливаем яндексу ключевое слово отдых и видим
Тут пробиться практически нереально, зато в запросе отдых урал
Как видим, запросов не так и много. Именно они и должны, по идее, стать ключевыми словами для сайта. Берем их и засовывам в админку в метаданные)

Мысли о раскрутке. Мысль 1

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

Перво-наперво полез в Википедию и посмотрел, что же такое, собственно, поисковая оптимизация:
Поисковая оптимизация (англ. search engine optimization, SEO) — процесс корректировки HTML-кода, текстового наполнения (контента), структуры сайта, контроль внешних факторов для соответствия требованиям алгоритма поисковых систем, с целью поднятия позиции сайта в результатах поиска в поисковых системах по определенным запросам пользователей. Чем выше позиция сайта в результатах поиска, тем больше заинтересованных посетителей перейдет на него с поисковых систем.
Короче, процесс поисковой оптимизации -- мысли о загоне юзеров на сайт. Читаем дальше, там написано, что учитывают поисковики при индексировании:
частота ключевых слов; сложные алгоритмы современных поисковиков позволяют производить семантический анализ текста, чтобы отсеять поисковый спам, когда ключевое слово встречается слишком часто (более 7-8 процентов от всего содержимого) или слишком редко (1-3 %) на странице. Оптимальная плотность ключевых слов: 5-7 % от текстового содержимого веб-страницы, при этом ключевые слова (фразы) должны встречаться в тексте как минимум 3-4 раза.
индекс цитирования сайта, или количество веб-ресурсов, ссылающихся на данный сайт; многими поисковиками не учитываются взаимные ссылки (друг на друга), также важно, чтобы ссылки были с сайтов схожей тематики, что и раскручиваемый (оптимизируемый) сайт.
Для начала, я думаю, займемся ключевыми словами. В коде сайта они выглядят так:
<meta name="keywords" content="Белорецк, Арский, камень, туризм, фестиваль" />
Правда, здесь рядом есть и еще одна строка
<meta name="description" content="Белорецк, Арский, камень, туризм, фестиваль" />
Теперь смотрим в админку, где это все живет и видим вот что)
Дальше. Смотрим, что к чему. Гуглим по ключевому слову "Арский камень" и видим:
По самым ключевым словам сайт на нужной позиции, правда вот эта фигня в первой строчке под ссылкой, похоже и есть description в админке. Меняем это самое описание на вменяемое и ждемс, когда, наконец, сайт переиндексируется.

Добавление новости от пользователей

Часто бывает нужно дать пользователям возможность самим прислать новость на сайт. Сначала я использовал модули типа прислать сообщение мылом или отправить сообщение на e-mail прямо с сайта, но потом таких сообщений ооочень много да и перебивать их из мыла на сайт влом.

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

Скачать модуль mod_addnew

воскресенье, 11 января 2009 г.

Выезжающее меню на jQuery

jQuery нынче уже не редкость, плагин к нему Accordion уже тоже, тем не менее, готового модуля меню на основе аккордеона я еще не видел. Конкретно говоря, мне понадобилось меню, "кнопками" аккордеона которого бы были категории, а в выезжающем списке -- названия статей из категории.

Работающий пример смотрим здесь.

Скачать модуль mod_sectionmenu

суббота, 10 января 2009 г.

43 книжки для Чайников

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

Кусок 1
Кусок 2
Кусок 3
Кусок 4

Тюнингуем {mosimage}

Что удобно в WordPress, но крайне неудобно в Joomla, так то, что картинки, вставленные в статьи имеют тот же размер, что и сами изображения.

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

Мамбот {mosimage} лежит в папке ~/mambots/content/mosimage.php

Смотрим 163 строку и абзац кода далее
// атрибуты размера изображения
$size = '';
if ( function_exists( 'getimagesize' ) ) {
$size = @getimagesize( $mosConfig_absolute_path .'/images/stories/'. $attrib[0] );
if (is_array( $size )) {
$size = ' width="'. $size[0] .'" height="'. $size[1] .'"';
}
}
Заменяем это примерно вот на это =)
// атрибуты размера изображения
$size = '';
if ( function_exists( 'getimagesize' ) ) {
$size = @getimagesize( $mosConfig_absolute_path .'/images/stories/'. $attrib[0] );
if (is_array( $size )) {
if ($size[0] > 150) {
$size[0] = 150;
$size[1] = $size[0] * 150 / $size[1];
}
$size = ' width="'. $size[0] .'" height="'. $size[1] .'"';
}
}
В результате мы масштабируем все вставленные изображения до ширины 150 пикселов.

пятница, 9 января 2009 г.

JavaScript внутри AJAX

Обнаружил сегодня еще одну значительную багу в FF: если скрипт грузить внутри блока, загруженного AJAX, то он не работает. Решение, естественно, банальное: выкидывать весь нужный JavaScript либо в отдельный файл и грузить при генерации страницы, либо вставлять до отображения AJAX-содержимого.

Чем развлечься

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

Игрушка про админов
Игрушка про терминатора

четверг, 8 января 2009 г.

com_ajax_content и соответствующий пункт меню

Еще поковырявшись с недавно написанным компонентом отображения содержимого при помощи JS, пришел к выводу, что компонент получился на удивление удачным для отображения всякой стандартизированной ерунды. Немного еще его модернизировав уперся в еще одну неприятную проблему -- как создать к нему пункт меню. В результате ковыряния стандартного модуля меню нашел-таки решение и быстренько настрогал соответствующий модуль для com_menu.

Патчим com_menus

Кидаем содержимое архива в ~/administrator/components/com_menus/

Скачать com_menus_patch

Пропатченный com_ajax_content

Я подумал, что было бы удобно создавать пункт меню не только для отображения содержимого целого раздела, но и для отдельной категории, благо компонент уже до этого все предусматривал. Заодно убрал в админке в компонентах ссылку на com_ajax_content, я там все равно не придумал, что бы такого написать. В результате получился очень легкий, но эффективный компонент.

Скачать com_ajax_content

вторник, 6 января 2009 г.

com_show_shop: Магазины

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

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

Административную часть делать не стал, так как не придумал, зачем она, собственно, нужна. Выкладываю здесь сырцы как заготовку, подогнать которую можно под отображение практически любого контента.

Скачать com_show_shop