Micro servidor web amb Python

Tot i que el llenguatge més utilitzat (o en el que pensa gairebé tothom) quan parla de pàgines web és PHP, amb Python també es poden fer pàgines web :D

Un dels grans què del PHP és que engegues el servidor (Apache normalment), poses un fitxer php en algun lloc accessible i boom! ja tens la pàgina funcionant al navegador.
No se si existeix alguna cosa semblant, però amb Python encara ho pots fer més senzill (a mode de test i MAI en producció quedi clar):

from wsgiref.simple_server import make_server

def simple_app(environ, start_response):
    status = '200 OK'
    response_headers = [('Content-type','text/plain')]
    start_response(status, response_headers)
    return ['Hello world!\n']

# run the server
port = 8000
httpd = make_server('', port, simple_app)
print "Serving on port %i..." % port
httpd.serve_forever()

 

Amb el codi d’aquí sobre en teniu prou d’anar canviant el que hi ha dintre la funció per tenir ja alguna cosa que es mostri en el navegador :)

Resultat de la trobada per la pàgina de guifi.net

Fa poques hores que ha acabat la trobada de desenvolupament per renovar la portada de guifi.net i si una cosa ha estat, és productiva!

Després d’estar tot el dia ((es de les 11 del matí fins a les 8 amb pausa per dinar)) discutint noves fórmules de mostrar la pàgina de guifi, mirant què fan les altres pàgines de projectes i donar voltes i voltes a les idees hem acabat amb un pla que ja hem començat a executar:

Hem posat ((Cortesia d’en Miquel Martos)) un espai web ((Un FTP on tenim accés per pujar-hi documents, demaneu l’usuari a les llistes)) on anirem publicant tot el redisseny que anem fent amb tota la seva documentació.

Ara mateix ja hi ha la plantilla conceptual del redisseny ((Feta col·laborativament i editada per en Lluís Dalmau)) i els resums dels continguts fets per en Lluís Dalmau i en Gil Forcada.

Com deia al principi ha sigut molt productiu, sobretot perquè salvant les diferències de com fer els canvis i quins criteris seguir per a cada concepte en concret, tots compartíem un objectiu molt clar: la portada de la web de guifi.net tal i com la tenim ara ha de durar tant poc temps com sigui possible.

De manera que cadascú en el seu moment no ha tingut més remei que cedir en el seu punt de vista  per permetre que el consens generat per els altres membres entorn d’un punt sigués el que plasmàvem i així continuar la feina de la revisió a fons de la pàgina web.

En el document del resum dels continguts que he penjat jo també hi ha l’assignació de les tasques a que ens hem compromès entre tots, qualsevol ajuda és més que benvinguda.

I recordeu que tot és opinable, però que qui fa la feina és qui mana, opinar i dir que les coses no es fan bé sense cap alternativa és com no dir res!

màquina virtual per a desenvolupar guifi.net

Tenir un entorn per a desenvolupar qualsevol aplicació web es força engorrós. Has de configurar el servidor web, la base de dades, posar-hi dades de prova, crear usuaris, obrir ports, gestionar el codi a banda i una llarga llista de coses a fer i mantenir.

Per això durant els últims  caps de setmana de Desembre i principis de Gener vaig estar configurant una màquina virtual ((Una Debian pelada)) amb el fantàstic VirtualBox ((Cada vegada m’agrada més aquest programa)) on ja hi hagués tot el necessari pe a posar-se a programar guifi.net (Apache, Drupal, codi de guifi, base de dades anonimitzada …).

Després dels últims cerrells, empaquetar-la i pujar-la a un servidor ((De moment l’ADSL de casa no pot servir fitxers de 1,5 Gb :D)) la vaig fer pública.

Si en una cosa anem força curs de recursos a guifi és en la pàgina web, tot i que la pàgina funciona i es va millorant mica a mica sempre he tingut l’espina clavada de poder-hi ajudar per a així intentar millorar-la i optimitzar-la com més millor, ja que com més creix la xarxa més s’exprimeix la pàgina de guifi :)

Espero que amb aquesta petita contribució es faciliti que més i més ulls es puguin posar sobre el codi de guifi, almenys aquesta era la intenció :)

múltiples constructors en php

doncs es veu que no es pot, així de ras i curt

la idea dels constructors múltiples és que quan construeixes un objecte, el puguis construir a partir de diferents (o cap valors), per exemple es podria construir l’objecte triangle a partir de la longitud de dos costats i un angle, o a partir de les tres longituds, etc etc

pel que ser, com a mínim el c++ ho permet i pel cas concret que estic fent a la feina m’aniria de perles poder-ho utilitzar

al final ho he solucionat passant un array amb les dades que necessito a l’únic constructor que et permet el php i dins d’aquest cridar una o altre funció segons les dades que conté l’array :)