delete

Про блог и yii

Начал изучение фреймворка yii. Не спонтанно — при прохождении собеседования к одному известному в России работодателю одно из положительных качеств было знание yii. Фреймворк зарекомендовал себя как очень быстрый, безопасный и простой в изучении. Собственно в последнем я убедился на все сто.
Теперь, пока я изучаю этот фреймворк, было решено, что необходимо полностью изменить политику блога. За основу был взят блог vas3k (привет парсер Васи))). Точнее была взята приблизительная структура, потому что она мне больше всего подходит:

  • Главная страница
    • Блог
      • Запись блога N
        • Комментарии к записи N
  • Работы
    • Проект N
  • Галерея
    • Фотоальбом N
      • Фотография M
        • Комментарии к фотографии M

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

delete

Еще одно ненужное руководство по Python: Строковые переменные

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

(далее...)

delete

Еще одно ненужное руководство по Python: Списки, кортежи, словари

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

(далее...)

delete

Еще одно ненужное руководство по Python: Введение

Данная статья рассчитана на тех, кто ничего не знает о Python или же только слышал о нем, но не видел.

Python — это современный интерпретируемый язык программирования с динамической типизацией. Наиболее похожими на него языками являются PHP, Perl и Ruby.

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

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

Хватит пустой болтовни, давайте сразу к делу.

(далее...)

delete

У нас пополнение

Вот так вот внезапно, в данном блоге появился еще один автор — это я (werehuman). Рассказывать о том, из какой волшебной страны я пришел и как я собираюсь завоевывать мир не буду. Просто буду вести записи по тематике ресурса: «Блог дьявольского интернетчика!».

Собираюсь начать с «Как я провел лето» введения в язык Python, а потом буду постепенно переходить на разнообразные его плюшки. Интерес к данному языку растет большими темпами, но какого-либо структурированного и максимально полного источника на русском языке я не находил. Надеюсь, мои посты кому-нибудь пригодятся.

delete

Обработка ответа от MySQL в Perl и Template Toolkit

Буду периодически писать о Perl и Template Toolkit. Информации в интернете чуть более, чем достаточно, а я буду собирать то, что нужно мне здесь.

При работе с БД получая данные с помощью fetchall_hashref ($key) шаблоны надо парсить так:

Получаем ответ от БД

$res->fetchall_hashref($key_field);

, где $key_field ключ, который будет использоваться для дальнейшей обработки.
Подробнее про функцию тут.

После в шаблоне организуем foreach:

                [% FOREACH variable IN variables.pairs %]
                    [% variable.value.field %]<br />
                [% END %]

, где variables — хэш, .pairs — обработчик Template Toolkit, который присвоит variable ключи и значения без потерь. После этого к любому полю в строке можно будет получить доступ указав variable.value.field, заменив .field на название своего поля в таблице.
Подробнее про pairs тут.
(далее...)

delete

Pe (a) rl

Сегодня поступило предложение с кафедры пойти на испытательный срок в одну небезызвестную компанию в качестве Perl программиста. Если учесть, что на нашем потоке его никто в глаза не видел и у нас несколько не «программистская» специальность, а больше железная — странно было услышать это от него. Но, чем черт не шутит. Начальные требования — знание MySQL (а желательно Oracle), Perl (базовый синтаксис) и желание обучаться. Пораскинул я мозгами и решил попробовать. Сейчас сижу и осваиваю тот самый базовый синтаксис, что необходим для работы.

P.S. Хочу все таки попробовать перегнать все записи (и комментарии) в самописный движок. Думаю он будет сделан с помощью Codeigniter. Осталось только за него взяться.

delete

DevConf

Иногда я жалею, что живу не в Москве или не в Питере.
Вот как, например, в тех ситуациях, когда в Москве происходит DevConf (особенно заинтересовала PhpConf ()). С удовольствием бы посетил, но тратить такое количество денег пока не готов... :(

delete

Самый простой хак линукса

Тут намедни делать было нечего и я решил пошариться в структуре ОС. В качестве «подопытного» взял centos на виртуалке. Все началось ещё в грабе. Вот вы думаете — поставили линукс и вы мегазащишены? Ан нет! Стоит получить доступ к самому компьютеру (физический или через kvm) начинается самое интересное. Я не рассматривал варианты использования LiveCD (хотя так ещё проще и уже спасет только пароль на биос, который, ко всему прочему скидывается батарейкой), а хотел использовать что-нибудь интересное.

Как известно Linux начинает загрузку с одного из вариантов, которые описаны в файле /etc/inittab, в котором то и находятся правила, которые будут понятны машине что и как грузить.

Так вот. Есть такая «переменная» init. Она содержит в себе ссылку на программу, которая выполняется сразу же при загрузке системы.
Недолго думая меняем в грабе переменную init=/bin/bash:

И в итоге после загрузки ОС получаем полноценного рута. А там дело техники — запустить програмку passwd для смены пароля на рута, сменить пароль, получить полный доступ к машине.
А после того, как мы выйдем из баша — нам конечно же вылезет kernel panic (да, это ещё и самый простой способ получить эту ошибку). Ибо система просто не знает что ей делать без инита.

«Проблема» решается достаточно просто — установкой пароля на grub (или лило). А часто вы ставили пароль на граб после установки? Могу поспорить — нет. Возможно даже никогда.

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

Второй хак перекрывается редактированием /etc/inittab с отключением всех ненужных режимов загрузки. А какие способы хака линукса знаете вы?

delete
Оптимизация WordPress

Оптимизация WordPress

Решил заняться сабжем для своего блога. Нужно удалить кучу плагинов, которыми не пользуюсь, поставить таки Nginx перед Apache'м для снижения нагрузки на второго. В общем заняться ускорением работы как блога, так и нескольких других сайтов сидящих на хосте.
Кстати, в теме, как наверное многи заметили, есть такая фича, как «картинка к каждой записи». У меня есть подозрения, что скрипт, который генерирует превьюшки достаточно нагружает сервер, что мешает его нормально работе. Надо будет отказаться от него в пользу ручного обрезания картинок и подгон из под размеры темы.

Обновил, кстати, WordPress до последней версии (2.9.1). Как обычно все взял у своего земляка — LeCactus'a, за что ему спасибо. Новая версия мало чем отличается от старых 2.8.х, разве что небольшими фиксами движка в пользу безопасности. Итак, за дело. Установка nginx, может быть откопаю ещё пару полезных плагинов для него (кто-нибудь что-то толковое для уменьшения нагрузки посоветует?).

(далее...)

delete

Учебное

Таня сдала программирование на 5 (вот только что звонила). Сама! Молодец!! :) Ещё осталась ей физика и все, а у меня дела немного похуже — сдал только базы данных, получил допуск по всем предметам, ни одного автомата (это у меня нормально. Ни одного автомата за всю историю института :D). Учится нет никакого желания, но надо. Так что скоро сяду за лекции, учить и решать билеты, писать очередные шпоры. В прочем я начинаю по этому скучать :)

delete
CodeIgniter — Вступление

CodeIgniter — Вступление

Я решил тоже начать писать об этом безусловно отличном фреймворке на PHP, т.к. вот уже 2 месяца мой проект разрабатывается именно на нем. Мой выбор пал на этот фреймворк из-за его скорости, удобства применения, множественной документации (как на русском, созданной поклонниками этого фреймворка, так и официальной, английской). Итак — этот пост начало моим постам посвященным этому фреймворку.

delete

jQuery. Продвинутый JavaScript

Не удержался на фоне такого поста и тоже заказал. Ждем через пару дней. Будем прокачивать свой JavaScript и jQuery. Надеюсь, что удачно.

delete

Не работают уведомления на почту

Пока ещё не разобрался в чем проблема может быть. Может быть просто по дефолту выключена функция mail () в php, т.к. я сильно не копался в конфигах. У кого какие есть соображения?

P.S. Сегодня в первый раз сидел за рулем собственного авто. Выезд в город. Пока документы оформляли, пока то, пока се. Короче затянулось это все хозяйство. Но теперь я уже почти на колесах (т.к. эту машину забираю я, а родители, надеюсь, в ближайшем будущем купят себе новую). Отдал часть денег за машину родителям (на новую), но когда будет — хз.

delete

Переезд окончен

Болезненно, конечно, но все равно — переезд сайта progger.ru окончен чуть более, чем полностью. Теперь он довольствуется достаточно мощным сервером с неограниченным траффиком и без ограничений по процессорному времени. Работает он тоже теперь на порядок выше, чем на унылом 1gb.ru. Итак. Осталось только несколько штрихов и все будет работать идеально :)

P.S. Луч поноса в сторону r01, который так долго обновлял информацию о домене.

« Previous Entries