Archive for março, 2010

Expressões regulares Flex

Olá, hoje vou dar uma dica sobre expressões regulares no flex. É comum acontecer a necessidade de se executar uma substituição em um texto, no caso do flex usamos o replace para fazer isto ex: 

meuTexto.replace ([, “”);

O código acima acha o primeiro conchete do texto e substitui por vazio, esta é uma forma de retirar o conchete de um texto. Mas digamos que temos mais de um conchete no nosso texto, então teriamos que repetir o replace várias vezes ? É ai que entra a expressão regular para achar todos os conchetes do texto.

Para criar uma expressão regular usamos a classe RegExp ela recebe um valor ex:

var expressao:RegExp = /\[/g; 

A primeira barra é o inicio da expressão, a barra invertida a seguir é para que a expressão reconheça o conchete como um texto, não como um carecter especial da expressão, logo depois temos o caracter que desejamos retirar no caso o [, e a /g diz a expressão para procurar por todo o texto.

Pronto agora vamos ao exemplo de como utilizar a expressão acima.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
  creationComplete="init();">
<mx:Script>
  <![CDATA[
  
    private function init():void{
      var texto:String = "[teste] [de] [retirada] [de] [conchetes]";
      //Atenção para utilizar o trace rode o projeto em modo debug, 
      //ao fim da execução olhe na janela console, lá estará a impressão do texto
      trace(retiraConchetes(texto));
    }
  
    private function retiraConchetes(str:String):String{
      //  retira o [  
      var expressao:RegExp = /\[/g;  
      str = str.replace(expressao, "");
      
      //  retira o ]  
      expressao = /\]/g;  
      str = str.replace(expressao, "");
      
      return str;
    }
  ]]>
</mx:Script>
</mx:Application>

No exemplo acima usamos a expressão criada no replace para que ela encontre todos os conchetes.

Abraços e até à próxima

Evento Realizado em Franca - Comunidade DevFranca e a Copa Microsoft

Agradecemos aos palestrantes Sr. Rodrigo Lopes e Sr.Fernando Andreazi, a equipe da DevFranca, Unifran e todas as 160 pessoas aproximadamente que passaram pelo evento de sábado 20/03/2010 na Universidade de Franca.

Onde foram apresentadadas as palestras de Windows Server 2008 R2 e o SCCM2007R2.
Como prometido os contados e fotos da palestra.
Fotos
http://fernandoandreazi.spaces.live.com/
http://rodrigollopes.spaces.live.com/

Abraços e até a próxima…….

Migrar dados de tabelas usando cursor no SQL Server

Olá! Hoje venho com um exemplo para aqueles que já precisaram migrar seus dados de uma tabela para outra. Uma das formas de se fazer isto e usando um cursor, a lógica é simples, ele irá rodar em um tabela e em cada loop do cursor serão inserido os dados em outra tabela. Vamos ao código:

  --declara variaveis para pegar valores dos campos  
  DECLARE @V_Campo1 bigint;
  DECLARE @V_Campo2 nvarchar(80);
  DECLARE @V_Campo3 nvarchar(256);


  --Declara o cursor, é já executa o select para preenche-lo
  DECLARE C_MeuCursor CURSOR FOR
  SELECT
    Campo1,
    Campo2,
    Campo3
  FROM
    MinhaTabelaOrigem;


  --Abre o cursor
  OPEN C_MeuCursor;

  --Pega os dados do select, note que os dados são pegos na mesma ordem do select.
  FETCH NEXT FROM C_MeuCursor INTO
    @V_Campo1,
    @V_Campo2,
    @V_Campo3;

  --Executa o loop enquanto houver registros
  WHILE (@@fetch_status = 0)
    BEGIN

    --em cada loop insere na tabela de destino as variaveis que foram carregadas pelo cursor.
    --Note que aqui deverá ser usado as variaveis que foram declaradas.
    INSERT INTO MinhaTabelaDestino(Codigo, Nome, Endereco)
    VALUES(@V_Campo1, @V_Campo2, @V_Campo3);

    --Caso o campo selecionado permita nulos trate o mesmo com a função ISNULL(@V_Campo1, 0) 
    --para que o processo não pare no meio

    --Depois de executar a operação desejada, passa para o próximo registro.
    FETCH NEXT FROM C_MeuCursor INTO
      @V_Campo1,
      @V_Campo2,
      @V_Campo3;
    END;

  --Fecha o cursor e retira ele da memória
  CLOSE C_MeuCursor;
  DEALLOCATE C_MeuCursor;

Logo no inicio eu declarado o cursor, o select poderá ser em mais de uma tabela so é preciso definir os campos que deseja selecionar, no nosso caso foi executado em uma tabela só. Em seguida temos o loop, dependendo de quantos registros foram encontrados temos quantas vezes o loop irá rodar.

Dentro do loop nos chamamos o insert que irá passar os dados para outra tabela. Usamos as variáveis que carregamos com o cursor. Do mais cada parte do código já está com os comentários. Por hoje e só.

Espero que tenha ajudado. Até++

Evento em Franca - Comunidade DevFranca e a Copa Microsoft

No dia 20/03/2010 (NESTE SÁBAD !!!) teremos duas palestras na Universidade de Franca sobre o Windows Server 2008 e o  System Center, nesta serão apresentados os produtos e as suas features assim como algumas dicas para desenvolvimento utilizando ambos.

O evento será gratuito, abaixo um descritivo das palestras:

- Windows Server 2008 - Neste o palestrante irá falar sobre as features, dicas e algumas novidades do AD. Será ministrado pelo Sr. Rodrigo Lopes que é profissional de TI a 9 anos e atua na Administração de Servidores de empresas de grande porte. Atuou em conceituadas empresas de tecnologia do mercado como Microsoft, HP e Unisys. Possui certificações Microsoft - MCITP: Enterprise Administrator, MCITP: Server Administrator, MCTS em Active Directory, Network Infra, Exchange 2007, ISA Server 2006, Virtualização, MDOP, MCDST e MCP

- System Center - Apresentação do Produto, dicas e as novidades desta versão, esta palestra será ministrada pelo Sr.Fernando Andreazi que é um profissional de TI há cinco anos, especialista em Tecnologias Microsoft em soluções de Infra Estrutura. Nomeado MSP (Microsoft Student Partners) palestrando sobre tecnologias Microsoft nas principais universidades de São Paulo e na Comunidade TechNet. Certificado em Windows XP, Windows Vista, MDOP, SCCM, Windows Server 2003 e Windows Server 2008 e Exchange Server 2007. MCP, MCSA, MCITP, MCTS e MCDST.

 
 
Conto com todos lá. (:

INSTALANDO PROGRAMAS PARA DESENVOLVIMENTO MOBILE

Este artigo vamos instalar os programas para poder começar a trabalhar com o desenvolvimento para mobile com o Visual Studio.

1-> Instalar oSql Server.Utilizarei o Sql Server 2008.

2-> Instalar o Visual Studio.Utilizarei o Visual Studio 2008 Professional.

3-> Instalar o Windows Mobile 6 Professional SDk

4-> Instalar o ActiveSync 4.5.

Depois de tudo instalado, vamos fazer uma configuração no ActiveSync para utilizarmos o emulador do celular na ide. De dois cliques no atalho do ActiveSync. 

Vá em Arquivos->Configurações de conexão.

Marque a opção-> Permitir conexao com um dos seguintes itens: -> escolha a opção DMA-> click em ok.

Está pronto para realizar já nosso primeiro exemplo (que será no próximo post)  um HelloWord para depois criar um pequeno sistema.

Passando um método como parâmetro no flex

Olá a todos, novamente venho mostrar uma dica que poderá ser usada em ocasiões específicas. Quem está acostumado a programar sempre usa metódos ou funções com passagens de parâmetros, objetos, string, int, long e por ai vai. Mas além de parâmetros em alguns casos também seria interessante passar o método todo e não somente um objeto, e isto é possivel no flex com as3.  Abaixo segue o código de exemplo:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
 layout="absolute" creationComplete="init();">
  <mx:Script>
    <![CDATA[
      import mx.controls.Alert;

      private function init():void{
        //Passa um metodo como parametro
        recebeMetodo(meuMetodo);
      }

      private function meuMetodo():void{
        Alert.show("Executou meu metodo");
      }

      private function recebeMetodo(fnc:Function):void{
        //Nesta linha e como se estive sendo chamando meuMetodo();
        fnc();
      }
    ]]>
  </mx:Script>
</mx:Application>

No exemplo à cima logo no inicio chamamos o método “recebeMetodo” ele recebe como parâmetro uma Function, no nosso caso foi passo “meuMetodo” que simplemente joga uma mensagem na tela, mais poderia realizar qualquer operação tal com atualizar toda a tela.

Para efeito prático, imagine duas telas onde uma telas precisa chamar o método que esta na outra.

Por hoje e só, até à próxima.



				

Programador é Programador, Hype é Hype e Tradição é Tradição.

Qual é o ultimo grito da moda? o que aconteceu no "SPFashionWeekDeTecnologia" da semana passada que deixamos escapar? com qual tecnologia/produto novo fomos bombardeados e não percebemos? qual o último telefone lançado? o último tablet? a última linguagem que surgiu? Quantas perguntas, quantas respostas?

Talvez o número de respostas para estas perguntas seja tão grande que não caiba neste post, e talvez amanhã precisemos de um post novo para respondê-las novamente. É isso que chamamos de "hype", o último grito da moda, segundo o google, e tecnologia é isso, moda, disputa pelo novo, o grande engolindo o pequeno, a todo momento surge uma nova comunidade de relacionamento, um novo tipo de tecnologia que vai mudar o planeta e salvar as baleias, e ser conservador neste mercado é praticamente um crime digno de pena de morte, queima de processador e esvaziamento de pilha!

Ser conservador o suficiente para poder olhar para traz e prever o futuro.
No final de 54 surgiu uma linguagem chamada FORTRAN e, a partir daí, uma infinidade de novas linguagens foram surgindo: ALGOL(1958), COBOL(1959), BASIC(1964), Simula(1964), PASCAL(1970), SmallTalk(1971), C(1971), PostScript(1982), Perl(1987), Python(1991), Ruby(1993), PHP(1995), Java(1995), JavaScript(1995), entre dezenas de outras que não citei aqui.

E o que isto nos diz?

Uma das leituras que podemos fazer de nossa história é que a FORTRAN não trouxe grandes inovações, mas deixou o mundo mais simples de ser compreendido do que na época do ASSEMBLY. Depois, na década de 60, as linguagens mudaram, inovaram e trouxeram um novo conceito, o de linguagem estruturada, aos moldes de C, Pascal e Basic, e o mundo continuou a evoluir. Em 1967, foi apresentada a Simula67, primeira linguagem a implementar o novo conceito de orientação a objetos (OOP). Em 1980, foi lançada a versão SmallTalk80, inovando o conceito de OOP e dando força para esse novo paradigma. Já na década de 90, surgem as linguagens com suporte WEB. O mundo dá uma regredida, PHP/ASP nascem procedurais mas logo evoluem para o conceito OOP, assim como JAVA e outras. Hoje em dia, é altamente desaconselhável aprendermos uma linguagem que não seja OOP, a não ser por questões muito específicas, em casos muito raros.

Eu vi surgirem varios Hypes, puxados por pessoas atrás de fama; linguagens mortas renascerem para morrerem sem o menor sentido de ser, e creio que um programador ou um futuro programador deva fazer algumas reflexões sobre em qual tecnologia investir:

Qual é a história da linguagem que eu quero aprender?

Com qual frequência ela é atualizada?

Ela é OOP?

Qual a produtividade?

Existem Frameworks para ela?

Existe uma comunidade ou há uma empresa  mantendo essa linguagem?

Como é a documentação dela?

Como o mercado remunera os programadores?

Quais softwares foram desenvolvidos usando essa linguagem?

O que estou falando aqui neste artigo tem mais a ver com mercado e investimento do seu valioso tempo. Apenas algumas dicas para avaliar e definir qual caminho você quer que sua carreira percorra. Cuidado com as armadilhas do mercado! Os hypes que surgem simplesmente desaparecem em pouco tempo ou, quando vingam, demoram anos para ganhar força no mercado. 

Um exemplo simples e específico de uma linguagem que está em transformação hoje é o HTML5. Ele não é um milagre, mas vai melhorar muito a maneira como programamos hoje. No entanto, não teremos suporte a ele da forma como gostaríamos até o final do ano e talvez nem no próximo, porque dependemos das novas versões de navegadores e também dos usuários, que precisam atualizar seus navegadores.  Quem quer entrar no mercado agora, tem que dominar XHTML, sem tirar os olhos do HTML5, claro! Mas vejam o I6, quase imortal. A inovação é lenta e isso não é ser conservador; é ser realista e antenado ao futuro próximo.

Não existe milagre, não vai surgir uma nova linguagem, um framework, uma tecnologia mágica que fará o mercado gastar bilhões migrando os seus sistemas em um curto espaço de tempo. Olhe para o passado para prever o futuro e duvide dos milagres.

Microsoft oferece capacitação gratuita em tecnologia para estudantes de 27 cidades brasileiras

Em 2009, o programa de treinamento gratuito Students to Business – S2B  beneficiou 25 mil jovens brasileiros
São Paulo, 02 de março de 2010 – A Microsoft Brasil, em parceria com instituições de ensino, governos e empresas de 13 estados, as inscrições estão abertas desde o dia 01/03  para a sexta edição do programa de capacitação para o mercado de tecnologia – Students to Business – S2B. O objetivo do programa é auxiliar jovens  interessados em seguir carreira na área de tecnologia a conquistar boas oportunidades no mercado. Ao todo, os inscritos poderão receber de 4 a 84 horas de treinamento gratuito em três etapas de aulas, num aumento gradativo de complexidade.

“O setor de tecnologia da informação e comunicação cresce quatro vezes acima do PIB no Brasil. Esse é um dos segmentos que mais emprega no País e essa oferta só deve crescer nos próximos anos”, comenta Amintas Neto, gerente de plataformas acadêmicas da Microsoft. “Encontrar profissionais capacitados para atuar na área ainda é um desafio para as empresas. Por isso a Microsoft investe em preparar jovens apaixonados por tecnologia para ingressar nesse mercado. Nosso objetivo não é treinar os próximos funcionários da Microsoft, mas, sim, os próximos colegas que vão atuar em todo o segmento”, destaca o executivo.

O Students to Business faz parte das iniciativas de Cidadania Corporativa da empresa no país. Os participantes recebem licenças para download gratuito dos softwares utilizados nos treinamentos para dar continuidade prática do conteúdo aprendido utilizando o computador pessoal. A iniciativa também conta com o apoio de empresas que demandam mão de obra especializada e que oferecem oportunidades de emprego ou estágio ao final da capacitação.

Desta vez, o Students to Business vai abranger 27 localidades em 13 estados do Brasil – Amazonas, Bahia, Ceará, Distrito Federal, Espírito Santo, Minas Gerais, Pará, Paraná, Pernambuco, Rio de Janeiro, Rio Grande do Sul, Santa Catarina, São Paulo e Sergipe, e tem como meta capacitar os alunos participantes no uso da tecnologia Microsoft nas áreas de desenvolvimento, infra-estrutura e, em algumas localidades, também em banco de dados (DBAs) e Criação de Web-sites. As inscrições são feitas pelo site: http://proform.msdnbrasil.com.br/PortalS2B/Default.aspx.

As aulas acontecem nas unidades dos Centros de Inovação mantidos pela Microsoft em várias cidades do país e em instituições parceiras.

“Basta ser estudante para participar do Students to Business”, conta Amintas Neto, gerente geral de programas acadêmicos da Microsoft Brasil “Além de capacitar quem já escolheu seguir carreira em tecnologia, essa é uma oportunidade para jovens que têm  interesse pela área, mas ainda não atuaram nesse segmento”.

Realizado no Brasil desde 2007, o Students to Business já capacitou somente em 2009, 25 mil estudantes para o mercado.  “Conseguimos incluir no Students to Business um processo efetivo de geração de empregos. Sempre que finalizamos uma onda de treinamentos, recebemos retorno de diversos estudantes que foram inseridos no mercado” destaca o executivo.

Agenda:
Inscrições para a 6ª onda do Students to Business

Especializações: Infra-estrutura / Desenvolvimento de Sistemas / Banco de dados / Criação de websites
Período: até 16 de março
Inscrições: pelo site www.programaS2B.com.br

Fonte: ITNews

Abraço,

Encontrando domínio do email AS3

Olá a todos!  Por estes dias estive trabalhando com servidores de email, e surgiu a necessidade de buscar o domínio do email, então desenvolvi uma função para realizar este trabalho. Achei interessante postar aqui como uma breve dica espero que seja útil.

private function buscaDominio(email:String):String{
  var array:Array = email.split("@");
  
  if(array[1] != null){
    return array[1]
  }
  else{
    return "";
  }
}

Abraços, e até a próxima.