2009-11-11 18 views
9

Mi trovo sempre vicino a inutile senza il mio laptop. Ha tutte le cose di cui ho bisogno, firefox, notpad ++, photoshop, documenti, ecc ... Tuttavia, a volte, mi piace codificare sul mio desktop perché è più veloce e migliore, ma a volte è semplicemente impossibile se non trasferisco i file del sito web al mio desktop o mantenere il mio FTP aggiornato. So che ci sono alcune soluzioni di sincronizzazione, come dropbx, ma sono interessato a seguire una buona pratica e sono interessato alle intuizioni intelligenti dei tuoi professionisti.Come funziona un programmatore su più computer?

A volte, non ho nemmeno il mio portatile e quando devo modificare qualcosa mentre sono a scuola, estraggo l'unità USB. Ho installato Firefox portatile con i plugin FireFTP e FireBug con Notepad ++ sulla mia penna USB. Questo è quello che mi piace chiamare, il mio kit di sviluppo web.

Aggiornamento: Interessanti commenti sul controllo del codice sorgente e la sovversione, mi portano a scoprire che DreamHost ha sovversione (ho intenzione di giocare con quello). Qualche suggerimento sul materiale di lettura (off o online)? Getta qualsiasi informazione su di me, non saprò quali domande porre o quali domande porre poiché sono nuovo a tutto questo. Grazie in anticipo ragazzi!

risposta

12

Controllo sorgente. Subversion è buono.

Ci sono alcuni buoni sistemi di controllo del codice sorgente online, che vale la pena di verificare.

+1

È una parte importante del lavoro come sviluppatore di software. Immagino sia un po 'più difficile per uno studente (ipotesi), ma ci sono alcune soluzioni online. – Jimmeh

+1

Sì, il controllo del codice sorgente sembra essere la risposta qui. Volevo solo postare un commento per sottolineare il fatto che se vuoi essere serio sul lavoro con il codice, il controllo del codice sorgente non può essere trascurato. (Presumo che tu sia uno studente, senza offesa se sei già nel business). – Mizipzor

+0

@jimmeh Il tuo presupposto è corretto, ma non mi dispiace ottenere un vantaggio nel gioco :) – Strawberry

4

Io uso SVN (come suggerito da @Jimmeh), l'ho messo su un server pubblico (il che rende le cose lente) ma posso accedervi da qualsiasi parte del mondo e continuare dall'ultimo posto che ho interrotto.

Si consiglia di imporre il blocco e di leggere i file solo se non bloccati.

0

+1 per il controllo del codice sorgente online.

Tuttavia, ciò non aiuta con tutto (come strumenti specifici o [nel mio caso] problemi speciali come un dominio collegato a un computer portatile e una rete VPN aziendale. Io uso spesso il desktop remoto per accedere al mio portatile per fare le cose specifiche del laptop (intranet, comunicatore da ufficio) e il mio desktop per il lavoro di sviluppo, poiché è molto più veloce.

6

Un sacco di persone si stanno spostando sul controllo sorgente distribuito con programmi come git e mercurial. Questi non richiedono un server centrale per il controllo del codice sorgente: tutte le versioni sono archiviate su tutti i computer e puoi unire le modifiche ogni volta che colleghi i computer.

+3

Non utilizzare lo strumento di persecuzione "sociale" ("molte persone si stanno spostando") senza chiarire anche i rispettivi compromessi. Con il controllo del codice sorgente distribuito è necessario eseguire più fusioni e senza organizzazione ci sarà più di una versione "top" attuale della sorgente in qualsiasi momento. Con un server ci sarà solo una versione della sorgente "top" (quella sul server!). – Quibblesome

+0

Ma dall'altra parte, lavorare fuori linea è molto più semplice con un dvcs, e puoi anche configurare un server centrale. Soprattutto con dvcs come Bazaar che esplicitamente consentono uno stile di flusso di lavoro, non c'è davvero alcun svantaggio nell'usare i pacchetti distribuiti su sovversione. – mavnn

+0

@Quibblesome: Parlando di chiarificazione dei trade-off, DVCS non * richiede * l'esistenza di una versione "master", ma ne consente uno e con un singolo server designato (come, per esempio, github) che mantiene un singolo la versione della sorgente "top" è un modello comune. Ho anche avuto l'impressione che l'OP stesse chiedendo di un progetto che sta lavorando su solista, il che è molto importante per mitigare il caos costante di branca e fusione che hai descritto anche senza designare una versione master. –

0

Io uso una combinazione di Subversion per il controllo del codice sorgente, il resto del mio spazio del documento viene mantenuto sincronizzato su un certo numero di macchine usando Unison (http://www.cis.upenn.edu/~bcpierce/unison/) Ho un arrangiamento hub and spoke impostato per questo, e non ho mai avuto un problema con questa configurazione. Usa rsync al suo interno.

Dropbox è popolare al lavoro ora per condividere solo i file. Non uso l'unisono per le mie directory di Subversion o Dropbox.

Penso che git (sicuramente per il controllo della revisione della fonte) è ottimo se sei in movimento e stai apportando modifiche mentre non è online.

1

Per sync'ing attraverso le macchine che non sono collegati (dietro firewall, VPN, aria gapped ecc) ho usato SyncBack. È gratuito, configurabile e posso copiare il profilo su tutte le macchine che uso e impostare la sincronizzazione con un clic.

4

Il controllo della versione distribuita è la risposta al tuo problema.

Richiede solo un host (una cartella ftp farà il lavoro).

Qualcuno ha detto Mercuial e Git, ma ho consigliato Darcs.

http://darcs.net/

E 'scritto in un bellissimo linguaggio di programmazione funzionale, è molto facile da usare e potente.

0

Utilizzando synergy è possibile controllare una macchina con la tastiera e il mouse dall'altra e utilizzare copia e incolla.

Per condividere file è possibile utilizzare condivisioni NFS o Windows o ... a seconda del sistema.

Alcuni IDE supportano il "lavoro remoto", i dettagli dipendono dall'IDE e dalla lingua che si sta utilizzando. (Io uso NetBeans ad esempio per compilare ed eseguire il debug del mio codice su una macchina usando un sistema diverso in un data center casuale mentre lavoro sulla mia casella locale)

E poi - ovviamente - controllo di versione, git, svn, ..

0

Bene, dal momento che si menziona che si sta codificando solo perché è più veloce/migliore, si può presumere che si avrà ancora il portatile con sé (passo anche alle fasi di codifica di laptop e desktop)?

  1. Se è più veloce a causa del mouse e della tastiera/tastierino numerico, provare VNC per utilizzare lo schermo del laptop.

  2. Creare una cartella condivisa sul laptop e lavorare sulla rete.

+0

VNC ritardi! Non è mai buono come il vero in-font dell'uso del computer. – Strawberry

+0

Bene, alcuni programmi VNC hanno diverse impostazioni di "velocità" che possono essere d'aiuto, e se si sta semplicemente digitando, potrebbe non essere un problema. Era solo un'idea che non era stata menzionata. Io uso la cartella condivisa e la sovversione. Dato che ho dbs per le applicazioni web e non voglio dover aggiornare più versioni locali per il test, vado in una cartella condivisa se sto facendo un sacco di test db, sovversione se si lavora solo su codice e classi. Volevo solo assicurarmi che tutti i tuoi angoli fossero coperti. – Cryophallion

0

Se si sceglie il percorso Subversion a memorizzare il codice sorgente mi consiglia di dare una prova Beanstalk - un repository è gratuito (limite di 100 MB). Quindi puoi accedere ai tuoi file tramite TortoiseSVN, un client Subversion sotto forma di estensione di Windows (Explorer), anch'essa gratuita.

Problemi correlati