I use open source to help people evolve, I take pleasure in seeing people evolve
Open Source Contributions - June 2011
Entendendo na pratica como funciona a linguagem Go
A linguagem Go é um projeto open source para tornar os programadores mais produtivos.
Go foi desenvolvido para utilização maxima do CPU, tornando um processo simples para criar aplicação Multithreaded, o processo de utilização de maquinas na rede para processar determinado programa também é bem simples, assim tornando um software mais flexível e modular.
Vamos montar um servidor HTTP em Go.
package main
import (
"http";
"io";
"fmt";
)
func HelloServer(c *http.Conn, req *http.Request) {
io.WriteString(c, "hello, world!\n");
}
func main() {
fmt.Printf("http://localhost:8080/hello\n");
http.Handle("/hello", http.HandlerFunc(HelloServer));
err := http.ListenAndServe(":8080", nil);
if err != nil {
panic("ListenAndServe: ", err.String())
}
}
O HelloServer() é o que vai fazer a parte de renderização, o man() ele sobre o servidor HTTP na porta 8080, e caso o usuário tente processar um URL que não esteja no fmt ele vai cair no err onde vai processar o erro e apresentar o panic.
Simples assim já temos um servidor HTTP.
Open Source Contributions - May 2011
Upload da arquivo no Google App Engine (BlobProperty)
Essa semana que passou tive uma necessidade para um sistema de trabalhar com UPLOAD de arquivos, ate ai é simples, só que o sistema estava em Google App Engine, depois de apanhar um pouco resolvi fazer um post aqui no Blog para deixar documentado como não é complicado trabalhar com BlobProperty no BigTable.
Primeiro vamos criar um Modal onde vai ter dois campo o arquivo e o mimetype dele:
class DatastoreFile(db.Model):
data = db.BlobProperty(required=True)
mimetype = db.StringProperty(required=True)
Agora vamos criar a views onde ele vai processar o formulario e o POST do formulario:
…