quarta-feira, 31 de agosto de 2011

Conceito Básico de Pilha ( Estrutura de Dados )

- Pilha utiliza o FIFO ( First IN, Fist OUT), ou seja, o ultimo que entrar na pilha será o primeiro a sair.

Ex:

* Quando fizemos uma pilha de prato, o ultimo que colocamos se torna o topo e quando for retirado para uso, esse ultimo será o primeiro a sair.

Para manusear isso, o JAVA contem alguns comandos como o POP, PUSH, PRINT e PEAK.

  • Push - Serve para inserir valor na Pilha
Ex: Temos aqui uma variável Pilha p e queremos introduzir elementos (a, b, c) à ele:
Então;
p.push("a");
p.push("b");
p.push("c");

  • Pop - Serve para retirar o top da pilha
Ex: Continuando com a variavel Pilha p contendo os elementos {a, b, c}, vamos agora retirar o topo da pilha , ou seja, o elemento c:
Então;
p.pop();

  • Print - Serve para imprimir os elementos da pilha
Ex: Efetuando esses comandos em cima, quero saber agora quais elementos então na Pilha p:
Então;
p.print();
//*No console irá aparecer {a,b}
  • Peak - Serve para mostrar qual o elemento que está no topo da pilha
Ex: E se eu quiser saber o elemento que está no topo da Pilha p:
Entao;
p.peak();
Detalhe: Para declarar uma Pilha, você tem que fazer o seguinte...

Pilha p = new Pilha (TAMANHO);
Isso se chama instanciar, pois ja existe um método.
Pilha = Tipo da variável
p = Variável;
new Pilha = Manipular a Variavel "p" o usando o Método de Pilha criado.

ex:
public class Pilha{
    public static void main(String[] args){
      Pilha p = new Pilha (10);
.
.
.
    }
}

domingo, 28 de agosto de 2011

Gordon



Novidade esse mês a Universidade da Califórnia, em San Diego, nos Estados Unidos, anunciou a construção do primeiro supercomputador a usar a tecnologia de armazenamento de estado sólido ao que deram no nome de Gordon.

Esse super computador será o primeiro a usar cartões SSD de memória de forma intensiva para o armazenamento de dados. Gordon deverá começar a funcionar em Janeiro de 2012.

Configurações do Gordon:

Terá 256 terabytes de memória flash exclusivos para o armazenamento de dados.
Gordon terá também à sua disposição,4 petabytes de discos rígidos, mostrando que os velhos e bons HDs ainda não estão assim tão fora de moda.
Terá 1024 nós que serão agrupados em 32 "supernós", com 64 gigabytes de DRAM e capacidade de 195 gigaflops por nó.
Um supernó também incorpora 2 nós de entrada e saída, cada um com 4 TB de memória flash.
Quando interligados por uma memória virtual compartilhada, cada um dos 32 supernós terá um potencial superior a 6 teraflops de processamento e 10 terabytes de memória (2 TB de DRAM e 8 TB de memória flash).
O pico de desempenho esperado é de 7,7 teraflops por supernós e de 245 teraflops para o sistema todo.
o supercomputador Gordon será voltado para aplicações intensivas em bases de dados, ele deve alcançar velocidades nas consultas de até 100 vezes que computadores com discos rigidos normais.

Para mais informações sobre o Gordon acessem:

http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=primeiro-supercomputador-usar-memorias-flash-estado-solido&id=010150110811&ebol=sim

Dicas de Modelo ER e Relacional ( Banco de Dados )

Primeiramente, temos que criar o modelo E-R de acordo com o texto passado. Em seguida é que fazemos o Modelo Relacional.
Aqui vai alguns significados:

Entidade Forte: É uma entidade que possui um Atributo Chave.
Representação: RENTANGULO.

Entidade Fraca: É uma entidade que não possui um Atributo Chave. É composta apenas por um Atributo Parcial.
Representação: DUPLO RENTANGULO.

Atributo Chave: É um atributo, cujo seu valor será único para cada cadastro.
Representação: ELIPSE SUBLINHADA.
Ex: CPF, Código, Matricula, CNPJ, etc.

Atributo Chave Parcial: É um atributo que não é tão único em uma entidade, tendo uma possibilidade de ter valor repetitivo nos cadastro. Para identificá-lo terá que existir um bom-senso.
Representação: ELIPSE SUBLINHADA (PONTILHADO)
Ex: Nome, Data_Nascimento, etc.

Atributo Monovalorado: É um atributo simples, será atribuido um único valor.
Representação: ELIPSE.
Ex: Nome, Sexo, Idade, etc.

Atributo Multivalorado: É um atributo que irá conter mais de um valor cadastrado.
Representação: DUPLA ELIPSE.
Ex: Emails, Fones, etc.

Atributo Determinante: É um atributo que irá definir o valor de outro atributo.
Representação: ELIPSE.
Ex: Data_Nascimento, Data_Construção, etc.

Atributo Derivado: É um atributo pré-determinado.
Representação: ELIPSE PONTILHADA.
Ex: Idade, Tempo_de_Obra, etc.

Atributo Composto: É um atributo que liga outros atributos que contém o mesmo conteúdo, criando um único atributo.
Representação: ELIPSE LIGANDO OUTRAS ELIPSES.
Ex: Endereço ( Cidade, CEP, Bairro ), Nome (Primeiro_Nome, Ultimo_Nome), etc.

Infelizmente eu não tive essa idéia antes, de criar um blog para colocar algumas explicações dos assuntos que poderiam cair nas provas. Mas vou começar a fazer isso. Segunda - feira irá ter prova de Estrutura de Dados. Brevemente aqui vai estar algo sobre pilha.

Mais tarde terá algo sobre o resto do Modelo E-R e as Regras do Modelo Relacional.
Aqui agora um exemplo simples.



TI Verde (Green TI)

TI Verde é um novo conceito de mercado que consiste na prática sustentável de produção, gerenciamento e descarte dos equipamentos eletrônicos, bem como economia de energia elétrica. Para muitos especialistas, essa é a maior revolução depois do surgimento da informática. Utilizar melhor a tecnologia e diminuir o uso de recursos não renováveis. Esse é o maior desafio da TI Verde que tem entre os adeptos, empresas como IBM, HP e Microsoft.

As empresas também têm fabricado produtos, como parte externa de computador e impressoras, com materiais biodegradáveis, como é o caso da HP, maior fabricante mundial de computadores. A redução no uso de papel e de tinta, derivada do petróleo, é outro foco da TI Verde. Para isso, é possível substituir os documentos impressos por certificados digitais, que no Brasil são amparados pela legislação. A má colocação do Brasil no ranking segundo o estudo, deve-se ao fato das empresas brasileiras viverem às voltas com preocupações de infra-estrutura. Assim, os investimentos em TI verde ficariam limitados a um terço das empresas, que já possuem infra-estrutura sólida.

Enquanto a maioria das pessoas associa simplesmente à economia de papel, a tecnologia da informação verde implica em uma série de ações e práticas que são revertidas em economia para as empresas. Uma das principais vantagens da TI verde é a economia de recursos de energia, fator que se deve em grande parte às tecnologias de virtualização e desenvolvimento de máquinas, cada vez menos dependentes e consumidoras de energia. O recurso de virtualização permite que um mesmo servidor rode aplicações para diferentes tecnologias, diminuindo o número total de servidores ligados, o que eleva a eficiência no consumo de energia. Só com a virtualização já é possível aplicar os princípios da TI verde, uma vez que a tecnologia permite o uso maximizado de uma menor quantidade de equipamentos.

Mesmo com todos dedicando mais atenção ao tema ainda é preciso um esforço maior para que se chegue a um cenário favorável. Não basta pensar somente em equipamentos, mas sim toda a gestão dos departamentos de tecnologia. Desde a maneira como os recursos são utilizados, passando pelo papel da impressora e até o descarte desses equipamentos, que hoje representam um dos grandes problemas de impacto ambiental. Para a implantação de uma política verde efetiva é necessário todo um gerenciamento do desempenho de hardware e também dos serviços agregados, para então se pensar na economia com a energia, por exemplo. O que as empresas devem entender é que esse investimento representa ganhos, mesmo que inicialmente impacte em investimento é um planejamento para economia futura e o meio ambiente agradece.

Algumas empresas têm investido em TI verde, criando também o Computador “Verde” sendo é um computador ecológico, que consome menos materiais na sua produção, é reciclável e não consome tanta energia. Existem também alguns casos em que os computadores, principalmente portáteis, e outros dispositivos, como ratos e teclados, são feitos com bambu. Esses portáteis possuem uma camada exterior em bambu em vez de plástico, reutilizando assim a madeira que a natureza nos dá e evitando o lançamento de gases para a atmosfera na fabricação do plástico que será utilizado em vez desse bambu.

quinta-feira, 25 de agosto de 2011

Xampp

XAMPP é um servidor independente de plataforma, software livre, que consiste principalmente na base de dados MySQL, o servidor web Apache e os interpretadores para linguagens de script: PHP e Perl. O nome provem da abreviação de X (para qualquer dos diferentes sistemas operativos), Apache, MySQL, PHP, Perl. O programa está liberado sob a licença GNU e atua como um servidor web livre, fácil de usar e capaz de interpretar páginas dinâmicas. Atualmente XAMPP está disponível para Microsoft Windows, GNU/Linux, Solaris, e MacOSx.


Oficialmente, os desenvolvedores do XAMPP só pretendiam usá-lo como uma ferramenta de desenvolvimento, para permitir aos programadores de websites e programadores testar seu trabalho em seus próprios computadores, sem necessitar acesso algum à Internet. Na prática atual, XAMPP é utilizado atualmente para servir sites web na WWW, e com algumas modificações é geralmente seguro para uso em servidor público. Uma ferramenta especial é incluída para proteger facilmente as partes mais importantes e sensíveis do pacote. O XAMPP possui aplicativos, bem como, o Apache, MySQL, phpMyAdmin, FileZilla FTP Server, OpenSSL.

A sigla *AMPP significa 'A'pache, 'M'ySQL, 'P'HP e 'P'erl. O "X" é para qual sistema o pacote foi desenvolvido: "L" para Linux, "W" para Windows, por exemplo (ou seja, WAMPP para Windows, LAMPP para Linux).

segunda-feira, 22 de agosto de 2011

JSP







O Que é JSP?





JSP é a abreviação de Java Server Pages, que em português seria algo como Páginas de Servidor Java. É então, uma tecnologia orientada a criar páginas web com programação em Java.

Com JSP podemos criar aplicações web que se executam em vários servidores web, de múltiplas plataformas, já que Java é em essência uma linguagem multiplataforma. As páginas JSP estão compostas de código HTML/XML misturado com etiquetas especiais para programar scripts de servidor em sintaxe Java. Portanto, poderemos escrever as JSP com nosso editor HTML/XML habitual.


As páginas JSP está baseado nos servlets de Java, embora o número de desenvolvedores que podem afrontar a programação de JSP é muito maior, dado que é muito mais simples de aprender que os servlets. Em JSP criamos páginas de maneira parecida a como se criam em ASP ou PHP, outras duas tecnologias de servidor. Geramos arquivos com extensão .jsp que incluem, dentro da estrutura de etiquetas HTML, as sentenças Java a executar no servidor. Antes que os arquivos sejam funcionais, o motor JSP realiza uma fase de tradução dessa página em um servlet, implementado em um arquivo class (Byte codes de Java). Esta fase de tradução se realiza habitualmente quando se recebe a primeira solicitação da página .jsp, embora exista a opção de pré-compilar em código para evitar esse tempo de espera na primeira vez que um cliente solicita a página.




No JSP existem 5 tags:



1 - Declaration tag
Esta tag permite declarar variáveis e métodos.

2 - Expression tag
Esta tag permite mostrar algum resultado.


3 - Directive tag
Esta tag permite dar informação sobre a página ao motor JSP.


4 - Scriplet tag
Todo o código entre <% %>é chamado de scriptlet.


5 - Action tag
Esta tag permite efectuar 3 coisas principais:
1) permite usar Javabeans.


2) controle da transferência entre as páginas .
3) suporte independente pelos browsers de applets Java.

domingo, 21 de agosto de 2011

Engenharia de Software



  • O que é Engenharia de Software?
  • Como surgiu?
  • Quais suas vantagens?

A Engenharia de Software consiste em uma engenharia relacionada a todos os aspectos de produção de softwares.
Surgiu em 1969 quando as empresa de desenvolvimento de software se uniram para discutir uma maneira de desenvolver sistemas sem ter tanto atraso e aumento nos custos prejudicando os seus clientes.
A vantagem da Engenharia de Software é a forma mais eficiente de desenvolvimento de um software. Sendo assim, melhorando a qualidade e diminuindo o tempo e os custos.

- Existem vários tipos para o Desenvolvimento de um Software.

  1. Cascata
  2. Prototipação
  3. Iterativo
  4. Espiral

Qual o melhor? DEPENDE DO CLIENTE.
  • Cascata:
Levantamento de Requisitos - Analise de Requisitos - Projeto - Implementação - Teste - Implantação.

Levantamento de Requisitos = Principal fase para um desenvolvimento de software, pois colhe os requisitos de uma empresa ( A nessecidade da Empresa).
Análise de Requisitos = Tenta entender essa "necessidade" que a Empresa tem.
Projeto = Desenha a Planta Baixa do Software para ser codificada.
Implementação = Codifica o Software.
Teste = Faz testes no software buscando os problemas na codificação para que esses erros sejam corrigidos antes de ser implantado no cliente.
Implantação = É a parte de instalação/treinamento do sistemas.
O modelo Cascata é mais indicado para Clientes de Pequeno porte, pois é um sistema que corre o risco de sair com o custo maior que o esperado.
  • Prototipação
A Primeira fase desse moledo é a criação de um protótipo, para que o cliente veja como o sistema irá ser.
LADO POSITIVO
- O Cliente visualiza a construção
- Requisitos Adequados
LADO NEGATIVO
- O Cliente pode pensar que já está pronto o sistema
- Baixo re-uso
- Dificil manutenção
- Risco no Projeto
É indicado para clientes que querem ver como a "cara" do sistema irá ser, pois ele pode querer mudar quando o sistema tiver feito, e assim causando um atraso na entrega.
  • Iterativo
Utiliza a mesma estrutura do Espiral, porem existe uma ligação direta entre as fases do desenvolvimento.
LADO POSITIVO
- Desenvolvimento Evolutivo
- Projeto Componentizado
LADO NEGATIVO
- Refactoring
- Custo de Mudança
É indicado para empresa que podem mudar alguns requisitos durante o desenvolvimento.
  • Espiral
Requisitos - Engenharia - Implementação - Avaliação
É um sistema de desenvolvimento que é indicado para altos investimentos, pois tem um baixo risco de erros, pois é desenvolvida por cada requisito e sempre interagindo com a empresa.



Rosemberg Lima

quinta-feira, 18 de agosto de 2011

Pen Driver (Caixa de Pandora)











Pen Drive e Autorun:


O processo autorun.exe ou (autorun. inf) é um processo genérico do Windows 98/NT/Me/2000/XP que serve para executar automaticamente um programa quando inserido nas saidas USB, ou CD-ROM, como visto no site: http://support.microsoft.com/kb/136214/pt-br.


Esse processo de leitura automaticamente todos os arquivos existentes no pen drive,CD ou DVD.E se programado pode executar qualquer software sem a menor permissao do usúario.
No Windows 7 esse processo foi substituido por outro chamado AutoPlay onde nós usuarios podemos selecionar o que poder ser executado ou não o que diminue as chances de infecção, mas mesmo assim não soluciona o problema de propagação.


Infecção portátil:


Hoje em dia a tecnologia UBS esta com seu uso em alta.E uma das ferramentas USB mais utilizadas é o pen drive.
Os pen drives surgiram no ano 2000, tem uma capacidade de armazenamento que pode chegar até 32Gb*, e a sua velocidade também varia muito, depende do computador que o mesmo estiver plugado, apos inserido em uma das saidas USB do computador são automaticamentes reconhecidos pelo Windows como um disco removível ou como dispositivos removíveis.

* Segundo esse forum http://www.guiadowindows.com/showthread.php?tid=294,

A Kingston lançou em 2009 um pendriver com capacidade para 256 GB.

Por ser portatil e ter a capacidade de armazenar todos tipos de arquivos, o pen drive tem se tornado muito popular.
Mais essa popularidade chamou a atenção dos “criadores de virús”, que perceberam a oportunidade e fizeram dessa ferramenta uma faca de dois gumes, pois ao mesmo tempo que pensamos estar apenas transportando arquivos de forma pratica, podemos também está com alguns virus, prontos para se propagarem.
Não é preciso executalo pois o autorun se encarregará disso, pois é após plugar o seu pen drive, o processo irá instalar o malware sem nen mesmo avisar, e seu computador ja estará infectado, disponibilizando infecção.


Que virus são esses?


Esses virus são a maioria das vezes da familia “Trojan.Win32” classificação dada pela empresa ALWIL Software, criadora do avast! antivirus, esse tipo de virús se alastra como uma praga infectando todos os arquivos .exe e algumas DLLs dos Windows o que não é muito bom.
As vezes também o dano causado é um pouco menor, apenas serem identificados pelo o anti-virus que não consegue removelos, e por conta disso não permite mais a execução do programa infectado (isso é muito chato).


Como se proteger?


Existem alguns softwares na rede que prometem solucionar esse tipo de problema como é o caso do Autorun Eater , Ninja Pendisk! , USB Show , USB Security (Esse eu já usei muito bom) dentre outros, mas o mais aconselhavel a fazer quando estiver com esse problema é mesmo a formatação tanto do pen drive quanto dos computadores a que ele foi exposto.

Outra forma também de prevenção seria a desabilitação desse processo no SO. No proprio site da Microsoft tem passo a passo de como fazelos: http://support.microsoft.com/kb/967715/pt-br.