23 de nov. 2009

Actualitzar columnes amb geometria

La funció "Probe_Geometry_Columns()" cerca totes les taules amb constraints geomètiques cercant columnes amb geometria  
i les afegeix a la taula de GEOMETRY_COLUMNS si no hi són.

La comanada és:
SELECT Probe_Geometry_Columns();

3 d’abr. 2009

Mapserver i IIS

1) De la pàgina http://maptools.org/ms4w/index.phtml?page=downloads.html descarreguem ms4w_2.3.1.zip i el descomprimim i copiem la carpeta ms4w a C:\ms4w
2) Creem un directori virtual en l'IIS que apunti a C:\ms4w\Apache\cgi-bin, per exemple ms4wcgi-bin
Establim per aquest directory virtual "execute permissions:" a "Scripts and Executables"
Accept the virtual directory
3) Obrim "Web Service Extensions" del "IIS service manager"
Seleccionem "Add a new web service extension" I a "Required files" posem C:\ms4w\Apache\cgi-bin\mapserv.exe
Activem "Set extension status to Allowed"
Premem "Ok"
4) Obrim l'explorador de windows i donem permisos d'execució per la carpeta C:\ms4w\Apache\cgi-bin\ a l'usuari que corre l'IIS, IIS_NOMMAQUINA
5) Afegim a la variable de sistema Path:
;C:\ms4w\Apache\cgi-bin;C:\ms4w\tools\gdal-ogr;C:\ms4w\tools\mapserv;C:\ms4w\tools\shapelib;C:\ms4w\proj\bin;C:\ms4w\tools\shp2tile;C:\ms4w\tools\shpdiff;C:\ms4w\tools\avce00;C:\ms4w\tools\demtools;
Creem les següents variables de sistema:
GDAL_DATA=C:\ms4w\gdaldata
DAL_DRIVER_PATH=C:\ms4w\gdalplugins
PROJ_LIB=C:\ms4w\proj\nad
6) Reiniciem l'IIS amb la comanda IISRESET /RESTART a la consola de comandes
7) Provem si funciona, posen en el navegador running http://localhost/ms4wcgi-bin/mapserv.exe si surt un missatge amb el text "No query information to decode. QUERY_STRING is set, but empty." el Mapserver ja està funcionant.

2 d’abr. 2009

Còpies de seguretat amb postgres

Per fer una còpia:

set PGPASSWORD=lamevaclau
pg_dump -Upostgres nombasedades > nombasedades.sql


Per restaurar una còpia:

set PGPASSWORD=lamevaclau
psql -U postgres nombasedades
\i nombasedades.sql

23 de març 2009

Fent que el php vagi més ràpid

cd /usr/src
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2

bunzip2 eaccelerator-0.9.5.3.tar.bz2
tar xfv eaccelerator-0.9.5.3.tar
rm -f eaccelerator-0.9.5.3.tar
cd eaccelerator-0.9.5.3

export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make
make install

mkdir /tmp/eaccelerator

Posem això just abans de la secció [Date] del fitxer /etc/php5/apache2/php.ini

extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"


I reiniciem l'apache amb la comanda
/etc/init.d/apache2 restart

Postgres 8.3

A continuació us detallo una breu instal·lació del postgres sobre debian.
A la consola executem la comanda:
apt-get install postgresql-8.3

Del fitxer /etc/postgresql/8.3/main/postgresql.conf en modifiquem el següent:

#listen_addresses = 'localhost'
passa a
listen_addresses = '*'

El fitxer /etc/postgresql/8.3/main/pg_hba.conf jo l'he deixat així.

# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 10.0.1.0 255.255.255.0 md5
host all all 192.168.1.0 255.255.255.0 md5
# IPv6 local connections:
#host all all ::1/128 md5

Per reiniciar el servidor o fem amb la comanda:
/etc/init.d/postgresql-8.3 restart

També us pot ser útil el següent:

Llistat de les bases de dades existents.
sudo -u postgres psql -l

Llistat de les bases de dades existents.
sudo -u postgres psql -l

Per crear usuaris, en el meu cas creo l'usuari "usuarip".
sudo -u postgres createuser -D -A -P usuarip
#creem la base de dades pijardins per l'usuari usuarip
sudo -u postgres createdb -O usuarip pijardins

Per veure les bases de dades que tenim.
sudo -u postgres psql -l

Modificar la clau de l'usuari postgres.
sudo -u postgres psql -d template1
ALTER USER postgres WITH PASSWORD 'laNostraClau';
\q

16 de març 2009

Comandes útils per mssql server

/*EXPLAIN*/
sp_help nomTaula
GO


/*SHOW tables*/
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
GO

13 de febr. 2009

No ho hagués dit mai

No hagués dit mai que tindria un sobretaula "tunejat", jeje.
Al Sigte, a on treballo, m'han posat aquesta "maquinota".


Ah, fixeu-vos bé, això és un coeeeeeeeeeeeeeeeeeeeeeeeeeeet!!!

2 de febr. 2009

Icones Gis

En aquesta adreça http://robert.szczepanek.pl/icons.php trobareu icones per fer servir en aplicacions relacionades amb Gis.

1 de febr. 2009

Instal·lar la funcionalitat easy_install de python

"easy_install" és una funcionalitat que ens permet instal·lar paquets per Python.

Ens descarreguem aquest script:
http://peak.telecommunity.com/dist/ez_setup.py
a la carpeta Scripts d'on tinguem instal·lat el Python.
En el meu cas la carpeta de destí serà: C:\Python25\Scripts

Després l'executem i un com cop acabada l'execució, si tot ha anat bé ja podrem fer servir aquesta funcionalitat.

31 de gen. 2009

Dojo, una gran opció per aplicacions client.

Vull compartir amb vosaltres la experiència de la darrera aplicació que he desenvolupat.
Ha estat una aplicació web d'ús intern per l'ajuntament de Celrà.

La aplicació com veureu en les imatges de més avall és relativament senzilla i no presenta cap complicació en sí; la aplicació vindria a ser la nova versió d'un "adp" de Microsoft Access i per tant les funcionalitats ja estan molt definides a excepció d'afegir que en dos tipus entitats s'han de poder adjuntar fitxers.

La tasca que se'm havia encomanat, era acabar la aplicació que havia començat un antic company de feina i no va poder acabar la aplicació ja que va plegar.

Com molts programadors fan, vaig agafar la aplicació que em va deixar el meu company i en vaig reescriure moltes parts, i vaig acabar els punts que no estaven completats.

Us haig de confessar que no tenia ni idea de la aplicació que s'habia de substituir.

Arriba el dia que vaig a ensenyar la maqueta del que havia estat fent, i vaig veure que hi habien alguns aspectes no els havien acabat de convèncer i arrufaven un xic el nas.
Ells llistats, ara s'havia de passar pàgina, i fins ara en la aplicació actual tot és un llistat, on tranquil·lament llisten 22.000 registres.
Els formularis de crear i modificar una entitat, volien que fossin una finestra centrada en la mateixa pàgina.

Un xic preocupat de com havia d'afrontar la situació, vaig recordar que temps enrera havia estat fent proves amb un framework de javascript que tenia objectes "grid"(taula) per a grans volums de dades,... el Dojo, i si vaig fer unes proves i al final vaig decidir apostar per aquest framework de javascript.

I aquestes algunes pantalles de la primera versió que els he muntat i que sembla que han agradat bastant.





Per acabar, us comento les tecnologies escollides a la part servidora han estat:
Com a llenguatge de programació he escollit php 5.x
Per a un desenvolupament més ràpid, àgil i orientat a objectes m'he ajudat d'aquests frameworks: el Zend Framework i PhpDoctrine.
Com a motor de base de dades Mysql 5.

En la part servidora per tal de millorar la execució del php he instal·lat les llibreries d'eAccelerator, que en alguns casos m'han donat millores de més d'un 50 % en el temps d'execució.

Quercus i Zend Framework, la cosa no funciona.

Fa moltes dies que havia d'haver publicat aquesta entrada, però he estat molt ocupat amb les pràctiques del Cap i ja no pensava.
Bé, la qüestió es que no m'ha funcionat. No he pogut fer funcionar una aplicació desenvolupada amb Zend Framework amb el "Quercus".
He provat també el Kohana, i el problema és el mateix, hi ha una serie e classes i métodes que encara no estan implementats.
He escrit un missatge al fórum de "Quercus" i de moment sembla que no interessa a gaire gent.
http://forum.caucho.com/?q=node/224
La dedució que n'he tret de tot això, és que "Quercus" està bastant lluny de ser considearda una opció per entorns empresearials.