Archive for the ‘Sem categoria’ Category

Embaralhando uma Array

“E ae Rodrigo tudo bom? estou precisando de um auxilio teu… com relação a randomizar o conteudo de um array em AS3…
 
desde já agradeço…”
Claro que não ajudaria apenas um. Segue minha solução.

[ACTIONSCRIPT3]

private function embaralhar(array:ArrayCollection):void

var listaEmbaralhada:ArrayCollection = new ArrayCollection();

while (array.length>0)
{
var index:int = Math.random()*array.length;

listaEmbaralhada.addItem(array.getItemAt(index));

array.removeItemAt(index);
}
array.list = listaEmbaralhada;
}

[ACTIONSCRIPT3/]

Extends Application – Estenda tudo!

Como separar o código ActionScript do mxml.

Para o Application o mxml deve estender o .as e ficar na raiz do projeto.
Para os demais componentes  é o contrário. O .as estende ao .mxml.

I am Adobe Certified Expert Flex 3 with AIR

No último dia 12 realizei o exame para certificação do Flex 3, estava muito mais difícil que o Flex 2, consegui passar, ufa!

Já Agendei a prova para certificação do Coldfusion 8. Trabalhei muito tempo com CF na versão 7, estou estudando muito para esta prova, espero conseguir uma boa nota.

Onde presto serviço atualmente poucos conhecem o CF, e certamente aqui não trabalharei com ele, estou fazendo esta prova, pois quero o Título de Especialista em RIA, é como fechar o Ciclo Adobe RIA.

Desde que realizei o exame do Flash MX 2004 Developer, minha carreira decolou. Havia acabado de chegar dos Correios para trabalhar com Flash na Fabrica de Software da CTIS, a empresa precisava de Certificações para concorrer as Licitações, quando entreguei minha Certificação ao Superintendente da Fábrica fui ressarcido do valor do vaucher, e a minha certificação passou a Trabalhar em regime CLT.

Após realizar o Exame do Flex 2 fui convidado a fazer entrevista na Tecnologia do Bancoob, empresa que estava iniciando a migração de todo os seus sistemas de VB,Com+ e MetaFrame para Flex C# e Com+, eliminando o MetaFrame da jogada e economizando muita grana.

Hoje Presto serviço ao Sicoob que ano passado assumiu a tecnologia do Bancoob, e nem me passa pela cabeça sair daqui, ainda tenho muito que ajudar, contribuir e aprender. Estou conquistando o meu espaço, gosto da empresa. E mesmo não visando uma troca de empresa devo continuar me certificando, fazendo cursos, me atualizando, é obrigação minha como profissional.

Para este ano ainda vou tirar a certificação de C# e Java Programer. Ano que vem começa tudo de novo com o Flex 4 e CF 9. Eu Amo muito tudo isso!

Flex Shortcuts

Poxa, isso aqui ta mesmo abandonado, havia até convite para site de relacionamento como post.

Desde que tirei a certificação venho trabalhando massivamente com Flex, Flex C# Flex CF, Flex Java Flex com Farinha e por aí vai.
Tenho aprendido muito sobre Flex nestes últimos tempos, do que eu aprendi o mais interessante foi estender arquivos mxmls para construir módulos, isso realmente mudou a minha vida como desenvolvedor Flex, incrível como não pensei nisso antes, fiquei dias ralando pra estender o Application mxml e nada, até chegar por aqui (novo emprego) e o Super Wilson teve esta brilhante idéia.

Qualquer dia escrevo sobre estender arquivos mxmls e suas particularidades.

Bom, como o titulo diz, estou disponibilizando o pdf criado pela Adobe com os atalhos do Flex Builder.

Enjoy.

Agora sou um Adobe Flex 2 Developer Certified

Esta manhã fiz o exame de Adobe Flex 2 Developer e passei com 82%. Só mais um pouquinho e pegava o certificado expert.

A adobe pegou pesado nas questões sobre RemoteData, achei complicadas.

A quantidade maior de questões foi sobre a construção de componentes customizados e todas as suas implicações.

Teve perguntas sobre .jar, design partner, uml.
As questões sobre UI estavam de graça.
Teve também tudo sobre custom formatter classes (NumberFormatter, CurrencyFormatter, DateFormatter).

Bom, para quem vai se abilitar a fazer o exame siga a risca tudo que esta descrito neste documento, estuda porque cai mesmo.

Questão de Prova

Estou estudando para Adobe Flex™ 2 Developer Exam, e um dos materiais de estudo que tem sido útil são as apostilas dos cursos oficiais da adobe.

Nestas apostilas ao final de cada unidade tem várias questões visando a medição do aprendizado, questões estas que acredito muitas estarão na prova. Usei esta mesma tática para o exame do Flash mx 2004 Developer e deu certo. Encontrei as mesmas questões das apostilas na prova de certificação.

Você pode ter acesso as estas apostilas fazendo os cursos oficiais da adobe. A ENG é uma das escolas que ministra cursos oficiais e distribui estes materiais impressos aos alunos.

Segue abaixo 10 questões copiadas de duas destas apostilas.

1. Which of the following Form container styles is used to set the spacing between the label and content?
a. verticalGap
b. paddingDistance
c. indicatorGap
d. labelSpacing

2. How many children will Flex lay out per Tile container row if there are 31 total children?
a. 3
b. 4
c. 5
d. 6

3. Which style is NOT an anchor property?
a. right
b. verticalCenter
c. bottom
d. corner

4. Determine the order of precedence for the following styles:
a. The style defined by a class selector(2)
b. The style defined inline (1)
c. The style defined in a global selector(4)
d. The style defined in a type selector(3)

5. A custom event class should: (Choose 2)
a. Have ‘event’ in its classname
b. Can have no custom methods
c. Should override the clone() method
d. Should call super() of its parent

6. Choose the following that is NOT a feature of the Repeater
a. Iterates the number of times as objects in the dataProvider
b. Controls the layout of repeated items
c. Allows nested tags
d. Can repeat any component descended from UIComponent

7. Which of the following services are part of Flex Data Services?
a. Proxy Service
b. Web Service
c. Message Service
d. HTTP Service

8. Java class methods to be call as remote object services must be marked as:
a. private
b. public
c. void
d. static

9. A Java class is predefined in remoting-config.xml as a:
a. named object
b. service
c. servlet
d. destination

10. What are the 2 client-side components used in Flex Messaging?
a. Producer/Receiver
b. Producer/Consumer
c. Sender/Receiver
d. Publisher/Subscriber

O guia preparatório para o exame pode lhe fornecer mais informações sobre o processo do exame.

Sobre RSL no FlexBuilder 2 – 2º Parte: Consumindo um RSL

Com o Flex Library Project criado se faz necessário criar um Projeto em Flex para fazer uso do RSL.

No FlexBuilder acesse o menu File >> New >> e selecione Flex Project

Deixe selecionado a primeira opção (Basic) e clique em Next.Preencha o campo Project name e click em Finish.

Por padrão o FlexBuilder cria toda a estrutura do projeto e compila o arquivo principal do projeto.

Embora não tenha inserido nenhum código no arquivo consumeRSL.mxml, após compilado já possui 123 kb.
Isso devido as classes que já estão implícitas nele.



Uma das formas de um Project Flex fazer uso do RSL é acrescentar um Flex Library Project ao Library path do Project Flex usando o FlexBuilder.

Para isso clique com o botão direito do Mouse na pasta principal do projeto e selecione a opção Properties.

Selecione a opção Flex Build Path no menu esquerdo da janela de dialogo e selecione a aba Library path. Clique na botão Add Project…

Fiz alguns testes escolhendo a add SWC.. ao invés de Add Project e o que constatei é que quando escolhido add SWC, as alterações sofridas no Flex Library Project não eram atualizadas no Projeto em Flex.

A nova janela de dialogo que é exibida lista os projetos do tipo Flex Library.
Selecione o Flex Library Project que deseja adicionar e clique em OK.

Como mostra a imagem acima o projeto libraryComponents foi adicionado ao Library path do projeto consumeRSL.

Observe que a biblioteca adicionada tem quatro opções:
Source attachment:\librayComponents
Link Type:Merged em Code
RSL URL: (n/a)
Auto extract swf: (n/a)

Destas, a opção mais importante é o Link Type, que indica o tipo de link que vai ser usado com a biblioteca escolhida.
A opção padrão é
Merged em Code, que simplesmentes insere todo o código da biblioteca na sua aplicação, para alterar dê um clique duplo na opção Link Type.

Selecione na lista de opções Runtime shared library (RSL).

com a opção RSL selecionado é abilitado o campo RSL URL, que indica a url da biblioteca com os arquivos do seu projeto.
Neste caso o biblioteca dinâmica será representada pelo arquivo librayComponents.swf que deverá ser publicado para o seu servidor com os demais arquivos do projeto. É este arquivo que irá compartilhar em runtime as classes entre os arquivos do projeto ou aplicações.

O checkbox abaixo do campo RSL URL serve para extrair o swf do arquivo swc, nos meus testes selecionando esta opção ou não o flexBuilder extraiu o arquivo swf.

Clique no Botão OK das duas janelas de dialago.

Com isso o FlexBuilder extraiu o swf da biblioteca adicionada e o copiou para a pasta bin do projeto.

Aqui já possível ver a diferença de usar RSL. Observe o tamanho do arquivo consumeRSL.swf que antes
ocupava 123 kb agora tem apenas 45 kb.

Com isso se fizermos um continha rápida chegaremos a conclusão que a aplicação só cresceu usando RSL.

Aplicação sem RSL = 123 kb
Aplicação com RSL = 45 kb + 243 do RSL = 288 kb

O uso do RSL só vai ficar vantajoso quando for usado por varios arquivos em uma aplicação. Por isso é mais indicado para aplicações modulares.

Rafaçamos as contas.
Suponhe que sua aplicação use 10 swfs que ocupem 123 kb cada um,

Sem RSL:
10 arquivos de 123 kb = 1230 kb.

Com RSL:
10 arquivos de 45 kb = 450 kb + 243 kb do RSL = 693 kb. Economia de 537 kb.

be continued…

Sobre RSL no FlexBuilder 2 – 1º Parte: Criando um Flex Library Project

È uma dúvida comum de como construir aplicações modulares em Flex que mantenha o tamanho do arquivo compilado pequeno.

O tamanho do arquivo compilado (.swf) do flex ou flash sempre foi a grande preocupação de quem desenvolve aplicações com vários componentes. Isso porque cada componente que se coloca no arquivo significa mais alguns kb no arquivo final, em uma aplicação com um DataGrid, Panel etc chega fácil a 400kb, e isso só piora quando se constrói aplicações com várias telas.

É possível reduzir o tamanho do arquivo SWF da sua aplicação externalizando recursos compartilhados. Estes recursos compartilhados ficam disponíveis para serem usados por inúmeras aplicações em runtime, e são descarregados no cliente somente uma vez. Esta técnica de compartilhar recursos entre aplicações já existe desde a versão 2004 no Macromedia Flash.


Usando RSLs várias aplicações pode compartilhar de um mesmo núcleo (swf) comum de componentes ou de classes, este núcleo comum precisa ser transferido para a maquina do cliente somente uma vez.

As aplicações que compartilham dos recursos do RSL usam o mesmo RSL cacheado desde que estejam no mesmo domínio.
Os benefícios aumentam com o número das aplicações que compartilham os mesmos RSLs e diminuem se poucas aplicações ou telas fizerem uso do recurso.

Neste exemplo, as aplicações e bibliotecas fazem parte do mesmo arquivo .swf forçando o flash player a fazer o download de 250 KB para cada aplicação.

Com a biblioteca compilada em arquivo separado somente a primeira aplicação deve carregar os 150 KB (o tamanho da biblioteca comum as duas aplicações). Para visualizar a segunda aplicação o flash player precisa fazer o download de apenas 100kb que é o tamanho da segunda aplicação sem a biblioteca.No Flex é possível usar RSL criando um Flex Library Project no FlexBuilder ou criando telas que estendam a classe mxmodules.
As duas formas usam a técnica de que a primeira aplicação carrega a biblioteca e as demais fazem uso.

Vou mostrar aqui como criar uma biblioteca compartilhada (RSL) para ser consumida em runtime usando o FlexBuilder.Comece criando um um Flex Library Project.
No FlexBuilder acesse o menu File >> New >> e selecione Flex Library Project.

Preencha o campo Project name e clique em Finish.Pronto, com isso o Flex Library Project foi criado.

Dentro do Flex Library Project deve ser criado as classes que queremos compartilhar entre aplicações, como componentes customizados classes customizadas ou as classes dos controles do flex que usamos na maioria das aplicações DataGrid, Combobox etc.

Vamos criar um MXML component para servir como repositor de controles que queremos compartilhar como DataGrid, Combobox, List entre outros.

No Flex builder acesse o menu File >> New >> e selecione MXML Component.Selecione o projeto que estamos trabalhando, preencha o campo Filename, selecione na lista Based on a classe que irá se basear o componente que esta sendo criado.
Escolhi uma classe que seja um container (Canvas) mas em tese poderia ser qualquer uma.
Click em Finish.

Observe a estrutura do projeto:

Por ser um Flex Library Project o Flex Buider compilou autmoticamente as classe librayComponents.mxml e gerou um arquivo SWC dentro da pasta bin.

O arquivo SWC é um arquivo do tipo ZIP, que contém o arquivo swf que será extraído pelo FlexBuider para servir como biblioteca em outros projetos.

Você pode abrir arquivos SWC com qualquer softwares que descompactam arquivos do tipo ZIP.

Arquivo SWC aberto com o winzip.


Observe o tamanho do arquivo library.swf.
Gigantesco para um arquivo que contém apenas as classes:

  • Button
  • HScrollBar
  • VScrollBar
  • Application
  • Container
  • UIComponent
  • Zoom
  • State
  • Transition

Estas classes estão explicitas no swf pois o container Canvas faz uso de todas.

O arquivo catalog.xml lista todas as classes que o library.swf possui, é através deste arquivo que aplicação sabe o que vai poder ser consumido em runtime.

be continued…

Brinquedo de Nerd

Após quase duas semanas de espera enfim estou de posse do meu Powerball(foto).

Comprei na esperança que se cumpra a promessa do vendedor de evitar lesões causados por movimentos repetitivos (ler) que é o caso da galera de TI.

Representante no Brasil:
http://www.powerballbrasil.com.br/

Software Microsoft de Graça.

  • Visual Studio 2005 Professional Edition
  • SQL Server 2005 Developer Edition – 32-bit
  • Project Professional 2007
  • Visio Professional 2007
  • Windows Vista Business DVD

De graça.

Meu amigo, Bruno Kenj explica como.
Eu já estou com o meu Vista Business Activation Code. Pegue o seu.

Return top