Paginas

terça-feira, 31 de agosto de 2010

Terceirização de TI está com os dias contados, prevê analista

Na perspectiva de Arjun Sethi, vice-presidente da consultoria A.T. Kerney, em cinco anos, o outsourcing (terceirização) dos produtos e serviços de TI, pelo menos da forma que conhecemos hoje, vai desaparecer. “Novos players, que ainda não entraram no mercado, irão dar as cartas nesse segmento”, avisa Sethi.
O consultor faz essa afirmação com base nas previsões de uma reconfiguração em massa do setor de terceirização. A mudança será provocada, em grande parte, pela disseminação da cloud computing (computação em nuvem).
Em um futuro não muito distante, o especialista vê que o mercado de outsourcing será dominado por empresas como Amazon e Google, além de nomes ainda desconhecidos. Enquanto isso, os fornecedores tradicionais de serviços terceirizados, como HP, Dell e Xerox, terão grandes dificuldades para sobreviver ao novo mercado.
Durante entrevista exclusiva à CIO/EUA, Sethi fez uma análise do que será o setor de outsourcing de TI em um futuro não muito distante.
Lea mais em: >>http://www.ceviu.com.br/blog/info/noticias/terceirizacao-de-ti-esta-com-os-dias-contados-preve-analista

Novo Padrão de MVC

O HMVC é a evolução do MVC (Model-View-Control)...veja o link abaixo:
http://o-ponto.com/tecnologia/hmvc-uma-introducao-e-aplicacao_2010_06_10.html

2º Encontro de Desenvolvedores de Games do Pará

    Em 2008, o grupo BelJogos teve a iniciativa de criar o primeiro encontro entre os desenvolvedores de jogos do estado do Pará com o objetivo de reunir todos os que estivessem interessados nesta área e mostrar que em nossa região também existem pessoas dedicadas ao desenvolvimento de jogos.

     Novamente o grupo BelJogos com o apoio do grupo DreamMakers, a Guest3D, do Cesupa e do O7 gostaria de convidar todos os interessados em desenvolver jogos eletrônicos e nas tecnologias usadas neste campo a se inscreverem no 2º EDGames.

     Este evento contará com palestras, oficina, mostra de GameArt e outras atrações distribuidas nos quatro dias em que o evento será realizado

     Datas: 08, 09, 10 e 11 de Setembro de 2010
     Horário: 19:00 e dia 11 das 09:00 às 12:00

http://sites.google.com/site/beledgames/home
http://www.beljogos.eti.br/

sexta-feira, 27 de agosto de 2010

Testando Performance do Banco

//Criado Por Mario Rodrigues 27/08/2010
//Nesta classe utilizo o currentTimeMillis()  para recuperar o tempo que o sistema leva para inserir 1 registro na base de dados, o currentTimeMillis() retorna em milisegundos dai divido por 1000 para obter o resultado em segundos...espero q gostem
//Uma ideia seria trocar os drives de conexao com o banco e testar varios bancos verificando a melhor opção de banco de dados para sua aplicação...
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class TesteTempo {

    private Connection conn;
    long ini;
    long fim;

    public TesteTempo() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost/estudantes";
            String user = "root";
            String password = "*****";
            conn = DriverManager.getConnection(url, user, password);
            } catch (ClassNotFoundException e) {
            System.out.println("Ocorreu um erro " + e.getMessage());
        } catch (SQLException e) {
            System.out.println("Ocorreu um erro num SQL " + e.getMessage());
        }

       ini = System.currentTimeMillis(); // recupera o tempo em milisegundos
       insert();
       fim = System.currentTimeMillis();
      JOptionPane.showMessageDialog(null, "O tempo de Insert na base foi de : \n"+((end-ini)/1000)+" Segundos","Tempo",JOptionPane.INFORMATION_MESSAGE);
    }

    public void insert(){

        int cod = 10;
        String nome = "Tadeu";
        String ultimoName = "Tadando";

        try {
            PreparedStatement pstmt = conn.prepareStatement("Insert into student values (?,?,?)");
            pstmt.setInt(1, cod);
            pstmt.setString(2, nome);
            pstmt.setString(3, ultimoNome);

            pstmt.execute();
            JOptionPane.showMessageDialog(null, "Inclusão ok!!","Inclusão",JOptionPane.INFORMATION_MESSAGE);

        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Problema na Inclusão!!"+e.getMessage(),"Inclusão falhou",JOptionPane.ERROR_MESSAGE);
        }

    }

    public static void main(String args[]) {

        new TesteTempo();
     
       
    }
}

quinta-feira, 26 de agosto de 2010

Novidades no JAVA 7

A release final do JAVA SE 7 deverá ser lançada ainda este ano.
As novidades da linguagem JAVA 7 forma desenvolvidas por 2 projetos o Project Coin com uma pequena coleção de melhorias e o Project Lambda para a novidade individual mais complexa, os Lambdas que explicarei em outro momento.
Muita pessoas (inclusive eu) estavam querendo saber quais as principais mudanças, como não sou um expert em JAVA irei demonstrar algumas novas funcionalidades que o JAVA 7 possui...então vamos lá mostrar 2 das melhores novidades do Project Coin:
**String em Switch**
O Switch será capaz de comparar String’s veja o exemplo:
boolean útil (String dia){
switch(dia){
case “Sabado”;
case”Domingo”
return false;
default
return true;
}
}

**Multi-Catch e Final Rethrow**
Antes
Private static String getHostFromNameService(){
String host;
Try {
Codigo...
}catch(SecurityException e){
Host = addr.getHostAddress();
}catch(UnknownHostException e){
Host = addr.getHostAdress();}
return host;
}
Agora:
private static String getHostFromNameService(InetAdress addr, boolean check){
String host;
Try {
Codigo...
}catch(SecurityException | UnknownHostException e){
host = addr.getHostAddress();
}
return host;
}
Agora todo o codigo fica protegido com um unico bloco try tratando duas exceções distintas com o mesmo codigo.

Bom no Project Coin existem varias outras novidades como:
Sintaxes para Collections
Suporte à JSR-292(são facilidades ao suporte a outras linguagens alternativas alem de outras utilidades)
Automatic Resource Management, dentre outras...quer saber de todas as novidades detalhadamente? Então leia a revista Java Magazine 82..inclusive esse resumo é basicamente o q esta no artigo...lá esta tudo nos miiiinimos detalhes!!(Juro que não ganho nada pela propaganda..é 0800 mesmo!!)

quarta-feira, 25 de agosto de 2010

Artigo sobre Try Catch

Otimo artigo sobre tratamento de exceção:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=7339

terça-feira, 24 de agosto de 2010

Recursos NetBeans

ALterar nome de variavel no NetBeans

Me diz ai, quando estava programando depois de criar uma variavel vc ja teve a vontade de mudar o nome dessa variavel para algo mais viavel?
Puts mas vc ja usou a variavel em varios locais e trocar o nome vai dar um trabalhão...pois é o NetBeans possui um recurso utilizando o ctrl+r.
Selecione a variavel a ser substituida, clique em ctrl+r veja que todas as palavras foram selecionadas agora é só alterar e veja que automaticamente todas forma alteradas...
Arrumando o Codigo
Quer arrumar o seu codigo no netBeans?Famosa Identação
Clica com o botão selecione Formatar..
Ou Simplesmente ctrl+Alt+Shift

Ate +

segunda-feira, 23 de agosto de 2010

Cinco principios para um bom designer

O designer americano Joshua Porter publicou recentemente no Bokardo uma lista com cinco princípios de design que todos deveriam seguir, mas que infelizmente é difícil de encontrar em 90% dos endereços que visitamos cotidianamente.

Eis os cinco pontos destacados por Porter:

    * A tecnologia serve ao homem
    * Design não é arte
    * A experiência pertence ao usuário
    * O bom design é invisível
    * Simplicidade é a última palavra em sofisticação

Como se vê, não há nenhuma novidade ou nada que não tenha sido dito anteriormente. A grande questão é: por quê ainda é tão difícil encontrar projetos que possam ser classificados como ótimos na web?

O que Porter argumenta é que se uma pessoa não consegue usar determinada interface, a culpa é da interface que não é simples o suficiente, e não do usuário.

Ele fala ainda que arte é uma expressão subjetiva, enquanto design é projeto, é algo para ser usado. O ponto é que o produto é feito para ser utilizado, e não para ser admirado, como uma obra de arte.

O que leva a um termo bastante usado lá fora, mas que na visão dele é equivocado: o design da experiência do usuário. Ora, se o designer cria a interface, a interação, porém a experiência pertence ao usuário.

Voltando à questão do design “artístico”, o quarto princípio fala que o ótimo design é invisível. Aqui parte-se do princípio que quando algo funciona bem, como um Gmail, por exemplo, nem reparamos no design do produto.

Quando algo dá errado, entretanto, fica bastante óbvio para os usuários como o design é ruim e está prejudicando a conclusão de uma tarefa.
Simplicidade

Se design não é algo para ser admirado e deve passar o mais desapercebido possível, pode-se concluir que simplicidade é a última palavra em sofisticação.

Aqui chegamos de volta ao que o Nielsen falava lá no começo da web, a prática da simplicidade. Esqueçam as aberturas em Flash, o uso de Ajax para mostrar um texto, músicas, etc. Corte tudo o que for desnecessário, inclusive no texto. Assim os produtos terão uma significativa melhora como um todo.

Não defendo esse ponto de vista radicalmente. Na minha opinião, estética agrega valor na medida em que nós trabalhamos melhor em um ambiente em que nos sentimos confortável. Todavia há claramente, na grande maioria dos sites, um desequilíbrio entre estética e usabilidade. E isso é algo que precisa ser revisto urgentemente.
Fonte: http://fatorw.com/internet/design/cinco-principios-de-design/

Os 10 mandamentos do arquiteto de software

1-Se não for simples, não vale a pena.
2-Se não for estável, não vale a pena.
3-Se não for suportável, não vale a pena.
4-Jamais justifique a tecnologia pela tecnologia.
5-Seja flexível.
6-Questione tudo.
7-Não culpe o fabricante da tecnologia pelos erros que você cometeu.
8-O ótimo é inimigo do bom.
9-Faça uma trégua com a equipe de infra-estrutura.
10-Não reinvente a roda.

Aprenda a pesquisar cracks no Google

Quem usa e abusa do software pirateado costuma de crackar software, e para isso precisa de serial numbers e/ou cracks.
De certo que ninguém duvida que seja fácil encontrar serials por ai, agora quando se procura por cracks a pesquisa é obrigatoriamente mais exaustiva e cansativa.
Era! A partir de agora quando precisar de um crack para qualquer tipo de aplicação recorra ao Google e faça o seguinte, escreva “94FBR” sem as aspas e digite o nome do software para qual pretende o crack de seguida.
E já está!

Pode agora ir testar o código acima indicado no Google.
Fonte: http://www.kerkeberos.net/2009/02/12/aprenda-a-pesquisar-cracks-no-google/

sexta-feira, 20 de agosto de 2010

Exportanto resultado para um arquivo txt

//Esta Classe criará um arquivo Testando.txt no caminho indicado com o conteudo do println( )
//Bacana não???
//Criado por Mario Rodrigues
import java.io.FileNotFoundException;
import java.io.PrintStream;

public class Txt {

    public static void main(String args[]) throws FileNotFoundException{
        System.setOut(new PrintStream("c:/Testando.txt"));
        System.out.println("Este texto será guardado no txt");
    }
}

Usando a Função CONCAT do MySql

//Criada por Mario Rodrigues
//Select cancatenando com Insert
//Me deu um trabalho isso hehehe
SELECT CONCAT('INSERT INTO participante ( evento, id, nome, nomecracha, sexo, nascimento, rg, cpf, telefone, celular, email, cidade, estado, endereco, bairro,cep,data) VALUES( 3,', id,',', '"', nome,'",', '"',cracha,'",', '"',sexo,'",', '"', nascimento,'",', '"', identidade,'",', '"', cpf,'",', '"', telefone,'",', '"', celular,'",', '"', email,'",', '"', cidade,'",', '"', estado,'",', '"', endereco,'",', '"', bairro,'",', '"', cep,'",', '"', data,'"')
FROM cadastro where nome like 'mario%'

Site com varios Cursos

JEDI (Java Education and Development Initiative), iniciativa para desenvolvimento e educação JAVA a distância.
Alguns Cursos:
Banco de Dados
Sistemas Operacionais
Programação WEB
Desenvolvimento de Aplicações Móveis
Engenharia de Software
Estruturas de Dados
Introdução à programação II
Introdução à programação I
Alem de apostila alguns cursos possuem video aulas!
Site:
http://jedi.wv.com.br/

E pior que tem gente que ainda vota!!!

Puts o pior de tudo é saber que ainda existem pessoas que votam nesse tipo de gente:
http://www.youtube.com/watch?v=9jXeLnd7nZw

O tiririca ainda tem a cara de pau de falar que nao sabe o que um deputado faz, mas vai descobrir...PQP!!!

quinta-feira, 19 de agosto de 2010

Usando Switch Case - QuantidadeXPreço

//Criado por Mario Rodrigues
import javax.swing.JOptionPane;

public class SwitchCase {

    public static void main(String args[]){

        int cod, qtdade, preco, valorTotal;
        cod = Integer.parseInt(JOptionPane.showInputDialog("Digite o Codigo do Produto entre 1 e 11"));
        qtdade = Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade comprada"));

        switch(cod){
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:{preco = 10;
                    valorTotal = preco*qtdade;
                    JOptionPane.showMessageDialog(null, "O preco Unitario do produto é R$ "+preco);
                    JOptionPane.showMessageDialog(null, "O Valor total da compra foi de R$ "+valorTotal);
                    break;
            }
            case 6:{preco = 50;
                    valorTotal = preco*qtdade;
                    JOptionPane.showMessageDialog(null, "O preco Unitario do produto é R$ "+preco);
                    JOptionPane.showMessageDialog(null, "O Valor total da compra foi de R$ "+valorTotal);
                    break;
            }
            case 8:
            case 9:
            case 10:
            case 11:{preco = 50;
                    valorTotal = preco*qtdade;
                    JOptionPane.showMessageDialog(null, "O preco Unitario do produto é R$ "+preco);
                    JOptionPane.showMessageDialog(null, "O Valor total da compra foi de R$ "+valorTotal);
                    break;
            }
            case 7:{preco = 15;
                    valorTotal = preco*qtdade;
                    JOptionPane.showMessageDialog(null, "O preco Unitario do produto é R$ "+preco);
                    JOptionPane.showMessageDialog(null, "O Valor total da compra foi de R$ "+valorTotal);
                    break;
            }
            default:JOptionPane.showMessageDialog(null, "Codigo do Produto Invalido");
            break;
        }
        System.exit(0);
    }
}

Primeiro Codigo usando Enum

//Classe Principal
import javax.swing.JOptionPane;

public class EstacaoPrincipal {

    public static void main(String args[]){
        Estacao est = null;
        int estacao = Integer.parseInt(JOptionPane.showInputDialog("Escolha a Estação \n1 - Inverno \n 2 - Primavera \n 3 - Verão \n 4 - Outono"));
        if(estacao == Estacao.INVERNO.getValor()){
            est = Estacao.INVERNO;
        }else if(estacao == Estacao.OUTONO.getValor()){
            est = Estacao.OUTONO;
        }else if(estacao == Estacao.PRIMAVERA.getValor()){
            est = Estacao.PRIMAVERA;
        }else if(estacao == Estacao.VERAO.getValor()){
            est = Estacao.VERAO;
        }else{
            JOptionPane.showMessageDialog(null, "Opção Invalida \nO Sistema será encerrado","SAE DAÊ",JOptionPane.ERROR_MESSAGE);
        System.exit(0);
        }
        JOptionPane.showMessageDialog(null, "A estação é "+est.getDesc());
    }
}

//Classe enum
public enum Estacao {
INVERNO(1,"Frio"), PRIMAVERA(2,"Flores"), VERAO(3,"Quente"), OUTONO(4,"Seco");

private int valor;
private String desc;

Estacao(int valor, String desc){
  this.valor = valor;
  this.desc = desc;
}
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }
    public int getValor() {
        return valor;
    }
    public void setValor(int valor) {
        this.valor = valor;
    }
}

Brincando com Array's

//Classe q lê 10 valores inteiros, e imprime somente os que são maiores q a média!
//Criado Por Mario Rodrigues em 18/08/2010

import javax.swing.JOptionPane;

public class Exemplo {

    int n1[] = new int[10];
    double media, soma;

   public void InseriDados(){
      for (int i = 0; i < n1.length; i++) {
             n1[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite o "+(i+1)+"° numero"));
             soma = soma+n1[i];
  }
      media = soma/n1.length;
  }
      public void MostraDados(){
          for (int i = 0; i < n1.length; i++) {
              int j = n1[i];
                if(n1[i]>media){
                   System.out.println("A media foi "+media+" e o numero "+n1[i]+"é maior que a média");
              }
           }
        }
     }
***Classe Principal***
.
//Criado Por Mario Rodrigues em 18/08/2010

public class PrincipalExemplo {

    public static void main(String args[]){

        Exemplo ex = new Exemplo();
        ex.InseriDados();
        ex.MostraDados();

    }
}

Scrum Product Owner – Delírios de um PO em um dia de verão

O Rildo Santos vai estar  em nosso Pará na próxima semana e participará junto com a comunidade de mais um encontro do Tá Safo em Ação Especial. O Rildo dará um mini-workshop Scrum Product Owner – Delírios de um PO em um dia de verão.

Data: 26 de agosto de 2010 (Quinta-feira).
Local: Auditório do CESUPA da José Malcher.
Horário: 19:00 às 22:00 hrs.

Mais informações:
http://tasafo.wordpress.com/2010/08/19/ta-safo-em-acao-com-rildo-santos/