Любите ли Вы биндинг, как люблю его я
Oct. 20th, 2009 | 03:38 pm
Такое вот несложное флексовое приложение:
А вот и реализация класса MyObject:
Чтобы всем было понятно, я при инициализации создаю экземпляр MyObject и дважды дергаю сеттер поля field1.
Думаю, все понимают, что я увижу в консоли?
Конечно же, один раз 'Updated'. Любезный флексовый биндинг понял, что значение поля не изменилось и блокировал второй вызов сеттера.
Об этом, конечно, мельком написано тут: http://livedocs.adobe.com/flex/3/html/h elp.html?content=databinding_8.html
Но все же мне кажется, биндинг мог бы обойтись непосылкой события обновления конкретного поля.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="handleCreationComplete()"
>
<mx:Script>
<![CDATA[
import test.MyObject;
private function handleCreationComplete(): void
{
var o: MyObject = new MyObject();
o.field1 = 100;
o.field1 = 100;
}
]]>
</mx:Script>
</mx:Application>
А вот и реализация класса MyObject:
package test
{
[Bindable]
public class MyObject
{
private var _field1: Number;
public function get field1(): Number
{
return _field1;
}
public function set field1(o: Number):void
{
_field1 = o;
updateField1Dependencies();
}
private function updateField1Dependencies(): void
{
trace ("Updated");
}
}
}
Чтобы всем было понятно, я при инициализации создаю экземпляр MyObject и дважды дергаю сеттер поля field1.
Думаю, все понимают, что я увижу в консоли?
Конечно же, один раз 'Updated'. Любезный флексовый биндинг понял, что значение поля не изменилось и блокировал второй вызов сеттера.
Об этом, конечно, мельком написано тут: http://livedocs.adobe.com/flex/3/html/h
Но все же мне кажется, биндинг мог бы обойтись непосылкой события обновления конкретного поля.
Link | Leave a comment | Add to Memories | Tell a Friend
svn-clean.cmd без затей
Jan. 18th, 2007 | 12:04 pm
@echo off
setlocal ENABLEDELAYEDEXPANSION
set files_to_delete=
for /f "tokens=* usebackq" %%A in (`svn status`) do (
set qwe=%%A
if "!qwe:~0,1!" equ "?" (
set files_to_delete=!files_to_delete! "!qwe:~7!"
)
)
for %%A in (%files_to_delete%) do (
if exist %%A (
if exist %%~A\nul (
rd /s /q %%A
echo %%A is removed.
) else (
del /f %%A
echo %%A is removed.
)
)
)
endlocal
setlocal ENABLEDELAYEDEXPANSION
set files_to_delete=
for /f "tokens=* usebackq" %%A in (`svn status`) do (
set qwe=%%A
if "!qwe:~0,1!" equ "?" (
set files_to_delete=!files_to_delete! "!qwe:~7!"
)
)
for %%A in (%files_to_delete%) do (
if exist %%A (
if exist %%~A\nul (
rd /s /q %%A
echo %%A is removed.
) else (
del /f %%A
echo %%A is removed.
)
)
)
endlocal
Link | Leave a comment {1} | Add to Memories | Tell a Friend
Array.shuffle()
Nov. 22nd, 2006 | 08:02 pm
Array.prototype.shuffle = function(){
if ( this.length<2 ) return this;
var rand;
var tmp;
for( var i=this.length; i>1; i-- ){
// choose from first i elements
rand = Math.floor(Math.random()*i);
// pick
tmp = this.splice(rand,1);
// append to the end
Array.prototype.push.apply(this,tmp);
}
// the last element to the end (optional)
tmp = this.splice(0,1);
Array.prototype.push.apply(this,tmp);
return this;
}
Link | Leave a comment {1} | Add to Memories | Tell a Friend
Поддержка exslt для domxml в php 4.4.x (windows)
Nov. 17th, 2006 | 02:38 pm
Мда, долго мне не удавалось заставить работать exslt в модуле domxml на виндовых машинах. Не знаю, может, он на винде никому и не нужен? Даже на ru_php спросил, но совет ограничился копированием dll из дистрибутива в system32.
Так или иначе сегодня я нашел слегка грязный хак:
насколько я понимаю, в новых версиях PHP php_domxml.dll есть библиотека, содержащая в себе libxml и libxslt (в которую, похоже, не включают libexslt). В древности же, умелые парни не делали их нее ничего особо самодостаточного, а была она интерфейсом к libxml, libxslt и libexslt, установленным в ОС.
Поэтому добыл я свежих версий тех библиотек и взял старенькую php_domxml.dll. Конечно, нужно быть готовым, интерфейс в этом случае у меня будет слегка неполным, а пхп может иногда валиться, если какие-то методы-процедуры были выкинуты, но для тестов сойдет.
Сссылки:
Кстати, если кто знает способ проще - готов выслушать.
Так или иначе сегодня я нашел слегка грязный хак:
насколько я понимаю, в новых версиях PHP php_domxml.dll есть библиотека, содержащая в себе libxml и libxslt (в которую, похоже, не включают libexslt). В древности же, умелые парни не делали их нее ничего особо самодостаточного, а была она интерфейсом к libxml, libxslt и libexslt, установленным в ОС.
Поэтому добыл я свежих версий тех библиотек и взял старенькую php_domxml.dll. Конечно, нужно быть готовым, интерфейс в этом случае у меня будет слегка неполным, а пхп может иногда валиться, если какие-то методы-процедуры были выкинуты, но для тестов сойдет.
Сссылки:
Кстати, если кто знает способ проще - готов выслушать.
Link | Leave a comment | Add to Memories | Tell a Friend
Про PDF
Aug. 22nd, 2006 | 07:56 pm
Друзья,
попользовавшить некоторое время карманным помощником, я обнаружил в себе желание открывать всякие PDF-документы с того места, где я их закрыл. Насколько я понял, бесплатная адобовская читалка предлагает подобную функцию за некоторую доплату, я еще немного пошарился и успокоился.
Сытно покушав пару часов назад, я заинтересовался, а нельзя ли открыть PDF-документ бесплатно хотя бы с желаемой страницы...
Для таких, как я (не интересовавшихся, возможно ли это), представляю вниманию превосходное руководство на эту тему со стороны Adobe. Отсюда Вы узнаете о разных параметрах, которые можно передать адобовской читалке при помощи URLа (хотя в терминах URI это не совсем параметры), чтобы PDF открылся в нужном месте, в нужном масштабе и с нужными панелями.
Для чего это надо? Например, чтобы отметить для себя нужное место в PDF-документе и поставить туда закладку.
Вот с этого момента, например, начинается описание самих параметров.
попользовавшить некоторое время карманным помощником, я обнаружил в себе желание открывать всякие PDF-документы с того места, где я их закрыл. Насколько я понял, бесплатная адобовская читалка предлагает подобную функцию за некоторую доплату, я еще немного пошарился и успокоился.
Сытно покушав пару часов назад, я заинтересовался, а нельзя ли открыть PDF-документ бесплатно хотя бы с желаемой страницы...
Для таких, как я (не интересовавшихся, возможно ли это), представляю вниманию превосходное руководство на эту тему со стороны Adobe. Отсюда Вы узнаете о разных параметрах, которые можно передать адобовской читалке при помощи URLа (хотя в терминах URI это не совсем параметры), чтобы PDF открылся в нужном месте, в нужном масштабе и с нужными панелями.
Для чего это надо? Например, чтобы отметить для себя нужное место в PDF-документе и поставить туда закладку.
Вот с этого момента, например, начинается описание самих параметров.
Link | Leave a comment | Add to Memories | Tell a Friend
Неологизм
Jul. 19th, 2006 | 02:09 pm
Подводные грабли (by
graann)
Link | Leave a comment | Add to Memories | Tell a Friend
Совсем неприятное открытие
May. 31st, 2006 | 12:41 pm
Сегодня обнаружена очень неожиданная для меня особенность XSL-процессора (libxslt 1.1.15 в моем случае) в PHP 5.1.1, которыми я активно пользуюсь.
( Заинтересованных приглашаю ознакомиться )
Link | Leave a comment {3} | Add to Memories | Tell a Friend
Одинаковый размер шрифта в браузерах
Mar. 14th, 2006 | 01:51 pm
Не знаю, как для кого, а для меня долгое время существовала проблема сделать размер шрифта в разных браузерах одинаковым, указав его при этом в относительных единицах.
Начиналось обычно все с того, что я устанавливал размер шрифта у элемента html во что-нить типа x-small, а затем хаками выравнивал его же для элемента body.
Но сегодня я сделал простейшую вещь, которая настолько пугает своей естественностью, что я не пойму, почему я никогда этого не делал до этого:
* {font-size:100%;}
И все. Нет, поднимите руки, кто знал, и почему мне об этом не сказал?
