sexta-feira, 21 de dezembro de 2012

Feliz Nata

Finalmente o ano está terminando, muitas turbulências e novos aprendizados. Ficaremos juntos novamente no próximom ano, com mais publicações e novas dicas.

Feliz Nata a todos e um Próspero ano novo para todos nós.

terça-feira, 25 de setembro de 2012

Reconhecimento

Já faz algum tempo que se fala em um Conselho para os Profissionais de Tecnologia, que inclusive já tem até um nome CONFEI , mas que ainda não saiu da "Virtualização".
O que se ganha com um Conselho? Quais benefícios podem ser agregados aos profissionais da área? Estes são alguns dos questionamentos mais comuns a todos.
No ponto de vista Profissional, um Conselho serve para Regularização da Profissão, tendo o poder de fazer cumprir direitos e deveres para os seus Profissionais, como uma valorização da mão de obra, definições da categoria como por exemplo o que é um DBA faz, qual as funções e obrigações de um Analista de Sistemas, em um projeto, desta forma deixa claro o papel de cada profissional e sua categoria.
Uma proposta interessante e louvável que deveria ser seguido por todas as profissões que constroem alguma coisa, algum produto seja ela uma obra física ou intelectual, é o que ocorreu no Rodoanel em São Paulo, foi reservado um espaço onde foram colocados os nomes de todos os que participaram desta obra. A princípio parece apenas uma simples homenagem aos trabalhadores, mas para o ponto de vista dos trabalhadores é a marca de que eles participaram de uma grande obra e que será sempre lembrado.
Não querendo entrar em questões filosóficas existenciais, mas nos somos lembrados pelo o que fizemos e para isto temos que deixar nossas marcas no nossos caminhos. 
Além dos registros de produtividade, ainda podemos citar a questão da responsabilidade Intelectual de um código ou até mesmo de um diagrama de analise. 
Bem, ficam os questionamentos para pensarmos e chegar a algum ponto de vista.

segunda-feira, 17 de setembro de 2012

Alterando o Focus do campo de texto com Enter c#

Coisas úteis devem ser difundidas, por isso sempre que acho alguma faço questão de parabenizar e difundir a informação, dando o devido valor ao autor da descoberta.
Uma destas coisas úteis que achei hoje foi a configuração para alteração de campos de texto em Formulários com a utilização do ENTER ao invés de se utilizar apenas a Tecla Tab. Sabemos pois que muitas pessoas que trabalham com digitações em excesso se acostumaram e realmente temos que entender que a tecla ENTER é bem mais aparente do que a tecla TAB para mudanças de campos de texto em digitação rápida, por isso segue abaixo o que deve ser feito para aplicações com C#.


(1) Alterar a propriedade KeyPreview do Formulário para ” true”
(2) Preencha o evento KeyDown do Formulário com o seguinte código:
if (e.KeyCode == Keys.Enter)
{
this.SelectNextControl(this.ActiveControl, !e.Shift, true, true, true );
}
Obs.1: O código ” !e.Shift” indica que é para mudar para o próximo campo se pressionado ENTER, e ir para o campo anterior se pressionados SHIFT e ENTER simultaneamente (o mesmo funcionamento do SHIFT + TAB).


Muito bom isso...então vamos utilizar...até a próxima dica.

quarta-feira, 12 de setembro de 2012

Lançamento do Visual Studio 2012



Hoje é o lançamento mundial do Visual Studio 2012, que vem trazendo em sua bagagem o Net Framework 4.5. A promessa é de uma IDE mais inovadora e com muitas novidades e facilidades para os desenvolvedores e melhorando o tempo de entrega do produto final.
Em comemoração ao lançamento, a Microsoft está disponibilizando uma versão com 90 dias de uso para testes. O evento será transmitido diretamente do site do novo Visual Studio 2012, no link: Evento de Lançamento VS 2012

Para os usuários da IDE nas versões anteriores, ficam as expectativas para verificar as melhorias.


terça-feira, 11 de setembro de 2012

Futuro Breve

Parece filme de ficção cientifica, mas é o Google Glasses. Projeto de um óculos totalmente conectado e com mil e uma funcionalidades, integrando todas as aplicações Google. Muito bom esse projeto, e inclusive já está disponibilizando algumas poucas peças por aproximadamente U$ 1500.00, mas ainda em fase experimental. Seu lançamento para o consumidor final está previsto para meados de 2014. Quem sabe se na  Copa do Brasil já poderemos acompanhar o resultado de todos os jogos em tempo real através dele. Vale a pena conferir o vídeo do Projeto.

sábado, 8 de setembro de 2012

Ainda falando em Conexões das Linguagens de Programação com o Banco de Dados MySql, vamos ver agora uma conexão também bastante utilizada, que é a conexão do C#.NET.
Também teremos que acessar ao site do MySql e baixar a biblioteca específica para a linguagem desejada, que neste caso o .Net. Adicionar a biblioteca ao projeto na Aba Gerenciador de Soluções do Visual Studio, Referências.
Feito isto, basta apenas criar uma classe de Conexão, que terá a funcionalidade de abrir e fechar as conexões com o banco de Dados.

Public Class Conexoes{

 public Conexoes() {

         
            try
            {
                //conexao = new MySqlConnection("server=localhost;User Id=root;Persist Security Info=true;password=senha;database=banco;port=3306");
                   }
            catch (Exception e)
            {
                new Exception("Falha de conexão remota");
            }
             
        }
}

Pronto, está feito a conexão com o banco de Dados, basta apenas agora utlizar os métodos já prontos do Conector MySql: MySqlCommand, MySqlDataReader, etc.

Logo após veremos a Conexão do PHP com o Banco MySql. Até a próxima.



quinta-feira, 6 de setembro de 2012

Conexão Java Mysql

Sempre estamos dedicando um tempo para coisas úteis, dentre elas uma muito útil e as vezes muito chato para quem está aprendendo uma nova linguagem de programação é exatamente a parte da conexão com o Banco de Dados. Pois bem, pensando nisto, vou trazer agora uma simples forma de efetuar uma conexão com Java e Mysql.
Primeiro você deverá baixar o pacote de conexão ou  Driver do Banco, para a linguagem que será utilizada. Extrai-la e adicionar o pacote .jar ao seu projeto Java.
Feito isto, crie uma classe que tratará as suas conexões com o banco:

import java.sql.Connection;
import java.sql.DriverManager;


public class Conexao {
   
    // Construtor da Classe
    public Conexao(){
       
    }
   
    // Método que trata a conexão
    public Connection conecta(){
   
            System.out.println("c");
            try{
                // Chamando o método de conexao do Mysql e retornando um Connection, ou Conexão que será utilizada
                return DriverManager.getConnection("jdbc:mysql://localhost:3306/java","usuario","senha");
            }catch(Exception e){
                throw new RuntimeException(e);
            }
         }
       }


Supondo que seu banco já tenha sido criado,  passe para o segundo passo, que é a Instância da classe e a chamada do método no seu Main.

public static Main
public static void main(String[] args) throws HeadlessException, SQLException{

Connection conec=new Conexao().conecta();

 e a resposta é "Conectado ao Banco";

OBS.: Caso não funcione apenas arrastando a biblioteca do mysql para  pasta Library do Seu projeto, você deverá inserir no ClassPath do Projeto.

Bem, depois voltarei com mais dicas de como melhorar esse código e fazer inserções no Banco.


 



 

sexta-feira, 3 de agosto de 2012

Setando a Cultura da Moeda C#.

A intenção principal deste Blog é informar e passar conhecimentos adquiridos com minhas experiências profissionais.
Hoje estarei iniciando uma nova etapa do Blog, informações úteis de códigos que nem sempre conseguimos achar tão facilmente.
Atualmente estou desenvolvendo uma aplicação com C# Windows Forms em paralelo com uma aplicação Web, com um compartilhamento de base de dados nas nuvens.
Uma situação bem dificil de se trabalhar dados é a questão da moeda, pois nem todos os bancos possuem a CURRENCY ou então MONEY, que são específicos para moedas. Esta opção não está disponível nos bancos Open Source. Então o que fazer:
1)Tratar todo e qualquer dado de moeda individualmente?
2)Criar uma classe especifica para tratar esses problemas?
3)Alterar as configurações regionais da máquina que irá trabalhar?

Todas estas são opções úteis e funcionam, porém são muito trabalhosas e tendem a dar errado em alguns momentos.

Para tal solução específica, poderemos setar a linguagem da cultura da aplicação no inicio de sua execução, na classe Program.cs, que é a Void Main específica do C#.
Fazendo com que toda e qualquer formato que se utilize das funções que tratam diferenças entre formatações de moeda ou datas funcione em tempo integral.

// Para a moedas decimais (0.00)
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
// Para a moeda brasileira (0,00)
Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR");

Esse codigo fará toda a diferença quando trabalhamos com bancos que não tratam estas informações específicas.

Bem, ficamos por aqui hoje, mas em breve estarei trazendo mais dicas sobre programação.

quinta-feira, 5 de julho de 2012

Campus Party em Recife


Definitivamente o Nordeste entrou na rota dos grandes eventos de Tecnologia, confirmado o Campus Party no período de 26 a 30 de Julho. As inscrições poderão ser feitas no site oficial do Evento Site Oficial, a bagatela de R$ 200,00, apesar do preço salgado, já foram esgotados todos os espaços para os "mochilheiros" e "abarracados", restando apenas os ingressos individuais.
O Evento terá diversas palestras, debates, oficinas e mesas, deixando os "Campuseiros" banstante ocupados com as novas tendências da Tecnologia.
Também está previsto para o próximo ano, a Copa Mundial de Rôbotica, que acontecerá em João Pessoa, com participação de 14 paises. Também contará com eventos e palestras.
Que sejam bem vindos os grandes eventos de Tecnologia para o Nordeste.

sexta-feira, 25 de maio de 2012

Data Centers

Quem não já se perguntou onde ficam armazenados tantos arquivos e informações que trafegamos pelas redes da Internet, pois é, ficam em Data Centers.
Os Data Centers, são locais onde existem diversos computadores que processam e guardam seus arquivos, fotos publicadas na web, vídeos, etc. Na verdade, podem ser considerados grandes depósitos de informações. Antes da Internet, os Data Centers só eram utilizados por Bancos e Governo, para processamento e armazenamento de dados, hoje em dia, todas grandes empresas de Tecnologia possuem seus Data Centers próprios. Como a Google, Facebook, Microsoft, entre tantas outras, garantindo a confiabilidade de suas aplicações e segurança dos dados.
Abaixo um vídeo bem interessante sobre os Data Centers, feito pelo Olhar Digital, vale a pena conferir.

segunda-feira, 7 de maio de 2012

Fotos de Carolina Dieckmann na Web

Já faz algum tempo que se vem discutindo uma legislação específica para crimes na Internet, por ser uma área nova, poucos mais de 20 anos de sua criação, não se criou leis que garantam os direitos de privacidade de imagem ou arquivos. A mais recente vítima desta falta de legislação está sendo a atriz Carolina Dieckmann, que ao enviar o seu computador para reparo em uma assistência técnica, teve algumas de suas fotos pessoais copiadas e publicadas na Web. Apesar da falta de leis, a Justiça Brasileira garante o direito de imagem aos cidadãos que se sentirem prejudicados, solicitando aos Provedores Hospedados no Brasil que retirem o material publicado em seus Servidores. Na verdade não passa de uma medida provisória, pois depois da publicação em ambiente WEB, não se pode mais garantir a integridade e a propriedade dos arquivos vinculados. Para evitar tais problemas com seus arquivos pessoais, segue abaixo uma série de cuidados que se deve ter com seus arquivos pessoais: 

1) Evite deixar fotos, dados pessoais, senhas e etc no seu computador, guarde-os em um Hd externo ou Pen-drive; 
2) Caso seja necessário levar seu computador para assistência técnica e não consiga fazer algum tipo de backup antes, garanta a integridade das suas informações através de um termo de responsabilidade por parte da empresa, assinado pelo responsável;
3) Desabilite a função de gravar senhas, sempre sugerido pelos navegadores de internet, evitando o acesso em suas contas de e-mail, redes sociais ou outros sites que solicitam segurança;
4) Faça sempre limpeza dos seu histórico de visitação web e cookies , pois através do seu histórico, hackers podem criar um clone de alguma página que você sempre acesse e solicite senha, para pegar seus dados, os cookies também levam alguns dados de sessão dos sites; 
5) Caso utilize uma rede pública, evite compartilhamento de pastas ou arquivos pessoais, mesmo que temporariamente, caso seja necessário, coloque senhas de acesso a pasta; 
6) Se possível, utilize duas ou mais unidades lógicas no seu computador (Partições), gravando seus arquivos pessoais em uma partição diferente de onde instalado o sistema operacional, pois em caso de danos ao sistema, pode ser feito facilmente backups ou copias de segurança; 


Estas são algumas dicas básicas de segurança para garantir a integridade de suas informações.

terça-feira, 27 de março de 2012

Administrando Resultados

Esse ai é um assunto bem interessante sobre Gerenciamento de Resultados, onde se fala do que esperamos e de que forma podemos alcançar maior produtividade na empresa através de uma única mudança de foco.


Você tem um grupo de vendedores de bolos de porta em porta. O vendedor mais produtivo consegue vender 30 bolos por dia. O menos produtivo vende 6. Para qual dos dois você dedicaria mais tempo?
Algumas pesquisas apontam que os gerentes perdem mais de 70% de seu tempo tentando fazer pessoas não-produtivas produzirem. E a maioria dos funcionários produtivos não recebe atenção suficiente. Por isso, não se sentem valorizados pela empresa e acham que não crescerão como desejam.
Se você ensinar aquele vendedor que vende 30 bolos por dia a vender 45, você o fez aumentar as próprias vendas em 50%. E acrescentou 15 bolos ao total vendido pela equipe. Se, no entanto, passasse esse tempo com o não produtivo e fizesse aumentar as suas vendas em 50%, poderia tê-lo alavancado apenas de 6 bolos para 9, ou seja, somaria 3 bolos à venda total da equipe em vez de 15.


Leia Mais

segunda-feira, 12 de março de 2012

Windows 8

Já está em fase final de testes o Windows 8, com uma interface mais dinâmica e voltada para uso através de Touch Screen. Para a apresentação inicial, haverá na semana do dia 21/03 em Recife, Workshops e utilização da primeira versão. Esperanças de algo novo. Vejam o site do evento.First Run

sábado, 3 de março de 2012

Problemas com Ajax Toolkit

Quem nunca teve problemas com formatações de seus campos de entrada para suas aplicações, por isso existem ferramentas prontas como o Ajax.
Mas nem todas as tecnologias disponíveis são perfeitas ou ainda pior, nem todos os Servidores disponíveis tem instalados as bibliotecas necessárias para tais tecnologias, o que nos obriga fazer valer a velha e boa programação no braço. Para um problema como estes vejam este Post de uma ótima solução para Máscaras de de entrada com JavaScript. Post DevMedia

terça-feira, 21 de fevereiro de 2012

Campus Party em Recife-Pe



Segundo notícias dos bastidores, está sendo negociado entre o Governo do Estado de Pernambuco e o criador do Campus Party, o espanhol  Paco Ragageles, uma versão Pernambucana para o evento. Está versão aconteceria em Junho, no período de férias, pois atrairia um grande número de estudantes de todo Nordeste.
O problema até agora estava sendo conseguir uma agenda no Centro de Convenções de Recife, mas que havia mesmo assim uma grande possibilidade de ser ainda este ano.
Muito bom se isto acontecer mesmo, pois o Nordeste há muito tempo vem se destacando muito em desenvolvimento de Tecnologias e pesquisas, através das duas melhores Universidades do Pais, a UFPE e UFCG. Elas estão sendo responsáveis por grandes projetos de Multinacionais e Grandes empresas Nacionais, como o Exemplo da Petrobrás em Campina Grande-PB e projetos da Samsung e Microsoft em Recife-PE.
Sejam bem vindos as boas atitudes que ajudem a desenvolver nossa região.

terça-feira, 14 de fevereiro de 2012

Consertando CPF de um banco Sujo

Esse código agora desenvolvi para organizar CPF´S errados que encontravam-se em um banco de dados, faltando zeros a frente, pois tinha sido salvo como inteiro e tive que converter em String novamente.



public String concatenarCPF(String codCliente)
        {
            int codigo = Convert.ToInt32(codCliente);
            Conexoes conec = new Conexoes();
            ConectaCliente cli = new ConectaCliente();
            conec.abrirBanco();
            MySqlDataReader resposta = conec.executaComandoReader("SELECT `cpf` FROM `clientes` WHERE `idClientes`='" + codigo + "'");
            resposta.Read();
            String cpf = resposta["cpf"].ToString();
            char[] cpfChar = cpf.ToCharArray();
            
            if (cpfChar.Length == 7)
            {
                cpf = "0000" + cpf;
            }
                        
            if (cpfChar.Length == 8)
            {
                cpf = "000" + cpf;
            }
            if (cpfChar.Length == 9)
            {
                cpf = "00" + cpf;
            }
            if (cpfChar.Length == 10)
            {
                cpf = "0" + cpf;
            }
            
            conec.executaComandoNonQuery("UPDATE `mm`.`clientes` SET `cpf`='"+cpf+"' WHERE `idClientes`='"+codigo+"'");


            return cpf;
        }


Neste caso, existe também uma classe de conexão onde faz as ligações com o Banco de Dados.

   
   
   

Código para Validação de CPF

Aqui abaixo segue uma Classe que serve para validação de CPF, muito boa e funcional, que é o mais importante.


public bool ValidaCPF(string cpf)
        {


            int[] multiplicador1 = new int[9] { 10, 9, 8, 7, 6, 5, 4, 3, 2 };


            int[] multiplicador2 = new int[10] { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 };


            string tempCpf;


            string digito;


            int soma;


            int resto;


            cpf = cpf.Trim();


            cpf = cpf.Replace(".", "").Replace("-", "");


            if (cpf.Length != 11)


                return false;


            tempCpf = cpf.Substring(0, 9);


            soma = 0;


            for (int i = 0; i < 9; i++)


                soma += int.Parse(tempCpf[i].ToString()) * multiplicador1[i];


            resto = soma % 11;


            if (resto < 2)


                resto = 0;


            else


                resto = 11 - resto;


            digito = resto.ToString();


            tempCpf = tempCpf + digito;


            soma = 0;


            for (int i = 0; i < 10; i++)


                soma += int.Parse(tempCpf[i].ToString()) * multiplicador2[i];


            resto = soma % 11;


            if (resto < 2)


                resto = 0;


            else


                resto = 11 - resto;


            digito = digito + resto.ToString();


            return cpf.EndsWith(digito);


        }

Só instanciar e pronto.

sexta-feira, 27 de janeiro de 2012

SOPA quente na Internet

Quem nunca baixou uma música da internet ou algum livro em PDF que atire o primeiro mouse, então usuários cuidem-se a  SOPA, está vindo por ai.
A SOPA( (Stop Online Piracy Act), é a nova lei de direitos autorais que está rolando no congresso Americano e  que está deixando todos os internautas de cabelo em pé, inclusive grandes empresas como Orkut, Google e Facebook.Esta lei quer punir e bloquear todos ou qualquer um que infrinja qualquer direito autoral das empresas cinematográficas, fonográficas ou qualquer outra empresa que se sentir lesado com o uso indevido de seus produtos ou textos publicados na Internet.
O maior problema disto é que qualquer pessoa pode ser bloqueado, seja ela apenas um usuário normal que publicou algum link para um vídeo no YouTube até o próprio YouTube. O Governo Americano quer realmente controlar todos os acessos através do controle dos IP´S.
Por enquanto ainda está rolando discussões a respeito, pois o texto original é muito duro e imparcial, mas com certeza teremos novidades no futuro sobre o tema.
Aqui no Brasil ainda não se falou nada a respeito, porém, como tudo que trata de tecnologia ou vem do Japão ou dos EUA, acreditem, vai respingar algo por aqui.