O que é Git e GitHub? Entenda mais sobre versionamento

Este artigo, escrito por  para o blog Tableless, traz a você tudo que precisa saber para se tornar um desenvolvedor que possa dominar tanto o git, quanto o Github. Nosso objetivo é trazer os conhecimentos necessários para que você possa, a partir do zero, dominar os conceitos gerais do git, e usar o github para “hospedar” seus projetos pessoais e acompanhar outros projetos de seu interesse.

O que é git?

Git é um sistema de controle de versão de arquivos. Através deles podemos desenvolver projetos na qual diversas pessoas podem contribuir simultaneamente no mesmo, editando e criando novos arquivos e permitindo que os mesmos possam existir sem o risco de suas alterações serem sobrescritas.

Se não houver um sistema de versão, imagine o caos entre duas pessoas abrindo o mesmo arquivo ao mesmo tempo. Uma das aplicações do git é justamente essa, permitir que um arquivo possa ser editado ao mesmo tempo por pessoas diferentes. Por mais complexo que isso seja, ele tenta manter tudo em ordem para evitar problemas para nós desenvolvedores.

Outro fator importante do git (e essa é um dos seus diferenciais em relação ao svn – caso vc o conheça) é a possibilidade de criar, a qualquer momento, vários snapshots do seu projeto, ou como chamamos mais “nerdmenete”, branch. Suponha que o seu projeto seja um site html, e você deseja criar uma nova seção no seu código HTML, mas naquele momento você não deseja que estas alterações estejam disponíveis para mais ninguém, só para você. Isso é, você quer alterar o projeto (incluindo vários arquivos nele), mas ainda não quer que isso seja tratado como “oficial” para outras pessoas, então vc cria um branch (como se fosse uma cópia espelho) e então trabalha apenas nesse branch, até acertar todos os detalhes dele. Após isso, você pode fazer um merge de volta do seu branch até o projeto original. Veja bem, se tudo isso que você leu só ajudou a te confundir mais – respire fundo – e siga em frente. Com exemplos tudo fica melhor.

O que é github?

O Github é um serviço web que oferece diversas funcionalidades extras aplicadas ao git. Resumindo, você poderá usar gratuitamente o github para hospedar seus projetos pessoais. Além disso, quase todos os projetos/frameworks/bibliotecas sobre desenvolvimento open source estão no github, e você pode acompanhá-los através de novas versões, contribuir informando bugs ou até mesmo enviando código e correções. Se você é desenvolvedor e ainda não tem github, você está atrasado e essa é a hora de correr atrás do prejuízo.

Instalando git

O git é um programa que pode ser instalado neste link para Windows, neste para Mac, ou então através do comando sudo apt-get install git para plataformas Linux/Debian, como o Ubuntu. Se você usa uma VM na nuvem, como o cloud9 ou koding, o git já estará disponível em sua linha de comando.

Nossa metodologia é fazer com que você aprenda git já utilizando o github, então vamos a sua configuração!

Criando a conta no GitHub

O github não possui instalação, ele é um serviço, e caso você não tenha uma conta, chegou a hora de criá-la, neste link. Após criar a conta, você verá um botão verde +New Repository na qual poderá criar um repositório de acordo com a tela a seguir.

github

Clique aqui e leia o artigo na íntegra!

Anúncios

Exercícios Java Interfaces

Em meu Github encontra-se o código referente aos exemplos de uso de Interfaces em Java. Exercícios de fixação sobre o assunto.

Clique aqui e acesso os arquivos.

#Java: Como começar a aprender?

Muita gente pergunta qual a melhor maneira de aprender Java, ou como se faz para começar, ou variações desse tema. Não só isso, muita gente começa a aprender Java e inunda as listas de discussão com perguntas que poderiam ser facilmente respondidas através de recursos básicos que todo desenvolvedor Java deveria conhecer.

A seguir irei elencar recursos baseado em várias fontes. Neles, espero poder auxiliar a quem tiver iniciando como um dia eu estive. Alguns dos materiais citados são em inglês, que de antemão antecipo que não pode ser um empecilho na vida de qualquer pessoa que pense em se tornar um programador/desenvolvedor ou profissional na área de TI. Tudo pelo fato de a maioria dos tutoriais e manuais oficiais em TI serem lançados primeiramente em inglês para depois ter uma tradução.

  1. Aprender Java é muito difícil?

O Java é, junto com .NET, frontend, desenvolvimento mobile, php e ruby, uma das plataformas que mais interessam aos estudantes e iniciantes. Há vários motivos para isso. Você pode ter um primo mais velho que já trabalha com Java, sua faculdade pode estar cobrando exercícios e trabalhos nessa linguagem, quer programar para Android ou simplesmente gostou do logo da plataforma. Como começar?

Antes de aprender a programar em qualquer linguagem, é preciso aprender Lógica de programação. Uma cadeira básica em qualquer curso de tecnologia da informação, mas cujo conhecimento também pode ser adquirido com uma apostila básica ou curso presencial e/ou online. Procure no Youtube que você de certo achará aos montes.

2. Java – por onde eu começo?

Se você nunca ouviu falar de Java, comece lendo o documento no site oficial “What Is the Java Platform” (O Que É A Plataforma Java). Se você já ouviu falar, sugiro que você leia esse documento assim mesmo. Isso vai te dar algumas informações importantes sobre os objetivos básicos da tecnologia Java.

Outra coisa importante é que Java é uma tecnologia orientada a objetos. Se você nunca ouviu falar disso, ou se você não conhece a terminologia básica de orientação a objetos, sugiro que você comece lendo algo a respeito. Uma opção é ler o material da Oracle  que contém um conjunto de lições com informações básicas sobre OO.

Para poder praticar o Java em seu computador, será necessário ter o JDK (Java Development Kit) instalado nele. Ele é a plataforma Java na versão para devenvolvedores, é gratuito e já instala tudo que você vai precisar para criar seus primeiros programas. Acesse o site oficial da Oracle para baixá-lo de graça.

3. Pratique muito.

Após os primeiros passos e o começo em entender os conceitos da linguagem, é necessário praticar. No começo, utilizar ferramentas como Eclipse e Netbeans pode lhe fazer ficar viciado nos auxilios que essas IDEs proporcionam. Tente programar tudo “na mão”, digitando cada exemplo e criando seus programas sem auxílios extras. Mas é importante que você não fique apenas nos exercícios que você vê nas apostilas ou na sua faculdade. É seu papel ir além, buscar implementar tudo aquilo que passa pela sua cabeça. Tente variações dos exercícios. Não se contente apenas com “agora deu certo”. Vá atrás de entender o que passa por debaixo dos panos. É uma característica importante de um programador.

4. Primeiros passos

Para começar, você pode utilizar materiais gratuitos e de boa qualidade. Indico de cara apostila do pessoal da Caelum. Eles possuem tanto uma apostila completa como um curso que te introduz ao Java e a programação orientada a objetos (POO). Além dela, indico também o pessoal da RLSystem , que possuem também um curso gratuito de introdução ao Java e uma versão completa. Com cursos pagos também tem os caras da Algaworks, com vários cursos e que sempre lançam mini-tutoriais gratuitos em vídeo.

Pra fechar, procure por referências em livros como os da Casa do Código. O livro Java como programar(considerada a bíblia Java), também é uma ótima pedida.

5. Concluindo

Lembre-se sempre: programação não é baseada em só decorar os comandos como alguns pensam, é preciso muito mais, por isso ter uma boa lógica é fundamental. Uma boa coisa para evoluir a lógica e o raciocínio é a matemática.

Seja qual for o caminho que você escolher, praticar e exercitar a linguagem são as principais forma de fixar seu conhecimento e demonstrá-lo! Se você quer chegar a ser um bom profissional em Java deverá conhecer profundamente as APIS básicas, como java.lang, java.util e java.io, além dos conceitos de orientação a objetos, é um grande diferencial que boas empresas saberão valorizar. É melhor focar seus estudos no coração da plataforma do que conhecer diversos frameworks e bibliotecas sem este embasamento.