martedì 31 marzo 2009

Eccola che arriva

All'inizio la senti e la leggi.

Magari è un'opportunità, quei contanti che hai potrai spenderli a prezzi più ragionevoli.

Pensi che finalmente è arrivato il momento in cui verrà premiata la qualità e la competenza. Che verrà fatta pulizia dei venditori di fumo.

Poi iniziano ad arrivare le telefonate degli amici, e non è più una notizia, non è più una cosa lontana...

E non puoi che vergognarti dei tuoi piccoli inutili problemi.

mercoledì 25 marzo 2009

venerdì 13 marzo 2009

Alla buon ora

Aruba sta provvedendo ad aggiornare i server alla versione 3.5 di .Net, era ora.

L'ho fatto alla fine

Quello che rimane della piattaforma video... Il mio primo lavoro con asp.net mvc.

Il progetto era relativamente semplice: un indice con dei video e una pagina dove poterli vedere.

Usando Jquery, asp.net mvc e Linq ho realizzato il progetto, si parte da una pagina indice dove i video sono raggruppati per argomento i raggruppamenti si possono chiudere o espandere tramite jquery. La pagina di dettaglio ha ancora il menu con tutti i video e al centro il player per i video in formato h.264.

L'applicazione asp.net mvc si compone di due controller uno per le pagine indice e uno per le pagine con il player. Nel model c'e' un'unica classe che legge i dati dei video da un file xml. Le interrogazioni vengono fatte tramite un'istruzione linq:

XElement elemento= new XElement("videoselezionato", from c in loaded.Descendants("capitolo")
where (string)c.Attribute("guid") == cap && (string)c.Element("video").Attribute("guid") == id
select c.Element("video"));


Con Rails è molto più semplice ma questo asp.net mvc promette molto bene.

martedì 10 marzo 2009

Versione definitiva

La piattaforma video che per ora è un sito di distribuzione di video passa su Windows Server 2008. Ho a disposizione quindi un mostro di potenza biprocessore con 16 Gb di ram. Per ora la pagina sarà una piccola applicazione Asp.Net Mvc e speriamo bene.

Symfony lo voglio usare per un altro progetto se va in porto.

lunedì 9 marzo 2009

Asp.Net Eventi della pagina

1. Page.OnPreInit
2. MasterPageControl.OnInit (per i controlli sulla pagina master)
3. Control.OnInit (per i controlli sulla pagina)
4. MasterPage.OnInit
5. Page.OnInit
6. Page.OnInitComplete
7. Page.OnPreLoad
8. Page.OnLoad
9. MasterPage.OnLoad
10. MasterPageControl.OnLoad (per i controlli sulla pagina master)
11. Control.OnLoad (per i controlli sulla pagina)
12. Page.OnXXX
13. MasterPage.OnBubbleEvent
14. Page.OnBubbleEvent
15. Page.OnLoadComplete
16. Page.OnPreRender
17. MasterPage.OnPreRender
18. MasterPageControl.OnPreRender (per ogni controllo sulla pagina master)
19. Control.OnPreRender (per ogni controllo sulla pagina)
20. Page.OnPreRenderComplete
21. MasterPageControl.SaveControlState (per ogni controllo sulla pagina master)
22. Control.SaveControlState (per ogni controllo sulla pagina)
23. Page.SaveViewState
24. Page.SavePageStateToPersistenceMedium
25. Page.OnSaveStateComplete
26. MasterPageControl.OnUnload (per ogni controllo sulla pagina master)
27. Control.OnUnload (per ogni controllo sulla pagina)
28. MasterPage.OnUnload
29. Page.OnUnload

venerdì 6 marzo 2009

Symfony come farsi del male

Ogni tanto capita l'occasione di poter sperimentare...

Problema realizzare una piattaforma per la pubblicazione di contenuti video divisi per canali o per tematiche e con in futuro la distribuzione live di conferenze e lezioni didattiche.

La strada scelta è stata quella di lavorare esclusivamente con prodotti opensource. Si parte quindi con un server Ubuntu 8.10, per ora una sola macchina ben carrozzata su cui peserà tutto il carico di lavoro. Si passa al server web, per impegnare poca ram e garantire ottime prestazioni abbiamo scelto Ligthttpd. Avendo bisogno di un db per gestire le pagine e i contenuti la scelta ricade su MySql 5. Ora la scelta della tecnologia del sito le opzioni php o ruby? Qui la scelta è ricaduta su php per questioni knowhow aziendale... Ma con un bel framework, cosa scegliere tra Symfony, CakePhp e CodeIgniter?

Dopo ardue discussioni la scelta è stata affidata alla sorte dal bussolotto è uscito fuori Symfony. Vedremo come andrà a finire.

Ovviamente questo post è stato scritto prima di sapere che la macchina su cui funzionerà tutto sarà un'altra... Windows 2008 con Sql Server 2008. Nel tempo libero continuerò a studiare Symfony non si sa mai.

lunedì 2 marzo 2009

XNA Game Studio

XNA è un framework dedicato allo sviluppo di giochi in ambiente Windows,XBox e Zune.

Si può immaginare come un plugin di Visual Studio con il limite di poter usare il solo C#, per il resto si può immaginare come un insieme di namespace e librerie che facilita l'utilizzo di DirectX, Direct Sound.

Per utilizzare XNA è necessario aver installato una qualunque versione di Visual Studio 2005/2008 anche Visual Studio C# Express Edition che si può scaricare gratuitamete.

Per cominciare nella finestra "Nuovo progetto" si sceglie "Windows Game", XNA provvederà a creare un'applicazione vuota contenente lo scheletro base per un gioco.

I 4 metodi più importanti sono Initialize, LoadContent, Update e Draw.
Initialize serve a inizializzare tutte le risorse che non caricano contenuti esterni, LoadContent serve ad caricare i contenuti esterni quali immagini, suoni o musiche.

Infine i due metodi che implementano la logica e la presentazione del gioco. Questi due metodi vengono eseguiti in un ciclo 60 volte al secondo.
In Update va messa la logica del gioco, cioè la gestione degli eventi provocati dall'interazione con il giocatore. Ad esempio l'aggiornamento dei valori di x e y per uno sprite quando l'utente clicca sulle frecce destra sinistra.

In Draw la gestione dello schermo ovvero le funzioni per mostrare sul video il risultato dell'interazione gestita nel metodo Update.

Nella prossima puntata la realizzazione di un piccolo "Space Invaders"