Sei sulla pagina 1di 68
I ii RICONOSCIMENTO VOCALE? COSIE PERFETTO! ‘Addestriamo le nostre app a comprendere la voce del'utente riducendo a zero gli errori FRAUD DETECTION: COSI SI SCOPRONO LETRUFFE Impariamo le tecniche degli investigator informatici assoldati da banche e istitutifinanziari [DATABASE pCR Lo} RU 4 Le) tT] eee >] ILBOTESU RASPBERRY ERISPONDEVIA MAIL Installamo e controiamo un bot capace dlinteragire via maile comandare altri clspositivelettronict eUU NU U NUE UNEOOD Tecniche, strumenti e codice per ottimizzare il tuo sito e scalare le prime posizioni nelle pagine dei motori di ricerca MEGLIO DI EBAY, PRIMA DI AMAZON Con le nostre dritte fai decollare accessi e vendite del tuo e-commerce Prestashop _perC,Java,Python, PHP SERVIZIO CLIENT @ senisioclionti@edmasterit Ba 199.50.00.05' senses & 199.5055051'sieotsos 0 ee) V QUANDO 1 PIU 1 FA 100 Come sviluppatorie, pi in generale, come tecnici dell, si@ spesso chiamati a innovare, a cercare una idea che possa portare un miglioramento in senso lato della piattaforma su cui operiamo. Ma non é affidandosi all’estro del momento che possiamo fornire un costante con- tributo nel senso dell’innovazione. Il pit delle volte, innovare significa “unire i puntini”: associare due idee, due tecno- logie preesistenti e distanti, per produrre qualcosa di nuovo. Lo facciamo spesso anche nei progetti che presentiamo nelle pagine di ioProgrammo: questo mese, ad esempio, proviamo a ragio- nare sulle possibilita offerte da bot & raspberry py, ma sono innumerevoll i casi in cui abbiamo scelto di percorrere la strada delle associazioni tecnologiche per esplorare nuove possibilita e nuovi vantaggi. La chiara aspirazione “didat- tica” di ioProgrammo passa anche dal suggerire costantemente questo metodo per un approccio sistematico e concreto alla risoluzione dei problemi: al di la del singolo progetto in esame, ci auguriamo che proprio questo approccio metodolo- gico possa portare dei concreti vantaggi ailettori. In una bella intervista di tanti anni fa, a proposito della importanza della colonna sonora, uno dei mas: ‘mi registi della storia del cinema, Gillo Pontecorvo, sosteneva che in un film, mettere assieme musica e immagini, {a spesso molto pitt della mera somma delle parti: 1+ 1 non fa2, in quel caso, bensi 100. Ecco, per le tecnologie vale qualcosa di molto simile. Raffaele del Monaco Alfinizio di ogni articolo,troverete un simbolo che indicher} la presenza MEGLIO DI EBAY, PRIMA DI AMAZON CYS DB SUL CLOUD A PROVA DI IMPRONTA...... Creiamo un'applicazione per iPhone che salvi le note degli utenti sul cloud di Apple ‘ene permetta accesso solo attraverso Vautenticazionetramite impronta digitale Sa! SCEGLI IL CMS GIUSTO 20 Ecommerce? Blog? Scegi la piattaforma pit adatta alle tue necessita E-COMMERCE, PRIMI SU GOOGLE... 22 Quanto & importante farsi trovare?Inutle Fispondere! | nostri esperti ci spiegano come posizionare il sito realizato con PrestaShop nelle prime pagine dei motor di ricerca FRAUD DETECTION: ECCO LE TECNICHE ...... Panama Papers, scopriamo gi strumenti informaticiutilizzati in una delle pid famose Inchiesteinterazionali su occultamento di fondi Database a graf e machine learning per realizare un sistema di fraud detection 26 10 TRUCCHI PER SQL SERVER 2016 Un elenco delle novia pit interessant 36 Record-breaking Performance introdtte conn Sl Server 2016, con suggerimente snippet per sfutat al meglio, Una articol impede per chi usa i DB di casa Microsoft RICONOSCIMENTO VOCALE CON RASPBERRY ..... i 50 Realiziamo una appicazione in Python che on soltanto sfutta Sphinx per trascrvere le parole pronunciate dal utente, ma che riesce anche ad allenarsi in modo da adattare il riconoscimento alla paticolare voce del utente SST RASPBERRY PI E BOT TELEGRAI CHE FORZA! ... 58 Impariamo a far lavorare bot Telegram scr in Python su Raspberry Pi: scopriremo come azionare un led e come inviare mail Beis Allegati di ioProgrammo. software e il fibro in allegato alla rivsta 4a Tips & Trieks Une accolta i trucchi da tenee a portata di mouse Software I ontenuti del CD allegato aii Ow 2 oo ARDUINO TIENE IL TEMPO! Scopriama come gestie gli interupt con la scheda di prototipazione Open Source e ‘reare uno strumento fondamentale per ogni mmusicsta 70 CO Uae Raspberry Pj : Raspberry Pi ab conpan ss mane nace en eareee Atop sofware del mse Inditato dla redsione lve do unaconad cobain Una scout ecesone de content erie ua era ala redeione cont ite 6 / ioPr09 Guida al computer pil compatto del mondo Piccolo ed economico, Raspberry Pi éil sogno di qualunque appassionato di informatica e di robotica: basato su software open source, questo microcom- puter si alimenta come uno smartphone, & completamente programmabile e ha un costo alla portata di tutti. Questo manuale accompagna alla scoperta e all'utilizzo di Raspberry Pi in ap- plicazioni didattiche e hobbistiche prendendo come riferimento sia la prima generazione di Raspberry Pi nelle versioni Model Ax e Model Bs, sia il pit recente Raspberry Pi 2 Model B. Da qui si parte per installare e configurare il sistema operativo, scoprire i software per la progettazione e lo sviluppo e lavorare con I'imprescindibile porta GPIO. Il testo & arricchito da esempi progetti completi e si conclude con una parte dedicata all'uso di Raspberry Pi 2.con Windows 10 lof, ovvero la versione di Windows dedicata ai maker. ARGOMENTI TRATTATI (7 Panorarica dei model Raspbeny Pi ~ Intoduzione sofware -/ Collegamento di Raspbery Pi perlaprogremmazione almondo estemo /Impiego dei software “/ Installazione delsstemaoperatvoconNOO8S _perlaprogettzione -/ Configuazione del sistema Raspbian +7 Progett complet con Raspbery i 7 Utlzo della porta GPO Uso di Windows 10loT Core con Raspbery P12 Ta elec dl sotaxe Cente nal ctegorie la dimesione de softwares CO ‘lca qu pentale 0 salar ster si uo PC -Abbonament nfm! seu Aenean Ig ste at do ohogenne, nde gi aretat esp mwerloprogrammo.t Neuralink e Facebook punta Jon Musk, parlando con WaitButihy ha svelato quelli che sono pani della sua nuova aventura con Neuralink, di cui erano gia circolate le prime indiscrezioni, mentre Regina Dugan, sul paleo della conferenza che Facebook dedlica agl slluppator,F8, ha annunciato { piani del social network ineren- {1 yping-by-brain, la possiblita i scrivere col pensieo, che per- ‘metterebbe ad un essere umano di digiare un centinalo di parole per ‘minuto, utizzando solo la propria mente, ‘Basta una semplice visita al sito uffi- ale di Neuralink per avere un'idea deipiani della startup: lacompagnia ‘di Musk sta sviluppando delle inter- ‘acco banda larga in grado di connettereesser umant e computer, ed ‘alla ricerea di scienziati ed ingegneri fuori dal comune, anche senza cesperienza specifica nel settore delle neuroscienze. [Nel gid citato post di WaitButWhy, si parte dalle basi def'evoluzione ‘umana e del linguaggjo, fino adaffrontare il funzionamentodelcervello ‘umano, argomentando su come uma dovreble migliorare ata Jemetodo impreciso elento di comunteazione, quello voeale, pasando ‘ad un collegamento diretto tra cervello © computer; secondo Musk ‘questa cosa permetterebbe di sviluppare sia una sorta di telepatia tra esseri umani, che una relazione molto pit efficiente con le Intellgenze Astificial. Considerando tutti i fattori in campo, Musk erede che sia pos- sible, in uno spazio compreso fra gli e1 10 anni, che una persona in salute sia in grado di accogliere tun impianto di chip nel cervello (net ordine di misuradiun micron) che la fornisca di una nuova inter faccia neurale, Alla conferenza F8, di conto, Facebook ha annunciato ‘due progest basati sulla comunica- zione senza parole: scrivere col cer~ velo e sentize con Ia pelle, Durante Ja conferenza I'azienda ha annunciato di avere Fobbietivo di ereare un sistema di dialogosilenzioso capace di scrivere 100 parole in un ‘minuto, drettamente tramite il cervello umano, senza decodificare pensieri casual, ma tramite una selezione accurata di ci che Tuten te avra voglia di esprimere Secondo Regina Dugan, ex DARPA ed ex Google ora a capo del team Building 8 di Facebook, tutto id sari possibile nel giro di due anni, grazie a dei sensoriindossabilrealizatt su misura Nello stesso ambito,@ stata menzionata anche la possbilitt PTET Pe ae ae la ag (Cel Cee enced Pe ae ey ee) cee een rs) Seen cc Pe ee ee neo ‘un anno dalla richiesta da parte di yun- ‘dal e Samsung, Le Hyundat equipaggia- te con sensor, fotocamere e radar potran- Perth ers pee metterealla povail proprio software di ‘guida senza conducente. eer ns stero coreane prevede che sulle auto da eee nt ce Pere ey eet aCe es ee ee en per lavorare a teenologie per auto a guida ‘autonoma, Questa Ce ee en en Sera ene ert eee 8 / ioProgrammo Penne cer eats Set eters Cer een Ror co Pe an Ca ego aa eee ee eee tena ny Pee ets es Ce re ee foe ce | sviluppi della tecnologia Samsung si sa etn ee oot ec ee ee ee Soe a ees ORO ey Cupertino, in California, uiltzzando una Peer rt Ceca ae een ee ey Pee ea ee ee hutp:fmwa-loprogrammo.it no sulle interfacce neural dl costal hardware e software in grado di trasmettere il Kinguaggio tramite fa pelle. In un artcolo pubblicato su MIT Technology Review si sono analizzati i piant di entrambe le aziende, senza nascondere partcolare scetiismo sul tempi indicat da Musk ¢ Zuckerberg, pur facendo notare come sareble ingiustoasserre che nessuna tecnologia futura possa rendere possibill queste idee. Si fa Inolte notare come A gadget di cul parla Facebook sarebbe ester al eran, da dove & ‘molto pit complicatoottenere una corotalettura cerebral temente dea sarebbe quella dt iradiare foot attraverso il cranio ed ‘osservame il ritorno, in quanto & possibile osservare attvth neurale ‘misurando il modo in cu le cellule riflettono la he. Nel suo discorso Dugan ha ctato il lavoro di Krishna Shenoy, professore di Stanford parte del team che riuscito ad ottenere quest anno un record dsexit- ‘ura col cervello di otto parole in un minuto, ma nelfarticolo si sot tolinea come questo risultato sia figio di una decina di annt distor, impiantando clettrodi all'nterno del cervello di volontariaffet da paralisl Appare, dunque, impro- Dabile che Facebook resca ad ote nere risultati enormemente supe: rior in soli due anni, Per quanto riguarda Neuralin, la stessaanalist »paren- su MIT Technology Review segnala enorme differenza fra fatale ‘modo diregistrare ative cerebralee il futuro in cul Musk crede, alte a segnalare come Musk non abbia assolutamente aécer ‘pensa di pote ottenere la comunicazione telepaticatramite impiant cerebral. Peraltr un impianto cerebrale @ un'operazione di neuro: chirurgie, perprovare il suo funzionamento, sono necessari tutta una serie di esperimenti che richiedono anni, a partre da top e seimmie. Pertanto, anche nel caso di Neuralink, permanelo scetticismo riguardo alle tempistche: questo processorichiederebibe enormi prove di sicu- +ezza, dato che ogni volta che si apre una testa umana, si mete la vita del proprietario profondamente a rschio. La simbiosi fra macchine e ‘computer non & una finzione, ci sono stat effetivi gross pass avant nel alutare soggett paralizat a muovere arti robotic ed altri progres- si. idea di Musk & che il cervello NE osc3 incegratsi con Mntligenca Artifielale in modi che neanche ppossiamo immaginare, come se fossero accessori complementati uindi non & cosl insensato pen- sare ad una interfacia di grande Interesse tra cervello e computer fn futuro, Ma quel fatro potrebbe ‘non essere a portata i mano come “Musk worrebbe far credere. Amazon: novita per l'Italia Pe eet ey re nas Pee on A ct ee te Ren eee ete erent ee i Pree a oa Apple Pay Peer eee eo ee Sen ee eee corporation. In sostanza, Dorad ee cane ee eee ee) Sem ent ‘e-commerce di terze part il solo In tal modo Vesperienza di acquisto mento vocale sotto eee ad et ect eee Se a possibilits, Pe nein Pee eee eee Pee fapeibeeniepriguenmned: See ee eee Reet amazon pay eee eens ce ery ee Prenton Pen Ee cee Con ene enc ere ta i eran ree er nets eT Snes ere tro orc enc) itera Pee ery cra rare emer se ff Penn ete cs ee eer ea econ Per qu conan ostante, una solurione nella nostra penisola dei termostatintel- lig ierar eee ncn eee rcs eet ent? ee os yartiti sottovoce - che invece da Torino, dove la corporation saibile assuumera espertl di intlligenza art es ees erento rr pee o> NSA, fine dello spionaggio a strascico? [National Security Agency non racogler pi, come fceva dal 2008, comunicazionia strasic inendo per accedere anche aquel- Je private di citadin statunitens! non coinvolt dretament in indagi relative terrorismo o eyberscureza. A nifero dretamente a NSA, chi a parlat di “una comprensiva revision dele necesit legate alla missione da perseguie, alle enologie disponibile ai mit impost ogi interest di privacy degli individ", da cul sazebbe emersa la necessit i“interrompere la raccoltaincondiionata di comunicezioni di parte delf'gencia’ in fora de poerriconosiul dalla precedente inrerpretazione dalla Section 702 del Forelgn Intelignce Surveillance ‘Act (FSA) che permeteazini di hacking per acquis informazioni di ineligence su quesoni che vanno dal terorismo alla ybersiurezza Sitratta della cosiddeta upsteam collection, aver la raceata inva tara di conversion e contenu personal legal actin american ‘nel corso di ntercettazinitenicamente condote al estero su strane: nella racolta di email cndotaegelarmente neg uliml anal da parte ‘egl agent NSA fiaivano una grande quanti di comunicazioni i ast ‘ue, perch le agenzie goveratve vi fanno accesso dretamente inseren- dosi ne traffico Intemetataverso 1 nen pointe uillzzando pacchet dt Ispezione di vario gener per ineret- tare e devare grandi quant dl dat legat!genercamente a quella coma ricazone e non diretamente corela- ti alle comunicazon! esclusvamente ‘mandate ercevute da un determinato sopget. In pratica, fino le interpre: tazion della normatva di setore, in T mereato della Internet of Things con Cees reser eens hhanno investito nel settore, eancheinIta- ia adiventare considerevole. On eee on eee een rey Reet DU uen ere Cee nee oy errr oe ees Come antieipato il mese scorso da Ass eet ees ee ToT é sempre piit un fattore deter ty eee ony One eae ee Se ees ee eee co ee 11 milion erence In ognl c Soon So 10 / ioProgrammo Cone en ee nettvit celulare”, in aumento det 36 per Seeker lott, per cul han luenzato normative specifiche di set Peer ee eee een ted i mete y Sea PEO eek ere eens cee ieee vihanno registrato una erescita del 90 per Senne ee eked one ees eet) Poteet ert Seen ees paricolae dalla cata Federal Intligence Surveillance Court, avevano permesso al NSA di accantonae le tuele previste dalla cosituzione a stelle e strisce a tuela della privacy del citadint statunitens! per inter- cettazioni condotte fuori dai propri confni: tale interpretazione era peralrofiita ~ dopo che le rvelazoni di Edward Snowden avevano portato tutto alla luce - al centro anche de dibattio del Congresso sul rinnovo del poteri confer alle agenze di spionaggio da parte del FISA. Adeterminare il eambiamento stata una nuova decslone propo della, Federal Intelligence Survellance Court che intervene sulla questione rleanoscendo li invocat limit prevst dalla costituzione deg Stat Unit allaviolaione dela privacy: in ogni caso a nuova impostazione deilavo- rid inteligence del NSA non comporta ninterruzione completa delle Inercetazioni, ma una razionalizazione che permeter di continuare Talororaccolta fuori dag Stati Unit, ma quanto meno con pitcitero.In pratca ora NSA accetta di limitare volontariamente e comunicaziont da raccogliere con sue tecniche upstream: da orain poi non condurr pit ‘operazioni di raccola traffico upstream genericamente “relatvo" a un determinato obiettivo di intelligence, ‘ma limitandosi solo a quelle comunt- cazioni “da e “a tale soggett,Inolre accetter di cancellae gran parte delle ‘comunicazionifinora raccolte in questo ‘modo, Secondo NSA questo signifiea pperdere anche determinati messaggi invatidiretamente dai soggett inte- ressat e quindl avere minoreviibli ‘utavia secondo parte degl osservatori ‘Tagentia he metodi pi efficaciperotte- ‘nore informazioni util ane? Ocoee es keer cee See nt ea) es ‘noa contare peril 70 per cento del mer oor as ta reg httpi//wwloprogrammo.it Interpol scopre una rete di 9000 Command and Control Server Perna ee ( Cheer peter fe Neng on) noto di aver identificato una Perret ye cote ent eth er ei ea cond Pane otros ce eats Peer ee ees Peer Coco ests! Eee C a NOM ee Soran ecm eerie Ce ed eee met itd eer Glob oo ey emer trem) Rec Ra Se Peer eat videre pi ont Seer es et eee ee ee eT Soe ae Pett ens re fee) Pei eee ey Rea ts ee es eee ‘8900 C&C (ancora in corso) 0 la Pee eerc plicazione Web (nes- hanno finora eviden et reece rs eee Dees Peed Pts ets eet nt Nee acs Pee Pen cn ‘un introito illecito di oltre 3 liardi di dollari neglt ult Ee ae oe cu ero oe oc Facebook monetizza la pirateria video ella propria rincorsa a YouTube, Facebook ha scelto di alli- ‘earsl in tutto e per tutto alla piattaforma di video sharing nella gestione dei contenuti che popolano il social network, che attraverso il social network st replicano: lo strumento di analist dei contenu ripubblicati senza autorizzazione, Rights Manager, 2 stato arricchito della possibilita di monetizzare i video caricatt in violaztone del dei. Da tempo Facebook ha intrapreso un percorso per posizionarsi ‘come punto di rferimento per l'intrattenimento video, con con- tenutl carieati dagli utenti da mettere a feutto con il contributo della pubblicita: un aspetto determinante di questo progetto, YouTube insegna, & guadagnare la fiducia di creator! e inser- lonst, garantendo agli unt Il rispetto det loro dititie la po bilita di monetizzare, e garantendo agli altri un sistema per la diffusione degli spot che sia solide e non disonorevole. ‘A questo scopo, lo scorso anno aveva introdotto Rights Manager, uno strumento del tutto simile a Content ID di YouTube. Fino ad ora a creatorie detentori del drit stato permesso di geste ‘una propria collezione di soli video da proteggere, e quindi con- frontare in termini di tracce audio e di immagini con il materiale cearieato da terzi sul social network, in modo da autorizzare 0 bloccare a monte il replicarsi det contenuti su cut vantano it talpalionreobeiengreniine. ‘copyright. Con favanzare delle iniziative per trarre guadagno ‘economico dalla pubblicita, Facebook ha fatto compere a Rights ‘Manager il passo successivo: da questo momento i creatori pos- sono rivendicate la propria parte dei guadagni generati dall'ad- vertising che venga eventualmente inserito nel video pubblicato in violazione dei suoi diritti. Il social network riferisce di essere ancora in una fase di sperimentazione per la gestione della pubbliciti, con un numero limitato di produttori di contenuiti, enon offre dettagli riguardo alle proporzioni delle quote della spartizione e riguardo a quanto tratterra per sé, ma con ogni probabilita Ia soluzione si rivelera di determinante importanza rel momento in cui la monetizzazione dei video sara diffusa pit amplamente. Un altro elemento che Facebook offre ai produttori di contenu! 8 la possibilit di erigere certe barriere alla diffusione dei con- tenuti: i detentori det diritti possono organtzzare un sistema dit sgeoblocking per limitare la visione in certi paest del mondo, 0 sgestie le autorizzaziont in base alla porzione di video o traccia audio replicati o in base al responsabile della replica del con- ‘tenuto, Il social network sta provwedendo all'aggiornamento di Rights Manager e le nuove funzioni saranno dispontbill in tutto mondo “entro le prossime settimane”. ioProgrammo / 11 CoN el ay ee Easton) DB SUL CLOUD A PROVA DI IMPRONTA CREIAMO UN‘APPLICAZIONE PER IPHONE CHE SALVI LE NOTE DEGLI UTENTI SUL CLOUD DI APPLE E NE PERMETTA L’ACCESSO SOLO ATTRAVERSO L’AUTENTICAZIONE TRAMITE IMPRONTA DIGITALE amblto computing, anche alla TV. Come sempre, nostro progetto. Apt Xcode create un nuovo proget- noisiamo"pi avant delle persone che ron ma-_ to per iPhone, useremo Objective-C per programmare sticano pane e computer uttigionicomenol, per nol ta nostra app, ma potete facimente ‘radu tutto non &cos8 nova: sapplamo che icatv sono ls fuori in Swit eset pit a vostro agio cn questo linguag- €dobbiamo in qualche modo proteggercl Proprio pero. Le propretd del progetto apparanno come in questo dobbiamo esere primi a"dvugar i verbo"e figura 1. Chicate su Capabilities atvate loud per farsi che | nos client sano sempre alsicuro quan- il vostro progetto, Xcode sl occuper del eto, Gestid ED SAWEB | co sviupimo wtware per lore. Apple da qualche la genearlone dl profile frm pera vost app. Lan- tempo mete a csposzione dei prpriutent, oltre a ciao app per vedere che tuto funzion ¢risolviamo password, autenticazione a due fattorie quantal, la eventual ror Ricordatevi che avemo bsogno dl un possiblit diaccedereacontenutedevice grazie aclun device con Touch ID, alrimenti non poten testare sensor improntedigallintegrato nel suoi device. II come si deve fapp. Touch 1D & un lettre dt impronte digital molto pret s0, che permette anche af utente meno smalizato di attivre una protezione agguntva per propri dat Nel corso delforticoorealzzeremo una pccola applicazio- ne che sineronizze con iCoud note in formato testo (accetando anche il testo che copito neal appunt ¢ procederemo poi a proteggeriautlizzando i Touch ID es pertaccesso, S: sente parlare sempre pit spesso dl sicurezza in _consultat! anche su alt device. Cominciamo creandb i iOS Fig.2:Coud atv perinasto progetto COPYCOPY Lanostra applicazione si chiamera CpCp. reo ea = array che contiene dt mostra lf utente nella Ta = bleView é self.items, Abbiamo tre tipi di eventi da ge- == ste: la cancellsone dl un elemento, fagglunta i — recupeto deal element! dalle storage Cloud. Ad ogni evento eseguireme una: == hutpis/www-toprogrammo.it Fig. 2:8adgraund aes Ape {oProgrammo / 13> | TEAC } {)Chece what's on the paste board _ iCloud e Touch ID lightGrayColor]color¥ithAlphaComponent0.5] (cscooe i (pasteboard containeParteboardypes:(NSAeray _arrayWhObjects:@pubi.8-plaln-text, ___@*publictext, nie i (fefitems containsObjectipasteboard string) [{WSWotieationCentr defaultCenter] postNoticationtiame:@”New Item” objec:self (SDictionary dionaryWenObjectpasteboard. string forkey: "Item" CCerchiamo sempre e solo element in formato testo, se volete, potete modicare 'app per salvare immagini e altri tip di document. Esistono metodi pi concreti per ‘gestireil background di uriapp,chiamati Background ‘Modes, eservono per aggiomare location e altri dati di un'app che si trol in background. Purtroppo il nostro ‘aso (monitoraggio continuo della clipboard) non rien- tra trai cas previst(eaccettati) da Apple, che potreb- be rifutare la submission delapplicazione se usiamo i Background Modes fuori dagl usi previst. AGGIUNGIAMO ELEMENTI AINOSTRI APPUNTI ‘Agalungiamo ora la possibilts dt aggiungere un ele- ‘mento ai nostri appunt, scritto da noi e non solo recu- perato dalla clipboard. Agglungiamo un pulsante"#"in alto a destra nel nostro UINavigationController,ceia- ‘mo un nuovo ViewContoler, predisponiamo il modulo eassoclamoglila classe CpCpAddltemViewController import “CpCpiphoneAdltemviewControl.h” ‘@synthesize charCount;_ (eid viewDidLoad terre alors et psa secon a ee Hf self.clearsSelectionOnvienWilAppear = NO; {fo make the border look very close to@ UrTextiel {self itemTextield ayer setBorderColo:[[[UIColor B14 /oProgrammo [seiftemTedtFe ‘1ffhe rounded corner part, where you speci your eituttontem;, seifuernTentField dlopate = sol; TextField. text = NSLocalizedStrng (@°NEWITEMPLACEHOLDER’, rl); self. temTexField textCoor = (UICoIor htGrayColor;/Yoptiona (void)éidRecsiveMemoryWarning £ {super didReceveNemoryaringh ~ (lBAcion)eancel:(isender { [self lsmissviewContoleranimated:YES ‘completion: + (BAcion)savex(@)sender { Uidletview *alert = [[UIAlert¥iew alloc] IntithTie:@"Cipboerd” message: ¥SLoclzedStrngt (@°NEVITEMERROR’, il) delegate ___canceluttonTitie:@"OK”otherButtonTtles: nl]; 11 Nosy the previouse vew to save the changes locally wswottiationcenterdefautcenter) postNoteationlime:@”"New Item” objectsei {NSDIcionary GctionaryWithObject:setitem “TextField. tox forkey: "Item"; [self dismissViewControllerAnimated:YES cenpeten inetpi/wvmer loprogrammo.it (@°NEWITENPLACEHOLDER’ )]) { terior ~ enti tentotr opto x textView.text = NSLocalizedString( (@°NEWITENPLACEHOLDER", texiView.textColor = [UICoormGrayColrls Hoptios [NSUlnteger len = textView.textlength; charCount.text = [NSStringstngwithFermat: 2°96: Hu", NSLocaizedStrng(@ CHARCOUNTY, ni (unsigned lng)en] shouldChangeTextinRange:(NSRange)range replacementText(NSString *Ytext ‘Abbiamo agglunto, come potete vedere, un conteg- glo caratterl eat dettagl. Quello che cl interessa in ‘ealta@ilsalvataggio di quello che abbiamo scritto sul nostro iCloud + lector save (a)ender{ ‘Come potete vedere notifichiamo il TableViewCon- troller delfavvenuta pressione del pulsante “Salva: ‘Questo si occupers di salvare in iCloud Il nostro dato e rtornare alla lista degl element presenti, aggiornata con ultimo inserimento, VISTA NEL DETTAGLIO AAbbiamo ora una lista funzionante a cul possiamo aggiungere element in due modi: "mano" o pescan- doll dalla clipboard. Per vedere cosa abbiamo salvato, baste cliccare sulla cella della TableView principale, dopo aver associato un nuovo ViewController che rmostrera | dat, potremo decidere se tenere per not {quando salvato 0 condividerlo con il mondo. _#import *CpCpDetalviewContole i” ‘Ontrace CpcpbetaivienCorraer() ‘een ‘@implementain CpCeDetaVenControler (Osyntesize corte, teContet, defeltFotSia + (g)ntwreibame:(NSStng *)nibNameortl bundle: (usBunde "nbeundecrtt ‘110 any acitional setup after loading the view. efeulFontSize = 14.0; _[eContent sete contentl ((sefstemTextField.textisEquelToString:NSLocelized ‘String(@"NEWITEMPLACEHOLDERY, nil] || [sfftem Tested tort equarostring: 0") { ‘UWletvew alert = [[UINertVew aloe] inkwrTibe:@ “clpboor meseage:NSLocalneString( @°NEMITEMERROR’, ri) dolegatenl cancelButtonie:@"OK" otherButton Wes ils [alert show tum; ? 1 Ny the previous view to save the anges locally [UstiotbationCener defovkCenter postatieaton "Name:@"New Item” objectsef usernfo:[NSDictionary dctonarytnobjecseltemTenPeld text forkey:@"TerT, heto:/wuwioprogramme.it [sel nevgstonControler setToobarider:NO}: + (odReceveMemonVaming = connie ¢ _Metatenisie < 60) NSS “most ~ emp = hen oProgrammo / 15 COVER STORY Pier) 2 Dedelegate = sel Urpin "rein = [UIPanneprntintly pirtnf.utputype = UPrntneOutputGenera ritnfjobtame = O"Cipboar; ° ~ | 2 |OS | =n ¢ tors > 1) ics ern = pretn: NNSString *theMarkup » [[NSStrng alloc) inks Format: @"

CipbeardS4@7,theContor tet]; [theContent setFont:[UIFont systemFontOfSize: Ee efutFontSizell [thecontent sete"); IeheContentsetText:mpsting: UiMarkupTextrintFormatter *himiFormatter = [{UIMarkupTextPrintFormatter alloc) initwth Ta ariapest:theMarap}; TniFormatterstertPae = 0; htmlFormatter.contentinsets = UIEdgelnsetsMiake (720, 720, 720, 720); Peprntormatier = RmFormater; = (BAeion)seres(@sender{ iActionSheet *popupQuery = [[UtActionsheet alloc] InturthTie:nildelegate:sefcanceButtonTie:NS LocalizedString(@"CANCEL', ni. destructiveButtonTl pe showsPageRange = YES; ‘old ("completionHiancler(UlPrintintraction Controle *, BOL, NSE ror ‘(UlPinkinteractonControllr *printControlle, nil otherButtonTes:NSLocalizedString(@"COPY", ni), 8001 completed, NSEiror Yer) { NSLocalizedstring(@"EMAIL', ni), NSLocaizedString i (eompeted 88 ero) { BACKGROUND —_(@"PRUNT, ni), NSLocaizedStng(@”FACEBOOK”, ni) UrAlertview "letview = ([UAlerview aoe it MODES APPLE NStocalzedString(@"TWITTERY, nl), NSlocalizedString _—_‘WithTitle:@Cpboard” message:NSLocalzedString(@ Selavostaapp necesita des (@°S4S" i, "PRINTERRORY, nil) delegate:nlcencelButonTiteil sereatiaancequnda site __[ponupQuary shoninven:s. ven) terButonTies: 6°01 nil], Inbackgrund (perreaperre datio ato) potter ~Taertview son ihe acoA EERE ee todd Sttge atoning ( [ne resentnimatdES conplaontnd Soe eee crate cotficaatuatnent | exes Y ‘Conceptual PhoneOSProgram- If copy to pesteboard = ee a mingle Rachnoundinece: UlPesteboard *pb = [UIPesteboerd general (vod) sendEmaiiContent { ‘senfacerndimcation ad Pasteboard]; if ({MFMallComposeViewController canSendMail]) { pb setting theontort text MFMalComposeViewControler *mallr = ([MFMall ‘CompeseviewConvole tos nt ‘ater malComposeDeesate = calf [male setSubjec:0"Olpboor) NSStrng “emalBody = theContent.est; [tale seesogetodyemalBody THAN]; [sel presentvienControler:maler animated __¥ES completion; Yee UiAlerView alert = [{UIAlertView alle) itwth ‘Tale:O"Cipboard message:NSLocalzedString(@ “MAILERROR’ ni) delegae:nilcancelButonTite OK" otherButonTes: i); ie eo 7 ror brea d cs i (st ST — ld atrperCaniar aEapSF a Conor }onlr dhe arent aac Tene err ero { ea ~ Tig aee= . Y saa et) ¥ 4 “od promo rx a PCa Utara = (UPcin elesnge = NloaletS aA. Cnn aretha SUES P16 / ioP:ogrammo hutps/wwo-toprogramme.t (@°Cipboard” message:theMessage delegate: __icancelttonie: OK" atheros: i [alet show: 1] Remove th all ew eae [caf dsmssvienConroervimated'Y completion 'NSSring "twee i ({SLComposeViewConcletAvatableForService “TypesSLservceTypeTter) *theContent.ter length > 140) ( ‘tweet = [[NSSting aloe] itithFornat:@"% /theContenttoxtsubstringTolndex: MIN(137, + Ihecontent.text length Yee tweet « [[NSString alloc] initWithFormat: @°560" theconteeet ‘SLComposeViewController *tweetSheet = [St __Composevencontroler ‘eamposevienControler ForServctype:SLServceTypeTtzer [veetShee senate; {self presentviewControlier:tweetSheet nimates ES completion), ‘f{[SLComposeViewControlierisAvallableFor ‘Servetype:SLServieTypeFocebook) { ‘SLComposeViewControlr controler = [stComposeviewControler composeViewContoler ake ForServiceype:SiServenTypereebook) [conor setiiteText:theContettxt; {controler adeURL:[WSURL URLhString ip yferetepp com {self presentviewController:controller animated: YES completion]; > + (void messageComposeViewControlier:(MF¥essage ‘ComposeViewControler *}controllerdiinishvith Resu(MessapeComposeResut) rut hetp://www toprogrammo.t IntwithTie:NSLocalzedString(@"SMSERRORY, nil) message:tSLocalizdStiing(@"SMSERRORTEXT, nil) delegate:nilcancoleuttonTite: 2°OK" otherutoniesn}; weak > [al disvenContlernimatsES completion > - (sen UIAlertviw *werningAert = [[UIAlrtView alloc) intwrenTe:NSLocalzedString(@"SHSERRORY, cil) message: NSLocalizedstring(@"SHSERRORTEXT, al) delegate cnceButone: 00K" theron IoaringAert show}; > [NSString *message = theContent "NMessageComposeViewControer *ressageContol {1hFessogeComposevienControler ac) nt); messageConroler messageCamposeDeesee = se rmessogeContoter setouy message; ‘messageController.navigatlon6.tint Coo iri magn vos arto exon preservenconrlrmessgeConoler ate: Yes compton: » ‘end Come potete vedere abbiamo messo a disposizione delutente diversi modi di condividere i proprio ap- punto, compresa la possbilita di ricopiarto nella clipbo- ard, applicazione @ abbastanza smart’ da non salvare due volte Io stesso co ntenuto, quind! non incorrere- ‘mo in duplicat. La nostra piccola applicazione 8 ora completa: se lanciata su device divers, prowveder al download dei date alla sincronizzazione con il vostro ‘account iCloud! La storyboard & composta come in figura. Ricordiamo ‘che il codice completo & disponibile nel CD di loPro- ‘orammo. TOUCHID ‘Andiamo a implementare la protezione delf'applicazio re tramite Touch ID, Touch 1D @ il nome depositato dalla Apple Inc. peri lettore dl impronte digital presente nel tasto Home o nella Touch Bar del seguenti modell TOUCH ID letarecimpront dig ‘Apple stato presenta nl 2013 can iPhone. aaa & ‘moat su tt deve mbit del acens Cupertino, men- tree dpa er achook Progal2nis. ioProgrammo / 17 > COVER STORY cma) 18 / ioProarammo ‘+ IPhone 5s iPhone 6, iPhone 6 Plus iPhone 6, IPhone 65 Plus, IPhone SE, Phone 7, Phone 7 Plus + iPad Air2, Pad mini 4, Pad Pro ‘+ MacBook Pro 2016 Ecomposto da due part principal quella centrale nella, quale é posto rlevatore delle impronte, rvestitain ve- ‘tozaffro eun anelloin accialoinossidabile che rilevala presenza del dito, Le impronte sono usate per sblocca- rel dispositivo semplicemente appoggiando i dito sul taste home e per acquis in App Store e Tunes Store. € possibile memorizzare nel dispositivo un massimo dS impronte, che potranno essere utilzzate per svolgere le _azioni sopra citate. Touch ID @ dotato di un sensore che scatta una foto ad alta risoluzione delfimpronta digita- le delfutente, la analiza ed & in grado di riconoscerla {da qualsiasi angolazione, Ce chi ha sollevato it pro- bilema della privacy, owiamente, ma Apple ha tenuto subito a precisare che le Informazioni sono archiviate € crittografate in manierasicuaallinterno del chip del device. I dati restano nel device enon sono trasfertiad ‘Apple in alcun modo. Apple ha confermato anche che Touch ID ha difficolt a riconoscere dita sudate, bagna- FigcLastorbard compete dela otra apple ‘t@.econ cicatrciTorniamo ora alla nostra app... Come funaionera? Appena awiata Vapplicazione ci chiederd dlautenticarc, se fautenticazione flisce non potremo andare oltre. Registrate quindlalcune impronte nel vo- stro device se ancora non lavete fatto, IMPLEMENTIAMO L'AUTENTICAZIONE CON TOUCH ID [Andremo a implementare un nuovo UIViewController nella nostra applicazione,che sara vsualizzato prima di ‘ogni tra schermata.In questa nuova schermata csar8 tun bottone ‘Accedt” che scatenera evento di autent- ‘azione, Se saremo autenticatiallora procederemo a visuallzzae la schermata principale dellapp, altimenti Fig. S:La nostra applicazionesinconazautomaticament tra deve divest riceveremo un messaggto dl ertore e rimarremo nella schermata, dove non potremo visuaizzare nulla. Detto questo cominciamo con il modificare la storybo- ard della nostra app, inserendo un nuovo UlViewCon- troller, ssoclato alla classe TouchldConttoller. Inse- riamola prima del TableViewControllere dlamo il nome “authenticated alla relazione tra i due ViewControler. Inseriamo un bottone che ci permetteré di autenticar ial centro della schermata. II bottone fard scattare la richiesta di autentcazione,e se limpronta sara ricono- scluta vera visualizata la lista dl appunt savatl. Co- ‘minclamo con Yanalizzare la parte che gestisce fauten- ticazione delf utente tramite impronta digitale. I primo 'passo @ Includerelalbreria per fautenticazione locale tramite touch id. Sottolineo “locale | dati dellimpron- ta sono sul device e non vengono inviati ad Apple per ‘moti i sicurezza, ‘import ‘Adesso cl occuperemo di gestire Il click sul bottone da parte delfutente con una BAction associat al bottone nella Storyboard Action)promotauteriaton(sender { AConteet Fant = (LAContext alle] int a if (context canEvaluatePoicy:LAPoleyDeviceOwner ‘AuthenticatlentithBiometreserror:Berror)) { Iniializiamo il “local authentication context” che ppermettera di verifiare se il device dell utente suppor ta Touch ID. Lif che vedete qui sopra, se verificato, pro- cedera allautentcazione. [cote eater LAPaiDeve me Adherent leaiedRenson:@7Ae youthe device ome” rep "(BOO sures, NSETor "=o { it (error) {_ Utaleriew alert = ((UAt iCloudeTouch'D \ covERSTORY NSLog(@"Aeressogarantio" Aspatch_asyne(lspatcn_get_ rain_queuel), [sel performsequeWent ener: @"authentated senders UiAlertview "alert = [[UIAlr ew aoe) iteTe:0Eroe” message: @"La tua impronta on 8 regata™ Fig iteration con cipboard {ater shows y 1 device delfutente non supporta Touch ID. Lo segna- llamo. Ritorniamo invece al caso in cui utente riesca ad au- tenticars: ‘therButtonTiless [alert show}; I (success) ¢ > TNSLo9(@”Accsso garantito" vi SCEGLI IL CMS GIUSTO ECOMMERCE? BLOG? SCEGLI LA PIATTAFORMA PIU ADATTA ALLE TUE NECESSITA [CMs (Content Management System) hanno rivoluzionato il modo ci creare contenuti sul Web mettendo a disposizione di un vasto bacino di utenza strument intutivi per allestire negozi ecommerce, sit aziendalt, blog e qualsias altro progetto destinato ad approdare sul Web. Svluppate salitamente con illinguaggio di programmazione PHP, le piattaforme disponibili online sono ormai numerose, I che ud confondere chi si avvicina per a prima volta a questo mondo. Le pit utlizzate sono tuttavia einque, che ti presentiamo sintetica- ‘mente nell prossime righe: WordPress, Drupal, Joomla, Prestashop eWooCommerce (quest ultimo @in reat un plugin. primi tre della lista sono le colonne portant del ecosistema CMS in particolar modo WordPress @ la soluzione pit abbordabile che vanta per questo il ‘maggior numero di siti presenti online rispetto agli altri CMS) ed offre un ricco database di plugin e tem Drupal e Joomla sono meno intu- Itivi ma consentono di create complessi progett rvelandosl quindt Ideal per utenti avanzati Chi vuole invece aprire un site ecommerce non pud ignorare WooCommerce (plugin di WordPress) e Prestashop, entrambl sup- pportati da ative community e moltepliciestensioiin grado diimple- ‘mentare ineditefunzionalit. Insomma, il mondo dei CMS offe solu- PROMO Hostingsolutions Silver Linux + CMS www.hostingsolutions.it Attiva subito la promozione Silver Linux + CMS ‘Solo’ etor dale vise Edzion’Mastr possono usufure dela speciale promazione Hosting Soutos: i paccetto hosing Sver Linux + CMS Preinstallato pronto al'uso (WordPress, Drupal, Joomla, Prestashop, ‘WordPress+NooCommerce) sara offeto gratuitamente per 12 mes a ‘solo costo del dominio, Uno sconio dawero vantaggisol Puoi approfitare subto daoterta vsttando it link ftps: fe (era See la poceda ot inleaate doorine cic pomaaal SLIM ‘SPDOM. coda che i cocice pub essere utizato solo una volta ed & valid fino al 31/12/2017. Zion adatte a chiunque, Ora non resta che trovare un piano hosting ‘conveniente e performante, come Silver Linux di Hosting Solutions ordinabile con il CMS che desideri gia installato e pronto alluso! Consulta apposito box per ulterior informazioni Scegliere un CMS Tae a ES erie ‘peo det on ern pt ng worse | soonat | Buea | wecCammece | Pesastop @ x S| comme | resistor oom | comme | omer | oer | oe Accedi alla dashboard ya Vista Pniizzohitps:/wwvwhostingsolaionst/promarionelsiver linwcems.asp @ ceca sul bottone Yordina subito” in corispon- donza del CMS che desir utlizare (nel nostro caso WordPress. pacchetto iver Linux pub essere associto sia ad un nuovo dominio ‘choad un gi esistonto. Sogo etnzioni por complotare ordi. 20 / ioProgramm: Una volta chellservziosardattvo, riceveral una em: ferma con i dati necessari per utlizzare Silver Linux, inclu ii nome utente e a password. April link hit//"nomevostrosiio’/ \wp-loginohp ed Inserisol le credenziall per accedere alla da- ‘shboard WordPress. beeps Joprogrammo.i | Seleziona un tema Aggiungi Tema ‘cirkaien La dashboard 6 il menu principale di WordPress dove puol raggiungere faciente tutte le sotto sezioni del CMS. Sogui i percorso “Aspetto, Temi, Aggiungi nuovo” per visionare tutti i tomi predefinit installa, corcarne di nuov online (gratis ed a agamento) ed efettuame linstallazione in pochi clic. Crea una nuova pagina Pen Aggiungere un plugin Aggiungi plugin eileen bbPress Jetpack by WordPress.com Nol menu laterale dolla dashboard trovi anche il collega- ‘mento alla sezione Plugin, componenti aggluntv in grado ‘ aggiungere nuove funzionalita alla plattaforma. Per procede- re allinstallaione clicca su Plugin, Aggiungi nuove e segui le Istruzion~ come por i tamplate Il primo articolo Taguig nu pene raprgmucrarcae Le pagine sono elament utiizat per artoolare I portale in pit sezion (e: la pagina “chi siamo" serve a presontare 'autor/ ‘uratore del sito). Clcoa su Pagine, Aggiungl nuove per awiame la reazione, Noterai che interfaccia ® simile a quella dl un classico ‘dito test I tasto “Publica” rendora visible atta pagina ntp//ww loprogrammo.it ii articoli che ti apprest a realizzare cliccando su Articol, ‘Aggiungl Nuovo si appoggiano alla stessa interfaccia che | hal imparato a conoscere nel passo precedente. Ricorda che se non vuoi pubblicare subito articolo puol cliccare complice- mente su “Salva Bozza”. mmo / 21 E-COMMERCE, PRIMI SU GOOGLE QUANTO E IMPORTANTE FARSI TROVARE? INUTILE RISPONDERE! | NOSTRI ESPERTI Cl SPIEGANO COME POSIZIONARE IL SITO REALIZZATO CON PRESTASHOP NELLE PRIME PAGINE DE! MOTOR! DI RICERCA, bbiamo affontato pi volte questa tematicara, data Timportanza, @ bene tomar. Samo parando ot Shop uno sttumento che consented cea i ‘Proprio negozio online e vendereattraverso iWeb. Si trata, dun sto che ha centinala di funionalit, moto semplice op Gees) REGOLE SEO: LATOP 10 Per ottenere una buona ottimizzazione on-site bisogna seguirele regole che riportiamo in questo schema, da applicare alla scheda dei dda utlizzare, Undlizz0 a cul collegarst & hnpsy/www. prestshopconvt Il sistema di funzionamento & semplice ed ériportato sul sto ufc Ecco perch, in questa guida, ciconcentrerem sulle principal egole SEO da serquie per agevolare una maggioreindczzazione, 22 / ioProgrammo hetpu/www-loprogrammo.t POCHEE SEMPLICI REGOLE Nello specco in questa approfondimento, impareremo 2 Inserre un nuovo artcoo,associare ad esso il prezzo fed eventuali sconti, descrivere le carattristche principal e tanto altro, Durante la compllazione delle Schede prodotto & fondamentale seguire le regole SEO per ottimizarle al fine di ottenere un aumento della isiblita dei prodotti insert nel motor dl ccercae, dl conseguenza,ottenere un maggiore trafic. La creazione diuno shop deve essere ideata pensando prima di tutto al SEO che @ alla base di qualsiasi progetto. € un etrore ‘molto grave pensare che sia necessrioultimare subito ‘Un sto per pubblicrlo online imandandso in un secondo ‘momento faspetto SEO. Ogni azione pela crezziqne di ‘un negozio PrestaShop si ilette sul ricerca naturale. Diseguito andeemo.a conoscer alcuni deg aspett della struttura del sito e-commerce che possono glocare un ‘uolo importante sul SEO. : Hee) PRU Mc WU tty Meee een eee res ds) eee ncanti Google premia i 1 SCHEDA INFORMAZIONI Ceiamo uno nuovo prodotto ciccando su Aggiungi nuovo prodotto in altoa destra della pagina. Successivarente, Visualizzeremo la Scheda informazioni daccompilae ela struttura dela nostra SCHEDA PREZZO ‘Spostiamoci nella scheda Prezzi per impostare il Prezzo di acquisto el Prezzo di vendita del prodotto tasse incluse 0 escluse. Il prezzo di vendita finale verra calcolato in automatico elo troveremo sempre in basso, in fondo alla lista. IMPOSTIAMO LA TASSAZIONE [Nel caso in cui deciamo insert i prezzo tase incluse, dovremmo specificare i Regime fiscale ad esempio ITStandard Rate 22% per indicaretva al 226) nel'apposito campo: automatico scheda prodotto, caratterizzata da un ‘sistema calcolra il prezzo di vendita ‘menu lateral snistro, tase inluse unseen — = Secret E 7 rent [nego [> | vee tt x PREZZI SPECIFIC! GESTIONE SCONTI PRIORITA DEL PREZZO 'Attenzione: per creare un prezzo ‘Se desideriamo che nella scheda del Possiamo defini regole di prezzo spedfico dobbiamo salvare prima i nostro prodotto sia vsualizataurvicona diverse in base a ruppi di utenti. prio- prodotto.Clcchiamo su Aggiungiun _—_cheindichiunfoferta disaldo, @suffciente rita ci permettono di sceglere quel éla prezzo specifco e definiamo i prezi per cient appartenenti a gruppidiversi.tile per gestre eventual conti. hutp//wwe-toprogramme.t spuntarela checkbox Mostra Ficona “in saldo’ nella pagina del prodotto ei testo nel istino prodott principale tra Negozo, Vauta, Nazione, Gruppo. a regola vale slo peril prodotto correte senon viene spuntatala voce “Applica atuttii prodotti”. loProgremmo / 23

Potrebbero piacerti anche