SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Desenvolvendo Protótipos/MVP

Python
Who?

CADEMY
academy.yacows.com.br

Bruno Rocha
@rochacbruno
http://github.com/rochacbruno
http://brunorocha.org
http://pythonhub.com
http://www.slideshare.net/rochacbruno/
●
●
●
●

Linguagem de alto nível, multi-plataforma e multi-propósitos.
Desenvolvimento web, desktop, shell, mobile, embarcados.
Criada por Guido van Rossum em 1990.
Idealizada para ser de fácil leitura.
JAVA x Python
import java.lang.*;
public class HelloWorld
{
public static void main (String[] args)
{
System.out.println("Hello, world!");
}
}

print("Hello, world!")
Em um fórum de startups no Quora...

Nossa equipe está preparando nosso plano de negócio e MVP para possíveis investidores. Eu sou o responsável
pela tecnologia de nossa equipe. Gostaria de saber o que colocar no plano de negócios ou em uma apresentação a
descrição da tecnologia. Coloco aquele monte de requisito da Engenharia de Software?

Sugiro que não fale nada sobre a tecnologia (nem mencione os nomes), pois para ele esta é a última coisa que
importa. ele estará lá para analisar o seu projeto como negócio. Na primeira análise assume-se que a parte técnica
simplesmente vai funcionar, e mesmo assim 99% dos projetos são descartados. Caso você desperte interesse nele
(e esteja no outro 1%), em algum momento futuro ele vai querer se certificar que você (CTO) sabe o que está fazendo
e aí sim você vai ter que se mostrar.

Esquece a parte técnica e teórica.

Os investidores só querem saber uma coisa: como vc vai fazer o dinheiro deles renderem ?
Responda essa pergunta e ganhe o dia.
Principais preocupações de um empreendedor
●
●
●
●
●
●
●

Análise de mercado: sua ideia é viável ?
Plano de negócios (ou como vc preferir chama-lo): você sabe como fazer ?
Modelo financeiro (deck): quanto, como e quando vc vai gastar e ganhar $$ ?
Equipe
Protótipo ou MVP
Validação do modelo: Produto em funcionamento, leads ou faturando
Busca por investimento

Desenvolver com qual tecnologia?
Onde hospedar?
Contratar uma consultoria?
Contratar um desenvolvedor?
Sócio técnico?
Desenvolvimento do MVP
1. Contratar uma consultoria para startups e pagar R$ 10.000 para desenvolver seu MVP
a. Entendem a sua ideia?
b. Sigilo
c. Você tem R$ 10.000 ?
2. Contratar um programador durante dois meses para desenvolver seu MVP (+- R$ 6k/mês)
a. Over-engineering (fazer mais do que o necessário, excesso de otimização)
b. Atraso
c. Encontrar um desenvolvedor disponível não é fácil
d. Você tem R$ 12.000 ?
3. Sócio técnico ( 5% do négocio hein?? are you kidding?)
a. Todos os problemas acima
b. 5% é muito pouco, o cara vai desanimar
c. Programadores são programadores! (Business is bullshit)
4. DIY
a. Você sabe programar?
Principais preocupações como desenvolvedor
Linguagem fácil e poderosa!

Framework web seguro, fácil e completo,
desenvolvido para quem não é programador!

Web designer in a box!

Ambiente de desenvolvimento é o browser!
1. Aprenda você mesmo!
a. Livros e tutoriais
b. Comunidade Python
c. +- 6 meses

http://www.cursodepython.com.br

2. Faça um treinamento!
a. Python para empreendedores
b. Direto ao ponto! (100% prático)
c. Desenvolva um MVP do zero
d. Coloque seu produto no ar!
e. Duração: 24hs (3 finais de semana)
f. contato@yacows.com.br
SHOW ME THE CODE
Relógio em 16 linhas de Python

import Tkinter
from time import strftime
relogio = Tkinter.Label()
relogio['font'] = 'Helvetica 120 bold'
relogio['text'] = strftime("%H:%M:%S")
def tictac():
agora = strftime("%H:%M:%S")
if agora != relogio['text']:
relogio['text'] = agora
relogio.after(100, tictac)
tictac()
relogio.pack()
relogio.mainloop()

Exemplo copiado de uma apresentação do Luciano Ramalho
Model model.py
Ofertas = db.define_table(
“ofertas”,
Field(“titulo”),
Field(“valor”, “double”),
Field(“foto”, “upload”)
)

WEB APP COM

Controller ofertas.py
response.generic_patterns = ["*.json", "*.xml"]
def index():
ofertas = db(Ofertas).select()
return {“ofertas”: ofertas}

Views

def cadastrar():
formulario = SQLFORM(Ofertas).process()
return {“formulario”: formulario}

index.html
cadastrar.html
<ul>
{{=formulario}}
{{ for oferta in ofertas: }}
<li>
<img src=”{{=URL(“default”, “download”, args=oferta.foto)}}”>
{{=oferta.titulo}} <br /> R$ {{=’%.2f’ % oferta.valor}}
</li>
{{pass}}
</ul>
Integrar com app mobile?
http://seusite.com/ofertas
http://seusite.com/ofertas/index.json
http://seusite.com/ofertas/cadastrar
http://seusite.com/ofertas/index.xml
web2py web IDE
●
●
●
●
●

Editor
Testes
Debugging
Validação (PEP8)
Temas
http://bootswatch.com/2/
Formulário com validação e proteção CSRF
Python para empreendedores

http://www.cursodepython.com.br

●
●
●
●
●

Direto ao ponto! (100% prático)
Desenvolva um MVP do zero
Coloque seu produto no ar!
Duração: 24hs (3 finais de semana)
contato@yacows.com.br

http://www.slideshare.net/rochacbruno/
Todo mundo deveria aprender a programar
http://www.youtube.com/watch?v=4iKu9qtCSXg

http://www.cursodepython.com.br
Python para empreendedores
●
●
●
●
●

Direto ao ponto! (100% prático)
Desenvolva um MVP do zero
Coloque seu produto no ar!
Duração: 24hs
(3 finais de semana)
contato@yacows.com.br

Weitere ähnliche Inhalte

Was ist angesagt?

De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e DjangoOsvaldo Santana Neto
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Igor Macaubas
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web ServicesDorneles Treméa
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyGilson Filho
 
Despertando para o PHP
Despertando para o PHPDespertando para o PHP
Despertando para o PHPRafael Dohms
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalAdriano Petrich
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosLucas Vegi
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Arthur Furlan
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com PythonDorneles Treméa
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalBruno Fernandes "PorKaria"
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do GoogleLuciano Ramalho
 

Was ist angesagt? (20)

De Zero à Web com Python e Django
De Zero à Web com Python e DjangoDe Zero à Web com Python e Django
De Zero à Web com Python e Django
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?
 
Introdução ao Python & Web Services
Introdução ao Python & Web ServicesIntrodução ao Python & Web Services
Introdução ao Python & Web Services
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Desenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2pyDesenvolvendo aplicações web com python e web2py
Desenvolvendo aplicações web com python e web2py
 
Despertando para o PHP
Despertando para o PHPDespertando para o PHP
Despertando para o PHP
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
Desenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetosDesenvolvimento web: PHP orientado a objetos
Desenvolvimento web: PHP orientado a objetos
 
Programando em Go
Programando em GoProgramando em Go
Programando em Go
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.Django para desenvolvimento web; porque ser repetitivo é chato.
Django para desenvolvimento web; porque ser repetitivo é chato.
 
Django - Muito além do básico
Django - Muito além do básicoDjango - Muito além do básico
Django - Muito além do básico
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com Python
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederal
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 
Canivete python
Canivete pythonCanivete python
Canivete python
 

Andere mochten auch

PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonBruno Rocha
 
Django para portais de alta visibilidade. tdc 2013
Django para portais de alta visibilidade.   tdc 2013Django para portais de alta visibilidade.   tdc 2013
Django para portais de alta visibilidade. tdc 2013Bruno Rocha
 
Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.fRui Apps
 
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBFlask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBBruno Rocha
 
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015Bruno Rocha
 
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIPython Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIBruno Rocha
 
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abreBig Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abreVivaldo Jose Breternitz
 
De dev para data scientist 3 coisas que aprendi
De dev para data scientist  3 coisas que aprendiDe dev para data scientist  3 coisas que aprendi
De dev para data scientist 3 coisas que aprendiRodrigo Vieira
 
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...Igor Steinmacher
 
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???Alessandro Binhara
 
Usabilidade de interface para busca e recuperação de informação na web
Usabilidade de interface para busca e recuperação de informação na webUsabilidade de interface para busca e recuperação de informação na web
Usabilidade de interface para busca e recuperação de informação na webRobson Santos
 
Construindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com PythonConstruindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com Pythonpugpe
 
Palestra MVP living lab ms
Palestra MVP   living lab msPalestra MVP   living lab ms
Palestra MVP living lab msBonoBee
 
Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015
Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015
Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015Bruno Rocha
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra Otávio Santana
 
Mantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e GitMantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e GitMatheus Pereira
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaJoão Gabriel Lima
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...João Gabriel Lima
 
Análise de Redes Sociais com Python
Análise de Redes Sociais com PythonAnálise de Redes Sociais com Python
Análise de Redes Sociais com PythonAna Paula Gomes
 

Andere mochten auch (20)

PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com Python
 
Django para portais de alta visibilidade. tdc 2013
Django para portais de alta visibilidade.   tdc 2013Django para portais de alta visibilidade.   tdc 2013
Django para portais de alta visibilidade. tdc 2013
 
Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.Web2py tutorial to create db driven application.
Web2py tutorial to create db driven application.
 
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBFlask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
 
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
Quokka CMS - Desenvolvendo web apps com Flask e MongoDB - grupy - Outubro 2015
 
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CIPython Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CI
 
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abreBig Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
Big Data, Analytics e o Cientista de Dados – um novo campo de trabalho se abre
 
De dev para data scientist 3 coisas que aprendi
De dev para data scientist  3 coisas que aprendiDe dev para data scientist  3 coisas que aprendi
De dev para data scientist 3 coisas que aprendi
 
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
MinerAll: Uma ferramenta para extração e mineração de dados de repositórios d...
 
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
O queo facebook faz com minhas fotos??? E o que o BigData tem haver com isso ???
 
Usabilidade de interface para busca e recuperação de informação na web
Usabilidade de interface para busca e recuperação de informação na webUsabilidade de interface para busca e recuperação de informação na web
Usabilidade de interface para busca e recuperação de informação na web
 
Construindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com PythonConstruindo uma startup em 54 horas com Python
Construindo uma startup em 54 horas com Python
 
Palestra MVP living lab ms
Palestra MVP   living lab msPalestra MVP   living lab ms
Palestra MVP living lab ms
 
Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015
Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015
Data Developer - Engenharia de Dados em um time de Data Science - Uai python2015
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra
 
Mantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e GitMantendo seu Tempo a salvo com Python e Git
Mantendo seu Tempo a salvo com Python e Git
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Análise de Redes Sociais com Python
Análise de Redes Sociais com PythonAnálise de Redes Sociais com Python
Análise de Redes Sociais com Python
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 

Ähnlich wie Desenvolvendo MVPs com Python

Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra
 
Como encontrar um CTO
Como encontrar um CTOComo encontrar um CTO
Como encontrar um CTOLuiz Coelho
 
Desenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoDesenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoMarcos Petry
 
XP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin BrazilXP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin BrazilGaëtan Belbéoc'h
 
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...MVP ShowCast
 
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6Rildo (@rildosan) Santos
 
Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)Giovanni Bassi
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumLuca Bastos
 
Como Iniciar Carreira de Sucesso com Certificações Microsoft
Como Iniciar Carreira de Sucesso com Certificações MicrosoftComo Iniciar Carreira de Sucesso com Certificações Microsoft
Como Iniciar Carreira de Sucesso com Certificações MicrosoftAlexandre Borges
 
Apresentação sketchflow
Apresentação sketchflowApresentação sketchflow
Apresentação sketchflowdidacsbr
 
Apresentação sketchflow
Apresentação sketchflowApresentação sketchflow
Apresentação sketchflowdidacsbr
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012Carlos Casalicchio
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensourceCDS
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM codebits
 

Ähnlich wie Desenvolvendo MVPs com Python (20)

Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
 
TDC 2015 Florianopolis
TDC 2015 FlorianopolisTDC 2015 Florianopolis
TDC 2015 Florianopolis
 
Como encontrar um CTO
Como encontrar um CTOComo encontrar um CTO
Como encontrar um CTO
 
Desenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certoDesenvolvimento ágil do jeito certo
Desenvolvimento ágil do jeito certo
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
XP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin BrazilXP & Scrum from the trenches @ LeroyMerlin Brazil
XP & Scrum from the trenches @ LeroyMerlin Brazil
 
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
C++11 e C++14 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de...
 
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
Workshop Scrum Product Owner, Delírios de PO em Dia de Verão v6
 
Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Como Iniciar Carreira de Sucesso com Certificações Microsoft
Como Iniciar Carreira de Sucesso com Certificações MicrosoftComo Iniciar Carreira de Sucesso com Certificações Microsoft
Como Iniciar Carreira de Sucesso com Certificações Microsoft
 
Jornada para o DevOps
Jornada para o DevOpsJornada para o DevOps
Jornada para o DevOps
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Apresentação sketchflow
Apresentação sketchflowApresentação sketchflow
Apresentação sketchflow
 
Apresentação sketchflow
Apresentação sketchflowApresentação sketchflow
Apresentação sketchflow
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 
Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM Desenvolvimento Ágil de Software com SCRUM
Desenvolvimento Ágil de Software com SCRUM
 

Mehr von Bruno Rocha

Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rustBruno Rocha
 
The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!Bruno Rocha
 
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laA Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laBruno Rocha
 
Carreira de Programador e Mercado de Trabalho
Carreira de Programador e Mercado de TrabalhoCarreira de Programador e Mercado de Trabalho
Carreira de Programador e Mercado de TrabalhoBruno Rocha
 
Quokka CMS - Content Management with Flask and Mongo #tdc2014
Quokka CMS - Content Management with Flask and Mongo #tdc2014Quokka CMS - Content Management with Flask and Mongo #tdc2014
Quokka CMS - Content Management with Flask and Mongo #tdc2014Bruno Rocha
 
Web Crawling Modeling with Scrapy Models #TDC2014
Web Crawling Modeling with Scrapy Models #TDC2014Web Crawling Modeling with Scrapy Models #TDC2014
Web Crawling Modeling with Scrapy Models #TDC2014Bruno Rocha
 
Flask for CMS/App Framework development.
Flask for CMS/App Framework development.Flask for CMS/App Framework development.
Flask for CMS/App Framework development.Bruno Rocha
 
What The Flask? and how to use it with some Google APIs
What The Flask? and how to use it with some Google APIsWhat The Flask? and how to use it with some Google APIs
What The Flask? and how to use it with some Google APIsBruno Rocha
 
Guia alimentar de dietas vegetarianas para adultos
Guia alimentar de dietas vegetarianas para adultosGuia alimentar de dietas vegetarianas para adultos
Guia alimentar de dietas vegetarianas para adultosBruno Rocha
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 
Using web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworksUsing web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworksBruno Rocha
 
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qconDesenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qconBruno Rocha
 

Mehr von Bruno Rocha (12)

Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rust
 
The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!
 
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-laA Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
A Qualidade do Ecossistema Python - e o que podemos fazer para mante-la
 
Carreira de Programador e Mercado de Trabalho
Carreira de Programador e Mercado de TrabalhoCarreira de Programador e Mercado de Trabalho
Carreira de Programador e Mercado de Trabalho
 
Quokka CMS - Content Management with Flask and Mongo #tdc2014
Quokka CMS - Content Management with Flask and Mongo #tdc2014Quokka CMS - Content Management with Flask and Mongo #tdc2014
Quokka CMS - Content Management with Flask and Mongo #tdc2014
 
Web Crawling Modeling with Scrapy Models #TDC2014
Web Crawling Modeling with Scrapy Models #TDC2014Web Crawling Modeling with Scrapy Models #TDC2014
Web Crawling Modeling with Scrapy Models #TDC2014
 
Flask for CMS/App Framework development.
Flask for CMS/App Framework development.Flask for CMS/App Framework development.
Flask for CMS/App Framework development.
 
What The Flask? and how to use it with some Google APIs
What The Flask? and how to use it with some Google APIsWhat The Flask? and how to use it with some Google APIs
What The Flask? and how to use it with some Google APIs
 
Guia alimentar de dietas vegetarianas para adultos
Guia alimentar de dietas vegetarianas para adultosGuia alimentar de dietas vegetarianas para adultos
Guia alimentar de dietas vegetarianas para adultos
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 
Using web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworksUsing web2py's DAL in other projects or frameworks
Using web2py's DAL in other projects or frameworks
 
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qconDesenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
 

Desenvolvendo MVPs com Python

  • 3. ● ● ● ● Linguagem de alto nível, multi-plataforma e multi-propósitos. Desenvolvimento web, desktop, shell, mobile, embarcados. Criada por Guido van Rossum em 1990. Idealizada para ser de fácil leitura.
  • 4.
  • 5. JAVA x Python import java.lang.*; public class HelloWorld { public static void main (String[] args) { System.out.println("Hello, world!"); } } print("Hello, world!")
  • 6.
  • 7. Em um fórum de startups no Quora... Nossa equipe está preparando nosso plano de negócio e MVP para possíveis investidores. Eu sou o responsável pela tecnologia de nossa equipe. Gostaria de saber o que colocar no plano de negócios ou em uma apresentação a descrição da tecnologia. Coloco aquele monte de requisito da Engenharia de Software? Sugiro que não fale nada sobre a tecnologia (nem mencione os nomes), pois para ele esta é a última coisa que importa. ele estará lá para analisar o seu projeto como negócio. Na primeira análise assume-se que a parte técnica simplesmente vai funcionar, e mesmo assim 99% dos projetos são descartados. Caso você desperte interesse nele (e esteja no outro 1%), em algum momento futuro ele vai querer se certificar que você (CTO) sabe o que está fazendo e aí sim você vai ter que se mostrar. Esquece a parte técnica e teórica. Os investidores só querem saber uma coisa: como vc vai fazer o dinheiro deles renderem ? Responda essa pergunta e ganhe o dia.
  • 8. Principais preocupações de um empreendedor ● ● ● ● ● ● ● Análise de mercado: sua ideia é viável ? Plano de negócios (ou como vc preferir chama-lo): você sabe como fazer ? Modelo financeiro (deck): quanto, como e quando vc vai gastar e ganhar $$ ? Equipe Protótipo ou MVP Validação do modelo: Produto em funcionamento, leads ou faturando Busca por investimento Desenvolver com qual tecnologia? Onde hospedar? Contratar uma consultoria? Contratar um desenvolvedor? Sócio técnico?
  • 9. Desenvolvimento do MVP 1. Contratar uma consultoria para startups e pagar R$ 10.000 para desenvolver seu MVP a. Entendem a sua ideia? b. Sigilo c. Você tem R$ 10.000 ? 2. Contratar um programador durante dois meses para desenvolver seu MVP (+- R$ 6k/mês) a. Over-engineering (fazer mais do que o necessário, excesso de otimização) b. Atraso c. Encontrar um desenvolvedor disponível não é fácil d. Você tem R$ 12.000 ? 3. Sócio técnico ( 5% do négocio hein?? are you kidding?) a. Todos os problemas acima b. 5% é muito pouco, o cara vai desanimar c. Programadores são programadores! (Business is bullshit) 4. DIY a. Você sabe programar?
  • 11. Linguagem fácil e poderosa! Framework web seguro, fácil e completo, desenvolvido para quem não é programador! Web designer in a box! Ambiente de desenvolvimento é o browser!
  • 12. 1. Aprenda você mesmo! a. Livros e tutoriais b. Comunidade Python c. +- 6 meses http://www.cursodepython.com.br 2. Faça um treinamento! a. Python para empreendedores b. Direto ao ponto! (100% prático) c. Desenvolva um MVP do zero d. Coloque seu produto no ar! e. Duração: 24hs (3 finais de semana) f. contato@yacows.com.br
  • 13. SHOW ME THE CODE
  • 14. Relógio em 16 linhas de Python import Tkinter from time import strftime relogio = Tkinter.Label() relogio['font'] = 'Helvetica 120 bold' relogio['text'] = strftime("%H:%M:%S") def tictac(): agora = strftime("%H:%M:%S") if agora != relogio['text']: relogio['text'] = agora relogio.after(100, tictac) tictac() relogio.pack() relogio.mainloop() Exemplo copiado de uma apresentação do Luciano Ramalho
  • 15. Model model.py Ofertas = db.define_table( “ofertas”, Field(“titulo”), Field(“valor”, “double”), Field(“foto”, “upload”) ) WEB APP COM Controller ofertas.py response.generic_patterns = ["*.json", "*.xml"] def index(): ofertas = db(Ofertas).select() return {“ofertas”: ofertas} Views def cadastrar(): formulario = SQLFORM(Ofertas).process() return {“formulario”: formulario} index.html cadastrar.html <ul> {{=formulario}} {{ for oferta in ofertas: }} <li> <img src=”{{=URL(“default”, “download”, args=oferta.foto)}}”> {{=oferta.titulo}} <br /> R$ {{=’%.2f’ % oferta.valor}} </li> {{pass}} </ul> Integrar com app mobile? http://seusite.com/ofertas http://seusite.com/ofertas/index.json http://seusite.com/ofertas/cadastrar http://seusite.com/ofertas/index.xml
  • 18. Formulário com validação e proteção CSRF
  • 19. Python para empreendedores http://www.cursodepython.com.br ● ● ● ● ● Direto ao ponto! (100% prático) Desenvolva um MVP do zero Coloque seu produto no ar! Duração: 24hs (3 finais de semana) contato@yacows.com.br http://www.slideshare.net/rochacbruno/
  • 20. Todo mundo deveria aprender a programar http://www.youtube.com/watch?v=4iKu9qtCSXg http://www.cursodepython.com.br Python para empreendedores ● ● ● ● ● Direto ao ponto! (100% prático) Desenvolva um MVP do zero Coloque seu produto no ar! Duração: 24hs (3 finais de semana) contato@yacows.com.br