NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Vorstellung (http://www.netvision-technik.de/forum/forumdisplay.php?f=6)
-   -   jazzrul (http://www.netvision-technik.de/forum/showthread.php?t=6252)

jazzrul 13.04.2011 00:01

jazzrul
 
Hallo Gemeinde,

habe vor ca 18 Monaten die Pflege eines, auf der gotthummer-source basierenden, Trackers mit geschlossener Gemeinschaft übernommen. Seitdem hunderte von Änderungen gemacht. SQL-Optimierungen, Schleifen-Laufzeiten verbessert, neues AJAX Upload-Formular, AJAX für Shout- u. Teambox, Shoutcast-Anzeige, TS3, etc.
Welche Codebasis ist die hier aktuell "gültige"? Damit ich Patches erstellen kann, mit denen die Community hier etwas anfangen kann und eine Diskussionsgrundlage definiert ist.
Ich würde gerne mit einer Community zusammenarbeiten, statt alleine vor mich hin zu wuseln. Bin zufällig heute über dieses Board gestolpert. Die Source, die ich damals übernahm war leider schon von 2 - 3 Leuten vor mir "bearbeitet" worden, weshalb ich nicht sagen kann, welche Teile hier überhaupt anerkannt, bzw. einigermaßen allgemeingültig sind.

Bin für jede Anregung bezüglich der weiteren Vorgehensweise dankbar.

Gruß
jazzrul

Cerberus 13.04.2011 05:51

Also ich würde empfehlen, als Basis die Default-NV von Gartenzwerg zu nutzen.
Wenn die Sachen "sauber" sind, passen sie ohne Probleme in ca. 90% der Sourcen :)

Stifler 13.04.2011 09:06

Der beste Patch meiner Meinung nach für den NV ist, das Teil zu löschen und selbst von Zeile 1 aufwärts einen zu schreiben!

bastelfreak 13.04.2011 14:02

Kann ich Stifler nur zustimmen. Die NV ist so alt und schlecht geschrieben, da lohnt sich keine Arbeit für.

jazzrul 13.04.2011 16:33

natürlich kann man das alles, aus heutiger Sicht gesehen, als suboptimal bezeichnen. Nun gab es vor 2-3 Jahren nicht sooo viele Alternativen, die signifikant besser gewesen wären. Also betrachten wir doch einfach die Tatsachen der vorhanbdenen Source, sparen uns die Arbeit, bei 0 anzufangen, nehmen die funktionierenden Teile und verbessern die nicht ganz so tollen Stücke. Dass dies teilweise auch ein neudesign erfordert, ist mir klar und wurde von mir an der ein oder anderen Stelle schon gemacht.
Leider lässt sich die ursprüngliche Intension der Autoren nicht mehr an jeder Stelle nachvollziehen, so dass ich stellenweise erhebliche Verständnisprobleme habe, was da eigentlich wirklich passiert. (Ein Beispiel ist die Art und Weise, wie in der announce.php der Status "connectable" ermittelt wird) Hinzu kommt, dass mir in der praktischen PHP-Programmierung einige Grundlagen nicht wirklich geläufig sind und ich da nur Vermutungen habe (z.B. register Functions, oder scope von Variablen), was mir das logische Nachvollziehen der gewünschten Funktion erschwert.
Ich komme aus der C++ / Perl Ecke und zu dem mir anvertrauten Quellcode, wie die Jungfrau zum Kind. Aber ich bin diese Verpflichtung eingegangen und will sie auch erfüllen. Ich sehe ein großes Potential in der Source-Entwicklung durch eine Community, in der man sich gegenseitig geistig befruchten kann und damit einen synergie-effekt erreicht.

Danke Cerberus für Deine Empfehlung.
Die anderen: Äußerungen ala " alles Dreck und neu schreiben" sind nicht wirklich konstruktiv, ohne das Aufzeigen von Alternativen. Wobei ich tatsächlich fast jede Datei bisher anfassen musste, um grobe Fehler rauszuholen.
Wenn jemand einen Tip für ein vollständiges Grundgerüst hat, das mindestens die gleiche Funktionalität bietet, bin ich dem durchaus aufgeschlossen.

Gruß
jazzrul

bolzen 13.04.2011 16:42

als grundgerüst kann ich dir standart TBDev empfehlen auf der eigentlich auch die NV Source basiert.

Die source is wesentlich sauberer gecodet und bietet die selbe funktionalität wie die NV nur schneller

gruß aggro

Stifler 13.04.2011 17:06

Was heißt hier neudesign?
Mit der grafischen Oberfläche hat das ganze überhaupt nichts zu tun.
Die Sourcecode Struktur ist einfach unübersichtlich und die zusätzlichen "Hacks" tun ihr übriges dazu.

connectable:
Da wird mit dem fsockopen Befehl eine Socketverbindung (eine Art Ping) zum user (IP+Port) aufgebaut!
Ist der Port offen (Pong) ist er connectable, kann keine Verbindung aufgebaut werden ist er Unerreichbar!
Auf die gleiche Weise kann man auch überprüfen ob eine Website erreichbar ist!

jazzrul 13.04.2011 18:00

bolzen: du meinst TBDev.net ?

Stifler: mit Design meine ich bestimmt nicht das Aussehen der Oberfläche :D, ich rede von dem Kram, den ich in Schriftform in meinem Editor bewundern darf, dem Code-Design (den Begriff gibt es tatsächlich). Zu meinem Beispiel: es wird in der announce.php eine Variable $connectable verwendet, deren definition und initialisierung ich nirgens finden kann. Evtl. ist PHP da was besonderes, aber in allen mir geläufigen Programmiersprachen muss ich den Wert einer Variablen erst irgendwo definieren, bevor ich sie verwenden kann, bzw, verlässlich das Vorhandensein eines bestimmten Wertes prüfen kann (in diesem Fall 'yes' oder 'no', da das mit dem "yes/no - enum" der DB korrelliert.) Meine ganz konkrete Frage ist also: Wo wird $connectable mit dem aktuellen realwert initialisiert? Und kann dies auch ausserhalb der betreffenden PHP-Datei geschehen? (Da hätten wir eine der erwähnten Wissenslücken meinerseits, bezüglich Variablenscope).

Auf jeden Fall schonmal Danke für die Beteiligung und Hilfe.

Stifler 13.04.2011 18:05

Such mal nach einer $sock!

normalerweise

PHP-Code:

$sock fsockopen(ip,port,...);
if(
$sock) {
$connectable "yes";
fclose();
} else {
$connectable "no";



jazzrul 13.04.2011 18:14

Danke Stifler.

Da hat wohl einer meiner Vorgänger Mist gebaut und vor dem setzen von $connectable = 'no'; ein if($connectable == 'no') eingebaut.
Ich werde wohl nicht umhinkommen den ganzen Tracker von unten her neu aufzubauen, ohne dass die User das merken (seufz). Bis jetzt ging halt irgendwie, aber es wird immer schwieriger, bei Ungereimtheiten die wahre Ursache zu entdecken.

Da dies hier eigentlich der Thread zum Vorstellen der Person ist, werde ich weitere Kommunikation zu diesem spezifischen Thema in einem dazu eingerichteten Zweig dieses Forums äussrn. Welcher Kanal passt da eurer Meinung am besten?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.