logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Jan 26

RFID irá mudar nossa experiência de compra no mundo Real

Escrito por Igor Musardo em 1, 2.0, 4, 6, Algoritmos, AR, auto, BI, C#, class, dados, demo, Dica, exemplo, for, ide, IE, if, image, int, mg, NaN, O, on, Outros, produto, pt, RIA, Ria’s Geral, S+S, tag, Tecnologia, Tema, UI @ 01 26th, 2012 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? 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 »

Identifica??o por radiofrequ?ncia ou RFID (do ingl?s “Radio-Frequency IDentification” ) ? um m?todo de identifica??o autom?tica atrav?s de sinais de r?dio, recuperando e armazenando dados remotamente atrav?s de dispositivos denominados etiquetas RFID.

Uma etiqueta ou tag RFID ? um transpondedor, pequeno objeto que pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produto, dentre outros. Cont?m chips de sil?cio e antenas que lhe permite responder aos sinais de r?dio enviados por uma base transmissora. Al?m das etiquetas passivas, que respondem ao sinal enviado pela base transmissora, existem ainda as etiquetas semi-passivas e as ativas, dotadas de bateria, que lhes permite enviar o pr?prio sinal. S?o bem mais caras que do que as etiquetas passivas. (Wikip?dia)

Agora imagine um RFID aplicado em um cart?o fidelidade de um Shopping ou uma Loja como a FNAC por exemplo, e atrav?s de um sistema o vendedor com um tablet consiga ter em as ?ltimas compras, o t?cket m?dio, prefer?ncias e outras informa??es adicionais dos consumidores portadores desses cart?es e consiga dar um tratamento totalmente personalizado e pr?-ativo para cada poss?vel comprador.

Com algoritmos de intelig?ncia artificial o sistema poderia identificar se o consumidor estaria disposto ou n?o a comprar naquele momento. Quando a pessoa estivesse marcada como verde no sistema, ela estaria disposta a comprar, e quando vermelho apenas estaria pesquisando. Isso sinalizaria qual a melhor abordagem do vendedor para casa ocasia??o.

Hoje j? temos tecnologia suficiente para aplicarmos esse modelo em nosso dia-a-dia.

Confira o v?deo abaixo que demonstra como seria a aplica??o real desse sistema.

Agora que voc? viu, fica a provoca??o para voc? desenvolver esse sistema.

Jan 3

SharedObject com Flash Media Server

Escrito por Leonardo França em .NET, 1, 2.0, 4, 6, action, Actionscript, ActionScript 3, Actionscript 3.0, Actionscript3, Adobe, Air, Aplicativos, app, AR, BI, botão, browser, C#, class, cliente, código, Cookie, Curso, dados, demo, Download, err, event, EventListener, events, exemplo, Ferramenta, filter, flash, flash media, Flash Media Server, Flash Player, Flex, FMS, function, Geral, git, Google, handle, html, ide, IE, if, image, instalação, int, live, mg, O, on, Outros, Partilha, player, pt, referencia, RIA, Ria’s Geral, RTM, RTMP, S+S, server, servidor, swf, TAT, UI, uint, update, Ved, web, window @ 01 3rd, 2012 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? 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 »

SharedObject é um recurso que dar ao Flash Player a capacidade de salvar dados localmente para poder ser usado posteriormente em sua aplicação, a grosso modo é como um cookie. Com o Flash Media Server, foi introduzido a possibilidade de usar o SharedObject Remote, no qual os dados são salvos no servidor Flash Media Server e compartilhados para todas as instâncias de uma conexão entre o Flash Player e o Flash Media Server. Isso possibilita a criação de aplicativos em real time como Dashboards, chats e o que mais a imaginação permitir.

O uso do SharedObject Remote pode ser usado de duas maneiras em conjunto com o Adobe Flash Media Server.

  • Somente pelo lado cliente, através do Flash Player/AIR
  • Em conjunto com ActionScript Communication, linguagem de servidor do Flash Media Server

Vejamos o primeiro caso:

Através do lado cliente, através do Flash Player/AIR

Caso você não tenha conhecimento para usar a linguagem Server-side do Flash Media Server, é possível utilizar o SharedObject Remote somente pelo ActionScript 3.0. Vamos a um exemplo clássico sharedBall, onde o objetivo é compartilhar as posições da bolinha a atualizar nos outros clientes conectados a mesma instância.

  • Vá até o diretório de instalação do Flash Media Server e procure pela pasta “applications”, lá crie um diretório chamado “sharedBall”, dentro dele um arquivo chamado “main.asc”
  • Abra o main.asc no seu editor de textos de preferencia ou pelo próprio Flash e digite: trace(“sharedBall…”);
  • Vamos testar esse arquivo, abra o console do Flash Media Server, geralmente fica localizado no diretorio de instalação/webrrot/swfs. Você pode abrir pelo browser ou o swf diretamente.
  • Clique no botão “View Applications” e em seguida procure o nome “sharedBall” no combobox logo no canto inferior esquerdo onde está escrito “New Instance…”
  • Selecione “sharedBall” e deveremos ter na aba Live Log algo como na imagem abaixo:

  • No Flash, criei uma bola com as ferramentas de desenho e converti para MovieClip dando o nome de “mc_ball”.
  • Estamos prontos para começar a integração entre o Flash e o Flash Media Server. Crie um layer para o ActionScript e abra o editor apertando F9 ou “Window->Actions”
  • Nosso código começa com a conexão com o servidor Flash Media Server
PLAIN TEXT
ACTIONSCRIPT3:

  1. import flash.net.NetConnection;
  2. import flash.events.NetStatusEvent;
  3. var nc:NetConnection;
  4. function init():void
  5. nc = new NetConnection();
  6. nc.addEventListener(NetStatusEvent.NET_STATUS, handlerNetStatus);
  7. nc.connect(“rtmp://localhost/sharedBall”);
  8. function handlerNetStatus(evt:NetStatusEvent):void
  9. trace(evt.info.code);
  10. init();

Feito isso, podemos testar o swf apertando Ctrl+Enter, se tudo correr bem, deveremos ter a seguinte mensagem no output do Flash:

NetConnection.Connect.Success

Com a conexão feita, podemos instanciar o nosso SharedObject Remote para compartilhar as posições de x e y da bolinha.

PLAIN TEXT
ACTIONSCRIPT3:

  1. if(evt.info.code == “NetConnection.Connect.Success”)
  2. so = SharedObject.getRemote(“so”,nc.uri,false);
  3. so.addEventListener(NetStatusEvent.NET_STATUS, handlerNetStatus);
  4. so.addEventListener(SyncEvent.SYNC, handlerSync);
  5. so.connect(nc);

O handlerSync é responsável por atualizar os dados de x e y pegaremos do SharedObject Remote:

PLAIN TEXT
ACTIONSCRIPT3:

  1. function handlerSync(evt:SyncEvent):void
  2. mc_ball.x = so.data.x;
  3. mc_ball.y = so.data.y;

Daremos a opção de ao clicar na bolinha, que ela possa ser arrastável, em seguida atualizaremos as posições de x e y no SharedObject Remote:

PLAIN TEXT
ACTIONSCRIPT3:

  1. mc_ball.addEventListener(MouseEvent.MOUSE_DOWN, handlerSharedBall);
  2. mc_ball.addEventListener(MouseEvent.MOUSE_UP, handlerSharedBallOut);
  3. function handlerSharedBall(evt:MouseEvent):void
  4. this.addEventListener(Event.ENTER_FRAME, update);
  5. mc_ball.startDrag();
  6. function handlerSharedBallOut(evt:MouseEvent):void
  7. mc_ball.stopDrag();
  8. function update(evt:Event=null):void
  9. so.setProperty(“x”,mc_ball.x);
  10. so.setProperty(“y”,mc_ball.y);

Segue o código completo:

PLAIN TEXT
ACTIONSCRIPT3:

  1. import flash.net.NetConnection;
  2. import flash.events.NetStatusEvent;
  3. import flash.net.SharedObject;
  4. import flash.events.SyncEvent;
  5. import flash.events.MouseEvent;
  6. import flash.events.Event;
  7. var nc:NetConnection;
  8. var so:SharedObject;
  9. function init():void
  10. nc = new NetConnection();
  11. nc.addEventListener(NetStatusEvent.NET_STATUS, handlerNetStatus);
  12. nc.connect(“rtmp://localhost/sharedBall”);
  13. function handlerNetStatus(evt:NetStatusEvent):void
  14. {
  15. trace(evt.info.code);
  16. if(evt.info.code == “NetConnection.Connect.Success”)
  17. so = SharedObject.getRemote(“so”,nc.uri,false);
  18. so.addEventListener(NetStatusEvent.NET_STATUS, handlerNetStatus);
  19. so.addEventListener(SyncEvent.SYNC, handlerSync);
  20. so.connect(nc);
  21. }
  22. function handlerSync(evt:SyncEvent):void
  23. mc_ball.x = so.data.x;
  24. mc_ball.y = so.data.y;
  25. mc_ball.addEventListener(MouseEvent.MOUSE_DOWN, handlerSharedBall);
  26. mc_ball.addEventListener(MouseEvent.MOUSE_UP, handlerSharedBallOut);
  27. function handlerSharedBall(evt:MouseEvent):void
  28. this.addEventListener(Event.ENTER_FRAME, update);
  29. mc_ball.startDrag();
  30. function handlerSharedBallOut(evt:MouseEvent):void
  31. mc_ball.stopDrag();
  32. function update(evt:Event=null):void
  33. so.setProperty(“x”,mc_ball.x);
  34. so.setProperty(“y”,mc_ball.y);
  35. init();

Veja uma demostração em funcionamento:

Download sharedBall

Dez 14

Testes Unitários com JUnit – De volta ao básico

Escrito por DClick Team em 1, 2.0, 4, 6, Air, AR, arte, C#, case, class, classe, classes, cliente, código, comparação, demo, Desenvolvimento, Design, Download, Eclipse, err, erro, exemplo, falha, Ferramenta, Flex, for, framework, Google, ide, IE, if, int, Introdução, Java, NaN, O, on, Opinião, Outros, padrão, Plugin, print, rest, RIA, Ria’s Geral, S+S, Sem categoria, site, string, Sun, super(), TAT, Tema, Teste, Twitter, UI, uint @ 12 14th, 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!

Já que ultimamente estamos falando bastante de testes unitários, principalmente aqui na DClick, vamos revisar uma das ferramentas essenciais para executar essa tarefa: JUnit. Mais especificamente, vamos fazer alguns testes com o JUnit 4.8.1, que pode ser encontrado para download no site do projeto, ou até mesmo no repositório do maven.
A proposta desse post é apresentar a ferramenta para quem ainda não conhece, e relembrar ou até mesmo mostrar algumas funcionalidades muito úteis para nosso dia a dia de desenvolvimento.


Um pouco sobre a nova versão

Nas versões anteriores do JUnit, da 3.* pra baixo para ser mais exato, era necessário criar as classes de testes seguindo uma hierarquia pré-definida do JUnit para que os testes fossem executados. Era necessário extender uma das classes de Test Case do JUnit, e seus métodos precisavam seguir um padrão de nome específico definido pelo framework.
Com a versão 4.* e a introdução ao suporte a Java 5, agora todas as configurações de testes unitários em JUnit são feitas via anotações, o que na minha opinião é muito mais rápido e fácil, tornando muito mais agradável e flexível escrever testes unitários. Agora é possível definir umahierarquia específica para os testes do projeto, podendo abstrair muitas inicializações e padrões do sistema, facilitando o reaproveitamento e aumentando a velocidade de desenvolvimento. Afinal a maior parte do tempo gasto em desenvolvimento é com os testes.
Porém, com anotações, perdemos o acesso direto aos métodos de asserção de valores que as super classes definiam. A solução adotada foi tornar todos esses métodos estáticos e públicos, em uma classe específica para guardá-los: org.junit.Assert.
Pode parecer uma solução não muito elegante do ponto de vista de código, e de fato não é quando consideramos código que será distribuído e deploiado, porém é uma solução que faz total sentido no escopo dos testes unitários, tornando fácil o uso e acesso a tais funcionalidades.

Asserções



Para testar nosso código, o JUnit fornece os métodos de assert. O conceito é muito simples, todo método de asserção recebe um valor que é o correto esperado pelo teste, e o outro valor que é o devolvido pelo seu código. A comparação é executada, e o teste falha caso sejam diferentes e passa caso sejam iguais. Apenas com esse conceito é possível testar todo o código, basta saber quais são os valores que devem ser testados para garantir o funcionamento do código.
A chave para escrever um teste unitário que cobre muito bem o seu código, é colocar as asserções nos valores realmente relevantes ao funcionamento do sistema. Algumas vezes por exemplo, não é preciso testar um valor intermediário gerado pelo código, apenas o resultado final, outras vezes esse valor intermediário gerado é crucial para o resultado final, e portanto deve ser verificado também.
Quando eu menciono ‘valores’, entenda que um valor pode ser qualquer objeto Java, portanto é muito importante implementar o equals e hashcode de seus objetos de resposta que serão testados pelo JUnit.

Exemplo Prático



Vamos criar um exemplo de classe de testes com o JUnit 4 para vermos como funciona na prática a execução de testes unitários.
Se você utiliza o Eclipse, você já possui instalado o plugin de execução de testes do JUnit, caso você não tenha tal plugin, recomendo que instale posi facilita muito a execução e depuração dos testes.
Vamos criar uma classe de testes:

1
2
3
public class JUnitTestCase



Repare que apesar do nome parecer que segue algum padrão, não é necessário que a classe tenha nenhuma dessas palavras em seu nome. Porém esta classe ainda não é uma classe de testes do JUnit. Para torná-la um teste, crie um método da seguinte forma:

1
2
3
4
@Test
public void metodoQualquer()



Repare na anotação org.junit.Test. Essa anotação diz que nosso método ‘metodoQualquer’ é um teste do JUnit. Perceba também que seu retorno é ‘void’ e ele não recebe nenhum argumento. Agora nossa classe é um teste propriamente dito. Simples assim. Vamos adicionar uma asserção agora para ver o funcionamento da mesma. Dentro do método que acabamos de criar, adicione a seguinte chamada:

1
Assert.assertEquals(“2 dividido por 2 deveria ser 1.”, 1, 2 / 2);



Repare que o primeiro argumento do método, é a mensagem que vai aparecer caso o método falhe. Mude o valor obtido (último argumento) para ver a mensagem de erro.
Esse é o básico de execução de testes. Por mais simples que possa parecer, esse é o ponto de partida. Agora existem outras funcionalidades qua ajudam a escrever testes mais complexos, por exemplo, se precisarmos criar um objeto mais complexo para nossos testes, fazemos o seguinte, adicione o seguinte código em nossa classe de testes:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private String stringLocal;

@Before
public void inicializaLocal()
System.out.println(“Inicializou.”);
this.stringLocal = “inicializada”;

@Test
public void testInicializadaLocal1()
Assert.assertEquals(“A String deveria estar inicializada.”, “inicializada”,
this.stringLocal);

@Test
public void testInicializadaLocal2()
Assert.assertEquals(“A String deveria estar inicializada.”, “inicializada”,
this.stringLocal);

@After
public void setaNull()
System.out.println(“Setou nulo.”);
this.stringLocal = null;



Rode o teste e veja o que aparece no console.
Repare que a String é inicializada e setada novamente pra ‘null’ 3 vezes. Isso porque nossa classe possui 3 métodos de testes, e os métodosanotados com @Before rodam sempre antes de todos os métodos de teste. O mesmo vale para os métodos anotados com @After, só que estes rodam depois de executar os métodos de teste.
Só com essas duas anotações é possível criar cenários que estão sempre ‘zerados’ e corretamente incializados para cada teste que será executado em sua classe. Perceba que com isso é possível separa melhor as asserções em suas classes em mais métodos, deixando mais específico e focado cada método de teste.
Porém algumas vezes queremos inicializar algum objeto para o teste todo, sem precisar de algo específico para cada execução. Nesse caso existem duas outras anotações que podem ser úteis. Adicione o seguinte trecho em nossa classe de testes:

1
2
3
4
5
6
7
8
9
@BeforeClass
public static void antesDeTudo()
System.out.println(“Executado Antes.”);

@AfterClass
public static void depoisDeTudo()
System.out.println(“Executado Depois.”);



Só existe um restrição com essa abordagem, e acho que está claro no código qual que é: o escopo dessas chamadas é estático. Repare que os métodos precisam ser estáticos, e portanto as incializações só servirão para propriedades que são estáticas em sua classe de testes.
Essa funcionalidade possui esse comportamento porque o JUnit instancia um novo objeto da sua classe de testes para cada método que será rodado, dessa forma ele garante um melhor isolamento dos testes, tornando-os mais unitários por assim dizer. Dessa forma somente métodos estáticos são garantia de execução antes de todos os outros métodos.
Rode o teste e veja a ordem das mensagens em seu console.

Próximos passos



Essa foi uma introdução muito simples do JUnit e testes unitários. Acho que já passou pela sua cabeça muitas formas de inicializar, integrar e rodar testes em sua aplicação usando JUnit, o que é ótimo, mas ainda existem boas práticas para criar testes assim como existem boas práticas para escrever código, afinal testes são linhas de código também.
O segredo de um bom teste unitário é o quanto ele consegue cobrir do funcionamento do código, sem que seja necessário escrever um teste extremamente detalhado que deixe o código acoplado demais, e não permita muita mudança no código original. Se você investir tempo demais testando TODOS os valores possíveis de suas classes de maneira extremamente detalhada, quando o cliente pedir que um requisito mude, você com certeza vai ter a sensação de trabalho jogado fora, e desânimo por ter que escrever tudo novamente. A idéia é utilizar padrões de design para testes unitários, de forma que se mantenha a cobertura de código no 85%+ e ainda deixe os testes bem flexíveis a mudança. Difícil mas não impossível, e sim, é muito mais difícil e trabalhosos escrever testes realmente bons, do que escrever o código que será testado.

Por @Gust4v0_H4xx0r

Dez 13

[Android] Instalando a MIUI ROM no Motorola Milestone 2

Escrito por Erko Bridee em 1, 2.0, 2009, 3.5, 3g, 4, 6, action, Adobe, Adobe Air, Air, Android, api, Aplicativos, app, AR, back, bar, BI, blog, break, C#, cache, class, Curso, custom, dados, demo, Desenvolvimento, developer, Dica, Dicas, Download, err, fonte, for, game, Google, html, ide, IE, if, image, int, iphone, jandersonfc, Links, lista, lite, loop, Mac, menu, mg, NaN, O, on, oop, PHP, problema, processo, prova, pt, RIA, Ria’s Geral, RoR, S+S, site, TAT, Touch, Tutoriais, Tutorial, tv, Twitter, UI, update, window, windows, zend @ 12 13th, 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 »

Depois de ver o Motorola Milestone 1 do @jandersonfc e do @horochovec rodando a MIUI ROM (Android) e ver que os respectivos aparelhos estavam impressionantemente r?pido, resolvi enfim entrar na onda e atualizar meu Motorola Milestone 2 para a MIUI ROM. Instalei (12/12/2011) a vers?o MIUI-1.12.02 a qual utilizar a vers?o Android 2.3.7 como base.

Site Oficial (vers?o em Ingl?s)

Para atualizar meu Motorola Milestone 2 para a MIUI ROM, tentei seguir o tutorial indicado pelo @plcosta, neste [link], mas confesso que depois de 3 tentativas frustradas desanimei, ent?o pedi uma ajuda para o @horochovec, para usar voltar a ROM original do Milestone 2 e recome?ar o processo de atualiza??o do zero. Finalmente tivemos a id?ia de olhar um tutorial de instala??o do CyanogenMod para o Milestone 2 [link], em resumo bastou seguir os passos indicados necesse tutorial que consegui realizar a instala??o da MIUI ROM no meu Milestone 2.

Realizei uma mescla dos 2 tutoriais para realizar a instala??o…

O que posso dizer, agora que estou usando a MIUI ROM?

Recomendo, quem instalar vai gostar muito.

Quer instalar a MIUI ROM tamb?m?

Caso queira mesmo, a seguir segue algumas instru??es conforme realizei a instala??o.

Aten??o: ? necess?rio lembrar que esse procedimento ? por sua conta e risco.

Obs.: com um pouco de aten??o, voc? tamb?m vai conseguir instalar a MIUI ROM no seu Milestone sem fazer nenhuma besteira.

Voc? tem o Motorola Milestone 1?

Mesmo n?o sendo o meu objetivo aqui, o @horochovec j? vez um [post] no blog dele que descreve os passos para a instala??o. (Sinceramente a instala??o no Milestone 1 me parece bem mais f?cil e r?pida que no Milestone 2 hehe)

N?o est? afim de apanhar como eu na instala??o no seu Milestone 2?

A seguir irei listar o passo a passo que realizei.

Obs.: no meu caso eu utilizo um Mac, ent?o tenha acess?vel um computador com Windows para te facilitar a vida. Se algo der errado n?o se desespere, ? s? voltar a ROM original do aparelho e recome?ar o procedimento para instala??o da nova ROM, para voltar esta ROM original ? que ser? necess?rio o Windows.

O que voc? vai precisar para realizar a instala??o da MIUI ROM

- Gingerbreak – para rootear o celular

- UPDATE_1.12.02_0.zip – MIUI ROM que utilizei e instalei no meu Milestone 2

- Bootmenu v0.8.6-v2.zip – arquivo do menu do boot para voc? conseguir selecionar e instalar a MIUI ROM

- Bootstrap – Droid 2 Bootstrap (Android Market) – necess?rio para acessar o bootmenu

- Rsd Lite – Aplicativo da Motorola para instalar SBF, serve para atualizar o Bootloader do aparelho e caso precise voltar a ROM original do aparelho, voc? ir? utilizar este aplicativo para realizar a tarefa. Lembrando que este aplicativo ? exclusivo e s? possui vers?o para MS. Windows.

Aten??o: sempre que voc? for executar o Rsd Lite para instalar uma SBF, tenho o m?ximo de cuidado, o procedimento deve ser executado e conclu?do 100%, este ? o ?nico procedimento que pode causar a perda irrevers?vel do aparelho.

- SBFs : Bootloader 70.13 e Vers?o original da ROM do Milestone 2 ( vers?o 2.2 Brazil, a primeira linha )

Tenha esses arquivos listados acima no seu computador, para facilitar sua vida =]

Procedimento para instalar a MIUI ROM no Motorola Milestone 2

Caso voc? queira ser cautelos@ e realizar um backup do seu celular, veja este [ link 1 - ROM original | 2 - aplicativos e dados ]. Eu particularmente n?o vi utilidade pr?tica nisto, pois ? tudo ou nada, queria a nova ROM no meu aparelho hehe.

Lembrando que os passos descritos a seguir foram os que eu utilizei na instala??o…

Sempre que for executar esse procedimento, fa?a com a bateria carregada.

Passos:

1 - Copie os arquivos: Gingerbreak.apk, UPDATE_1.12.01_0.zip, Bootmenu v0.8.6-v2.zip para o SD Card do aparelho

1.1 - Caso voc? tenha feito o download do Bootstrap.apk, copie este arquivo tamb?m para o SD Card

2 - Renomeie o arquivo UPDATE_1.12.01_0.zip para update.zip, este procedimento ? para facilitar o processo de instala??o.

3 - Verifique no aparelho, nas configura??es do Android a op??o Aplica??es(Programas) submenu, Desenvolvimento se as op??es, Fontes desconhecidas e Depura??o USB est?o ativas.

4 - Atrav?s do Gerenciador de arquivos localize o arquivo Gingerbreak.apk clique sobre ele e instale. Fa?a o mesmo para o Bootstrap, caso voc? tenha este.

4.1 – Caso tenha optado em n?o baixar este, acesse o Market do Android e instale por l? (Droid 2 Bootstrapper).

4.2 - Execute o aplicativo Gingerbreak, pois ? necess?rio rootear o aparelho para continuar a instala??o. A execu??o desse aplicativo ir? reinicar o aparelho, n?o se preocupe.

5 - Execute o Droid 2 Bootstrapper, neste aplicativo clique:

5.1 - Bootstrap Recovery

5.2 - Reboot Recovery

6 - Seu aparelho ser? reiniciado e exibir? um menu (em verde) com algumas op??es, onde o bot?o (+) do volume sobre, o (-) desce e o bot?o de tirar foto representa (ok/enter)

6.1 - Selecione: “install zip from sdcrad”

6.2 - Localize e selecione o arquivo: Bootmenu v0.8.6-v2.zip e (ok)

6.3 - Ap?s a instala??o, selecione a op??o do menu: “GO Back” (ok)

6.4 - Selecione a op??o: “Reboot System now” (ok)

7 - Seu aparelho ser? reiniciado novamente e exibir? um menu (azul), onde neste os comando para (ok/enter) ? o bot?o onde voc? liga o aparelho (power)

7.1 - Selecione: “Boot” (power)

7.2 - Selecione: “Set default: [boot Menu]“ (power)

7.3 - Selecione: “nomal” (power)

7.4 - Selecione: “Go Back” (power) 2x

7.5 - Selecione: “Recovery” (power)

7.6 - Selecione: “Custom Recovery” (power)

8 - Voc? ver? novas op??es no menu e uma imagem Android BootMenu, neste menu o comando para (ok/enter) ? o bot?o onde voc? liga o aparelho (power)

8.1 - Selecione: “Wipe data/Factory Reset” (power) Nesta op??o todos as informa??es na mem?ria embarcada do aparelho ser?o limpas.

8.2 - Selecione: “advanced” (power)

8.2.1 - Selecione: “Wipe Dalvik Cache” (power)

8.2.2 - Selecione: “Wipe Baterry Stats” (power)

8.2.3 - Volte ao menu anterior

8.3 - Necess?rio repetir o passo 8.1 - Selecione: “Wipe data/Factory Reset” (power)

8.4 - Selecione: “Apply update from sdcard” (power)

8.5 - Ap?s finalizar a instala??o, selecione a op??o: “reboot system now”

9 - Seu aparelho ir? iniciar e exibir o s?mbolo da motorola em vermelho, diferente a ROM default do MotoBlur, nesta etapa ? aguardar e esperar a MIUI ROM ser carregada. (Demorou uns 3 minutos ou 5 minutos at? entrar pela primeira vez)

Estou esperando a um bom tempo e n?o entrou, o que eu fa?o?

Bom caso voc? esteja em desespero vendo seu celular em um loop infinto, dizendo que est? carregando o Android e at? agora nada. N?o se desespere, eu passei por isso 3 vezes at? conseguir instalar a MIUI ROM.

Mantenha a calma.

Nessa situa??o voc? vai precisar do Rsd Lite, um computaor MS. Windows.

Como j? havia indicado para fazer download dos arquivos .sbf, neste momento ? que se faz uso deles.

Passos:

1 - Desligue o aparelho

2 - Ligue o aparelho segurando o bot?o power e a ceta para cima do teclado do Milestone 2

3 - Quando observar que a tela ligou, por?m est? preta, solte os bot?es

Aten??o: m?ximo cuidado nesse momento, mantenha o cabo USB sempre conectado, nunca pare o procedimento, esta etapa ? cr?tica e pode danificar o seu aparelho caso n?o seja executada corretamente.

4 - Verifique e certifique-se de que a vers?o do Bootloader ? a 70.13 (caso voc? nunca instalou nenhuma ROM deve ser)

4.1 - Caso n?o for a vers?o indicada, plugue o cabo usb no celular e no computador e na aplica??o Rsd Lite, selecione o arquivo .sbf referente ao bootloader, depois desligue e ligue novamente para acessar o bootloader.

4.2 - Estando na vers?o correta e com o aparelho ligado via usb, utilizando o Rsd Lite, selecione o arquivo .sbf referente a ROM original do aparelho.

5 - Terminando a instala??o, mantenha o aparelho conectado no computador at? o Android ser carregado totalmente, somente depois disso voc? poder? desconectar o cabo usb.

6 - Voc? est? com seu aparelho de volta ao estado de quando voc? comprou e tirou ele da caixa.

7 - Provavelmente voc? ter? que logar no MotoBlur, execute o seu login at? que acesse totalmente ao Android.

8 - Voltei ao passo 1 do procedimento de instala??o da ROM.

Aeee, acessou a tela da MIUI, ufa… hora de fazer o ajuste fino

Voc? perceber? que estar? com a MIUI em Ingl?s, mas isto n?o ? um problema, basta alterar o idioma para portugu?s.

- Altera o idioma para Portugu?s (Brasileiro) [link]

- A ilumina??o do teclado n?o vem habilitada inicialmente, para arrumar isto, veja este [link]

- Calibrar a bateria do aparelho para um melhor rendimento [link]

- A MIUI n?o vem com um teclado Swype, ent?o instalei: TouchPal Keyboard e o dicion?rio para Portugu?s Brasileiro

Um grande vil?o do consumo de bateria ? o 3G no aparelho que fica ativo 100% do tempo desde que este esteja habilitado, para resolver isso instalei o aplicativo APN Brasil Pro (Android Market), que possui um recurso que melhora o gerenciamento do 3G e ajuda consideravelmente a aumentar o tempo de vida da bateria do aparelho.

Deixo registrado aqui meus agredimentos a galera que me ajudou com dicas e links e informo que esses passos que descrevi foi uma mescla dos posts:

- @ajudandroid – MIUI VERS?O 1.11.18 “ATUALIZADA PARA VERS?O 1.12.02 04/12/2011

- Clube do Android – CyanogenMod 7 Android 2.3.5 para Milestone 2


Veja também:

  • Google Nexus Two
  • [ Adobe AIR ] Package Assistant Pro
  • Adobe AIR – Empacotador para iPhone OS + demos
  • [Android Game] Angry Birds : acessando níveis travados
  • Segundo comercial DROID da Verizon : stealth ataca EUA
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 10

Como evitar fraudes em minha loja virtual?

Escrito por Igor Musardo em .NET, 1, 2.0, 4, 6, AR, auto, back, BI, C#, camp, class, cliente, consultoria, control, dados, demo, Dica, Dicas, email, empresas, err, exemplo, Exemplos, Ferramenta, fonte, for, game, git, html, ide, IE, if, image, int, internet, mg, moip, O, on, on-line, online, pagamento, pagSeguro, problema, processo, procura, prova, pt, RIA, Ria’s Geral, S+S, Segurança, serviço, Serviços, site, TAT, Tema, UI, uint @ 12 10th, 2011 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? 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 »

Voc? sabia que em m?dia 9 entre cada 10 novas lojas virtuais deixam de existir no primeiro ano de vida? E que em sua grande maioria devido as fraudes on-line.

As grandes causas de fraudes sofridas pelo comercio eletr?nico est?o, de um lado a escassa seguran?a e as limita??es dos meios de pagamento e de outro a grande dificuldade pr?tica em verificar e garantir a identidade do cliente/comprador.

Compras com cart?es de cr?dito fraudulentos.

compra-online-seguraNeste caso o comprador golpistas aproveita os dados de um cart?o de cr?dito que foi clonado ou roubado ou cujos dados estejam dispon?veis por alguma raz?o (muitas vezes basta um xerox frente e verso), se passando pelo titular do mesmo e realizando a compra em nome dele. Alguns golpistas mais sofisticados procuram ter um cadastro completo do verdadeiro titular do cart?o de forma a estar pronto em caso de liga??o.

Como enfrentar as fraudes?

Existem basicamente duas alternativas para enfrentar o problema das fraudes no com?rcio eletr?nico.

Terceirizar a transa??o eletr?nica

Terceirizar para empresas de meios de pagamento pois est?o estruturadas para garantir a seguran?a nas transa??es.

Alguns exemplos de empresas deste tipo (para o Brasil) s?o os seguintes:

• http://www.pagseguro.com.br
• http://www.moip.com.br
• http://www.braspag.com.br
• http://www.ipagare.com.br

Realizar a transa??o eletr?nica na pr?pria estrutura da empresa

comprarCaso escolha criar uma estrutura de verifica??o interna, vale levar em conta os seguintes fatores e dicas.

O ponto principal ? a valida??o da identidade do cliente, e conseq?entemente de seus meios de pagamento. Para isso voc? pode utilizar usadas ferramentas e fontes de valida??o de cadastro, tal qual Zip Code. Os dados solicitados no cadastro devem ser escolhidos com base nas necessidades do neg?cio. O uso de ferramentas autom?ticas de scoring ou de detec??o de ind?cios de fraudes ? muito recomend?vel.

? ?til, quando poss?vel, utilizar ferramentas de an?lise de risco e preven??o de fraudes ou ainda sistemas de scoring automaticos ou n?o.

Solicitar c?pias de determinados documentos ou comprovantes por fax ou email pode ser uma ?tima alternativa para alguns tipos de neg?cios. Uma longa demora no envio dos documentos ? sinal de suspeita.

Em caso de suspeita de fraude poder?o ser realizadas entre outras, as seguintes verifica??es:

  • Valida??o do nome do cliente em rela??o ao CPF/CNPJ junto ao site da Receita Federal.
  • Valida??o de dados do cliente junto a sistemas de prote??o ao credito (SPC, Serasa…).
  • Valida??o do BIN do cart?o de credito (que indica qual o banco emissor do mesmo e ? representado normalmente entre os primeiros 6 d?gitos do n?mero) que pode ser comparado com um campo solicitado no cadastro ou atrav?s de perguntas por telefone. Esta valida??o pode normalmente ser realizada atrav?s dos sites das operadoras dos cart?es.

Ferramentas de preven??o de fraudes

Automatize o processo de verifica??o e preven??o de fraudes em seu ecommerce atrav?s dessas ferramentas:

crivo

fcontrol

clearsale
http://www.crivo.com.br http://www.fcontrol.com.br

http://www.clearsale.com.br

L?gico que o melhor caminho sem d?vida ? quando sua empresa mescla a utiliza??o de v?rias formas e t?cnicas de verifica??es e valida??es dos compradores e suas compras em tempo real para identificar e previnir o preju?zo com fraudes no ecommerce.

E a sua empresa como trabalha para previnir as fraudes? Comente logo abaixo.

Sua empresa n?o utiliza nenhuma forma de preven??o contra fraudes? Entre em contato comigo.

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 3

O que é Behavioral Targeting?

Escrito por Igor Musardo em .NET, 1, 2.0, 6, AR, Banco de Dados, Behavior, BI, busca, C#, camp, campanha, class, consultoria, dados, demo, err, Ferramenta, for, ide, IE, if, image, int, internet, Mercado, mg, novidade, O, on, online, player, portal, processo, procura, produto, pt, RIA, Ria’s Geral, S+S, Sun, tag, TAT, UI, web, XP, zend @ 12 3rd, 2011 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? 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 in?cio

O conceito de segmenta??o comportamental, conhecido como Behavioral Targeting (BT), surgiu nos Estados Unidos dentre os profissionais de marketing direto como uma estrat?gia dirigida a conquistar uma parcela maior de vendas dentro um subgrupo espec?fico, ao inv?s de buscar uma participa??o mais limitada de compras por usu?rios de todas as categorias.

Em seguida surgiram as primeiras estrat?gias de Behavioral Targeting na internet, mas a imaturidade do mercado fez com que o assunto ficasse esquecido.

Atualmente a necessidade crescente de otimizar esfor?os de m?dia, aumentar o ROI de campanhas e a lealdade do consumidor est?o estimulando o crescimento de a??es dentro do Behavioral Targeting, que hoje j? ? um grande diferencial para portais e anunciantes, mas pouco explorado pelas lojas virtuais.

Mas afinal, o que ? segmenta??o “comportamental”?

Segmenta??o comportalmental n?o diz respeito ? aquela segmenta??o por regi?o, por perfil preenchido em cadastros, ou por IP, etc. O diferencial est? no foco dado aos h?bitos de navega??o e consumo dos usu?rios. Essa ? a novidade!

N?o h? invas?o de privacidade nesse tipo de estrat?gia. Muito pelo contr?rio. Os usu?rios deixam “rastros” ao navegar na web. Essas informa??es captadas geram um banco de dados an?nimo contendo centenas de vari?veis. A intelig?ncia est? na interpreta??o dessas informa??es e no agrupamento dos perfis de acordo com suas similaridades.

Qual ? a vantagem em se utilizar BT em campanhas online?

Individualizar o p?blico-alvo. O simples fato de conhecer previamente as atitudes de um usu?rio permite que o anunciante crie pe?as com linguagem direcionada a ele, demonstrando conhecimento de seus interesses.

Imagine que voc?, como consumidor, est? no processo de escolher um notebook. Compara pre?os, funcionalidades e ainda indeciso. Em algum momento, ao clicar em um portal qualquer para ler uma not?cia, se depara com um banner dizendo “Vai continuar procurando um Notebook a vida inteira? O Ponto Bahia resolveu te dar uma forcinha: 25% de desconto, mas ? s? pra voc?. Compre agora!“.
Essa segmenta??o ? boa para o anunciante, que pode fazer render mais seus investimentos em m?dia online aumentando o ROI, j? que poder? direcionar suas verbas diretamente para o p?blico-alvo, sem dispers?o de dinheiro.
Os ve?culos tamb?m lucram com essa ferramenta, que amplia seu invent?rio publicit?rio e aumenta o interesse na veicula??o em ?reas ainda pouco exploradas.
Como consequ?ncia de exibir an?ncios direcionados para o p?blico alvo, as taxa de cliques de uma campanha aumentam consideravelmente, pois atinge um p?blico realmente interessado no produto.
Essa modalidade de marketing ? muito explorada nos Estados Unidos, mas no Brasil apenas os grandes players de ecommerce utilizam, havendo uma grande oportunidades para os lojistas virtuais de m?dio e pequeno porte.
Sua loja n?o colhe os benef?cios de sugerir produtos utilizando segmenta??o comportamental? Entre em contato comigo.

Nov 25

Voltando ao mundo HTML+JS e agora?

Escrito por Erko Bridee em 1, 2.0, 2009, 3d, 4, 6, action, Adobe, Adobe Flex, Air, api, aplicacao, app, AR, Arquitetura, auto, back, BI, blog, browser, C#, chrome, css, css3, Curso, Cursos, dados, demo, Desenvolvimento, Design, Dica, err, Excel, firefox, flash, Flex, fonte, fonts, for, git, Google, html, html5, ide, IE, if, int, Java, Javascript, JQuery, layout, Linux, Livro, Mate, Mercado, mg, mvc, NaN, novidade, Novidades, O, on, Pessoal, Projetos, pt, RIA, Ria’s Geral, S+S, tag, TAT, Tema, Twitter, UI, UX, vs, web, web design, XP @ 11 25th, 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 »

N?o adianta chorar o leite derramado, depois que a Adobe lan?ou as ?ltimas not?cias vemos que o mercado indo de vez para o HTML5 e n?o adianta reclamar, daqui para frente mais projetos ir?o demandar conhecimentos em HTML5 (novas tags), Javascript e sobre as novidades do CSS3.

Voltando ao mundo HTML teremos que voltar inevit?velmente ao uso do Javascript, mas ao menos a boa not?cia hoje ? que diferente de anos atr?s temos dispon?veis boas bibliotecas javascript para nos ajudar na dif?cil tarefa de fazer uma aplica??o (que tente) funcionar em todos os principais web browsers do mercado (Google Chrome, Mozilla Firefox e o tem?vel IE)

Quanto ao Javascript, hoje pelo que tenho visto ? quase imposs?vel se falar em javascript sem associar ao JQuery, que ajuda muito a criar um c?digo mais limpo e organizado e at? podemos dizer, sofrer menos com o uso do javascript.

Sobre Javascript e JQuery recomendo os respectivos materiais para observar:

The JQuery Essentials

Aos que ficaram interessados pelo JQuery o @bielversallini mandou uma dica muito boa de curso web de JQuery, o jQuery Air, tamb?m jQuery Fundamentals e Livro fundamentos de jQuery 100% traduzido para pt-BR

jQuery Proven Performance Tips & Tricks, 2011

Confesso que desanimei ao ver esta apresenta??o, pois basicamente todos os recursos que gostei no JQuery s?o os mais lentos e recomendados para que n?o sejam usados a menos que n?o haja outra alternativa ou extremamente necess?rios.

jQuery & Responsive Web Design

Excelente dica de como projetar uma p?gina/sistema que se adeque as dimens?es dispon?veis (por alguns este recurso ? chamado de layout fuido/adaptativo). Como estou falando sobre layout recomendo olhar tambem o Knockout.js que possui recursos interessantes para auxiliar na defini??o da view.

Agora para falar a verdade mesmo o melhor material sobre desenvolvimento HTML+JS que vi que o autor foi real e sincero sobre o tema ? o respectivo abaixo:

Taking JavaScript Seriously (feat. Backbone.js)

Como ? dito nos slides, o javascript n?o ? a melhor linguagem do mercado, ela foi escrita em 10 dias, possui muitas defici?ncias, mas temos que aprender pois n?o temos nenhuma outra op??o.

Outro detalhe que me chamou aten??o e achei muito ?til foi a apresenta??o do Backbone.js como uma alternativa para suprir a necessidade de organizar o c?digo em algo que tenta ser o mais pr?ximo poss?vel do MVC.

Mas e sobre arquitetura aplica??es de larga escala? Bom recomendo observar este material abaixo, o qual indica as boas prat?cas de mercado e atuais recursos dispon?veis:

Large-scale JavaScript Application Architecture

Cheguei at? esta apresenta??o atrav?s deste post.

Aten??o este texto a seguir expressa minha oponi?o pessoal

Sinceramente esta apresenta??o foi o santo gral da agonia, pois para mim se trata de uma regress?o tecnol?gica brutal, irei mudar esta minha opini?o no dia em que, eu consiga ter uma arquitetura com um mesmo n?vel que possuo hoje com Adobe Flex + Swiz, como a descrevi neste post, quando este dia chegar (se ? que vai) irei dizer que podemos ent?o come?ar a pensar em utilizar o HTML+JS para solu??es corporativas.

E vamos a luta, retornando ao velho mundo do HTML, por alguns chamados de revolucion?rio mundo do HTML5…

Tweet

Veja também:

  • [Canvas vs. Flash] Butterfly 3D (Canvas + JavaScript)
  • [Adobe Flex] Definindo o foco na aplicação
  • Moto elétrica da Mavizen atinge 210 Km/h e vem equipada com Linux e WiFi
  • Elly Tran Ha, sexy blogger do Vietnã
  • FontStruct : precisa de uma fonte diferente?
Nov 13

AMFRestfull: Back-end REST com saidas XML, JSON e AMF

Escrito por Mario Junior em 1, 2.0, Adobe Flex, AMF, AR, Arquitetura, back, blog, C#, cliente, demo, flash, Flex, html, IE, Java, novidade, O, on, Pessoal, pt, rest, Ria’s Geral, S+S, screen, Screencast, serviço, Serviços, site, UI, XML @ 11 13th, 2011 | via http://blog.mariojunior.com | Sem comentários
Mario Junior
? 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 »

Fala pessoal! Fiz um screencast no Blog da DClick onde eu demonstro uma arquitetura de serviços RestFull simples com saídas em XML, JSON e – a novidade – AMF para clientes Flex/Flash.
A idéia é construir um back-end híbrido que sirva tanto a front-ends HTML/JS quanto front-ends Flash/Flex.

Visitem o link aqui:
http://blog.dclick.com.br/2011/11/13/amfrestfull-um-back-end-para-qualquer-front-end/pt/

Abraços!

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