Mostrare un messaggio "necessario abilitare javascript"

Usando javascript per scrivere, tramite document.write un div con settata la proprietà display:none, ci assicuriamo che il messaggio verrà visualizzato solo per utenti con javascript disabilitato.

<script type=text/javascript”>
  document.write(’<div style=”display:none”>’);
</script>
Devi abilitare javascript per utilizzare questo sito!
<script type=text/javascript”>
  document.write(”</div>”);
</script>

Come e perchè usare Scambio.Info

Se operi, per lavoro o passione, nel campo dello sviluppo di software, puoi usare Scambio.Info per:

- tenere i tuoi snippets / appunti di codice in uno spazio sempre raggiungibile
- chiedere ad altri esperti come risolvere un determinato problema o di esprimere opinioni su qualche argomento
- chiedere ad altri esperti una code review del codice scritto da te
- mettere in evidenza le tue capacità riempiendo le voci del tuo profilo e creando tutorial per gli altri utenti
- condividere con gli altri utenti informazioni ed esperienze

I comandi più usati in shell

Per trovare i comandi più usati:

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

output:

200 sudo
37 cd
33 mvn
33 ll
17 locate
16 sux
15 vi
15 ssh
14 find
11 rm
10 diff

Segnalazioni di contenuti esterni

Ho creato un nuovo tipo di contenuto: "Contenuti esterni".
Questo tipo è dedicato alla segnalazione di notizie o articoli che si desidera far conoscere agli altri utenti e sui quali si vorrebbe discutere con gli altri utenti di Scambio.Info.
La speranza è quella che non diventi un mezzo di spam per il proprio sito ma sia davvero un modo per scambiare opinioni tra *peers*.
Per provare il funzionamento ho creato la prima segnalazione, riguardante il Test di Joel.

Il test di Joel

inglese
http://www.joelonsoftware.com/articles/fog0000000043.html

Il "test di Joel" è un semplice test di verifica della qualità del processo di sviluppo di software.
E' basato su 12 domande, ognuna della quali richiede una risposta secca: si o no.
Le domande cui rispondere sono:
1. Utilizzi un prodotto per il controllo del versioning?
2. Riesci a compilare il programma con un solo comando?
3. Crei almeno una build al giorno?
4. Hai un sistema di gestione / un database dei bug?
5. Risolvi i bug prima di scrivere nuovo codice?
6. Hai un programma di sviluppo / dello stato di avanzamento lavori aggiornato?
7. Hai un documento di specifiche?

A score of 12 is perfect, 11 is tolerable, but 10 or lower and you've got serious problems. The truth is that most software organizations are running with a score of 2 or 3, and they need serious help, because companies like Microsoft run at 12 full-time.

Vi editor: search and replace

:%s/orig/replacement/gi

Maven: settings file

Di default Maven cerca i file di settings in due path:

${user.home}/.m2/settings.xml per configurazioni specifiche dell'utente
${user.home}${M2_HOME}/conf/settings.xml per configurazioni a livello di sistema

Per usare uno specifico file di settings è possibile passare a Maven il nuovo file cui puntare attraverso il parametro org.apache.maven.user-settings

mvn install -Dorg.apache.maven.user-settings=/path/to/new/maven/settings.xml

Linux: disattivare system beep

Il fastidioso beep di sistema, ancora presente di default sulle nuove installazioni Linux, può essere disattivato aggiungendo a /etc/modprobe.d/blacklist la linea:
blacklist pcspkr
Al prossimo reboot il beep non sarà più presente; se proprio non ti va di aspettare/fare il reboot:
sudo rmmod pcspkr

Maven: dipendenze del progetto

mvn dependency:analyze

Riassume le dipendenze dando WARNING per dipendenze dichiarate ma non usate e per dipendenze non dichiarate ma usate (utile nei casi di progetti multimodulo).

mvn dependency:tree

Crea un grafico (testuale) delle dipendenze di un progetto; l'output sarà qualcosa del genere:

[...]
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - something:our-project:jar:0.2.0-SNAPSHOT
[INFO]    task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] something:our-project:jar:0.2.0-SNAPSHOT
[INFO] +- eu.ucg.geb:gs-xml-sep:jar:3.05:compile
[INFO] +- org.apache.xmlbeans:xmlbeans:jar:2.4.0:compile
[INFO] |  \- stax:stax-api:jar:1.0.1:compile
[INFO] +- org.testng:testng:jar:jdk15:5.8:compile
[INFO] |  \- junit:junit:jar:4.4:compile (version managed from 3.8.1)
[INFO] \- eu.ucg.geb:gc-ent-prj:jar:0.2.0-SNAPSHOT:compile
[INFO]    +- org.hibernate:ejb3-persistence:jar:3.3.2.Beta1:compile
[INFO]    +- org.hibernate:hibernate-entitymanager:jar:3.3.2.GA:compile
[INFO]    |  +- org.hibernate:hibernate:jar:3.2.6.ga:compile
[INFO]    |  |  +- net.sf.ehcache:ehcache:jar:1.5.0:compile (version managed from 1.2.3)
[INFO]    |  |  |  +- backport-util-concurrent:backport-util-concurrent:jar:3.1:compile
[INFO]    |  |  |  \- net.sf.jsr107cache:jsr107cache:jar:1.0:compile
[INFO]    |  |  +- javax.transaction:jta:jar:1.0.1B:compile
[INFO]    |  |  +- asm:asm-attrs:jar:1.5.3:compile
[INFO]    |  |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO]    |  |  +- antlr:antlr:jar:2.7.6:compile
[INFO]    |  |  +- cglib:cglib:jar:2.1_3:compile
[INFO]    |  |  +- asm:asm:jar:1.5.3:compile
[INFO]    |  |  \- commons-collections:commons-collections:jar:3.2.1:compile
[INFO]    |  +- org.hibernate:hibernate-annotations:jar:3.4.0.GA:compile (version managed from 3.3.1.GA)
[INFO]    |  |  \- org.hibernate:hibernate-core:jar:3.3.0.SP1:compile
[INFO]    |  +- org.hibernate:hibernate-commons-annotations:jar:3.3.0.ga:compile
 
[INFO]    |  |  \- javax.persistence:persistence-api:jar:1.0:compile
[INFO]    |  \- javassist:javassist:jar:3.4.GA:compile
[INFO]    +- commons-lang:commons-lang:jar:2.4:compile
[...]

 

Risorse su Groovy e Grails

Documentazioni ufficiali

Raccolte di tutorials e aggregatori

Tutorials

Condividi contenuti