Design errors

  • Avoid No Visible Contact Details

  • Being Mobile Friendly (1)

  • Fast load page(2)

  • Your website needs to have a clear and concise message. Underlining the goals of your website will help you pin down your hierarchy and reading order.

  • Avoid Designing Cluttered Pages with No Whitespace.
    This follows on from not having a visual hierarchy for your website.

  • Avoid Overly Complicated Forms

  • Understanding Basic SEO

  • Search Box

  • Providing an Email Opt-In Form

Git TAG

Nelle librerie può essere utile contrassegnare dei punti di sviluppo e rilascio specifici come importanti: questi sono i TAG.

Una volta mergiato il branch con la modifica importante, si fa il checkout nel master e si usa il comando

git tag -a "1.0.1" -m "Messaggio della commit della modifica" 

poi si fa il push

git rebase

Quando il branch in cui stai lavorando viene "superato" dal master, è necessario fare un rebase del master nel tuo branch.

Nel caso che qualcun'altro stia lavorando allo stesso branch, invece di fare la pull, meglio allinearsi all'ultima commit ( o potrebbero esserci dei conflitti )
 
git reset --hard 71def3d

Git commands

Git

Qualche breve appunto personale per l'utilizzo di GIT  dalla console GIT  BASH Git è un sistema di controllo di versione libero e open source. E' diventato uno standard per il controllo di versione, assieme ad altri sistemi come Subversion e CVS

npm & bower: differenze

NPM è più comunemente usato per la gestione di moduli Node.js, ( ) ma funziona anche per il front-end. Bower invece è stato creato esclusivamente per il front-end ed è ottimizzato per questo compito, e si intsalla proprio come pacchetto npm

npm install -g bower

La differenza più grande è l'albero delle dipendenze di NPM è "nidificato" mentre Bower richiede un albero delle dipendenze piatta (cioè la risoluzione delle dipendenze deve essere risolta in un apposito file json dallo sviluppatore).

AngularjS ng-if

La direttiva ng-if ( l'ng serve come namespace per indicare che è una direttiva integrata e distinguerla dalle custom ) consente di nascondere degli elementi in base ad una condizione, visivamente come fa l'ng-show (che però si limita a visualizzare o nascondere gli elementi del DOM) mentre ng-if li elimina o crea dinamicamente.

$broadcast

$broadcast(name, args);

Invia un evento name verso il basso attraverso la gerarchia di applicazione, notificandolo ai listener registrati nello $rootScope.

Tutti i listener in ascolto per gli eventi name su questo ambito vengono notificati. In seguito, l'evento si propaga a tutti gli scope diretti e indiretti dello scope attuale e chiama tutti i listener registrati lungo la strada. L'evento non può essere cancellato.

$emit

$emit(name, args);

Invia un evento name verso l'alto attraverso la gerarchia di applicazione, notificandolo ai listener registrati nello $rootScope Il ciclo di vita dell'evento inizia nell'ambito su cui $ emit è stato chiamato.

Tutti i listener in ascolto per gli eventi name su questo ambito vengono notificati. In seguito, l'evento attraversa verso l'alto verso il campo di applicazione dello scope root e chiama tutti gli ascoltatori registrati lungo la strada.

$rootScope

Lo Scope è un oggetto che fa riferimento al modello dell'applicazione: è il collante tra il controller e la view, contesto di esecuzione per le espressioni angular.

Gli Scope sono disposti nella struttura gerarchica ad imitazione della struttura DOM dell'applicazione e possono ospitare l'esecuzione delle espressioni angular e forniscono una funzionalità di ascolto sugli eventi emission/broadcast e possono propagarli.

angular Js - scope

La funzione che definisce il controller ha un parametro $scope.

Questo parametro, che inizia con il dollaro ($) come tutti gli oggetti di sistema, viene passato dal framework al controller ed è un oggetto condiviso con la view.

Il compito dello scope è di consentire la definizione del modello dei dati e la sua esposizione alla view.