Quando si lavora su diversi rami in Eclipse, si trovano spesso a chiedersi se si sta lavorando nell'area di lavoro giusto per il ramo di destra. Questo è particolarmente un problema se si dispone di più istanze di Eclipse aperto e si sta lavorando su diversi rami della stessa base di codice, ad esempio. dev, fissare, di rilascio e dispongono di filiali.
Ci sono un certo numero di caratteristiche in Eclipse che possono aiutare a distinguere quale finestra appartiene a quale ramo, tra cui chiamare il vostro spazio di lavoro, la denominazione prospettive e colorare la vostra finestra.
La maggior parte delle caratteristiche non si mostrano l' attuale ramo (es. Il suo nome come esiste nel SCM), ma consentono di contrassegnare manualmente uno spazio di lavoro come appartenente ad un ramo.
Annuncio pubblicitario
Visualizzare il nome dell'area di lavoro nella barra del titolo della finestra
Il modo più semplice per identificare quale ramo su cui state lavorando, è quello di nominare l'area di lavoro per fare il nome compare nella barra del titolo della finestra.
Per modificare il nome dell'area di lavoro:
Vai alla Finestra> Preferenze> Generale> Area di lavoro .
Modificare l'impostazione nome dello spazio di lavoro (mostrato in titolo della finestra) per il nome del ramo o qualunque identificazione nome che ti piace.
Fare clic su OK.
Workspace_name_preference
La vostra barra del titolo della finestra dovrebbe ora contenere il nome inserito come il primo bit.
Workspace_name_in_title_bar
Visualizzare il percorso di lavoro al termine della barra del titolo della finestra
Eclipse può anche visualizzare il percorso lavoro, nella barra del titolo della finestra. Questo viene fatto attraverso un argomento della riga di comando. Il modo più semplice per attivare questo è quello di eseguire Eclipse con -showlocation :
c: \ eclipse> Eclipse -showlocation
Il percorso di lavoro appare ora nella barra del titolo alla fine del titolo.
Workspace_path_in_title_bar
E 'un po' meno utile di chiamare il vostro spazio di lavoro come la barra delle applicazioni non possono avere spazio sufficiente per visualizzare il percorso in modo da non si può facilmente identificare la finestra di destra nella barra delle applicazioni. E a volte il percorso non identifica il ramo attuale.
È inoltre possibile fornire un nome dell'area di lavoro, alla fine, ad es. Eclissare ReleaseBranch -showlocation . Per rendere l' -showlocation abbia effetto ogni volta che si richiama Eclipse, è possibile aggiungere al tuo eclipse.ini file come un argomento della linea di comando (al di sopra dei -vmargs ).
Annuncio pubblicitario
Modifica Editor e visualizzare i colori
Potete personalizzare completamente i colori dei vostri editori Eclipse e punti di vista. Questo fornisce anche un modo utile per distinguere tra due rami differenti, soprattutto se la barra del titolo è un po 'troppo sottile per voi.
Per cambiare i colori, vi consiglio di installare il plug-in di Eclipse tema colore e scegliendo uno dei temi dal sito associato.
Per modificare i colori manualmente, si può andare a Finestra> Preferenze> Generale> Aspetto> Colori e caratteri e cambiare i colori da lì. Si dovrà passare un po 'di tempo armeggiare intorno con le diverse componenti, però, in modo da utilizzare i temi esistenti o importare le preferenze esistenti è raccomandato.
Altri modi per identificare il ramo
Qui ci sono alcuni altri modi per identificare quale ramo si sta lavorando, anche se alcuni potrebbero non essere immediatamente evidente come quelli di cui sopra:
Creare un punto di vista e il nome di conseguenza, ad es. Java (versione Branch) . Dal momento che il nome di prospettiva è sempre visualizzato nel titolo della finestra, apparirà anche il nome del ramo lì. Purtroppo, dovrete fare questo per tutte le prospettive che si usa. Vedere layout prospettiva Share Eclipse in più aree di lavoro di modi per risparmiare creare un nuovo punto di vista.
Aprire i punti di vista Package Explorer o Navigator e guardare l'etichetta sui progetti. Questo dovrebbe dirvi quale ramo su cui state lavorando. E 'un po' più ingombrante rispetto agli altri metodi, però. Vedere anche mostrare subito una classe / file nel pacchetto / progetti in Eclipse .
Mondo Java
martedì 8 marzo 2016
martedì 26 gennaio 2016
Retrobuild - Java Costruire e di esportazione del sistema
Sistema di compilazione in grado di creare un sacco di problemi. Ecco uno sguardo a Java Export e costruire sistemi.
a Zona di Java è portato a voi in collaborazione con AppDynamics. Scopri come AppDynamics passaggi per aggiornare il vostro gioco le prestazioni e impedire l'azienda da questi primi 10 problemi di prestazioni Java.
Costruire sistema è uno dei più grandi problemi che ho visto in diverse aziende, sia quelle che ho lavorato per e quello che ho consultato. Il processo di generazione è sempre complicata (che solo poche persone in azienda sapeva) e richiede trucchi (schede, nuove linee ...).
Ho costruito ClassyShark con built-in opzione del IntelliJ di manufatti esportatori. Come ClassyShark diventato più grande e complicato, il processo di artefatti costruire diventato più fastidioso. E 'stato girarsi intorno caselle di controllo e le opzioni di interfaccia utente, e facendo in modo che ogni nuova dipendenza (vaso) ha fatto la sua strada verso il vaso di rilascio. In realtà girarsi intorno l'interfaccia utente è stata solo il sintomo. Il vero problema era che non ero in controllo sul mio processo di compilazione, sorta di vivere sotto pietà IDE. Questo mi ha fatto davvero scomodi (credo qualcosa cambia in IDE ecc ').
Quindi ho bisogno di qualcosa di meglio; costruire sistema! Ho guardato il seguente:
Gradle
formica
Maven
compiere
scons
...
Ma non ho trovato li rende adatti per ClassyShark. Per lo più a causa di motivi di avere costruire sistemi diventano più complicato di quanto il progetto si costruisce, importanti modifiche alla struttura ClassyShark, l'aggiunta e il mantenimento di costruire script in diverse lingue e formati.
Così ho scritto il mio: Retrobuild, sistema vaso piccolo, semplice, veloce e costruire e di esportazione.
Tutto sommato, avevo bisogno di quattro cose:
Rendere la cartella stampa
Compilare fonti in cartella stampa
Copiare vasetti di dipendenza e di estrarre le loro classi nella stessa cartella di rilascio
Crea vaso dalle classi nei passaggi 2 e 3
E Retrobuild fa tutti scritti in scritto in Java puro, eseguire il debug, indipendente dalla piattaforma, ricco ecosistema, API familiari. Non c'è bisogno di guardare XMLs, per strappare con sistema complicato, utile per i miei prossimi progetti e senza cambiamenti di codice ClassyShark.
Sentitevi liberi di usare come bene, abbastanza semplice, creare i metodi di override della classe Config definiti qui. Qui è la semplice principale. Chiamare il seguente codice:
RetroBuild.with (nuovo MyBuildConfig ()) costruire ().;
E costruire!
Finora l'esportazione ClassyShark con IntelliJ richiede 2,7 secondi, mentre con Retrobuild ci vogliono 3 secondi. Questo è qualcosa che posso vivere con.
La Zona di Java è portato a voi in collaborazione con AppDynamics. AppDynamics consente di ottenere i fondamenti che stanno dietro le prestazioni delle applicazioni, e implementare le migliori pratiche in modo da poter in modo proattivo analizzare e intervenire sui problemi di prestazioni che si presentano, e più in particolare con le applicazioni Java. Avviare una versione di prova gratuita.
martedì 5 gennaio 2016
Un modo facile per identificare diversi rami quando si utilizza Eclipse
Quando si lavora su diversi rami in Eclipse, si trovano spesso a chiedersi se si sta lavorando nell'area di lavoro giusto per il ramo di destra. Questo è particolarmente un problema se si dispone di più istanze Eclipse aperto e si sta lavorando su diversi rami della stessa base di codice, ad esempio. dev, fissare, di rilascio e questi rami.
Ci sono una serie di caratteristiche in Eclipse che possono aiutare a distinguere quale finestra appartiene a quale ramo, tra cui chiamare il vostro spazio di lavoro, nominando prospettive e colorare la vostra finestra.
La maggior parte delle funzionalità non vi mostrano il vero ramo (es. Il suo nome come esiste nella SCM), ma consentono di contrassegnare manualmente uno spazio di lavoro come appartenente a un ramo.
Annuncio pubblicitario
Visualizzare il nome lavoro, nella barra del titolo della finestra
Il modo più semplice per identificare quale ramo su cui state lavorando, è dare un nome al lavoro per rendere il nome compare nella barra del titolo della finestra.
Per modificare il nome dell'area di lavoro:
Vai a Finestra> Preferenze> Generale> Area di lavoro.
Modificare l'impostazione nome dello spazio di lavoro (mostrato in titolo della finestra) per il nome della vostra filiale o qualunque identificazione nome che ti piace.
Fare clic su OK.
Workspace_name_preference
La vostra barra del titolo della finestra dovrebbe ora contenere il nome inserito come primo bit.
Workspace_name_in_title_bar
Visualizzare il percorso di lavoro alla fine della barra del titolo della finestra
Eclipse può anche visualizzare il percorso di lavoro nella barra del titolo della finestra. Questo viene fatto tramite un argomento della riga di comando. Il modo più semplice per attivare questo è quello di eseguire Eclipse con -showlocation:
c: \ eclipse> eclipse -showlocation
Il percorso dell'area di lavoro verrà visualizzato nella barra del titolo alla fine del titolo.
Workspace_path_in_title_bar
E 'un po' meno utile di chiamare il vostro spazio di lavoro come la barra delle applicazioni non possono avere spazio sufficiente per visualizzare il percorso in modo da non si può facilmente identificare la finestra a destra nella barra delle applicazioni. E a volte il percorso non identifica il ramo effettivo.
È inoltre possibile fornire un nome dell'area di lavoro, alla fine, ad es. Eclissare ReleaseBranch -showlocation. Per rendere l'-showlocation abbia effetto ogni volta che si richiama Eclipse, è possibile aggiungerlo al eclipse.ini file come argomento della riga di comando (al di sopra dei -vmargs).
Annuncio pubblicitario
Cambia redattore e visualizzare i colori
Potete personalizzare completamente i colori dei vostri redattori Eclipse e punti di vista. Questo fornisce anche un modo utile di distinguere tra due rami diversi, soprattutto se la barra del titolo è un po 'troppo sottile per voi.
Per modificare i colori, vi consiglio di installare il tema plugin di Eclipse a colori e scegliendo uno dei temi del sito associato.
Per modificare manualmente i colori, si può andare a Finestra> Preferenze> Generale> Aspetto> Colori e caratteri e cambiare i colori da lì. Si dovrà passare un po 'di tempo armeggiare intorno con le diverse componenti, però, in modo da utilizzare i temi esistenti o importare le preferenze esistenti è raccomandato.
Altri modi per identificare il ramo
Qui ci sono alcuni altri modi per identificare quale ramo si sta lavorando, anche se alcuni potrebbero non essere così immediatamente evidente come quelli sopra:
Creare un punto di vista e il nome di conseguenza, ad es. Java (versione Branch). Dal momento che il nome prospettiva è sempre visualizzato nel titolo della finestra, il nome del ramo apparirà anche lì. Purtroppo, dovrete fare questo per tutte le prospettive che si usa. Vedere Condividi Eclipse impianti prospettici su più spazi di lavoro di modi per risparmiare creare una nuova prospettiva.
Aprire i punti di vista Package Explorer o Navigator e guardare l'etichetta sui progetti. Che dovrebbe dirvi quale ramo si sta lavorando. E 'un po' più ingombrante rispetto agli altri metodi, però. Vedere anche Immediatamente mostrare una classe / file nel pacchetto / Esplora progetti in Eclipse.
Ci sono una serie di caratteristiche in Eclipse che possono aiutare a distinguere quale finestra appartiene a quale ramo, tra cui chiamare il vostro spazio di lavoro, nominando prospettive e colorare la vostra finestra.
La maggior parte delle funzionalità non vi mostrano il vero ramo (es. Il suo nome come esiste nella SCM), ma consentono di contrassegnare manualmente uno spazio di lavoro come appartenente a un ramo.
Annuncio pubblicitario
Visualizzare il nome lavoro, nella barra del titolo della finestra
Il modo più semplice per identificare quale ramo su cui state lavorando, è dare un nome al lavoro per rendere il nome compare nella barra del titolo della finestra.
Per modificare il nome dell'area di lavoro:
Vai a Finestra> Preferenze> Generale> Area di lavoro.
Modificare l'impostazione nome dello spazio di lavoro (mostrato in titolo della finestra) per il nome della vostra filiale o qualunque identificazione nome che ti piace.
Fare clic su OK.
Workspace_name_preference
La vostra barra del titolo della finestra dovrebbe ora contenere il nome inserito come primo bit.
Workspace_name_in_title_bar
Visualizzare il percorso di lavoro alla fine della barra del titolo della finestra
Eclipse può anche visualizzare il percorso di lavoro nella barra del titolo della finestra. Questo viene fatto tramite un argomento della riga di comando. Il modo più semplice per attivare questo è quello di eseguire Eclipse con -showlocation:
c: \ eclipse> eclipse -showlocation
Il percorso dell'area di lavoro verrà visualizzato nella barra del titolo alla fine del titolo.
Workspace_path_in_title_bar
E 'un po' meno utile di chiamare il vostro spazio di lavoro come la barra delle applicazioni non possono avere spazio sufficiente per visualizzare il percorso in modo da non si può facilmente identificare la finestra a destra nella barra delle applicazioni. E a volte il percorso non identifica il ramo effettivo.
È inoltre possibile fornire un nome dell'area di lavoro, alla fine, ad es. Eclissare ReleaseBranch -showlocation. Per rendere l'-showlocation abbia effetto ogni volta che si richiama Eclipse, è possibile aggiungerlo al eclipse.ini file come argomento della riga di comando (al di sopra dei -vmargs).
Annuncio pubblicitario
Cambia redattore e visualizzare i colori
Potete personalizzare completamente i colori dei vostri redattori Eclipse e punti di vista. Questo fornisce anche un modo utile di distinguere tra due rami diversi, soprattutto se la barra del titolo è un po 'troppo sottile per voi.
Per modificare i colori, vi consiglio di installare il tema plugin di Eclipse a colori e scegliendo uno dei temi del sito associato.
Per modificare manualmente i colori, si può andare a Finestra> Preferenze> Generale> Aspetto> Colori e caratteri e cambiare i colori da lì. Si dovrà passare un po 'di tempo armeggiare intorno con le diverse componenti, però, in modo da utilizzare i temi esistenti o importare le preferenze esistenti è raccomandato.
Altri modi per identificare il ramo
Qui ci sono alcuni altri modi per identificare quale ramo si sta lavorando, anche se alcuni potrebbero non essere così immediatamente evidente come quelli sopra:
Creare un punto di vista e il nome di conseguenza, ad es. Java (versione Branch). Dal momento che il nome prospettiva è sempre visualizzato nel titolo della finestra, il nome del ramo apparirà anche lì. Purtroppo, dovrete fare questo per tutte le prospettive che si usa. Vedere Condividi Eclipse impianti prospettici su più spazi di lavoro di modi per risparmiare creare una nuova prospettiva.
Aprire i punti di vista Package Explorer o Navigator e guardare l'etichetta sui progetti. Che dovrebbe dirvi quale ramo si sta lavorando. E 'un po' più ingombrante rispetto agli altri metodi, però. Vedere anche Immediatamente mostrare una classe / file nel pacchetto / Esplora progetti in Eclipse.
martedì 24 marzo 2015
Senti la saggezza dei vostri anziani di programmazione, o subire le conseguenze di codice fondamentalmente errata
In un episodio 1.06 della serie HBO "Silicon Valley", Richard, il fondatore di una startup, entra in un vicolo cieco e si rivolge per aiuto a un ragazzo che sembra 13 o 14.
Il ragazzo genio prende uno sguardo a Richard e dice: "Ho pensato che saresti più giovane. Cosa sei, 25? "
Tutti gli occhi sul API
Una volta che un umile cornice per lo sviluppo di software real, progettazione API sta affermando la propria identità, con una pletora
LEGGI ORA
"26," Richard risponde.
"Yikes".
L'industria del software venera il giovane. Se avete una famiglia, sei troppo vecchio per il codice. Se si sta spingendo il 30 o anche 25, si è già oltre la collina.
Ahimè, i whippersnappers non sono sempre la soluzione migliore. Mentre i loro cervelli sono pieni di dettagli circa i più recenti, architetture trendy, quadri, e pile, non hanno l'esperienza fondamentale di come il software funziona davvero e non. Queste esperienze vengono solo dopo molte settimane perdute di frustrazione a carico di insetti strani e inspiegabili.
Come gli spettatori di "Silicon Valley", che entro la fine dell'episodio 1.06 avere la soddisfazione di vedere il crollo ragazzo genio e bruciano, molti di noi graybeards programmazione godono un pochino di schadenfraude quando coloro che ci hanno ignorato per essere "passato il nostro prime "finire con un mucchio fiammeggiante di codice semplicemente perché non hanno ascoltato i loro anziani di programmazione.
Nello spirito di condivisione o di agitare semplicemente un dito saggio ai giovani ragazzi, ancora una volta, qui ci sono diverse lezioni che non possono essere imparate saltando sulle ultime treno hype per un paio di settimane. Essi sono noti solo ai tizi che hanno bisogno di due cifre esadecimali a scrivere la loro età.
Questioni di memoria
Non è stato molto tempo fa che RAM del computer è stata misurata in non megabyte gigabyte. Quando ho costruito il mio primo computer (a Sol-20), è stata misurata in kilobyte. C'erano circa 64 chip di RAM su quel bordo e ognuno aveva circa 18 pin. Non ricordo il numero esatto, ma ricordo saldare ogni ultimo uno di loro me stesso. Quando ho incasinato, ho dovuto risaldare fino al test della memoria passata.
Quando si passa attraverso i cerchi del genere per la RAM, si impara a trattarla come l'oro. I bambini di oggi allocare RAM a destra ea sinistra. Lasciano puntatori penzoloni e non puliscono le loro strutture di dati, poiché la memoria sembra a buon mercato. Sanno fanno clic su un pulsante e l'hypervisor aggiunge un altro 16 GB all'istanza cloud. Perché qualcuno dovrebbe programmare cura oggi di RAM quando Amazon affitteranno un'istanza con 244GB?
Ma c'è sempre un limite a quello che farà il garbage collector, esattamente come c'è un limite a quante volte un genitore ripulire la vostra stanza. È possibile assegnare un grosso mucchio, ma alla fine è necessario ripulire la memoria. Se sei uno spreco e correre attraverso RAM come i tessuti di stagione influenzale, il garbage collector potrebbe cogliere fino macinazione attraverso quella 244GB.
Poi c'è il pericolo di memoria virtuale. Il software verrà eseguito da 100 a 1000 volte più lento se il computer esegue di RAM e comincia lo swapping su disco. La memoria virtuale è grande, in teoria, ma più lento di fanghi in pratica. I programmatori di oggi devono riconoscere che la RAM è ancora prezioso. Se non lo fanno, il software che viene eseguito rapidamente durante lo sviluppo rallenta a passo d'uomo, quando la folla si presentano. Il tuo lavoro semplicemente non scala. In questi giorni, tutto è di essere in grado di scalare. Gestisci la tua memoria prima il software o il servizio cade a pezzi.
RECENTI JAVA HOW-TO s
grandi di dati grafici grafici user analisi donna
Imparare a macinare grandi dati con R
vacanza luci flusso di rete neuroni
Programmazione socket per sistemi scalabili
WebTools
Responsive web design con Google Web Toolkit
Le reti di computer sono lenti
La gente di marketing che vendono la nube piace fingere cloud è una sorta di calcolo cielo, dove gli angeli si muovono i dati con un lampeggio. Se si desidera memorizzare i dati, che sono pronti a vendere un semplice servizio Web che fornirà permanente, di storage back-up e non sarà necessario preoccuparsi mai su di esso.
Essi possono essere di destra in quanto potrebbe non essere necessario preoccuparsi, ma avrete sicuramente bisogno di aspettare per questo. Tutto il traffico in e fuori del computer richiede tempo. Le reti di computer sono drasticamente più lento del traffico tra la CPU e il disco rigido locale.
Graybeards Programmazione cresciuto in un'epoca in cui Internet non esisteva. FidoNet avrebbe percorso il messaggio chiamando un altro computer che potrebbe essere più vicino alla destinazione. I Suoi dati prenderebbero giorni a farsi strada in tutto il paese, starnazzare e fischi attraverso modem lungo la strada. Questa dolorosa esperienza ha insegnato loro che la soluzione giusta per funzionare come tanto di calcolo, come si può a livello locale e scrivere a un servizio Web remoto solo quando tutto è più piccolo e finale possibile. I programmatori di oggi possono prendere una punta da queste lezioni sudati del passato conoscendo, come i graybeards programmazione, che le promesse di cloud storage sono pericolosi e devono essere evitati fino all'ultimo millisecondo.
Compilatori hanno bug
Quando le cose vanno in tilt, il problema più spesso di quanto non si trova nel nostro codice. Abbiamo dimenticato di inizializzare qualcosa, o ci siamo dimenticati di controllare un puntatore nullo. Qualunque sia il motivo specifico, ogni programmatore sa, quando il nostro software cade, è il nostro errore stupido - periodo.
Come si è visto, gli errori più folli non sono colpa nostra. A volte la colpa è esattamente sul compilatore o l'interprete. Mentre compilatori e interpreti sono relativamente stabili, non sono perfetti. La stabilità di compilatori e interpreti di oggi è stata duramente guadagnati. Purtroppo, prendendo questa stabilità per scontato è diventata la norma.
POPOLARE SUL JAVAWORLD
Giava
Recensione: Il grande 4 Java IDE rispetto
sul bersaglio
Modelli di stabilità applicate in un'architettura RESTful
Diagramma di flusso Thinkstock
Java ME 8 e l'Internet delle cose
E 'importante ricordare anche loro possono sbagliare e considerare questo quando il debug del codice. Se non conoscete potrebbe essere colpa del compilatore, è possibile trascorrere giorni o settimane tirando fuori i capelli. I vecchi programmatori hanno imparato da tempo che a volte la strada migliore per il debug di un problema comporta il test non è il nostro codice, ma i nostri strumenti. Se si mette la fiducia implicita nel compilatore e non pensate ai calcoli che sta compiendo per rendere il codice, è possibile trascorrere giorni o settimane tirando fuori i capelli in cerca di un bug nel tuo lavoro che non esiste. I giovani ragazzi, ahimè, impareranno questo abbastanza presto.
La velocità conta per gli utenti
Molto tempo fa, ho sentito che IBM ha fatto uno studio su usabilità e ha scoperto che le menti delle persone inizieranno a vagare dopo 100 millisecondi. E 'vero? Ho chiesto a un motore di ricerca, ma Internet appeso e ho dimenticato di riprovare.
Chiunque mai usato vecchie applicazioni green-schermo di IBM collegato a un mainframe IBM sa che IBM costruito le sue macchine, come se questo 100 millisecondi soglia-mente errante era un fatto hard-wired nel nostro cervello. Essi corrosi sulla circuiteria I / O. Quando hanno venduto i mainframe, hanno rilasciato schede tecniche che contano il numero di canali I / O erano in scatola, nello stesso modo i produttori di automobili contano cilindri nei motori. Certo, le macchine si è schiantato, esattamente come quelli moderni, ma quando è andato bene, i dati volarono fuori dei canali direttamente agli utenti.
Ho assistito almeno una whippersnapper programmazione difendere un nuovo progetto AJAX-pesante che è stato impantanato da troppe librerie JavaScript e dati che fluiscono al browser. Non è giusto, spesso ribattono, di confrontare le loro innovazioni slow-as-fanghi con i vecchi terminali schermo verde che hanno sostituito. Il resto della società dovrebbe smettere di lamentarsi. Dopo tutto, abbiamo una grafica migliore e più colori nelle nostre applicazioni. E 'vero - il fresco, CSS-enabled tutto sembra grande, ma gli utenti odiano perché è lento.
Il vero Web non è mai veloce come la rete degli uffici
I siti web moderni possono essere maiali tempo. Spesso può richiedere diversi secondi per i megabyte di librerie JavaScript per arrivare. Poi il browser deve spingere questi megabyte multistrato attraverso un compilatore JIT. Se potessimo aggiungere tutto il tempo del mondo spende ricompilazione jQuery, potrebbe essere migliaia o addirittura milioni di anni.
Questo è un errore facile per i programmatori che sono innamorato di strumenti basati su browser che utilizzano AJAX ovunque. Tutto sembra grande in demo presso l'ufficio. Dopo tutto, il server è in genere sulla scrivania nel cubicolo. A volte il "server" è in esecuzione su localhost. Naturalmente, i file arrivano con lo scatto di un dito e tutto sembra grande, anche quando il capo verifica dal angolo ufficio.
Ma gli utenti su una linea DSL o alla fine di una connessione cellulare instradati attraverso una torre di sovraccarico? Stanno ancora aspettando le librerie per arrivare. Quando non arriva in pochi millisecondi, sono fuori di qualche articolo su TMZ.
Questioni complessità algoritmica
Su un progetto, mi sono imbattuto in problemi con un problema esattamente come Richard in "Silicon Valley" e mi sono girato verso qualcuno all'età bere sotto che sapeva Greasemonkey avanti e indietro. Ha riscritto il nostro codice e mandato indietro. Dopo la lettura attraverso i cambiamenti, mi sono reso conto di aver fatto sembrare più elegante, ma la complessità algoritmica è passato da O (n) a O (n ^ 2) . Fu attaccare dati in un elenco al fine di corrispondere le cose. Sembrava abbastanza, ma sarebbe ottenere molto lento come n ottenuto grandi.
Complessità algoritmo è una cosa che i corsi universitari in informatica fare bene. Ahimè, molti ragazzi delle scuole superiori non hanno scelto questo mentre l'insegnamento si Ruby o CoffeeScript in un week-end. Analisi della complessità può sembrare astruso e teorica, ma può fare una grande differenza come scala progetti. Tutto sembra grande quando n è piccolo. Esattamente come il codice può essere eseguito rapidamente quando c'è abbastanza memoria, algoritmi cattivi possono guardare scattante in fase di test. Ma quando gli utenti moltiplicano, è un incubo aspettare su un algoritmo che prende O (n ^ 2) o, peggio ancora, O (n ^ 3) .
Quando ho chiesto il nostro ragazzo genio se aveva intenzione di trasformare il processo di corrispondenza in un algoritmo quadratico, si grattò la testa. Non era sicuro di cosa stavamo parlando. Dopo aver sostituito la sua lista con una tabella hash, tutto andava bene di nuovo. Probabilmente abbastanza grande per capire ormai.
Le biblioteche possono succhiare
Le persone che scrivono le biblioteche non hanno sempre il vostro interesse a cuore. Stanno cercando di aiutare, ma sono spesso costruendo qualcosa per il mondo, non è il tuo piccolo problema fastidioso. Spesso finiscono per la costruzione di un coltellino svizzero in grado di gestire molte versioni diverse del problema, non qualcosa ottimizzato per il vostro problema. Questa è una buona tecnica e di grande codifica, ma può essere lento.
Se non si sta prestando attenzione, le biblioteche possono trascinare il codice in una palude lento e non sarà nemmeno saperlo. Una volta ho avuto un giovane programmatore deridere il mio codice perché ho scritto 10 righe di scegliere i caratteri di una stringa.
"Posso farlo con una espressione regolare e una riga di codice," si vantava. "Miglioramento Ten-to-one." Egli non ha considerato il modo in cui la sua una riga di codice dovrebbe analizzare e di analisi che espressione regolare ogni volta che è stato chiamato. Ha semplicemente pensato che stava scrivendo una riga di codice e stavo scrivendo 10.
Biblioteche e API possono essere grandi quando viene utilizzato in modo appropriato. Ma se sono utilizzati nei cicli interni, possono avere un effetto devastante sulla velocità e non si sa perché.
Il ragazzo genio prende uno sguardo a Richard e dice: "Ho pensato che saresti più giovane. Cosa sei, 25? "
Tutti gli occhi sul API
Una volta che un umile cornice per lo sviluppo di software real, progettazione API sta affermando la propria identità, con una pletora
LEGGI ORA
"26," Richard risponde.
"Yikes".
L'industria del software venera il giovane. Se avete una famiglia, sei troppo vecchio per il codice. Se si sta spingendo il 30 o anche 25, si è già oltre la collina.
Ahimè, i whippersnappers non sono sempre la soluzione migliore. Mentre i loro cervelli sono pieni di dettagli circa i più recenti, architetture trendy, quadri, e pile, non hanno l'esperienza fondamentale di come il software funziona davvero e non. Queste esperienze vengono solo dopo molte settimane perdute di frustrazione a carico di insetti strani e inspiegabili.
Come gli spettatori di "Silicon Valley", che entro la fine dell'episodio 1.06 avere la soddisfazione di vedere il crollo ragazzo genio e bruciano, molti di noi graybeards programmazione godono un pochino di schadenfraude quando coloro che ci hanno ignorato per essere "passato il nostro prime "finire con un mucchio fiammeggiante di codice semplicemente perché non hanno ascoltato i loro anziani di programmazione.
Nello spirito di condivisione o di agitare semplicemente un dito saggio ai giovani ragazzi, ancora una volta, qui ci sono diverse lezioni che non possono essere imparate saltando sulle ultime treno hype per un paio di settimane. Essi sono noti solo ai tizi che hanno bisogno di due cifre esadecimali a scrivere la loro età.
Questioni di memoria
Non è stato molto tempo fa che RAM del computer è stata misurata in non megabyte gigabyte. Quando ho costruito il mio primo computer (a Sol-20), è stata misurata in kilobyte. C'erano circa 64 chip di RAM su quel bordo e ognuno aveva circa 18 pin. Non ricordo il numero esatto, ma ricordo saldare ogni ultimo uno di loro me stesso. Quando ho incasinato, ho dovuto risaldare fino al test della memoria passata.
Quando si passa attraverso i cerchi del genere per la RAM, si impara a trattarla come l'oro. I bambini di oggi allocare RAM a destra ea sinistra. Lasciano puntatori penzoloni e non puliscono le loro strutture di dati, poiché la memoria sembra a buon mercato. Sanno fanno clic su un pulsante e l'hypervisor aggiunge un altro 16 GB all'istanza cloud. Perché qualcuno dovrebbe programmare cura oggi di RAM quando Amazon affitteranno un'istanza con 244GB?
Ma c'è sempre un limite a quello che farà il garbage collector, esattamente come c'è un limite a quante volte un genitore ripulire la vostra stanza. È possibile assegnare un grosso mucchio, ma alla fine è necessario ripulire la memoria. Se sei uno spreco e correre attraverso RAM come i tessuti di stagione influenzale, il garbage collector potrebbe cogliere fino macinazione attraverso quella 244GB.
Poi c'è il pericolo di memoria virtuale. Il software verrà eseguito da 100 a 1000 volte più lento se il computer esegue di RAM e comincia lo swapping su disco. La memoria virtuale è grande, in teoria, ma più lento di fanghi in pratica. I programmatori di oggi devono riconoscere che la RAM è ancora prezioso. Se non lo fanno, il software che viene eseguito rapidamente durante lo sviluppo rallenta a passo d'uomo, quando la folla si presentano. Il tuo lavoro semplicemente non scala. In questi giorni, tutto è di essere in grado di scalare. Gestisci la tua memoria prima il software o il servizio cade a pezzi.
RECENTI JAVA HOW-TO s
grandi di dati grafici grafici user analisi donna
Imparare a macinare grandi dati con R
vacanza luci flusso di rete neuroni
Programmazione socket per sistemi scalabili
WebTools
Responsive web design con Google Web Toolkit
Le reti di computer sono lenti
La gente di marketing che vendono la nube piace fingere cloud è una sorta di calcolo cielo, dove gli angeli si muovono i dati con un lampeggio. Se si desidera memorizzare i dati, che sono pronti a vendere un semplice servizio Web che fornirà permanente, di storage back-up e non sarà necessario preoccuparsi mai su di esso.
Essi possono essere di destra in quanto potrebbe non essere necessario preoccuparsi, ma avrete sicuramente bisogno di aspettare per questo. Tutto il traffico in e fuori del computer richiede tempo. Le reti di computer sono drasticamente più lento del traffico tra la CPU e il disco rigido locale.
Graybeards Programmazione cresciuto in un'epoca in cui Internet non esisteva. FidoNet avrebbe percorso il messaggio chiamando un altro computer che potrebbe essere più vicino alla destinazione. I Suoi dati prenderebbero giorni a farsi strada in tutto il paese, starnazzare e fischi attraverso modem lungo la strada. Questa dolorosa esperienza ha insegnato loro che la soluzione giusta per funzionare come tanto di calcolo, come si può a livello locale e scrivere a un servizio Web remoto solo quando tutto è più piccolo e finale possibile. I programmatori di oggi possono prendere una punta da queste lezioni sudati del passato conoscendo, come i graybeards programmazione, che le promesse di cloud storage sono pericolosi e devono essere evitati fino all'ultimo millisecondo.
Compilatori hanno bug
Quando le cose vanno in tilt, il problema più spesso di quanto non si trova nel nostro codice. Abbiamo dimenticato di inizializzare qualcosa, o ci siamo dimenticati di controllare un puntatore nullo. Qualunque sia il motivo specifico, ogni programmatore sa, quando il nostro software cade, è il nostro errore stupido - periodo.
Come si è visto, gli errori più folli non sono colpa nostra. A volte la colpa è esattamente sul compilatore o l'interprete. Mentre compilatori e interpreti sono relativamente stabili, non sono perfetti. La stabilità di compilatori e interpreti di oggi è stata duramente guadagnati. Purtroppo, prendendo questa stabilità per scontato è diventata la norma.
POPOLARE SUL JAVAWORLD
Giava
Recensione: Il grande 4 Java IDE rispetto
sul bersaglio
Modelli di stabilità applicate in un'architettura RESTful
Diagramma di flusso Thinkstock
Java ME 8 e l'Internet delle cose
E 'importante ricordare anche loro possono sbagliare e considerare questo quando il debug del codice. Se non conoscete potrebbe essere colpa del compilatore, è possibile trascorrere giorni o settimane tirando fuori i capelli. I vecchi programmatori hanno imparato da tempo che a volte la strada migliore per il debug di un problema comporta il test non è il nostro codice, ma i nostri strumenti. Se si mette la fiducia implicita nel compilatore e non pensate ai calcoli che sta compiendo per rendere il codice, è possibile trascorrere giorni o settimane tirando fuori i capelli in cerca di un bug nel tuo lavoro che non esiste. I giovani ragazzi, ahimè, impareranno questo abbastanza presto.
La velocità conta per gli utenti
Molto tempo fa, ho sentito che IBM ha fatto uno studio su usabilità e ha scoperto che le menti delle persone inizieranno a vagare dopo 100 millisecondi. E 'vero? Ho chiesto a un motore di ricerca, ma Internet appeso e ho dimenticato di riprovare.
Chiunque mai usato vecchie applicazioni green-schermo di IBM collegato a un mainframe IBM sa che IBM costruito le sue macchine, come se questo 100 millisecondi soglia-mente errante era un fatto hard-wired nel nostro cervello. Essi corrosi sulla circuiteria I / O. Quando hanno venduto i mainframe, hanno rilasciato schede tecniche che contano il numero di canali I / O erano in scatola, nello stesso modo i produttori di automobili contano cilindri nei motori. Certo, le macchine si è schiantato, esattamente come quelli moderni, ma quando è andato bene, i dati volarono fuori dei canali direttamente agli utenti.
Ho assistito almeno una whippersnapper programmazione difendere un nuovo progetto AJAX-pesante che è stato impantanato da troppe librerie JavaScript e dati che fluiscono al browser. Non è giusto, spesso ribattono, di confrontare le loro innovazioni slow-as-fanghi con i vecchi terminali schermo verde che hanno sostituito. Il resto della società dovrebbe smettere di lamentarsi. Dopo tutto, abbiamo una grafica migliore e più colori nelle nostre applicazioni. E 'vero - il fresco, CSS-enabled tutto sembra grande, ma gli utenti odiano perché è lento.
Il vero Web non è mai veloce come la rete degli uffici
I siti web moderni possono essere maiali tempo. Spesso può richiedere diversi secondi per i megabyte di librerie JavaScript per arrivare. Poi il browser deve spingere questi megabyte multistrato attraverso un compilatore JIT. Se potessimo aggiungere tutto il tempo del mondo spende ricompilazione jQuery, potrebbe essere migliaia o addirittura milioni di anni.
Questo è un errore facile per i programmatori che sono innamorato di strumenti basati su browser che utilizzano AJAX ovunque. Tutto sembra grande in demo presso l'ufficio. Dopo tutto, il server è in genere sulla scrivania nel cubicolo. A volte il "server" è in esecuzione su localhost. Naturalmente, i file arrivano con lo scatto di un dito e tutto sembra grande, anche quando il capo verifica dal angolo ufficio.
Ma gli utenti su una linea DSL o alla fine di una connessione cellulare instradati attraverso una torre di sovraccarico? Stanno ancora aspettando le librerie per arrivare. Quando non arriva in pochi millisecondi, sono fuori di qualche articolo su TMZ.
Questioni complessità algoritmica
Su un progetto, mi sono imbattuto in problemi con un problema esattamente come Richard in "Silicon Valley" e mi sono girato verso qualcuno all'età bere sotto che sapeva Greasemonkey avanti e indietro. Ha riscritto il nostro codice e mandato indietro. Dopo la lettura attraverso i cambiamenti, mi sono reso conto di aver fatto sembrare più elegante, ma la complessità algoritmica è passato da O (n) a O (n ^ 2) . Fu attaccare dati in un elenco al fine di corrispondere le cose. Sembrava abbastanza, ma sarebbe ottenere molto lento come n ottenuto grandi.
Complessità algoritmo è una cosa che i corsi universitari in informatica fare bene. Ahimè, molti ragazzi delle scuole superiori non hanno scelto questo mentre l'insegnamento si Ruby o CoffeeScript in un week-end. Analisi della complessità può sembrare astruso e teorica, ma può fare una grande differenza come scala progetti. Tutto sembra grande quando n è piccolo. Esattamente come il codice può essere eseguito rapidamente quando c'è abbastanza memoria, algoritmi cattivi possono guardare scattante in fase di test. Ma quando gli utenti moltiplicano, è un incubo aspettare su un algoritmo che prende O (n ^ 2) o, peggio ancora, O (n ^ 3) .
Quando ho chiesto il nostro ragazzo genio se aveva intenzione di trasformare il processo di corrispondenza in un algoritmo quadratico, si grattò la testa. Non era sicuro di cosa stavamo parlando. Dopo aver sostituito la sua lista con una tabella hash, tutto andava bene di nuovo. Probabilmente abbastanza grande per capire ormai.
Le biblioteche possono succhiare
Le persone che scrivono le biblioteche non hanno sempre il vostro interesse a cuore. Stanno cercando di aiutare, ma sono spesso costruendo qualcosa per il mondo, non è il tuo piccolo problema fastidioso. Spesso finiscono per la costruzione di un coltellino svizzero in grado di gestire molte versioni diverse del problema, non qualcosa ottimizzato per il vostro problema. Questa è una buona tecnica e di grande codifica, ma può essere lento.
Se non si sta prestando attenzione, le biblioteche possono trascinare il codice in una palude lento e non sarà nemmeno saperlo. Una volta ho avuto un giovane programmatore deridere il mio codice perché ho scritto 10 righe di scegliere i caratteri di una stringa.
"Posso farlo con una espressione regolare e una riga di codice," si vantava. "Miglioramento Ten-to-one." Egli non ha considerato il modo in cui la sua una riga di codice dovrebbe analizzare e di analisi che espressione regolare ogni volta che è stato chiamato. Ha semplicemente pensato che stava scrivendo una riga di codice e stavo scrivendo 10.
Biblioteche e API possono essere grandi quando viene utilizzato in modo appropriato. Ma se sono utilizzati nei cicli interni, possono avere un effetto devastante sulla velocità e non si sa perché.
giovedì 5 marzo 2015
Come semplificare il temuto compito di Documentazione Pubblicazione con Pages GitHub
Non è necessario reinventare il sito Web di pubblicare alcuni documenti per il vostro progetto. Approfitta delle pagine GitHub per costruire quasi point-and-click siti doc.
Con Terrence Dorsey2015/03/04
Documentazione progetti software non deve essere difficile. La parte di scrittura è difficile da evitare (se avrò alcuni suggerimenti su che più tardi). Si può prendere cura della parte dell'editoria abbastanza facilmente, tuttavia, senza cadere nella tana del coniglio di scrivere il proprio framework CMS o Web - anche se questi continuano ad essere le strategie di procrastinazione popolari per gli sviluppatori che preferisce scrivere il codice che la documentazione.
Ecco il trucco: Se si sta utilizzando il tuo codice GitHub repository di origine, è possibile usufruire del servizio di built-in Pages GitHub dispongono di pubblicare, di accoglienza, e anche costruire e rendere la documentazione Web-based.
Basta che ospita il sito della documentazione di per sé non è una tale impresa incredibile. In questi giorni di solito è un processo semplice per far girare un server e spingere il tuo sito. Solitamente, ma non sempre. Ci sono i costi di tempo e denaro per impostare e gestire un server Web, anche se si sta lavorando da soli. E questa è la migliore delle ipotesi. Prova la navigazione del big-società la burocrazia per ottenere un server approvato ... e questo è prima di navigare il big-processi aziendali IT per ottenere installato e funzionante.
D'altra parte, se si dispone di un account di GitHub, GitHub pagine si presenta come parte del pacchetto. Se si dispone di depositi privati, come ad esempio attraverso un conto GitHub aziendale, è possibile anche sfruttare le funzioni di autenticazione e autorizzazione organizzazione built-in per limitare chi può vedere e contribuire alla documentazione pubblicata con GitHub Pages.
GitHub ha i wiki, ma sono fortemente limitato di funzionalità rispetto a GitHub Pages, che ha accesso a praticamente qualsiasi cosa si potrebbe impiegare per un sito Web normale compreso CSS personalizzato, JavaScript, framework Web, la compilazione automatica e più.
Così come funziona tutta questa magia? Prendiamo GitHub Pages per un giro con due semplici progetti che dimostrano le basi.
HTML statico
La versione più semplice di un progetto GitHub Pagine coinvolge tre elementi: un repository, un ramo GH-pagine per il progetto in file di progetto e HTML che di pronti contro termine nel ramo gh-pagine spinto al repo. Questo è tutto.
GitHub prende tutti i file HTML nel ramo GH-pagine e serve come un sito Web presso l'URL http: // [accountName] .github.io / [repoName]. Così, per esempio, ho creato un progetto di esempio che vive al http://tpdorsey.github.io/simple-docs/ . Ecco una breve passeggiata attraverso il processo per la creazione di un sito come questo.
In primo luogo, se non siete già lavorando con Git e GitHub, controllare il mio aprile 2014 articolo, " controllo del codice sorgente di Git e Mercurial , "per i collegamenti al software e tutorial. Per questo primo esempio, avrete solo bisogno Git e un account GitHub. Il Git sito ha un download per Windows che include Git Bash e Git Gui, e vi posso assicurare che sia il lavoro bene anche su Windows 10 Technical Preview.
Sulla macchina, creare una cartella per un nuovo progetto, quindi inizializzare il repository Git:
git init
Prima di fare qualsiasi altra cosa, creare e passare al ramo gh-pagine. Non c'è davvero alcun motivo per lavorare in master per questi file:
git checkout -b gh-pagine
Creare una pagine Web coppia. Ho creato un file index.html e una pagina secondaria, page1.html. Per questo progetto le pagine devono essere pagine Web reali, proprio come ci si crea per qualsiasi altro sito. La mia semplice file è in Listato 1 .
Listing 1: Il mio file index.html semplice
<! DOCTYPE html>
<Html>
<Head>
<Title> gh-pagine semplice esempio </ title>
</ Head>
<Body>
<H1> Questa è la documentazione
</ H1>
<P> Basta una semplice pagina HTML, dove si potrebbe mettere un po 'di documentazione. </ P>
<P> Ecco un sommario per sotto-pagine. </ P>
<Ul>
<Li> <a href="page1.html"> page1.html </a> </ li>
<Li> <a href="page2.html"> page2.html </a> </ li>
<Li> <a href="page3.html"> page3.html </a> </ li>
</ Ul>
</ Body>
</ Html>
Può essere semplice o complicato come volete, ma devono essere file HTML statici.
Commit i file:
add git.
git commit -m "Guardate ma! Documentation"
Ora vai a GitHub e creare un repository per la documentazione. GitHub vi mostrerà un esempio del comando per impostare questo nuovo repo come il telecomando, che farete per il vostro repo doc locale:
GIT aggiungere remota origine [posizione repo]
Ora è possibile spingere i file dal repo documentazione locale di un ramo gh-pagine su GitHub:
git origine spinta gh-pagine
E questo è tutto! GitHub elabora automaticamente file validi nel ramo gh-pagine. Con pagine statiche come quello in figura 1 , le modifiche dovrebbero essere disponibili immediatamente sul sito GitHub Pages. Come ho detto prima, l'URL del sito segue un modello comune, utilizzando il nome dell'account e il nome repo. È inoltre possibile trovare l'URL nella pagina Impostazioni per il repo GitHub.
[Clicca sull'immagine per ingrandirla.] Figura 1. GitHub Renders file HTML in un GH-Pages Branch come Pages GitHub sito
Vuoi includere CSS o JavaScript? Battere se stessi fuori.
Basta ricordarsi di spingere le modifiche al ramo gh-pagine del vostro repo remoto per averli visualizzati nelle pagine ospitate. Inoltre, le pagine sono visibili agli stessi utenti che hanno accesso al tuo repo: repos pubblici hanno siti pubblici, mentre i pronti contro termine privati hanno siti visibili solo agli utenti a cui hai dato accesso repo.
Utilizzando Jekyll
Un'opzione più sofisticato per la creazione di siti per le pagine GitHub è usare Jekyll (vedi figura 2 ), un rubino , su modelli generatore sito web statico basato. Jekyll è stato scritto da Tom Preston-Werner, un co-fondatore di GitHub, ed è nativamente supportato da Pages GitHub.
[Clicca sull'immagine per ingrandirla.] Figura 2. predefinito Jekyll Site
Con Jekyll, il contenuto è scritto in Markdown file di testo formattato per, insieme ad alcuni YAML metadati e configurazione. Jekyll utilizza anche il Liquid motore di template.
Quando si crea un sito Jekyll, Jekyll prende i tuoi contenuti Markdown e modelli di liquidi, insieme a tutti i CSS, script, immagini o altri contenuti che hai specificato, e costruisce un sito HTML statico che è possibile ospitare ovunque. L'aspetto interessante della relazione GitHub-Jekyll, tuttavia, è che non spingere il vostro sito al repo GitHub. Invece, il contenuto di origine e la configurazione viene spinto al repo. GitHub gestisce la costruzione del HTML e spingendolo verso il sito di hosting.
Ottenere Ruby e Jekyll impostati su sistemi Linux o Mac è semplice. "Apt-get rubino," se necessario, poi "gem install Jekyll."
Su Windows, dell'installazione e della configurazione richiede un po 'più di sforzo. La migliore guida in questo momento è di Julian Thilo " Run Jekyll su Windows . " Ho seguito questo su una macchina con Windows 10 Technical Preview e, ancora una volta, assicuro che funziona.
Una volta che tutto è impostato, aprire un prompt dei comandi con Ruby, passare alla cartella in cui si desidera impostare il progetto, ed eseguire "Jekyll nuova" seguito da un nome di cartella per il sito:
Jekyll nuovi Jekyll-docs
cd Jekyll-docs
Quando il sito è stato creato, è già impostato come un repository Git locale. Aggiungere un progetto GitHub per esso, controlla un ramo gh pagine localmente, impostare il telecomando per il vostro repo GitHub, e si è pronti a spingere tutte le modifiche fino a GitHub:
git checkout -b gh-pagine
Avanti, _config.yml aperto in un editor di testo e personalizzare i dettagli di configurazione. La documentazione Jekyll copre tutte le opzioni qui. Un dettaglio importante per i siti ospitati su GitHub Pagine sta definendo la tua "baseurl" per il nome del repository. Ad esempio, se il progetto su GitHub si chiama "Jekyll-docs," l'impostazione URL di base in _config.yml è:
baseurl: "/ Jekyll-docs"
Questo e altri suggerimenti sono spiegati nel Jekyll GitHub pagine di documentazione.
GitHub riconosce il ramo gh-pagine del progetto come progetto Jekyll e ricostruisce automaticamente ogni volta che si preme modifiche. Questo processo richiede un po 'di più di un semplice spingendo verso l'alto HTML, in modo da dare qualche minuto per riflettere i cambiamenti nel vostro sito attuale.
Jekyll Docs Template
Jekyll è un passo in avanti, ma è in realtà concepito come un motore di blog. Si può certamente usare fuori dalla scatola, ma una serie doc bel sta andando a prendere un po 'Giochi per bambini con i modelli, e ho detto questo sarebbe stato facile e veloce.
Di Byron Ruth Jekyll Docs Template (vedi figura 3 ) è un modello di progetto Jekyll personalizzato ottimizzato per flessibilità, documenti multi-pagina. Ha un built-in, tavolo sidebar completamente personalizzabile di contenuti.
[Clicca sull'immagine per ingrandirla.] Figura 3. Jekyll Docs Template è ottimizzato per Documentation Project
Per utilizzare Jekyll Docs Modello, clonare il progetto in una cartella per il progetto:
git clone https://github.com/bruth/jekyll-docs-template.git mio progetto
Con Terrence Dorsey2015/03/04
Documentazione progetti software non deve essere difficile. La parte di scrittura è difficile da evitare (se avrò alcuni suggerimenti su che più tardi). Si può prendere cura della parte dell'editoria abbastanza facilmente, tuttavia, senza cadere nella tana del coniglio di scrivere il proprio framework CMS o Web - anche se questi continuano ad essere le strategie di procrastinazione popolari per gli sviluppatori che preferisce scrivere il codice che la documentazione.
Ecco il trucco: Se si sta utilizzando il tuo codice GitHub repository di origine, è possibile usufruire del servizio di built-in Pages GitHub dispongono di pubblicare, di accoglienza, e anche costruire e rendere la documentazione Web-based.
Basta che ospita il sito della documentazione di per sé non è una tale impresa incredibile. In questi giorni di solito è un processo semplice per far girare un server e spingere il tuo sito. Solitamente, ma non sempre. Ci sono i costi di tempo e denaro per impostare e gestire un server Web, anche se si sta lavorando da soli. E questa è la migliore delle ipotesi. Prova la navigazione del big-società la burocrazia per ottenere un server approvato ... e questo è prima di navigare il big-processi aziendali IT per ottenere installato e funzionante.
D'altra parte, se si dispone di un account di GitHub, GitHub pagine si presenta come parte del pacchetto. Se si dispone di depositi privati, come ad esempio attraverso un conto GitHub aziendale, è possibile anche sfruttare le funzioni di autenticazione e autorizzazione organizzazione built-in per limitare chi può vedere e contribuire alla documentazione pubblicata con GitHub Pages.
GitHub ha i wiki, ma sono fortemente limitato di funzionalità rispetto a GitHub Pages, che ha accesso a praticamente qualsiasi cosa si potrebbe impiegare per un sito Web normale compreso CSS personalizzato, JavaScript, framework Web, la compilazione automatica e più.
Così come funziona tutta questa magia? Prendiamo GitHub Pages per un giro con due semplici progetti che dimostrano le basi.
HTML statico
La versione più semplice di un progetto GitHub Pagine coinvolge tre elementi: un repository, un ramo GH-pagine per il progetto in file di progetto e HTML che di pronti contro termine nel ramo gh-pagine spinto al repo. Questo è tutto.
GitHub prende tutti i file HTML nel ramo GH-pagine e serve come un sito Web presso l'URL http: // [accountName] .github.io / [repoName]. Così, per esempio, ho creato un progetto di esempio che vive al http://tpdorsey.github.io/simple-docs/ . Ecco una breve passeggiata attraverso il processo per la creazione di un sito come questo.
In primo luogo, se non siete già lavorando con Git e GitHub, controllare il mio aprile 2014 articolo, " controllo del codice sorgente di Git e Mercurial , "per i collegamenti al software e tutorial. Per questo primo esempio, avrete solo bisogno Git e un account GitHub. Il Git sito ha un download per Windows che include Git Bash e Git Gui, e vi posso assicurare che sia il lavoro bene anche su Windows 10 Technical Preview.
Sulla macchina, creare una cartella per un nuovo progetto, quindi inizializzare il repository Git:
git init
Prima di fare qualsiasi altra cosa, creare e passare al ramo gh-pagine. Non c'è davvero alcun motivo per lavorare in master per questi file:
git checkout -b gh-pagine
Creare una pagine Web coppia. Ho creato un file index.html e una pagina secondaria, page1.html. Per questo progetto le pagine devono essere pagine Web reali, proprio come ci si crea per qualsiasi altro sito. La mia semplice file è in Listato 1 .
Listing 1: Il mio file index.html semplice
<! DOCTYPE html>
<Html>
<Head>
<Title> gh-pagine semplice esempio </ title>
</ Head>
<Body>
<H1> Questa è la documentazione
</ H1>
<P> Basta una semplice pagina HTML, dove si potrebbe mettere un po 'di documentazione. </ P>
<P> Ecco un sommario per sotto-pagine. </ P>
<Ul>
<Li> <a href="page1.html"> page1.html </a> </ li>
<Li> <a href="page2.html"> page2.html </a> </ li>
<Li> <a href="page3.html"> page3.html </a> </ li>
</ Ul>
</ Body>
</ Html>
Può essere semplice o complicato come volete, ma devono essere file HTML statici.
Commit i file:
add git.
git commit -m "Guardate ma! Documentation"
Ora vai a GitHub e creare un repository per la documentazione. GitHub vi mostrerà un esempio del comando per impostare questo nuovo repo come il telecomando, che farete per il vostro repo doc locale:
GIT aggiungere remota origine [posizione repo]
Ora è possibile spingere i file dal repo documentazione locale di un ramo gh-pagine su GitHub:
git origine spinta gh-pagine
E questo è tutto! GitHub elabora automaticamente file validi nel ramo gh-pagine. Con pagine statiche come quello in figura 1 , le modifiche dovrebbero essere disponibili immediatamente sul sito GitHub Pages. Come ho detto prima, l'URL del sito segue un modello comune, utilizzando il nome dell'account e il nome repo. È inoltre possibile trovare l'URL nella pagina Impostazioni per il repo GitHub.
[Clicca sull'immagine per ingrandirla.] Figura 1. GitHub Renders file HTML in un GH-Pages Branch come Pages GitHub sito
Vuoi includere CSS o JavaScript? Battere se stessi fuori.
Basta ricordarsi di spingere le modifiche al ramo gh-pagine del vostro repo remoto per averli visualizzati nelle pagine ospitate. Inoltre, le pagine sono visibili agli stessi utenti che hanno accesso al tuo repo: repos pubblici hanno siti pubblici, mentre i pronti contro termine privati hanno siti visibili solo agli utenti a cui hai dato accesso repo.
Utilizzando Jekyll
Un'opzione più sofisticato per la creazione di siti per le pagine GitHub è usare Jekyll (vedi figura 2 ), un rubino , su modelli generatore sito web statico basato. Jekyll è stato scritto da Tom Preston-Werner, un co-fondatore di GitHub, ed è nativamente supportato da Pages GitHub.
[Clicca sull'immagine per ingrandirla.] Figura 2. predefinito Jekyll Site
Con Jekyll, il contenuto è scritto in Markdown file di testo formattato per, insieme ad alcuni YAML metadati e configurazione. Jekyll utilizza anche il Liquid motore di template.
Quando si crea un sito Jekyll, Jekyll prende i tuoi contenuti Markdown e modelli di liquidi, insieme a tutti i CSS, script, immagini o altri contenuti che hai specificato, e costruisce un sito HTML statico che è possibile ospitare ovunque. L'aspetto interessante della relazione GitHub-Jekyll, tuttavia, è che non spingere il vostro sito al repo GitHub. Invece, il contenuto di origine e la configurazione viene spinto al repo. GitHub gestisce la costruzione del HTML e spingendolo verso il sito di hosting.
Ottenere Ruby e Jekyll impostati su sistemi Linux o Mac è semplice. "Apt-get rubino," se necessario, poi "gem install Jekyll."
Su Windows, dell'installazione e della configurazione richiede un po 'più di sforzo. La migliore guida in questo momento è di Julian Thilo " Run Jekyll su Windows . " Ho seguito questo su una macchina con Windows 10 Technical Preview e, ancora una volta, assicuro che funziona.
Una volta che tutto è impostato, aprire un prompt dei comandi con Ruby, passare alla cartella in cui si desidera impostare il progetto, ed eseguire "Jekyll nuova" seguito da un nome di cartella per il sito:
Jekyll nuovi Jekyll-docs
cd Jekyll-docs
Quando il sito è stato creato, è già impostato come un repository Git locale. Aggiungere un progetto GitHub per esso, controlla un ramo gh pagine localmente, impostare il telecomando per il vostro repo GitHub, e si è pronti a spingere tutte le modifiche fino a GitHub:
git checkout -b gh-pagine
Avanti, _config.yml aperto in un editor di testo e personalizzare i dettagli di configurazione. La documentazione Jekyll copre tutte le opzioni qui. Un dettaglio importante per i siti ospitati su GitHub Pagine sta definendo la tua "baseurl" per il nome del repository. Ad esempio, se il progetto su GitHub si chiama "Jekyll-docs," l'impostazione URL di base in _config.yml è:
baseurl: "/ Jekyll-docs"
Questo e altri suggerimenti sono spiegati nel Jekyll GitHub pagine di documentazione.
GitHub riconosce il ramo gh-pagine del progetto come progetto Jekyll e ricostruisce automaticamente ogni volta che si preme modifiche. Questo processo richiede un po 'di più di un semplice spingendo verso l'alto HTML, in modo da dare qualche minuto per riflettere i cambiamenti nel vostro sito attuale.
Jekyll Docs Template
Jekyll è un passo in avanti, ma è in realtà concepito come un motore di blog. Si può certamente usare fuori dalla scatola, ma una serie doc bel sta andando a prendere un po 'Giochi per bambini con i modelli, e ho detto questo sarebbe stato facile e veloce.
Di Byron Ruth Jekyll Docs Template (vedi figura 3 ) è un modello di progetto Jekyll personalizzato ottimizzato per flessibilità, documenti multi-pagina. Ha un built-in, tavolo sidebar completamente personalizzabile di contenuti.
[Clicca sull'immagine per ingrandirla.] Figura 3. Jekyll Docs Template è ottimizzato per Documentation Project
Per utilizzare Jekyll Docs Modello, clonare il progetto in una cartella per il progetto:
git clone https://github.com/bruth/jekyll-docs-template.git mio progetto
Iscriviti a:
Post (Atom)