Bit a bit, si cresce sempre


Blog di un ingeformatico

Statistiche
  • Views Home Page: 396.527
  • Views Posts: 1.331.611
  • Views Gallerie: 527.042
  • n° Posts: 520
  • n° Commenti: 292
Ora e Data
Archivio Posts
Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005

Recensione libro Expert SQL Server 2008 Development (Apress)

Libri per imparare SQL Server 2008, sia come amministratore che come sviluppatore, non mancano di certo. Basta fare una ricerca su Amazon o farsi un giro in qualsiasi libreria ben fornita per rendersene subito conto. Chi però, conoscendo già l’argomento, ha bisogno di fare quel salto di qualità che lo distingua da tutti gli altri sedicenti “esperti”, si scontra con una certa ristrettezza di materiale, soprattutto di una certa qualità.

Un modo per rimediare può essere allora quello di scandagliare internet alla ricerca di articoli di approfondimento: e qua se ne va tanto tempo, senza contare il fatto di leggere spesso le stesse cose (ripetute da fonti diverse), immerse in una notevole quantità di “rumore” circostante.

Ecco allora che i 30-40 euro spesi per un libro di qualità vengono subito ampiamente ripagati dal fatto di avere una fonte ben organizzata e organica da cui studiare, approfondire e prendere spunto.

Le poco più di 400 pagine che costituiscono questo recente libro della Apress, dal titolo direi molto eloquente, rispondono perfettamente a questa esigenza.

Sempre su Amazon, mi ha sorpreso molto notare la mancanza di recensioni per questo libro: nessun lettore, infatti, ha postato un commento.

 

Avendo come presupposto che il lettore sia già bene a conoscenza di SQL Server 2008, in 12 capitoli gli autori affrontano argomenti piuttosto eterogenei, che rappresentano la maggior fonte di problemi, dubbi, incertezze e cattive implementazioni di sviluppo che affliggono gli sviluppatori di database ed anche i DBA.

Non viene spiegato come funziona la “Coalesce” o le CTE (giusto per fare due esempi tra i tanti), ma, tramite numerosi casi reali si mette in guardia il lettore dai possibili problemi a cui può andare incontro se le implementa in un modo piuttosto che in altro. Come detto le arene di dibattito sono le più diverse: si parla di concorrenza nell’elaborazione dei dati, di gestione del Dynamic SQL, dei tipo di dati temporali e geografici, di crittazione, della gestione degli errori e delle eccezioni, e persino dell’uso del CLR per crearsi della logica utilizzando un linguaggio ad oggetti gestito (in questo libro viene usato C#).

Come si capisce di carne al fuoco ce n’è davvero tanta e diversa, e per questo direi che non è necessario leggere il libro in sequenza, capitolo dopo capitolo.

 

I primi 4 di questi consiglierei però di leggerli uno dopo l’altro e di non saltarli. A parte le 20 pagine del primo capitolo introduttivo, già nel secondo gli autori riescono a far riflettere non poco il lettore parlando di “Defensive Programming”, un’idea decisamente interessante che presuppone di sviluppare il proprio codice mettendosi nella peggiore situazione possibile (dati incoerenti o mancanti, errori di input, di rete, ecc. ecc.), in modo da rendere la propria soluzione di sviluppo la più robusta possibile.

Tant’è che nel terzo capitolo già si parla di testing, argomento che spesso non è facile far rientrare nelle proprie attività per chi sviluppa con SQL Server.

Gli esempi di codice che vengono riportati sono scritti tutti in un leggero grassetto, che li rende facilmente leggibili (a ciò contribuisce anche l’ottima indentazione). Prima vengono mostrate le soluzioni sbagliate, e poi man mano le si “aggiusta” per poter arrivare all’optimum. Appunto per questo consigliere di non leggere un libro come questo con sessioni di lettura molto brevi: lo si lascerebbe con in mente le soluzioni sbagliate, e soprattutto con il dubbio e la curiosità di “come andrà a finire”.

Personalmente ci ho dedicato un minimo di un’ora alla volta, anche se quasi sempre non è sufficiente per concludere completamente un capitolo.

 

Il resto dei capitoli può essere affrontato in ordine sparso a seconda delle esigenze. Io ho trovato utilissimi i capitoli 8 – sul Dynamic T-SQL – il 9 – sulla gestione della concorrenza e delle transazioni – e l’undicesimo sulla gestione delle date.

Di immagini ce ne sono pochissime – in genere diagrammi – e addirittura nessuna schermata di SQL Server o Management Studio. Si da’ per scontato che il lettore sappia già come muoversi nell’ambiente di sviluppo, e ci si concentra solo sul puro codice, che è in C# quando si affrontano esempi non in T-SQL.

L’inglese direi che è comprensibile, anche se ogni tanto bisogna appoggiarsi al dizionario per conoscere il significato di termini poco comuni o di slang tipico americano.

 

Stranamente, nelle prime pagine del libro dove in genere vengono riportati i profili degli autori, manca quello di Adam Machanic, ma è presente solo quello di Alastair Aitchison.

.

A quanto pare, però, Adam Machanic non ha nulla a che fare con questo libro.

Avendogli mandato una mail tempo fa, mi ha risposto appunto che lui aveva scritto solo la precedente edizione di questo titolo, quella relativa a SQL Server 2005, e che probabilmente la casa editrice ha deciso di mettere in copertina il suo nome anche in questa ultima release del libro solo per riuscire a vendere più copie.

Purtroppo non dispongo anche della versione “2005” per capire se questa

 

La rilegatura è buona, e abbastanza flessibile da permettere una comoda lettura (si trova di meglio, comunque, in giro).

L’impaginazione è quella classica dei libri Apress: caratteri piccoli, pagine “dense” e poche immagini.

Il codice T-SQL risulta sempre ben indentato ed è scritto quasi tutto in grassetto (scelta piuttosto originale, ma risulta comunque ottimamente leggibile).

Segnalerei due piccoli problemi: innanzitutto il sommario dettagliato presente nelle prime pagine ha le righe troppo distanziate tra loro (la cosiddetta “interlinea”). Occupa quindi troppe pagine, ed è un po’ scomodo da leggere. Inoltre il “Summary” del capitolo sul Dynamic T-SQL (l’ottavo) è ripetuto erroneamente due volte.

Attualmente la pagina delle Errata relativa a questo libro sul sito della Apress è vuota.

Effettivamente non mi sembra di aver trovato refusi od errori nel codice, e questo è già un buon risultato.

 

Questa è la pagina del sito della Apress dedicata al libro.

Purtroppo non c’è nulla di scaricabile, nemmeno il sommario. Sarebbe stato molto utile invece avere il codice sorgente degli esempi, per poterli provare o per utilizzarli al bisogno. Attualmente l’unico modo per fare ciò sarebbe di acquistare la versione in Pdf del libro. Per chi già possiede la versione cartacea, il prezzo è tutto sommato conveniente, solo 10 dollari. Basta collegarsi ad una sezione apposita del sito, rispondere ad una domanda random (del tipo “A che pagina si trova l’immagine XX?” oppure “Quale è la prima parola della pagina YY?”) per ottenere la versione elettronica.

 

PRO

Per chi già conosce bene SQL Server (meglio se nella versione 2008), questo piccolo libro è una vera miniera di consigli e best practices indirizzati principalmente a chi lo affronta come sviluppatore. Il tono colloquiale dell’autore e gli esempi mirati lo rendono didatticamente ineccepibile.

 

CONTRO

Nulla di particolare da rilevare, tranne solo due dettagli. Il primo riguarda il sommario dettagliato presente nelle prime pagine del libro. Le righe sono troppo spaziate, e il tutto occupa troppe pagine rispetto a quelle che sarebbero state necessarie. Il secondo riguarda il prezzo, forse troppo elevato rispetto alle dimensioni del libro.

 

Voto complessivo: 9/10

 

Lettore: Intermedio / Avanzato

 

 

Table of Contents

About the Author                                                                      

About the Technical Reviewer                                                          

Acknowledgments                                                                     

Preface

1 - Cap. 1: Software development methodologies for the database world

23 - Cap. 2: Best practices for database programming

49 - Cap. 3: Testing database routines

71 - Cap. 4: Errors and exceptions

101 - Cap. 5: Privilege and authorization

121 - Cap. 6: Encryption

159 - Cap. 7: SQLCLR: Architecture and Design Considerations

195 - Cap. 8: Dynamic T-SQL

235 - Cap. 9: Design Systems for Applications Concurrency

283 - Cap. 10: Working with Spatial Data

321 - Cap.  11: Working with Temporal Data

371 - Cap.  12: Trees, Hierarchies and Graphs

419 - Index                                                                            

 

Qua sotto i dettagli del libro.

 

Categoria: Books
lunedì, 19 apr 2010 Ore. 11.00

Messaggi collegati


Mappa
Calendario
ottobre 2017
lmmgvsd
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003