Ciao, mi chiamo Alexander. Recentemente ho installato Discourse tramite WSL e ho iniziato a studiarlo.
Due settimane dopo, ho scoperto un grosso problema: Discourse non ha buone guide per lo sviluppo dei plugin, solo qualche articolo. Si dà per scontato che tutto l’apprendimento consista nel leggere un codice che si è accumulato nel tempo.
Studio ogni giorno e ogni giorno mi sorgono molte domande. Vorrei trovare un mentore che possa rispondere a queste domande e aiutarmi a imparare Discourse.
Ovviamente, sono disposto a pagare per un servizio così prezioso. Parlo inglese, russo e thai. Sarò molto felice di ricevere i vostri suggerimenti.
Dai un’occhiata a Pavilion
Per il momento, consulta anche:
Hai visto questa serie di guide per principianti sullo sviluppo di plugin?
È una serie di 7 parti scritta esattamente per il tuo scenario specifico. Un elenco completo delle guide si trova alla fine di ciascuna di esse.
Sì, l’ho letta tutta. E ho ancora delle domande.
Sfortunatamente, questa guida non copre l’hooking nei file .rb.
Ad esempio, gli utenti a volte caricano PUP (programmi potenzialmente indesiderati), quindi voglio proteggere il mio dominio principale dal rischio di essere bannato da Google e dagli antivirus.
Per esempio, devo sostituire i link di download già compilati nel mio plugin:
“https://discourse.example.com/uploads/short-url/...exe” => “https://download.proxy.com/uploads/short-url/....exe”.
Cosa dovrei fare? Penso di dover prima trovare un metodo, ma quale? Come trovare quello di cui ho bisogno? Come fare l’hook nel plugin? Dovrei sostituire o estendere il metodo? Come fare entrambe le cose? E molte altre cose ancora.
Qualcosa che ho imparato studiando musica jazz:
Il modo migliore per capire come funzionano le cose è esaminare esempi esistenti.
Ho avuto il privilegio di avere una lezione con uno dei miei idoli. Mi ha detto di ascoltare davvero i dischi: tutto era lì!
Nel caso dei plugin di Discourse, cerca un caso d’uso funzionale identico in un plugin esistente ben scritto o nel codice sorgente di Discourse stesso e segui gli stessi modelli; sviluppo plugin da oltre due anni e continuo a farlo.
Grazie per il consiglio.
@ramjke un’altra cosa: se non è chiaro dal link che ho fornito, offriamo mentoring gratuito se diventi membro della nostra comunità e contribuisci ai nostri plugin open-source. Di solito questo si traduce nello sviluppo di una PR (ad esempio per aggiungere una funzionalità o risolvere un bug fastidioso) per uno dei nostri plugin, e noi ti guideremo nel migliorarla finché non sarà pronta per la produzione. È in larga misura così che ho imparato: contribuendo concretamente a funzionalità utili nel mondo reale. Le PR sono un meccanismo perfetto per un flusso di lavoro di apprendimento. Questo ci aiuta a mantenere questi plugin popolari e, allo stesso tempo, rappresenta un’esperienza di apprendimento straordinaria. C’è già un ampio backlog di funzionalità su cui potresti lavorare :).
Grazie. Darò un’occhiata.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.