No início do ano a DClick precisou tomar uma decisão importante: com toda esta mudança no mercado precisávamos refazer o Holmes em HTML 5. Como tecnologia não é o problema, mas sim a solução, nosso time de produtos não só refez o produto inteiro em 3 meses, como também foi capaz de deixar o Holmes…
O novo Holmes faz mágica
Interação com Kinect
Interação com Kinect
A tecnologia está cada vez mais natural e intuitiva. As pessoas já usam o gesto e a fala para interagir com seus PCs e dispositivos; tais formas naturais de interagir com as tecnologias tornam mais fácil para aprender a operá-los. Neste contexto, trouxemos para a aula de robótica educacional, um sensor que é baseado na linguagem de interface de usuário natural, conhecido como Kinect. O Kinect é um sensor desenvolvido pela empresa Microsoft e a Prime Sense… continue lendo …
Server-Side ActionScript no Flash Media Server
Poucos sabem mas o Flash Media Server(versão Interactive) possui uma linguagem de servidor chamada Server-Side ActionScript ou ActionScript Communications(extensão .asc). O que permite recurso poderosos em seus aplicativos multimídia muito além de um simples streaming.
Server-Side ActionScript é o nome que Adobe deu para o JavaScript 1.5, o Flash Media Server possui uma engine de JavaScript para compilar e executar os scripts.
O Server-Side ActionScript é parecido mas não idêntico ao ActionScript 1.0, mas ambos são baseado no ECMAScript(ECMA-262) edition 3 language specification. O Server-Side ActionScript roda sob a engine SpiderMonkey da Mozilla que consta no Flash Media Server enquanto que o ActionScript 1.0 roda sob o AVM1(ActionScript Virtual Machine 1) no Adobe Flash Player. O SpiderMonkey implementa o totalmente o ECMAScript enquanto que a AVM1 do Flash Player não. A grande diferença entre os dois é que o Server-Side ActionScript é case-sensitive.
Portanto para quem já tem conhecimento de JavaScript, pode reaproveita-lo para usar no Flash Media Server, é possível utilizar a maioria dos recursos e ainda contar com os recursos exclusivos do Flash Media Server.
Vamos os primeiros passos para utilizar o Server-Side ActionScript no Flash Media Server. Uma maneira de testar seus scripts é usando o fms_console localizado no caminho:
INSTALATION FOLDERAdobeFlash Media Server 4.5webrootswfsfms_adminConsole.swf
Se você tiver o Adobe Flash Professional, pode abrir esse arquivo diretamente apenas dando dois cliques, caso contrario, abra pelo navegador. Ao ser aberto, devemos ter uma tela como essa:
Basta entrar com o login e senha que você determinou no momento em que estava instalando o Flash Media Server que deveremos entrar para a seguinte tela:
Esse será seu melhor amigo ao desenvolver aplicativos com Flash/Flex e Flash Media Server. Por padrão, o Flash Media Server lê o seguinte diretorio:
INSTALATION FOLDERAdobeFlash Media Server 4.5applications
Esse caminho pode ser configurado modificando a linha “VHOST.APPSDIR” no seguinte arquivo:
INSTALATION FOLDERAdobeFlash Media Server 4.5conffms.ini
Criaremos um diretorio chamado “teste”, e dentro dele um arquivo chamando “main.asc” com o seguinte conteúdo:
-
// ActionScript Communications Document
-
trace(“init app…”);
Agora no console, carregaremos nossa aplicação criando uma nova instância dela selecionando no combobox:

Na tela seguinte, basta dar um “enter”.

Deveremos ter o resultado do nosso trace na caixa de texto como na imagem:
Uma recomendação que faço é que você limpe a tela antes de executar novamente o script main.asc, basta clicar no botão Clear Log(1) e depois em Reload Application(2):

Alguns exemplos do que pode ser usado com o Server-Side ActionScript
Constantes
-
// ActionScript Communications Document
-
trace(“init app…”);
-
const PI = 3.14;
-
trace(PI);
Expressões Regulares
-
// ActionScript Communications Document
-
trace(“init app…”);
-
myRe = /d(b+)d/g;
-
myArray = myRe.exec(“cdbbdbsbz”);
-
trace(myArray);
Funções
-
// ActionScript Communications Document
-
trace(“init app…”);
-
function teste()
-
-
return “to na funcao o/”;
-
-
trace(teste());
-
-
function factorial(n)
-
-
if ((n == 0)
-
}
-
trace(factorial(5));
Objetos
-
// ActionScript Communications Document
-
trace(“init app…”);
-
var obj = id:“teste”,data:2,status:“ONLINE”,type:“admin”
-
trace(obj);
-
for(s in obj)
-
-
trace(s +” – “+obj[s]);
-
Array
-
// ActionScript Communications Document
-
trace(“init app…”);
-
var arr = ["leo", "carol", "pam", "perla","carlinha"];
-
trace(arr);
-
function removeValueFromArray(arr, value)
-
-
var len = arr.length;
-
-
for(var i = len; i> -1; i–)
-
-
if(arr[i] === value)
-
-
arr.splice(i, 1);
-
-
}
-
return arr;
-
}
-
trace(removeValueFromArray(arr,“pam”));
Aviso importante, use esses recursos SOMENTE em ambiente de desenvolvimento. Em ambiente de produção, você derrubará todo mundo que estiver conectado ? sua aplicação.
![]()
Referência:
Documentação do Adobe Flash Media Server
Esses dias realizando alguns exerc?cios matem?ticos e algoritmos em python me deparei com um que me solicitou:
Implementar uma fun??o que retorne verdadeiro se o n?mero for primo (falso caso contr?rio). Testar de 1 a 100.
Bom primeira coisa que fiz foi pensar em dividir esta atividade em 2 fun??es, uma para realizar a intera??o dos n?meros e dentro chamar outra fun??o para validar um respectivo n?mero solicitado, sendo o retorno dessa fun??o Verdadeiro (? um n?mero primo) ou Falso (n?o ? um n?mero primo)
Sabendo que os n?meros primos possuem a regra que os definem:
Um n?mero primo ? aquele que ? divis?vel por apenas 2 n?meros, 1 e por ele mesmo. Sabe-se tamb?m que o n?mero 1, n?o ? primo pois possui apenas um ?nico divisor. O ?nico n?mero par que ? primo ? o n?mero 2.
Tendo em mente o conhecimento geral sobre os n?meros primos, implementei 2 vers?es de valida??o de n?mero primo, a primeira vers?o uma varredura, dentro do universo dos n?meros ?mpares (verificaNumeroPrimoV1), inicialmente sem nenhuma otimiza??o, por?m ap?s algumas leituras evolu? at? a situa??o que ser? apresentada a seguir. Tamb?m implementei uma segunda vers?o de valida??o dos n?meros primos dentro do universo de n?meros ?mpares (verificaNumeroPrimoV2), onde neste realizado uma valida??o verificando se o resto da divis?o ? zero e o divisor ? diferente do n?mero a ser validado, o que define que o n?mero n?o ? primo, e uma segunda checagem que valida se o Quociente da divis?o ? menou ou igual ao divisor, o que define que este n?mero ? um n?mero primo.
Como comentei, ap?s algumas leituras realizei umas otimiza??es, dentre elas:
- delimitei a valida??o at? a ra?z quadrada do n?mero a ser validado
- verifica??o se o n?mero possu? ra?z quadrada, o que define que n?o ? um n?mero primo
- valida??o se o quociente da divis?o do pr?ximo n?mero ?mpar ap?s a ra?z quadrada do n?mero ? inferior ou igual ao divisor, o que define que o n?mero validado ? primo.
Com essas otimiza??es obtive o respectivo algoritmo:
Link do arquivo raw, no final do arquivo, tem um array com os n?meros primos encontrados de 1 a 100000
Links de refer?ncia:
- Como identificar se um n?mero ? primo ou n?o? (verifica??o do quociente da divis?o)
Veja também:
A nova logo do Apache Flex foi escolhida no final de janeiro. O número de inscrições recebidas pela comunidade foi impressionante. O concurso recebeu um total de 54 inscrições, incluindo agências e pessoas individuais, alguns até mandaram mais de uma logo e teve até sugestão de mascote para o Flex.
Dentre todas, foram para a final a logo de Adrian’s (#42) e Julien’s (#49) design
see more in Apache Flex Blog
Ontem resolvendo um dos desafios do site http://www.rankk.org/ me deparei com a seguinte quest?o:
Sabendo que para passar da primeira fase ? necess?rio resolver 9 desafios de um total de 60, quantas combina??es de resolu??o de 9 quest?es s?o poss?veis, n?o considerando a ordem na qual ser?o resolvidas?
Observei que se tratava de uma quest?o matem?tica de combina??o, com isso, inicialmente resolvi o c?lculo de maneira tradicional, depois resolvi criar o respectivo algoritmo abaixo, onde defini uma fun??o em python para realizar o c?lculo fatorial, com a possibilidade de definir um limite, o que me era necess?rio para codificar o algoritmo do c?lculo de combina??o.
Segue links sobre Fatorial e Combina??o.
Veja também:
Curiosidades sobre loops no Python
Atualmente tenho estudando Python devido a sua facilidade de implementa??o e me possibilitar codificar alguns algoritmos r?pidos, nessas brincadeiras me deparei com uma situa??o interessante, observei que a forma de trabalhar com loops no python, principalmente o for ? diferente do que estava acostumado no C e no Java…
1 | for( int i = 0; i < length; i++ ) ... |
segue o teste abaixo que fiz umas brincadeiras que me ajudaram a compreender como conseguir fazer algo como este for antigo, para os casos em que eu queira, por algum motivo, o ?ndice da intera??o…
Na documenta??o do Python, tem muito mais coisas legais, al?m de ser bem f?cil de compreender, com bastante exemplos de c?digo : Control Flow
Veja também:
Já está aberta a venda do livro jQuery Mobile na Prática. Por apenas R$ 10,00, você terá a chance de conhecer este framework do melhor jeito possível, através de exemplos práticos!
O lançamento ocorrerá no dia 27/02.
Muitas surpresas estão por vir, aguarde!
http://www.danielschmitz.com.br/jquery-mobile-na-pratica.html
Veja o suporte dos browsers às novidades de html5, css3 e javascript
Hoje eu reencontrei um site muito útil que eu já havia visto algum tempo atrás mas havia perdido o link. O site se chama “When can I use…” e contém diversas tabelas comparativas mostrando o suporte dos principais browsers ? s novidades de CSS, HTML5, SVG, Javascript e outros.

Clicando nos links das funcionalidades é possível ver as tabelas comparativas de suporte dos browsers e também é possível mudar os filtros para exibir outras funcionalidades.
As tabelas de comparação contam também com alguns browsers de smartphone, mas o Windows Phone não consta na lista (tem apenas iOS, Android, Opera Mini e Opera Mobile). Mas isso não é um problema pois o IE do Windows Phone usa a mesma engine de renderização do desktop, com a única diferença de que não suporta plug-ins, então basta olhar a versão do IE normal na lista para ver se suporta a funcionalidade desejada. O IE do Windows Phone 7.0 (versão lançada na Europa e EUA em 2010) usa a engine do IE 7 e o Windows Phone 7.1 (Mango, lançado em 2011, inclusive no Brasil) usa a engine do IE 9.

Se você estiver trabalhando em um projeto usando HTML5, este site com certeza será muito útil para ajudar a identificar os pontos críticos do projeto do ponto de vista de suporte e portabilidade entre plataformas.
Mac OS X do Snow para o Lion… lentidão
Um post r?pido para compartilhar algo que pode ser ?til a mais algu?m…
Recentemente fiz o upgrade do meu Macbook Pro do Mac OS X Snow Leopard para o Lion, depois de todas as atualiza??es de software, no uso do dia a dia notei que o Lion estava absurdamente lento, Google Chrome, Mozilla Firefox, o Eclipse (esse estava de chorar e desanimador de t?o lento que estava)
Lendo os blogs, achei 2 dicas que resolveram o problema:
1 – Verificar e reparar as permiss?es de acesso ao HD
Caminho: Finder > Applications > Utilities > Disk Utility
Selecionar o drive que representa o Mac, depois clicar no bot?o: Verify Disk Permissions, esperar finalizar e depois no bot?o: Repair DIsk Permissions
Link do post com as dicas: Speed up Mac OS X Lion
Desde post tamb?m revisei as configura??es do Spotlight.
2 – Limpar os caches
Abrir o Finder > Menu: Go > Go Folder | ou executar o atalho: Shift + Command + G
Digite: ~/Library/Caches
Apague o conte?do deste diret?rio
Caso n?o tenha total seguran?a se deve apagar todos os arquivos e diret?rios, fa?a um backup, copiando o conte?do da pasta para outro diret?rio. Obs.: esse passo n?o ? necess?rio, mas caso queria alguma garantia de o que fazer se algo der errado ter? as c?pias.
Aten??o: alguns diret?rios e arquivos n?o ser?o exclu?dos pois est?o em execu??o, por exemplo, cache referente ao Finder e a alguns outros aplicativos do Mac OS X.
Reinicie seu Mac.
Link do post com a dica: OSX Lion – Clear your caches!
Feito estes procedimentos, os aplicativos e o Mac OS X Lion passou a ter uma performance e resposta aceit?vel, assim como tinha no Mac OS X Snow Leopard.













