Заметки по установке и настройке Linux Fedora 15 на Dell Vostro 3300

Arch Linux конечно клевый, но меня изначально как-то отпугнул внешний вид Gnome3 (оказалось, что он был в режиме Failback) и в то же время мне понравились скриншоты Fedora 15 с “немного не таким” Gnome 3 (оказалось, что это и есть стандартный режим). Вот так он примерно выглядит (кликабельно):

“Эх. Гулять так гулять!” подумал я и ввязался в эпопею с переходом на новый дистрибутив.
Continue reading

Закипает Dell Vostro 3300?

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

В заголовке я не спроста написал “закипает”. Пороговое значение температуры для срабатывания защиты в моем Intel Core i5-430M равняется температуре кипения воды (100 °C). И вот с повышением температуры окружающей среды эта защита стала срабатывать по несколько раз за день…

Сначала пришлось отказаться от просмотра фильмов в браузере т.к. flash player доводил камень до кипения в течении 15-30 минут. Потом от торрентов. Даже просто работать стало не комфортно т.к. температура поверхности в районе проца поднималась примерно до 60-70 °C.

В прошлый вторник я решил принять радикальные меры и переустановил систему — не помогло :( . Задумался о более легком дистрибутиве (последние 1,5 года пользовался Linux Mint). По совету нашего админа Жени поставил Linux Arch — ситуация улучшилась, но камень все равно ощутимо грелся.

Немного погуглив я понял, что такая проблема не только у меня. На форуме ixbt.com есть несколько тем о Dell Vostro 3300, 3500 и 3700. Довольно часто люди пишут о чистке системы охлаждения или полной её замене в СЦ. Был также один пост с советом обновить BIOS до версии A10. Итак если у вас сильно греется Dell Vostro 3300/3500/3700 (а он у вас наверняка греется), тогда вам под кат.

Continue reading

Django. Заметки по установке и ссылки на документацию

Это просто заметка на память.

# Установка Django

Официальная документация:
https://docs.djangoproject.com/en/1.3/intro/install/
https://docs.djangoproject.com/en/1.3/topics/install/#installing-official-release

Русскоязычные статьи:
http://mamishev.ru/django-deploy/
http://www.seocoder.org/2011/04/25/ustanovka-djangoapache2mod_wsgi-na-ubuntu-10-10

## Устанавливаем python, пакет MysqlDB і mod_wsgi для Apache2
$ sudo apt-get install python python-mysqldb libapache2-mod-wsgi

## Качаем исходники Django
$ sudo mkdir /usr/share/python/django_1.3
$ cd /usr/share/python/django_1.3
$ svn co http://code.djangoproject.com/svn/django/tags/releases/1.3/ .

## Прописываем путь к Django в питоне
$ sudo ln -s /usr/share/python/django_1.3/django /usr/lib/python2.6/dist-packages/django
(?) $ sudo echo /usr/share/python/django_1.3/django > /usr/lib/python2.6/dist-packages/django.pth

## Создаем симлинки
$ sudo ln -s /usr/share/python/django_1.3/django/bin/django-admin.py /usr/local/bin/

## Проверяем
$ python
>>> import django
>>> print django.get_version()
1.3 SVN-16452

# Документация
Официальный туториал
Книга Марка Пилгрима “Вглубь языка Python
DjangoBook на русском
DjangoBook на английском

Третий дайджест материалов по Symfony2

@Spoil_me_easy: Хочу напомнить: вы просрали уже 25 дней лета. У вас ещё 67. Удачи.

Новости

Вчера вышел первый релиз кандидат Symfony2. Т.е. не за горами релиз первой стабильной версии Symfony2, а значит его потихоньку можно использовать для реализации коммерческих проектов. УРА!

Начал работу PEAR канал Symfony2. На нем доступны отдельные компоненты фреймворка. Если вы используете эти компоненты в нескольких проектах, тогда жизнь станет чуточку проще ;) .

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

UPD. Совсем вылетело из головы! С недавнего времени mailing лист по симфони разделили на отдельные mailing листы для первой и для второй версии фреймворка.

Полезные ресурсы

Почитайте блог Ричарда Миллера — за относительно небольшой промежуток времени он успел написать довольно много интересных статей. К примеру, “Symfony2: Moving Away From the Base Controller” — руководство о том как избавиться от наследования базового контроллера и сделать контроллер отдельным сервисом. Использовать почерпнутые из статьи знания следует с умом. Например, Фабьен Потенсьер негативно высказывается о таком подходе.
Continue reading

BlogBundle для Symfony2

После реализации PortfolioBundle, я решил сделать простенький бандл для блога.

Вот что в нем реализовано на данный момент:

  • CRUD записей
  • Подключен редактор разметки markItUp!
  • Реализована подсветка исходного кода в тексте при помощи GeSHi
  • Для создания/редактирования тегов записи написан отдельный тип формы и преобразователь данных
  • Генерация RSS ленты записей при помощи \Zend\Feed (ZF2)
  • Модели и контроллеры покрыты тестами

Ниже я остановлюсь на некоторых моментах более детально.
Continue reading

Бандл для подключения TinyMCE к Symfony2

Дай, думаю, черкну несколько строк о том чем я занимаюсь, а то тишина в блоге :) .

Недавно создал простенький бандл для подключения TinyMCE к Symfony2 проектам. Называется он TinymceBundle и лежит на гитхабе.
Continue reading

Использование переменных окружения в конфигах Symfony2

В слайдах презентации Фабьена “PhpBB meets Symfony2” увидел интересный момент:

В этом примере мы задаем пароль к БД в переменной окружения веб-сервера и потом можем получить его в конфиге как “%doctrine.dbal.password%”.
Я проверил на практике — работает (все таки презентация довольно старая).

Хочу немного рассказать о том зачем и почему такой способ передачи секретной информации удобен.

Continue reading

Второй дайджест материалов о Symfony2

Количество новых материалов радует :) . Если у вас есть ссылки на интересные статьи/слайды/видео о Symfony2 — оставляйте их в комментариях и я добавлю их в следующий выпуск.

Статьи:

И несколько презентаций:

Continue reading

Дамп сущности в Doctrine2

Решил записать, а то постоянно забываю :)

В Doctrine2 дамп сущности или коллекции можно вывести используя статический метод

Doctrine\Common\Util\Debug::dump($entity)

На выходе получим что-то типа:

array
  0 => 
    object(stdClass)[318]
      public '__CLASS__' => string 'Application\PortfolioBundle\Entity\Category' (length=43)
      public 'id' => int 6
      public 'name' => string 'Веб-разработка' (length=27)
      public 'slug' => string 'web-development' (length=15)
      public 'description' => string 'В работе используем PHP (Zend Framework, Doctrine, Smarty, PEAR), JavaScript (jQuery, YUI, MooTools), SQL (MySQL, PgSQL), HTML/XHTML, CSS, багтрекеры и системы контроля версий. С радостью беремся за решение сложных и нестандартных задач.' (length=337)
      public 'projects' => string 'Array(20)' (length=9)
  1 => 
    object(stdClass)[304]
      public '__CLASS__' => string 'Application\PortfolioBundle\Entity\Category' (length=43)
      public 'id' => int 7
      public 'name' => string 'Веб-дизайн' (length=19)
      public 'slug' => string 'web-design' (length=10)
      public 'description' => string 'Первое впечатление о сайте, которое формируется у посетителя, очень сильно зависит от его дизайна и удобства использования. Мы поможем сделать это впечатление наиболее положительным, разработав красивый и функциональный дизайн для Вашего сайта.' (length=452)
      public 'projects' => string 'Array(5)' (length=8)