Мой путь наверх / DoFollow блог http://lenta.iadlab.ru Нас невозможно сбить с пути - нам всё равно куда идти. Интернет, как источник дохода Fri, 18 May 2012 04:21:31 +0000 en hourly 1 http://wordpress.org/?v=3.3 Миша http://lenta.iadlab.ru/2012/05/15/misha/ http://lenta.iadlab.ru/2012/05/15/misha/#comments Tue, 15 May 2012 15:15:26 +0000 IAD http://lenta.iadlab.ru/?p=1958

]]>
http://lenta.iadlab.ru/2012/05/15/misha/feed/ 2
Конфетка троллфейска http://lenta.iadlab.ru/2012/05/15/konfetka-trollfejska/ http://lenta.iadlab.ru/2012/05/15/konfetka-trollfejska/#comments Tue, 15 May 2012 13:10:50 +0000 IAD http://lenta.iadlab.ru/?p=1954 Подарок для жены

]]>
http://lenta.iadlab.ru/2012/05/15/konfetka-trollfejska/feed/ 1
IT консультант http://lenta.iadlab.ru/2012/05/12/it-konsultant/ http://lenta.iadlab.ru/2012/05/12/it-konsultant/#comments Sat, 12 May 2012 18:24:37 +0000 IAD http://lenta.iadlab.ru/?p=1950 Кликабельно =)

]]>
http://lenta.iadlab.ru/2012/05/12/it-konsultant/feed/ 0
Coding Drunk, please =) http://lenta.iadlab.ru/2012/05/11/coding-drunk-please/ http://lenta.iadlab.ru/2012/05/11/coding-drunk-please/#comments Fri, 11 May 2012 17:49:51 +0000 IAD http://lenta.iadlab.ru/?p=1947

]]>
http://lenta.iadlab.ru/2012/05/11/coding-drunk-please/feed/ 0
Абстракции http://lenta.iadlab.ru/2012/05/10/abstrakcii/ http://lenta.iadlab.ru/2012/05/10/abstrakcii/#comments Thu, 10 May 2012 08:10:18 +0000 IAD http://lenta.iadlab.ru/?p=1943 … дальше остается только решить проблему возросшего количества уровней абстракции. Которую мы решим введением еще одного уровня абстракции. Whait… oh, shi…

]]>
http://lenta.iadlab.ru/2012/05/10/abstrakcii/feed/ 0
Три заветных слова http://lenta.iadlab.ru/2012/05/06/tri-zavetnyx-slova/ http://lenta.iadlab.ru/2012/05/06/tri-zavetnyx-slova/#comments Sun, 06 May 2012 08:34:37 +0000 IAD http://lenta.iadlab.ru/?p=1939

]]>
http://lenta.iadlab.ru/2012/05/06/tri-zavetnyx-slova/feed/ 0
PHP, добавляем новый метод в уже существующий объект http://lenta.iadlab.ru/2012/05/02/php-dobavlyaem-novyj-metod-v-uzhe-sushhestvuyushhij-obekt/ http://lenta.iadlab.ru/2012/05/02/php-dobavlyaem-novyj-metod-v-uzhe-sushhestvuyushhij-obekt/#comments Wed, 02 May 2012 10:49:22 +0000 IAD http://lenta.iadlab.ru/?p=1931 Допустим у нас есть объект — курсор из субд. Но мы хотим расширить его, для возвращения объектов. Добавить метод next_object(), который будет использовать метод getNext()

Проблема:
Мы не можем заставить модель возвращать объекты другого типа.

Решение 1: сделать итератор на этот курсор(который тоже является итератором). Сделать много магии для методов и свойств и получить новый итератор с нужным нам свойством.

Решение 2: Для PHP 5.4.0, использовать анонимные функции. О нём я и расскажу:
Внутри мапера, в методе findWhere($where) сделаем добавление анонимной функции в курсор, с передачей колбека и самого курсора

	/**
	 * @return MongoCursor
	 */
	public function findWhere($where)
	{
		$collection=$this->collection->find($where);
		$callback=$this;
 
		$collection->next_object=function() use ($collection, $callback)
		{
			$data=$collection->getNext();
			$obj=$callback->create_object($data);
			return ($obj);
		};
		return ($collection);
	}

Теперь, по идее можно обращаться к $collection->next_object() и получать объект, созданный мапером. Но к сожалению это не работает, т.к. PHP попробует выполнить user_func_array и не найдёт метод. Для этого присваиваем свойство переменной, значение которого является анонимной функцией и выполняем, через $func():

	public function findOneWhere($where)
	{
		$collection=$this->findWhere($where);
		$func=$collection->next_object;
		return ($func());
	}

Кривенько, но работает.

]]>
http://lenta.iadlab.ru/2012/05/02/php-dobavlyaem-novyj-metod-v-uzhe-sushhestvuyushhij-obekt/feed/ 0
О друзьях http://lenta.iadlab.ru/2012/05/01/o-druzyax/ http://lenta.iadlab.ru/2012/05/01/o-druzyax/#comments Tue, 01 May 2012 16:59:44 +0000 IAD http://lenta.iadlab.ru/?p=1928

]]>
http://lenta.iadlab.ru/2012/05/01/o-druzyax/feed/ 1
Студенты в ИТ. Как не потерять 5 лет своей жизни. http://lenta.iadlab.ru/2012/05/01/studenty-v-it-kak-ne-poteryat-5-let-svoej-zhizni/ http://lenta.iadlab.ru/2012/05/01/studenty-v-it-kak-ne-poteryat-5-let-svoej-zhizni/#comments Tue, 01 May 2012 05:48:11 +0000 IAD http://lenta.iadlab.ru/?p=1924 Антон Черноусов «Студенты в ИТ. Как не потерять 5 лет своей жизни» (http://blog.golodnyj.ru/2012/04/blog-post_1697.html).

Дисклеймер: Структура образования такова, что профильных дисциплин будет 10-20% от всех. Из этих 20% полезным будет хорошо, если 50%. Это реальность детка. Впрочем это порождает лулзы о «широкопрофильности» образования.

Что интересного в книге:
Даются практические советы: как подготовить рабочее место, какой софт юзать(ноут + evernote + dropbox + гуглосервисы. Ещё бы добавил virtualbox(виртуализируем операционки) + FeedDemon(читаем rss из гуглридера)).
Общее о таймменеджменте, мотивации и целеустремлёности. Сложная часть для меня, т.к. кроме канбан доски(мелкие цели без сроков) ничего не прижилось.
О моде и стадном рефлексе.
О пользе знаний (не путать с обучением в вузе)
О командной работе и пользе профессиональных контактов.
О сверхурочной работе и следствиях.

Прочитать было интересно, особенно после постоянного чтения фаулеров и банды четырёх и уж как 7 лет оконченного вуза. =)

]]>
http://lenta.iadlab.ru/2012/05/01/studenty-v-it-kak-ne-poteryat-5-let-svoej-zhizni/feed/ 2
Let’s talk about foo =) http://lenta.iadlab.ru/2012/04/27/lets-talk-about-foo/ http://lenta.iadlab.ru/2012/04/27/lets-talk-about-foo/#comments Fri, 27 Apr 2012 09:01:04 +0000 IAD http://lenta.iadlab.ru/?p=1920

]]>
http://lenta.iadlab.ru/2012/04/27/lets-talk-about-foo/feed/ 0