Friday, December 4, 2009

Google lança servidor DNS próprio

O servidor DNS é quem faz a conversão dos endereços que digitamos no nosso browser para os números do protocolo de internet (IP) da máquina que desejamos acessar.

Segundo Prem Ramaswami, gerente de produto da empresa, os engenheiros do google vem trabalhando para aumentar a qualidade desse serviço, que por enquanto ainda está em fase de testes. Um dos pontos que o google diz que melhorará com seu servidor DNS público será a segurança e a rapidez.

Quem quiser testar o serviço poderá ir em http://code.google.com/intl/pt-BR/speed/public-dns/ e ler as instruções.

Eu ainda não testei o serviço, mas pretendo faze-lo em breve. Aguardo comentários.

Mais informações no blog oficial do google

Mudanças no Facebook

Um dos maiores sites de relacionamentos do mundo prevê algumas mudanças para as próximas semanas ou mêses. O Facebook já mostra algumas de suas ideias para a próxima versão do site.

Segundo o seu fundador Mark Zuckerberg, em uma carta aberta no blog do facebook, uma das coisas que mudarão será o término das redes locais, integrando tudo em uma única, permitindo assum uma maior facilidade para os usuários no gerenciamento de seus perfis.

Uma outra mudança importante será um maior leque na hora de decidir quem pode ver o que do seu perfil. Na mesma carta, Mark diz que será possível controlar quem vê cada parte do conteúdo que você cria. O site também contará com um recurso que já existe no Orkut, o de abilitar conteúdo para "Somente seus amigos", "Amigos de seus amigos" ou "Todo mundo".

Há também muitos usuários que são contra essas mudanças. Muitos desses se organizaram em grupos dentro do próprio site para reclamar a volta ao normal. Dentre esses grupos os maiores são “Change Facebook Back To Normal” e “Bring Back The Old News Feed”. O primeiro grupo já conta com mais de 1 milhão de integrantes.

Agora o que resta a nós, usuários do Facebook, é esperar para ver!

Onde aprender Java

Nesse post pretendo dar dicas dos melhores lugares para se aprender Java. Claro, o esforço e a prática são os itens mais importantes para se dominar determindo assunto. Portanto não ache que somente pelo fato de você ter adquirido um desses livros que você se tornará um bom programador, mas um bom guia sempre ajuda.

-Livros:

  • Java: como programar - Harvey M. Deitel: Uma excelente publicação sobre Java. Traz uma abordagem completa sobre a linguagem Java, desde assuntos mais fundamentais (Instalação da SDK) até conceitos avançados (como programação concorrente). Um aspecto positivo dessa obra é que ela desenvolve seu conteúdo com vários problemas e situações interessantes. Tem em torno de 1150 páginas, seu preço é um pouco alto, mas é um ótimo investimento.
  • Use a cabeça! Java - Kathy Sierra: Um livro bastante interessante e inovador! traz uma abordagem completamente diferente dos outros, mostrando um novo caminho para se aprender. Trazendo diversas figuras e charges, o livro faz muitas analogias com o cotidiano, e assim como o "Java: Como Programar" trabalha muito ligado com problemas de lógica. Tem na faixa de 490 páginas, e seu valor também é um pouco alto, mas vale a pena!
  • Core Java - Gary Cornell: Para aquelas pessoas que já programam em Java esse livro é um dos mais inicados, excelente obra, cheia de exemplos reais! ótimo guia de referência! Volume 1 tem cerca de 420 páginas.
-Fórúns:
  • http://www.guj.com/ - Maior fórum sobre java da internet brasileira, você encontra muitas respostas nesse site, pessoalmente é o que eu mais gosto e uso.
  • javafree.uol.com.br/index - Fórum sobre a linguagem Java, possui um conteúdo muito bom.
-Cursos:
  • Caelum - http://www.caelum.com.br/ : Um dos melhores e mais respeitados cursos de Java do Brasil! eles tem cursos em várias áreas da programação, vale a pena verificar.
  • Etecs do Centro Paula Souza - http://www.centropaulasouza.sp.gov.br/ : Em muitas escolas técnicas é oferecido o curso de informática (eu estou fazendo na Etec de São Paulo), mas nem todos possuem aulas de java. Aqui na Etesp (Etec de São Paulo - www.etesaopaulo.com.br) nós temos essa matéria. O curso tem excelente qualidade, eu recomendo.
  • Faculdades: Há diversas faculdades que oferecem cursos na área da computação, dentre as públicas as mais conhecidas e renomadas aqui de São Paulo são: USP, Unicamp, Fatec-sp, etc.
Agora é só escolher a opção que mais se adequa a você e se dedicar!

Como começar a programar

Bem pessoal, esse é o primeiro post desse blog, e por estar no começo, vamos partir de um assunto fundamental, mas que sempre confunde as pessoas que desejam começar a programar. Não pretendo aqui fazer um guia completo de nenhuma lingugem, e nem fornecer uma base sólida para essas pessoas, mas dar uma visão geral sobre o o assunto.

Bom no começo, a linguagem de programação que você irá escolher não influenciará muito na sua aprendizagem, pois o primeiro passo a se aprender é a logica, ou seja, como fazer para o computador executar o que se quer.

O computador segue passos lógicos, agrupados de maneira correta, o que se denomina "Algoritmo". Um algoritmo é uma sequencia passos que levarão a um resultado, e esses devem estar ordenados de uma forma cronológicamente correta. Por exemplo, um ser-humano entenderia e executaria perfeitamente a seguinte ordem: "Beba um pouco de suco, pegue o copo que está dentro do armario". Mas um computador não entenderia essa ordem, pois ele tentaria (claro que isso é uma analogia) beber o suco para depois pegar o copo.

Há diversos livros, posts, tutoriais, etc. que se propõem a ensinar lógica de programação. Você pode encontra-los em vários locais na internet, como no site http://www.apostilando.com/ (site interessante, que disponibiliza apostilas gratuitamente, mas muitas delas já são antigas) dentre outros. No começo esse deve ser seu princípal foco, para ser sobretudo um bom programador.

A questão da linguagem é o segundo ponto a ser levado em consideração. No começo, você deve aprender primeiro as estruturas de controle (if, if...else, switch) e de repetição (for, do...while, while) da linguagem, já que você a utilizará para testar seus algoritmos, depois que aprenderá os conceitos mais avançados.

A linguagem de programação que você escolherá agora não será necessariamente a que você irá usar no futuro, por isso fique bastante a vontade para escolher. Muitas pessoas gostam de começar com Visual Basic ou Delphi, por serem linguagens bastante simples de se trabalhar, outras preferem ir diretamente para o C ou C++, ou agora muitas pessoas já estão começando com C# ou Java. Pessoalmente, recomendaria o Java.

Começar com Java é uma excelente opção, pois é de uso livre (você não precisa pagar para utiliza-la), e sua sintaxe é bastante conveniente para executar exercícios de lógica. Como já falei a linguagem que você escolhe agora não é necessariamente a que você utilizará profissionalmente, mas Java está crescendo cada dia mais no mercado, o que é uma vantagem.

Quando se fala em programação, há basicamente dois níveis:
  • Programação em Alto Nível: Programação voltada para o usuário - ex: Controle de funcionários
  • Programação em Baixo Nível: Programação voltada para a máquina - ex: Kernel de um sistema operacional
A linguagem de programação que você irá trabalhar dependerá muito da área da computação que você pretende atuar. Por exemplo, sistemas comerciais, hoje em dia, são em sua maioria desenvolvidos em Visual Basic, C# e Java, sendo que os dois últimos possuem uma maior crescimento.

Se você pretende trabalhar em um nível mais baixo, utilizará C, C++ e Assembly (Como também poderá utilizar outras linguagens, mais essas são as mais populares para essas tarefas). A programação para a máquina exige também conhecimentos de outras áreas, como a eletrônica.

Claro, que quando se desenvolve qualquer tipo de sistema, comercial ou não, você não deverá saber somente a linguagem que você utilizará, mas também conhecer o que se está fazendo. Por exemplo, você não conseguirá fazer um programa que controle um estoque sem saber como são os métodos de organização deste.

Em desenvolvimentos de programas grandes, não é o programador que irá fazer o projeto ou a análise de requisitos, ele irá somente implementa-lo, mas aqui o foco é dar uma base geral, do que uma pessoa deverá conhecer para começar na área.

Para aprender alguma linguagem, primeiro, para ter uma noçao geral, leia alguns tutoriais, artigos, etc. sobre a mesma. Depois, eu recomendaria a aquisição de um livro, pois este segue toda uma linha de racíocinio, e possui uma didática, onde aprofundará seus conhecimentos com o decorrer da leitura (Pelo menos na teoria, pois na prática sabemos que muitos não cumprem isso). Para se tirar dúvidas, usem com muitas frequencia sites de foruns sobre o tema, ou postem em blogs, como esse (tentarei ajudar na medida do possível).

Agora citarei alguns livros que podem ajudar:

-JAVA:
Esses dois livros são minhas maiores recomendações em Java.

-C/C++
  • The C++ Programming Language
  • C Completo e Total
  • C++ Completo e Total
  • C++ Como Programar
-Visual Basic:
  • Visual Basic Como Programar
-C#:
  • C# Como Programar
É claro que para essas linguagens existem milhares de outros livros, muitos com a mesma qualidade destes. Mas esses são os mais conhecidos e indicados do mercado.

Para uma maior aprendizagem, procure fazer uma faculdade na área da computação, a muitas públicas (embora muito díficeis de entrar), como a Fatec, USP, Unicamp, etc. Ou mesmo algum curso técnico de qualidade, como os do Centro Paula Souza.

Para quem deseja aprender Java, um excelente fórum é o GUJ: http://www.guj.com.br/

Espero ter ajudado a todos e que esse seja o primeiro post de muitos!

Sempre que tiver tempo pretendo escrever alguma coisa, não só sobre programação, mas também sobre outras áreas da informática.

Qualquer dúvida me mandem um e-mail: hugopossani@gmail.com que na medida do possível eu responderei.

Muito Obrigado