quinta-feira, 18 de julho de 2013

Programação - Java Básico 07 - Mensagens de Entrada e Saída (Interface Gráfica)!

O que nos diferencia é a escolha que fazemos, mesmo quando só há um caminho a seguir!

Até agora em nossas postagens, vimos como capturar entradas do usuário, tratar este valor e exibir saídas, porém tudo em cima da interface modo texto.

Hoje veremos como trabalhar com janelas de Diálogo de entrada e saída que, em JAVA, a classe responsável por isso é a JOptionPane.

A JOptionPane, como muitos elementos da interface gráfica na linguagem, faz parte da biblioteca javax.swing.*, logo precisaremos declarar com o import antes de iniciarmos a classe:

import javax.swing.JOptionPane;

A classe JOptionPane tem dois métodos padrões que realizam as operações de exibição de mensagem (saída) e captura de dados (entrada), que são eles, respectivamente: showMessageDialog(ComponentePai, Mensagem) e showInputDialog(Mensagem);

No primeiro, o ComponentePai nós vamos ignorá-lo por enquanto e colocar o valor nulo (null), e ainda no primeiro, o segundo parâmetro (Mensagem) é onde nós passamos o que será visualizado pelo usuário.

Exemplo:

JOptionPane.showMessageDialog(null, "Olá mundo");



O segundo método (showInputDialog) possui somente um parâmetro (Mensagem), que é idêntico ao de mesmo nome do primeiro método.
A diferença deste é que ele tem como retorno uma String, fazendo com que o programa possa capturar e manipular um valor inserido pelo usuário.

Exemplo:

String nome = JOptionPane.showInputDialog("Qual o seu nome?");

JOptionPane.showMessageDialog(null, "O seu nome é "+nome);

Então o nosso programinha ficaria assim:

import javax.swing.JOptionPane;


public class EntradasGrafica {
    public static void main(String[] args) {
        String nome = JOptionPane.showInputDialog("Qualo seu nome?");
       
        JOptionPane.showMessageDialog(null, "O seu nome é "+nome);
    }

}

Na próxima veremos como converter valores texto para números, daí poderemos capturar entradas do usuário, transformar em numérico e realizar operações matemáticas.

Ass.: David de Almeida Bezerra Júnior

quarta-feira, 17 de julho de 2013

Programação - Java Básico 06 - Capturando entradas do usuário!

A única real constante é a mudança, sendo que um dado ou ação diferente mudaria todo o contexto!

Dando sequência a nossos posts, hoje iremos ver como capturar entradas (valores) digitados pelo usuário no terminal, armazenando-os em variáveis e operando com eles.

Vamos lá!

Scanner

 Sendo uma classe nativa do JAVA, o Scanner nos permite capturar valores do terminal.

Sua sintaxe de criação e inicialização é:

Scanner scanner = new Scanner(System.in);


Para capturarmos valores String, int e double, utilizamos os métodos nextLine(), nextInt(), nextDouble(), respectivamente:

String nome = scanner.nextLine();
int idade = scanner.nextInt();
double altura = scanner.nextDouble();

Então, se quisermos capturar o nome, idade e altura de uma pessoa informada pelo usuário, podemos seguir o seguinte código:

import java.util.Scanner;

public class Entradas {
           public static void main(String[] args){
                      Scanner scanner = new Scanner(System.in);
                    
                      System.out.println("Digite o nome da pessoa:");
                      String nome = scanner.nextLine();

                      System.out.println("Digite a idade da pessoa:");
                      int idade = scanner.nextInt();

                      System.out.println("Digite a altura da pessoa:");
                      double altura = scanner.nextDouble();

                      System.out.println(nome+" tem "+idade+" anos e "+altura+" m de altura!");

                      scanner.close();

           }
}

Se eu colocasse como entradas nome='José', idade=23 e altura=1,75, a minha saída seria: José tem 23 anos e 1.75 m de altura!

Percebam, no código, a primeira linha em vermelho: "import java.util.Scanner;".

As linguagens de programação são apoiadas em bibliotecas, que são pacotes contendo classes ou scripts pré escritos para realizar determinada tarefa. Isso quer dizer que a classe Scanner está no pacote java.util.*, e se não escrevermos esta linha (import java.util.Scanner;) acima da declaração da classe, a IDE irá acusar erro.

Na próxima veremos como trabalhar com mensagens de entrada e saída, desta vez com interface gráfica.

Até a próxima!

sexta-feira, 12 de julho de 2013

Notícia - Microsoft facilitou espionagem dos EUA!

Não se sabe o que o outro pensa, pois se for de confiar confie, mas verifique!

Depois do estouro da notícia de que os Estados Unidos da América estão nos espionando pela Internet, dados recentes acusam a Microsoft de ter auxiliado o governo neste quesito.

A notícia foi tirada de Globo.com:

"
A Microsoft ajudou o governo dos Estados Unidos a interceptar os dados de usuários de seus serviços na internet, segundo informou reportagem publicada nesta quinta-feira (11) pelo jornal britânico “The Guardian”.
O esforço da companhia compreendeu, inclusive, um auxílio para quebrar a criptografia (embaralhamento de código) de seus serviços na internet, de acordo com documentos vazados pelo ex-agente da CIA, Edward Snowden, que trabalha para a Agência de Segurança Naciona (NSA, na sigla em inglês), responsável por programas de espionagem.

Em junho, o "Guardian" e o "The Washington Post" revelaram que a NSA mantém um programa de espionagem on-line chamado Prism, que monitora a troca de dados feitas pelos serviços na web de Apple , AOL, Facebook, Google, Microsoft, Yahoo!, Skype, YouTube e Paltalk.
A ajuda da Microsoft ocorreu porque a Agencia de Segurança Nacional não havia conseguido interceptar os chats na web no novo portal Outlook.com, que substituiu o site Hotmail.
Os e-mails trocados pelos usuários não eram problema, porque a NSA tinha acesso a uma versão deles antes de serem criptografados. As preocupações da agência em conseguir acessar os dados no novo portal começaram ainda quando a Microsoft testava o novo portal, em julho de 2012. O novo portal foi lançado em fevereiro de 2013.
Por conta da dificuldade, a companhia passou a trabalhar com a polícia federal dos EUA (FBI) para quebrar a criptografia dos chats.
A Microsoft afirmou, por meio de comunicado, que “quando atualiza ou melhora seus produtos não se isenta de precisar cumprir com existentes ou futuras demandas legais”.
A companhia alegou que cedeu dados de consumidores “apenas em resposta às demandas governamentais e sempre os cumpriu apenas com ordens ou pedidos sobre contas e identidades específicas”.
A colaboração não se limitou ao Outlook. A Microsoft trabalhou com o FBI também para permitir à NSA acesso facilitado ao seu serviço de armazenamento SkyDrive, que possui 250 milhões de usuários.
Decisões secretas permitiram à NSA coletar dados de internautas sem mandados judiciais individuais, desde que seus alvos não fossem cidadãos norte-americanos e não estivessem dentro do território dos EUA.
No entanto, os documentos revelados pelo "Guardian", mostram que informações captadas pelo Prism eram compartilhados com o FBI e a CIA, serviço secreto dos EUA.
As empresas de tecnologia pressionam o governo dos EUA para que revelem em que nível ocorreram suas colaborações a programas de espionagem. O objetivo é mostrar aos usuários de seus serviços que houve preocupação em cumprir as políticas de privacidade. A Microsoft e outras empresas envolvidas negaram dar acesso aos seus servidores.
Veja a nota da Microsoft na íntegra:
“Nós temos claros princípios que guiam a resposta de toda a companhia em relação às demandas governamentais por informação de consumidores tanto via pedidos judiciais quanto por motivos de segurança nacional.
Primeiro, nós levamos  muito a sério nossos compromissos com nossos clientes e a aderência com a aplicação de leis, por isso cedemos dados de consumidores apenas em resposta a processos legais. Segundo, nosso time examina todas as demandas de perto, e nós as rejeitamos se acreditamos que não sejam válidas. Terceiro, apenas atendemos pedidos sobre contas e identidades específicas, e não responderíamos ao tipo de requisição discutida na imprensa ao longo das últimas semanas. Para ser bem claro, a Microsoft não cede a nenhum governo cobertura ou acesso direto ao SkyDrive, Outlook.com, Skype ou qualquer de nossos produtos.
Finalmente, quando atualizamos ou melhoramos produtos, obrigações legais, em certas circunstancias, requerem que nós mantenhamos a possibilidade de prover informação em resposta a pedidos legais ou mediante requisição em nome da segurança nacional. Existem aspectos nesse debate que gostaríamos de discutir mais abertamente. É por isso que solicitamos transparência adicional que pudesse ajudar todos a entender e debater esse importante assunto."
"

Fonte: Globo.com

Ass.: David de Almeida Bezerra Jr

quinta-feira, 11 de julho de 2013

Programação - Java Básico 05 - Manipulando dados - Parte 2!

Nunca constrói-se algo grande sozinho, pois você precisa pelo menos de um aliado para segurar a escada.

No último post da série(aqui) vimos o que são tipos de dados, como declaramos e iniciamos variáveis, e exibimos o seu conteúdo.

Hoje iremos ver como utilizar estes elementos a nosso favor, realizando operações matemáticas e armazenando os resultados em novas variáveis.

Bem, chega de papo!

Criem um novo projeto no Eclipse e criem a classe ManipulandoVariaveis:

public class ManipulandoVariaveis {
    public static void main(String[] args) {
       
    }
}


Dentro desta classe, crie 6 variáveis do tipo double (num1, num2, resultadoSoma, resultadoSubtracao, resultadoMultiplicacao, resultadoDivisao) e uma do tipo String (mensagem):

public class ManipulandoVariaveis {
    public static void main(String[] args) {
                 double num1;
                 double num2;
                 double resultadoSoma, resultadoSubtracao, resultadoMultiplicacao, resultadoDivisao;

                 String mensagem;
    }
}

Perceba o destaque da linha em azul.

Colocamos todas as variáveis "resultado" em uma linha de código só (uma linha de código só acaba quando há um ";"). É permitido declarar variáveis do mesmo tipo desta forma, com tanto que sejam separadas por vírgula umas das outras.

Agora vamos iniciar as variáveis num1 e num2 com os números 10 e 2, respectivamente:


public class ManipulandoVariaveis {
    public static void main(String[] args) {
                 double num1;
                 double num2;
                 double resultadoSoma, resultadoSubtracao, resultadoMultiplicacao, resultadoDivisao;

                 String mensagem;

                 num1 = 10;
                 num2 = 2;
    }
}

Nesta sequência, vamos agora realizar as quatro operações matemáticas (soma, subtração, multiplicação e divisão) e armazenar em nossas variáveis "resultado".

OBS.: Os símbolos de operação na programação são: Soma -> +; Subtração -> -; Multiplicação -> *; Divisão -> /;


public class ManipulandoVariaveis {
    public static void main(String[] args) {
                 double num1;
                 double num2;
                 double resultadoSoma, resultadoSubtracao, resultadoMultiplicacao, resultadoDivisao;

                 String mensagem;

                 num1 = 10;
                 num2 = 2;

                 resultadoSoma = num1 + num2;
                 resultadoSubtracao = num1 - num2;
                 resultadoMultiplicacao = num1 * num2;
                 resultadoDivisao = num1 / num2;
    }
}

Agora que já temos os valores, precisamos exibi-los e, para isso, iremos concatenar (juntar) os resultados em uma variável texto (a mensagem) e exibir este texto.

public class ManipulandoVariaveis {
    public static void main(String[] args) {
                 double num1;
                 double num2;
                 double resultadoSoma, resultadoSubtracao, resultadoMultiplicacao, resultadoDivisao;

                 String mensagem;

                 num1 = 10;
                 num2 = 2;

                 resultadoSoma = num1 + num2;
                 resultadoSubtracao = num1 - num2;
                 resultadoMultiplicacao = num1 * num2;
                 resultadoDivisao = num1 / num2;

                 mensagem = "Soma: "+resultadoSoma+" - Subtração: " +resultadoSubtracao+" - Multiplicação: "+resultadoMultiplicacao+" - Divisão: "+resultadoDivisao;

                 System.out.println(mensagem);
    }
}

Seguindo o código, o texto impresso no console foi: 
Soma: 12.0 - Subtração: 8.0 - Multiplicação: 20.0 - Divisão: 5.0

Em nossa próxima postagem veremos como capturar um valor digitado pelo usuário e armazená-lo em uma variável.

Ass.: David de Almeida Bezerra Jr

quarta-feira, 10 de julho de 2013

Programação - Jogos em JAVA J2SE!

Um bom jogo é resultado de um bom trabalho e um excelente controle, mas nunca deixe-o tomar controle de sua vida.


Hoje lembrei de um ótimo site para quem quer aprender a desenvolver jogos em JAVA para Desktop (J2SE): o Coke and Code!

Abaixo segue o link para uma gama de tutoriais, ensinando a desenvolver um jogo chamado Space Invaders.

OBS.: Está em inglês, porém quando poder, irei traduzir ou fazer um tutorial aqui no blog.

Tutorial Desenvolvendo Space Invaders:

terça-feira, 9 de julho de 2013

Notícia - Ativista cria lista de serviços para fugir do monitoramento dos EUA




Esta postagem foi originalmente postada no site Globo.com:

"
Um grupo de ativistas criou uma lista de ferramentas alternativas aos de empresas de internet como Facebook e Google, para fugir da espionagem on-line do governo dos Estados Unidos. Neste domingo, reportagem de “O Globo” mostrou que o Brasil está na lista de países monitorados pelos programas da Agência Nacional de Segurança (NSA, na sigla em inglês) (Veja site aqui).


"Eu realmente acredito que o mundo está passando por uma fase de monitoramento. É apenas natural para aqueles que detêm o poder querem tanto informação quanto possível sobre as pessoas que governam. E o atual estado da internet faz com que seja incrivelmente fácil que eles façam isso", disse o ativista Peng Zhong, criador da lista, ao G1. Mas ele não fez tudo sozinho. Veja ao lado algumas opções da lista.

A listagem criada pelos ativistas pela privacidade na internet elencam alternativas aos serviços das companhias envolvidas com o Prism (Apple, Facebook, Google, Microsoft, YouTube, Skype, AOL, Yahoo! e PalTalk), além de outros igualmente caracterizados por terem tecnologia proprietária, ou seja desenvolvida por uma companhia.

Entre as ferramentas estão bate-papos, navegadores, mapas na web, conferências por vídeo e voz, redes sociais e serviços de armazenamento de dados. “Privacidade pessoal é a liberdade conduzir a sua vida sem ser monitorado por uma autoridade central", diz Zhong.

Na lista, há ferramentas com tecnologia proprietária, como o DuckDuckGo ou o Startpage. No entanto, elas permitem navegação anônima.

Algumas dessas ferramentas são amplamente utilizadas não só por coletivos conhecidos como os Anonymous como também por "hackitivistas" (hackers ativistas) de todo o mundo. O navegador TOR, por exemplo, dá acesso à chamada Deep Web.

O GitHub, aliás, plataforma escolhida para abrigar a lista é utilizada para o desenvolvimento de projetos de grupos que querem manter projetos na web a salvo de monitoramento.

“Eu publiquei a versão inicial dessa lista em 10 de junho, com algumas opções aos softwares proprietários. Colaboradores me ajudaram a traduzir o site para várias línguas diferentes e a aumentar a seleção de programas”, explicou. Foi com essa contribuição de brasileiros que a versão em inglês foi vertida para o português.

O criador da listagem adverte, no entanto, que esses programas não deixarão os dados na web totalmente a salvo. "Usar esses programas livres não irá garantir 100% que você esteja completamente além do monitoramento da NSA, mas eles certamente fazem muito, muito mais do que se você não fizesse nada."

Conta para isso, informação contida na reportagem de "O Globo" sobre a existência de outros programas da NSA conseguem capturar dados trafegados fora do alcance dos serviços dessas empresas.

"Para proteger sua informação do governo, você precisa criptografar suas comunicações e parar de usar e-mail e outros serviços na nuvem", sugere Zhong.


"

Fonte: Globo.com

segunda-feira, 8 de julho de 2013

Programação - Java Básico 04 - Manipulando dados - Parte 1!

Não é preciso somente aceitar o que cada elemento é, mas também se aproveitar ao máximo de suas qualidades!


No último post, nós vimos como iniciar um novo projeto, fazendo uma mini aplicação que imprimia na tela "Olá Mundo!" (veja aqui).

Hoje veremos um pouco sobre tipos de dados e como manipulá-los, sendo quem estes elementos são muito importantes para a programação, já que sem eles, não seria possível armazenar e fazer operações com valores.

Tipo de dados

Também chamado de tipo de variável, define o grupo ou conjunto de valores que um elemento pode representar.

Como exemplo, podemos pegar a "idade" do "Senhor Carlos" (finjamos nós). Carlos tem 42 anos de idade, logo nós percebemos que o tipo de dados do elemento idade é número inteiro.

Primitivo e Composto

Um tipo de dados primitivo é um tipo básico, independente de criações externas (sim, você pode criar um novo tipo de dados), e como grandes exemplos deste grupo, temos: caracteres, números inteiros, números reais (com casas decimais) e booleano (pode assumir somente 2 valores, que são: verdadeiro ou falso);

O tipo composto, em JAVA, normalmente é uma classe criada com valores e métodos agregados. Exemplo:


public class Homem {
            private String nome;
            private int idade;
}


Variáveis

São os elementos que recebem a identificação do tipo de dados e armazenam valores para as operações.

Alguns dos tipos de variáveis em JAVA mais comuns são:

String - Texto
int - Número inteiro
double - Número decimal

Existem outros porém, vamos caminhar com calma.

Declarando e Iniciando Variáveis

Declarar uma variável é muito simples, basta escrever o tipo dela e depois o nome, encerrando com ponto e vírgula (;) (todas as linhas em JAVA são encerradas com este símbolo).

Exemplo:

String nome;


Para iniciar esta variável, precisamos inserir um valor nela, e para isso, seguimos o seguinte modelo:

nome = "David";

Novamente, quando terminamos uma linha de programação em JAVA, colocamos o ";".

Vamos criar um pequeno programa, declarando e iniciando algumas variáveis, então abra o Eclipse e crie um novo projeto.

Escreva a classe abaixo:

public class Variaveis {
           public static void main(String[] args){
                      String nome;
                      nome = "Carlos";

                      double altura;
                      altura=1.75;
                  
                      int idade=42;

                      System.out.println("O Senhor "+nome+" tem "+altura+" de altura e "+idade+" anos!");
           }
}


Neste código temos 3 variáveis: nome, do tipo String; altura, do tipo double; idade, do tipo int.

Perceba que tanto é possível declarar e depois iniciar (como feito na variável nome e altura), quanto declarar e iniciar ao mesmo tempo (como na variável idade).

Na linha em vermelho, o conteúdo a ser impresso é: O Senhor Carlos tem 1.75 de altura e 42 anos!

Isso porque, através do operador "+", nós estamos concatenando (juntando) os valores das variáveis para serem impressos.

Na próxima postagem veremos como fazer operações matemáticas e exibir os seus resultados na tela.

Ass.: David de Almeida Bezerra Jr

sexta-feira, 5 de julho de 2013

Artigo - A Linguagem SQL

O pior erro, se falando em ignorância, é pregar ou acreditar em um determinado assunto sem verificar a sua origem e veracidade.

Quem está inserido no meio da informática com certeza já ouviu falar em SQL (Structured Query Language), tendo pelo menos a ideia de que o termo está relacionado a bancos de dados.

O termo é muito conhecido como uma linguagem de comunicação entre SGDB (Sistema Gerenciador de Banco de Dados) e softwares de apoio, porém nem todos os profissionais atuantes da área sabem que a linguagem é dividida em alguns grupos, sendo eles:
  • DML - Linguagem de Manipulação de Dados;
  • DDL - Linguagem  de Definição de Dados;
  • DCL - Linguagem de Controle de Dados;
  • DTL - Linguagem de Transação de Dados;
  • DQL - Linguagem de Consulta de Dados;
 Nesta postagem iremos abordar os grupos em vermelho: DML, DDL e DQL.

OBS.: Em outro momento, entraremos mais afundo na utilização da linguagem.

DDL - Linguagem de Definição de Dados

Os comandos dispostos neste grupo são utilizados para criar o banco de dados e seus elementos (tabelas, triggers, O banco de dados, views, etc...), pois antes de operar algo, este algo necessita existir.

O comando mais comum utilizado aqui é o CREATE.

Exemplo:

CREATE TABLE cliente (
           codigo integer not null primary key auto_increment,
           nome varchar(50)
);

DML - Linguagem de Manipulação de Dados

Nesta sessão, classificam-se os comandos para a manipulação de dados dentro das tabelas já criadas (com a DDL), sendo aqui possível inserir, alterar e excluir dados dentro de uma tabela.

Os comandos mais comuns são: INSERT, UPDATE E DELETE.

O INSERT é utilizado para inserir dados em tabelas.

Exemplo:

INSERT INTO cliente (codigo, nome) VALUES ('1', 'David');


O UPDATE é usado para alterar determinado(s) registro(s) em uma tabela.

Exemplo:

UPDATE cliente SET nome='Alfredo' WHERE codigo='1';


Já o comando DELETE, como ele sugere, é utilizado para excluir registros em uma tabela.

Exemplo:

DELETE FROM cliente WHERE codigo='1';


DQL - Linguagem de Consulta de Dados

Aqui utiliza-se comandos para a consulta/seleção de registros dentro de tabelas, não alterando o conteúdo das relações, servindo somente para a coleta de dados já inseridos.
O comando mais comum é o SELECT.

Exemplo:

SELECT nome FROM cliente WHERE codigo='1';


É muito vasto o conjunto de possibilidades que existe no universo SQL, e eu espero ter clareado conceitos e dúvidas escrevendo este post.

Esta postagem foi destinada à definições, e não ao uso da linguagem em si, porém em um momento mais oportuno, este será nosso foco.

Ass.: David de Almeida Bezerra Jr

Notícia - Oracle anuncia primeiro banco de dados para a Nuvem!

Quando o trabalho é dividido entre vários, a conquista é alcançada de forma mais rápida e dispendiosa.

 A Computação em Nuvem (Cloud Computing) se difundiu bastante (se formos olhar desde o final dos anos 90 até os dias atuais), trazendo diversos serviços e benefícios para empresas e indivíduos.

Muitas empresas criaram e amadureceram projetos baseados na Cloud Computing, que é uma tecnologia que funciona sobre a Internet (normalmente), buscando deixar o serviço acessível em qualquer lugar do mundo, com tanto que tenha uma conexão com a grande rede.

Muitos confundem bastante o conceito de Nuvem, mas para construirmos um raciocínio correto sobre o assunto, primeiro é preciso entender que esta tecnologia, além de disponibilizar o serviço em qualquer lugar que tenha Internet, independente da plataforma (Windows, Linux, Mobile, etc...), ainda tem-se a saber que ela trabalha de forma distribuída, quebrando o trabalho em partes e distribuindo para servidores específicos. Assim o carga é processada com menos perda e mais rapidez.

A postagem abaixo foi tirada do site TiBahia:

"
Empresa anuncia que o primeiro banco de dados desenvolvido para a nuvem já está disponível para todo o mercado

Salvador, 03 de julho de 2013 - Ao adotar a nuvem, as empresas buscam tecnologias capazes de transformar os negócios e melhorar a eficácia e a agilidade operacional. O Oracle Database 12c é um banco de dados de última geração, desenvolvido para atender a essas necessidades, fornecendo uma nova arquitetura multitenant  em uma plataforma rápida, escalável, confiável e segura. Ao ingressar na nuvem com o Oracle Database 12c, os clientes conseguem melhorar a qualidade e o desempenho dos aplicativos, reduzir o tempo com a gestão de armazenamento e obter máxima disponibilidade, além de simplificar a consolidação de vários bancos de dados.
A mais recente versão do banco de dados número um do mundo, o Oracle Database 12c, está disponível para download no site da Oracle Technology Network (OTN).
O Oracle Database 12c apresenta uma nova arquitetura multitenant, que simplifica o processo de consolidação de bancos de dados na nuvem, permitindo que os clientes gerenciem vários bancos de dados como um só, sem alterar seus aplicativos.
Por ser a base do Oracle Public Cloud Services, o Oracle Database 12c oferece excelentes benefícios às empresas que estão implementando nuvens privadas de bancos de dados e aos fornecedores de software como serviço (SaaS, na sigla em inglês), que procuram o poder do Oracle Database em modelo multitenant seguro.
O Oracle Database 12c, otimizado no SPARC e nos processadores Intel® Xeon®, é uma versão completa que traz 500 recursos inéditos e é o resultado de 2.500 pessoas-ano (ou seja, 5,2 milhões de horas) de desenvolvimento e 1,2 milhões de horas de testes, além de um extenso programa beta com parceiros e clientes da Oracle.
A nova versão do banco de dados número um para a nuvem, o Oracle Database 12c, foi também desenvolvido em conjunto com o servidor recordista mundial da Oracle: o SPARC T5.
O webcast de lançamento do Oracle Database 12c será apresentado por Andy Mendelsohn, vice-presidente sênior de Tecnologia de Servidores de Bancos de Dados da Oracle, e Tom Kyte, arquiteto da Oracle, e está programado para o dia 10 de julho de 2013, às 13h (horário de Brasília).
Nova arquitetura multitenant para consolidação de bancos de dados na nuvem
O Oracle Database 12c vence os principais desafios dos clientes que estão consolidando bancos de dados em um modelo de nuvem privada, proporcionando eficiência superior, custos de gestão expressivamente menores, ao mesmo tempo que mantém a autonomia de cada banco de dados. 
O Oracle Multitenant é um novo recurso do Oracle Database 12c e permite que cada banco de dados conectado dentro na nova arquitetura multitenant funcione como um Oracle Database padrão para os aplicativos já instalados, que poderão rodar sem alterações.
Comportando a multitenant na camada de bancos de dados, ao invés de ser nos aplicativos, o Oracle Multitenant faz com que todos os aplicativos de ISV (provedores independentes de software, em português) executados no Oracle Database fiquem prontos para SaaS.
O Oracle Multitenant gerencia diversos bancos de dados como um só e aumenta a utilização de recursos do servidor, assim como reduz o tempo e os esforços exigidos nas atualizações, backups e recuperação de bancos de dados, entre outras inúmeras facilidades.
A arquitetura multitenant oferece clonagem e provisionamento praticamente instantâneos dos bancos de dados, sendo a plataforma ideal para desenvolvimento e testes de bancos de dados nas nuvens. 
O Oracle Multitenant funciona com todos os recursos do Oracle Database, como Real Application Clusters, Partitioning, Data Guard, Compression, Automatic Storage Management, Real Application Testing, Transparent Data Encryption, Database Vault, entre outros.
Otimização automática de dados
·         Para ajudar os clientes a gerenciar mais dados com maior eficiência, reduzir os custos de armazenamento e melhorar o desempenho, o Oracle Database 12c traz novos recursos de otimização automática de dados.
·         Um Heat Map monitora a atividade de leitura/gravação do banco de dados, possibilitando que os administradores identifiquem facilmente os dados hot (muito ativos), warm (somente leitura) e cold (raramente lidos) armazenados nas tabelas e partições.
·         Por meio de compactação inteligente e armazenamento em camadas, os administradores de bancos de dados (DBAs) poderão definir facilmente as políticas gerenciadas dos servidores para automatizar a compactação e a colocação de dados de OLTP, Data Warehouse e arquivamento em camadas, com base na atividade e no tempo de existência dos dados.
Segurança em camadas
·         O Oracle Database 12c inclui mais inovações de segurança que as versões anteriores, ajudando os clientes a enfrentar as crescentes ameaças e cumprir as regulamentações cada vez mais exigentes em termos de privacidade dos dados.
·         Os novos recursos de edição permitem que as empresas protejam dados confidenciais, como números de cartões de crédito, sem ter de fazer alterações nos aplicativos que os exibem, pois são editados de maneira simultânea a execução, baseados em políticas pré-definidas e nas informações da sessão da conta.
·         O Oracle Database 12c também inclui o novo Run-Time Privilege Analysis, que permite identificar as funções e os privilégios que realmente estão sendo usados, ajudando a revogar privilégios desnecessários e aplicar o mínimo deles com a segurança de que as operações da empresa não serão prejudicadas.
Disponibilidade máxima para nuvens de bancos de dados
·         O Oracle Database 12c apresenta diversos recursos de alta disponibilidade, bem como aprimoramentos às tecnologias existentes, que viabilizam o acesso contínuo aos dados empresariais.
·         O Global Data Services oferece balanceamento de carga e failover para configurações de bancos de dados distribuídos em âmbito global.
·         O Data Guard Far Sync estende a proteção de standby a qualquer distância com zero perda de dados – sem limitações em decorrência de latência.
·         O Application Continuity complementa o Oracle Real Application Clusters e mascara as falhas dos aplicativos dos usuários finais, reproduzindo de forma automática as transações que apresentaram falhas.
Eficiência na gestão de bancos de dados
·         A integração perfeita com o Oracle Enterprise Manager 12c Cloud Control auxilia os administradores a implementar e gerenciar, com total facilidade, a nova funcionalidade do Oracle Database 12c, que inclui novidades como a arquitetura multitenant e a edição de dados.
·         Os abrangentes recursos de testes do Oracle Real Application Testing podem ajudar os clientes a validar estratégias de atualização e consolidação por meio de testes simultâneos e colocação do sistema em cargas de produção reais.
Simplificação das análises de Big Data
·         O Oracle Database 12c aprimora os recursos MapReduce residentes no banco de dados para Big Data por intermédio da correspondência de padrões de SQL, que viabiliza a descoberta imediata e escalável de sequências de eventos empresariais, como transações financeiras, logs de rede e de sequência de cliques (clickstream).
·         Os analistas de dados podem analisar as informações empresariais e Big Data com maior eficácia, devido aos novos algoritmos preditivos residentes no banco de dados e à integração ainda maior da linguagem R de código aberto com o Oracle Database 12c.

"

Fonte: TiBahia

Ass.: David de Almeida Bezerra Jr

quinta-feira, 4 de julho de 2013

Programação - Java Básico 03 - Olá mundo! - O primeiro programa!

Para tudo há um começo, e por mais inútil que seja o início, nada existiria sem ele.

Vimos no post passado como preparar o nosso ambiente de desenvolvimento JAVA (caso não tenha visto, clique aqui) e, graças a isso, é que agora conseguiremos começar a realmente escrever código. Vamos lá!

Neste primeiro contato com a linguagem, será explicada a estrutura básica de um programa em JAVA, não aprofundando muito (ainda) em determinados elementos.

Como foi falado em posts passados, a linguagem JAVA trabalha com classes, sendo que tudo é uma classe ou está dentro de uma.

Praticamente falando, uma classe é um arquivo.
Veja a imagem abaixo:
O arquivo HelloWorld.java é o Código-Fonte escrito na linguam JAVA (o que nós iremos escrever logo logo), enquanto que o HelloWorld.class é a nossa Classe JAVA gerada a partir da compilação do arquivo HelloWorld.java.

Um programa em JAVA somente pode ser iniciado através de uma classe que contenha o método Main, que segue um padrão bem simples de escrita (veremos o que são métodos nas postagens seguintes).

Observe o código abaixo:

public class NomeDaClasse {
           public static void main(String[] args){

           }
}


Este é o primeiro código que se escreve ao desenvolver um programa em JAVA, pois a partir dessas linhas é que cria-se a Classe principal e o método Main, aquele que faz com que o aplicativo seja inicializável.

O termo "public class NomeDaClasse" é quem cria e define o nome da classe.

Perceba que códigos pertencentes a um mesmo bloco ficam dentro de chaves({}), e a cada chave, parêntese ou cochete aberto, é necessário um outro para fechá-lo.

Bem, chega de papo e vamos escrever o nosso primeiro programa!

Olá Mundo!

Primeiro de tudo, abra o Eclipse.

Se é a primeira vez que você abre, ele pedirá para que informe a pasta onde será o espaço de trabalho (aonde os projetos e códigos-fonte ficarão).

Se preferir, deixe como está.

Após o carregamento, feche a aba que aparece aberta e direcione-se até o menu File > New > Java Project.
Na janela que se mostra agora, digite OlaMundo no campo Project name.
OBS.: Digite exatamente do jeito que está, sem acentos ou separações.
Pressione o botão Finish, e então o nosso projeto está criado, porém sem classes nem finalidade, logo, não pode ser compilado (transformado em programa).

Precisamos criar a nossa classe principal (aquela que contém o método Main), para isso, na barra lateral esquerda (Package Explorer), clique do lado do projeto OlaMundo para expandir as pastas, e em seguida, clique com o botão direito do mouse na pasta src.

No menu que abriu, vá até New > Class.
Digite OlaMundo no campo Name e clique em Finish.

Logo, percebemos que a Classe foi criada já com código escrito, pois é isso que as ferramentas de desenvolvimento buscam, agilizar o processo de codificação, gerando código automático.
Para estudo, aconselho que apague todo este código e escreva todo do zero, pois ajudará no processo de aprendizado.

Na parte do centro da IDE, digitaremos o seguinte código, que fará parte da classe OlaMundo:

public class OlaMundo {
         public static void main (String[] args){

         }
}

O JAVA é uma linguagem Case Sensitive (aquela que diferencia letras maiúsculas de letras minúsculas), logo digite tudo do jeito que está aí em cima, respeitando maiúsculas e minúsculas.

Pronto! Criamos o alicerce da nossa classe!
OBS.: O Eclipse consegue gerar todo esse código automaticamente (inclusive o método Main), mas por questão de aprendizado (falo novamente ^^), é preferível digitar todo o conteúdo.

Agora, clique com o botão direito em cima da classe OlaMundo (no Package Explorer ou no Editor) e direcione-se até Run As > Java Application.

Perceba que nada acontece, porém o programa foi gerado.

Nada acontece porque o aplicativo não foi programado para fazer nada.
Vamos dar uma finalidade para ele! Digite, em seu código, a linha em vermelho abaixo:

public class OlaMundo {
         public static void main (String[] args){
                      System.out.println("Olá Mundo!");
         }
}

Agora execute do mesmo jeito que fizemos anteriormente.
Perceba que o programa escreveu no console "Olá Mundo!".
Isto aconteceu porque na linha System.out.println("Olá Mundo!"); programamos a aplicação para imprimir na tela a string (texto) que está entre parênteses.

String é um tipo de dados, e dados são valores armazenados que os programas utilizam para guardar resultados ou realizar operações.

Bem, isso é tudo, e no próximo post veremos mais sobre tipos de dados, variáveis e operações com valores.

Ass.: David de Almeida Bezerra Jr

quarta-feira, 3 de julho de 2013

Programação - Java Básico 02 - Instalando o Ambiente de Desenvolvimento

Mesmo uma linguagem de programação compilada-interpretada precisa de um ambiente de desenvolvimento!

Seguindo a nossa série de posts sobre a linguagem JAVA, esta é a segunda parte desta onda, sendo que será abordado a preparação do seu ambiente de desenvolvimento JAVA. Chega de papo! Mãos "na obra"!

JRE e JDK

Como vimos no post passado, programas precisam de um Compilador, para serem gerados, e de um Launcher, para serem executados (veja o post anterior). O Compilador da linguagem JAVA é o JDK (Java Development Kit), e o Launcher (Máquina Virtual) é o JRE (Java Runtime Environment). Ambos são baixáveis no site do Java. Acessem e baixem nos links abaixo:


Faça os downloads e instale as versões corretas para o seu Sistema Operacional (Windows, Linux, etc...).

IDE (Integrated Development Environment)

Agora precisamos de um Editor para começarmos a criar os nossos programinhas, e dentre muitos, o meu preferido é o Eclipse.

Sinta-se a vontade para explorar novas IDEs.

O Eclipse não é só uma ferramenta para JAVA, mas também para outras linguagens, logo baixe a versão correta. Eu indico a Eclipse IDE for Java Developers.


Baixe e descompacte, de preferência, em uma pasta dentro do diretório do usuário. Exemplo (No Windows - C:\Users\David\eclipse; No Linux - /home/david/eclipse).

Pronto! Agora nosso ambiente de desenvolvimento JAVA  já está pronto! Para testar se está tudo OK, execute o programa eclipse, dentro da pasta extraída.

No próximo passo, iremos gerar o nosso primeiro programa em JAVA!

Qualquer dúvida ou problemas encontrados, deixem nos comentários!

Ass.: David de Almeida Bezerra Jr 

Programação - Java Básico 01 - O que é a Linguagem JAVA

A linguagem JAVA é uma das mais usadas hoje em dia, nos garantindo inúmeras possibilidades.

Este é o primeiro de muitos outros posts voltado à área de programação, e como primeira linguagem, foi escolhido o JAVA, que é uma das mais difundidas entre os programadores da atualidade.

Neste primeiro momento estaremos conhecendo um pouco sobre a linguagem de programação a ser estudada, abordando sobre Launcher, CompiladorEditor perante a linguagem JAVA.

Mas o que são launchers, compiladores e editores?

Launcher

Bem, um launcher é aquele programa, ou conjunto de programas que executam os programas. Isso mesmo, para que um programa seja executado, ele precisa ser chamado por outro.

No JAVA, se quisermos abrir um programa "na mão", precisamos abrir um terminal (No Microsoft  Windows, Menu Iniciar > Executar, digita CMD e tecle Enter) , digitar "java NomedaClasse.class" ou "java -jar NomeDoPrograma.jar".

Esta linguagem trabalha com Orientação a Objetos, sendo que tudo gerado nela se transforma em classe ou está dentro de uma.

Uma Linguagem Orientada a Objetos tenta tratar o código de uma forma mais humana, possibilitando abstrair um objeto da vida real para dentro do código-fonte. 

Exemplo:

Banco

Se fôssemos criar uma classe para este objeto, precisaríamos capturar atributos (Nada de programação ainda), então:

Classe Banco {
      Atributo cor=marrom;
      Atributo material=madeira;
      Atributo tipo=tamburete;
}

Veremos mais a frente o que é classe, objeto e como tratá-los.

Compilador

É o programa, ou o conjunto de programas, que transforma o código-fonte escrito na linguagem de programação para a linguagem de máquina (o programa em si).

A linguagem JAVA não é como as tradicionais, que gera um programa binário que é executado pelo launcher padrão do sistema operacional (linguagem compilada), nem mesmo funciona como scripts de linguagens interpretadas.

Na verdade, esta linguagem é uma híbrida, pois primeiro o programa é compilado, porém são gerados bytecodes, que são interpretados pelo Launcher padrão do JAVA, que nós chamamos de Máquina Virtual JAVA (JVM).

Editor

Também chamados de IDE, é o ambiente onde criamos o código-fonte.

Existem IDEs chamadas ferramentas RAD (Rapid Application Development), que nos ajudam a programar de uma forma muito mais rápida, e inclusive iremos utilizar uma dessas ferramentas para trabalhar.

Em nosso próximo post estaremos instalando o nosso ambiente de desenvolvimento.

Ass.: David de Almeida Bezerra Jr

Artigo - De volta a ativa!

  
Olá a todos que visitam este humilde diário de informações!

Venho hoje até vocês para informar a retomada das atividades do blog, pois uma poderosa fonte de informações como esta não pode parar, não é verdade?

Estaremos criando uma nova categoria de Posts, que é ela a "Programação".

Dentro deste novo universo estaremos postando dicas básicas e avançadas sobre desenvolvimento de softwares e banco de dados.

Então, posso garantir aos senhores e senhoras que o nosso Diário da Informática ficará muito mais interessante daqui para frente.

Até a próxima!

Ass.: David de Almeida Bezerra Jr