Home

Git , да прибудет с вами сила!

  • 03 грудень 2009 at 2:03 PM
dog
Собственно перехал, с svn на git. Новый адресс http://github.com/necromant2005/zrails Все таки какой прекрасный мердж в git ...

Пока только самые нужные вещи:
P.S. Адаптеры реализуют интерфейс Zend_Db_Adapter_Abstact, так что фасады для репликации, кластера и скалинга полность совместимы с обычными адаптерами БД. Read more... )

Tags:

abstract - как много в этом слове

  • 01 грудень 2009 at 11:50 PM
dog
Странное, закономерное. Выделял интерфейс с большого объекта, в ккой-то момент начал получать следующую ошибку. Какое-то время думал WFT. Но все оказалось просто. Вообще судя по гуглу больше никто не получал ошибки даткого типа :)
abstract class A
{
   abstract public function __construct();
   abstract public function __call($m, $a);

   public function foo() {}
}
abstract class B extends A
{
   abstract public function foo($a, $b);
}

class C extends B
{
   public function __construct() {}
   public function __call($m, $a)
   {
       echo $m . ': '. var_export($a, true);
   }

   public function foo($a, $b)
   {
      return $a+$b;
   }
}

$b = new C();
$b->foo(123, 45);
//Fatal error: Cannot make non abstract method A::foo() abstract in class B in /home/necromant/x.php on line 12

Tags:

abstract constructor

  • 01 грудень 2009 at 10:38 PM
dog
Никогда не проверял до єтого момента, а тут оптребовалось реализовать абстраный конструтор у класса. Не был уверен что будет работать коретно, но оно РАБОТАЕТ.
abstract class A
{
   abstract public function __construct();
   abstract public function __call($m, $a);
}

class B extends A
{
   public function __construct() {}
   public function __call($m, $a)
   {
       echo $m . ': '. var_export($a, true);
   }
}

$b = new B();
$b->foo(123, 45);

Все таки это приятно.

Tags:

GlusterFS

  • 03 листопад 2009 at 12:30 AM
dog
GlusterFS - распределенная файловая система. Примерами похожими на GlusterFS, является GFS, GPFS, Lustre, Hadoop, конечно со своими вариациями.

  1. Установка
  2. Настройка
  3. Основные понятия. Внутреннее устройство.
  4. Выводы
  5. Ссылки

Подробнее тут ...

Debug Console - в каждое приложение

  • 02 вересень 2009 at 4:10 PM
dog
По совету korchasa решил глянуть, творение от разработчиков facebook - github.com/facebook/phpsh/tree/master

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

Parse error: syntax error, unexpected ')' in /usr/local/bin/phpsh_check_syntax(4) : eval()'d code on line 1

:) что конечно не могло не радовать.
Идея консоли мне нравится, давно играюсь с Ruby on Rails и там консоль просто незаменима.
В общем решил прикрутить себе. Первый вариант не заставил себя долго ждать 2 минуты и 20 строк кода http://pastebin.com/m1779f2cd - зато работает :)

В общем готовая рабочая консоль в Zrails :)
Wiki с описанием и примерами: code.google.com/p/zrails/wiki/DebugConsole
Исходники: 
code.google.com/p/zrails/source/browse/trunk/Script/console.php
code.google.com/p/zrails/source/browse/trunk/Vendor/Core/Debug/Console.php



Tags:

dog
ZF + Горизонтальная масштабируемость
Написал адапnер для ZF предоставляющий функционал горизотального маштабирования данных бд. Основной зарачей горизотального маштабирования является возможно разнесения бд, путем разрезания таблиц с данными на части. Таким образом появляется возможность гибко маштабировать операции записи, выборки из больших таблиц содержащих свыше 10 млн. записей или размером свыше 5 Гб. Подробнее ...

Tags:

Как работает MogileFS

  • 03 липень 2009 at 8:42 PM
dog

Как работает MogileFS



  • Установка.

  • Настройка.

  • Основные понятия Хост/Устройство Домен/Класс. Как хранятся данные и каким образом отдаются.

  • Внутреннее устройство.

  • Выводы.


  • Продолжение ...

Tags:

Zend_Markup

  • 25 червень 2009 at 3:40 PM
dog
Zend_Markup - предназначен для парсинга и пребразования текста. На текущий момент доступен только 1 парсер 'Bbcode' и только 1 рендер 'Html'. Отличительной особеностью являеся не ограниченый уровень вложености тегов, а также возможность задания кастомных stoppers.
Read more... )

Исходники:
http://framework.zend.com/svn/framework/standard/incubator/library/Zend/Markup.php
http://framework.zend.com/svn/framework/standard/incubator/library/Zend/Markup

Tags:

Zend_Calendar

  • 25 червень 2009 at 1:02 PM
dog
В связи с релизом ZF 1.8.4 , решил посмотреть что там еще осталось в инкубаторе. Нашел всего 2 вещи которые можно посмотреть Zend_Calendar (http://framework.zend.com/wiki/display/ZFPROP/Zend_Calendar+-+Thomas+Weidner) и Zend_Mackup (никакой документации нет вообще)

Так решил запустить тестовые примеры Zend_Calendar , получил в ответ исключение "Calendar class yet not implemented... will be done when Zend_Date is ready!". Решил глянуть исходники
public function __construct($date, $locale, $parameter)
{
    throw new Zend_Date_Exception('Calendar class yet not implemented... will be done when Zend_Date is ready!');
}

Это было суппер, очень порадовало и напомнило старую ситуацию, когда мигрировал с версии 0.8 до 0.93.
История была такая: был старый копонент Zend_Validate_EmailAddress::isValid в котором в версии 0.8 была простейшая проверка "preg_match('/[a-z.\-_]+@[a-z.\-_]+/')".

Мигрировал приложение на версию 0.9 и отвалилась проверка валидности email, начал копать что же прозошло, пока не посмотрел собсвенно сам Zend_Validate_EmailAddress::isValid, я долго смеялся
public function isValid()
{
    //@TODO This should be done
}

Tags:

Сдача экзамена ZFCE

  • 24 червень 2009 at 5:17 PM
dog
 Итак пару дней назад получил  письмо с предложением описать процесс сдачи ZFCE. Ну что ж постараюсь ответить на все вопросы. Read more... )

enlarge your application

  • 23 червень 2009 at 1:39 PM
dog
В продолжение http://necromant-2005.livejournal.com/64798.html
Что из этого получилось можно посмотреть в исходниках. Но так глобально очень похоже вышло на Gmail, пользоватся немного страннова-то особенно когда тікаешь на страницу которой ету в кеше, но все же быстро привыкаешь как как сервер тебе честно говорит: "Гружу страницу, подождите ...". Но для боевого приложения все же более адекватным будет держать сразу в кеше или дергать кеш через какой-то временой промежуток скажем 3 раза каждые 50 мсек.

Исходники рабочего примера: http://filebox.powernet.kiev.ua/tmp/queue.tar.gz
Исходники зенда с спепшотом из инкубатора: http://filebox.powernet.kiev.ua/tmp/queue-zend.tar.gz

Все остальное под катом
Read more... )

Tags:

nginx + zend framework

  • 22 червень 2009 at 4:21 PM
dog
Пример конфигурации nginx для работы с ZF в окружении development
server {
	listen   80;
	server_name  queue.laptop;

	location / {
		root   /var/www/queue/public;
		index  index.php;
                if (!-e $request_filename) {
                   rewrite ^/(.*)$ /index.php?$1 last;
                }
	}

	location ~ \.php$ {
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME  /var/www/queue/public$fastcgi_script_name;
		fastcgi_param 	APPLICATION_ENV  development;
		include /etc/nginx/fastcgi_params;
	}
}

Tags:

dog
В продолжение http://necromant-2005.livejournal.com/66181.html

Решил создать проект и попробыват использовать , то как предлагает Zend
zf create project

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

Read more... )

Тайланд

  • 03 червень 2009 at 12:55 PM
dog
Слетал в Тайланд на неделю
Фотки тут http://fotki.yandex.ru/users/kpss7/album/67848/

Особенно радуют эта

и эта

jabber-bot

  • 13 травень 2009 at 9:40 AM
dog
Написал бота для уведомления о новых письмах в почтовом ящике.
JID: mail-notificator@jabber.powernet.kiev.ua
Список доступных команд: help
Пример для Yandex: mailbox-add-yandex username password
Пример для Gmail: mailbox-add-gmail username@gmail.com password
Пример для Mailru: mailbox-add-mailru username password

Пример для кастомного сервера: mailbox-add pop://username:password@pop.host.com
Пример для кастомного сервера с ssl: mailbox-add pop-ssl://username:password@pop.host.com:995
Пример для кастомного сервера imap: mailbox-add imap://username:password@imap.host.com

Tags:

php 5.3 rc2

  • 08 травень 2009 at 10:43 PM
dog
Вчера сосвтоялся релиз php 5.3 rc2 (http://www.php.net/archive/2009.php#id2009-05-07-1)
Описание миграции на 5.3 : http://wiki.php.net/doc/scratchpad/upgrade/53

Tags:

Zend_Loader migration

  • 07 травень 2009 at 2:17 PM
dog
Обновился до последного снепшота 1.8 и влил сверху инкубатор.
Первое на что наткнулся это то что

Zend_Loader::registerAutoload();
//Zend_Loader::Zend_Loader::registerAutoload() is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader

Новый код c использованием Zend_Loader_Autoloader

Zend_Loader_Autoloader::getInstance()->registerNamespace('Core_');
Zend_Loader_Autoloader::getInstance()->registerNamespace('App_');

Решение понятное, так как данные изменения обусловлены следующими факторами:

  1. Введение неймспейсов и архивов(phar) в php 5.3. Требуется изменить существующий код загрузки для поддержки нового функционала.

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


подробнее http://framework.zend.com/manual/en/zend.loader.autoloader.html

Tags:

письма

  • 27 квітень 2009 at 1:36 PM
head not found
Пришел очередной сертификат

подробнее под катом
Read more... )

Tags:

Реклама

Latest Month

грудень 2009
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom
Розроблено LiveJournal.com
Designed by [info]heiheneikko