Press "Enter" to skip to content

Le ovvietà che tagliano le gambe ai beginner

Non sempre chi fa il nostro mestiere può seguire tutte le nuove tecnologie dai loro primi passi, ad esempio io ho lavorato pochissimo con ASP.Net, anche se conosco molto bene HTML e CSS, pertanto ci sono cose che chi ha fatto un sito con ASP.Net 2.0 appena uscita la tecnologia conosce e considera ovvie, ma che per un beginner non lo sono, soprattutto se il beginner, come me è un professionista che lavora con altre tecnologie che conosce perfettamente e quindi, pur iniziando un tutorial a livello zero, non ha una macchina da studente, ma una macchina configurata per creare applicazioni che girano nel mondo reale.

Questo non vuole essere un rimprovero a tutti quelli che hanno costruito i tutorial, perché é perfettamente logico che questi tutorial siano predisposti per fare in modo che chi vuole avvicinarsi ad una tecnologia possa farlo senza dover avere una macchina da professionista. Ma vuol essere invece un invito a chi si trova nella situazione di trovarsi davanti ad un muro a non perdere coraggio,perché la soluzione non è mai troppo lontana e quindi, F1, BING, Google e chi più ne ha più ne metta.

Vediamo qual’è l’esempio che mi porta a scrivere questo post:

Stamattina (domenica mattina) per tutta una serie di motivi per cui non vi tedio, ho deciso di iniziare a guardarmi ASP.Net MVC, una tecnologia che reputo interessante per una serie di cose che dovrò sviluppare nel prossimo futuro. Io lavoro con Winforms e SQL Server quotidianamente su applicazioni vere, pertanto, sulla mia macchina di sviluppo così come sulla macchina per gli esperimenti, ho installata la SQL Server Developer edition, e non ho installato SQLExpress, trovo inutile avere due istanze di SQL Server sul PC.

La prima cosa che ho fatto stamattina per fare le mie prove è stata generare un progetto ASP.Net MVC e guardare cosa c’è dentro. Il progetto è perfettamente funzionante e mostra delle cose interessanti. In particolare, nasce già con una pagina che gestisce la sicurezza. Che bello, mi sono detta vediamo come fa, provo a registrare un nuovo utente. Ovviamente la cosa non ha funzionato, andando a guardare il perché, è piuttosto ovvio, il sistema ha bisogno di un DB SQL Server, e per default è collegato a un database attaccato “al volo” ad un SQLExpress che peraltro non esiste nel template del progetto, perciò non può funzionare. Pertanto ho creato un database sul mio SQL Server ed ho modificato la connection string, da buon DBA, per far connettere l’applicazione al server SQL. Ma purtroppo le cose non funzionavano ancora, sia usando il tool di amministrazione del sito, sia usando la pagina di registrazione di MVC mi veniva restituito un errore, perché nel database mancava tutta la struttura e le tabelle per la gestione della sicurezza.

A questo punto un beginner 1.0 cosa fa? Pianta tutto li e dice, ci riprovo la prossima volta. Un Beginner 1.1 come me inizia da BING o Google e cerca, dopo vari tentativi, con varie parole chiave, che mi hanno portato a forum, tutorial, articoli senza darmi una soluzione, la frase magica è “asp.net create authentication db on sqlserver” ,che mi ha portato qui: Creating the Membership Schema in SQL Server, (Faccio notare che il sito è ASP.Net, lo stesso dove sono i tutorial per MVC) dove ho trovato la soluzione del problema, ovvero usare una bellissima utility installata automaticamente con il framework 2.0 che lanciata dal RUN con il comando:

 %WINDIR%Microsoft.Net\Framework\v2.0.50727\aspnet_regsql.exe

permette di generare all’interno del mio database sql server le tabelle per la gestione della security e degli utenti, che mi permettono di utilizzare il tool di configurazione del sito per creare utenti all’interno dell’applicazione ed attivano la pagina di login e registrazione della mia applicazione modello base ASP.Net MVC.

Chiunque abbia lavorato con ASP.Net 2.0 dirà, ma è ovvio ed elementare.
Ma chi si trova a partire da zero con una tecnologia che esiste da anni concorderà con me che spesso, i primi gradini sono quelli più alti da superare.