I love dBlog!
Immagine
 Folla... di Admin
 
"
Un cretino e' un cretino. Due cretini sono due cretini. Diecimila cretini sono un partito politico.

Franz Kafka
"
 
Di seguito gli articoli e le fotografie che contengono le parole richieste.

Ricerca articoli per java

Di Sabrina (del 29/10/2009 @ 21:45:28 in Racconti, linkato 1938 volte)
Visto il discreto successo del racconto, finchè Ste mi ospiterà nel suo blog, come promesso pubblico la mia seconda opera che è anche la mia prima poesia....

TI HO VISTO

Ti ho visto sorridermi in un ricordo

Ti ho visto specchiarti nel dolce viso della luna

Ti ho visto accarezzarmi nei caldi raggi del sole

Ti ho visto nel gabbiano che vola libero nel cielo

Ti ho visto nelle rondini che giocano a nascondino con le nuvole

Ti ho visto nella fiamma che arde e disegna giochi d’ombra sulla parete spoglia

Ti ho visto nei fiori che profumano l’aria e colorano il mondo

Ti ho visto nella nebbia che cancella il mondo,

nel tramonto che l’addormenta e nell’alba che lo risveglia.

Ti ho visto nel cielo,nelle stelle,nella pioggia,nel prato e nel mare.

Ti ho visto nella foglia che cade,

nel vento che danza,

nel tuono che ti spaventa.

Ti ho visto nella neve che t’abbaglia,

nel silenzio che t’incanta.

Ti ho visto in ogni angolo del mondo perché tu sei nel mondo.

Tu sei una parte di me che non svanirà mai.

Tu mi hai donato la vita ed io ti terrò in vita.

Tu sei con me in ogni giorno che trascorro,in ogni persona che incontro, in ogni errore che commetto.

Tu sei lì a brindare con me il nuovo anno che stà per arrivare.

Una poesia dedicata a mio padre per non scordarmi mai che lui è vivo nel mio cuore  ed io riuscirò sempre a vederlo ovunque sarò….finchè respirerò non sarà mai un ricordo



Questa Storia è concessa del suo scrittore: Sormani Sabrina

Illustrazioni a cura di : Tonicello Valentina
Ogni divulgazione anche parziale deve essere autorizzata dagli autori
 

Log4J exception FAQ: "How do I print the stack trace of an exception using Log4J or Commons Logging?"

Printing the stack trace of a Log4J exception seems to be something of a trick question. In reviewing java code from different developers at different organizations I see a lot of people working very hard to print a stack trace using Log4J, including a lot of variations of calling e.printStackTrace() method.

Log4J exception stack trace - short answer

The short answer is that all you have to do to print the stack trace of an exception using java and Log4J (or the Apache Commons Logging project) is this:

log.error("Your description here", exception); 

where exception is your java Exception object. The Log4j error method that takes a description followed by a Throwable will print the stack trace of the java Throwable object.

For more information on how this works with Log4J I recommend looking at the API documentation for the Logger class.

 
Di Muso (del 05/12/2007 @ 20:00:30 in Informatica, linkato 2223 volte)

Finalmnte ho deciso di varcare il Rubicone e ho installato sul mio portatile la nuova versione di OpenSuse 10.3.
Inizio subito col dirvi che la cosa piu' complicata e articolata e' sicuramente fare il back-up del sistema esistente, che prevede una OBBLIGATORIA pulizia dello stesso. Incredibile quanto gli 80G di hard disk ti spingano a conservare cose veramente inutili. Cmq vi rimando all'articolo Pulizie di Natale per i dettagli.

Partiamo col creare una bella calda e accogliete partizione Linux Ext2 per il nostro nuovo sitema operativo (PartitionMagic a pagamento e GParted free).

Fatto questo si scarica l'immagine ISO di OpenSUSE si masterizza il DVD e . . . . . . . inserito il DVD viene installato un programmino di installazione della suese (al primo riavvio in modalita' windows vi verra' richiesto se volete disinstallarlo) che fa partire tutto il cinema, avete capito bene, ho scelto il cinema perche' non dovete dare molto altro che preme NEXT e accettare tutto il default.
Questa operazione ha installato l'OpenSUSE 10.3  e il GRUB che e' il boot-manager, cioe' quello che al prossimo riavvio (boot) vi permette di scegliere quale sistema operativo caricare (windows o linux).

Essendo un java Developer ho deciso di installare NetBeans 6.0 e qui' ho dovuto scontrarmi con un problemino. Primo, la versione della JDK fornita con OpenSUSE non e' sufficiente per NB6 quindi vi conviene scaricare la JDK6 e installarla.

Una volta fatto questo anche l'installazione di NetBeans e' modello cinema.
Il probelma piu' grande lo incontrerete quando vorrete lanciare il vostro nuvo ambinte di sviluppo, lanciato da icona creata sul desktop . . . non parte e basta!!! Quindi aprite una shell e lanciatelo da riga di comando e, oltre a vedere il log dell'istruzione, avrete un messaggio a dir poco criptico:

xcb_xlib.c:50: xcb_xlib_unlock: Assertion 'c->xlib.lock' failed.

ERRORACCIO ! ! ! ! ! ! ! Dovuto alla libreria awt che non permette la visualizzazione dell'interfaccia.
Soluzioni:
sun-java5-bin:
sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/lib/i386/xawt/libmawt.so
sun-java6-bin:
sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/xawt/libmawt.so

OKKIO a mettere il path corretto che punti alla JVM che usa NB ! ! ! !

Letteratura a riguardo:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373
http://forum.java.sun.com/thread.jspa?threadID=782829
http://lists.debian.org/debian-devel-announce/2006/11/msg00010.html

Sito di supporto per la OpenSUSE in italiano:
http://www.suseitalia.org/

Ora avete Finito BUON DIVERTIMENTO ! ! ! !

 
Di Muso (del 05/12/2007 @ 20:00:00 in Informatica, linkato 7351 volte)

Inizierei con la prima MACRO distinzione sugli usi e consumi di java.
- JRE (java Runtime Environment) per chi vuole solo usare prodotti fatti con java.
- JDK (java Development Kit) per chi vuole scrivere prodotti con java.

Quindi se si vuole essere in grado di eseguire applicazioni java gia' finite, senza alcuna velleita' di sviluppo, si necessita della JRE che in genere segue le stesse edizioni e release dell'SDK. Ricordarsi pero' che non sempre e' sifficiente la JRE per eseguire tutte le applicazioni, ne sono un esempio le JSP (java Server Pages) per le quali bisogna installare un Servlet/JSP Container come Tomcat, necessario per la compilazione delle JSP.

Per poter invece creare o modificare applicazioni java il programmatore deve poter disporre di un ambiente di sviluppo ed esecutione compatibile con lo standard java. Sun rilascia da sempre un kit di sviluppo che contiene tutti gli strumenti necessari. Il kit e' noto come JDK (java Development Kit), del quale sono state rilasciate diverse versioni 1.0,1.1,1.2,1.3,1.4 e 5. Attualmente l'ultima versione rilasciata e' la JDK6, infatti Sun ha deciso (fin dalla 1.5) di rinominare le JDK quindi le ultime sono la JDK5 e JDK6.
La JDK e contiene al suo interno la JVM (java Virtual Machine) che serve per eseguire (java), compilare (javac) ecc. le applicazioni java.

Con la nascita della piattaforma java 2 nasce anche il concetto di SDK (Software Development Kit) e la notazione JDK non e' stata eliminata ma diventa formalmente una release dell'SDK java 2.

Con java 2 Sun ha suddiviso l'SDK in tre macrocategorie:
- J2SE (java 2 Standard Edition) contiene la JVM standard piu' tutte le librerie necessarie per lo sviluppo della maggior parte delle applicazioni java.
- J2EE (java 2 Enterprise Edition) contiene la JVM piu' tutta la parte per la gestione Enterprise (cioe' applicazioni medio grandi tipo Web Application).
- J2ME (java 2 Micro Edition)  contiene una JVM e un set di API e librerie appositamente limitate per poter essere eseguite su piccoli dispositivi embedded (per esempio i cellulari).

Un'ultima prescisazione, questa non vuole essere una guida all'installazione o chiarire COSA serve per far girare una applicazione java, perche' solitamente bisogna installare una serie di librerie (.jar) a corollario per far funzionare il tutto. Questo articolo serve solo per mettere un po' di chiarezza sulle sigle e il loro scopo o contenuto.

 
Di Muso (del 24/03/2011 @ 20:00:00 in Informatica, linkato 6788 volte)
tratto da : toolbox.com

A collection of links to resources for DataStage for installing, using, getting certified, optimising and administering DataStage Server Edition, Parallel Edition for old and new versions.

I've done a lot of posts in the past about The Top 7 Online DataStage Tutorials and 7 Even Better Online DataStage Tutorials but in this post I bring it all together and update it with new links.  A few of the links below are for the DSXChange forum and the links work better if you have a login and set it up to remember your login when you visit.

Working with Databases from DataStage

  1. Oracle Performance Tuning - Bulk / Direct / OCI / Updates  - Here is a golden thread from the deep archives of DSXChange from Ross Leishman on Oracle performance from DataStage with some timings and techniques for the common OCI load techniques plus some out of the box thoughts on Oracle External Tables in ETL and Partition Exchange Load.  Wow.  Since it's a forum the thread grows with feedback and extra tips.
  2. Datastage 7x Enterprise Edition with Teradata - Essential reading if you are striking out on your first DataStage Teradata expedition as Joshy explains the differences between the different Teradata load stages.  TPump may sound like something advertised in a spam email promising enlargement but it's just one of the ways to get data into Teradata very quickly.  Multiload and FastLoad may not be multi or fast in certain situations.
  3. Configure DB2 remote connectivity with WebSphere DataStage - IBM DeveloperWorks article, getting DataStage to connect to remote DB2 databases from a parallel job is a bit like spending an hour assembling IKEA furniture without instructions only to discover it's two pieces of furniture, not one, and they are both missing key pieces.  You need this guide.  Don't even try without it.  You'll never get those three weeks of your life back again.
  4. Multiple readers per node loading into ODBC - a deep analysis thread on DSXChange that examines impact of having multiple readers per node when reading a sequential file and writing to an ODBC database.  A good scenario for looking at parallel config files, job debug and the impact of nodes and partitions on performance.

 

DataStage Enterprise Edition Online Resources

  1. Create custom operators for WebSphere DataStage and Custom combinable operators for IBM WebSphere DataStage and DataStage Parallel routines made really easy - I've put these two DeveloperWorks articles together with the Joshy George blog post, they were written many months apart but they cover the ancient and mysterious art of creating custom parallel operators for DataStage.  See if you can spot the difference between custom operators and combinable operators .. then explain it to me.
  2. WebSphere DataStage Parallel Job Tutorial Version 8  - The Official DataStage tutorial from IBM.  This is the one that comes on the Information Server installation and is available from the IBM publications centre and you can download it free of charge as a 1.05M PDF file.  If you cannot do the tutorial you can at least read the tutorial.
  3. Modify Stage with Andy Sorrell  - Andy from the DSXChange steps through using the parallel Modify Stage.  There are no hints inside this stage - no drop down menus and no help screens and you can't chain Andy to your computer so the next best thing is watching his video.
  4. End of the Road to DataStage Certification - Minhajuddin has a blog with some good posts on how to prepare for and pass the exam with his own experiences and how he passed with a better score than me!
  5. DataStage Certification - how to pass the exam - My tips on passing the exam.  What to study and what to expect.  Keep an eye out for a DataStage 8 certification exam in the next couple months.
  6. DataStage tip: using job parameters without losing your mind and 101 uses for ETL job parameters- is my early look at DataStage parameters, since updated with version 8 Parameter Sets in more recent blog posts.
  7. Shell script to start a job using dsjob - From Ken Bland on the forum DSXChange comes a full Unix shell script for running a DataStage job from an enterprise scheduling tool.  It was written for DataStage 5 but it should still work for DataStage 8!  It fetches parameter values from a parameter ini table - something you could replace with a Parameter Set in the latest version, it retrieves more dynamic processing parameters from a database table.  It shows how to check the status of a job after it finishes.
  8. Find and remove "orphan" Dataset files - from the DSXChange FAQ forum comes a way to get rid of unwanted datasets.  These things get created by production jobs, and then the jobs get decommissioned or the dataset name changes but the old datasets stay there taking up space and polluting the ozone layer.
  9. Duke Consulting Tips & Tricks - Kim Duke Consulting brings DataStage tips and utilities.  There is ETLStats - a set of DataStage components that lets you load operation DataStage metadata (job run times and stage/link row counts and parameter values) into a simple database schema.  You can get the ETLStats pack and a video on how to install it.  Some DataStage Server routines and Unix scripts and an XML Best Practices sample.
  10. I need a DSX-Cutter - Want to put your DataStage jobs into source control?  You need a DSX-Cutter.  It takes a very large DSX export file and cuts it into individual jobs for checkin.  This thread of DSXChange got an amazing 48 replies and has the code for a DSX-Cutter that should be compatible with version 8.  You wont need it for much longer - a future version of DataStage promises a version control API layer.
  11. A flexible data integration architecture using WebSphere DataStage and WebSphere Federation Server and Access application data using WebSphere Federation Server and WebSphere DataStage - Both these tutorials combine Federation Server and DataStage.  The second one also shows the SAP R/3 Pack for DataStage.  Got some scenarios for using ETL and federation together.
  12. How do I suppress a warning message? - the first time you run a parallel job you may have a heart attack from all the warning messages.  Relax - it's just being picky about metadata.  This DSXChange FAQ shows how to remove the warning messages.
  13. 10 Ways to Make DataStage Run Slower - my blog post using reverse psychology to find ways to use DataStage better by making it run slower.
  14. Sorts to the left of me, sorts to the right - when you get into big data and parallel jobs you need to concentrate a lot more on your sorting.  Have you got secret sorts creeping into your job without you knowing?  Can you pre-sort and if so how do you stop your job from re-sorting.

 

DataStage Real Time

It's time to get real.  DataStage 7 had the Real Time Services, DataStage 8 has the Information Services Director.  They both do the same thing - they turn DataStage and QualityStage jobs into an always on job - a web service - an enterprise java bean - an SOA enabled job.  It's becoming a lot more important with operational Master Data Management.

  1. Getting Started with IBM WebSphere Information Services Director.  A LeverageInformation technical tip via a flash video on how to turn a DataStage or QualityStage job into a web service.
  2. Transform and integrate data using WebSphere DataStage XML and Web services packs - This Developerworks article shows how to get the XML input and output stages up and running in a server job.  It uses Server Jobs to read XML but it's virtually identical to how XML is used in Parallel Jobs.  A Server Job finds the XML using the Folder stage to pass the data to the XML Input stage.  A parallel job uses the Sequential File stage instead with a file mask option to pass XML through to the XML Input stage.  Different stages but same method.  The DataStage Real Time Pack or the Service Director both turn Parallel and Server jobs into web services the same way.
  3. Handling Nulls in XML Sources - the DSRealTime blog looks at nulls in XML - is it null or is it just missing and did the world really deserve XML?  Google are trying to supplant XML it but Ernie helps explain it.
  4. How to Invoke Complex Web Services - this section of links would be really lame without the DSRealTime blog.  In depth entry on complex web services  - arrays, security, SOAP headers and embedded XML.

 

New to DataStage 8

This category is for people who are new to version 8 and want to know how to use the new features.

  1. Version 8.0.1 Installation - this DSXChange forum thread takes you through the eleven steps, and dozens of sub tasks, in an Information Server install on Solaris that's good reading for any Unix/Linux install.  More comprehensive than the Install and Upgrade Guide.
  2. The DataStage 8 Server Edition SuperFAQ - are you on DataStage version 7 and pondering version 8?  This FAQ lists the questions you might have with some answers.
  3. IBM Information Server Using Slowly Changing Dimensions in IBM WebSphere DataStage Projects - The DSXChange forum has an interesting thread about whether parallel jobs or server jobs are better at slowly changing dimensions.  Check out this LeverageInformation tutorial for the new DataStage 8 parallel job stage and read the thread for the server job approach.  A lot of dimensions have smaller volumes of data so Server jobs are an option.
  4. IBM Information Server: Setting up IBM WebSphere DataStage Users and IBM Information Server: Using Groups to Simplify User Administration with the Internal Directory  - I've put these two LeverageInformation tutorials together for obvious reasons.  You have several security options with DataStage 8 about where your users and passwords are setup and maintained. 
  5. How to Create, Use and Maintain DataStage 8 Parameter Sets  - This is a three part series I wrote about the new Parameter Sets in DataStage 8 and how they interact with Environment Variables and User-Defined Environment Variables.  You need to know this before you start using version 8 because job parameters are a pre-requisite of a well designed job.
  6. DataStage 8 Tutorial: Using Range Lookups - From the people who brought you Parameter Sets (me) comes Range Lookups.  Another walk through that will have you on the edge of your seat.  Range lookup functionality is now built into the Lookup stage - finally!
  7. Navigating the Many Paths of Metadata in the Information Server and Using IBM WebSphere DataStage to Import Metadata into the IBM WebSphere Metadata Repository - In DataStage 8 you have many ways to import metadata.  DataStage Designer table import, the import/export manager and the Information Analyzer console.  This post tries to make some sense of it all.
  8. Using WebSphere DataStage with IBM DataMirror Change Data Capture - DataMirror and DataStage now play together.  You can set up a DataMirror Transformation Server replication that feeds straight into a DataStage job for easier log based change data capture.  This white paper takes a deeper look at it.
  9. DataStage 8 Tutorial: Surrogate Key State Files - looking under the covers at the new state file functionality in DataStage 8 that lets you parallel jobs increment surrogate keys across partitions and remember values between job executions.

 

Back to the Future - DataStage Server Edition

I've put the DataStage Server tutorials in a special category since this version is still alive and kicking and some would argue it remains better than the upstart parallel version.

  1. Video FAQ's with Ken Bland - This is a great guide for navigating around DataStage on Unix or Linux, it was written for Server Edition version 7 and earlier but it's still got some relevant information for DataStage 8 parallel edition.
  2. MQSeries…Ensuring Message Delivery from Queue to Target - a post from the DSRealTime blog about how to make sure a message from a queue makes it through a DataStage job into a database schema without losing any bits.
  3. ETL Tools Datastage tutorial and training - This is a big tutorial website with lots of HTML pages on Server Edition tasks: designing jobs, reading sequential files, performing lookups, slowly changing dimensions.
  4. Server to Parallel Transition Lab with Ray Wurlod - Some would argue the best server job tutorial is that one that lets you leave server jobs behind!  This DSXChange Learning Centre tutorial looks at the difference between the versions and how to move to the newer edition.
  5. Using hash files instead of UV tables for multirow - Roll up your sleeves and get into server edition multi row lookups from hash files.  A master class from Ken Bland on DSXChange.  Very useful when doing slowly changing dimension lookups.  Also see a similar thread Hash Files & Slowly changing dimension.
  6. Upgradation & Migration - A DSXChange forum thread where Kim Duke provides a great guide on upgrading DataStage version 7.x and earlier.  Still useful for the DataStage server upgrade to version 8. It comes with a handy script for backing up crucial DataStage files before the upgrade.

It's got to be Red

IBM RedBooks have their own special category because they are so fricken huge.  If all the DataStage Redbooks were stacked on top of each other they would be wafer thin since they are in digital format but if you printed them out they would be a couple thousand pages high.  Inside each RedBook is a section of DataStage theory followed by a real world scenario.  It's very good reading for DataStage certification.

  1. SOA Solutions Using IBM Information Server - Shows some SOA scenarios using DataStage and the Federation Server.
  2. IBM InfoSphere DataStage Data Flow and Job Design - This one comes with some DataStage design recommendations and a great retail scenario.
  3. Deploying a Grid Solution with IBM InfoSphere Information Server - This one is all about deploying DataStage onto a RedHat grid but there are some lessons in there for any type of grid.
Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
 
trato da: New Relic

This past September we released one of our Ruby on Rails State of the Stack reports, which presents stats on Ruby usage among our customers. The report shows the most commonly deployed versions of Ruby, the top gems used, the most commonly used app containers, etc. We got to thinking that this might be interesting data to provide for other languages that we support too, such as java. So…we decided to take a look at our top 1000 java customers to see what versions of java they are using and what app servers are most commonly deployed. For example, just about everyone is on java 1.6 with the most popular version being 1.6.0_20 followed closely by 1.6.0_26. What about app servers? What are folks using?  The answer was intriguing so we thought we’d share it via a new infographic…

Death-of-proprietry-app-servers

 By the way, we use Jetty for our java components.
 
Di Muso (del 29/11/2008 @ 18:21:50 in Informatica, linkato 5483 volte)

Ovvero: ma cos'è sto Spring, che ne parlano tutti?!?

A volte, si sente dire che:
  • Spring è un altro MVC (stile Struts), 
  • oppure che è una implementazione di AOP.
  • o ancora, si liquida dicendo che è una libreria, senza specifiicare che fa.

Queste cose sono vere ma non danno il quadro completo della situazione.

Vediamo di capire, in breve, di cosa si tratta veramente.

Il Framework Spring viene aescritto per la prima volta dal libro di Rod Johnson:
"J2EE Expert One-on-One J2EE Development without EJB".
Il libro è il seguito di un altro libro ("Expert One-on-One J2EE Design and Development") in cui si cerca di aiutare gli sviluppatori java a gestire correttamente lo sviluppo utilizzando J2EE.

La java2 Enterprise Edition è, come è noto, la piattaforma definita da Sun per la realizzazione di applicazioni java di classe Enterprise.

I punti cardine sono:
  • uno strato Web, composto da JSP e Servlet, per il front-end,
  • e uno strato EJB, di back-office, che contiene i cosiddetti "business object"
In teoria, separare la logica di business  dalla presentazione, è una buona idea.
L'avere un contenitore, che fornisce dei servizi come le transazioni, e ne gestisce il ciclo di vita, è una ottima idea.

Gli EJB soffrono però di una grande complessità. Sono difficili da capire, e pesanti da implementare.

Nella pratica, molti progetti hanno avuto problemi a causa di un uso scorretto degli EJB.

Nel suo primo libro, Johnson ha cercato di spiegare come sviluppare applicazioni
utilizzando correttamenet il J2EE
(EJB compresi).

Nel suo secondo libro, invece Johnson va piĂą avanti e propone lo sviluppo J2EE ma senza utilizzare gli EJB.

O meglio, piĂą correttamente, senza forzatamente incapsulare la business logic negli EJB.

Gli EJB rimangono utili, ma sono per certi scopi.

Invece, per i Business Object, Johnson, riprendendo una scuola di pensioro diffusa, propone di usare dei POJO.

POJO è un termine terribile e suggestivo nello stesso tempo.

Terribile perchè è un "non termine": un POJO è una classe java semplice, senza ammennicoli.

POJO significa infatti Plain Old java Object (Vecchio Semplice Oggetto java).

E' suggestivo  però, perchè evoca la semplicità come un qualcosa in più.

Non era infatti "less is more" il motto di java (1.0)? Ho ancora il whitepaper di java, da qualche parte, che fa una grandissima sviolinata al riguardo.

I POJO però sono troppo semplici, e per essere gestiti correttamente,
hanno bisogno di inizializzazione, gestione dipendenze e altri aspetti.

Per gestire i POJO, Johnson propone il framework Spring, fresco e leggero come l'aria primaverile  (anche se a mio avviso, nella versione 2.0 quest'aria diventando un po' afosa...).

In pratica Spring è un framework che permette di sostituire il contentitore di EJB J2EE, e di fornire a dei POJO servizi similari a quelli offerti dal J2EE, ma senza EJB.

In realtĂ , ci sono molte altre idee innovative in Spring , come l'Inversione del Controllo, l'uso intensivo di Unit Test eccetera.

Tra le numerose funzioni offerte, c'è anche un semplice framework MVC, l'Aspect Oriented Programming, l'integrazione con una gran quantità di tecnologie (Hibernate per esempio viene usato spesso insieme a Spring).

In tutto sempre condito da una grande semplicitĂ  di gestione.
tratto da javaJournal

Quindi vi consiglio anche di legervi questoi "Spring MVC, Inversione del Controllo e Dependency" Prima Parte e Seconda Parte su java Italian Portal
 
Di Muso (del 15/12/2010 @ 17:23:28 in Informatica, linkato 2670 volte)
tratto da : Giampiero Granatella

java è abbastanza carente nella manipolazione delle date, le sue classi java.util.Date, java.sql.Date e Calendar non facilitano il confronto e la manipolazione delle date. In parallelo a queste è comodo utilizzare la libreria open source JodaTime.

Cosa offre?

  • La possibilità di effettuare confronti fra date, senza dover gestire quanti giorni ha un mese, se l’anno è bisestile,…
  • La gestione dei periodi fra date
  • Aggiungere/sottrarre un periodo (un anno, un mese, un giorno) ad una data e fare calcoli fra date

Le classi principali

  • DateTime, rappresenta una data con l’ora
  • DateMidnight, la data alla mezzanotte (00:00), comoda per effettuare confronti senza considerare le ore
  • Interval, Period, Duration per gestire gli intervalli o periodi di tempo

La ricchezza di costruttori di DateTime e DateMidnight

DateTime (e ugualmente DateMidnight) offrono un ampia varietà di costruttori:

  • DateTime()

  • DateTime(Chronology chronology)

  • DateTime(DateTimeZone zone)

  • DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)

  • DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, Chronology chronology)

  • DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, DateTimeZone zone)

  • DateTime(long instant)

  • DateTime(long instant, Chronology chronology)

  • DateTime(long instant, DateTimeZone zone)

  • DateTime(Object instant)

  • DateTime(Object instant, Chronology chronology)

  • DateTime(Object instant, DateTimeZone zone)

  • E offre una varia serie di funzionalità (javadoc).

    Esempio

    Un semplice esempio di utilizzo…

    DateMidnight oggi = new DateMidnight();

    DateMidnight domani = oggi.plusDays(1);

    DateMidnight meseProssimo = oggi.plusMonths(1);

    Period durata = new Period(domani, meseProssimo);

    int giorni = durata.getDays();
    int mesi = durata.getMonths();
     
    Di Muso (del 15/12/2008 @ 17:22:28 in Informatica, linkato 3515 volte)
    from Kioskea:

    Keyboard Shortcuts for Windows




    There are a number of keyboard shortcuts and combinations that you can make use of instead of your mouse or your taskbar options. This article will give you the list of the most common shortcuts used while using a Windows operating system.

    Windows System


    • Windows Key: will open the Start menu
    • Windows Key+Break: will display the System Properties dialogue box
    • Windows Key+D: will minimize the windows to show the Desktop
    • Windows Key+E: will open Internet Explorer
    • Windows Key+F: will open the Search option for files and folders
    • Windows Key+F+CTRL: will open Search option for computer
    • Windows Key+F1: will display Help/Assistance option
    • Windows Key+L: will lock your Desktop
    • Windows Key+M: will minimize or restore all windows
    • Windows Key+R: will open the RUN option
    • Windows Key+TAB: will switch between open items
    • Windows Key+U: will open Utility Manager
    • ALT+ Hyphen: will display the Multiple Document Interface child window’s System menu
    • ALT+ ENTER: will view the properties for the selected object
    • ALT+ ESC: will cycle through the items in the order that they were opened
    • ALT+ F4: will close all the window that is open
    • ALT+ SPACEBAR: will display the System menu
    • ALT+TAB: switch from one open program to another on your taskbar.
    • F1: used to request help/assistance
    • SHIFT: If you press and hold down the SHIFT key while inserting a CD-ROM it will skip the automatic-run feature
    • SHIFT+DELETE: will delete the file permanently
    • CTRL+ESC: will open the Start Menu

    In a General Folder and text programs


    • Ctrl + A: will select all items
    • Ctrl + B: will organize your Favorites in Internet Explorer
    • Ctrl + C: will copy the selected item
    • Ctrl + F: will open the Search options
    • Ctrl + H: will allow you to replace some text
    • Ctrl + N: will create a new folder
    • Ctrl + O: will open a new document
    • Ctrl + P: will print the selected document
    • Ctrl + S: will save the current document
    • Ctrl + V: will copy the selected item
    • Ctrl + W: will close the current window
    • Ctrl + X: will cut the current item
    • Ctrl + Y: will repeat the last action that has been cancelled
    • Ctrl + Z: will undo the last action

    In a General Folder


    • F10: Opens Menu Bar options
    • CTRL+F4: list the address menu paths
    • SHIFT+F10: Opens right click shortcut menu
    • ALT+DOWN ARROW: will open a drop-down list box
    • ALT+SPACE: will list the window's System menu
    • ALT+Underlined Letter in Menu: Opens the menu

    For a Selected Item a Folder


    • F2: used to rename the item
    • F3: Opens the Search option
    • F5: will refresh the current folder
    • F6: will move along the panes in Windows Explorer
    • CTRL+ X: Cut an item
    • CTRL+ C: Copy an item
    • CTRL+ V: Paste an item
    • SHIFT+DELETE: will delete this item permanently.
    • ALT+ENTER: will open the properties option for the selected item.
    • CTRL+ G: will open the “Go To” Folder tool (in Windows 95 Windows Explorer only)
    • CTRL+ A: will select all the items in the current window
    • BACKSPACE: will switch to the parent folder

    For Microsoft Word


    • CTRL+ N: will promptly open a Word document
    • CTRL+ O: will open a previously saved Word document
    • CTRL+ W: will close the current window without exiting Word
    • CTRL+ S: will save the current document
    • CTRL+ P: will promptly print the current document
    • CTRL+ Z: will undo the last action
    • CTRL+ Y: will restore an undone action
    • CTRL+ X: will cut the selected text
    • CTRL+ C: will copy the selected text
    • CTRL+ V: will paste the selected text
    • CTRL+ A: will select the whole document
    • CTRL+ F: will search for a specific text in the current document
    • CTRL+ B: will bold the selected text
    • CTRL+ I: will put in italics the selected text
    • CTRL+ U: will underline the selected text

    For Microsoft Excel


    • CTRL+ N: will promptly open an Excel document
    • CTRL+ O: will open a previously saved Excel document
    • CTRL+ W: will close the current window without exiting Excel
    • CTRL+ S: will save the current document
    • CTRL+ P: will promptly print the current document
    • CTRL+ Z: will undo the last action
    • CTRL+ Y: will restore an undone action
    • CTRL+ X: will cut the selected text
    • CTRL+ C: will copy the selected text
    • CTRL+ V: will paste the selected text
    • CTRL+ A: will select the whole document
    • CTRL+ F: will search for a specific text in the current document
    • CTRL+ B: will bold the selected text
    • CTRL+ I: will put in italics the selected text
    • CTRL+ U: will underline the selected text
    • F1: will prompt the Help option
    • F2: will edit the document
    • F3: will paste the name
    • F4: will repeat the last action
    • F5: will open the Go To option
    • F6: will switch to the next pane
    • F7: will launch the Spell Check option
    • F8: will allow the Extend Mode
    • F9: will recalculate all workbooks
    • F10: will activate the menu bar
    • F11: will open a new chart
    • F12: will save the document.

    For Microsoft PowerPoint


    • F4: will repeat the last action
    • F5: will start a slide show
    • F6: will switch to the next pane in a clockwise way
    • CTRL+ EQUAL SIGN: will apply a subscript formatting
    • CTRL+ ADDITION SIGN: will apply a superscript formatting
    • CTRL+ BACKSPACE: will delete a word
    • CTRL+ F: will find a particular text
    • CTRL+ K: will insert a hyperlink
    • CTRL+ M: will insert a slide
    • CTRL+ I: will set the text into italics
    • CTRL+ D: will copy the current slide
    • CTRL+ O: will open a previously saved PowerPoint file
    • CTRL+ T: will open a Font dialogue
    • CTRL+ Y: will repeat last action
    • CTRL+ G: to view guides
    • SHIFT+ ALT+ LEFT ARROW: will promote a paragraph
    • SHIFT+ F3: will capitalize the text
    • SHIFT+ALT+ RIGHT ARROW: will demote a paragraph
    • SHIFT+F6: will switch to the previous pane in an anticlockwise way.

    For Internet Explorer


    • F1: will display the Internet Explorer help
    • F11: will allow the full screen option
    • TAB KEY: will enable you to move through the items, address bar and links on your webpage
    • ALT+HOME: will go to your home page
    • ALT+LEFT ARROW: will go to the previous page
    • SHIFT+F10: will display a shortcut menu for the link
    • CTRL+TAB: will move forward between tabs
    • SHIFT+CTRL+TAB: will move back between frames
    • UP ARROW KEY: will scroll towards the beginning of the webpage
    • DOWN ARROW KEY: will scroll towards the end to the webpage
    • PAGE UP: will scroll by sections towards the beginning of the webpage
    • PAGE DOWN: will scroll by sections towards the end of the webpage
    • HOME: will move directly to the beginning of the webpage
    • END: will move directly to the end of the webpage
    • CTRL+F: will find some text on the page
    • F5: will refresh the current page
    • ESC: will stop loading the page
    • CTRL+ N: will open a new window
    • CTRL+ E: will open the Search option in the Explorer bar
    • CTRL+ I: will open the Favorites option in Explorer bar
    • CTRL+ H: will open the History option in Explorer bar
     
    Di Muso (del 13/08/2007 @ 17:09:37 in Politica, linkato 2328 volte)

    E' proprio vero che al peggio non c'e' mai fine.

    Faccio fatica anche a commentare certe notizie perche' penso sempre che siano cosi' vergognose da non essere verosimili, invece basta leggere i riusltati della commissione parlamentare per capire che e' tutto vero e che come al solito noi dobbiamo discutere dei bambini ROM bruciati (non che questo non sia importante) pero' visti gli ultimi scandali sulle spese politiche, la mancata riscossione di 98 MILIARDI di EURO mi sembra un argomento da sviscerare a qualsiasi livello, invece SILENZIO. . . . . . . . E allora zitti zitti, non riflettere, non discutere ma sentire col cuore, ... e allora zitti zitti dritto verso il centro non fuori, ma dentro ...

    Questo e' il post del Beppe: Bische di Stato

    http://www.beppegrillo.it/cgi-bin/mt-tb.cgi/638. 1438512338

     
    Di Muso (del 24/03/2011 @ 15:18:38 in Informatica, linkato 3558 volte)
    If you are trying for run STS (SpringSource Tool Suite) after a good installation and you are receiving always the same error message :
    Could not create the java virtual machine
    or
    java was started but returned exit code=1

    I changed my heap size down to 512M from 768M in STS.ini under STS installation directory . . . . and things worked just fine!!!!
     
    Di Muso (del 02/12/2008 @ 14:45:59 in Informatica, linkato 4124 volte)

    Con l'uscita della versione 6.0 beta di NetBeans, si fa più stretto il legame tra i siti ufficiali Sun Microsystems e NetBeans, e diventano sempre più attuali alcuni articoli che fanno riferimento alle nuove caratteristiche introdotte dall'IDE open source per java e non solo.

    Tra questi, un contributo scritto in agosto da Winston Prakash e aggiornato poi da Beth Stearns mostra come usare NetBeans 6.0 e i Visual Web tool per la scrittura di applicazioni che si connettono a tabelle di database con i componenti visuali data provider, e poi utilizzare l' API java Persistence (JPA) per effettuare operazioni CRUD, acronimo di Create, Read, Update, e Delete.

    Il tutorial è diviso in due parti: la prima arriva fino alla connessione con tabelle del database, mentre la seconda, ancora non disponibile, approfondirà le operazioni di aggiornamento delle tabelle (add, update, e delete); non mancano i consigli utili per sfruttare al meglio le caratteristiche di NetBeans e dei suoi componenti dedicati al Web.

    Per chi necessita di un'introduzione allo sviluppo visuale per il Web, esiste un altro tutorial intitolato Developing a Web application, che, in una mezz'ora circa di esercitazione guidata, porta a creare l'applicazione ed aggiungere qualche funzionalità come l'uso di una casella combinata in sostituzione di una casella di testo.

    Gli argomenti correlati non finiscono qui, la piccola Knowledge Base di NetBeans deve ancora crescere, ma già adesso gli argomenti non mancano. Oltre ai database, si affrontano tematiche come lo sviluppo per dispositivi mobili, quello per java EE, e l'ormai immancabile Ruby.

    Tratto da  Programmazione.it  --  Scritto da Davide Panceri il 26-09-2007

     
    Di Muso (del 26/01/2012 @ 12:46:25 in Sport, linkato 1689 volte)
     
    Di Muso (del 27/01/2011 @ 12:24:43 in Informatica, linkato 2404 volte)
    if u are trying to run or debug a very simple application to get an xml from eXist db and you receive this error:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/ws/commons/serialize/DOMSerializer

    this because u are following this guide : http://exist.sourceforge.net/deployment.html where in the point

    5. Embedding eXist in an Application

    is missing that you must import this .jar too : ws-commons-util-1.0.2.jar
     
    Di Muso (del 07/09/2012 @ 12:08:49 in Lo sapevi che , linkato 6107 volte)
    Scalcinet è un sito web con una semplice finalità: permettere agli utenti di offrire oggetti di loro proprietà o ricercare oggetti offerti da altri utenti.
    Il tutto si svolge nello spirito di piena collaborazione della comunità, dove si spera che le reciproche necessità possano venire soddisfatte: chi non ha più bisogno di un oggetto, invece di buttarlo, può trovare qualche persona interessata ad esso e, viceversa, chi ha bisogno di qualche oggetto può sperare di trovare qualcuno che lo offra gratuitamente.

    Lo spirito principale del sito è la totale assenza di fini di lucro.
    La registrazione e l'utilizzo del sito sono completamente gratuiti, e anche gli annunci inseriti dagli utenti non devono prevedere nessun corrispettivo in denaro.
    Gli oggetti trattati possono essere di ogni genere, ovviamente non devono trattarsi di oggetti considerati illegali dalle leggi del paese di appartenenza.

    Scalcinet è un sito molto giovane e per questo, al momento, non presenta ancora una grande quantità di oggetti messi a disposizione, ma speriamo che in futuro possa crescere gradualmente e diventare un valido supporto e un punto di riferimento per chi è interessato a operazioni di questo genere.
    Ovviamente gli annunci, visto il loro carattere gratuito, sono sfruttabili solo localmente, quando gli utenti interessati possono incontrarsi di persona per effettuare l'operazione. Se le distanze sono troppo elevate e il costo per effettuare il passaggio diventa maggiore del valore dell'oggetto, l'utilizzo del sito diventa pressochè inutile, sebbene gli utenti sono comunque liberi di scegliere ogni modalità per concludere la trattativa.
    Il sito è, però, utilizzabile indistintamente da ogni parte del mondo, questo comporta che ogni utente interessato, anche se al momento non trova nessun annuncio nelle vicinanze, può provare a costituire la propria comunità locale per lo scambio gratuito di oggetti, invitando i propri amici e conoscenti e facendo in modo che il sito sia il più possibile conosciuto nella sua zona.
    Scalcinet, in questo senso, è solo lo strumento tecnologico che vi viene messo a disposizione. Costruire una rete di utenti a distanza accettabile dipende anche da voi.

    Sempre per facilitarne l'utilizzo da più parti del mondo, Scalcinet è un sito multilingua. Al momento è tradotto in inglese, italiano e francese ma altre lingue possono essere aggiunte con poco sforzo, a patto di possedere le traduzioni necessarie.
    Anche in questo caso, se siete interessati ad avere il sito in una nuova lingua, potete contribuire direttamente, contattando gli amministratori del sito che vi forniranno tutte le parti da tradurre.

    L'utilizzo del sito è molto semplice e immediato, nonostante ciò sono presenti molte funzionalià e caratteristiche per coprire ogni possibile esigenza da parte degli utenti.
    In fondo potete trovare una lista completa divisa per attività.

    Riteniamo che Scalcinet, visto il suo spirito e la sua finalità, non richieda notevoli misure di sicurezza e di privacy.
    Ciò nonostante le regole basilari per l'esistenza in internet vengono rispettate.
    La navigazione del sito e la ricerca e consultazione degli annunci è accessibile a tutti gli utenti, se invece si vogliono inserire degli annunci propri, allora bisogna registrarsi.
    La registrazione è comunque molto semplice e veloce, e l'unico dato personale che vi verrà richiesto è un indirizzo di posta valido.
    Agli altri utenti del sito sarete noti solo tramite lo username che darete durante la registrazione.
    La vostra password sarà salvata in modo criptato sul nostro server, questo significa che nemmeno gli amministratori potranno leggerla.
    Un discorso particolare merita l'indicazione esatta della posizione geografica in cui sono situati gli oggetti che inserite. Questa indicazione può rivelare agli altri utenti il vostro indirizzo e, con opportune ricerche in internet, il vostro nome reale.
    Indicare dove sono situati i vostri oggetti non è obbligatorio per Scalcinet, è solo un'opzione che avete a disposizione, anche se, secondo noi, non avrebbe molto senso non utilizzarla.
    Il sito perderebbe quasi completamente la sua utilità se fosse possibile trovare gli oggetti che stiamo cercando, ma non avessimo la minima idea di dove fossero situati.
    Se proprio tenete alla vostra privacy, e non volete rivelare il vostro indirizzo, il nostro consiglio è quello di indicare in Scalcinet un luogo approssimativo, spostato di qualche chilometro da quello reale.
    In questo modo nessuno potrà risalire ai vostri dati privati, ma gli altri utenti potranno comunque avere un'idea di dove si trovano gli oggetti che avete messo a disposizione.

    Da un punto di vista tecnico, per chi fosse interessato, Scalcinet utilizza alcuni servizi e tecnologie per migliorare l'esperienza e l'utilizzo quotidiano da parte dei suoi utenti.
    Viene utilizzato Google Maps per specificare esattamente la propria posizione attuale. Questa operazione, anche se non obbligatoria, permette di effettuare le ricerche in modo mirato, e con l'utilizzo di Google Maps risulta di una semplicità assoluta.
    Se l'utente non specifica la propria posizione, quest'ultima viene ricavata molto approssimativamente utilizzando il servizio di geolocalizzazione di MaxMind.
    Per il carico delle immagini degli oggetti viene utilizzato Adobe Flash Player. In questo modo è possibile controllare immediatamente il tipo e la grandezza dei file caricati senza aspettare che l'intero file venga passato al server.
    Molte pagine utilizzano la tecnologia Ajax, che permette l'aggiornamento di alcune informazioni a video senza dover ricaricare l'intera pagina. Questo permette alcuni effetti molto gradevoli, tipo lo slideshow degli annunci, altrimenti impossibili o troppo lenti.
    Il sito fa largo uso anche di javascript e di alcune caratteristiche introdotte dagli standard HTML5 e CSS3, questo implica che sui browser più moderni il sito potrà avere un aspetto più piacevole, rispetto a browser più obsoleti.

    Per visitarci:         www.scalcinet.com
    Per contattarci:    mailto:contact@scalcinet.com
    Per seguirci:        http://www.facebook.com/Scalcinet
                                   https://twitter.com/scalcinet
               https://plus.google.com/u/0/b/114052213526354521645/114052213526354521645/posts
                                  


    Lista delle funzionalità del sito:

    INSERIMENTO DI UN ANNUNCIO
    - selezione della categoria e sotto-categoria
    - specifica di una o più caratteristiche (obbligatorie o facoltative) dipendenti dalla categoria selezionata
    - descrizione generale
    - inserimento fino a tre immagini

    RICERCA/LISTA DEGLI ANNUNCI
    - filtro in base alla categoria e sotto-categoria
    - filtro in base alla distanza dalla propria posizione attuale (o nel proprio paese)
    - ricerca per parola chiave

    GESTIONE/CONSULTAZIONE DEGLI ANNUNCI
    - nascondi e pubblica un annuncio
    - elimina o segna come consegnato un annuncio
    - modifica un annuncio già inserito
    - contatta il proprietario di un altro annuncio
    - vedi i dettagli di un oggetto
    - zoom delle immagini di un oggetto
    - calcola il percorso per raggiungere un oggetto (tramite Google Maps)
     
    Di Muso (del 13/01/2011 @ 10:50:31 in Informatica, linkato 3138 volte)
    from jugsalerno

    Per Linux:
    Nel file startup.sh sostituire la seguente riga :
    exec “$PRGDIR”/”$EXECUTABLE” start “$@”

    con:

    JPDA_TRANSPORT=”dt_socket”
    JPDA_ADDRESS=8000
    exec “$PRGDIR”/”$EXECUTABLE” jpda start “$@”

    Per Windows:
    Nel file startub.bat sostituire la riga:
    call “%EXECUTABLE%” start %CMD_LINE_ARGS%

    con:

    SET JPDA_TRANSPORT=”dt_socket”
    SET JPDA_ADDRESS=8000
    call “%EXECUTABLE%” jpda start %CMD_LINE_ARGS%

    Per entrambi i sistemi operativi non sono necessarie le prime due righe, ma vanno inserite se non si vuole che vengano considerati i valori di default che sono quelli usati nell’esempio.

    Per entrambi i sistemi operativi per utilizzare Eclipse in debug bisogna:

    1) Aprire Eclipse (e questo mi sembra il minimo ;) )
    2) cliccare sul menù RUN, poi su DEBUG
    3) Selezionare la voce REMOTE java APPLICATION, cliccare col pulsante destro su di essa e selezionare NEW
    4) Nella prima scheda (CONNECT) si deve selezionare un progetto, assegnare un nome ed assegnare le proprietà della connessione che sono l’indirizzo e la porta dell’applicazione, che può essere anche localhost nel caso in cui si voglia testare applicazioni web in locale.
    5) Mentre nella seconda scheda (SOURCE) inserire i sorgenti di cui si vuole eseguire il debug. Il progetto selezionato nella prima scheda viene incluso in automatico e lo trovato espandendo la cartella Default nell’albero presente nella scheda.
    6) Premere su APPLY.
    7) Premere DEBUG per iniziare.
    Ora possiamo utilizzare normalmente le funzionalità di debug (inspect, breackpoint, evalutate, etc…) di Eclipse come se la nostra applicazione fosse in locale.

     
    Di Muso (del 30/07/2012 @ 10:27:14 in Informatica, linkato 5823 volte)
    Come capita piu' o meno a tutti, anche io sono stato vittima di spam, quindi vi scrivo questa breve guida per inserire nel vostro bel dBlog il reCaptcha.
    AVVISO che l'eliminazione dello spam NON e' IMMEDIATA!!! Suppongo per una questione di caching delle pagine sui server in giro per il mondo che permettono un accesso alle pagine con il vecchio codice. Cmq Tempo un mesetto e tutto si risolve.
    File da modificare:
    - articolo.asp
    - commenti_invio.asp

    in ordine dovrete sostituire in articolo.asp le seguenti righe (cioe' il form):

    
    

    <%=Testo_Campo_Captcha%> CAPTCHA


    <%=Testo_Campo_Commento%>

    <%=Testo_Campo_Nome%>

    <%=Testo_Campo_EMailLink%>






    con il seguente form

    
    
    ' Il seguente campo NON deve essere compilato.
    <%=Testo_Campo_Captcha%>
    <%=Testo_Campo_Commento%>
    <%=Testo_Campo_Nome%>
    <%=Testo_Campo_EMailLink%>



    mentre in commenti_invio.asp sostituire :

    
    Dim SQLCommenti, RSCommenti, FIDA, FIDF, FIDFotografia, FIDArticolo, FCommento, FAutore, FLink, FTipologia, Errore, SQLControlloAutore, RSControlloAutore, ArrayParoleNonAmmesse, IArrayParoleNonAmmesse, ParolaNonAmmessaFiltrata, IParolaNonAmmessa, SQLCommentiTitoloRelativo, RSCommentiTitoloRelativo, TitoloRelativo 
    'Se i commenti sono abilitati eseguo l'invio If Abilita_Commenti Then   
    If Request.Form("campoNascosto") = "" Then     
       If CheckCAPTCHA(Trim(Request.Form("strCAPTCHA"))) Then     
       'Effettuo il controllo sul parametro id
    

    con le seguenti, ricordandovi di inserire la VOSTRA private key nella riga
    recaptcha_private_key      = "your_private_key" ' your private key

    
        recaptcha_challenge_field  = Request("recaptcha_challenge_field")
        recaptcha_response_field   = Request("recaptcha_response_field")
        recaptcha_public_key       = "6LegAcASAAAAADYH-RDuZqrp7QdFr_VXaFd8BWe6" ' your public key
        recaptcha_private_key      = "your_private_key" ' your private key
        
        Dim SQLCommenti, RSCommenti, FIDA, FIDF, FIDFotografia, FIDArticolo, FCommento, FAutore, FLink, FTipologia, Errore, SQLControlloAutore, RSControlloAutore, ArrayParoleNonAmmesse, IArrayParoleNonAmmesse, ParolaNonAmmessaFiltrata, IParolaNonAmmessa, SQLCommentiTitoloRelativo, RSCommentiTitoloRelativo, TitoloRelativo, WordNotPermitted
    
    		'Se i commenti sono abilitati eseguo l'invio
    		If Abilita_Commenti Then
    		  If Request.Form("campoNascosto") = "" Then	
            server_response = ""
            newCaptcha = True
            if (Request.Form("recaptcha_challenge_field") <> "" or Request.Form("recaptcha_response_field") <> "") then
              Dim VarString
              VarString = _
                      "privatekey=" & recaptcha_private_key & _
                      "&remoteip=" & Request.ServerVariables("REMOTE_ADDR") & _
                      "&challenge=" & Request.Form("recaptcha_challenge_field") & _
                      "&response=" & Request.Form("recaptcha_response_field")
            
              Dim objXmlHttp
              Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
              objXmlHttp.open "POST", "http://www.google.com/recaptcha/api/verify", False
              objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
              objXmlHttp.send VarString
            
              Dim ResponseString
              ResponseString = split(objXmlHttp.responseText, vblf)
              Set objXmlHttp = Nothing
            
              if ResponseString(0) = "true" then
                'They answered correctly
                 server_response = ""
              else
                'They answered incorrectly
                 server_response = ResponseString(1)
              end if
              newCaptcha = False
            end if	
                
    		    if server_response <> "" or newCaptcha then
               if newCaptcha = False then
                     
               %>
              	  
              	  
    <%=Errore_Commento_Parametri%> <%=Errore_Captcha_Numeri_Sbagliati%> #commenti"><%=Testo_Commento_Riprova%>.
    <% end if else

    e poi

    
    	If FIDA <> 0 OR FIDF <> 0 Then
    					FCommento = Replace(SostituisciCaratteri(Request.Form("Commento"), "No"), VbCrLf, "
    ") If Len(Testo_Parole_NonAmmesse) > 0 AND Len(FCommento) > 0 Then ArrayParoleNonAmmesse = Split(Testo_Parole_NonAmmesse, ",") For IArrayParoleNonAmmesse = 0 To UBound(ArrayParoleNonAmmesse) ParolaNonAmmessaFiltrata = ""

    con

    
            Dim foundCommento
            Dim foundAutore
            Dim foundLink
            Dim foundIPas
            Dim FIp
            Errore = False
            WorldNotPermitted = False
            
    				If FIDA <> 0 OR FIDF <> 0 Then
    					FCommento = Replace(SostituisciCaratteri(Request.Form("Commento"), "No"), VbCrLf, "
    ") FAutore = SostituisciCaratteri(Request.Form("Autore"), "No") FLink = SostituisciCaratteri(Request.Form("Link"), "No") FTipologia = Request.Form("Tipologia") FIp = Request.ServerVariables("REMOTE_ADDR") If Len(Testo_Parole_NonAmmesse) > 0 AND Len(FCommento) > 0 Then ArrayParoleNonAmmesse = Split(Testo_Parole_NonAmmesse, ",") For IArrayParoleNonAmmesse = 0 To UBound(ArrayParoleNonAmmesse) 'START Add by muss 20120615 foundCommento = InStr(FCommento, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) foundAutore = InStr(FAutore, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) foundLink = InStr(FLink, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) foundIP = InStr(FIp, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) If (foundCommento <> 0) OR (foundAutore <> 0) OR (foundLink <> 0) OR (foundIP <> 0) Then 'If foundCommento = True Then WorldNotPermitted = True Errore = True End If 'END by muss 20120615 ParolaNonAmmessaFiltrata = ""

    alla fine

    
    %>
    	
    <%=Conferma_Commento_ricevuto%> #commenti"><%=Testo_Commento_Visualizza%>.
    <% Else %>
    <%=Errore_Commento_CampoObbligatorio_e_AutoreLoggato%> <%=Testo_Commento_Riprova%>.
    <% End If Else %>
    <%=Errore_Commento_Parametri%> <%=Testo_Commento_Riprova%>.
    <% End If Else %>
    <%=Errore_Commento_Parametri%> <%=Errore_Captcha_Numeri_Sbagliati%> #commenti"><%=Testo_Commento_Riprova%>.
    <% End If Else %>
    <%=Errore_Commenti_NonAbilitati%>
    <%

    con

    
    %>
    	
    <%=Conferma_Commento_ricevuto%> #commenti"><%=Testo_Commento_Visualizza%>.
    <% Else If WordNotPermitted = True Then %>
    <%=Errore_Parole_Non_Ammesse%> <%=Testo_Commento_Riprova%>.
    <% Else %>
    <%=Errore_Commento_CampoObbligatorio_e_AutoreLoggato%> <%=Testo_Commento_Riprova%>.
    <% End If End If Else %>
    <%=Errore_Commento_Parametri%> <%=Testo_Commento_Riprova%>.
    <% End If end if Else %>
    <%=Errore_Commenti_NonAbilitati%>
    <%


    Dopodiche' entrate come amministratori nel pannello di controllo di dBlog, andate nella sezione "Configurazione", dal menu' a tendina scegliete "Commenti".
    A questo punto bisogna fare due modifiche, agli ultimi due campi in fondo:
    - alla voce "Testo del campo Captcha anti-spam:" lasciare solo "Anti-Spam:" cancellando il resto
    - alla voce "Errore campo Captcha numeri sbagliati" inserite una frase a piacere, Io ho inserito la seguente "le parole inserite in reCaptcha non sono corrette"


    Qualche post da ip cinese lo riceverete ancora ma si tratta di un paio di post alla settimana (almeno nel mio caso).
    Anche per questo ho aggiunto un controllo sulle parole ammesse anche nella firma e nell'IP che viene registrato, quindi se entrate come amministratori nella console alla voce commenti potete inserire un po' di parole o indirizzi ip che volete filtrare.
    Se avete problemi contattatemi via mail, sono sempre presissimo e rischiate che passino giorni prima di ricevere una risposta a un commento inserito quì.
     
    Di Muso (del 31/05/2011 @ 09:56:17 in Informatica, linkato 2647 volte)
    The work around is posted in the following link
    http://www.hildeberto.com/2008/05/hibernate-and-jersey-conflict-on.html

    ..................

    The ASM package is needed by the cglib package, which is part of the Hibernate libraries. If we remove that package, Jersey will work correctly, but Hibernate will stop working. To solve this conflict use cglib-nodep.jar instead of cglib.jar and keep ASM version 3.x with Jersey. cglib-nodep.jar includes some ASM classes demanded by cglib.jar, changing the package name to avoid any class conflict.

    The ASM library is a java bytecode manipulation and analysis framework. According to its website "(...) it can be used to modify existing classes or dynamically generate classes, directly in binary form. Provides common transformation and analysis algorithms to easily assemble custom complex transformations and code analysis tools". ASM is used by many products like AspectJ, Oracle TopLink, JRuby, and many others. It can not be simply ignored by frameworks because it is a matter of flexibility. The best alternative is always to investigate the unexpected problem and claim for a better error presentation on the JVM.
     
    Di Muso (del 26/11/2010 @ 09:38:40 in Politica, linkato 1492 volte)
    tratto da Quintarelli Blog:
    Due fatti ed una considerazione.

    PRIMO: Domani c'è una riunione dell'Autorità delle Comunicazioni che approverà un provvedimento di regolamentazione delle WebTV, come effetto del recepimento della direttiva europea Audiovisual Media Services.

    E' stato scritto molto, il testo della legge prevede di regolamentare i siti in concorrenza con la radiodiffusione televisiva, esentando  specificamente i siti privati e i servizi UGC.

    Ma cosa vuol dire ? alla fine AGCOM pare abbia maturato che non ha senso imporre un balzello ed una burocratica registrazione preventiva a chiunque faccia video su internet: l'obbligo e conseguente tassa da qualche mila euro sarà limitata alle aziende di video online che facciano piu' di Xcentomila euro di fatturato.

    UPDATE: gira voce che sia tipo 2000 euro per chi fa piu' di 100.000 euro... quindi la frase sotto va mesa in forse..

    Certo, bene cosi': il rischio della chiusura del web video è arginata. L'importo sarà modesto e sopportabile per chi fa business e non ci sarà per gli altri.

     

    Pero'...

    Alla fine avremo un registro ed una tassa il cui gettito non servirà a retribuire una attività specifica, salvo la autoreferenziale tenuta del registro stesso.

    Importo che, è facile predire, non sarà nemmeno sufficiente a coprirne i costi associati.

    Lancio una provocazione..  non si potrebbe tenere il registro solo come dichiarazione mandata per posta certificata ad un indirizzo specifico, senza una tassa associata ? costi di esercizio zero, minimizzazione della burocrazia; il registro sarebbe il contenuto della casella di posta certificata.

    Temo sia facile predire che andremo di raccomandate e qualche migliaio di euro di tassa inutile...

    SECONDO: è una chicca ancora "migliore": Questo è un provvedimento del CdM del 22 ottobre scorso.

    Se vuoi attaccare un oggetto alla rete (non terminale/pc, ma router, switch, ecc), devi essere un installatore iscritto all'albo (per tutto, eccetto ciò che verrà esplicitamente escluso (2.f)) pena sanzione da 15.000 a 150.000 euro

    Governo Italiano - Provvedimenti.

    1. Gli utenti delle reti di comunicazione elettronica sono tenuti ad affidare i lavori di installazione, di allacciamento, di collaudo e di manutenzione delle apparecchiature terminali di cui all’articolo 1, comma 1, lettera a), numero 1), che realizzano l’allacciamento dei terminali di telecomunicazione all’interfaccia della rete pubblica, ad imprese abilitate secondo le modalità e ai sensi del comma 2.

    sarebbero "le apparecchiature allacciate direttamente o indirettamente all’interfaccia di una rete pubblica di telecomunicazioni per trasmettere, trattare o ricevere informazioni; in entrambi i casi di allacciamento, diretto o indiretto, esso può essere realizzato via cavo, fibra ottica o via elettromagnetica;"

    2. Entro dodici mesi dalla data di entrata in vigore del presente decreto legislativo, il Ministro dello sviluppo economico, adotta, ai sensi dell’articolo 17, comma 3, della legge 23 agosto 1988, n. 400, un decreto volto a disciplinare:
    a) la definizione dei requisiti di qualificazione tecnico-professionali che devono possedere le imprese per l’inserimento nell’elenco delle imprese abilitate all'esercizio delle attività di cui al comma 1;
    b) le modalità procedurali per il rilascio dell’abilitazione per l’allacciamento dei terminali di telecomunicazione all’interfaccia della rete pubblica;
    c) le modalità di accertamento e di valutazione dei requisiti di qualificazione tecnico-professionali di cui alla lettera a);
    d) le modalità di costituzione, di pubblicazione e di aggiornamento dell’elenco delle imprese abilitate ai sensi della lettera a);
    e) le caratteristiche e i contenuti dell’attestazione che l’impresa abilitata rilascia al committente al termine dei lavori;
    f) i casi in cui, in ragione della semplicità costruttiva e funzionale delle apparecchiature terminali e dei relativi impianti di connessione, gli utenti possono provvedere autonomamente alle attività di cui al comma 1.
    3. Chiunque, nei casi individuati dal decreto di cui al comma 2, effettua lavori di installazione, di allacciamento, di collaudo e di manutenzione delle apparecchiature terminali di cui all’articolo 1, comma 1, lettera a), numero 1), realizzando l’allacciamento dei terminali di telecomunicazione all’interfaccia della rete pubblica, in assenza del titolo abilitativo di cui al presente articolo, è assoggettato alla sanzione amministrativa pecuniaria da 15.000 euro a 150.000 euro, da stabilirsi in equo rapporto alla gravità del fatto.

    Scegliete voi se ridere o piangere.

     

    CONSIDERAZIONE:

    Boston Tea Party - Wikipedia.

    Il cosiddetto "Boston Tea Party" (lett. "Ricevimento del tè di Boston") fu un atto di protesta da parte dei coloni americani diretta contro il governo britannico, in relazione alle loro recenti leggi sulla tassazione, con la quale vennero distrutte molte ceste di tè. Si svolse giovedì 16 dicembre 1773 nel porto di Boston e fu vista da molti come la scintilla che fece iniziare la rivoluzione americana.

    Dato l'andamento della nostra stuazione economica,



    noi avremmo bisogno di qualcosa di piu' ricostituente, un Brodo party.
    Le scelte corporative di tutela dei bei tempi andati rispetto all'apertura al futuro, per piccole che siano, sono una goccia che carsicamente erode spazi di opportunità.
    Ma, alla fine, se non favoriamo la crescita economica chi pagherà debito e welfare state ?
     

    Ricerca fotografie per java

    Nessuna fotografia trovata.


    Blog ON-LINE dal 01/06/2007 
    Sono state qui' 4371 persone
    Sono state viste 6648 pagine
    Oggi ho ricevuto 0 visite
    Ieri ho ricevuto 0 visite
     
    Locations of visitors to this page
     
    Add to Technorati Favorites

    Ci sono 411 persone collegate

    < luglio 2017 >
    L
    M
    M
    G
    V
    S
    D
         
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
               

    Cerca per parola chiave
     

    Titolo
    Blogosfera (11)
    Eventi (12)
    Films (2)
    Gossip Corner (4)
    Informatica (51)
    Lo sapevi che (49)
    Personali (24)
    Politica (39)
    Racconti (16)
    Recensioni (2)
    Societa' (6)
    societŕ (11)
    Spazio DIL (2)
    Sport (8)
    Tecnologia (21)
    Top 5 (3)
    Vendesi (4)

    Gli interventi piů cliccati

    Ultimi commenti:
    (assistance.financia...
    20/07/2017 @ 16:16:49
    Di Oscar
    (assistance.financia...
    20/07/2017 @ 16:11:46
    Di Email : assistance.financiaire55@gmail.com
    Incredibile ma vero!...
    20/07/2017 @ 15:12:20
    Di Mr George Morris

    Titolo
    Eventi (16)
    Header (7)
    Informatica (3)
    Personali (23)
    Sport (14)
    Vendesi (7)

    Le fotografie piů cliccate

    Titolo
    Ti piace questo blog?

     Fantastico!
     Carino...
     Così e così
     Bleah!

    Titolo

    Listening
    Vasco
    Ligabua
    Doors
    Caparezza
    U2
    Rolling Stones
    Beatles

    Reading
    Franceschi - Fiabe della Bouna Notte
    Ken Follett

    Watching
    Diamanti di Sangue - Blood Diamond
    L'ombra del potere - The Good Shepherd



    Errore Flickr RSS.




    21/07/2017 @ 04:46:06
    script eseguito in 828 ms


    Visitor locations