31/01/2006

Gollumix. Step 1 della Gestione dei processi


Riprendiamo il nostro tutorial sul kernel Gollumix pubblicando nel wiki di questo blog lo step 1 della gestione dei processi.

In questo step parleremo di Task State Segment (TSS), Local Descriptor Table (LDT), Global Descriptor Table (GDT), stati di un processo e tabella dei processi..

Buona lettura!!!

29/01/2006

Open Book

Questo post lo dedico agli open book, cioè quei libri che si possono acquistare normalmente come qualsiasi altro libro ma che sono disponibili anche online gratuitamente.

Di volta in volta aggiornerò questo post con gli open book disponibili in rete. Se volete potete segnalarmi i vostri open book preferiti.

Sistemi Operativi

Linux device drivers 3th edition (kernel 2.6), il libro sui device driver Linux scritto da Alessandro Rubini e Jonathan Corbet è arrivata alla terza edizione che è dedicata completamente al kernel 2.6.

Programmazione C++
Thinking in C++ vol. 1, primo volume del libro di programmazione C++.
Thinking in C++ vol. 2, secondo volume del libro di programmazione C++.

Programmzione Java

Thinking in Java, libro di programmazione Java.

Game Programming

Killer Game Programming, questo libro insegna a scrivere videogame 3D con Java3D.

25/01/2006

Design Patterns applicati


In questo post vi ho parlato di un tutorial su un videogame 3D dedicato al calcio. Nei precedenti post, però, abbiamo parlato anche di design patterns GoF. In questo post volevo mostrarvi un esempio pratico di applicazioni dei patterns ad un ipotetico gioco di calcio. Potreste utilizzare questa guida per migliorare il codice pubblicato nel tutorial creando la vostra versione. Certo ci sarebbe da migliorare anche la grafica ma questo può avvenire gradualmente.

Qui di seguito trovate i links alla guida.

- Parte I-II;

- Parte III-IV

22/01/2006

Bazaar. Un negozio online gratuito.

Oggi voglio presentarvi un mio piccolo progetto open source che, spero possa tornare utile a tutte le persone che desiderano aprire un negozio online e anche alle persone più tecniche che desiderano apprendere come scrivere una web application.

Il progetto si chiama Bazaar ed è un semplice negozio con carrello online basato su JSPCart.

Con questo strumento potete aprire anche voi un semplice negozio online in modo assolutamente gratuito. Quello di cui avete bisogno è un PC (che funzionerà da server) e una connessione ADSL con ip pubblico (tipo Libero, ad esempio).

Sul PC dovete installare il database server MySQL, il web container Tomcat e il codice di Bazaar come descritto in questa pagina.

La documentazione non è ancora completa, ma su questo blog segnalerò di volta in volta i vari update.

Partendo da JSPCart ho fatto alcune modifiche che mi hanno portato allo stato attuale del codice (bazaar-pre4.war).

Qui potete vedere una semplice demo. La grafica non è molto accattivante ma penso che migliorerà a breve. Tutte le funzionalità, però, sono disponibili. Ovviamente nella demo sarà visibile solo la parte customer e non la parte di amministrazione, se lo scaricate, però, potete vederle entrambi.

Qui potete vedere un esempio di negozio con prodotti veri (lo sto mettendo su per un mio parente), mancano solo i prezzi.

Sto realizzando una nuova versione in cui ho aggiunto la funzionalità di ricerca stile google utilizzando apache lucene. Spero di pubblicare presto i sorgenti.

Mi piacerebbe aggiungere molte funzionalità come:

- pubblicazione automatica dei prodotti su Froogle, Ebay, etc;
- miglioramento del codice con codifica che rispetti di più i principi di design patterns;
- completa integrazione con struts;
- supporto paypal (già implementato ma commentato per ora) e carte di credito;
- creazione di servizio di hosting con creazione automatica di negozi e pubblicazione gratuita di inserzioni;

Ovviamente faccio queste cose principalmente per passione e per motivi didattici, se vi va di contribuire non abbiate timore a farvi avanti.
Grazie

PS
ultimamente sto avendo problemi con il router, se non riuscite a collegarvi riprovate più volte.


20/01/2006

Colombo. Un semplice browser web in Java.

Vi segnalo un altro piccolo progetto Java che spero piacerà ai principianti Java perchè, oltre a parlare di programmazione Java e Swing, parla anche di alcuni patterns come MVC, Singleton e Facade.

Il progetto si chiama Colombo ed è un semplice browser web. Non vi aspettate di riuscire a vedere tutte le pagine su Internet, nel codice trovate alcune pagine HTML di esempio con cui il browser funziona bene.

Se volete potete estenderlo aggiungendo funzionalità come: bookmark, menù e altro ancora.

Qui potete scaricare il codice.

Buon Divertimento!!!

19/01/2006

Java 3D Soccer

 

Oggi voglio segnalarvi un link di programmazione Java 3D molto interessante e divertente.

 

Si tratta di un tutorial step by step di un videogame di calcio 3d scritto in Java con l'ausilio di Java 3D.

I programmatori hanno accuratamente documentato il lavoro, settimana dopo settimana, mostrato i progressi, i problemi affrontati e le soluzioni.

Non sarà sicuramente FIFA Soccer, ma per un programmatore è già un buon inizio.

Un suggerimento per migliorare questo programmino è quello, ad esempio, di caricare i vari personaggi e oggetti da file 3D Studio (o altri formati), invece di realizzarli programmaticamente. 

Buon Divertimento!!! 

18/01/2006

Core J2EE Patterns

Oggi parliamo di un'altra categoria di patterns: Core J2EE Patterns. Molti dei patterns che presenterò in questo post sono un'estensione dei patterns fondamentali Gof. La figura in questa pagina, mostra la struttura interna di un'ipotetica appliazione J2EE. Essa è composta da un web container e un ejb container. Il secondo viene utilizzato per la gestione della persistenza (ejb entity bean) e business logic (ejb session bean).

Un'applicazione J2EE può essere composta anche solo dal web container, con la business logic implementata in semplici classi Java e la persistenza gestita attraverso il pattern DAO.

L'applicazione J2EE è, generalmente, composta da 3 layer: presentation, business e integration.

Per ciascuno dei 3 layers ci sono dei patterns che ci consentono di risolvere numerosi problemi comuni.

Qui riporto un elenco dei Core J2EE Patterns organizzati per layers.

Presentation Layer

Interception Filter

Front Controller

View Helper

Composite View

Service to Worker

Dispatcher View

Business Layer

Business Delegate

Value Object

Session Facade

Composite Entity

Value Object Assembler

Value List Handler

Service Locator

Integration Layer

Data Access Object

Service Activator

Qui trovate un esempio di applicazione J2EE (PetStore) che utilizza questi patterns.

17/01/2006

Gollumix. Step 0 della Gestione dei Processi.

Riprendiamo il nostro tutorial sul kernel Gollumix pubblicando nel wiki di questo blog lo step 0 della gestione dei processi.

In questo step implementeremo un semplice memory manager che gestisce, per ora, solo la memoria fisica allocando e liberando pagine di memoria.

Buona lettura!!!

15/01/2006

Beethoven


In questo post ho iniziato a parlare di design patterns, in particolare di quelli GoF.

Voglio segnalarvi questo semplice programmino java che mostra l'utilizzo pratico di alcuni semplici patterns: MVC, Facade, Singleton e Factory Method.

Il programmino è una semplice command line che consente di suonare file MIDI. Potete estenderlo aggiungendo il supporto per nuovi formati (se lo fate, segnalatemelo).

Scaricate il codice, leggete la documentazione disponibile e buon divertimento.

14/01/2006

Tutorial Programmazione

In questo post raccoglierò tutorial dei diversi linguaggi di programmazione ad uso e consumo di tutti noi. Il post verrà aggiornato di tanto in tanto e linkato nella barra laterale a destra.

Tutorial C

C Programming

Tutorial C++

C++ Annotations

Tutorial Java

Sun Java Tutorial

Brewing Java

Corso Java

Tutorial Design Patterns

Design Patterns GoF

Design Patterns Tutorial

JUG Torino Tutorial

Ugo Landini Tutorial

Catalogo dei Design Patterns

Core J2EE Patterns

Thinking in Patterns

Tutorial Grafica 3D

Basic OpenGL Tutorial

Advanced OpenGL Texture Mapping

OpenGL for Game Programming

Tutorial Kernel Programming

Gollumix.Un kernel scritto da zero

Tutorial Internet

Tutorial Internet

Algoritmi e Strutture Dati

Data Structures and Algorithms with Object Oriented Patterns in C++

Dictionary of Algorithm and Data Structures

Segnalatemi i vostri tutorial preferiti, provvederò ad aggiungerli a questo post.

Tutti gli articoli