lunedì 25 giugno 2007

Configurare una rete wireless ragionevoltemente sicura a casa propria...

Da pochi giorni ho approntato un access point a casa mia e dietro (anzi, sotto) di lui c'è un router ADSL di alice...
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

Creare custom controls è una attività piuttosto comune per lo sviluppo di applicazioni web. Personalmente la tecnica in composition è quella che preferisco, in quanto mi consente di raggruppare funzionalità anche evolute in poco tempo e con un grandissimo tasso di riutilizzo.

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

Traggo spunto da un bel post di merlinox intitolato 10 cose da evitare sviluppando siti per "appuntare" anche io un elenco di cose da evitare (secondo me) sviluppando in .NET e con qualsiasi altro linguaggio di programmazione a oggetti...

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

Rendere ogni parola di una pagina web interattiva! Non sono amante di firefox ma per questo plug in potrei cominciare ad utilizzarlo quotidianamente.

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

La programmazione web classica prevede il passaggio di parametri dal client al server attraverso la tecnica GET o POST dei form HTML.

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

How to: Determine How ASP.NET Web Pages Were Invoked

How to: Pass Values Between ASP.NET Web Pages

giovedì 7 giugno 2007

ALT - TAB evoluto

Chi utilizza intensamente il multi tasking di window spesso si trova con molte finestre aperte contemporaneamente, utilizzando il comando ALT + TAB è possibile spostarsi velocemente tra le varie applicazioni.

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

Chi ha lavorato anche per poco tempo con un ambiente grafico Linux non può non aver notato la comodità del multi desktop disponibile su questa piattaforma.

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.

La maggior parte delle pagine web che vengono prodotte svolgono spesso una quantità di funzioni anche numericamente elevata, ma dalla durata limitata nel tempo e quindi occupano risorse limitate.

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

Programmando pagine ASP.NET e controlli web è fondamentale tenere presente la funzione e l'ordine degli eventi che verranno generati durante la vita della pagina.

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.


MethodPostBackControls

ConstructorAlwaysAll
AddParsedSubObjectAlwaysAll
DeterminePostBackModeAlwaysPage
OnInitAlwaysAll

LoadPageStateFromPersistenceMediumPostBackPage
LoadViewStatePostBackAll
ProcessPostData1PostBackPage
OnLoadAlwaysAll

ProcessPostData2PostBackPage
RaiseChangedEventsPostBackPage
RaisePostBackEventPostBackPage
OnPreRenderAlwaysAll

SaveViewStateAlwaysAll
SavePageStateToPersistenceMediumAlwaysPage
RenderAlwaysAll
OnUnloadAlwaysAll

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.