- Criar uma conta do Github;
- Criar um reposítório;
- Escrever algo no Readme;
- Fazer um push;
- Enviar link do repositório para o fórum da turma.
App Engine, Você programa e o Google Escala!"
Os vídeos estão interessantes, bem explicados, apesar de ter me dado algumas dores de cabeça na hora de configurar o ambiente usando o Linux Mint. Como sugestão acho que o arquivo .sh, poderia conter uma verificação (e caso não exista, fazer uma instalação) para saber se os arquivos do python necessários para que a execução do Teckton seja concluída com sucesso.
Respostas do livro: "App Engine, Você programa e o Google Escala!"
Capítulo 1:
1. Quais as duas principais versões atuais do interpretador Python?
R: 2.7 e 3.4 (ref. pag 1)
R: Apenas a versão 2.7, mas sempre que possível trabalhar com a versão mais recente do python, isso é recomendado devido as melhorias
R: POis o SDK do APp Engine provê as ferramentas necessárias para a execução do servidor localmente, interação com banco de dados, entre outras funcionalidades.
R: Você não precisará ficar acessando o diretório todo o momento, você terá um "atalho" criado no SO, podendo acessar os arquivos daquele diretório dentro de qualquer outro diretório.
R: IDE é uma ferramenta de desenvolvimento que facilita (ou ao menos é o que ela deveria fazer), a vida. Te provendo funcionalidades que muitas vezes seriam trabalhosas ou chatas de se fazer sem as mesmas, como debug, auto-complete, cores nos textos e afins.
R: app.yaml
R: o endereço padrão que fica dentr odo app.yaml é: "new-project-template" (sem aspas), mas o domínio padrão é "http://<seu identificador>.appspot.com"
Capítulo 2:
1. Qual o nome do arquivo de configuração do Google App Engine?
R: app.yaml
2. Para que serve o item application do arquivo de configuração?
R: Ele conta o identificador da aplicação. E deve ser o mesmo utilizado na criação da aplicação no console do GAE, para que o SDK consiga entender isso e publicar corretamente na nuvem.
3. Para que serve o item version do arquivo de configuração?
R: É a versão do site que estará no servidor, se você por exemplo quiser testar uma versão antes de colocala em produção, você pode. Mas caso precise retroceder para uma anterior é só marca-la como default.
4. Qual endereço deve ser utilizado para acessar uma aplicação com id foo e versão 35?
R: http://35.foo.appspot.com
5. Para que serve a seção libraries do arquivo de configuração?
R: Ele informa o nome da biblioteca a ser instalada e opcionalmente a sua versão.
6. Para que serve a seção handlers do arquivo de configuração?
R: Ele define o início do roteamento.
7. Como são definidos os paths mapeados no arquivo de configuração?
R: com o comando: "url: .*". Onde "*" é uma expressão regular que significa "qualquer cadeia de caracteres".
8. Por que é necessário mapear RequestHandlers nos scripts Python?
R: É muito comum em Python termos várias classes declaradas em um módulo. Sendo assim, apenas acrescentar o script no arquivo de configuração não é o suficiente para saber qual handler deve ser executado.
9. Para que serve a classe RequestHandler?
R: Para construir uma janela que deseja tratar requisições
10. Como se relacionam os métodos da classe RequestHandler e os do protocolo HTTP?
R: Os métodos da classe RequestHandler devem ser sobrescritos para processar as chamadas HTTP de tipo com mesmo nome. Por exemplo, uma chamada HTTP do tipo GET será processada no método sobrescrito get, Uma chamada do tipo POST em um método post e assim or diante. (sim, eu copiei a resposta do livro pois não entendi como colocar a resposta aqui através do livro..)
11. Para que serve o objeto Request ?
R: ele consegue acessar as informações passadas por HTTP
12. Como se obtém os valores de parâmetros enviados via query string em uma chamada HTTP do tipo GET?
R: % variavel
13. Para que serve o objeto Response?
R: pois é através dessa interface que o servidor obtem acesso as informações e parâmetros enviados pelo usuário.
14. Qual o método do objeto Response serve para enviar strings?
R: o parâmetro "?" seguido do nome do variavel, um sinal de igual (=) e o valor da variável.
15. Como é possível enviar uma resposta para redirecionamento?
R: redirect(str("alguma string"))
Capítulo 3
1. Para que serve o Virtualenv?
R: Ele permite que se crie um ambiente isolado para cada projeto. Definindo a linguagem e qual linguagem será usada em cada projeto.
2. Qual a função do arquivo convention.py?
R: a ideia geral é a não necessidade de mapear handlers manualmente.
3. Por que é necessário incluir bibliotecas através de código no arquivo convention.py?
R:
4. Como ficaria a declaração de u
ma função para tratar a execução de chamada no path
/usuario/salvar?nome=Renzo&idade=31?
R: def salvar(nome, idade):
#...tratamento
requisição HTTP?
R: os parâmetros recebidos por injeção de dependência recebem um parâmetro a mais "_req"
6. Qual deve ser a posição de parâmetros recebidos via injeção de dependência?
R: eles devem ser os primeiros parâmetros da função.
7. Qual deve ser o parâmetro declarado quando for necessário fazer um redirecionamento?
R: _handler
8. Qual o script e função devem ser utilizados para se calcular paths com base em uma função?
R: o script a ser usado é esse: variavel = router.to_path(funcao, 'diretorio', 'handle')
Pois a intenção dessa abordagem é que se por ventura o nome da função for alterado, a IDE irá continuar rodando, ou ao menos, te avisar na hora da compilação que a função não existe.
Nenhum comentário:
Postar um comentário