Author: Oriol Rius

UML – Procés de desenvolupmanet OO de Craig Larman

Reading time: 2 – 2 minutes

uml.gif

Dels molts documents que he estat llegint les últimes setmanes especialment n’hi ha un de només 38 pàgines que l’he trobat ideal per fer-ne una guia de passos de com modelar un sistema OO amb UML. Aquest document bàsicament explica un mètodes anomenat de Craig Larman (wikipedia).

Doncs basant-me en aquest document amb el “tallar” i “engaxar” contra el meu wiki m’he fet un petit document resum ideal per usar com a eina de consulta durant el desenvolupament d’un projecte. És curiós perquè tret d’algunes frases per unir conceptes la resta l’he extret directament del document inicial i m’ha quedat força bé, almenys això em sembla a mi. Per altre banda, li vull agraïr a l’autor del document original Juan de Dios Bátíz Paredes la seva feina ja que m’ha estat molt útil, si voleu ampliar conceptes o veure exemples del que explica el meu resum obviament els trobareu al document d’aquest senyor.

Editant menú de GNOME

Reading time: 2 – 3 minutes

El Benja em va preguntar el divendres, com edito el menú del GNOME i jo vaig pensar ostres fa temps que ho vaig fer i no recordo com. De fet, el paquet base de GNOME 2.12 porta un editor força simple dels menús. Es tracta del gmenu-simple-editor, bàsicament només pensat per mostrar o ocultar opcions del menú. Però jo concretament avui m’he preguntat com podia fer apareixer als meus menús algunes aplicacions que no són natives de GNOME de fet són dues aplicacions que funcionen amb el motor JRE de Java i que volia poder cridar sense haver de sortir a la CLI.

Bé doncs, als fòrums de gentoo he trobat aquest thread Gnome 2.12.1 menu editor fails to launch. La solució ha vingut en forma d’una aplicació que ara mateix no esta al portage de gentoo però que té un ebuild al bugzilla de gentoo, concretament estic parlant de alacarte (bug 111376). Es tracta d’un editor molt senzill d’usar i molt semblant d’aspecte a l’editor que porta GNOME de serie.

Resumeixo els passos a seguir per instal·lar-lo:

# mkdir -p /usr/local/portage/x11-misc/alacarte/files
# cd /usr/local/portage/x11-misc/alacarte/
# wget http://bugs.gentoo.org/attachment.cgi?id=72041
# PORTDIR_OVERLAY="/usr/local/portage"
# export PORTDIR_OVERLAY
# ebuild /usr/local/portage/x11-misc/alacarte/alacarte-0.8.ebuild digest
# echo dev-python/pyxdg ~x86 >> /etc/portage/package.keywords
# echo x11-misc/alacarte ~x86 >> /etc/portage/package.keywords
# emerge x11-misc/alacarte

Amb això ja tenim l’aplicació llesta, si voleu veure l’aspecte que té:

alacarte.png

Fa uns dies va sortir la versió 2.14 de GNOME tot i que encara no la tinc instal·lada i jo diria que ja porta un editor com deu mana de serie. El que no sé segur és si és el propi alacarte o un altre.

bookr – llegint llibres amb la PSP

Reading time: 2 – 2 minutes

Com ja vaig comentar quan em van regalar la PSP per l’última cosa que la penso fer servir és per jugar. Així que com que ja quasi he acabat el llibre que tenia entre mans i tinc un munt d’ebooks esperant-me avui m’he instal·lat el bookr un lector de .txt’s i .pdf’s per la PSP. Realment esta molt bé, malgrat li trobo un petit desfecte i és que quan les pàgines tenen imatges van una mica lentes. Però suposo que és perquè s’ha d’optimitzar una mica el codi de l’alicatiu, ja que jo diria que la PSP té prou memòria i CPU per fer-ho més ràpid. Fa un temps vaig provar el PSPPDF però la veritat és que era molt més cutre que el bookr tot i que jo diria que anava una mica més ràpid al processar les imatges.

bookr.jpg

El bookr jo diria que només funciona amb el firmware 1.5 que és el que jo tinc instal·lat, de totes formes amb els avanços que fan amb els loaders en les versions 2.0 i 2.5 del firmwar jo diria que algún loader deu ser capaç de llençar-lo. El meu problema és que només tinc una MMC de 32Mb la que venia de serie i no la penso canviar de moment. Així que tampoc hi puc posar tantes coses. Actualment però, m’hi caben 4 llibres d’entre 300 i 500 pàgines cada un a dintre. Així que ja em va bé.

E-Egine – 80 MHz Ethernet controller

Reading time: 1 – 2 minutes

ee_smalll.jpg

El meu últim descobriment confessable sobre hardware enquestat, aquí el teniu tot un prodigi de la tecnologia. Un processador de 40/80MHz, 64KB de RAM, 2x RS232, 256KB de flash i moltíssimes cosetes més. Obviament podem disposar d’opcions impressionants com targetes de xarxa, compact flash de fins a 2GB, i moltes altres cosetes pròpies d’aquests equips com 20 I/O per controlar DAQ’s, etc.

A més el consum fa riure 200 mA aa 5V (amb totes les opcions). Perquè us feu una idea amb una bateria d’aquelles de 10x5x7cm que valen uns 6€ a botigues d’electrònica en teniu per més d’una setmana sense haver de connectar-vos a llum, xulo,eh?!

A més a la web podem veure un escalat de preus molt llaminer. El cost és de $99/$84/$69/$49 per 1/50/100/+1000, atractiu,eh! si voleu una informació més datallada i ben estructurada doneu un cop d’ull al datasheet

Mattafix – Signs of a Struggle

Reading time: 1 – 2 minutes

mattafix.jpg

L’últim descobriment discogràfic que ha arribat a casa de mans de la Daphne i realment enganxa. De fet, tot i ser extrany en mi la música és d’un estil força ‘reggae’ i això que a mi m’agrada la música d’aquest estil. Però aquest grup és diferent de fet, m’ha agradat molt com us dic. Potser la canço que més m’agrada és la que han llençat com a primer single que la veritat em cansa una mica el tema s’anomena ‘Big City Life’.

Doncs aquí teniu una altre novetat discogràfica que us aporto, ja sabeu que no ho acostumo a fer massa i que si ho faig és perquè val la pena escoltar-ho. Especialment li vull recomanar al Carles, ja que sovint m’enrecordo de moltes experiències que em viscut junts durant la època universitaria i no sér perquè carai aquestes melodies em tornen a portar cap aquella part de la vida.

Si algú ho escolta ja m’aportareu les vostres opinios, espero que us agradi tan com a mi. Per més info sobre aquest grup la seva web.

Comencen les postes de sol de primavera

Reading time: 1 – 2 minutes

Aquí teniu tres fotografies de les postes de sol que acabo després de sortir de la dutxa fa unes minuts, ara ja es ben fosc. Tot el bo dura poc.

sunset-primavera1.jpg
sunset-primavera1.jpg
sunset-primavera1.jpg

A més ahir anant cap a la feina vaig fer una foto a la sortida del sol:

sunshine-primavera.jpg

Com sempre a l’album de fotos, dins dels cels fotografiats dins de casa teniu les fotografies anteriors amb la mida original.

movilpoint blog

Reading time: 2 – 3 minutes

Ja fa uns quants dies que vaig penjar la primera versió del blog de movilpoint. De fet, des de llavors no ha canviat gaire però avui he penjat el primer post en anglès. Tot i que encara queden moltíssims continguts en castellà la intenció és anar-ho passant tot a anglès. Com podeu veure l’aspecte és molt semblant al d’un wordpress però realment és un nucleus, o sigui, el mateix software que uso per l’Oriol News Portal, però sense la col·lecció de plug-ins i add-ons que porta el blogcms sobre el nucleus. Per montar la web i el blog, el que he fet és usar un parell de blogs que aprofitant les seves categories semblen una sola web.

movilpoint-blog.png

Ja sé que hi ha mil programes que serveixen per montar CMS, blog i de tot per empreses. Però la veritat és que no és la meva feina fer webs i per tant, no volia perdre massa temps aprenent a fer anar aquests softwares sense saber com em quedaria el resutlat final. Així que finalment em vaig decidir a modificar un template del nucleus i a fer aquest petit enginy amb els dos blogs que semblen una web i un blog respectivament.

Pel que fa al contingut del blog, com podeu veure a les categories no serà només de continguts de la pròpia empresa. Sinó que també parlaré de productes de tercers, fires internacionals, estudis de mercat, novetats tèncniques relacionats amb el sector, etc. jo diria que hi ha la possibilitat de convertir la web de l’empresa en un blog de referència dins del món dels quiscos, màquines de vending, punts d’informació multimèdia i d’altres similars.

Com sempre qualsevol crítica serà benvinguda. De moment paciència i a seguir treballant ja que sobretot en el que es refereix a la definició dels productes hi ha molt a fer. Els artícles del blog com ja faig al aquí, al meu blog, aniràn sent tan seguits i tan tècnics com em sigui possible. Tot i que espero que ben aviat altres membres de l’empresa s’animin a escriure també al blog.

Trick PSP: com montar la MMC amb Linux

Reading time: < 1 minute

Fa uns quants mesos em van regalar una PSP, però encara quasi no l’he pogut ni tocar. De fet, aviat us explicaré les poques coses que he aconseguit fer amb la PSP en les meves poques hores de proves. La qüestió és que hi ha una línia que no vull perdre de vista, que són els paràmetres que calen per poder montar bé el sistema de fitxers vFAT de la targeta MMC. Així que l’apunto aquí per no perdre-la:

mount -t vfat -o noauto,noatime,users,shortname=win95,check=s,uid=1000 /dev/sda1 /mnt/psp

PHP5 – Generant WSDL amb Zend Studio 5.1

Reading time: 3 – 5 minutes

Al programar un webservice amb el PHP5 és més que trivial tal com podem llegir a la documentació sobre SOAP (local) del propi PHP. El problema ve quan volent aprofitar la simplicitat dels serveis SOAP toca programar a mà el WSDL. O sigui, agafa i posat a definir la interficie en XML de la/es classe/s que vols exportar a través del webservice, o sigui, una missión imposible.

La meva sorpresa ha estat veure que després d’adpotar el Zend Studio com a IDE de programació del meu codi PHP he vist que disposava d’un assistent ben senzill d’usar per tal de generar automàticament aquest fitxer WSDL. La cosa és ben senzilla imaginem que usem el codi de l’exemple de la web de Zend, com comentava abans.

El servidor SOAP:

<?php
class QuoteService {
  private $quotes = array("ibm" => 98.42);
	function getQuote($symbol) {
    if (isset($this->quotes[$symbol])) {
      return $this->quotes[$symbol];
    } else {
      throw new SoapFault("Server","Unknown Symbol '$symbol'.");
    }
  }
}
	$server = new SoapServer("server2.wsdl");
$server->setClass("QuoteService");
$server->handle();
?>

El client, encara més simple que el servidor:

<?php
  $client = new SoapClient("server2.wsdl");
  print($client->getQuote("ibm"));
?>

Ara que ja tenim el codi en el nostre Zend, només cal que anem a:

menu.png

Cal seguir l’assistent que no és massa difícil, aquí en teniu els passos capturats per l’exemple del que parlem:

wizard-wsdl-1.png
wizard-wsdl-2.png

Podeu veure com s’exporten automàticament les classes dels arxius que seleccioneu, cal que poseu al costat de cada classe exportada la URL a través de la qual s’accedeix al servei:

wizard-wsdl-3.png

Al final obtenim el fitxer WSDL, en el nostre cas aquest:

<?xml version='1.0' encoding='UTF-8'?>
	<!-- WSDL file generated by Zend Studio. -->
	<definitions name="server2" targetNamespace="urn:server2" xmlns:typens="urn:server2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/">
	<message name="getQuote">
		<part name="symbol"/>
	</message>
	<message name="getQuoteResponse">
		<part name="getQuoteReturn"/>
	</message>
	<portType name="QuoteServicePortType">
		<operation name="getQuote">
			<input message="typens:getQuote"/>
			<output message="typens:getQuoteResponse"/>
		</operation>
	</portType>
	<binding name="QuoteServiceBinding" type="typens:QuoteServicePortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="getQuote">
			<soap:operation soapAction="urn:QuoteServiceAction"/>
			<input>
				<soap:body namespace="urn:server2" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input>
			<output>
				<soap:body namespace="urn:server2" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output>
		</operation>
	</binding>
	<service name="server2Service">
		<port name="QuoteServicePort" binding="typens:QuoteServiceBinding">
			<soap:address location="http://oriol.joor.net/soap/server2.php"/>
		</port>
	</service>
</definitions>

Si sou observadors notareu que aquest fitxer és lleugerament diferent al de la documentació que mostra Zend. Però jo l’he provat i funciona perfectament així doncs no m’hi trencaré el cap en saber a què es deuen aquests petits canvis al implmentar aquest format XML.

Scroll to Top