El Noguer

Joaquim Perez i Noguer

Reactive Java

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 12:27 pm on Divendres, Febrer 8, 2019

Reactive té a veure com optimitzar la gestió de cues de treball. Intentant minimitzar la interdependència de threads i evitar bloquejos.

Generació 0 :

Quan java feia servir callbacsk de l’estil addXXXListener(…) en Swing, AWT, Android, …

Generació 1:

Rx.NET, REactive4Java, RxJava, IObservable / IObserver. La implementació no suportava massa càrrega quan el consumidor tardava massa en processar.

Generació 2:

Per millorar l’eficiència s’inclou isUnsubscribed() i lift().

Generació 3:

Es crea l’especificació Reactive-Streams per fer compatible les implementacions.

Apareix RxJava 2, Project Reactor, Akka-Streams.

Generació 4:

S’inclou un optimitzador operator-fusion.

Apareix la implementació Fluent.

Més informació: https://akarnokd.blogspot.com/2016/03/operator-fusion-part-1.html

Webcams a la muntanya

Filed under: Activitats culturals — Joaquim Perez Noguer at 9:39 am on Dimecres, Gener 30, 2019

Webcams a la muntanya, amb vídeo timelapse.

Molt recomanable per saber el temps que fa a la muntanya i quina evolució ha fet els últims dies

Per exmple a la Vall de Núria

https://www.lookr.com/es/lookout/1260608835-Queralbs#action-play-month

Pipe entre servidors

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 9:32 am on Dimecres, Gener 30, 2019

Solució tar + ssh:

tar -cf - /path/to/backup/dir | ssh remotehost "cat - > backupfile.tar"


Solució cat + ssh:
cat local_script.sh | ssh -A usera@bastion ssh -A userb@privateserver "cat > remote_copy_of_local_script.sh; bash remote_copy_of_local_script.sh"

Solució cat + ssh amb RSA:

ssh root@example.com 'cat >> .ssh/authorized_keys' < .ssh/id_rsa.pub

Solució tar + compress + ssh:

tar czf - . | ssh servername "cd /path-to-dir && tar xzf -"


Solució netcat:

tar -cf - /path/to/backup/dir | ssh remotehost "cat - > backupfile.tar"

Més informació:

Java logs benchmark

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 10:23 pm on Dimarts, Gener 22, 2019

Vist a https://blog.overops.com/the-logging-olympics-a-race-between-todays-top-5-logging-frameworks/

Conclusions:

  • Log4j és el més ràpid escrivint constants però el més lent fent toString().
  • Log4j2 de Apache és el més ràpid fent toString() o amb un Throwable i és un dels frameworks més recents i amb més opcions.
  • Logback és semblant amb log4j en quant a velocitat, però és molt pitjor escrivint constants.
  • SLF4J SL és el pitjor quan cal escriure un throwable. Només supera a Log4j quan cal escriure toString()
  • JUL, java.utils.logging, és la biblioteca estàndard de logs del Java. Té un bon rendiment quan cal escriure throwable i toString() però té molt mal rendiment amb les constants.


Java Logback benchmarck

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 9:42 pm on Dimarts, Gener 22, 2019

Vist a https://blog.overops.com/how-to-instantly-improve-your-java-logging-with-7-logback-tweaks/

Per reduir la latència dels logs del Logbackper Java s’aconsella:

  1. En el pattern del log no utilitzar mai el className; i si pot ser només mostrar el Level i el Message.
  2. Utilitzar AsyncAppender amb queue-size>500, en comptes de fer servir FileAppender.
  3. Fins i tot ConsoleAppender és més ràpid que FileAppender.
  4. Per millorar el rendiment de FileAppender és pot utilitzar un SiftingAppender i desar en més d’un fitxer alhora.
  5. SocketAppender i FileAppender són igual de ràpids.

Algunes dades:

javac

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 1:11 am on Dissabte, Gener 5, 2019

En principi per compilar un programa Java és tan fàcil com:

javac ProgramaJava.java

Però què passa quan es vol compilar un programa sencer, amb biblioteques, package, … ?

Suposem que tens els JAR en un directori lib/ i que el JAVA està en el src/ i que el resultat es vol en un directori classes/. En aquest cas l’instrucció javac hauria de ser la següent:

javac -cp lib/*:classes -sourcepath src -d classes src/ProgramaJava.java

Netbeans 8.1 falla en Ubuntu

Filed under: Linux — Joaquim Perez Noguer at 12:30 am on Dissabte, Gener 5, 2019

Si heu provat d’utilitzar Netbeans en Linux utilitzant el repositori normal d’Ubuntu (2018), notareu que falla a l’arrencar.

Això és degut a dos problemes:

  • Netbeans 8.1 només arrenca si teniu Java 8. No va ni amb Java 7 ni amb Java 9 o superior.
  • Netbeans 8.1 no arrenca si la biblioteca libequinox-osgi-java és 3.9.1-1. Sembla ser que arrencar amb una versió anterior

Jo no ho he aconseguit fer-lo funcionar des del repositori.

Sembla ser que és millor baixar-se’l de netbeans.org: https://download.netbeans.org/netbeans/8.2/final/

Més informació:

M’he comprat un nou portàtil i amb LINUX!

Filed under: Linux — Joaquim Perez Noguer at 10:14 pm on Dijous, Octubre 18, 2018

Feia molt temps que em queixava que no hi havia opcions de comprar portàtils Linux.

I de fet és veritat que no n’hi ha moltes opcions i menys de portàtils moderns i menys amb “proximitat” i menys a un preu raonable.

Doncs bé finalment he trobat un portàtil que ha complert amb totes les meves necessitats:

http://www.vantpc.es/producto/ultramoove-s

 

Finestres transparents en KD5

Filed under: Linux — Joaquim Perez Noguer at 10:53 pm on Dimarts, Octubre 9, 2018

Gràfiques i diagrames amb JS

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 2:49 pm on Dimarts, Agost 21, 2018

Aquesta és la llista de les biblioteques Javascript més potents del 2018 per a fer gràfiques i diagrames interactius. Vist a https://www.slant.co/topics/3890/~javascript-charting-libraries

« Previous PageNext Page »