I use open source to help people evolve, I take pleasure in seeing people evolve

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.

Read more ⟶

Open Source Contributions - May 2011


May 2011 saw significant contributions with 2 repositories, 2 issues opened, and 2 pushes, reflecting active collaboration in the developer community.
Read more ⟶

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:

Read more ⟶

Criando sistema com Multithreaded em Python


Multithreaded é quando temos mais de um programa executando ao mesmo tempo, totalmente diferente de executar duas vez o mesmo programa, com "threads" o sistema vai ser executado apenas uma vez e via thread vai processar mais de uma função ao mesmo tempo, isso é necessario para concorrência em sistema.

Algumas vantagens de trabalha com threads:

  • Múltiplos processo ao mesmo tempo e pode, portanto, compartilhar informações e comunicar uns com os outros mais facilmente do que se fossem processos separados;
  • Menos consumo de memória, pois o mesmo vai consumir mais CPU.

Uma thread tem um começo, meio e fim, assim podemos colocar um ponteiro de instrução para acompanhar onde esta sendo processado cada thread dentro de seu contexto.

Read more ⟶