Categoria: Codice sorgente

  • Come creare un orto da balcone con irrigazione automatizzata con l’intelligenza artificiale

    hard quite expensive 5 days

    In questo tutorial spiegherò come creare un orto da balcone dall’assemblaggio dei materiali all’aggiunta dell’intelligenza artificiale per l’irrigazione automatizzata.

    vantaggi irrigazione attraverso AI

    • Si autoadatta al microclima esterno: se ci sono giornate di sole e/o ventilate, il sistema fa irrigazione con più frequenza. Altrimenti riduce la frequenza di irrigazione “autoimparando” dall’ambiente esterno.
    • Riduzione sprechi d’acqua con irrigazione più efficiente.
    • Si autoadatta alle apparacchiature elettroniche utilizzate riducendo gli errori legati alle approssimazioni dei sensori (chiunque può scegliere il sensore che meglio crede)
    (altro…)
  • Flessibilità dei mercati ed adattamento delle piattaforme informatiche

    Se vi occupate dell’IT in un’azienda, molto probabilmente vi sarà capitato di avere a che fare con i continui adattamenti dei sistemi informatici alla flessibilità di mercato.

    Vi sarà capitato di avviare un progetto e, dopo un anno, rendersi conto che le esigenze aziendali erano già cambiate. In questo caso sarete corsi ai ripari cercando di sistemare il progetto già in essere mettendo delle pezze o facendo sviluppare “nuove features”.

    Proprio per questo motivo, in tantissime occasioni, sul blog abbiamo spiegato l’importanza di adottare software altamente flessibile.

    Per flessibilità di un software si intende appunto la facilità di adattamento ai cambiamenti interni ed esterni all’azienda.

    Con il tempo, molti sistemi gestionali, si sono attrezzati in modo da poter installare plugin (addon) completamente integrati con il software stesso ed in grado di rispondere a qualsiasi esigenza.

    Questa soluzione permette di non intaccare il “cuore” del gestionale (si deve sapere che ogni modifica di codice al sistema originale può comportare malfunzionamenti al sistema stesso ed occorre necessariamente fare ulteriori e costosi test) e di semplificare notevolmente lo sviluppo del plugin concentrandosi soltanto sulle esigenze da risolvere.

    Inoltre è probabile che, prima della vostra azienda, già un’altra realtà aziendale aveva bisogno di risolvere lo stesso tipo di esigenza. Sarà quindi facile trovare un plugin già costruito che risolva quel particolare problema.

    Questa soluzione, come avrete capito, farà risparmiare tempo e soldi di sviluppo.

    E’ una soluzione che vale la pena adottare soltanto se il gestionale in questione adotta una politica di espansione a plugin, presenta molte verticalizzazioni ed è utilizzato da un numero sufficientemente grande di aziende.

    Nel caso in cui non si è deciso di avviare un progetto informatico con strumenti flessibili allora molto probabilmente la vostra azienda sarà invasa da software eterogeneo con conseguente aumento dei costi di manutenzione ed aumento di ridondanza di dati spesso difficili da sincronizzare.

    In questi casi si ha la percezione di rispondere in tempi brevi e costi ridotti alle continue richieste di mercato. In realtà, con il tempo, se non si adottano adeguate politiche di integrazione tra i sistemi, i costi di gestione aumenteranno esponenzialmente.

  • TimeMap, prova anche tu la mappa storica per ogni itinerario turistico

    Se sei una struttura alberghiera, un agriturismo, un ostello o hai una qualsiasi attività che ha a che fare con il turismo allora copia e incolla gratuitamente questo codice nelle tue pagine html.

    <iframe width="700" height="790" src="http://www.informaticagestionale.it/KnowMap/mappe/timeMap.html?lat=42.718507&lon=12.110745" frameborder="0" allowfullscreen></iframe>

    (ATTENZIONE: se inserite il codice nelle vostre pagine HTML informate i lettori che vengono installati cookie di terse parti di google analytics secondo queste policy)
    la pagina originale http://www.informaticagestionale.it/KnowMap/mappe/timeMap.html?lat=42.718507&lon=12.110745 possiede il corretto banner informativo

     

    guarda le istruzioni

    ATTENZIONE: per cambiare il luogo di riferimento della mappa basta inserire la nuova latitudine e longitudine direttamente sul codice a questa altezza “…lat=42.718507&lon=12.110745“.

    E’ possibile ottenere la latitudine e la longitudine di una città direttamente su questo sito web

    http://www.coordinate-gps.it/

    inserire il nome del paese e poi cliccare su “trova coordinate GPS”.

    Una volta copiato il codice, ogni utente potrà visualizzare l’edificio storico filtrando in base ad una determinata epoca: antico, medioevo, moderno, contemporaneo.

     

     

    Buon divertimento!

  • la mappa “storica” interattiva di InformaticaGestionale.it

    InformaticaGestionale.it ha messo a punto una nuova mappa interattiva che attrae potenziali clienti se posizionata in maniera corretta all’interno delle vostre pagine web. E’ anche un modo per sfruttare le enormi risorse storiche architetturali del nostro paese.

    E’ una mappa che sfrutta una tecnologia avanzata per l’acquisizione dei dati sparsi nella rete.

    Sulla base della posizione dell’ utente la mappa visualizzerà tutti i luoghi interessanti più vicini alla sua posizione. Il cliente può scegliere se visualizzare di default tutti i luoghi oppure selezionare una determinata epoca storica: in questo caso la mappa visualizzerà soltanto i luoghi che hanno avuto almeno un evento interessante durante l’epoca selezionata.

    L’utente può anche “giocare” mettendo altre posizioni oppure visualizzando la mappa in modalità “fullscreen“.

    Un buon campo di utilizzo può essere su pagine web relative a turismo (alberghi, consorzi, agriturismo, comuni, province, regioni) o alla formazione :

     

    Prova anche tu!


    Per questa mappa interattiva (con possibilità di inserire una città e la selezione dell’epoca) copia e incolla il codice sotto sulle tue pagine html

    <iframe width="516" height="790" src="http://www.informaticagestionale.it/timeMap/examples/timeMap.html" frameborder="0" allowfullscreen></iframe>

    mappa senza menù

    copia e incolla il codice sottostante.

    <iframe width="516" height="710" src="http://www.informaticagestionale.it/timeMap/examples/timeMapCut.html" frameborder="0" allowfullscreen></iframe>

    Possiamo personalizzare la mappa in modo da “fissarla” su una determinata posizione ad un prezzo molto contenuto. Per informazioni contattateci.

  • Creazione di una semplice web application utilizzando maven, jpa2, spring, struts2, mysql (parte 4)

    Definito il nostro modello User, vogliamo creare alcuni servizi su di esso. In particolare vogliamo dare la possibilità al sistema di creare nuovi utenti, eliminarli, aggiornarli e prelevarli tutti in una lista.

    Per fare questo creeremo un’interfaccia UserService.java.

    [codebox 1]

    L’interfaccia sarà poi implementata dalla classe UserServiceImpl.java

    [codebox 2]

    Adesso creiamo una classe SampleAction richiamata da struts in modo da scrivere un minimo di logica di business.

    (altro…)

  • Creazione di una semplice web application utilizzando maven, jpa2, spring, struts2, mysql (parte 3)

    Ora possiamo iniziare a costruire la nostra applicazione.

    Per prima cosa implementiamo il modello. Il nostro dominio in questo caso è l’utente e sarà rappresentato dalla classe User.java. Questa classe rappresenterà il nostro utente nel sistema. Verranno quindi implementati i metodi setter/getter che modificheranno le proprietà id, username, password

    User.java

    [codebox 1]

    A questo punto possiamo implementare gli oggetti DAO per l’accesso al DB.

    Per fare questo implementiamo prima un’interfaccia generica che espone i metodi principali di accesso al DB (delete, getAll, getById,save) e poi una classe astratta che esegue un’implementazione di default della classe GenericDao. Ci preoccuperemo di implementare l’interfaccia in un secondo momento.

    GenericDao.java

    [codebox 2]

    BaseJpaDao.java

    [codebox 3]

    (altro…)

  • Creazione di una semplice web application utilizzando maven, jpa2, spring, struts2, mysql (parte 2)

    una volta configurato correttamente il file POM.xml possiamo iniziare la configurazione di tutti gli altri file necessari per il buon funzionamento della nostra applicazione web

    Configurazione web.xml

    sotto la cartella WEB-INF inserire il seguente file web.xml

    [codebox 1]

    (altro…)

  • Creazione di una semplice web application utilizzando maven, jpa2, spring, struts2, mysql

    medium economic 1 day

    In questo tutorial verrà spiegato come sviluppare una semplice web application utilizzando tecnologie come maven, jpa2, struts2, spring e mysql.

    Ambiente di lavoro:

    • MySQL Server
    • Eclipse + da “Eclipse Market Place”  “Maven Integration for Eclipse”
    • JDK 1.7

    Creazione tabella mysql:

    Prima di iniziare tutto il lavoro creiamo una tabella che chiameremo user

    [codebox 1]

     

    Creazione di un nuovo progetto Maven su Eclipse:

    – creiamo un nuovo progetto “maven” su eclipse

    – impostiamo  maven-archetypes-webapp

    – impostiamo grupId e artifactId come in figura



    Struttura progetto e configurazione pom.xml

    Una volta generato il progetto maven, Eclipse ci propone tutto il progetto come in figura

     Il prossimo passo sarà quello di configurare il file pom.xml in modo da personalizzare il building e includere le tecnologie che ci interessano.

    In particolare includiamo le dipendenze per: struts2, spring, mysql connector, servlet e jsp, hibernate, log4j e junit.

    Dopo di che impostiamo anche il <build> in modo da utilizzare alcuni plugin tra cui il web server jetty.

    POM.XML

    [codebox 2]

  • Sviluppo nuove customizzazioni su Adempiere, massima flessibilità e semplicità

    Adempiere mette a disposizione degli sviluppatori alcuni tool che semplificano il processo di implementazione.

    Se si vuole sviluppare una nuova feature la prima cosa da fare è modellizzare il database e creare lo strato di persistenza model all’interno del codice sorgente.

    Come possiamo vedere dall’implementazione del configuratore di processo sono state create le classi model con i metodi modifiers getter e setter per la gestione dei dati. Queste classi rispecchiano il modello dati esistente sul database.

    Ad esempio CP_ConfProc.java corrisponde alla tabella cp_confproc sul database, CP_ProcessFlow.java corrisponde alla tabella CP_ProcessFlow e così via.

    Adempiere mette a disposizione degli sviluppatori alcuni strumenti che rendono più semplice e controllato lo sviluppo della parte model dell’applicazione. Basta quindi “costruire” il database della customizzazione (ricordarsi lo standard di implementazione delle tabelle: inserire il prefisso che ricoda il tipo di customizzazione e le colonne che devono essere obbligatoriamente presenti in ogni tabella).

    Dal database è possibile “costruire” il “modello” dell’applicazione grazie ad una classe utility: /src/org/adempoiere/util/GenerateModel.java

    Questa funzione permette la costruzione di tutte le classi che hanno come prefisso X_ e le interfaccie con prefisso I_ con i relativi getter e setter associati rispettivamente alla tabella ed alle colonne della customizzazione.

    Le classi X_CP_ConfProc.java e I_CP_ConfProc.java sono autogenerate dal GenerateModel.

    sezione del GenerateModel.java

    [codebox 1]