Feed Rss



Фев 27 2010

ушки для Алёшки

Рубрика: Общая Автор: Алексей Токарь

Пост из разряда “чем бы себя побаловать”. После заманчивой клавиатуры от Логитек, в очередь напросился еще один девайс. Встречайте. DR-BT50!

Описание можно почитать тут. Скажу лишь что это блютус наушники с отличной звукоизоляцией и отменным звучанием. Из минусов – нужно найти 180 шальных баксав :(

Метки: , ,


Фев 25 2010

письмо от т.ру

Рубрика: Общая Автор: Алексей Токарь

Нет, я конечно понимаю, что косяки бывают, но что бы прислать письмо, где на 3Мб заголовок reply-to…

Кому подобный пиздец не пришел, можно ознакомится в атаче:

mail.google.com

Метки: , ,


Фев 24 2010

Поклонникам Лукьяненко посвящается :)

Рубрика: Общая Автор: Алексей Токарь

  1. идем на http://kinobaza.tv
  2. выделяем весь текст на странице: ctrl+A
  3. скроллим в самый низ

Результат:

Метки: , ,


Фев 16 2010

ZendFramework vs Symfony

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

Но это же – пиздец, товарищи!

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

Если в ZF все логично: мы в контроллере наполняем экземпляр представления переменными:

class SomeController extends Zend_Controller_Action {
    public function indexAction() {
        $this->view->some_view_variable = 'test'; // вот тут мы наполняем экземпляр представления переменной
    }
}

…а потом в представлении манипулируем его (представления) переменными:

< ?= $this->some_view_variable ?> 
< ?php /* тут $this ссылается на объект представления из предыдущего пункта */ ?>

То в симфони происходят очень тсранные с точки зрения логики вещи. В контроллере мы наполняем КОНТРОЛЛЕР свойствами с данными:

class defaultActions extends sfActions {
    public function executeIndex( sfWebRequest $request ) {
        $this->some_view_variable = 'test'; // some_view_variable является свойством КОНТРОЛЕРА , а не ПРЕДСТАВЛЕНИЯ
    }
}

…так потом еще и в представлении обращаемся к сферическим коням в вакууме:

< ?= $some_view_variable ?> 
< ?php /* вообще сложно представить откуда могла появиться эта переменная. 
Возможно она вообще глобальная. Но очевидно одно - к объекту представления 
она никакого отношения не имеет */ ?>

Вот такое мое первое знакомство с Symfony. Первый час, так сказать…

Метки: , , , ,


Фев 16 2010

Рубрика: Общая Автор: Алексей Токарь

Уважаемые читатели, а среди вас случайно нет человека с опытом прямых продаж рекламных площадок на сайтах и желанием получить подработку? :) Опыт работы с AdManager будет большим плюсом.

Пишите на alexey@tokar.net.ua, если есть желание сотрудничать.

А остальных прошу поспрашивать по знакомым – авось кто найдется :). Спасибо

Метки: , ,


Фев 04 2010

Эхх, прокачу!

Рубрика: Общая Автор: Алексей Токарь

Ну вот не понимаю я как в Украине впринципе возможно нарушить пункт 14.1 ПДД, гласящий:

14.1. Осуществлять обгон нерельсовых транспортных средств разрешается только в левую сторону.

При том что в тех же ПДД в общих положениях написано:

обгон – опережение одного или нескольких транспортных средств, связанное с выездом на полосу встречного движения;

а в Украине принято правостороннее движение…

Ну не понимаю я :(

Метки: ,


Янв 26 2010

Косынка

Рубрика: Общая Автор: Алексей Токарь

Ну уж где-где, а в пасьянсе “косынка” от Майкрософт я багов точно не ожидал…

Баг в Косынке

Метки: , ,


Янв 22 2010

Кеширование участков представления

Рубрика: PHP Автор: Алексей Токарь

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

Код, отвечающий за кеширование участка представления в Zend Framework’е, выглядит приблизительно так:

[ some html skipped ]
 
< ?php 
$id = "some_cache_id";
// if it is a cache miss, output buffering is triggered
if ( !( $cache->start( $id ) ) ) { ?>
 
[ some html skipped ]
 
< ?php $cache->end();  } ?>
 
[ some html skipped ]

Все отлично. Участок кешируется. Через указанный промежуток времени кеш обновляется. Но что делать, если мы изменили представление? Нужно либо ждать пока обновится кеш участка, либо обновить идентификатор кеша для этого участка. В первом случае это часто бывает недопустимо по причине необходимости моментального изменения, во втором – можно просто забыть, либо вы акуратист и не соглашаетесь с невразумительными именами типа “cache_page_num123″.

Вот для таких случаев нам поможет простой участок кода:

$id = "some_cache_id";
$id = md5( $id . filemtime( __FILE__ ) );

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

Единственное о чем остается думать – есть ли сборщик мусора в выбранном вами кеширующем механизме.

Метки: , ,


Янв 21 2010

К разработчикам браузеров

Рубрика: Общая Автор: Алексей Токарь

Добавлять в настройках браузера чекбокс “разрешить яваскипт” такой же маразм как добавить чекбокс “разрешить html”. Все современные сайты хорошо работают только при наличии яваскрипта. Те сайты что работают без него – не современные.

Даже на таких простейших страницах как ya.ru или google.com яваскрипт имеется и доводит функциональность до юзабельности.

Так что, разработчики браузеров, не пора ли задуматься и упростить интерфейс еще на одну галочку?

Метки: , ,


Янв 16 2010

Рубрика: Общая Автор: Алексей Токарь

 diNovo Edge

Задумался над покупкой нового девайса: diNovo Edge.

Насколько я понял, с 2.6.20 ядра, полная поддержка для любителей линуксов, но имел ли кто из читателей опыт работы с данным девайсом? Ибо не хочется потратиться на 180$ впустую…

Метки: , , ,