Uno scrittoio digitale …

28 luglio 2010

base Refactoring

Archiviato in: code — Tag:, , — admin @ 21:18

Applica costantemente i seguenti concetti per mantenere il codice pulito …

  • metodi di piccole dimensioni
  • nomi significativi a classi, metodi e variabili
  • ogni metodo deve fare una singola operazione
  • creare sottoclassi per aggiungere funzionalità invece di aggiungere metodi alla stessa
  • estrarre classi prima di ottenere un casino di codice
  • mantenere l’astrazione nelle classi
  • ogni classe dovrebbe eseguire una singola responsabilità

sicuramente può essere rifinita ed aggiornata … ma questa breve lista dovrebbe essere un buon punto di partenza.

10 luglio 2010

Ubuntu codename

Archiviato in: sapere è potere, ubuntu — admin @ 18:04

qua !!?

Installare sun-java5-jdk su Lucid (10.4)

Archiviato in: java, ubuntu — admin @ 17:58

esistono solo due soluzioni … e sono entrambe ben documentate qua.

4 luglio 2010

Proof Python Lib

Archiviato in: code, python — Tag: — admin @ 14:19

Django
OOoPy
Xlrd
Python-dialog ( disponibile nei repo ubuntu )
PySvn

dbus

Archiviato in: code — Tag:, , , — admin @ 09:58

Non voglio riscrivere quello che già è spiegato molto bene sul web:
dbus
dbus-tutorial
wikipedia

Ho fatto un piccolo esempio in Python. Avendo usato rmi in Java mi sono trovato molto a mio agio.

Service

#!/usr/bin/env python

import dbus
import dbus.service
import dbus.glib
import gobject

class SomeObject(dbus.service.Object):
    def __init__(self, bus_name, object_path="/SomeObject"):
        dbus.service.Object.__init__(self, bus_name, object_path)

    @dbus.service.method("org.designfu.SampleInterface")
    def HelloWorld(self, hello_message):
        print (str(hello_message))
        return ["Hello", " from example-service.py"]

    @dbus.service.method("org.designfu.SampleInterface")
    def GetTuple(self):
        return ("Hello Tuple", " from example-service.py")

    @dbus.service.method("org.designfu.SampleInterface")
    def GetDict(self):
        return {"first": "Hello Dict", "second": " from example-service.py"}

session_bus = dbus.SessionBus()
name = dbus.service.BusName("org.designfu.SampleService", bus=session_bus)

SomeObject(name)

mainloop = gobject.MainLoop()
mainloop.run()

Client

#!/usr/bin/env python

import dbus

bus = dbus.SessionBus()
remote_object = bus.get_object("org.designfu.SampleService", "/SomeObject")

hello_reply_list = remote_object.HelloWorld(
	"Hello from example-client.py!", dbus_interface = "org.designfu.SampleInterface")

print "1)", hello_reply_list, "\n"

iface = dbus.Interface(remote_object, "org.designfu.SampleInterface")
print "2)", str(iface.GetTuple()), "\n"
print "3)", str(iface.GetDict()), "\n"

print remote_object.Introspect(dbus_interface="org.freedesktop.DBus.Introspectable")

Funziona con WordPress