Mantendo seu
Tempo a salvo com
Python e Git
Matheus Pereira - matheper.com
Matheus Pereira
http://matheper.com
O que é o tempo?
“Time Is Money”
Used by Benjamin Franklin
Written by an Old One
http://en.wikipedia.org/wiki/Benjamin_Franklin
http://en.wikipedia.org/wiki/Time_Is_Money
❏ Criou o clube Junto
❏ Criou a primeira Biblioteca
Pública da Filadélfia
❏ Participou da criação da
Universidade da Pensilvânia
❏ Responsável pelo experimento
da pipa na tempestade
❏ Ele não foi presidentes dos
Estados Unidos?!
http://en.wikipedia.org/wiki/Benjamin_Franklin
http://pandorgalinux.com.br/
Benjamin Franklin
Tempo e espaço são relativos
Albert Einstein
http://en.wikipedia.org/wiki/Theory_of_relativity
Tempo e movimento só tem
significado quando comparados com
algum outro ponto de referência
Galileu Galilei
http://en.wikipedia.org/wiki/Galileo_Galilei
1 10
Geometria analítica
Plano cartesiano
René Descartes
https://en.wikipedia.org/wiki/Ren%C3%A9_Descartes
Espaço-tempo
http://en.wikipedia.org/wiki/Spacetime
❏ Tempo + Espaço Tridimensional
❏ Todo evento pode ser representado como
um ponto no espaço-tempo
(x, y, z, ct) onde c é a velocidade da luz
ou 299 792 458 m/s
ou 1 079 000 000 km/h
❏ Eventos separados no tempo de 1 segundo
estão a quase 300.000 km um do outro no
espaço-tempo
http://en.wikipedia.org/wiki/Isaac_Newton
http://en.wikipedia.org/wiki/Newton%27s_law_of_universal_gravitation
<
Relatividade do Tempo
Perspectiva externa
http://www.planetaeducacao.com.br/portal/artigo.asp?artigo=419
❏ Tempo parece constante
❏ Passa independente da nossa vontade
❏ Podemos medir essa passagem de tempo através
de dias, meses e anos, herança dos sumérios
❏ Um bom relógio também pode medir isso, mas
hoje em dia quem tem um relógio?
Perspectiva interna
❏ Percepção de tempo é subjetiva
❏ Definida através de sequências de eventos
❏ Início e fim
❏ Antes e depois
❏ Narrativa de uma história
Percepção de tempo
❏ Relacionada com fatores internos
❏ Emoções
❏ Expectativas
❏ Sentidos
❏ Quantidades de tarefas realizadas em um
espaço de tempo
Tempo é dinheiro?
Matheus Pereira
Prisão - Trabalho
http://papodehomem.com.br/prisao-trabalho/
De um modo bem real, Bruno não tem “tempo livre”. Quando não está
trabalhando, está descansando o cérebro de tanto trabalho e se preparando
para poder trabalhar mais. Mesmo quando está longe do trabalho, seu
tempo é sempre definido em função do trabalho.
Já não tem mais tempo livre, pois todo o seu tempo, mesmo quando não
está no trabalho, gira em torno do trabalho.
O tempo (realmente) livre não é lucrativo.
Quem disse que “tempo é dinheiro”, mentiu. Tempo é muito mais
importante que dinheiro. O dinheiro que perdemos volta. O tempo, nunca.
Desenvolvimento de Software
http://en.wikipedia.org/wiki/Spacetime
❏ O que é velocidade no desenvolvimento de
software?
❏ Como calcular essa velocidade?
❏ Tempo para desenvolver
❏ Tempo para aprender
❏ Número de linhas escritas
Métricas de Velocidade
❏ Organização
❏ Legibilidade
❏ Número de linhas
❏ Confiabilidade e Corretude
❏ Produtividade em Linhas/hora
http://python.org/
indeed.com
http://www.indeed.com/jobtrends?q=perl%2Cpython%2Cphp%2Cruby&l=
tiobe.com
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
The Zen of Python
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
http://legacy.python.org/dev/peps/pep-0020/
An empirical comparison of
C, C++, Java, Perl,
Python, Rexx, and Tcl
Lutz Prechelt
http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf
Tamanho do código
http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf
Produtividade Linhas/hora
http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf
Tempo para desenvolvimento
http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf
Hello World
C# C
Java
Python
Javascript
Interseção entre duas listas
http://git-scm.com/
Git
❏ Controle de versão
❏ Manter histórico
❏ O que foi alterado?
❏ Quando foi alterado?
❏ Quem alterou?
❏ Comparar alterações
❏ Reverter arquivos
❏ Trabalho paralelo
http://git-scm.com/book
Git
❏ Open Source
❏ Multiplataforma
❏ Distribuído
❏ Branch
❏ Merge
❏ Tag
❏ Repositórios remotos
http://git-scm.com/book
Repositórios remotos
https://git.wiki.kernel.org/index.php/GitHosting
http://vidadeprogramador.com.br/2014/04/25/perdendo-tempo/
Se eu tivesse 6 horas para cortar
uma árvore, eu passaria 3 horas
afiando o meu machado
Abraham Lincoln
Afiando o machado

Mantendo seu Tempo a salvo com Python e Git