1. Download http://www.json.org/java/json.zip from json.org. Save it in a some directory, which I'll call %DOWNLOAD_HOME%.
2. Unzip it. Be sure you preserve the archive's directory structure (/org/json/) when you unzip the file.
3. Change directory into %DOWNLOAD_HOME%\org\json
4. Compile the files by running “javac *.java”. At least, this worked for me. There is no build.xml or anything, and it just seemed to compile into classes nicely.
5. CD back into %DOWNLOAD_HOME%
6. Create a jar file called json.jar. The syntax is something like:
jar -cvf json.jar org\json\*.class
Ref: http://processing.org/discourse/yabb2/YaBB.pl?board=Integrate;action=display;num=1163101573
miércoles, 24 de marzo de 2010
miércoles, 10 de marzo de 2010
SQL - cómo separar las condiciones de join de las condiciones de negocio
Típica consulta:
En ella, el where mezcla condiciones de join (r.idregion=c.idregion) y de negocio (c.fechafundacion>='1810-01-01'):
En la sgte consulta, en el join+using aislamos las condiciones de join. En el where aislamos las condiciones de negocio:
SELECT r.nombre, c.nombre
FROM Region r, Ciudad c
WHERE r.idregion=c.idregion AND c.fechafundacion>='1810-01-01'
En ella, el where mezcla condiciones de join (r.idregion=c.idregion) y de negocio (c.fechafundacion>='1810-01-01'):
En la sgte consulta, en el join+using aislamos las condiciones de join. En el where aislamos las condiciones de negocio:
SELECT r.nombre, c.nombre
FROM Region r JOIN Ciudad c USING (idregion)
WHERE c.fechafundacion>='1810-01-01'
martes, 2 de febrero de 2010
Buscador de texto tipo google en MySQL
Se puede usar el feature de FULLTEXT Indexing and Searching de mysql:
http://www.petefreitag.com/item/477.cfm
http://www.petefreitag.com/item/477.cfm
Pool de threads nativo en java
LinkedBlockingQueue queue = new LinkedBlockingQueue();
pool = new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTimeMs,TimeUnit.MILLISECONDS,queue);
CandidateFetcher fetcher = new CandidateFetcher(candidate); //implements Runnable
pool.execute(fetcher);
while(pool.getActiveCount()>0){
log.info("pool.getActiveCount(): "+pool.getActiveCount()+", waitUntilAllFetchesAreDone, go to sleep");
Thread.sleep(5000);
}
log.info("pool.getActiveCount(): 0, terminaron todos");
pool = new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTimeMs,TimeUnit.MILLISECONDS,queue);
CandidateFetcher fetcher = new CandidateFetcher(candidate); //implements Runnable
pool.execute(fetcher);
while(pool.getActiveCount()>0){
log.info("pool.getActiveCount(): "+pool.getActiveCount()+", waitUntilAllFetchesAreDone, go to sleep");
Thread.sleep(5000);
}
log.info("pool.getActiveCount(): 0, terminaron todos");
jueves, 28 de enero de 2010
Cómo no olvidar implementar un método en java
Usar UnsupportedOperationException, ej:
private String fetchHtmlDePagina(int pagina) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("TODO");
//return null;
}
martes, 19 de enero de 2010
Zend Class Type Hints
Usar comentarios de la sgte manera:
/* @var $myVar Test */
$myVar = getClass();
$myVar->
martes, 12 de enero de 2010
Bash - Aliases within a script
#!/bin/bash
# alias.sh
shopt -s expand_aliases
# Must set this option, else script will not expand aliases.
# First, some fun.
alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."'
Jesse_James
Ref: http://tldp.org/LDP/abs/html/aliases.html
Suscribirse a:
Entradas (Atom)