lunedì 11 novembre 2024

FT: Boston la bomboniera

 

Boston

Lo scorso anno proprio in questo giorno, 11 novembre, stavo visitando alcuni parchi di Boston, tra cui il famoso Boston Common pubblic Park, il parco pubblico più antico degli Stati Uniti e che nasconde una bella storia.

Boston città

Una bellissima esperienza che porterò con me, una città che ritengo tra le più belle al mondo e la considero la bomboniera degli Stati Uniti, tappa obbligatoria per chi si reca negli Stati Uniti.

Case tipiche dei film americani, in legno e su due livelli (piano stradale e primo piano) ma soprattutto ben curata, linee geometriche e parchi favolosi.

Non per niente, la città di Boston a il più alto livello di qualità di vita, ed è posizionata sempre nelle prime posizioni di ogni classifica (sport, scuole, formazione, parchi, attività, ospedali, qualità di vita, tasse, etc), confermando che è una città da prendere esempio.

Questo post saranno a memoria di ricordo per me, ma anche di utilità per chi deve affrontare un viaggio negli Stati Uniti, infatti proprio ieri ho pubblicato un articolo con informazioni utili oltre che l'esperienza vissuta.

Una città che offre anche una buona cucina e dove l'aragosta è il simbolo della città e tra i piatti forte di Boston.

Visto il costo della spesa e soprattutto la lontananza, consiglio comunque una visita di almeno 20 giorni, gli Stati Uniti vanno visti con calma e soprattutto vissuti, Boston per quanto piccola sia, c'è tantissimo da vedere. 

La zona in cui alloggiavo ed in cui ho vissuto questi giorni indimenticabili è Roxburry, un'area molto ben curata ma soprattutto collegata con linea di autobus e metropolitana.


Boston
Le aree verdi di Boston dotate di attrezzatura sportiva






Alcune casette

I contenitori per la popò dei cani per tenere la città pulita





Gli Spostamenti:

In città ci si sposta benissimo con i vari mezzi pubblici, almeno per chi è abituato ai mezzi pubblici di Roma, la metropolitana, anzi le varie e tante linee della metropolitana raggiungono tanti luoghi, non solo quelli più importanti, ma anche le periferie, un sistema molto esteso anche il trasporto pubblico di superficie.



Una particolarità di cui ho avuto piacere di utilizzare è il viaggio verso New York, la città della mela. E' possibile raggiungere la grande mela, con la linea Peter Pan https://peterpanbus.com/ che partendo da Boston https://peterpanbus.com/locations/massachusetts/boston-south-station/ si raggiungi in maniera rapida (circa 4 ore) ed economia, la città dei grattacieli, arrivando appunto a Manhattan. 

Una linea che offre anche un percorso quasi tutto interamente nella natura e con personale molto gentile e disponibile. Il personale parla anche spagnolo oltre all'inglese.

La città inoltre è molto ben fornita di piste ciclabili, che coprono gran parte della città, e comunque in prossimità di dove si vive, si trova la presenza di una ciclabile. 

piste ciclabili di Boston
Pista bike lane a Boston

piste ciclabili di Boston
Pista ciclabile a Boston

piste ciclabili di Boston
Pista ciclo pedonale a Boston





Cosa vedere a Boston:

A Boston c'è tantissimo da vedere, il fatto già di camminare in un luogo speciale, con case tipiche dei film americane, percorsi perdonali circondati dai due lati da alberi e verde ed accompagnati dagli scoiattoli la dice lunga. 

Anche in questo caso fatevi un programma in base ai giorni in cui rimanete, metto in ordine di visite prioritarie, con importanza.

A) Acquario di Boston (entrata a pagamento)

B) Public common Garden  (gratuito, il parco pubblico più antico (il primo) degli USA)

C) Il museo di scienza (entrata a pagamento) 

D) Franklin Park (gratuito)

E) Vari parchi, che sono molto ben attrezzati (gratuiti)

F) Biblioteca pubblica (gratuito) 

G) L'area università, come MIT e Harward

H) Quincy Market (gratuito) il mercato con tanti generi alimentari, si trova vicino all'acquario di Boston.


Boston pubblic garden
Il Boston Pubblic Garden

Boston Acquario
Boston acquario



Alcune considerazioni:

Come già illustrato in un precedente articolo, quello relativo a Stati Uniti e New York, (qui ) consiglio di preparare bene il viaggio.

E' possibile portare dei medicinali per uso proprio è consentito, e si consiglia di farsi rilasciare dal proprio medico di famiglia una dichiarazione nel quale si dichiara che le medicinali sono strettamente necessari indicando i vari nomi.

Consiglio di portare un pò di contante perchè alcune schede (qualsiasi tipologia) per i pagamenti non potrebbe funzionare, e come nel mio caso avere problemi.

Per quanto riguarda le telefonate, consiglio di acquistare sul posto una  SIM, T-Mobile è valida, ma per alcuni telefoni (non recenti) potrebbe non funzionare, quindi consiglio la AT&T al quale mi sono trovato molto bene e con 50 dollari, avevo tutto illimitato, con una connessione dati molto potente.



Conclusioni:

Una bellissima esperienza che mi ha fatto maturare sotto l'aspetto umano e conoscitivo di una grande nazione, che per quanto qualcuno ne parli male o altro, mi ha fatto scoprire molti aspetti e soprattutto di quanto falso 





Riferimenti utili:

Consolato italiano a Boston

https://consboston.esteri.it/it/

Sito istituzionale di Boston

https://www.boston.gov/

Esta - Visto

https://esta.cbp.dhs.gov/


Bus Boston  - New York Peter Pan

https://peterpanbus.com/

Public common Garden

https://www.boston.gov/parks/public-garden

Sito per sapere i divieti e limitazioni degli oggetti da portare in aereo

https://www.application-esta.us/faq/articoli-vari/

Trasporto pubblico di Boston

https://www.mbta.com/

Mappe trasporto pubblico di Boston

https://www.mbta.com/maps

Franklin park 

https://www.boston.gov/parks/franklin-park

Informazioni per portare i medicinali

https://help.cbp.gov/s/article/Article-777?language=en_US#:~:text=If%20you%E2%80%99re%20a%20foreign%20national%20traveling%20to%20the,you%20may%20have%20additional%20medication%20mail%20to%20you.

Informazioni per portare i regali

https://www.cbp.gov/travel/us-citizens/know-before-you-go/shopping-abroad-duty-free-gifts-household-items#:~:text=To%20be%20duty%20free%2C%20each%20item%20may%20not,duty%20may%20be%20assessed%20by%20the%20parcel%20carrier














domenica 10 novembre 2024

TypeScript calcolare la radice quadrata di un numero tramite il metodo sqrt della classe Math

Nel linguaggio TypeScript, possiamo utilizzare il metodo Sqrt della classe Math per calcolare la radice quadrata di un numero.
Di seguito si riporta il frammento di codice di tale utilizzo.


TypeScript:
//Restituisce 3
console.log(Math.sqrt(9));

FT: viaggiare in America, negli Stati Uniti consigli ed informazioni utili






Un fuori tema bellissimo e che porterò con me un bellissimo ricordo. Lo scorso anno, proprio in questo giorno, ho avuto il piacere di viaggiare in America, i famosi Stati Uniti D'America, come spesso si dice e si sente.
Un viaggio importante, perchè girando per anni in Europa ed Italia, oltre oceano non sono stato, ma soprattutto di vivere circa un mese a contatto con le persone di alcune città.
In questo fuori tema, oltre a ricordare la bellissima esperienza, anche quella di dare qualche suggerimento, informazione utile che mi potrà tornare utile in futuro ed altro.

L'America è bella, ma anche alcune città italiane, ed Europee non sono di meno, ma gli Stati Uniti, hanno un qualcosa in più, oltre allo sviluppo, anche l'accoglienza e soprattutto quella di dare a tutti la possibilità di realizzarsi, ciò che non si vede in tante città Europee ed italiane. Naturalmente anche l'Italia, come altre città hanno un qualcosa in più, il sistema sanitario per esempio, oppure il cibo, insomma alla fine ci sono i pro e contro come in ogni cosa.

Ospite dai parenti, girando a piedi varie città americane della costa est, in particolare, Boston,  New York, New Jersey ed Altatic City. 

Le informazioni.

Se dovete affrontare il viaggio negli USA, sia per lavoro e sia per turismo, vivetelo con la voglia di scoprire un continente, un paese, ma soprattutto usi e costumi di un popolo, e non quello di fare i fichetti con la foto in un monumento per dire "Io sono stato qui", no, se dovete fare così, meglio allora non viaggiare (vale per tutte le città), viaggiate invece per conoscere, per voi stessi e per una vostra crescita personale.
Prima di tutto scoprire di più sugli USA e sulle città in cui andrete, non fidatevi molto dei social, che a volte ho letto delle inesattezze e soprattutto cose non vere. Cercate di reperire informazioni genuine su internet, libri scritti da tecnici, documentari e da chi ha vissuto o viaggiato molto, questo è importante.
Il viaggio va preparato con largo anticipo, senza farsi prendere dallo stress, ma con la voglia di scoprire e crescere.
Certo l'inglese è importante, quindi se lo si conosce si parte molto bene, ma oggi con i vari traduttori o corsi online gratuiti si può fare il viaggio con facilità.


I documenti ed il necessario per viaggiare

Oltre al biglietto aereo (o nave a seconda di come si preferisce :-) ) e della sistemazione (amici, parenti, hotel, B&B)  occorrono alcuni documenti necessari ed obbligatori. 

Il primo documento che occorre è il passaporto, fondamentale e che la scadenza non è sotto ai 6 mesi, quindi controllate la scadenza e soprattutto fate il passaporto. La durata del passaporto (oggi elettronico) è di 10 anni.
Per informazioni sul passaporto, visitate il sito del ministero, qui https://www.poliziadistato.it/articolo/il-rilascio le informazioni necessarie e qui https://passaportonline.poliziadistato.it/ per prenotare l'appuntamento.

Una volta ottenuto il passaporto e sapere dove si va, occorre l'Esta, che dura 2 anni, l'esta è un certificato che autorizza ad entrare negli Stati Uniti, una specie di visto (molto più rapido) ma con richiesta semplificata. Questo però solo per chi ha il passaporto italiano, vedere la procedura per chi non ha nazionalità italiana e passaporto italiano, da seguire.
L'Esta si richiede dal seguente sito https://esta.cbp.dhs.gov/ ed è possibile sceglierlo anche in lingua italiana.
Consiglio di farlo due mesi prima della partenza, questo perchè se ci sono omonime o altri problemi si può andare in consolato o ambasciata (dipende da dove vi trovate) e risolvere la problematica.
Non è obbligatoria ma è fortemente richiesta l'assicurazione sanitaria, questo perchè gli ospedali negli USA sono privati, e quindi solo con assicurazione permettono di curare.
Rinunciare all'assicurazione si possono avere anche problemi di permanenza ed altro, quindi è una scelta che va fatta, anche perchè costa farsi assistere.
Il consiglio è quello di pagamento diretto da parte dell'assicurazione, senza tetto massimo (alcuni ospedali non accettano assicurazione con un tetto sul pagamento) . 
Consiglio l'assicurazione Allianz "GLOBY ROSSO PLUS" che nel momento in cui l'ho fatta, offriva tante opzioni, senza limiti di spesa, pagamento diretto ed immediato, rimborso per furto o perdita del bagaglio fino a 2000 euro (non si sa mai che perdete la valigia), ed altre interessanti opzioni.
E' quella più costosa, ma ha veramente tutto e si viaggia con tranquillità, il risparmio è minimo, ma la opzioni sono tante, quindi la consiglio. Il costo dipende dai giorni in cui state, un mese il prezzo è di circa 200 euro a persona, ma sentite la vostra agenzia di fiducia.


A questo punto, una volta ottenuto questi documenti, siete pronti per partire, n


I medicinali

Per chi necessita di medicine, è importante seguire scrupolosamente quanto indicato dai siti istituzionali, la prima cosa da fare è che se avete medicinali al quale dovete portare per varie necessità, vi dovete far fare un foglio dal vostro medico di famiglia che attesti la necessità delle medicine che avete necessarie.
Il documento deve indicare le medicine, il nominativo del medico di famiglia (firma e timbro) e l'assistito.
Fatene due copie, una da lasciare in valigia, qualora le medicine le portate in valigia, ed una a portata di mano.

Segnalo siti americani, ma in futuro non so se verranno aggiornati, quindi sentite l'Ambasciata italiana nella città in cui vi recate.


I regali

Si possono portare regali ai parenti o amici, purchè questi non hanno un valore che superi 200 euro, o comunque di alto pregio. 
Anche in questo caso è consigliabile sentire l'ambasciata italiana della città in cui vi state recando.


I Soldi ed i costi

Ho letto tante fake news, ossia cose inesatte, per esempio che non accettano contante e che è meglio la carta di credito, tutto sbagliato, anzi, come per alcune situazione, vedi il biglietto del treno per spostarsi da New Jersey a New York, hanno chiesto proprio il pagamento in contanti, quindi partire con i dollari.
C'è un tetto massimo per persona, consiglio di portare almeno 1000 dollari. 
Le carte di credito, alcune per esempio non le accettano, per esempio le prepagate negli hotel alcuni non funziona il deposito cauzionale, quindi anche in questo caso se avete diverse carte di credito e prepagate è cosa buona.
Si fa presente che l'euro non è una moneta forte nei confronti del dollari, quindi non vi illudete di fare grandi acquisti e soprattutto di spendere poco, purtroppo, essendo gli stipendi alti quelli americani (uno stipendio medio di Roma, di impiegato/operaio da 1300 - 1500 euro, a New York o Boston prendono circa 6000 - 8000 dollari .) si dovrà valutare una spesa di circa 200 dollari al giorno (compreso il mangiare).

L'abbigliamento è uguale o se non maggiore dell'Italia, ci sono alcuni centri commerciali, dove costa molto meno, o meglio ci sono offerte, ma anche qui, girano tante fake news dicendo che si risparmia, niente.

Calcolate che per le prepagate, ad ogni pagamento può esserci una percentuale di valuta, quindi a fine viaggio potete aver speso solo di commissioni bancarie per la carta di credito /prepagata anche 300 euro. In questo caso però chiedete alla vostra banca e che offerta vi possono fare.


Telefonia

Per la telefonia, è importante avere la connessione internet, per vari motivi (email, app, mappe, traduttore), ma anche per eventuali telefonate. Ho trovato AT & T https://www.att.com/ molto affidabile, e la sim idonea anche ad un vecchio telefono Samsung. Anche T-Mobile https://www.t-mobile.com/ non è male. Consiglio di acquistarla sul post, SIM fisica, ed in contatti (per evitare che magari vi mettono il rinnovo) .
Cosa importante, non andate senza una connessione telefonica e dati, e non credete a chi vi dice che ci sono wifi ovunque e gratuite, perchè, nel 2023 non era così. Quindi, se vi trovate in qualche posto dove non c'è l'attività con connessione internet vi potete trovare in difficoltà. Naturalmente non è vitale il telefono, ma se vi serve per tradurre o altro, o qualche pagamento con la vostra app diviene utile.
Inoltre collegandosi alle reti wifi gratuite (sia di un negozio e sia di un parco) rischiate problemi di sicurezza informatica (virus, lettura informazioni, etc), essendo il telefono un mezzo oggi che fate molte cose, evitate di collegarlo a connessioni dove potete avere problemi di sicurezza.

Con AT&T mi sono trovato molto bene, con 48 dollari, ho avuto illimitato connessione dati (che andava veloce )  e telefonia.
Ricordo che se avete più di un dispositivo, potete collegarlo ad uno che faccia da router.

Il Volo
Nonostante si scelga una compagnia dall'altra, il trasporto di certi oggetti è permesso nei limiti o sono vietati, è consigliabile accertarsi se ciò che si vuole portare è ammesso oppure no.  Qui https://www.application-esta.us/faq/articoli-vari/ si trovano alcune informazioni.


La costa Est, Boston, New York e New Jersey

Terminate le operazioni preliminari parliamo dei viaggi e delle città, quando si viaggia negli USA, consiglio di non andare per qualche giorno, i motivi sono tanti, il primo e visto la spesa del viaggio, e visto anche la distanza, consiglio di prendersi un periodo lungo (dai 20 giorni in poi) altrimenti non è consigliabile ed è da evitare in quanto non si gode il viaggio e soprattutto non si vede nulla (ci sono quelli che fanno le corse, ma alla fine non vedono e non so godono nulla, oltre a come accennato in precedenza, dev'essere un viaggio per conoscere i luoghi.



Boston è una città che va assolutamente vista, una tappa obbligatoria per chi si reca negli USA.




Da Boston inoltre partono diversi pullman con varie destinazioni tra cui New York. Per esperienza personale, consiglio Peter Pan https://peterpanbus.com/ che oltre ad essere economici, offrono qualità ed il personale parla due lingue (inglese e spagnolo) . Una linea che per raggiungere New York attraversa diversi parchi, un piacevole viaggio con arrivo al centro di New York, in particolare a Manhattan. 


Cosa vedere

C'è tanto da vedere, per questo è importante prendersi tanti giorni, ho visto persone in tre o quattro giorni visitare New York, e mi sono detto "Ma cosa avranno visto?" gente che dice di vedere Central Park in due ore, no, in questo modo non vedi proprio nulla, solo Central Park ci vuole una giornata intera, se davvero lo si vuole vedere e soprattutto vivere, altrimenti ciò che si fa e solo qualche foto e dire "Io sono stato qui", ma solo per dire, perchè di fatto non ha visto e non ha vissuto il luogo.

Statua della libertà con la relativa isola con tanto di museo sull'immigrazione dei primi 20 anni del 1900, con alcuni oggetti di quell'epoca, molte foto ed oggetti anche sui tanti italiani partiti in questo paese.

Come tappa successiva consiglio di visitare il più alto osservatorio di New York, il One World Observatory, che si trova vicinissimo al memoriale dei caduti delle torre gemelli. Due luoghi assolutamente da visitare e scoprire.

Sulla quinta strada e precisamente vicino a Central Park, si trova la cattedrale di San Patrizio, anche qui consiglio un tappa obbligatoria per chi visita New York, molto bella e soprattutto di grande impatto umano.

I parchi non sono tanti, ma tra questi Bryan Park è uno che merita di essere visitato.

Altra tappa è ponte di Brooklyn che merita senz'altro una foto, un ponte storico e che si trova vicino al One World Observatory, dedicare una giornata a questa zona, tra l'osservatorio, il memoriale delle torre gemelle ed il famoso ponte.

Timesquare è molto carina, un luogo che la sera inizia a vivere, tra trasgressione, luci, ed il suo folclore, ma non vi aspettate nulla di eccezionale, se non quella di un luogo cult che la gente ritiene come tappa, ma che in realtà sono i cartelloni pubblicitari i veri protagonisti. 




Alloggio

A New York è stata l'unica città dove siamo stati in hotel, e precisamente all'hotel Executive Hotel Le Soleil di New York situato a Manhattan, vicinissimo a Bryan Park. Un hotel molto ben gestito e con personale attento al cliente.




Conclusioni

Un viaggio bellissimo e che mi ha fatto molto maturare, un'esperienza molto bella ed indimenticabili che mi ha dato moltissimo e che non dimenticherò mai.
La città di Boston è una bomboniera che merita davvero di essere visitata, e che invito tutti di inserirla come città da vedere anche come primo viaggio negli States.
Su quanto si parlava degli Stati Uniti, mi sono dovuto ricredere o meglio ho compreso che le tante storie che si raccontavano non erano verde.






Riferimenti online:

Consolato italiano a Boston

Informazioni sui farmaci , per il viaggio e da portare

Informazioni per i pacchetti regali, doni da portare

Sito ufficiale per la richiesta dell'esta, eventualmente selezionare la lingua italiana


Bus Peter Pan da Boston a New York e viceversa, oltre a varie destinazioni


Alcune informazioni su alcuni prodotti che sono vietati e che si possono portare con limitazione:





sabato 9 novembre 2024

Download gioco BATTLE BEARS HEROES

 

BATTLE BEARS HEROES


Disponibile gratuitamente e senza limitazioni, il gioco Battle Bears Heroes per bambini,  di tipo sparatutto.

Un gioco con una grafica molto interessante e soprattutto di facile giocabilità.

Il gioco è per sistemi operativi Windows. Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/battle-bears-heroes-690879


Download icone gratuite

 



Dal seguente sito https://unblast.com/icons/ è possibile scaricare una serie di icone ed immagini di vario genere, gratuitamente e senza registrazione o email.

Le icone si possono usare per utilizzo personale o professionale, seguendo la licenza riportata nel sito.


venerdì 8 novembre 2024

Sito sulle tecniche di programmazione.

Il sito freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More offre una valida panoramica sulla programmazione dei vari linguaggi, tra i quali anche il linguaggio di programmazione C#.
Diversi gli autori ed i temi affrontati.
Per il linguaggio di programmazione C#, la categoria è la seguente C# - freeCodeCamp.org 

Che dirvi, buona lettura.


download Apex Legends: Bundle sblocco gratuito di Ash

 

apex egends season 23

Disponibile gratuitamente ed in lingua italiana il componente Apex Legends Bundle sblocco gratuito di Ash, da Epicgames fino al 14 novembre 2024.

Il componente è per giochi installati sul sistema operativo Windows.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/apex-legends-season-23-epic-content-offer-ecf761

TypeScript ottenere il valore minore di una lista di numeri tramite il metodo Min della classe Math

In TypeScript tramite la classe Math possiamo effettuare operazioni sui numeri, con il metodo "Min" è possibile ottenere il numero minimo di una serie di numeri.

Di seguito un esempio di codice di utilizzo del Min.

let numeroMinimo= Math.min(10, 50, 75, 27, 18, 6, 115);
console.log(numeroMinimo);  // Restituisce 6


giovedì 7 novembre 2024

TypeScript generare un numero casuale tra un minimo e massimo utilizzo del metodo random della classe Math

Nel linguaggio di programmazione TypeScript, il metodo "random" della classe Math, genera un numero causale tra un minimo ed un massimo.


Di seguito si riportano due esempi in cui si da un massimo, ed un altro  in cui si imposta un minimo ed un massimo

Esempio di un massimo (tra 1 e 4)

TypeScript.
// tra 1 e 4
console.log(Math.floor(Math.random()   * 4)+1);



Esempio tra un minimo (5) ed un massimo (9)

TypeScript:
// tra 5 e 9
console.log(Math.floor(Math.random() * ( 9 - 5 + 1) + 5 ));

Software gratuito peazip per comprimere e decomprimere file e cartelle

 


PeaZip, qui https://peazip.github.io/ il sito, è un software gratuito ed open source che permette la gestione degli archivi, in particolare di comprimere e decomprimere file e cartelle.

Il programma offre interessanti funzionalità ed è molto valido.

Per maggiori informazioni e download visitate il sito indicato.


mercoledì 6 novembre 2024

Download gioco gratuito Gran Saga

 


Disponibile gratuitamente e senza limitazioni, il gioco Gran Saga, riguardante il tema dei anime giapponesi.

Il gioco è per sistemi operativi Windows, ed è in lingua italiana.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/gran-saga-277ed7 

Elenco siti gratuiti per il trasferimento dei file

Di seguito si riporta un elenco di siti per il trasferimento dei file gratuito e senza richiedere email o registrazioni.




https://www.filemail.com/ - Italiano buono



https://anontransfer.com/  - Troppa pubblicità

martedì 5 novembre 2024

Creazione di moduli pdf con il programma gratuito onlyoffice

 

modulo pdf onlyoffice



Il programma gratuito OnlyOffice https://www.onlyoffice.com/it/ permette la creazione di file pdf e moduli con campi di tali file, da utilizzare in vari ambiti.

Dopo aver avviato il programma, tramite la voce "Modulo PDF" è possibile creare file pdf.


C# la gestione della scansione dei documenti con Naps2 e .Net 8

Si riporta un articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_csharp-la-gestione-della-scansione-dei-documenti-c_1878.aspx


In questo articolo vedremo come effettuare la scansione dei documenti, o meglio la gestione dello scanner per poter gestire le scansioni  dei vari documenti, tramite il linguaggio di programmazione C# ed il componente gratuito Naps2, che permette la gestione dello scanner ed OCR.
La versione del framework che useremo è il .Net 8, con l’ambiente di sviluppo Visual Studio 2022, in ambito di Windows Application.
Realizzeremo una semplice applicazione di tipo “Windows Forms”, con un pulsante ed un controllo per la visualizzazione dell’immagine della scansione effettuata, il tutto come mostrato in figura 1.


Figura 1 – La form con i vari controlli.

Creazione del progetto

Si crea un nuovo progetto in Visual Studio 2022 Community o versione successiva, selezionando tra i vari modelli quello “App Windows Forms”, dopo averlo selezionare fare click sul pulsante “Avanti” , impostare un nome e percorso del progetto di proprio interesse, e nella finestra successiva, selezionare l’ultima versione del framework, nel momento in cui stiamo scrivendo l’articolo la versione è la .Net 8. Fare click sul pulsante “Crea”.
A questo punto verrà creato un progetto di tipo Windows Forms, con una form, inserire un controllo di tipo “button”, impostando la proprietà “Name” con il valore “BtnScanner”, e la proprietà “Text” con il valore “Scansione” . Questo pulsante permetterà di effettuare la scansione del documento nello scanner. Aggiungere alla form, un controllo di tipo “PictureBox” impostando la proprietà “Name” con il valore “pctImmagine”, la form sarà come quella riportata in figura 1.
Terminata la parte della predisposizione dei controlli, dobbiamo aggiungere tramite Nuget, la libreria “Naps2”, che tramite le varie classi ci permetterà di effettuare la scansione dei documenti, aggiungere il riferimento a Linq.Async per le operazioni asincrone di “Ling”, il tutto come riportato in figura 2.



Figura 2 – I riferimenti a Naps2 e Linq Async

Stesura del codice

Terminata la creazione del progetto e dopo aver aggiunto le librerie per la gestione dello scanner, non resta che scrivere il codice  per effettuare la scansione.
Passiamo in visualizzazione codice, ed in alto sopra ad ogni dichiarazione dobbiamo inserire lo spazio dei nomi per l’utilizzo delle varie classi.
In alto inseriamo gli spazio dei nomi delle librerie.
Di seguito si riporta il frammento di codice delle suddette operazioni.

C#

using NAPS2.Images;

using NAPS2.Pdf;

using NAPS2.Scan;

using NAPS2.Images.Gdi;



Continuando a rimanere in modalità codice, nella parte che riguarda la classe form, si crea una funzione di tipo “Asincona” la quale sarà richiamata dal pulsante.
Questa funzione effettuerà la scansione impostando il primo scanner disponibile e salva nel percorso dove viene eseguito l’applicativo, un file immagine riguardante la scansione.
La scansione è asincrona in modo che attende la fine della scansione per concludere le varie operazioni.
Tramite la classe scanController viene eseguita la scansione con il metodo “Scan”, passando alcune impostazioni.
Di seguito si riporta il frammento di codice delle suddette operazioni.




C#

private async Task ScansioneAsync ()

{

    try

    {

        //Creo l'oggetto per la scansione

        using var scanningContext = new ScanningContext( new GdiImageContext());

        var controllerScan = new ScanController(scanningContext);

 

        //Rilevo i dispositivi di tipo scanner disponibili

        var dispositivi = await controllerScan.GetDeviceList();

 

        //Configuro le varie impostazioni con il dispositivo scanner disponibile

        var opzioni = new ScanOptions

        {

            Device = dispositivi.First(),

            PaperSource = PaperSource.Auto,

            PageSize = PageSize.A4,

                    

            Dpi = 300

        };

 

        //Salvo la scansione in un file immagine

               

        await foreach (var image in controllerScan.Scan(opzioni))

        {

            image.Save( "Scansione.jpg");

        }

        //Visualizzo a video l'immagine

        pctImmagine.Image = Image.FromFile(Environment.CurrentDirectory + "\\Scansione.jpg");

  

    }

    catch (Exception ex)

    {

        MessageBox.Show(ex.Message);

    }

 

 

}



Torniamo in visualizzazione grafica, e facciamo doppio click sul pulsante, in modo da passare in visualizzazione codice nell’evento click del controllo.
In questo evento verrà richiamata la funzione appena creata.
Di seguito si riporta il frammento di codice nel linguaggio C#.


C#

private async void BtnScanner_Click(object sender, EventArgs e)

 {

      await ScansioneAsync();

 }


Nel caso che invece si vuole salvare il file in formato pdf e non immagine, utilizzare il metodo “Export” della classe “PdfExporter” che permette di salvare in formato pdf.
Di seguito si riporta la funzione per salvare la scansione in un file formato “Pdf”  nella stessa cartella dove viene eseguito l’applicativo .


C#

private async Task ScansioneAsync ()

 {

     try

     {

         //Creo l'oggetto per la scansione

         using var scanningContext = new ScanningContext( new GdiImageContext());

         var controllerScan = new ScanController(scanningContext);

 

         //Rilevo i dispositivi di tipo scanner disponibili

         var dispositivi = await controllerScan.GetDeviceList();

 

         //Configuro le varie impostazioni con il dispositivo scanner disponibile

         var opzioni = new ScanOptions

         {

             Device = dispositivi.First(),

             PaperSource = PaperSource.Auto,

             PageSize = PageSize.A4,

                    

             Dpi = 300

         };

 

         //Salvo la scansione in un file pdf

         var pagina = await controllerScan.Scan(opzioni).ToListAsync();

         var filePdf = new PdfExporter(scanningContext);

         await filePdf.Export("Scansione.pdf", pagina);

     }

     catch (Exception ex)

     {

         MessageBox.Show(ex.Message);

     }

 

 

 }





Conclusioni

L’articolo ha voluto fornire al lettore l’utilizzo base della libreria “Naps2” che fornisce interessanti classi e funzionalità per la gestione dello scanner.
Sempre più lo scanner diviene elemento essenziale nei progetti gestionali, in particolare nella gestione documentale. La libreria offre funzionalità anche per utilizzi avanzati e per diversi sistemi operativi, non solo Windows.
Questa libreria semplifica la scrittura di codice dell’utilizzo dello scanner, e fornisce al programmatore funzionalità avanzate ed al tempo stesso facilità la stesura del codice.
Nel sito del progetto, visibile qui https://www.naps2.com/ è possibile scaricare un applicativo per effettuare la scansione ed operazioni OCR nel rilevare il testo nelle immagini.

lunedì 4 novembre 2024

TypeScript resettare una array di oggetti

Nel linguaggio TypeScript, per resettare un oggetto di tipo Array, tramite la proprietà Length impostato a 0, rendere l'array senza valori.

Di seguito un frammento di tale utilizzo.

TypeScript:
 this.nominativi.push(new Nominativo('Emanuele',
'Mattei', new Date('12/12/1974')));
    this.nominativi.push(new Nominativo('Luigi',
'Cristaldi', new Date('12/12/1984')));
    this.nominativi.push(new Nominativo('Luca',
'Rossi', new Date('12/12/1954')));
    this.nominativi.push(new Nominativo('Max',
'Bianchi', new Date('12/12/1994')));
    console.log( this.nominativi);
    let  nominativi2 : Nominativo[] = [];
    nominativi2.push( ...this.nominativi);
    this.nominativi.length = 0;
    console.log(nominativi2);



L'oggetto Nominativi sarà uguale a 0
L'oggetto Nominativi2 sarà uguale a 4

C# Introduzione alla creazione delle web api con .Net 8



In questo articolo vedremo come realizzare delle web api, ossia un progetto di tipo servizio, che espone dei metodi per la gestione delle operazioni CRUD sui dati.
Quado si realizzano applicazioni può capitare di realizzare dei servizi che trovandosi tra una fonte dati e l’applicativo vero e proprio (sito web, o applicazione per sistema operativo) permette la gestone delle informazioni tra le due parti.
Per chi sviluppa con la tecnologia .Net, sia con il linguaggio VB.Net e sia con il linguaggio C#, conoscerà i servizi web services, quelli soap di tipo ASMX, e successiva l’evoluzione con i servizi di tipo “Windows Comunication Foundation” WCF.
Negli ultimi anni ha preso sempre più interesse e grande utilizzo anche servizi di tipo Web api, servizi che restituiscono un json con il quale  una volta trasformati in oggetti possiamo gestire le informazioni.
In questo articolo vedremo come realizzarne uno con il linguaggio di programmazione C# e l’ambiente di sviluppo Visual Studio 2022 Community.
Creazione del progetto
Dopo aver aperto l’ambiente di sviluppo Visual Studio 2022 Community, selezionare tra i modelli di progetti quello con la dicitura “Api web Asp.Net Core” il tutto come mostrato in figura 1.


Figura 1 – Il modello dei progetti per la creazione dei servizi web api

Dopo aver selezionato il progetto facciamo click sul pulsante “Avanti” e successivamente impostiamo il nome del progetto, fatto ciò facciamo click sul pulsante “Avanti”, e nella finestra successiva selezioniamo l’ultima versione del Framework, nel momento in cui stiamo scrivendo è la 8, lasciando come spunta solo le caselle con la dicitura “Abilita supporto OpenAPI” e “Usa in controller”, il tutto come mostrato in figura 2.

Figura 2 – Le varie opzioni selezionate

Dopo aver impostato le varie opzioni facciamo click sul pulsante “Crea”.
A questo punto il progetto è stato creato.


Creazione della fonte dati

I servizi in tantissimi casi fanno uso di una base dati, nel nostro caso utilizzeremo il database Microsoft Sql Server, con un database denominato “Dati” ed una tabella denominata “Anagrafica”.
La tabella avrà un campo di tipo intero contatore chiave primaria denominata “IdAnagrafica” un campo di tipo “Varchar” di lunghezza 100 e denominata “Nome” ed un campo di tipo “VarChar” di lunghezza 100 denominata “Cognome”, il tutto come mostrato in figura 3.


Figura 3 – La tabella con la fonte dati.

Stesura del codice

In questa parte vedremo la stesura del codice, prima di utilizzare le varie classi, e la gestione di una fonte dati, dobbiamo aggiungere al progetto alcune librerie, pacchetti Nuget, che ci permettono di gestire una fonte dati e non solo.
Oltre al pacchetto che troveremo per default per la gestione di “Swagger” denominato “Swashbuckle.AspNetCore” dobbiamo aggiungere i vari componenti di Entity Framework.
Aggiungiamo i seguenti pacchetti:
“Microsoft.EntityFrameworkCore”
“Microsoft.EntityFrameworkCore.SqlServer”
“Microsoft.EntityFrameworkCore.Tools”
“Microsoft.EntityFrameworkCore.InMemory”
“Microsoft.VisualStudio.Web.CodeGeneration.Design”
Come riportato in figura 4, il progetto avrà le librerie appena aggiunte.



Figura 4 – Le librerie appena aggiunte

Terminata l’aggiunta dei pacchetti non resta che scrivere il codice.
Si crea una cartella denominata “Modelli” il quale ci sarà una classe che rappresenterà la tabella per la nostra fonte data.
Dopo aver creato la tabella “Modelli” facciamo click con il tasto destro sulla cartella e dal menu che viene visualizzato, selezioniamo “Aggiungi” e nel sottomenu selezioniamo “Classe”.
Diamo il nome di “Anagrafica” alla classe.
La classe avrà una proprietà di tipo int32, e due proprietà di tipo string, che avranno i nomi delle rispettive colonne della tabella.
Di seguito si riporta il frammento di codice completo della classe “Anagrafica”.


C#

   public class Anagrafica

   {

       [Key]

       public Int32 IdAnagrafica { get; set; }

       public string Nome { get; set; }

       public string Cognome { get; set; }

   }


Sempre nella cartella “Modelli” occorre creare una classe per la gestione del contesto, ossia quella classe che avrà il compito di effettuare il collegamento alla base dati.
Facciamo sempre tasto destro sulla cartella modelli e si crea una nuova classe denominata “DatiContesto”. 
Questa classe erediterà dal “DBcontext” e nell’evento della creazione del modello, andiamo ad impostare come chiave primaria il campo ”IdAnagrafica”.
Di seguito si riporta le suddette dichiarazioni nel linguaggio “C#”.

C#

 

public class DatiContesto : DbContext

{

    public DatiContesto(DbContextOptions<DatiContesto> opzioni) : base(opzioni) { }

    public DbSet<Anagrafica> Anagrafica { get; set; } = null!;

    protected override void OnModelCreating(ModelBuilder modelBuilder)

    {

          

        modelBuilder.Entity<Anagrafica>()

    .HasKey(ana => ana.IdAnagrafica);

 

 

 

 

 

    }

 

 

}

Il collegamento al database verrà inserito nella proprietà “ConnectionString” del file “appsettings.json”.
Facciamo click su tale file ed aggiungiamo il parametro per la connessione al database.
Di seguito si riporta il codice completo di tale file con l’aggiunta della stringa di connessione.

{

  "Logging": {

    "LogLevel": {

      "Default": "Information",

      "Microsoft.AspNetCore": "Warning"

    }

  },

  "ConnectionStrings": {

    "DefaultConnection": "Server=NomeServer;Initial Catalog=Dati;TrustServerCertificate=True;Trusted_Connection=True;"

  },

  "AllowedHosts": "*"

}

Naturalmente occorre modificare i dati di connessione, in particolare il nome del server, su quello che avete configurato.
Terminata di impostare la connessione al database, dobbiamo aggiungere nel file “Program” le istruzioni di codice per impostare la stringa di connessione alla classe di contesto. 
Sotto all’istruzione al metodo “AddControllers” aggiungiamo il riferimento alla stringa di connessione come riportato qui di seguito.

C#

var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");

builder.Services.AddDbContext<DatiContesto>(opt => opt.UseSqlServer(connectionString));

 Di seguito si riporta il codice completo del file Program, con le righe di codice aggiunte per la gestione della connessione al database.


using Microsoft.EntityFrameworkCore;

using WebArtWebApi.Modelli;

 

var builder = WebApplication.CreateBuilder(args);

 

// Add services to the container.

 

builder.Services.AddControllers();

var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");

builder.Services.AddDbContext<DatiContesto>(opt => opt.UseSqlServer(connectionString));

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle

builder.Services.AddEndpointsApiExplorer();

builder.Services.AddSwaggerGen();

 

var app = builder.Build();

 

// Configure the HTTP request pipeline.

if (app.Environment.IsDevelopment())

{

    app.UseSwagger();

    app.UseSwaggerUI();

}

 

app.UseAuthorization();

 

app.MapControllers();

 

app.Run();


Siamo giunti quasi alla fine del nostro articolo, tramite l’aggiunta di un controllo scaffold avremo per ogni operazione di tipo CRUD un determinato metodo.
Facciamo click con il tasto destro del mouse sulla cartella “Controllers” selezioniamo la voce “Aggiungi” e  nel sottomenu che viene aperto selezioniamo la voce “Nuovo elemento di Scaffolding”, nella finestra che viene aperta selezionare la voce “Controller API con azioni, che usa Entity Framework”, il tutto come mostrato in figura 5.


Figura 5. – La scelta dell’elemento

Nella finestra che viene visualizzata (figura 6) impostare per il campo “Classe del modello”  la classe di riferimento alla tabella creata in precedenza, nel nostro caso “Anagrafica”, nella casella “DbContext Class” selezioniamo la classe del contesto creata in precedenza, nel nostro caso era “DatiContesto”.




Figura 6 – La finestra per impostare la classe ed il contesto.

Dopo aver valorizzato i vari campi, non resta che fare click sul pulsante “Aggiungi” ed attendere qualche secondo per la creazione della classe con i vari metodi.

Ora non resta che testare il nostro progetto, eseguiamo l’applicativo, e per il metodo get con id finale, inseriamo un valore di cui siamo certi è presente un dato nel database.
Il risultato sarà come nell’immagine 7, nel quale sarà riportato il dato per quel determinato record.

Figura 7 – Il test su Swagger per il metodo di ottenere il singolo record.

Conclusioni

In ambiente Visual Studio 2022 e con la tecnologia .Net 8 diviene ancora più semplice e rapida la creazione dei servizi di tipo web api. Servizi nuovi che sono sempre più adottati in nuovi progetti. Un nuovo modo per gestire le informazioni anche a livello multipiattaforma, dando così la possibilità a più linguaggi di programmazione ed a più sistemi operativi di interagire con questo nuovo modo di rappresentare e gestire i dati.
L’articolo ha voluto fornire al lettore un’introduzione a questo nuovo scenario, anche se è possibile affrontare scenari molto più complessi.

domenica 3 novembre 2024

Strumento online per la verifica delle velocità e qualità di un sito web con il servizio gratuito di pagespeed

 

Sito pagespeed

Google ha sviluppato uno strumento online gratuito, che non necessita di email o account, per testare la velocità e la qualità di un sito web.

Il sito, disponibile in italiano all'indirizzo https://pagespeed.web.dev/?hl=it, consente di analizzare la velocità e altri aspetti tecnici di un sito web.

È un servizio pratico per i webmaster.


Download gioco Asphalt 8 - Car Racing Game

 


Disponibile gratuitamente e senza limitazioni il gioco di corsa automobilistica Car Racing Game per sistemi operativi Windows.

Il gioco offre una grafica molto ben curata ed ottima giocabilità ed è in lingua italiana.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/asphalt-8-car-racing-game-8740cf


Angular TypeScript ordinare un array di una classe dalla proprietà di tipo data

Il frammento di codice qui di seguito, illustra una tecnica nel linguaggio TypeScript, per effettuare l'ordinamento di un array di un oggetto in base ad una proprietà di tipo data in maniera crescere e decrescente.

TypeScript:
Classe:
export    class Nominativo{

public Nome: string;
public Cognome: string='';
public Eta: Date;

constructor(nome: string, cognome: string, eta: Date){
  this.Nome = nome;
  this.Cognome = cognome;
  this.Eta = eta;

}

}

TypeScript:
Esempio di ordinamento

ngOnInit(): void {

    this.nominativi.push(new Nominativo('Emanuele', 'Mattei', new Date('12/12/1974')));
    this.nominativi.push(new Nominativo('Luigi', 'Cristaldi', new Date('12/12/1984')));
    this.nominativi.push(new Nominativo('Luca', 'Rossi', new Date('12/12/1954')));
    this.nominativi.push(new Nominativo('Max', 'Bianchi', new Date('12/12/1994')));


    //Crescente
    this.nominativi = this.nominativi.sort((a,b)=>{ return new Date( a.Eta ).getTime()
- new Date( b.Eta ).getTime()});
    for (let index = 0; index <  this.nominativi.length; index++) {
      console.log(  this.nominativi[index]);

    }
    //Decrescente
    this.nominativi = this.nominativi.sort((a,b)=>{ return new Date( b.Eta ).getTime()
- new Date( a.Eta ).getTime()});
    for (let index = 0; index <  this.nominativi.length; index++) {
      console.log(  this.nominativi[index]);

    }

  }

sabato 2 novembre 2024

TypeScript string ritorno a capo

Nel caso che stiamo concatenando del testo e vogliamo riportare una stringa a capo, tramite il carattere speciale "\n", possiamo mettere in una stringa il testo a capo.
Di seguito un frammento di codice di tale utilizzo.


TypeScript:
let testo = "Questa è la prima frase. \n Questa è la seconda
frase.";
console.log(testo);

Download gioco Ghostwire: Tokyo


 

Un nuovo gioco per adolescenti ed adulti quello proposto da Epicgames, che permette la possibilità di giocare gratuitamente.

Il video gioco Ghostwire di tipo avventura è ambientato in Giappone, con il quale sconfiggere le varie forze soprannaturali.

Il gioco è in lingua italiana e per sistemi operativi, con una grafica molto ben fatta.

Fino al 7 novembre 2024 si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento, per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/ghostwire-tokyo 

C# aprire un file con il programma default associato al tipo di file

Il frammento di codice qui di seguito, in linguaggio C#, illustra una tecnica per aprire un file qualsiasi con il programma associato al tipo di file.

Aggiungere il seguente spazio dei nomi, in alto.

using System.Diagnostics;


C#
 string percorsoNomeFile = @"C:\varie\test.txt";
 Process.Start(new ProcessStartInfo(percorsoNomeFile) { UseShellExecute = true });

venerdì 1 novembre 2024

Download gioco Witch It

 


Witch It è un gioco con una grafica molto ben fatta adatto a ragazzi ed adulti.

Il gioco in lingua italiana è di tipo avventura e per sistemi operativi Windows.

Fino al 7 novembre si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/witch-it-3624a9

Sistema operativo gratuito Colibri

 


Colibri, è un sistema gratuito open source, molto ben fatto, ma che lo rende diverso e speciale da altri sistemi operativi per il poco spazio che richiede.

Un sistema operativo che si può usare anche nei floppy Disk.

Il sistema operativo, è possibile utilizzarlo su pc anche datati, e tra le varie lingue anche quella italiana.

Per maggiori ed informazioni visitate il sito ufficiale qui https://kolibrios.org/it/  mentre qui https://www.kolibrios.org/it/download.htm trovate la pagina di download. 

naps2 'IAsyncEnumerable' non contiene una definizione di 'ToListAsync' e non è stato trovato alcun metodo di estensione accessibile 'ToListAsync' che accetta un primo argomento di tipo 'IAsyncEnumerable'. Probabilmente manca una direttiva using o un riferimento all'assembly

Nel caso che si stanno utilizzando metodi e classi del componente "Nuget" di Naps", può capitare che visualizza l'errore " 'IAsyncEnumerable<ProcessedImage>' non contiene una definizione di 'ToListAsync' e non è stato trovato alcun metodo di estensione accessibile 'ToListAsync' che accetta un primo argomento di tipo 'IAsyncEnumerable<ProcessedImage>'. Probabilmente manca una direttiva using o un riferimento all'assembly" nell'utilizzare il metodo ".ToListAsync()".
Per risolvere tale problema aggiungere il riferimento nuget "System.Linq.Async" nel progetto.