martedì 30 settembre 2008

Appengine SDK 1.1.4

E' uscita la 1.1.4 ed ha corretto qualche buco della precedente rel. (incluso quello sotto segnalato).

Google Visualization API


Uno strumento ottimo per creare grafici.
Qui alcuni esempi.

giovedì 18 settembre 2008

Appengine SDK 1.1.3

E' stata rilasciata la rel 1.1.3 qui per approfondimenti.
Qui per il download.

Credo forse di aver trovato un piccolo bug.

Ho riscontrato un problema sulla console-admin (http://localhost:8080/_ah/admin/datastore) del Web Server in una applicazione che accede al datastore locale.

La stessa applicazione su appspot.com funziona.

In sintesi sembra che un campo float produca un errore:
\google\appengine\api\datastore_file_stub.py", line 626, in _Dynamic_GetSchema
value_pb.set_doublevalue(float('-inf'))
ValueError: invalid literal for float(): -inf


Rimettendo sotto la cartella \google\appengine\ tutti i files della versione 1.1.2 il problema si risolve.

giovedì 11 settembre 2008

Sta arrivando F#

Il nuovo linguaggio di programmazione di Microsoft si chiama F#.
Arriverà ufficialmente il prossimo anno.

Per ora c'è già qualche interessante anteprima qui :  Microsoft F#.

Al 2° punto delle ragioni che spiegano il perché Microsoft abbia deciso di creare un nuovo linguaggio oltre a quelli che già supporta è scritto : 


A mio parere il riferimento non è casuale, Python crea qualche preoccupazione nei concorrenti.

martedì 2 settembre 2008

Classi - esempi

Usare le classi, un esempio elementare.

All'interno dello stesso file:

class pp():
i =444
def agg(self,x):
x1 = x+10
self.i = x1


class main(): #dalla classe main richiamo le funzioni definite nella classe creata sopra
p1= pp()
print p1.i
p1.agg(3)
print p1.i

lunedì 1 settembre 2008

GQL - Le chiavi sui record

Se tabelladati è una entity (una tabella DB ),
per leggere l'ID che viene inserito automaticamente su ogni record si può utilizzare :

tabelladati.key().id()

esempi per stampare gli ID di tutti i record:

for recordx in tabelladati:
print recordx.key().id()

oppure per stampare l'ID del primo [0] record e del secondo

rcc= tabelladati[0]
print rcc.key().id()

rcc= tabelladati[1]
print rcc.key().id()


Per selezionare il record che ha ID es. 223
codid= 223
record_estratto = tabelladati.get_by_id(int(codid))
print record_estratto.nome #stamperà il campo nome del record con ID 223

Chiamare le classi - Esempio banale

  • nel file crearandom.py creo la classe Test()
  • import random
  • number = random.randint(1,100)
  • class Test():
  • xx= number
  • nel file stampa.py richiamo la classe Test del file sopra
  • import random, crearandom
  • print crearandom.Test.xx