logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Mar 30

Groovy XmlSlurper & invokeMethod

Escrito por DClick Team em 1, 4, 6, api, AR, arte, bar, BI, blog, class, demo, email, exemplo, for, html, IE, int, Java, Javascript, lista, lite, O, on, print, pt, rails, RIA, Ria’s Geral, ruby, string, TAT, Twitter, XML @ 03 30th, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Grande parte do dinamismo do groovy se deve ao invokeMethod. Quando declarado, este método será executado caso um método inexistente for chamado, no objeto em questão. (Method missing no Ruby ou Python).

“invokeMethod(String name, Object args) is at the heart of Groovy metaprogramming.” – Groovy Recipes

Vamos ao exemplo:

PLAIN TEXT
CODE:

  1. class Sample {
  2.     Object invokeMethod( String name, Object params ) {
  3.         println “method ${name} with params ${params}”
  4.     }
  5. }

Podemos agora chamar qualquer método em um objeto Sample:

PLAIN TEXT
CODE:

  1. def sample = new Sample()
  2. sample.anything “arg1″, “arg2″

E devido ao “method missing” do groovy, podemos navegar em um XML de forma elegante usando o XmlSlurper (navegação semelhante ao E4X):

PLAIN TEXT
CODE:

  1. def xml = “”“
  2. <users>
  3.     <user id=”1“>
  4.         <name>Bruno</name>
  5.         <email>bruno.fuster@dclick.com.br</email>
  6.     </user>
  7.     <user id=”2“>
  8.         <name>Fuster</name>
  9.         <email>bruno.fuster@dclick.com.br</email>
  10.     </user>
  11. </users>
  12. ““”
  13.  
  14. def users = new XmlSlurper().parseText(xml)
  15.  
  16. users.user.each {
  17.     println it.@id
  18.     println it.name
  19. }

Também poderiamos utilizar bibliotecas Java (XStream, JDOM, etc) para serializar objetos para XML e vice-versa, mas vamos brincar com groovy agora para obter uma lista de objetos:

PLAIN TEXT
CODE:

  1. def objects = users.user.collect { xmlUser ->
  2.      new User(id: xmlUser.@id, name: xmlUser.name, email: xmlUser.email)
  3. }

E serializar objetos para XML/JSON fica fácil com grails.converters e content negotiation:

PLAIN TEXT
CODE:

  1. import grails.converters.*
  2.     …
  3.     def list = {
  4.         withFormat {
  5.             xml(contentType:“text/xml”) {
  6.                 render User.list() as XML
  7.             }
  8.             json(contentType:“text/json”) {
  9.                 render User.list() as JSON
  10.             }
  11.         }
  12.     }
  13.     …

Produtivo, não ?

Mar 30

Context root

Escrito por Fabio da Silva em 1, 4, 6, Adobe, AMF, AR, BI, Blazeds, blog, Blogs, bug, class, err, erro, Flex, Flex Builder, for, Google, IE, if, int, j2ee, Links, mg, NaN, O, on, procura, RIA, Ria’s Geral, server, team, UI, uint, web, XML @ 03 30th, 2010 | via http://fabiophx.blogspot.com | Sem comentários
Fabio da Silva
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Quando se cria um Flex Project informando que será utilizado o BlazeDS mantendo a maioria das opções com seus valores default ao testar uma chamada de um RemoteObject pode dar erro de envio.
Isto acontece porque em Project > Properties > Flex Server está com a opção Context root igual o conteúdo da opção Content folder que foi informada no wizard de criação do seu Flex Project.
Esta opção deve ser mudada para ficar igual a mesma opção da aba Web Project Settings.

Lembre-se que o services-config.xml normalmente terá a variável {context.root} que é trocada no momento da compilação pelo conteúdo de Context root da aba Flex Server, ocasionando o erro numa chamada de um RemoteObject pois deveria estar o valor da outra aba.

Procurando no Adobe Bug System encontrei este bug relatado nos seguintes links:
FB-26246 Context Root variable set incorrectly
FB-11617 The context root is not set correctly when creating a J2EE + WTP project

Quem quiser votem, lembre-se que quanto mais votos mais irá chamar a atenção do Flex Team.

Mar 30

Tutorial Action Script 3 – 018

Escrito por Mário Santos em Action Script & MXML, Air, Animações, as3, classes, efeitos, flash, Flex, Ria’s Geral, Serie Tutoriais AS3, Source Code, Tutoriais, Tutorial, tutorial AS3 @ 03 30th, 2010 | via http://msdevstudio.com/blog | Sem comentários
Mário Santos
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Em continuação a série de tutoriais sobre AS3…

Nesta parte do tutorial vamos usar todo o conhecimento passado nos exemplos anteriores para criar um explorador de efeitos e animações…

Começando…

6.9.1. Exemplo de explorador de efeitos / animações

Para o teste de todos estes efeitos, fiz uma class que extende um canvas e nos vai permitir testar todos estes efeitos. No flex criem um novo projecto chamado  testAS3Effects e criem uma pasta dentro da vossa raiz «src» com o nome «com» e dentro dessa uma outra com o nome «msdevstudio», depois criem uma nova class action script e coloquem o seguinte código dentro desse mesmo ficheiro…(…)
Leia o resto de Tutorial Action Script 3 – 018 (137 palavras)


© Mário Santos em TSW – That Should Work, 2010. |
Link Permanente |
Sem comentarios |
Adicionar ao
del.icio.us -
Stumble it -
Google Bookmark -
technorati


Mais artigos relacionados nas categorias: Air, animações, as3, classes, efeitos, Flash, Flex, Tutoriais, Tutorial, tween

Mar 30

RSPEC e TDD no RailsMG

Escrito por Daniel Lopes em 1, 2009, 4, 6, Apresentação, AR, blog, camp, class, control, Curso, demo, Design, development, egenial, encontro, for, gc, geo, git, Google, IE, if, image, int, internet, map, mapa, maps, mg, NaN, O, on, rails, railsmg, RIA, Ria’s Geral, ruby, Ruby e Rails, ruby on rails, tag, TAT, Tema, Teste, Twitter, UI, uint, utf8, web @ 03 30th, 2010 | via http://blog.areacriacoes.com.br/ | Sem comentários
Daniel Lopes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

No dia 30 teremos mais um encontro do nosso grupo de usuários de Ruby, o RailsMG. Convidamos todos para o próximo encontro que será as 19:00h no Take na rua Professor Morais 659, Savassi, Belo Horizonte, MG ( Clique aqui para ver o mapa ).

No dia 30 teremos mais um encontro do nosso grupo de usuários de Ruby, o RailsMG. Convidamos todos para o próximo encontro que será as 19:00h no Take na rua Professor Morais 659, Savassi, Belo Horizonte, MG ( Clique aqui para ver o mapa ).

Apresentação

Desta vez teremos uma apresentação do Jorge Assis da Dito que abordará os seguintes temas:

  • Test Driven Development
  • Behaviour Driven Development (BDD)
  • Porque BDD?
  • Utilizando RSPEC
  • RCOV
  • Teste de Controllers, Teste de Models

Mini-currículo: Jorge Moisés Assis é bacharel em Ciência da Computação pela PUC-MG. Durante o curso, trabalhou com pesquisa sobre Redes Neurais Artificiais, financiada pela CEMIG. Foi também estagiário da Ci&T até sua formatura, no final de 2008. Jorge teve seu primeiro contato com Ruby On Rails no início de 2009, quando se tornou funcionário da Dito Internet.


Sorteio

Assim como no último encontro, também teremos sorteios de prêmios entre os participantes do grupo. O brinde será cortesia do PeepCode e não podemos esquecer o apoio da 37Signals, Webbynode, eGenial e Github .





Ajude a divulgar a reunião entre os interessados por Ruby e Rails na sua empresa e amigos.

Mar 29

Uma esbórnia de conteúdo bom: User Experience Kit

Escrito por rene em 1, 6, advertising, AR, blog, Blogs, bug, código, demo, fonte, ide, IE, kit, live, mg, MSDN, O, on, referencia, Ria’s Geral, silverlight, UAU, user experience, UX, wow, XP @ 03 29th, 2010 | via http://blogs.msdn.com/renedepaula/ | Sem comentários
rene
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

  céus, quanta coisa… demos, videos, aplicacoes, códigos-fonte, um monnnte de coisa boa.  melhor que isso: tudo dividido por cenários: Rich Media Delivery, Content Publishing, Publisher Advertising, Personalized Experiences…  vou explorar…(read more)

Mar 28

Poster Flex 4

Escrito por Pedro Claudio em 1, 4, 6, ActionScript 3, BI, blog, Download, Flex, image, mg, O, on, Ria’s Geral, UI @ 03 28th, 2010 | via http://blog.pcsilva.com/index.cfm | Sem comentários
Pedro Claudio
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

A equipe do Flex.org está disponibilizando a nova versão do poster.

Mar 28

Flash Builder incluido no ColdFusion Builder

Escrito por Pedro Claudio em ActionScript 3, Adobe, Air, AR, ColdFusion, Eclipse, flash, flash builder, Flex, O, on, Plugin, Ria’s Geral, UI @ 03 28th, 2010 | via http://blog.pcsilva.com/index.cfm | Sem comentários
Pedro Claudio
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Agora a licença ColdFusion Builder por U$ 299,00 deve conter uma cópia gratuita do Flash Builder Standard.

Você precisa adquirir o ColdFusion Builder e em seguida baixar a cópia e instalar como plugin sobre ColdFusion Builder.

Watch David W…

Mar 27

Me retirando do projeto de tradução dos guias

Escrito por Daniel Lopes em 1, Air, api, AR, arte, blog, class, código, comunidade, control, Cotidiano, Curso, Cursos, Desenvolvimento, Desenvolvimento Web, Dica, Documentação, egenial, email, err, Ferramenta, fonte, for, free, git, guias, ide, IE, if, Livro, mg, NaN, O, on, problema, produtividade, Projetos, pt, rails, railsmg, referencia, rest, RIA, Ria’s Geral, ruby, Ruby e Rails, Tema, Teste, Treinamento, Twitter, UI, Vários, web, Wordpress, XP, zend @ 03 27th, 2010 | via http://blog.areacriacoes.com.br/ | Sem comentários
Daniel Lopes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Até hoje a comunidade Ruby/Rails tem crescido responsavelmente e com qualidade porque quem está a mais tempo impõe as boas práticas. Qual outra comunidade que se você não fizer testes você é crucificado? Ou se você fizer deploy via FTP e sem um SCM então você é um zero? São boas práticas que nada tem a ver com o Rails “ferramenta” mas são implícitas no cotidiano Ruby.

Acho que todos que trabalham com Ruby no Brasil conhecem o projeto dos guias. Nosso país é o único do mundo que tem todos os guias traduzidos para pt-BR e eu tenho orgulho de dizer que trabalhei neste projeto.

Foi uma tradução diferente das outras em virtude do fonte ser todo gerado em Ruby (tivemos que cuidar desta parte) e por ser um projeto constante e com atualizações praticamente diárias (diferente de um livro). Um trabalho colossal e que tivemos até poucos envolvidos se pensarmos no tamanho de cada guia. Mas na época eu considerei este projeto de tradução o mais importante para a nossa comunidade.

Hoje penso que ter traduzido os guias não foi a melhor coisa que podíamos ter feito. Como boa parte do meu trabalho está envolvido em treinamento pela eGenial ou privado vejo muito código de outras pessoas, e de vários níveis de conhecimento diferentes. Várias vezes estes códigos me assustam de verdade. Nestes casos é nítido que as pessoas não entenderam a filosofia do Ruby e muito menos do Rails (que só estende o mesmo conceito da linguagem para desenvolvimento web).

Apenas através dos guias você não aprende este tipo de coisa. Você não aprende que em hipótese alguma você pode desenvolver sem um SCM (preferencialmente GIT), não aprende que seus métodos nunca devem ter 70 linhas, não aprende como organizar seus controllers pensando em REST, e etc.

Os guias são a documentação da API exemplificada e ter isso de “mão beijada” no seu idioma ajuda os iniciantes a não pesquisarem, a não entenderem o porque das coisas. E caso estas pessoas precisem pesquisar, tudo estará em inglês em não em seu idioma nativo.

Eu não quero, em hipótese alguma, daqui a 10 anos ter vergonha em dizer que trabalhei com Ruby por ser uma linguagem famosa por projetos falhos, código mal feito e filosofia errada.

Até hoje a comunidade Ruby/Rails tem crescido responsavelmente e com qualidade porque quem está a mais tempo impõe as boas práticas. Qual outra comunidade que se você não fizer testes você é crucificado? Ou se você fizer deploy via FTP e sem um SCM então você é um zero? São boas práticas que nada tem a ver com o Rails ferramenta mas são implícitas no cotidiano Ruby e Rails.

Estas práticas você não aprende nos guias e caso um iniciante acomode-se a não pesquisar as coisas em inglês então ele nunca terá a visão do ecosistema e continuará fazendo código porco e sem saber para onde foi aquela produtividade prometida.

Outro motivo é que não quero contribuir para o problema do Simulador manco.

Por estes motivos e assinando a decisão do Cássio Marques eu também estou me retirando do projeto de tradução.

Vou me dedicar apenas a continuar respondendo os vários emails e mensagens no twitter que recebo, escrever posts aqui no blog e fazer apresentações além de ajudar no RailsMG.

Obviamente também vou continuar mantendo o livro teórico da eGenial (com mais de 300 págs) sempre atualizado e criando conteúdo para novos cursos onde eu tenho a total garantia que quem fizer e se dedicar sairá com o conhecimento certo (não é Free mas eu considero o valor muito acessível para aprender tudo da forma correta desde o início).

Mar 27

AmCharts, componente para gráficos FREE para Silverlight e WPF

Escrito por Fabriccio Bernardes em Blend, Expression Blend, Microsoft Expression, Ria’s Geral, silverlight, Silverlight 3, Video Aula @ 03 27th, 2010 | via http://fabricciocb.wordpress.com | Sem comentários
Fabriccio Bernardes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Para quem está precisando de uma boa ferramenta para trabalhar com gráficos em Silverlight, o amCharts é uma ótima escolha.
E o melhor, é totalmente FREE.

Veja algumas demonstrações do que se pode fazer com esse componente aqui -> http://wpf.amcharts.com/demo/

Isso é ótimo pra quem gostaria de gerar relatórios na sua aplicação.
É realmente uma pena que o Silverlight não tenha ferramentas de geração de relatórios por default, mas ainda bem que temos o amCharts para suprir essa demanda não é mesmo?

Baixe agora mesmo, o amCharts é uma ferramenta fundamental para desenvolvimento de aplicações ricas via Silverlight ou WPF.

Download em http://wpf.amcharts.com/download.

Mar 26

Tutorial Action Script 3 – 017

Escrito por Mário Santos em Action Script & MXML, Air, Animação, as3, Flex, Ria’s Geral, Serie Tutoriais AS3, Tutoriais, Tutorial, tutorial AS3 @ 03 26th, 2010 | via http://msdevstudio.com/blog | Sem comentários
Mário Santos
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Em continuação a série de tutoriais sobre AS3…

No ultimo tutorial falamos um pouco sobre efeitos, filtros movimentos, vamos nesta parte mostrar alguns exemplos dos mesmos efeitos, repetições, funçoes de animação, efeitos paralelos e sequenciais. Fade, Blur, Glow… Começando…

6.4. Efeitos, Exemplos e Easing Functions

Com estas funções e a com a ajuda de um eventListner podemos fazer um efeito bem agradavel de uma imagem a saltar infinitamente… vejam o código:

private var moveDir:String="Up";
private var customMove:Move = new Move();
 
public function customJump():void {
moveDir="Up"; //usado para saber o sentido da animação (up/down)
imagem.x=100;
imagem.y=100;
customMove.target=imagem;
customMove.yTo=imagem.y-50; //move 50px para cima
customMove.addEventListener(EffectEvent.EFFECT_END, doJump,false,0,true);
//no final de efectuar o movimento chama a função doJump
customMove.play(); //inicia
}
private  function doJump(evt:EffectEvent):void {
if(moveDir=="Up") { //se estiver a executar para cima
customMove.yTo=imagem.y+50; //anda 50px para baixo
customMove.play(); //inicia o novo moviemnto
moveDir="Down"; //que esta a mover para baixo
}
else
{ //sinal que terminou de mover para baixo
customMove.yTo=imagem.y-50; //movemos de novo para cima
customMove.play(); //inicia o efeito de novo
moveDir="Up";
}
}
private function stopJump():void {
customMove.addEventListener(EffectEvent.EFFECT_END, doJump);
//retira o eventListener que fará com que a função de movimento e a repetição dos move seja feita.
}

Esta função (customJump) fará com que a imagem esteja a fazer um efeito de salto repetivamente, o que não passa de movimentos repetidos +-5px na vertical.
Muito simples e com um aspecto bem agradável.

Dentro do package mx.effects encontram a class easing, que nada mais nada menos nos disponibiliza algumas funções de animação que introduzem efeitos durante a animação, vulgarmente chamadas easing Functions que podem ser adicionadas a qualquer elemento explicado em cima.

Se escreverem mx.effects.easing. Aparecer-vos-á uma lista das funções easing, funções estas que podem ser introduzidas nos nossos efeitos, utilizando o parametro .easingFunction como vou passar a explicar a seguir num exemplo que vai simular a queda de uma imagem(…)
Leia o resto de Tutorial Action Script 3 – 017 (1,213 palavras)


© Mário Santos em TSW – That Should Work, 2010. |
Link Permanente |
Sem comentarios |
Adicionar ao
del.icio.us -
Stumble it -
Google Bookmark -
technorati


Mais artigos relacionados nas categorias: Air, animação, animation, as3, blur, easing, effects, Flex, glow, move, parallel, sequencial, Tutorial

« Entradas anteriores |

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2750 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com