Informações, Novidades e Empregos em Tecnologia e Concursos Públicos em TI

CONCURSOS PÚBLICOS – DESENVOLVIMENTO DE SISTEMAS

Livro Java Basico

O livro Livro Java Básico é um ótimo material para programadores iniciantes ou intermediários na linguagem de programação Java. Este livro foi desenvolvido pela escola superior de redes sendo recomendado para estudantes de faculdade, concursos públicos e profissionais de TI em geral. Vale a pena conferir.

Paginas: 199

Formato: PDF

Tamanho: 3.8 MB

Download MEGA:http://preview.tinyurl.com/k79wrbw

DEIXE O SEU COMENTÁRIO.


Desenvolvimento em cloud: os IDEs foram para a nuvem

A quantidade de soluções para Cloud Computing e o aumento em investimentos nessa área trazem a sensação de que tudo está se movendo para a nuvem. Agora a bola da vez são os IDEs. A proposta com os ambientes de desenvolvimento em nuvem é permitir, entre outras vantagens, que programadores não se preocupem com configurações do ambiente e outros detalhes locais, podendo escrever código a qualquer momento e de qualquer lugar, bastando dispor de um equipamento com navegador moderno e, claro, acesso à internet.

Os desenvolvedores de várias linguagens importantes, como Java, Python, JavaScript, C#, Ruby e PHP, já contam com serviços na web oferecendo IDEs. Boa parte não tem custo. Neste artigo, é apresentada algumas das principais IDEs na nuvem.

 

Eclipse Orion

Eclipse Orion, projeto liderado pela Fundação Eclipse, disponibiliza suporte básico a escrita de código Java e tecnologias para web. Há várias funcionalidades para escrita de código, como autocompletar código e realce de sintaxe, para Java, HTML, CSS e JavaScript. O Orion usa o Git como sistema de controle de versões, mas ainda não foi integrado a ambientes de implantação de projetos em nuvem (por exemplo, Heroku, CloudBees ou Openshift).

Em paralelo ao Orion, a Fundação Eclipse disponibiliza o OrionHub, que hospeda a implementação do Orion, tornando-o acessível ao desenvolvedor. Para experimentar o Eclipse Orion no OrionHub, o desenvolvedor precisa informar um email no site do projeto, sem qualquer custo. O InfoQ Brasil, tem acompanhado os projetos de perto, começando pelo lançamento do OrionHub; em seguida cobrimos a versão 0.2 do Orion e recentemente, a versão 0.3. As três referências apresentam outros detalhes sobre o funcionamento do IDE em nuvem da Fundação Eclipse.

Eclipse Orion

 

eXo Cloud IDE

eXo Cloud IDE é um ambiente de desenvolvimento colaborativo disponível na web para as linguagens Java, PHP e Ruby, além de HTML5/JavaScript. O ambiente traz a navegação em múltiplas janelas, permitindo que o desenvolvedor edite vários arquivos ao mesmo tempo (algo comum no desktop, mas ainda inovador no ambiente de cloud). Da mesma forma que o Orion, o editor tem a funcionalidade de autocompletar código e realce de sintaxe, além de atalhos de teclado. O Git também é o sistema de controle de versões.

O ponto forte do eXo Cloud é o suporte a múltiplos ambientes para o implantação de projetos em ambientes de cloud, entre eles:

  • CloudBees, ambiente com suporte a projetos escritos em Java, integrado ao controlador de versões Git, com a opção de Integração Contínua através do Jekins e Maven.
  • Heroku, plataforma de cloud com suporte a projetos desenvolvidos em Ruby e Java. O Heroku também é integrado ao controlador de versão Git.
  • OpenShift: alternativa para implantação de projetos na nuvem. Projetos desenvolvidos em Java, PHP ou Ruby podem ser implantados diretamente no OpenShift Cloud Express.
  • Amazon Elastic Beanstalk: o eXo Cloud IDE pode ser adicionado em uma instância do Elastic Beanstalk.

O serviço está disponível sem custo. O desenvolvedor precisa criar uma conta informando o email e um nome do domínio (ex: dominio.cloud-ide.com) para definir um host que fica vinculado ao conteúdo dos projetos no eXo Cloud IDE.

eXo Cloud IDE

eXo Cloud IDE

Cloud9 IDE

O IDE Cloud9 é mais uma alternativa para IDE colaborativa, acessível via web com algumas funcionalidades complementares voltadas à gestão de projetos. Seu editor de código suporta HTML, JavaScript, CSS, CoffeeScript, Ruby e PHP. O IDE se integra aos controladores de versão distribuídos Git e Mercurial, com a possibilidade de integrar o projeto ao GitHub ou ao BitBucket.

A ferramenta permite implantação de projetos nos ambientes Joyent e Heroku (é necessário criar uma conta para utilização). Para projetos públicos e open source, o Cloud9 IDE é gratuito; no caso de projetos privados o custo é de 15 dólares por mês para cada usuário.

Cloud9 IDE

Cloud9 IDE

Python Fiddle e JS Fiddle

Python Fiddle traz uma proposta mais simples que os três IDEs já descritos. Ele oferece um editor e um runtime online para código escrito em Python. O editor conta com algumas teclas de atalho e o suporte a realce de sintaxe. Outra característica é o suporte a alguns módulos escritos em Python e a possibilidade de compartilhar código entre desenvolvedores.

O Python Fiddle está imediatamente disponível para qualquer pessoa; não é necessário criar uma conta, basta escrever um trecho de código Python e executar diretamente no site. Para usar algumas funcionalidades, entretanto, é solicitado o login usando uma conta do Twitter, Facebook ou Google. Um detalhe: a IDE deve ser acessada por navegadores com suporte a HTML5 (ex.: Chrome, Firefox e IE9).

JS Fiddle também disponibiliza um runtime e um editor; o foco, no entanto, é em JavaScript, HTML e CSS. O desenvolvedor consegue editar os três tipos de conteúdo na mesma tela, em áreas distintas, e tem a possibilidade de validar o resultado final combinando as três partes. Uma característica do JS Fiddle é o suporte a diversos frameworks JavaScript em diferentes versões, incluindo JQuery, Dojo, Mootools, Prototype e ExtJS.

Tanto o JS Fiddle como o Python Fiddle são ferramentas simples e diretas, que o desenvolvedor pode utilizar sem a necessidade de criar uma conta; basta acessar pelo browser e começar a codificar. As duas ferramentas não possuem integração com controladores de versão, nem suporte à implantação dos projetos em um ambiente cloud.

Python Fiddle

Python Fiddle

JS Fiddle

JS Fiddle

CodeRun Studio

CodeRun Studio oferece suporte em cloud, a C#, ASP.NET, Silverlight, PHP, JavaScript, HTML e CSS. A proposta da ferramenta é centralizar o ambiente de desenvolvimento e execução em nuvem numa única plataforma. O CodeRun integra-se ao SQL Server e ao Amazon SimpleDB.

Para utilizar a IDE do CodeRun, o desenvolvedor não tem nenhum custo, e é possível realizar um test-drive no site do projeto, sem a necessidade de criar uma conta. A CodeRun fornece um outro serviço pago, chamado CodeRun Cloud, para a hospedagem integrada ao IDE, tornando possível a implantação no ambiente EC2 da Amazon.

CodeRun Studio

CodeRun Studio

IDEs em Cloud: o futuro?

Há ainda muitos desafios a serem enfrentados ao desenvolver sistemas na nuvem; por exemplo, como lidar com a cultura das empresas/equipes de desenvolvimento, como manter a segurança e garantir funcionalidades avançadas disponíveis em IDEs tradicionais, e como fazer a integração com outros aplicativos que compõem um kit de desenvolvimento.

Essas questões devem ser respondidas ou solucionadas com o amadurecimento das ferramentas e das próprias tecnologias de nuvem, e com o surgimento de novas empresas e desenvolvedores adeptos à nova estratégia de trabalho. O conceito de desenvolver software online, na nuvem, é muito recente, mas é possível identificar um grande potencial apenas examinando o que está disponível hoje. O futuro dos IDEs certamente passa pela nuvem.

Autor:  Eder Magalhães

Fonte: http://www.infoq.com/br/articles/ides-em-cloud


O que é Banco de Dados Distribuídos

Um sistema de banco de dados distribuído (BDD) consiste em um relação de nós, cada qual podendo participar na execução de transações que acessam dados em um ou mais nós. Em um sistema de banco de dados distribuído, o banco de dados é armazenadoem diversos computadores (nós). Os computadores, em um sistema distribuído, comunicam-se uns com os outros por intermédio de vários meios de comunicação, tais como: redes de alta velocidade, redes sem fio ou linhas telefônicas, eles não compartilham a memoria principal e o relógio.

A diferença principal entre sistemas de banco de dados centralizados e distribuídos é que no primeiro os dados estão localizados em um único lugar, enquanto que no outro os dados residem em diversos locais. Esta distribuição de dados é motivo de muitas preocupações e dificuldades.

Os processadores em um sistema distribuído podem variar em tamanho e função, podendo incluir microcomputadores, estações de trabalho, minicomputadores e sistemas de computadores de uso em geral. Estes processadores são geralmente chamados de nós, dependendo do contexto no qual eles estejam mencionados. Usa-se principalmente o termo nó (lugar, posição), a fim de enfatizar a distribuição física destes sistemas. Veja o exemplo na Figura 1:

Figura demonstrando o sistema de banco de dados distribuído

Figura 1: Figura demonstrando o sistema de banco de dados distribuído.

Armazenamento Distribuído dos Dados

Uma relação r (ou tabela) possui diversos enfoques para o armazenamento em um banco de dados distribuído (BDD):

  • Replicação: o sistema mantém réplicas idênticas da relação, onde cada réplica é armazenada em sites diferentes, resultando na replicação dos dados
  • Fragmentação: a relação é particionada em vários fragmentos, onde cada fragmento é armazenado em um site diferente
  • Replicação e fragmentação: a relação é particionada em vários segmentos, e o sistema mantém diversas réplicas de cada fragmento

 

Replicação de dados

A replicação de dados significa que um determinado objeto de dados logico pode possuir diversos representantes armazenados, em nós. O grau de suporte para a replicação é um pre-requisito para atingir o verdadeiro potencial de um sistema distribuído.

Fragmentação de dados

Uma relação é dividida em fragmentos, onde cada fragmento contem informação suficiente para permitir a reconstrução da relação original.

Existem duas formas de fazer a fragmentação:

  • Fragmentação Horizontal: divide a relação separando as tuplas de r em dois ou mais fragmentos.
  • Fragmentação Vertical: divide a relação pela decomposição do esquema R da relação r.

 

Fragmentação e Replicação de Dados

As técnicas de fragmentação e replicação podem ser aplicadas sucessivamente a uma mesma relação.Um fragmento pode ser replicado, e as réplicas podem ser fragmentadas novamente e assim por diante.

Processamento de consultas distribuídas

A transparência para leitura é mais fácil de se conseguir e manter do que a transparência para atualização. O maior problema para a atualização é garantir que todas as réplicas e fragmentos sejam atualizados, após uma atualização em uma das réplicas ou fragmentos. A atualização deve ser prolongada para todas as cópias (réplicas e fragmentos) existentes no sistema.

Um dos fatores mais importantes no desempenho de uma consulta, em uma base centralizada, é a quantidade de acesso a disco necessária para atingir o resultado. Em um banco distribuído os problemas aumentam, pois existe também a preocupação com a transmissão de dados na rede. Um fator interessante para a consulta realizada em uma base distribuída é que para os diversos sites podem processar partes da consulta em paralelo.

Na realização de uma consulta simples (trivial), como consultar todas as tuplas da relação CONTA, pode caracterizar um processamento não tão trivial, pois CONTA pode estar fragmentada, replicada ou ambas.

Transações

O acesso a diversos itens de dados em um sistema distribuído é normalmente acompanhado de transações que têm de preservar as propriedades ACID:

  • A: Atomicidade
  • C: Consistência
  • I: Isolamento
  • D: Durabilidade

 

Caracteristicas da ACID

 

  • Atomicidade: Todas as operações da transação são refletidas corretamente no BD ou nenhuma será.
  • Consistência: A execução de uma transação isolada preserva a consistência do banco de dados.
  • Isolamento: Cada transação não toma conhecimento de outras transações concorrentes.
  • Durabilidade: Depois da transação completar-se com sucesso, as mudanças que ela faz no banco de dados persistem.

 

Tipos de transação

 

  • Locais: mantem acesso e atualizam somente a base de dados local.
  • Globais: mantem acesso e atualizam diversas bases de dados locais.

 

Funções adicionais

 

  • Rastreamente de dados.
  • Processamento de consultas distribuídas.
  • Gerenciamento de transações distribuídas.
  • Gerenciamento de dados replicados.
  • Recuperação de banco de dados distribuído.
  • Segurança.
  • Gerenciamento do diretório distribuido

 

Vantagens

 

  • Gerenciamento de dados distribuído com níveis diferentes de transparência.
    • Transparência de distribuição ou de rede.
    • Transparência de replicação.
    • Transparência de fragmentação.

     

  • Melhoria da confiabilidade e na disponibilidade.
  • Melhoria no desempenho.
  • Expansão mais fácil.

 

Falhas

Em um sistema de banco de dados distribuído pode sofrer os mesmos tipos de falhas que ocorrem em um sistema centralizado, porem existem falhas adicionais que podem ocorrer em um (BDD), tais como: falha de comunicação entre eles, perda de mensagens e o particionamento da rede, cada um desses problemas devem ser considerados no projeto de recuperação de um BDD. Para um sistema ser robusto, ele precisa detectar qualquer uma dessas falhas, reconfigurar-se enquanto a falha é recuperada.

Com isso finalizo este artigo, espero que o mesmo ajude mesmo que de forma básica com essas informações sobre este tipo de banco de dados.

 
Fonte: http://www.devmedia.com.br/o-que-e-um-banco-de-dados-distribuido/24762

Autor: 


Big Data: o desafio de garimpar informações

O artigo Big Data: o desafio de garimpar informações da Revista Computer World explica esse novo conceito que vem cada vez mais crescendo na business intelligence e no mundo da Tecnologia da Informação. Vale a pena conferir !!!

Paginas: 7

Formato: PDF

Tamanho: 2,7 MB

Fonte: http://www.computerworld.com.br – Revista Nº 554


Programando em C e C++ – A Biblia

O Livro Programando em C e C++ – A Bíblia é um ótimo material, completo para programadores iniciantes ou avançado e também é indicado para estudantes de TI para concursos públicos na área de desenvolvimento. Vale a pena conferir.

Paginas: 1031

Formato: PDF

Tamanho: 399.3 MB

Download Mega: http://preview.tinyurl.com/ptuhymw

Download Uploaded: http://preview.tinyurl.com/n2qsuuh

DEIXE O SEU COMENTÁRIO.


Desenvolvimento Ágil para Web 2.0 com VRaptor, Hibernate e AJAX

O guia Desenvolvimento Ágil para Web 2.0 com VRaptor, Hibernate e AJAX foi elaborado pela empresa Caelum sendo indicado para estudantes de programação iniciantes ou avançado e também para concursos públicos. Vale a pena conferir.

Paginas:174

Formato: PDF

Tamanho: 3.0 MB

Download MEGA: http://preview.tinyurl.com/lcv2g46

DEIXE O SEU COMENTÁRIO.


Desenvolvimento Ágil para Web 2.0 com Ruby on Rails

O guia Desenvolvimento Ágil para Web 2.0 com Ruby on Rails foi elaborado pela empresa Caelum sendo um ótimo material para programadores iniciantes ou avançados e também para concursos na área de desenvolvimento. Vale a pena conferir.

Paginas:239

Formato: PDF

Tamanho:2.8 MB

Download MEGA:http://preview.tinyurl.com/peqj9gf

DEIXE O SEU COMENTÁRIO.


Java para Desenvolvimento Web

O guia Java para Desenvolvimento Web foi elaborado pela empresa Caelum sendo um ótimo material, com conteúdo de forma clara e objetiva para programadores iniciantes ou avançados e estudantes de concursos públicos. Vale a pena conferir.

Paginas:284

Formato: PDF

Tamanho: 3.9 MB

Download MEGA: http://preview.tinyurl.com/mt74w2s

DEIXE O SEU COMENTÁRIO.


Java e Orientação Objetos

O guia Java e Orientação Objetos foi elaborado pela empresa Caelum sendo um ótimo material, com explicações claras e objetivas sobre a Linguagem programação Java. Este material é recomendado para programadores iniciantes ou avançado e para concursos públicos na área de desenvolvimento em TI. Vale a pena conferir.

Paginas: 304

Formato: PDF

Tamanho:4.2 MB

Download MEGA:http://preview.tinyurl.com/qhu8naa

DEIXE O SEU COMENTÁRIO.


Desenvolvimento Web com HTML, CSS e JavaScript

O guia Desenvolvimento Web com HTML, CSS e JavaScript foi elaborado pela empresa Caelum sendo um ótimo material de aprendizado para programadores iniciantes ou avançados. Também é indicado para estudantes de concursos públicos na área de desenvolvimento em TI. Vale a pena conferir.

Paginas:263

Formato: PDF

Tamanho: 10.1 MB

Download MEGA:http://preview.tinyurl.com/kwchd4q

DEIXE O SEU COMENTÁRIO.