Category Archives: Featured Articles

Le Classi in Objective C [videocorso]

Continuano le videoguide gratuite di iMakeApps.it con l’ingegnere Fabio Castaldo e l’ingegnere Luca Catalano sullo sviluppo di applicazioni per iPhone e iPad. Dopo l’introduzione all’Objective C (composta da tre video completamente in italiano), ecco i nuovi video che approfondiscono ogni singolo argomento. Il titolo del nuovo videocorso è “Le Classi in Objective C”: cosa sono, dichiarazione e definizione, scopo delle variabili di istanza, self e super, creazione di oggetti e infine l’oggetto nil. Eccoli subito dopo il salto, Buona Visione!
Continue reading Le Classi in Objective C [videocorso]

Introduzione all’Objective-C [videocorso]

I ragazzi di iMakeApps.it che realizzano corsi per sviluppatori iPhone e iPad hanno realizzato 3 video corsi gratuiti di introduzione all’Objective-C che hanno prontamente pubblicato su youtube e che vorrebbero fossero messi a disposizione della comunità Apple. Complimenti agli ideatori. Noi continueremo a tenervi aggiornati sugli aggiornamenti dei video corsi.

Continue reading Introduzione all’Objective-C [videocorso]

iPad GUI PSD – Versione 2

Teehan+lax ha messo a disposizione un file di Photoshop contenente tutti gli elementi della GUI dell’iPad, di cui potreste avere bisogno per la creazione di futuri progetti. Il file è costruito utilizzando i vettori, quindi è tutto ancora completamente modificabile. Se avete bisogno di fare uno schizzo veloce di un software per un cliente o per un vostro personale progetto, questo file di Photoshop sarà certamente di vostro aiuto.

È possibile scaricare il file di Photoshop a più livelli (10MB) qui. Nota: il file è hostato sul nostro server.

Game Development Process – parla Marco Mazzaglia di Milestone Srl

In questo interessante video, Marco Mazzaglia, IT Manager alla Milestone Srl (una delle più grandi realtà italiane in fatto di sviluppo di videogiochi su diverse piattaforme), ci parla di Game Development Process, ovvero di tutti quei processi per poter capire come funziona lo sviluppo di un videogioco, partendo dalle catene di distribuzione fino alle conoscenze che bisogna avere per realizzarne uno o per poter lavorare in team. Un’ottimo video di oltre un’ora e mezza. Sotto il video che inserisco in allegato, è possibile leggere il bio/curriculum di Marco.
Continue reading Game Development Process – parla Marco Mazzaglia di Milestone Srl

iFlok: un’esperienza di sviluppo e pubblicazione di un gioco indie per iPhone

Vi propongo un’interessante video-conferenza di oltre 60 minuti, per il corso di Videogame Design e programmazione (089175), tenuto dal Prof. Pier Luca Lanzi e dall’Ing. Daniele Loiacono, del Politecnico di Milano, Facoltà di Ingegneria dell’Informazione. Nella presentazione si parla di un’esperienza reale di sviluppo di un gioco per iPhone, che ha visto la luce dopo 1 anno e mezzo di lavoro. Si approfondiscono tutti i vari passaggi che si sono dovuti affrontare, dalle piattaforme usate per lo sviluppo del gioco stesso ai problemi di velocità, grafica, gameplay, etc… Un video assolutamente consigliato, almeno per poter avere qualche spunto iniziale sulla programmazione di giochi per l’ambiente iOS di Apple.

Il gioco di cui si parla è iFlok, disponibile su App Store.

[box type=”info”]Game Description:

Herd the sheep to the objective as soon as possible.
Beat your best time and gain medals.
Be careful! Sheep are attracted by food and hampered by obstacles.

* 40 challenging levels
* 3 difficulty options
* realtime simulation
* 3 control methods

Simple action and great fun!

[/box]

E’ Sempre Più Importante Ottimizzare Le Immagini Nel Proprio Blog

Il consumo di banda sta diventando un problema sempre più comune, soprattutto per i siti web di grandi dimensioni che attraggono un rilevante numero di visitatori. Se vi siete trovati di fronte ad un sito che, di solito, si caricava facilmente e velocemente e che ora, invece, è molto lento probabilmente vi siete imbattuti in un caso di consumo della banda sino ai suoi limiti. La difficoltà di un browser a caricare una pagina potrebbe proprio dipendere da un problema relativo alla banda (del server), la quale deve sopportare un numero troppo elevato di richieste e di “carichi”.

Continue reading E’ Sempre Più Importante Ottimizzare Le Immagini Nel Proprio Blog

Come Diventare Un Buon Progettista di Software

Quando si tratta di diventare bravi, o bravissimi in qualcosa non si può definire un “algoritmo” particolare. Alcuni hanno semplicemente un talento naturale altri, invece, sono semplicemente degli appassionati del settore che amano dedicarsi ad aumentare le proprie conoscenze.

Indipendentemente dalla strada già percorsa, c’è sempre tempo per migliorare. Qui, ho intenzione di illustrarvi alcune delle tecniche che mi hanno aiutato lungo la mia strada, e che mi aiuteranno ancora in futuro. Inoltre, in concreto, questi consigli si possono applicare ad ogni campo, non solo a quello relativo alla progettazione di programmi.

Una precisazione: questi sono dei consigli, dei punti grazie ai quali sono riuscito ad arrivare dove mi trovo e mediante i quali sto migliorando la mia carriera.

Bene, ora, andando con ordine…

Continue reading Come Diventare Un Buon Progettista di Software

Bit di Controllo (o Parità): funzionamento e spiegazione

Esercizio: Ricavare la parola di memoria contenente i bit di controllo (parola di codice) dalla parola a 8 bit 11000110:

Parola di memoria: 11000110

Per parole di 8 bit si utilizzano 4 bit di controllo che andranno a inserirsi nelle posizioni potenze di 2  da 1 fino a 2n-1 dove n equivale al numero di bit di controllo; quindi in questo caso le posizioni dei bit di controllo saranno 1(20),2(21),4(22),8(23). Per questo la parola di memoria diventerà di questa forma:

N° bit 1 2 3 4 5 6 7 8 9 10 11 12
Parola _ _ 1 _ 1 0 0 _ 0 1 1 0

Ora si deve capire quali valori dare ai bit di controllo; si darà valore 1 se il numero dei bit controllati dallo stesso che hanno valore 1 è dispari; si darà valore 0 se questo numero è pari. Perciò si guarda quali bit vengono controllati dai bit di controllo. “In generale il bit di posto b è controllato dai bit b1,b2,….,bj tali che b1 + b2 + … + bj = b. Per esempio il bit 5 è controllato dai bit 1 e 4 dato che 1 + 4 = 5. Il bit 6 è controllato dai bit 2 e 4 in quanto 2 + 4 = 6, e così via” (libro).

Bit 1: 1,3,5,7,9,11
Bit 2: 2,3,6,7,10,11
Bit 4: 4,5,6,7,12
Bit 8: 8,9,10,11,12

Poiché il numero di bit settati a 1 è 3 (dispari), al bit 1 assegneremo il valore 1. Bit 1 = 1

Si procede così per gli altri 3 bit.Poiché il numero di bit settati a 1 è 3 (dispari), al bit 1 assegneremo il valore 1. Bit 1 = 1
Bit 2 = 1

Bit 4 = 1

Bit 8 = 0

La parola si presenterà quindi in questa forma definitiva:

N° bit 1 2 3 4 5 6 7 8 9 10 11 12
Parola 1 1 1 1 1 0 0 0 0 1 1 0

Esercizio 2: Controllare la parola di memoria 111110100110 ed identificare se qualche bit è stato modificato da un errore di sistema. (ho usato la stessa parola dell’esercizio precedente prima ma dovete considerare che non conoscete la parola di partenza, quella giusta)

N° bit 1 2 3 4 5 6 7 8 9 10 11 12
Parola 1 1 1 1 1 0 1 0 0 1 1 0

(come potete vedere ho modificato il bit 7, vediamo però di riuscire a scoprirlo )

Bisogna semplicemente controllare i bit di controllo.

Bit 1 = 1 quindi ci aspettiamo un numero dispari di bit settati a 1 fra quelli controllati dal bit 1.

N° bit 3 5 7 9 11
Parola 1 1 1 0 1

Il numero di bit settati a 1 è pari, perciò il bit modificato è uno fra questi. Sono ancora 5 quindi adesso dovremo andare a restringere il campo. Perciò andiamo a controllare il bit di controllo 2 che controlla ben 3 di questi 5 bit. Poiché il bit 2 è settato a 1 ci aspettiamo un numero dispari di bit settati a 1.

N° bit 3 6 7 10 11
Parola 1 0 1 1 1

Invece sono 4 i bit settati a 1; questo restringe il campo a 3 bit (3,7,11).

Andando ora a controllare il bit di controllo 4, sapremo se il bit 7 è quello errato o è uno fra il bit 3 e il bit 11.

Il bit 4 è settato a 1 quindi ci aspettiamo ancora un numero dispari di bit settati a 1.

N° bit 5 6 7 12
Parola 1 0 1 0

Il numero di bit settati a 1 è 2. Perciò poiché i bit 3 e 11 non sono controllati dal bit di controllo 4 possiamo affermare che il bit alterato dall’errore è il bit 7.

Avvertenza 1: se trovate un solo caso in cui il valore del bit di controllo non combacia con la situazione dei bit settati a 1 allora il bit alterato sarà proprio il bit di controllo in questione.

Avvertenza 2: scrivete sempre il numero del bit sopra al valore perché sennò vi risulterà faticoso e difficile andare ogni volta a controllare il numero dei bit settati a 1.

Guida realizzata da Angelo Velardi

Binary Search Algorithm, written in C [with video example step-to-step]

In computer science, a binary search is an algorithm for locating the position of an item in a sorted array.[1][2] Binary search works by comparing an input value to the middle element of the array. The comparison determines whether the element is equal to the input, less than the input or greater. When the element being compared to equals the input the search stops and typically returns the position of the element. If the element is not equal to the input then a comparison is made to determine whether the input is less than or greater than the element. Depending on which it is the algorithm then starts over but only searching the top or bottom subset of the array’s elements. If the input is not located within the array the algorithm will usually output a unique value indicating this. This method halves the number of items to check each time, so it finds it or determines it’s not present in logarithmic time. A binary search is a dichotomic divide and conquer search algorithm.
It is useful to find where an item is in a sorted array. For example, if you had an array for contact information, with people’s names, addresses, and telephone numbers sorted by name, you could use binary search to find out a few useful facts: whether the person’s information is in the array, what the person’s address is, and what the person’s telephone number is.
Continue reading Binary Search Algorithm, written in C [with video example step-to-step]