José Malcher Jr.

Eng. Software – Analista de Sistemas

Quem usa Windows: instalar o ‘sdk’ do python, basta acessar o site oficial na sessão de Downloads e baixar a versão mais recente! https://www.python.org/downloads/windows/

A maioria das versões do Gnu/Linux já trás o python instalado, pra saber abra o terminal e digite “python –version”, mas caso não… tem essas duas dias:

INSTALANDO O PYTHON 3.3 NO UBUNTU 12.04INSTALANDO PYTHON 3 NO LINUX e Instalando Python 3 no Linux

Há uma questão relevante a ser dita aqui, a versão anterior 2.7.11, ainda está em produção em algumas empresas e á alguns detalhes que diferem da versão mais recente 3.5.1. Se você, assim como eu, começará a estudar do zero, então baixe a versão mais recente!

Diferenças entre as versões, podem ser lidas em dois textos:

Diferenças entre as versões do Python? e O QUE MUDOU NO PYTHON 3?

Uma solução interessante para quem usa windows e quer testar o programa em ambas as versões: Python 2 e 3 lado a lado

No meu Fedora 23 o meu terminal imprime na tela:

Posso chamar a versão mais recente usando o comando:

Fui atrás de alguns artigos de como deixar por padrão achei: “Como alternar entre as versões do Python no Fedora Linux”: How to switch between Python versions on Fedora Linux , achei o procedimento semelhante com a troca de versões do java! Acho que vale uma tradução e testarei em breve aqui!

Mas caso você não quer instalar nada em seu computador, ou quer apensa testar ou mesmo praticar, tem um “terminal on line”:

https://repl.it/languages

 

Bom é isso, post curtinho, mas deu pra ler bastante coisas e postar aqui algumas boas referências!

dezembro 31st, 2015

Posted In: Desenvolvimento, Python

Tags:

Leave a Comment

Um hábito que vou começar a por em prática é estudar ou revisar algo que estudei e eu farei um resumo aqui no meu blog com os links de artigos que encontrei pela internet sobre o assunto. Tudo para praticar uma leitura ativa e compreender melhor sobre o assunto.

Começando com a Linguagem de Programação Python. Já peguei ela pra estudar anteriormente e percebi o quanto essa linguagem é boa para se programar. Bom, não está convencido então leia os link que vou postar aqui sobre:

Site Oficial da Linguagem: https://www.python.org/

Em Resumo no Wikipédia: https://pt.wikipedia.org/wiki/Python

Python é uma linguagem de propósito geral de alto nível, multi paradigma, suporta o paradigma orientado a objetos, imperativo, funcional e procedural. Possui tipagem dinâmica e uma de suas principais características é permitir a fácil leitura do código e exigir poucas linhas de código se comparado ao mesmo programa em outras linguagens. Devido as suas características, ela é principalmente utilizada para processamento de textos, dados científicos e criação de CGIs para páginas dinâmicas para a web.

Outros detalhes também podem ser visto no site do wikipédia como: OO, indentação do código, IDE para desenvolvimento, etc. Um resumão da linguagem.

Gostou? A comunidade Brasileira do Python pode ser uma boa para ajudar a alavancar!

pythonbrasil_logo

https://pt.wikipedia.org/wiki/Python

Destaque para o link: http://wiki.python.org.br/AprendaProgramar que nesse meus primeiros momentos, mantive ele aberto em uma aba enquanto eu assistia as vídeos aulas do eXcript:

Outra página que a comunidade Criou: http://wiki.python.org.br/DocumentacaoPython, união de todos os livros/artigos/cursos/PodCast sobre Python. Sem dúvida um apanhado geral e recomendado pela comunidade.

Quando estamos aprendendo algo novo, tendemos seguir as dicas de professores, porém como a internet é um mundo aberto e com muito conteúdo, tenho a tendencia de seguir alguns blogs de pessoas que falam sobre o assunto. Dois autores estou seguindo e lendo os artigos deles:

Eric Hideki que tem o blog: https://ericstk.wordpress.com/ , tem várias dicas sobre Python e outros assuntos relevantes para quem é programador.

Henrique Bastos: http://henriquebastos.net/. Assistir uma palestra dele no Evento TaSafo Conf 2015. Ele é o “responsável” por instigar eu estar estudando sobre Python! Em breve pretendo fazer o curso que ele criou:

wttd-banner-apyb

http://welcometothedjango.com.br/

A grade do curso vai além de ensinar a linguagem Python, pega assunto de empreendedorismo até boas práticas de programação e de vida!

 

Bom… esse é um breve resumo do que eu li e encontrei pela internet, ainda estou cheio de ‘abas’ para ler! 😉

 

dezembro 31st, 2015

Posted In: Desenvolvimento, Python

Tags:

One Comment

Bom… depois de ter estudado nas horas vagas, sem registro aqui por mim… mas que a partir de hoje vou começar a postar e me dedicar algumas horas do dia… Python realmente é uma linguagem bem bacana!!

Meus primeiros contatos está sendo por esse canal do Youtube, onde há vários cursos de Programação: eXcript, em breve farei o curso da Alura! Vou refazer esse curso e vou postar meus resumos e links aqui em breve!

Recomendo que você assista!

Curso de Python da eXcript

 

dezembro 31st, 2015

Posted In: Desenvolvimento, Python

Tags:

Leave a Comment

logo gitPrimeiro passo para criar um projeto git, é a definição da pasta de tralho, onde estão todos os arquivos e códigos fontes do projeto.

git init

É criado uma pasta oculta “.git”, verificação da pasta: “ls -a” ou “ls -la”. Tal pata é oculta pois contem todas as configurações do git do projeto, não sendo necessário, na maioria das vezes, usa-lo.

Documentação do comando git init

Gitignore

Sempre é bom ter o cuidado para versionar arquivos de códigos fontes, evitando arquivos executáveis por exemplo ou pastas que não fazem parte do projeto.

Exemplos/Artigos/repositórios sobre o assunto .gitignore:

Documentação oficial sobre gitignore

Gerador de Arquivos Gitignore  (muito útil, basta setar o tipo de projeto e baixar/copiar o texto gerado)

Some common .gitignore configurations

A collection of .gitignore templates (Repositório com coleção de .gitignore de vários tipos de projetos)

.gitignore excluir todas as pastas menos uma (Dúvida bastante relevante!)

Após o “git init” e depois ter criado o arquivo “.gitignore”, com a pasta vazia crie ou copie o primeiro arquivo do projeto.

Um bom exemplo é criar um arquivo .java, e adicionar no .gitignore uma linha “*.class”, assim poderemos ver o git não trabalhando com arquivo com final .class. ( ‘*’ é um coringa que significa todos os nomes com final .class)

Adicionando o conteúdo do arquivo para o índice “git add .” e Visualizando o Status do versionando dos arquivos “git status”.

Documentação git add  e a Documentação do git status

O ponto do comando “git add .” significa que todos os arquivos serão adicionados ao repositório, com exceção dos arquivos listados no .gitignore.

Gravando as mudanças no git: git commit

Documentação oficial do comando git commit

O parâmetro “-m” diz ao git armazenar a mensagem que vem em seguida. Tal mensagem serve como um guia/manual explicando o que o usuário fez. Quanto mais clara for a mensagem, melhor será o entendimento do próximo programador que for editar o código.

A parte da mensagem:

Mostra o Branch ou “galho/ramo” do projeto,  como é o primeiro, está posicionado como principal ou master. Em seguida tem o código do commit e a mensagem gravada. Nas outras linhas é exibido os arquivos adicionados.

Verificando  os commit do projeto: git log

Documentação do git log (bastante extensa, mas verifique os exemplos)

O comando mostra o código do commit em sua totalidade, assim como exibe o nome e email do usuário e data, ao final exibe a mensagem do commit.

Se houver muitos commit, é possivel filtrar usando alguns parâmetros, exemplo

No linux é possível digitar “git log –” e apertar a tecla TAB, que é exibido os possíveis parâmetros:

O parâmetro mais simples é : git log –oneline

O parâmetro que ajuda a encontrar palavras na mensagem: git log –grep=”Palavra pra buscar na mensagem”

Outros comandos em Visualizando o Histórico de Commits

Verificando o Status do Git depois do comando commit:

Não há mais arquivos para ser “gravado” no repositório.


 

Para facilitar mais a visualização dos commits há interfaces/programas gráficos que ajudam, usuários linux tem o programa “gitk”, basta instalar com o comando “sudo dnf install gitk” ou “sudo apt-get install gitk”.

Usando Interface Gráfica para Visualizar o Histórico No final desse artigo tem a demostração do programa.

Lembrando que é necessário estar na pasta do projeto para executar o “gitk”

exemplo gitk

 

 

OBS.: Esta postagem é apenas um guia pessoal de referência e estudos sobre o assunto tratado.

dezembro 30th, 2015

Posted In: Caixa de Ferramentas, Git

Tags:

One Comment

logo gitApós a instalação do sistema de controle de versão, é importante conhecer alguns comandos básicos:

Versão do Git:

Escopos de configuração do Git:

O texto da documentação deixa claro as três formas de configuração do Git:

  1. Sistema: arquivo /etc/gitconfig: Contém valores para todos usuários do sistema e todos os seus repositórios. Se você passar a opção –system para git config, ele lerá e escreverá a partir deste arquivo especificamente.
  2. Usuário: arquivo ~/.gitconfig: É específico para seu usuário. Você pode fazer o Git ler e escrever a partir deste arquivo especificamente passando a opção –global.
  3. Projeto: arquivo de configuração no diretório git (ou seja, .git/config) de qualquer repositório que você está utilizando no momento: Específico para aquele único repositório. Cada nível sobrepõem o valor do nível anterior, sendo assim valores em .git/config sobrepõem aqueles em /etc/gitconfig.

A ordem de prioridade de configuração é: PROJETO > GLOBAL > SISTEMA

Em sistemas Windows, Git procura pelo arquivo .gitconfig no diretório $HOME (C:\Documents and Settins\$USER para a maioria das pessoas).

Arquivos com ponto+nome “.gitconfig”, são arquivos ocultos do sistema Linux, no Windows para visualizar no shell, use o comando “ls -a” ou “ls -la”

Primeiras configurações no Git pós instalação:

Adicionar usuário e email:

Lembrabdo que o parâmetro (–global) serve para o USUÁRIO logado atualmente no sistema. Pode causar confusão com configurações do sistema(–system).

Para checar as configurações use o comando:

Checar configurações de forma individual:

Adicionar algum outro editor padrão:

No S.O. Windows, pode ser que tenha algumas outras configurações já adicionadas por padrão.

Para verificar as configurações, além do comando “$ git config –list”, é possível ver as configurações visualizando o arquivo “.gitconfig” dentro da pasta do usuário. Ou mesmo é possível edita-lo direto, adicionando os parâmetros corretos:

Lembrando de antes verificar a presença do arquivo .gitconfig no local de execução do comando!

Recomendação é: configurar via linha de comando, pois há um espaçamento/tabulação específicos no arquivo .gitconfig.

Artigos/Sites/Repositórios sobre Personalização do Git e outros ajustes:

Customize seu Git! .gitconfig

Definindo configurações do .gitconfig após a instalação do GIT

https://gist.github.com/pksunkara/988716 (um arquivo .gitconfig)

https://training.github.com/kit/downloads/pt/github-git-cheat-sheet.pdf (PDF Com os principais comandos do git)

Para Outros detalhes, tem o comando “–help”

Para saber mais de cada comando use: git help <comando>

No linux, a página abre diretamente no terminal, para sair tecle “q”. No windows é provável que abra uma página em html no navegador padrão.

 

OBS.: Esta postagem é apenas um guia pessoal de referência e estudos sobre o assunto tratado.

dezembro 30th, 2015

Posted In: Caixa de Ferramentas, Git

Tags:

2 Comments

 

Com essa postagem: Resumos e Artigos sobre Controle de Versão de Códigos vou deixar aqui algumas impressões para estudos futuros. Pegando vários sites como base.

O bom e velho Wikipédia tem o artigo sobre Sistema de controle de versão que dá um apanhado geral sobre o que vem a ser os sistemas de controle de versão e o que eles fazem:

Um sistema de controle de versão (ou versionamento), VCS (do inglês version control system) ou ainda SCM (do inglês source code management) na função prática da Ciência da Computação e da Engenharia de Software, é um software com a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões — histórico e desenvolvimento — dos códigos-fontes e também da documentação.

Um grande diferencial que tem nesse artigo do wikipédia e que ajuda muito quem esta iniciando no versionamento de códigos é uma lista de “vocabulário comum”, aprenda o termo sempre em inglês!

  • Atualização / Update – Atualiza na cópia local as novidades do Servidor, provavelmente as mudanças enviadas por outro desenvolvedor.
  • Baixar / Check-out ou checkout – Quando não existe cópia local e é necessário baixar todo o projeto do servidor. Nesse processo é guardado algum tipo de meta-dados (geralmente em pasta oculta) junto dos arquivos baixados.
  • Conflito / Conflict – É a alteração simultânea (entre um update e um commit) de um mesmo documento por usuários diferentes.
  • Cópia local / Working copy ou working area – É geralmente uma pasta no sistema operacional do desenvolvedor (do lado Cliente) que mantém a cópia da última versão do projeto. É através da cópia local que o Cliente compara com a última versão do Servidor e sabe exatamente o que foi modificado.
  • Efetivar ou submeter / Commit, submit ou check-in – Enviar as alterações da cópia local ao Servidor através do Cliente.
  • Exportar / Export – Semelhante ao checkout, mas não cria meta-dados junto da informação baixada. Esse processo é utilizado para gerar uma versão “distribuível” e impede (por não conter os meta-dados) que o desenvolvimento seja feito sobre ele.
  • Importar / Import – É o processo que envia uma árvore de diretórios ainda não controlada (sem meta-dados) para o repositório pela primeira vez.
    Marcação / Tag ou release – É dar um nome a um determinado “momento” do repositório, ou seja, é como uma “fotografia” de determinada data. Alguns sistemas, como o SVN, não diferenciam entre “marcação” e “ramificação”, pois é possível tratar uma ramificação com o conceito ou finalidade de marcação.
  • Mesclagem / Merge ou integration – Permite que mais de um utilizador modifique um mesmo documento ao mesmo tempo, comparando as diferenças e mesclando mantendo as duas alterações (se possível). A mesclagem geralmente é feita localmente (lado Cliente) na atualização de um documento quando há uma versão no Servidor mais recente que a sua.
  • Mesclagem inversa / Reverse integration – É quando um braço é mesclado à linha principal.
  • Modificação, diferença ou mudança (Change ou diff.) – Representa a diferença entre uma versão e outra de um mesmo documento.
  • Raiz, linha principal ou braço principal / Head, trunk, mainline – é o caminho de revisões que não se quebrou em um braço.
  • Ramificação ou braço / Branch – Quando a linha de desenvolvimento precisa ser dividida em duas ou mais.
  • Repositório / Repository – local no Sistema onde fica armazenado todas as versões, desde a primeira até a última. Cada sistema geralmente pode ter mais de um repositório.
  • Resolução de conflito / Conflict resolve ou Solve – Quando os desenvolvedores precisam analisar o que entrou em conflito e escolher qual alteração fará parte da versão final.
  • Revisão ou versão / Revision ou version – Representa um determinado “momento” (uma “fotografia”) de um repositório ou documento.
  • Travar / Lock – Em alguns sistemas é possível bloquear um arquivo e ninguém pode alterá-lo nesse momento. Isso é pouco usado e pouco recomendado pois impede o uso simultâneo do mesmo arquivo por mais de um desenvolvedor, mas pode ser bastante útil com arquivos binários e/ou difíceis ou impossíveis de serem mesclados.
  • Última versão / last revision – é a última versão enviada ao sistema no braço principal.
  • Versão atualizada / Up-to-date – É quando a versão local é idêntica à que está no servidor. Quando alguém submete um documento (que você também está trabalhando) antes de você, o sistema não permite que você envie a sua versão enquanto você não deixar sua versão local atualizada (up-to-date).
  • Versão estável / Stable version – Chama-se de “versão estável” uma determinada versão do sistema que está compilando normalmente e não possui nenhuma anomalia grave.
  • Versão instável / Unstable version – Chama-se de “versão instável” uma versão do sistema que não está compilando ou que possui alguma anomalia bastante visível e geralmente grave.

 

Um outro artigo muito bom e bem completo pode ser ser lido em: Conceitos Básicos de Controle de Versão de Software — Centralizado e Distribuído é um artigo mais prático que ajuda o entendimento mostrando desenhos como os processos funcionam.

  1. Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações?
  2. Tem dificuldades em saber quais as alterações efetuadas em um programa, quando foram feitas e quem fez?
  3. Tem dificuldade em recuperar o código de uma versão anterior que está em produção?
  4. Tem problemas em manter variações do sistema ao mesmo tempo?

Se alguma das perguntas acima teve um sim como resposta, então sua equipe necessita urgentemente de um sistema para controle de versão!

Torço para que esse artigo sempre continue no ar, ele é excelente para montar aulas sobre o assunto!

Recomendo salvar o artigo em seu Evernote, usando o componente de Captura do navegador Chrome ou Firefox


 

Pra fechar o assunto tem uma Monografia: Análise Comparativa entre Sistemas de Controle de Versões Daniel Tannure Menandro de Freitas. Tem um excelente conteúdo sobre o assunto. Com destaque para o fluxo entre os diversos tipos de Sistemas de controle de versão, o fluxo do git:

fluxo_git

 

 

 

dezembro 27th, 2015

Posted In: Caixa de Ferramentas, Desenvolvimento, Git

Tags:,

Leave a Comment

Quem usa o Fedora e está interessado em gravar vídeos treinamentos em formato de Screencasts deixo aqui o software que melhor me atendeu, sem travamentos ou falhas, muito leve e boa resolução. O conceito de Screencasts:
Screencasts é o registro (gravação) da saída do vídeo gerado por computador em atividade. Pode ou não conter o áudio integrado. São úteis para demonstrar características de softwares.
Tal Software é muito útil para dar treinamentos sobre diversos assuntos além da área de informática há casos como https://pt.khanacademy.org/ que oferece diversos cursos até de matemática nesse formato.
Eu uso para gravar vídeos aulas de programação e para “Diário Particular”, sim, gravo a tela do meu notebook, ligo a webcam e vou falando sobre mim e mostro minhas redes sociais… comentando tudo… gravo em DVD’s… mas quem verá isso!?! Ou eu mesmo… ou sei lá quem! 😉

Repositório: https://copr.fedoraproject.org/coprs/mosquito/myrepo/

Copie o Repositório a baixo para  /etc/yum.repos.d

$ sudo wget https://copr.fedoraproject.org/coprs/mosquito/myrepo/repo/fedora-23/mosquito-myrepo-fedora-23.repo

// Fique atento a versão do Seu Sistema Operacional

$ sudo dnf update

$ sudo dnf install simplescreenrecorder

Caso haja algum problema… verifique se você instalou o rpm(free/nonfree): http://rpmfusion.org/

Bons Vídeos!

dezembro 10th, 2015

Posted In: Aplicativos, Caixa de Ferramentas, Fedora, GNU/Linux

Tags:

3 Comments

A volta para Fedora 23 no DELL i14 2640

Nota Rápida!

Devido a alguns problemas no Ubuntu e depois no Kubuntu como travamentos do X/interface gráfica e outros travamentos esporádicos… eu resolvi voltar ao Fedora. Esse Notebook Dell i14 2640 vem com placas hibridas ele roda muito bem no Ubuntu, chega a inicializar muito rápido, tudo roda bem “liso”, porém mesmo eu investigando não achei a causa dos travamentos na interface gráfica, chegava a travar ao abrir vídeos do youtube em tela cheia (mesmo com o Flash desabilitado do Chrome). Acabei desistindo 🙁

Bom, voltei a usar o Fedora na versão 23, está estável, um pouco mais lento na inicialização, e sem os principais drivers de vídeo instalados. Mesmo assim o Desempenho está excelente, os efeitos funcionam, não há travamentos nenhum.

Ubuntu é excelente… mas pode ser mesmo o problema dos drivers de vídeo que estejam causando esses problemas. Esperar um futuro próximo pra ver se isso se resolve!

dezembro 8th, 2015

Posted In: Assuntos Diversos, Fedora, GNU/Linux, Notas, Ubuntu

Tags:, ,

Leave a Comment

Pós instalação do Fedora, vem a necessidade de instalação de outros programas/pacotes pra deixar o sistema mais completo, como plugins, codecs e outros aplicativos!

Fedy – http://folkswithhats.org/

Fedy é um instalador de pacotes para o Fedora, complementa o uso da “loja” de Programas. Muito útil e agiliza várias instalações e escritas de códigos, facilita a vida do usuário!

fedy

 

dezembro 2nd, 2015

Posted In: Caixa de Ferramentas, Fedora, GNU/Linux, Sistema Operacional

Tags:,

Leave a Comment