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

Lógica de programação com Scratch – Aula 4

Escrito por Elvis Fernandes em 1, 2.0, 2009, 4, 6, Android, aplicacao, app, AR, arte, C#, control, CRUD, Desenvolvimento, err, erro, for, git, Google, IE, int, Introdução, JQuery, live, Livro, lógica, Mac, NaN, O, on, operadores, permalink, programação, pt, rest, restfulx, Ria’s Geral, ruby, screen, Screencast, screencasts, tag, Vídeo @ 03 9th, 2012 | via http://www.elvis.eti.br | Sem comentários
Elvis Fernandes
? 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 »

Quarto vídeo da série de screencasts sobre lógica de programação com Scratch.

Este vídeo mostra como salvar e abrir um projeto, como controlar o teclado e como trabalhar com blocos de comandos condicionais.

Veja mais informações sobre a série neste outro post.

Posts relacionados

  • Lógica de programação com Scratch – Aula 3“>Lógica de programação com Scratch – Aula 3 (0)
  • Lógica de programação com Scratch – Aula 2“>Lógica de programação com Scratch – Aula 2 (0)
  • Lógica de programação com Scratch – Aula 1“>Lógica de programação com Scratch – Aula 1 (0)
  • Aulas de lógica de programação usando Scratch“>Aulas de lógica de programação usando Scratch (1)
  • Livro: Google Android“>Livro: Google Android (0)
  • CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application“>CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application (2)
  • CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve“>CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve (7)
  • Erro “bad line length character” no Git“>Erro “bad line length character” no Git (1)
  • Precedência dos operadores em Ruby“>Precedência dos operadores em Ruby (0)
  • Introdução ao jQuery“>Introdução ao jQuery (0)

© Elvis for Elvis Fernandes, 2012. |
Permalink |
Nenhum comentário |
Adicione ao
del.icio.us


Tags: aula, Desenvolvimento, lógica, programação, scratch

Mar 6

Lógica de programação com Scratch – Aula 3

Escrito por Elvis Fernandes em 1, 2.0, 2009, 4, 6, Android, aplicacao, app, AR, arte, C#, cheat sheet, CRUD, Desenvolvimento, Flex, Flex4, flexreport, for, git, Google, IE, live, Livro, lógica, Mac, NaN, O, on, operadores, permalink, programação, pt, rest, restfulx, Ria’s Geral, ruby, screen, Screencast, screencasts, tag, Vídeo @ 03 6th, 2012 | via http://www.elvis.eti.br | Sem comentários
Elvis Fernandes
? 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 »

Terceiro vídeo da série de screencasts sobre lógica de programação com Scratch.

Veja mais informações sobre a série neste outro post.

Posts relacionados

  • Lógica de programação com Scratch – Aula 2“>Lógica de programação com Scratch – Aula 2 (0)
  • Lógica de programação com Scratch – Aula 1“>Lógica de programação com Scratch – Aula 1 (0)
  • Aulas de lógica de programação usando Scratch“>Aulas de lógica de programação usando Scratch (1)
  • Precedência dos operadores em Ruby“>Precedência dos operadores em Ruby (0)
  • Livro: Google Android“>Livro: Google Android (0)
  • FlexReport com o Flex4!FlexReport with Flex4“>FlexReport com o Flex4!FlexReport with Flex4 (8)
  • CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application“>CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application (2)
  • CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve“>CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve (7)
  • Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos“>Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos (8)
  • GIT Cheat Sheet“>GIT Cheat Sheet (0)

© Elvis for Elvis Fernandes, 2012. |
Permalink |
Nenhum comentário |
Adicione ao
del.icio.us


Tags: aula, ensino, lógica, programação, scratch, screencast

Mar 5

Psicologia do UX Design – 1

Escrito por DClick Team em 1, 2.0, 4, app, apple, AR, arte, C#, Design, Experiência do Usuário, ide, int, iphone, lógica, O, on, Ria’s Geral, S+S, UI, usabilidade, user experience, UX, XP @ 03 5th, 2012 | 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 »

Recentemente tenho postado sobre a Guideline do iOS, é conhecido o fato de que a Apple se preocupa bastante com a parte psicológica da Experiência do Usuário. Interessante é ver que depois do grande sucesso conseguido pela mesma através do iOS (iPhone e iPad), muitos dos seus concorrentes começaram a dar mais importância ao…

Continue Lendo
Mar 2

Lógica de programação com Scratch – Aula 2

Escrito por Elvis Fernandes em 1, 2.0, 2009, 4, Android, aplicacao, app, AR, arte, C#, cheat sheet, CRUD, Desenvolvimento, err, erro, Flex, Flex4, flexreport, for, git, Google, IE, live, Livro, lógica, Mac, NaN, O, on, operadores, permalink, programação, pt, rest, restfulx, Ria’s Geral, ruby, screen, Screencast, tag, Vídeo @ 03 2nd, 2012 | via http://www.elvis.eti.br | Sem comentários
Elvis Fernandes
? 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 »

Este é o segundo vídeo da série de aulas sobre lógica de programação com o Scratch. Veja mais informações sobre a série neste outro post.

Posts relacionados

  • Lógica de programação com Scratch – Aula 1“>Lógica de programação com Scratch – Aula 1 (0)
  • Aulas de lógica de programação usando Scratch“>Aulas de lógica de programação usando Scratch (1)
  • Precedência dos operadores em Ruby“>Precedência dos operadores em Ruby (0)
  • Livro: Google Android“>Livro: Google Android (0)
  • FlexReport com o Flex4!FlexReport with Flex4“>FlexReport com o Flex4!FlexReport with Flex4 (8)
  • CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application“>CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application (2)
  • CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve“>CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve (7)
  • Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos“>Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos (8)
  • GIT Cheat Sheet“>GIT Cheat Sheet (0)
  • Erro “bad line length character” no Git“>Erro “bad line length character” no Git (1)

© Elvis for Elvis Fernandes, 2012. |
Permalink |
Nenhum comentário |
Adicione ao
del.icio.us


Tags: aula, ensino, lógica, programação, scratch, screencast

Mar 2

Guideline iOS – Princípios da Interface Humana

Escrito por DClick Team em 1, 2.0, app, apple, AR, C#, Design, for, ide, int, interface, lógica, O, on, Ria’s Geral, S+S, UI @ 03 2nd, 2012 | 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 »

Uma grande interface de? usuário? segue? os princípios? de design? de interface? humana que? se baseiam na? forma como as pessoas / usuários pensam e? trabalham, e não? sobre? as capacidades? do? dispositivo.? Uma? interface? de usuário que? é? desinteressante, complicada,? ou? ilógica? pode? até mesmo fazer? uma grande aplicação? parecer? um enorme fardo? de se usar.? Mas? uma? interface, bela, intuitiva e? atraente para o usuário aumenta a? funcionalidade? de um aplicativo e? inspira um? apego? emocional positivo nos usuários. Importante ressaltar na forma como a Apple tem pensado…

Continue Lendo
Fev 29

Lógica de programação com Scratch – Aula 1

Escrito por Elvis Fernandes em 1, 2.0, 2009, 4, 6, Android, aplicacao, app, AR, arte, C#, cheat sheet, CRUD, Desenvolvimento, err, erro, Flex, Flex4, flexreport, for, git, Google, IE, live, Livro, lógica, Mac, NaN, O, on, operadores, permalink, programação, pt, relatório, Relatórios, rest, restfulx, Ria’s Geral, ruby, screen, Screencast, screencasts, tag, Vídeo @ 02 29th, 2012 | via http://www.elvis.eti.br | Sem comentários
Elvis Fernandes
? 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 »

Este é o vídeo que dá início ? série de screencasts para as minhas aulas de lógica de programação utilizando o Scratch.

Veja mais informações sobre a série neste outro post.

Posts relacionados

  • Aulas de lógica de programação usando Scratch“>Aulas de lógica de programação usando Scratch (1)
  • Precedência dos operadores em Ruby“>Precedência dos operadores em Ruby (0)
  • Livro: Google Android“>Livro: Google Android (0)
  • FlexReport com o Flex4!FlexReport with Flex4“>FlexReport com o Flex4!FlexReport with Flex4 (8)
  • CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application“>CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application (2)
  • CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve“>CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve (7)
  • Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos“>Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos (8)
  • GIT Cheat Sheet“>GIT Cheat Sheet (0)
  • Erro “bad line length character” no Git“>Erro “bad line length character” no Git (1)
  • Gerando relatórios com o FlexReport – Parte 3 (Screencast)“>Gerando relatórios com o FlexReport – Parte 3 (Screencast) (56)

© Elvis for Elvis Fernandes, 2012. |
Permalink |
Nenhum comentário |
Adicione ao
del.icio.us


Tags: aula, ensino, lógica, programação, scratch, screencast

Fev 28

Aulas de lógica de programação usando Scratch

Escrito por Elvis Fernandes em 1, 2.0, 2009, 4, 6, Android, Animações, aplicacao, app, AR, arte, AUG, BI, blog, C#, cheat sheet, class, código, CRUD, Curso, Desenvolvimento, Dica, DRE, educacao, err, erro, Flex, Flex4, flexreport, for, git, Google, IE, if, image, int, jogo, Jogos, live, Livro, lógica, Mac, Mate, mg, NaN, O, on, operadores, permalink, programação, pt, relatório, Relatórios, rest, restfulx, RIA, Ria’s Geral, ruby, S+S, screen, Screencast, screencasts, tag, UI, Vídeo, Vídeos @ 02 28th, 2012 | via http://www.elvis.eti.br | Sem comentários
Elvis Fernandes
? 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 »

O Centro Educacional de Pedreira é uma instituição educacional conveniada com o Senai Ary Torres onde eu tive o privilégio de estudar há mais de 10 anos atrás e onde hoje sou professor.

Professores e funcionários na inauguração do mini auditório multimídia

Beneficiado pela flexibilidade da instituição, este semestre as aulas de lógica de programação terão um formato diferente: boa parte do conteúdo será baseada em screencasts – onde os alunos poderão assistir as aulas em casa e aproveitar o tempo na escola para interagir mais com os colegas e o professor.

Essa série de screencasts será publicada no YouTube, e cada novo vídeo será publicado também aqui no meu blog, para que mais pessoas (alunos e/ou professores) possam se beneficiar do material.

A primeira parte do curso será baseada no Scratch, que é uma linguagem de programação aberta e focada no aprendizado de lógica de programação. O Scratch usa e abusa de elementos visuais e para aprender programação utlizando blocos de comando, assim o aluno não se “assusta” ao ter de lidar com numerosas linhas de código para criar um programa. Dessa forma, com pouco tempo e muita criatividade o aluno pode criar desde animações simples até jogos de uma maneira lúdica, enquanto vai absorvendo – mesmo que sem querer – os principais conceitos da lógica de programação.

Veja todos os vídeos da série na categoria Ensino, que estarão disponíveis tão logo estejam prontos.

Bons estudos e boa diversão! :-)

Posts relacionados

  • Precedência dos operadores em Ruby“>Precedência dos operadores em Ruby (0)
  • Livro: Google Android“>Livro: Google Android (0)
  • FlexReport com o Flex4!FlexReport with Flex4“>FlexReport com o Flex4!FlexReport with Flex4 (8)
  • CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application“>CRUD com o RestfulX – aplicação funcionandoCRUD with RestfulX – live application (2)
  • CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve“>CRUD com o RestfulX: Parte 1/2 – RetrieveCRUD with RestfulX: Part 1/2 – Retrieve (7)
  • Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos“>Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos (8)
  • GIT Cheat Sheet“>GIT Cheat Sheet (0)
  • Erro “bad line length character” no Git“>Erro “bad line length character” no Git (1)
  • Gerando relatórios com o FlexReport – Parte 3 (Screencast)“>Gerando relatórios com o FlexReport – Parte 3 (Screencast) (56)

© Elvis for Elvis Fernandes, 2012. |
Permalink |
Nenhum comentário |
Adicione ao
del.icio.us


Tags: educação, lógica, programação, scratch, screencast

Dez 12

O Twitter altera a versão do Tweetdeck para uma webapp?!

Escrito por Erko Bridee em .NET, 1, 2.0, 4, 6, action, Adobe, Adobe Air, Air, api, aplicacao, app, app store, apple, AR, blog, browser, C#, class, cliente, css, Curso, Cursos, demo, Dica, Dicas, event, exemplo, for, html, ide, IE, if, image, int, internet, Links, lógica, Mac, mg, O, on, problema, problemas, RIA, Ria’s Geral, S+S, TAT, Twitter, UI, web, window, windows, Wordpress @ 12 12th, 2011 | via http://blog.erkobridee.com | Sem comentários
Erko Bridee
? 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 »

Eis que na semana passa foi uma loucura a quantidade de posts e pessoas falando da nova vers?o do Tweetdeck “nativa”, para Windows e Mac OS que substituiu a vers?o anterior em Adobe AIR. Os Appletards (man?acos, tarados pela Apple) foram ao del?rio, mas…

http://www.tweetdeck.com/

MacMagazine : Agora o Tweetdeck ? nativo

Tecnoblog: Twitter chuta Adobe AIR para escanteio

Os coment?rios dos tards comemorando o fato s?o hil?rios, perdemos funcionalidades e recursos e eles comemoram por agora a aplica??o ser “nativa”

A minha opini?o:

A perda de funcionalidades foi not?ria…

Perda de funcionalidades = retrocesso

Perdemos: encurtador de links, atualiza??o em real-time dos tuites, o upload de fotos n?o funcionou em nenhuma das minhas frustradas tentativas de uso, ao ficar um periodo sem conectividade a internet o novo aplicativo n?o consegue mais recuperar os tuites. Essas foram os problemas que encontrei nessa nova vers?o.

Vi muita gente elogiando pelo simples fato de (creio eu n?o gostarem d) o Adobe AIR n?o ser a base desde cliente…

Analisando tecnicamente e tecnologicamente o ocorrido:

Temos aqui nada mais que o cliente web: https://web.tweetdeck.com/ empacotada como uma webapp instal?vel no Mac.

Ao analisar o conte?do do pacote TweetDeck (a aplica??o) no Mac, temos /Content/Resources/htdocs todo o c?digo html+js+css da aplica??o a qual pelo que observei a web vem a ser a mesma.

Ainda n?o identifiquei qual solu??o de webapp foi utilizada para gerar o instal?vel, mas tenho a respectiva suspeita em ordem:

1 – Appcelerator Titanium

2 – Mozilla Prims

3 – o Twitter desenvolveu sua propria solu??o de empacotamente da webapp

Caso voc?, assim como eu instalou a nova vers?o e desinstalou a antiga, crendo que a nova manteria as funcionalidades da antiga e se arrependeu, ainda tem como voltar para a vers?o antiga e deixar de usar esse lixo da nova vers?o…

Encontrei:

- um post de outra pessoa que como eu n?o gostou da nova vers?o

- uma outra vers?o antiga do Adobe AIR Market


Veja também:

  • [ Adobe AIR ] Color Browser
  • [ Adobe AIR ] Package Assistant Pro
  • GVT – Power Music Club
  • Adobe AIR – FileSearch
  • [Adobe AIR 2 : NativeProcess] projeto de exemplo : Windows Console
Dez 8

JQuery: Compatibilidade de CSS com utilização de cssHooks.

Escrito por DClick Team em .NET, 1, 2.0, action, api, AR, BI, blog, browser, C#, código, css, css3, custom, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Design, development, Dica, Diversos, efeito, efeitos, err, exemplo, explorer, Ferramenta, filter, for, function, html, IE, if, image, int, internet, Introdução, Java, Javascript, JQuery, lógica, Microsoft, NaN, O, object model, on, Outros, padrão, problema, Projetos, pt, RIA, Ria’s Geral, S+S, Sem categoria, site, TAT, Twitter, UI, Ved, web, XP @ 12 8th, 2011 | 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!


Introdução

Um desafio de todo desenvolvedor html é manter o seu site compatível com todos os browsers ( em especial o Internet Explorer ), devido as limitações e detalhes na implementação de cada um, isso é um fato inegável, e qualquer um que ja tentou um dia desenvolver alguma coisa em html sabe disso.

Em projetos pequenos podemos tomar conta disso sem a necessidade de nenhuma ferramenta extra, entretanto com o? crescimento? do projeto? a tendência ? é que estes trechos de códigos para manter a compatibilidade fiquem tão grande quanto o código do próprio site em si, tornando difícil de manter e etc.

jQuery

Nesta hora é importante conhecer as ferramentas que existem para ajudar o desenvolvimento, e utiliza-las de maneira correta. Uma ferramenta importante no desenvolvimento html é o jQuery.

Para quem não sabe o que é, o jQuery é uma biblioteca javascript que facilita a manipulação do DOM ( Document Object Model ) html, ou seja, facilita a manipulação da sua página html.

Para entender melhor do que este post se trata é necessário ter um conhecimento básico da biblioteca jQuery

Hooks

Muitos dos métodos get e set do jQuery podem ser extendidos para casos especiais, estas extensões são conhecidas como hooks. O namespace $.cssHooks permite extender o método .css(), permitindo criar novas propriedades de CSS.

Os hooks podem ser utilizados como uma solução elegante para a compatibilidade de CSS em diferentes browsers, por exemplo, a propriedade text-shadow do CSS3 não é suportada pelo Internet Explorer, portanto o código abaixo não funcionará no IE:

PLAIN TEXT
JAVASCRIPT:

  1. $(document).ready(function()
  2. $(‘h3′).css(text-shadow: ‘#00ff00′);
  3. });

Este código aplica um glow verde em todos os elementos H3 do documento HTML, porém não funciona no IE.

CSS Hooks

Mas nós podemos criar uma nova propriedade css, e internamente tratar o caso do IE. Vamos chamar a nova propriedade de glowColor:

PLAIN TEXT
JAVASCRIPT:

  1. (function($)
  2. var div = document.createElement(‘div’);
  3. $.support.textShadow = div.style.textShadow === ”;
  4. $.support.filter = div.style.filter === ”;
  5. div = null;
  6. if ($.support.textShadow)
  7. $.cssHooks.glowColor =
  8. set: function(elem, value)
  9. if (value == ‘none’)
  10. elem.style.textShadow = ”;
  11. else
  12. elem.style.textShadow = ’0 0 2px ‘ + value;
  13. }
  14. };
  15. }
  16. else
  17. $.cssHooks.glowColor =
  18. set: function(elem, value)
  19. if (value == ‘none’)
  20. elem.style.filter = ”;
  21. else
  22. elem.style.zoom = 1;
  23. elem.style.filter =
  24. ‘progid:DXImageTransform.Microsoft’ +
  25. ‘.Glow(Strength=2, Color=’ + value + ‘);’;
  26. }
  27. };
  28. }
  29. })(jQuery);

Este código cria uma propriedade dentro do namespace .cssHooks chamada glowColor, esta propriedade possui uma função set específica para o caso do IE e outra para o caso dos outros browsers. A lógica deste código é basicamente, verificar se possui suporte ao textShadow, caso sim,? define? uma função set que altera o atributo elem.style.textShadow com a cor do parâmetro, caso não, define uma função que altera a propriedade elem.style.filter com um filtro especifico utilizando a cor do? parâmetro.

Agora podemos aplicar o efeito através do código

PLAIN TEXT
JAVASCRIPT:

  1. $(document).ready(function()
  2. $(‘h3′).css(glowColor: ‘#00ff00′);
  3. });

Conclusão

O lado bom de criar um cssHook no jQuery para o problema de descrito é que o código que trata a compatibilidade fica oculto do desenvolvedor, ele não precisa se? preocupar? com isso, o foco é no código que? constrói? a pagina unicamente. Esta? estratégia pode ser aplicada para outros diversos efeitos e manipulações, criar uma serie de hooks para tratar este tipo de coisa e etc. O lado ruim no meu ponto de vista é que estamos criando propriedades novas, que são desconhecidas pelos outros desenvolvedores e etc, portanto um novo desenvolvedor iria demorar para aprender todas customizações e suas funções, uma dica é tentar manter os nomes semelhantes ao padrão.

Por @thiagoofelix

Referências

  • Learning jQuery, Third Edition
  • jQuery API
Dez 6

JodaTime – Java Date que funciona!

Escrito por DClick Team em .NET, 1, 2.0, 4, 6, api, AR, bar, BI, blog, C#, camp, class, classe, classes, código, control, Curso, Cursos, Design, Design Pattern, Diversos, Documentação, efeito, err, exemplo, Exemplos, falha, for, Google, Hibernate, html, ide, IE, if, image, int, interface, internet, Java, lógica, map, mg, O, on, online, Opinião, padrão, pattern, print, problema, RIA, Ria’s Geral, S+S, Sem categoria, singleton, string, Sun, TAT, Tema, Teste, try, Twitter, UI, uint, Vários, XP, zend @ 12 6th, 2011 | 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!


JodaTime



Não existe segredo quando se fala da implementação de datas no Java: é ruim de usar. Alguns chegam a dizer que é errado usar inclusive, mas não serei tão extremo.
A API de datas do Java é ruim por vários motivos, como por exemplo, é mal documentada, não é Thread Safe, é difícil de manipular datas, e o comportamento nem sempre é o esperado.
Vamos ver como susbtituir a API de datas que vem Out of the Box no Java, por uma mais efetiva, amigável e confiável: JodaTime.


Lembrando do Calendar



Todo programador Java conhece o Calendar, e sabe que para usá-lo, basta seguir o Design Pattern singleton, ou seja, basta chamar o método de classe em Calendar que devolve a instância única do sistema para o Calendar.


Problema: não funciona.


Não funciona porque se a instância é singleton, e não utiliza threadlocking no código, então não é uma instância ThreadSafe. Logo toda vez que chamamos o getInstance() do Calendar, obtemos uma nova instância. Para ilustrar, crie um teste em JUnit 4 com o seguinte código:

1
2
3
4
5
6
7
Calendar calendar = Calendar.getInstance();

System.out.println(calendar.getTime());

Calendar calendar2 = Calendar.getInstance();

Assert.assertTrue(calendar == calendar2);



Rode o teste e veja a barra do JUnit ficar vermelha. O comparador ‘==’ usado em objetos, compara pelo endereço de memória, o que deveria ser o mesmo se fosse seguido o padrão singleton de verdade.
Pra piorar, todos os métodos que alteram as intâncias do Date estão expostos (por mais que estejam depreciados) para mantêr compatibilidade com versões anteriores da VM. Portanto o Date também não é ThreadSafe, pois não existe controle de concorrência em sua implementação.
Agora vamos deixar o Date e o Calendar de lado, e vamos ao JodaTime.

DateTime



O JodaTime diferencia muito bem os conceitos de data, instante de tempo, período, etc. A classe mais básica (interface no caso) é a ReadableInstant. Não precisa dizer que todas as modelagens de data implementam essa interface, permitindo comparar todos os tipos de modelagem de tempo pontuais. Um período não descreve um único instante ou ponto no tempo, por exemplo.
DateTime é talvez o ReadableInstant mais conhecido, e funciona muito parecido com o Date do Java.
Fatores que tornam o DateTime mais amigável são: é ThreadSafe pois é imutável, é muito bem documentado, e é muto fácil realizar operações com data. Vamos escrever um pouco de código para entender o que se passa.
Comece criando um DateTime. Como no Java, este DateTime criado possui o instante atual do sistema. Em seguida para efeito de teste (o teste pode falhar dependendo de quando for executado), adicione um dia na data criada, e verifique que o novo date aponta para amanhã:

1
2
3
4
5
DateTime date = new DateTime();

date = date.plusDays(1);

Assert.assertEquals(new DateTime().getDayOfYear() + 1, date.getDayOfYear());



Repare que tive que reassociar o date para que ele pudesse ser alterado, afinal DateTime é imutável, o mesmo comportamento que o BinInteger possui. Repare também que pra adicionar um dia, basta chamar plusDays. Este método já se encarrega de fazer toda a lógica de adicionar um dia na data, como por exemplo mudar o mês ou ano se for preciso, por isso se esse teste for rodado no dia 31 de dezembro, ele irá falhar pois o DateTime irá adicionar mais um dia a data, e perceberá que se trata do ano seguinte, e portanto getDayOfYear irá devolver ’1′, e não ’366′ ou ’365′ como esperado.
O JodaTime também trata anos bissestos e horário de verão se for selecionado o fuzo correto.
Existe uma API bem completa em DateTime para manipular todos os campos possíveis da data, sendo assim fica muito mais fácil iterar ao longo dos dias, sem precisar delegar pro Calendar a tarefa, e depois recuperar o resultado.
Não vou abordar muito da API do JodaTime, pois está muito bem documentada e existem muitos exemplos nas internet. O objetivo desse post é tratar do assunto do próximo tópico.

JodaTime e Hibernate



Pior que manipular datas, é persistir datas. Cada banco persiste data do seu próprio jeito, e cada implementação de ORM trata o Date do seu próprio jeito. Mas se você está utilizando o Hibernate, o JodaTime tem uma solução de padronização pra você: JodaTime Hibernate.
Com o JodaTime Hibernate é possível mapear diversos tipos de representação de data em suas classes Java, com ou sem TimeZone, como String ou bigint, como período ou duração, etc.
Para se ter uma idéia do que é possível, basta verificar a documentação online.
E para utiliza é muito fácil. Imagine que você tenha uma entidade com um campo DateTime, que se chama entryDate, portanto temos o getter:

1
2
3
4
@Column(nullable = false)
public DateTime getEntryDate()
return entryDate;



Para tornar este DateTime uma data que é padrão do banco que será utilizado, por exemplo, basta adicionar a seguinte anotação:

1
2
3
4
5
@Column(nullable = false)
@Type(type = “org.joda.time.contrib.hibernate.PersistentDateTime”)
public DateTime getEntryDate()
return entryDate;



Estamos falando para o hibernate utilzar o tipo de coluna descrito pelo PersistentDateTime, e utilizar o mesmo para converter a data novamente para DateTime quando for recuperado.
Caso você esteja fazendo engenharia reversa de algum banco, recomendo ler a descrição de todos os tipo disponíveis pra fazer a melhor escolha.
Com isso conseguimos obter todos os benefícios do JodaTime em nossas entidades, facilitando controlar as datas no domínio de nossas aplicações.


Espero ter despertado sua curiosidade com o JodaTime. Na minha opinião é uma das melhores bibliotecas Java disponíveis, mas não quero falar muito sobre suas funcionalidades, pois um dos pontos mais fortes da biblioteca é a facilidade de se acostumar com ela, e principalmente utilizar todos seus recursos. Quero que vocês tenham um pouco desse gostinho :) .

Por @Gust4v0_H4xx0r

« 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 2795 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