Certo che fare un forum facilissimo in perl è un vero lavoraccio...
...questa è la primissima versione...
http://www.theartofweb.netfirms.com/...PERL/index.cgi
c'è veramente tanto ancora da fare...ma proprio tanto...
Certo che fare un forum facilissimo in perl è un vero lavoraccio...
...questa è la primissima versione...
http://www.theartofweb.netfirms.com/...PERL/index.cgi
c'è veramente tanto ancora da fare...ma proprio tanto...
Veramente complimenti... mi sembra che sei su un'ottima strada... mi piacerebbe avere più dettagli tecnici del tuo lavoro, quali moduli usi, quale database, ecc.
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips
nuovo address:
http://www.theartofweb.netfirms.com/...rt/bbsmart.cgi
ciao!
Ciao, bello, e quoto shishii.
Anche io sto provando a fare un forum in perl ma è una mazzata.
Dopo più di 60 KB di codice mi accorgo che mi manca ancora molta strada, però ho trovato molti sostenitori per questo progetto.
Visto che programmi in perl e ti piace fare forum, che ne dici di unirti a me?
Il progetto è appunto un forum in PERL, però è senza server tramite una collaborazione di nodi. Ieri era praticamente finito, mancava solo la messaggeria privata, gli avatar e la firma e la moderazione, poi mi sono accorto che potevo migliorare di gran lunga il core e rendere la propagazione dei messaggi più veloce e quindi devo riscrivere il cuore.
Fammi sapere se ti interessa il progetto alla Freenet.
Ciao
>> Visto che programmi in perl e ti piace fare forum, che ne dici di unirti a me?
Ti stavi rivolgendo a me o a Shishii?
>> Dopo più di 60 KB di codice mi accorgo che mi manca ancora molta strada...
60KB con tutte le subs in un file esterno..vero?
cmq,credo che per fare un buon forum web il lavoro da fare sia parecchio...e in più persone...io ho iniziato 2 settimane fa ma già avevo da tempo il "digramma di flusso" in mente cosi' non ho iniziato proprio da zero...(con il diagramma di flusso in testa puoi scrivere un forum con qualunque linguaggio) già in passato avevo programmato dei forum in ASP/PHP + Mysql è devo dire che con un database relazionale è tutto molto più semplice...
Ma non mi interessava...volevo (VOGLIO) fare un forum web in Perl autonomo,senza Mysql insomma...perchè se ci sono riusciti quelli di Ikonboard o di yabb allora posso riuscirci anch'io...e perchè il Perl E' il mio linguaggio da sempre...
Insomma credi che le routine del tuo forum potrebbero girare più veloci se programmate diversamente? Possiamo discuterne se vuoi (qui o nel mio forum)...più precisamente cos'è che potrebbe essere migliorato?
Credo che nella parte della messagistica potrei darti alcune idee.
Anch'io miro ad aggiungere tutte le features dei classici forums al mio...ma devi sapere che io non ho un vero ambiente per testare gli scripts...(ho un mac troppo poco potente per MACOSX) sto sempre con IE5,FTP e blocco note...un vero lavoraccio...(pensa che tanti hanni fa non sapevo nemmeno l'esistenza del modulo use CGI::Carp "fatalsToBrowser"...)
>> e quindi devo riscrivere il cuore.
>> Fammi sapere se ti interessa il progetto alla Freenet.
mi interessa sicuramente ... ma non conosco la Freenet!
>> però è senza server tramite una collaborazione di nodi.
Questa me la devi spiegare...
Ciao!
In pratica il forum che sto facendo è un forum senza server.
Ossia i messaggio sono scambiati tra tutti gli utenti che hanno il software che gira sul loro computer.
Questo script che sto facendo dovrà essere compilato e girerà in background su tutti i computer degli utenti.
Quando uno scrive un messaggio viene propagato all'interno del sistema tipo un onda.
Come database uso DBM:EEP che è un DBM particolare che permette di salvare all'interno degli HASH, altri HASH o ARRAY.
Sì, il tutto è diviso in 9 librerie.
ALl'inizio, nel progetto originale il processo si divideva in 4 thread, ora che lo sto riscrivendo sono soltanto 2 thread e risparmio parecchia ram.
In pratica un thread è il webserver che generà le pagine del forum in runtime.
L'altro thread è il server&client che comunicano con gli altri nodi per lo scambio dei messaggi e altre particolari informazioni.
Il messaggio è rivolto sia a te che all'onnipotente Shishii.
CMQ, se non vi fidate, vi farò provare la prima beta quando sarà pronta e vedete se vi interessa partecipare allo sviluppo.
Non penso manchi ancora molto, come detto devo solo riscrive il core principale.
Appena ho qualcosa di distribuibile tra le mani aprirò un sito e spero che si uniscano a me altri programmatori PERL. Immagino che molti diffidino dagli strani progetti fino a quando non vedono appunto qualcosa di concreto.
Ciao!
LS640
molto interassante... quindi penso che usi le funzioni socket.Originariamente inviato da LordSaga640
In pratica il forum che sto facendo è un forum senza server.
Ossia i messaggio sono scambiati tra tutti gli utenti che hanno il software che gira sul loro computer.
uuhhmm.... ho sempre molte perplessità su questa faccenda della compilazione, da quello che leggo l'unico tool che lavora bene è perl2exe, ma è proprietario e gira solo su windows.
Questo script che sto facendo dovrà essere compilato e girerà in background su tutti i computer degli utenti.
Quando uno scrive un messaggio viene propagato all'interno del sistema tipo un onda.
Concordo pienamente con la scelta di usare file .dbm al posto dei .txt, molto più efficienti e solidi
Come database uso DBM:EEP che è un DBM particolare che permette di salvare all'interno degli HASH, altri HASH o ARRAY.
Non conosco bene questo motore DBM, ma suggerisco di usare DBM che vengono inseriti nella distribuzione standard di perl, il più sicuro è SDBM, per evitare problemi a coloro che non possono istallare moduli da compilare.
di chi parli? ... i veri onnipotenti li trovi su it.comp.lang.perl come sai bene, visto che lo frequenti.
Sì, il tutto è diviso in 9 librerie.
ALl'inizio, nel progetto originale il processo si divideva in 4 thread, ora che lo sto riscrivendo sono soltanto 2 thread e risparmio parecchia ram.
In pratica un thread è il webserver che generà le pagine del forum in runtime.
L'altro thread è il server&client che comunicano con gli altri nodi per lo scambio dei messaggi e altre particolari informazioni.
Il messaggio è rivolto sia a te che all'onnipotente Shishii.
purtroppo il problema è solo il tempo e il coordinamento, il metodo migliore sarebbe trovare un server cvs, perchè non pensi a sourceforge?
CMQ, se non vi fidate, vi farò provare la prima beta quando sarà pronta e vedete se vi interessa partecipare allo sviluppo.
Non penso manchi ancora molto, come detto devo solo riscrive il core principale.
Appena ho qualcosa di distribuibile tra le mani aprirò un sito e spero che si uniscano a me altri programmatori PERL. Immagino che molti diffidino dagli strani progetti fino a quando non vedono appunto qualcosa di concreto.
Ciao!
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips
Yes!Originariamente inviato da shishii
molto interassante... quindi penso che usi le funzioni socket.
Sto usando gli socket e per ora ho risolto molti problemi che pensavo fossero impossibili da risolvere.
Sì, uso perl2exe e funziona perfettamente.uuhhmm.... ho sempre molte perplessità su questa faccenda della compilazione, da quello che leggo l'unico tool che lavora bene è perl2exe, ma è proprietario e gira solo su windows.
Se non posso usarlo mi basta creare un archivio autoestraente (con winrar viene bene) con dentro il sorgente e l'interprete che estrarre tutto in una cartella temporanea ed esegue la stringa di comando "perl script.pl" e risolvo il problema della compilazione. In questo modo sembrerà un programma normalissimo.
DEEP permette di creare DBM di array o hash, in più è molto potente perchè permette di inserire come valori, altri hash, quindi verrebbero fuori alberi complessi.Concordo pienamente con la scelta di usare file .dbm al posto dei .txt, molto più efficienti e solidi
Non conosco bene questo motore DBM, ma suggerisco di usare DBM che vengono inseriti nella distribuzione standard di perl, il più sicuro è SDBM, per evitare problemi a coloro che non possono istallare moduli da compilare.
In un DBM normale si può solo creare una associazione chiave->scalare
In deep si può anche fare qualcosa di simile:
$dbm->{lordsaga}={};
$dbm->{lordsaga}->{compagni}=[];
$dbm->{lordsaga}->{compagni}->[0]="dany";
ecc....
In più c'è anche l'opzione per ottimizzare il database ogni tanto. COme per gli altri file DBM si possono facilmente criptare le chiavi e i valori in tempo reale.
Ti sottovaluti :Pdi chi parli? ... i veri onnipotenti li trovi su it.comp.lang.perl come sai bene, visto che lo frequenti.
Per ora costa troppo.purtroppo il problema è solo il tempo e il coordinamento, il metodo migliore sarebbe trovare un server cvs, perchè non pensi a sourceforge?
Alcuni comunity ricercate dalla GDF, quali TDB e i vecchi di enkey erano interessati a questo progetto e quindi potrei ingranare da subito. Spero poi in qualche futura donazione con paypal e poi forse passo a sourceforge.
Cercando di programmare questa comunity ho avuto modo di imparare qualcosa di utile sulla sicurezza in generale, come ad esempio nozioni utilissime sulla primalità e l'RSA.
Il perl mette a disposizione la notevole libreria Crypt::RSA che è una gran figata. Semplice e strapotente. Mi è stata molto utile per la firma elettronica.
Acc, ammetto di non vedere l'ora di terminarlo, già che manca poco alla fine.
PS:
Non penso sarà opensource, per via dei problemi futuri sulla sicurezza. Magari prima miglioro un po' il codice.
Ciao ciao
ls640
Ciao,
super sbagliatissimo... mai affidarsi alla sicurezza per oscurità... il codice deve essere sicuro anche se completamente conosciuto, ed è possibile, guarda "qmail" che da svariati anni non rilascia fix di sicurezza perchè... non ne ha bisogno.PS:
Non penso sarà opensource, per via dei problemi futuri sulla sicurezza. Magari prima miglioro un po' il codice.
Marco Allegretti
shishii@tiscalinet.it
Lang: PERL, PHP, SQL.
Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips
magari faccio passare un paio di settimane.
Sono sicuro che i problemi più palesi sono in grado di trovarli facilmente. Magari quando io non trovo più nulla da correggere inizio a distribuire anche il codice. Poi almeno qualche commento ce lo dovrò mettere.
Vabbè, continuo a programmare!
Ciao