Inicio

cookbook: importar projecte de symfony al subversion

Petit cookbook de com hem d’importar un projecte que estiguem programant amb el framework symfony. Primer creem el directori del repositori on volem pujar el projecte, anem al directori del projecte. Borrem els directoris log i cache del qual no ens interessa mantenir un control de versions. I després importem el projecte.

svn mkdir -m "NOTA: Creem directori on hi posarem projecte" http://exemple.com/svn/repos/projecte/dev
cd directori_projecte_symfony
rm -rf log
rm -rf cache
svn import -m "NOTA: importem primera versio del projecte" . http://exemple.com/svn/repos/projecte/dev

Ara movem el directori actual del projecte i en creem un de nou, que ja tindrà control de versions. Fem un checkout (co) de la versió que em importat abans i defenim que els directoris log i cache no s’importaràn mai quan fem un commit (ci). Després creem els directoris en qüestió i els assignem un propietari igual al del procés d’apache perquè aquest el pugui escriure-hi mentre esta execucutant el nostre projecte symfony.

mv directori_projecte_symfony directori_projecte_symfony.bak
mkdir directori_projecte_symfony_amb_svn
cd directori_projecte_symfony_amb_svn
svn co http://exemple.com/svn/repos/projecte/dev .
svn propedit svn:ignore .
log
cache
mkdir log
mkdir cache
chown apache:apache log
chown apache:apache cache

PHP5: passant objectes com a paràmetre en una crida SOAP

Update: LES CONCLUSIONS D’AQUEST ARTICLE SÓN ERRONEES MIREU: PHP5: passant i tornant objectes com a paràmetre en una crida SOAP (Part II)

Treballant en un projecte que estem programant en PHP5 em va sortir aquest dubte, sobretot després de llegir les limitacions dels servidors SOAP que implementa PHP5. El tema finalment té una resposta positiva: SI, PERO…. A continuació us poso un exemple de com funciona aquest tema amb el PHP5 i quines limitacions té.

Definim el servidor SOAP que com podeu veure és senzillissim, l’únic que fa el servidor és re-enviar el mateix objecte que ha rebut.

<php
class SOAPservice {
        function peticion($per) {
                return $per;
  }
}
$server = new SoapServer("server.wsdl");
$server->setClass("SOAPservice");
$server->handle();
?>

A continuació podeu veure el codi del client, és un codi molt senzill de només dues línies. Com podem veure primer definim la classe persona i abans de cridar el client SOAP instanciem la classe, després usem aquest objecte com a paràmetre a la crida SOAP. Capturem l’objecte que ens retorna el servidor SOAP i a continuació mostrem el seu contingut amb l’ordre print_r.

<?php
/*
 definim classe persona
*/
class persona {
        public $nom;
        function setNom($nom) {
                $this->nom=$nom;
        }
        function setCognom($cognom) {
                $this->cognom=$cognom;
        }
        function getNom() {
                return $this->nom;
        }
        function getCognom() {
                return $this->cognom;
        }
}
/*
 creem objecte tipus persona
*/
$myPersona=new persona;
$myPersona->setNom("el_nom");
$myPersona->setCognom("el_cognom");
/*
 fem una crida SOAP amb un objecte com a parametre
*/
$client = new SoapClient("server.wsdl");
$myObj=$client->peticion($myPersona);
/*
 mostrem objecte generic que retorna la crida SOAP
*/
print_r($myObj);
?>

Si mirem la sortida que ens dona quan cridem el client podem veure que l’objecte que torna no és del tipus persona sinó d’un tipus intern del PHP5 anomenat stdClass. Aquest objecte només disposa dels atributs públics. No podem accedir als atributs privats o protegits i hem perdut tots els mètodes siguin del tipus que siguin.

stdClass Object
(
    [nom] => el_nom
    [cognom] => el_cognom
)

Això és tot el que he pogut aconseguir, no és gaire però com a mínim a mi m’ha estat suficient.

Envinat SMS amb el mòbil des del Linux

Screenshot-KMobileTools.png

Fa molt de temps que buscava una eina que em permetés fer aquesta xorrada amb el Siemens S45, havia trobat diversos programes que ho feien en mode text, però jo volia alguna cosa molt més trivial via finestres. Algo que no hagués de configurar gaire i que sempre ho tingués a mà quan haig d’escriure un SMS que fa una mandra increible amb el carai de teclat de mòbil.

Ahir tot llegint el bloglines em vaig trobar una eina que malgrat estar basada en KDE esta prou bé: kmobiletools. A més de poder llegir i enviar SMS amb el mòbil. També permet despenjar, penjar i trucar amb mòbil. A més aprofitant que tan el portàtil com el mòbil tenen bluetooh he configurat l’rfcomm per establir un ellaç serie i així no he de tenir cap cable pel mig que em molesti.

També s’ha de dir que el programa no és res de l’altre món i que l’eina de gestió de missatges és una mica ‘cutre’, per no parlar de l’eina de gestió de l’agenda que fa el que pot pobreta. Però algo és algo. A més és força lleuger el programa i com que ja havia de tenir les llibreries QT i les KDE carregades per altres temes, tampoc ve d’aquí el desgast de memòria.

digi AnywhereUSB (USB over IP)

Fa un temps vaig publicar un article que parlava justament d’un producte igual que el que us parlaré en aquest article. En l’article en qüestió em queixava que només suportava dispositius 1.1 el producte de digi suporta també USB 2.0 tot i que com que la conversió a IP la fa sobre una xarxa a 100Mbps també limita la seva velocitat a 12Mbps (velocitat màxima del USB 1.1), però malgrat tenir el mateix problema que el producte que us comentava aquest dispositiu és molt més professional, tan en l’acabat com en les altres prestacions així que jo diria és el millor servidor IP USB que he trobat fins ara.

anywhereusb.jpg

Un parell de documents (.pdf) per completar l’article, si us interessa el tema us aniran bé:

VMWare ESX Server i Ubuntu Breezy sobre una Gentoo

He de reconeixer que malgrat portar molt de temps usant linux i haver provant moltes distribucions no sóc gaire amant d’anar provant continuament quina distribució esta millor, de fet, sempre he pensat que és millor coneixer una distribució a fons. Encara que no diguin que és la millor, però la qüestió és que jo diria que això serveix més per la vida que anar provant quina és la més xula, còmode, etc.

Fruit d’això podriem dir que només he treballat amb dues ditribucions amb tots aquests anys, l’Slackware i els últims 5 anys (apròximadament) la Gentoo. Però per certes necessitats de la vida aquestes últimes dues setmanes he instal·lat el VMWare Workstation a la Gentoo del portàtil i després m’he creat una màquina virtual on he instal·lat l’Ubuntu 5.1 Breezy Bedger.

vmware-ubuntu.png

Doncs bé amb els típics problemes que suposa el que us explico: no trobar fitxers on estas acostumats que estiguin, no saber com es llencen els dimonis, on es posen les configuracions d’inici i el més greu de tot, això del apt-get és un suplici, ràpid de collons, però un suplici….buf!!! on és el meu emerge.

Cal reconeixer que l’entorn gràfic és molt senzill d’usar amb totes les seves eines i floritures, però jo m’he centrat amb l’instal·lació de tipus “server”, o sigui, sense entorn gràfic ja que havia de montar-la com a servidor i no pas com a workstation. Així que m’ha tocat patir.

També us volia comunicar la meva primera experiència amb el VMWare ESX Server. Quina passada nanos! això si que és una bona idea, ja sé que ara em sortiràn els amics del Xen dient que hi ha una bona versió lliure que fa algo semblant. Però realment jo diria que de moment les funcionalitats no es poden comparar.

La gràcia de la versió ESX esta en que instal·la un Linux amb uns mòduls pel kernel propietaris. Després a través d’una pàgina web pots montar-te les teves màquines virtuals que les pots tenir funcionant, parades, suspeses, en alta disponibilitat, com vulguis. A més aquestes màquines poden compartir el disc dur, o sigui, l’storage. Normalment connectat per fibra i amb una bona quantitat de gigues perquè la cosa no s’acabi.

Les màquines virtuals creades es poden arrancar a través de l’apicació consola, que esta disponible per força sistems operatius, fins hi tot el portage de Gentoo. Amb la consola podem usar una ISO d’un CD, DVD o el que volguem per bootar la màquina per primera vegada i instal·lar el sistema operatiu que volguem. Concretament al servidor que jo vaig instal·lar l’Ubuntu hi havia diversos Windows 2000 i 2003 funcionant. Quan acabes de montar-te l’SSH ja pots parar la consola i començar a treballar amb remot a través de la xarxa.

Aquesta forma de treballar en el futur crec que es tornarà a imposar. Dic es tornarà perquè aquesta idea ja fa molts anys que esta inventada i aplicada, pels famosos main frames el problema que teniem fins ara és que no hi podiem correr sistemes operatius de PC dintre d’aquests sistemes i amb aplicatius com aquest i d’altres similars tot això ja és una realitat.

Segur que a mesura que aquests sistemes tan interessants arribin al gran mercat, moltíssimes empreses canviaran la seva filosofia de montatge de servidors. Ja que és molt comode això de poder-se crear màquines sota demanda amb les característiques que volguem i a més modificar-los les característiques quan es queden petites (RAM, disc, etc). A més com que es tracten de màquines virtuals si la màquina mare es queda petita podem posar-ne de més potents i l’únic que hem de fer és arrossegar la màquina virtual de l’una a l’altre i amb breus segons la podem tornar a arrancar.

Amb el complicada que és sempre una migració de hardware i el senzill que es torna en sistemes d’aquests tipus. Tan que no és cap problema, només un pur tràmit. A més us puc assegurar que funciona tal com dic, que no és la típica funcionalitat que després mai funciona. Penseu que el fet de compartir l’storage fa que no haguem de migrar cap dada només el perfil i si l’storage es fa petit podem afegir discos i fins hi tot afegir un altre backplane al que ja tinguem perquè hi puguin cabre més discos, ja serà el RAID el que s’encarregarà de fer-los visibles al sistema.

Ja teniu un altre gusanillo provar el VMWare ESX o el Xen, tot i que pel que tinc entès el segon només funciona amb màquins virtuals que corrin linux. Així que no podrem tenir una xarxa de servidores heterogènia dintre de la nostre màquina mare. Però temps al temps, de ben segur que aviat podrà fer això i més.

oriolrius.cat, per fi és oficialment meu!

Aquest matí el domini oriolrius.cat ha passat a ser oficialment meu. Tot i amb això nominalia encara no se n’ha enterat i no em deixa canviar els servidors primar i secundari perquè apuntin al meu blog. Suposo que aquesta nit ja podré editar els paràmetres del domini.

oriolrius-cat.png

Si voleu el vostre ja no falta gaire perquè el pogueu registrar a domini.cat.

Scroll to Top