O documento discute como empreender com Python e Django, fornecendo instruções sobre como escolher uma ideia, desenvolver um produto mínimo viável, hospedar o site e obter feedback inicial.
De Zero àWeb com Python e Django Um guia para o empreendedorismo digital
2.
Osvaldo Santana Neto • https://osantana.me • Python e Django • Empreendedor em "modo de espera” • Side Projects • Bootstrapping • Titans Solutions • Empresa de SP • Trabalho Remoto
Você precisará de... • Uma idéia válida para executar • Algum dinheiro (~R$100) • E tempo para trabalhar no projeto
7.
Ideias • Quandoesbarrar em um problema anote em um papel • Revisite o problema proponha soluções (ideias) • Faça uma planilha para classificar as ideias • Escolha uma e valide (Business Model Canvas e entrevistas) • Ideias simples são mais poderosas • Não se distraia com ideias novas. Anote-as.
8.
Ideia & Execução • Ideias são um multiplicador de valor da execução • A execução é que tem valor • Ideia boa e bem executada é o melhor cenário • http://sivers.org/multiply • Validação de ideias • Conheça o mercado • Tenha "paixão"
Palavras Chaves •Bootstrapping • Side-Project • Passive Income • Cuidado com picaretagem! • Minimum Viable Product • Cuidado com: • Eventos de startup, busca por investimento/ financiamento, …
13.
Execução Passo aPasso • Aprenda Python & Django • Escolha um nome • Registre um domínio (~R$30) • Escolha uma hospedagem (grátis~$9/mês) • Quickstartup (grátis~$49) • Tráfego (grátis~infinito) • Feedback
14.
Python & Django • https://osantana.me/pydjango • Python - Linguagem • Guido van Rossum • Lançada em 1989 • Monty Python • Django - Framework Web • Jacob K. Moss & Adrian Holovaty • Lançado em 2003 • Django Reinhardt
15.
Python • Linguagemde uso geral • Web, Mobile, Desktop, … • Multiplataforma • Unix, Linux, OS X, e até a porcaria do Windows • OOP • Suporte a código procedural e funcional • Interpretada (com compilação transparente de bytecode) • Linguagem aberta / Open Source
16.
#!/usr/bin/env python3 #coding: utf-8 # programa1.py - Primeiro programa """ Importa o módulo random e sorteia um número inteiro entre 1 e 100 """ import random numero = random.randint(1, 100) escolha = 0 tentativas = 0 print("Acerte o número que sorteei com o menor número de tentativas.") while escolha != numero: escolha = int(input("Digite um número inteiro entre 1 e 100: ")) tentativas += 1 if escolha < numero: print("O número %s é menor que o sorteado." % (escolha,)) elif escolha > numero: print("O número %s é maior que o sorteado." % (escolha,)) print("Parabéns! Você acertou o número com %s tentativas." % (tentativas,))
17.
#!/usr/bin/env python3 #coding: utf-8 class No(object): def __init__(self, questao=None, sim=None, nao=None): self._sim = sim self._nao = nao self._questao = questao def start(self): if self.ask("Esse animal {}".format(self._questao), sn=True): self._sim = self._sim.start() else: self._nao = self._nao.start() return self def ask(self, questao, sn=False): resposta = "" while resposta == "": resposta = input("{}? {}".format(questao, "(s/n) " if sn else "")) return resposta if not sn else (resposta[0].lower() == "s")
18.
class Animal(No): def__init__(self, nome): super(Animal, self).__init__(nome) self._nome = nome def start(self): if not self.ask("É um(a) {}".format(self._nome), sn=True): animal = self.ask("Qual é o animal") questao = self.ask("O que um {} faz que {} não faz".format(animal, self._nome)) return No(questao, Animal(animal), self) print("Acertei!") return self def main(): raiz = No("vive na água", Animal("baleia"), Animal("macaco")) while True: raiz.start() if not raiz.ask("Jogar novamente", sn=True): break if __name__ == '__main__': main()
19.
$ python3 animais.py Esse animal vive na água? (s/n) n É um(a) macaco? (s/n) n Qual é o animal? cachorro O que um cachorro faz que macaco não faz? é domesticado Jogar novamente? (s/n) s Esse animal vive na água? (s/n) n Esse animal é domesticado? (s/n) s É um(a) cachorro? (s/n) s Acertei!
20.
Django • FrameworkWeb Ágil • DRY - Don’t Repeat Yourself • MVC ou MTV (Model/View/Controller, Model/Template/ View) • ORM ➡️ Banco de Dados Relacional • Postgres, MySQL, Oracle, … • Instagram, Pinterest, Disqus, …