Come potrebbero lavorare più persone su un sito web?

11

Recentemente ho visto The Social Network, e questa potrebbe essere una domanda stupida, ma come è possibile che più persone lavorino su un sito web? Voglio dire, se stanno lavorando sulla stessa pagina, com'è possibile? Inoltre, è possibile caricare file su un host online senza renderli disponibili?

    
posta Sam Gabriel 06.01.2011 - 20:56
fonte

12 risposte

27

Di solito quando più persone devono apportare modifiche allo stesso file, usano una sorta di sistema di controllo delle versioni per tenere traccia di chi ha apportato le modifiche. Consente inoltre di unire e sincronizzare le modifiche apportate da diverse persone.

    
risposta data 06.01.2011 - 20:57
fonte
14

Pochissimi siti web consistono in una sola "pagina" e, per i casi in cui più persone lavorerebbero sulla stessa pagina, la maggior parte dei controllo di revisione i sistemi hanno meccanismi integrati per unire nuovamente le modifiche in un file unificato.

    
risposta data 06.01.2011 - 20:59
fonte
6

Più persone che lavorano negli stessi file: Controllo del codice sorgente

Senza renderli live: server di sviluppo e amp; database, che non sono lo stesso ramo del sito web reale.

    
risposta data 06.01.2011 - 20:59
fonte
3

Hanno bisogno di un qualche tipo di manager.

Tipicamente, i team sono suddivisi in segmenti che non dovrebbero mai interferire l'uno con l'altro (le ultime parole famose). Ad esempio, se l'API foo dipende dagli helper delle persone che codificano in C, la rottura dovrebbe (mai accadere), ma se lo fa, succede perché l'app helper non capisce che cosa stai passando ad essa.

Questo è un classico caso della mano destra che non sa cosa sta facendo la mano sinistra, che illustra chiaramente l'errore, che probabilmente è mio.

Se si esegue il push del codice senza prima estrarre e risolvere le unioni (mentre si interrompe ciò che l'altro dev ha fatto semplicemente rimuovendo ciò che non si è scritto), prima di comunicare con altri che modificano lo stesso, sto andando a darti con l'alta tensione. Dopodiché, ti porterò fuori a cena (per fare ammenda per 1,22 gigawatt) e ti assicurerò che tu ingerisca una specie di cibo pazzo, disgustoso e piuttosto esotico. Pensa ... Klingon .

Quindi mi ringrazierai per questo, e non lo farò mai più.

Ovviamente potresti sostituire una sorta di normale 'parlare con' qui, ma che divertimento è?

    
risposta data 06.01.2011 - 21:30
fonte
1

Probabilmente scoprirai che hanno sviluppatori che lavorano su pagine diverse. Generalmente viene creato un modello o un master del sito in modo che ogni pagina abbia lo stesso aspetto e aspetto. Ad esempio, se la società utilizza il controllo del codice sorgente come Team Foundation Server, ciascuno sviluppatore controllerebbe il proprio codice sorgente e questo consentirà agli altri sviluppatori di ottenere le ultime modifiche.

    
risposta data 06.01.2011 - 20:57
fonte
1

Potrebbero:

  • Programmazione in un editor tramite una sessione SSH (ad es. vi, vim, nano, emacs).
  • Puoi modificare tramite FTP con il loro IDE (ad es. emacs, notedpad ++).
  • Utilizzo di un sistema di controllo della versione.

Per l'ultima volta, le persone ora usano il controllo della versione distribuita come mercurial , git e bazar , invece del controllo della versione centralizzata come CVS e subversion. Per mercurial, controlla bitbucket.org e hosting del progetto google code , per git, controlla github , quali sono i siti che ospitano il codice per condividerli in modo collaborativo senza che tu debba configurare un server.

Inoltre:

  • Per imparare a conoscere il mercurio, vai al link
  • Per imparare git, vai al link
risposta data 06.01.2011 - 21:29
fonte
1

Sviluppo di pagine con componenti VS Pages nel suo complesso

Ho lavorato su molti siti Web su larga scala e il modo in cui più persone lavorano sulla stessa pagina è che la maggior parte dei siti web sono portali . In generale, molti siti come Facebook contengono molti controlli, come foto, pubblicità, piccole aree di stampa, ecc. Su cui lavoreranno più persone. Inoltre, le intestazioni e i piè di pagina sono generalmente suddivisi nel loro file di inclusione riutilizzabile. Ciò interrompe il sito in componenti che non solo possono essere elaborati singolarmente, ma possono anche essere riutilizzati in più siti e aree.

    
risposta data 06.01.2011 - 21:29
fonte
0

Potresti utilizzare una sorta di sistema di sincronizzazione in tempo reale come OneNote utilizza .... Inoltre, puoi caricare i file su un host ma non creare il tuo dominio principale.

    
risposta data 06.01.2011 - 20:58
fonte
0

Non dimenticare che ci possono essere anche sistemi di gestione dei contenuti che alcuni siti utilizzano per offrire contenuti in modo tale che, mentre puoi pensare che qualcosa sia una pagina web, è davvero questo mix di cose.

Molti sistemi di gestione dei contenuti dispongono di una funzione di anteprima per consentire agli autori di visualizzare il contenuto prima di renderlo pubblicamente accessibile.

    
risposta data 06.01.2011 - 21:15
fonte
0

Tutti questi strumenti menzionati sono utili, ma a me sembra più che l'OP si stia chiedendo in che modo le persone non riescono a mettersi sulla strada degli altri.

Oltre all'utilizzo di strumenti per risolvere tali conflitti, di solito c'è una divisione in pile o livelli che aiuta a evitare i conflitti in primo luogo.

Con l'approccio stack hai ogni persona che lavora su una funzione non correlata (una persona potrebbe fare l'iscrizione all'account e una potrebbe fare l'invio di contenuti). Ci sarà un conflitto in cui i due potrebbero attraversare (probabilmente i record dell'utente in questo esempio) e questo verrà gestito come parte dell'unione alla build successiva.

Con l'approccio a più livelli qualcuno sta costruendo tutti i bit più intimi, quando ottengono una porzione finita un'altra persona scrive i pezzi che si trovano in cima a quelli e così via. i conflitti generati qui di solito sono quando qualcosa deve essere restituito su un livello inferiore per alcune modifiche successive che potrebbero influenzare il livello successivo e che sono gestite in modo simile prima della prossima build.

La parte sui file promossi ma non dal vivo ha un'ampia varietà di risposte / implementazioni, ma un server separato per l'anteprima, una specifica modalità di anteprima, o una classe utente o autorizzazione che estrae la versione del bordo sanguinante mentre gli utenti regolari ottengono il le versioni stabili sono quelle che tendo a vedere più spesso.

    
risposta data 06.01.2011 - 23:30
fonte
0

Per prima cosa rispondere alla seconda parte, un modo per caricare i file senza renderli live è assegnargli un nome che non sarà collegato. Per esempio. per creare una nuova versione di una pagina index.html , caricala con il nome index2.html , quindi visita http://yoursite.com/index2.html e verifica che funzioni correttamente. Una volta che sei soddisfatto, rinominalo in index.html . Questo è davvero solo per siti molto piccoli, e diventa un po 'complicato se vuoi cambiare qualcosa di esterno alla pagina, come immagini, file CSS o JavaScript, perché devi avere image2.png , poi index2.html la cui unica differenza è che punta alla nuova immagine.

Un programmatore professionista avrebbe sempre un sistema di test su cui lavorare, quindi caricherà sul suo "host online" una volta soddisfatti dei cambiamenti. Puoi configurare un server web sul tuo computer che servirà solo le pagine all'interno della tua rete locale. Ovviamente potresti anche usare un computer separato o (come faccio io) una macchina virtuale in esecuzione sul tuo computer principale.

Quando più sviluppatori lavorano insieme, ognuno ha il proprio sistema di test su cui lavorare, quindi carica le proprie modifiche su un sistema di controllo della versione che tiene traccia di tutte le modifiche da tutte le persone diverse. Vedi la parabola di git per come funziona.

Il sistema di controllo della versione rende facile vedere chi ha cambiato cosa e perché. Questo può essere controllato da chiunque sia in carica e quindi unirlo al master e consegnarlo al reparto test / controllo qualità. Una volta che hanno completamente testato le nuove funzionalità, lo approveranno per il caricamento sul sito live.

    
risposta data 06.01.2011 - 23:47
fonte
0

La prima cosa da stabilire è che molti siti non sono una raccolta di pagine statiche lavorate da una o più persone.

Le pagine che vedi come visitatore non esistono sul sito Web per apportare modifiche, come in tali siti, vengono assemblate automaticamente al volo da un sistema di gestione dei contenuti - software in esecuzione sul server di hosting, utilizzando i contenuti che i proprietari del sito web hanno prodotto. Il CMS raccoglie la pagina dal contenuto distribuito utilizzando i file modello (i file di configurazione CSS e CMS) e la pagina risultante viene pubblicata nel browser.

I proprietari del sito apportano modifiche al contenuto e ai modelli di layout piuttosto che alle pagine statiche. Partendo da ciò la tua risposta dipende dal tipo di cambiamento e dal ruolo della persona che lo fa:

  1. un sito pubblico utente , pubblicando un blog o un commento
  2. se stai modificando il contenuto del sito (ruolo del produttore di contenuti, ad esempio giornalista che lavora per il proprietario del sito web) o
  3. aggiunta e modifica delle funzionalità del sito (lo sviluppatore del sito lavora per il proprietario del sito).

Drupal è un potente e gratuito sistema di gestione dei contenuti che fornisce gestione multiutente per gestire gli aggiornamenti dei contenuti che a loro volta influiscono su ciò che viene visualizzato dai visitatori sulle pagine. Drupal fornirà anche i mezzi per alterare il comportamento delle pagine, ad es. come sono disposti o se possono essere pubblicati commensali su un articolo, affrontando il 1 ° e il 2 ° tipo di cambiamento. Se si eseguono le modifiche in Drupal, queste verranno archiviate in un database SQL. Drupal fornisce alcuni controlli di versione / revisione del contenuto.

È necessario un sistema di controllo versione completo per modifiche comportamentali del sito più coinvolte, il terzo tipo di modifica, ad es. introducendo più funzionalità, ricevendo aggiornamenti da Drupal o correggendo bug sul proprio codice aggiunto, questo significa cambiare il codice e come altri hanno pubblicato qui. I sistemi di controllo della versione come GIT, Subversion o Mercurial - tutti gratuiti - sono utilizzati per gestire le modifiche apportate da diversi sviluppatori del sito.

    
risposta data 07.01.2011 - 13:35
fonte

Leggi altre domande sui tag