Appunti e promemoria su... beh... tutto quello che mi serve e che forse un giorno servirà anche a te...
lunedì 25 giugno 2007
Configurare una rete wireless ragionevoltemente sicura a casa propria...
Tra un pochino la porterò in flat mode... e quindi rimanendo sempre acceso lo ho configurato affinchè offra un livello di sicurezza contro accessi indesiderati e non sia utilizzabile da sconosciuti, vista anche la nuova moda del war driving.
Vediamo se ho approntato tutto per benino per evitare che qualcuno oltre a me riesca ad usare la mia rete per i propri comodi...
- Cambiato password dell'admin dell'access point. Sembra banale, ma in quasi tutte le periferische si entra con Admin Admin...cambiare questa password mi è sembrata la cosa più ovvia e semplice da fare.
- Cambiato elenco dei mac address autorizzati ad accedere all'access point.
- Ridotto la potenza del segnale dell'access point al minimo indispensabile per avere buona copertura nella zona di interesse ma non far vedere la rete a chi ne è fuori ... Non abito in una zona affollata, ma se abitassi in un condominio mi scoccerebbe non poco vedere un elenco di 12 reti wireless attive intorno a me...
- Tra poco (non lo ho ancora fatto) abiliterò la crittografia WEP.
- Configurati gateway e ip per funzionare con il router ADSL. (non serve per la sicurezza, ma senza è inutile avere un access point acceso).
martedì 19 giugno 2007
Custom controls con eventi personalizzati
Ma un controllo per sua natura deve generare eventi server.
Dopo parecchia fatica ho trovato questa reference sul sito MSDN che spiega chiaramente come fare un controllo lato server che generi via javascript un evento lato server.
Nell'esempio spiegano la costruzione di un semplice link button che chiami la funzione OnClick sul server, ma cambiando delegati e nomi agli eventi, tutto funziona con eventi personalizzati e tipizzazione particolareggiata degli eventi.
venerdì 15 giugno 2007
10 cose da evitare... anzi... me ne bastano 6
1) fare copia e incolla... Se si ha necessità di copiare e incollare del codice significa che non si è sfruttata a dovere la struttura di ereditarietà messa a disposizione dal linguaggio a oggetti.
2) usare gli if e gli switch per modificare il comportamento. Ritorno al punto 1, esiste l'ereditarietà, quindi si può istanziare l'oggetto con il comportamento corretto e non mettere un if per variare il codice che verrà eseguito.
3) Implementare le proprie interfacce. E' più semplice manutenere una applicazione, anche se piccola, se questa implementa interfacce.
4) tipizzare il tipizzabile. Una applicazione che utilizza solo oggetti fortemente tipizzati è più facile da manutenere e da debuggare.
5) usare gli enumeratori. Si lega al punto 4, un enumeratore elenca semplicemente opzioni disponibili, il codice risulterà più pulito e non si potranno verificare situazioni non note.
6) ereditare tutto l'ereditabile... Controlli, engine e quant'altro. Non sappiamo dove la nostra applicazione finirà e quali comportamenti vorremo introdurre. Iniziando a scrivere l'applicazione utilizzando oggetti "nostri" che ereditano quelli di base, ci apriremo la porta per eventuali implementazioni future.
...se questi sei punti li avessi avuti ben chiari anni fa, beh, tutto sarebbe stato più semplice...
venerdì 8 giugno 2007
Con Hyperwords le pagine web diventano interattive
L'idea è quella di consentire una interazione ogni parola e accedere velocemente da un semplice menu a wikipedia, google maps, il client di posta e molto altro...
Che dire, guardate il video su you tube e ditemi se non fa gola anche a voi!!!!
Letto su...
http://www.downloadblog.it
Passaggio di parametri tra pagine in ASP.NET, POST e GET e CROSS PAGE POSTING
Quando ci si avvicina al mondo di ASP.NET si perde parzialmente il controllo dell'HTML che verrà generato e soprattutto non si riesce, semplicemente, a controllare i form ASP.NET in quanto le pagine vengono generate con 1 form html con action impostata automaticamente alla pagina stessa.
Cercando nella MSDN ho individuato le guide lines Microsoft per effettuare il CROSS PAGE POSTING DATA, e quindi risolvere il problema di passaggio dei parametri tra pagine ASP.NET.
Cross-Page Posting in ASP.NET Web Pages
How to: Redirect Users to Another Page
How to: Post ASP.NET Web Pages to a Different Page
giovedì 7 giugno 2007
ALT - TAB evoluto
Putroppo spesso l'icona o la descrizione indicata nella finestrella che appare non sono sufficienti per aprire la finestra corretta e così si va a "tentativi".
Un piccolo aiuto a questo viene da un piccolo PowerToy della Microsoft, che sostituisce la finestra di ALT + TAB standard con una piccola finestrella che fa anche una anteprima delle applicazioni.
Carino e comodo, trovate il file da scaricare al link Taskswitch.exe
mercoledì 6 giugno 2007
Multi desktop su XP
Su Microsoft XP non è disponibile nativamente ma attraverso un plug in (i PowerToy della Microsoft stessa) si può abilitare una funzionalità molto simile.
Dopo aver installato il plug in Deskman.exe si potrà abilitare dalla barra di avvio una nuova barra degli strumenti che consentirà di spostarsi tra i 4 desktop resi disponibili dalla applicazione.
Una utility carina che rende più semplice convivere con monitor mai abbastanza grandi e risoluzioni mai abbastanza "spaziose"
martedì 5 giugno 2007
Programmazione asincrona per le pagine web.
Questa è una prassi piuttosto comune, soprattutto perchè, escludendo eventuali interazioni sfruttando la tecnologia AJAX, la user experience migliora tanto più i tempi di attesa sono brevi.
Nei casi in cui i tempi di attesa siano più lunghi e soprattutto ci siano colli di bottiglia non superabili come esempio interazioni con web service piuttosto che procedure di IO particolarmente impegnative, oltre che ridurre la qualità della user experience si può incappare in problemi di scalabilità dell'applicazione.
Ho trovato questi articoli sull'msdn che spiegano esaustivamente il problema e anche delle ottime tecniche per superare anche questi ostacoli.
Asynchronous Pages in ASP.NET 2.0
Applicazioni scalabili con la programmazione asincrona in ASP.NET
lunedì 4 giugno 2007
ordine degli eventi nelle pagine e controlli ASP.NET
Al link http://aspalliance.com/articleViewer.aspx?aId=134&pId ho trovato un ottimo articolo che da una esaustiva spiegazione del problema.
Nella seguente tabella riporto semplicemente il reference dell'ordine degli eventi.
Method | PostBack | Controls |
Constructor | Always | All |
AddParsedSubObject | Always | All |
DeterminePostBackMode | Always | Page |
OnInit | Always | All |
LoadPageStateFromPersistenceMedium | PostBack | Page |
LoadViewState | PostBack | All |
ProcessPostData1 | PostBack | Page |
OnLoad | Always | All |
ProcessPostData2 | PostBack | Page |
RaiseChangedEvents | PostBack | Page |
RaisePostBackEvent | PostBack | Page |
OnPreRender | Always | All |
SaveViewState | Always | All |
SavePageStateToPersistenceMedium | Always | Page |
Render | Always | All |
OnUnload | Always | All |
venerdì 1 giugno 2007
Debuggare applicazioni ASP.NET
Visual studio offre un evoluto sistema di debug e controllo delle applicazioni in esecuzione. Normalmente questo si attiva quando si è in debug e si preme il tasto "F5" della tastiera piuttosto che il tasto "play" nella toolbar in alto.
Questa tecnica comporta però la compilazione di tutti i progetti nella soluzione o almeno l'analisi di tutti i progetti per individuare quali sorgenti sono stati modificati e quindi necessitano di una ricompilazione.
Se la soluzione contiene un numero elevato di progetti (anche solo una decina) il tempo da quando si preme F5 a quando si ottiene la pagina visualizzata può essere significativo e stressante.
Una soluzione possibile è quella di agganciare il debugger di visual studio all'applicazione IIS - ASP.NET (ma anche windows form) mentre questa sta funzionando.
Perchè questo sia possibile è necessario effettuare i seguenti passi:
- Aprire la console di IIS e creare il sito web [miosito] ASP.NET (versione XX) che punti alla directory dove sono contenuti i sorgenti del sito (aspx + cs).
- Aprire internet explorer (o altro browser) e digitare nella barra http://localhost/miosito/miapagina.aspx
- A questo punto andare dentro visual studio, menu DEBUG - Attach to Process
- Assicurarsi che il checkbox (show process from all users) sia selezionato
- Si aprirà una finestra con tutti i processi attualmente in esecuzione
- Selezionare aspnet_wp.exe Premere il tasto Attach
A questo punto visual studio sarà agganciato correttamente al processo di IIS e fermerà l'esecuzione nei debug point impostati.