Communitysoftware mit Extras. Jemand Interesse mitzuwirken?

  • Ersteller Ersteller omaliesschen
  • Erstellt am Erstellt am
omaliesschen schrieb:
@ice-breaker
Du kannst es nicht lassen?
...
Bezweifle ich.
Basierend auf welcher Erfahrung? Ich seh das eher wie ice-breaker. Klar, ich wünsch dir alles Gute mit deinem Projekt. Evtl. wird gerade dein Projekt das eine, das mal überlebt... aber der Löwenanteil geht gnadenlos unter, weil es ähnliche Projekte mit professionelleren Entwicklerteams und aktiverer Community gibt.
Du wirfst hier noch viel zu viel Zeug durcheinander, als dass hier ernsthaft Zukunftsaussicht bestehen kann. PHP ist z.B. schon einmal keine SO schlechte Idee, skaliert wunderbar weit, egal was einige hier behaupten mögen. Ich versteh nur nicht, warum du hier jetzt schon auf HipHop vor planst und wieso du jetzt auch noch weitere Sprachen wie Perl in den Topf werfen willst. Das geht dann drunter und drüber.

Wozu z.B. HipHop? Klar, wenn dein Projekt irgendwann 5-6 Mio aktive User hat und dein 40€-Server nicht mehr klar kommt, dann lohnt sich sowas eventuell... aber auch nur, wenn eben der PHP-Code dein Flaschenhals ist. Selbigen Flaschenhals kannst du aber wirklich weit in die Ferne schieben, einfach durch ein "apt-get install php-apc".
Viel eher bilden deine Datenbank-Requests den Flaschenhals. Überhaupt wirst du massive Konsistenzprobleme in der DB bekommen. Einerseits schreit ein Forum nach einer relationalen DB, z.B. MariaDB, andererseits schreien deine Chats und sonstigen Echtzeit-Social-Sachen nach NoSQL-Lösungen. Das unter einen Hut zu bekommen wird viel interessanter als sich um eventuelle Leistungsgrenzen bei PHP Gedanken zu machen.

Um mal grob ein paar Zahlen in den Raum zu werfen: C via HipHop statt PHP mit OpCode-Cache (APC, Zend,...) bringt vielleicht 20-30% Leistung... im Extrem. Optimierung deines DB-Caches, deiner Queries und deiner Keys bringt schnell mal 1000%.

Ich denke es versteht sich von selbst das ein Weg gewählt wird bei dem jeder Nutzer seine Kopie hat. Warum so ein Aufmarsch deswegen?
Du denkst aber schon wieder unnötig kompliziert mit deinem SFTP/FTPS
1.) Wenn dein Projekt eh Open Source werden soll (was für ne Lizenz eigentlich? GPL? LGPL? MIT? Apache? Klär das als erstes!), warum nicht von Anfang an öffentlich?
2.) Wenn du partout "intern" bleiben willst: Setz auf deinem lokalen Entwicklungsserver ein SVN auf. SVN mag verglichen mit GIT etwas staubig klingen, funktioniert aber perfekt.

Die Unterschiede zwischen einem Versionierungsprogramm wie SVN oder GIT gegenüber irgend welchen FTP-Konstrukten ist... na ja. Tag und Nacht wäre noch untertrieben. Branching, Merging, ganz simples Erzeugen von Patches,...
 
Hier wird nichts durcheinander gewürfelt.

Es ist relativ unsinnig die Wahl der Sprache/Zielsprache in Frage zu stellen. C++ weil PHP nicht meine Sprache ist, auch wenn das Projekt derzeit in PHP geschrieben ist.

An Perl denke ich bzgl. Textverarbeitung da es gerade dort die beste Wahl wäre. Im Umfeld von PHP/Python etc., wobei auch das davon abhängt ob HipHop schlussendlich zum Einsatz kommt. Wenn nicht, wovon nicht auszugehen ist, wird alles zu Perl portiert was dann allerdings baldig entschieden wird.

Einerseits schreit ein Forum nach einer relationalen DB, z.B. MariaDB, andererseits schreien deine Chats und sonstigen Echtzeit-Social-Sachen nach NoSQL-Lösungen.

Es gab keine Auskunft hierzu von meiner Seite weshalb mir unklar ist wie du etwas kritisierst ohne zu wissen ob die Kritik überhaupt gerechtfertigt ist. Was sie nicht ist da neben MySQL auch ein Key Value Store genutzt wird. Alles was geht wird ausgelagert auf Key Value DBS. Explizit Redis für Kleinkram und vermutlich demnächst auch MongoDB.

Siehe code.

Derzeit steht die Frage im Raum ob ich die Templates über Redis lad sofern geklärt ist wie das mit HipHop abläuft. Ist wohl schon ab einem OpCache überflüssig.

Optimierung deines DB-Caches, deiner Queries und deiner Keys bringt schnell mal 1000%.
Meine Queries rennen wie Sau.^^

1.) Wenn dein Projekt eh Open Source werden soll [....], warum nicht von Anfang an öffentlich?

Wenn ich etwas online zur Verfügung stelle muss es gewissen Qualitätsansprüchen meinerseits genügen und keine Einbußen im Funktionsumfang aufweisen die durch fehlende Module entstehen die an einer anderen Stelle gebraucht werden aber noch nicht geschrieben/umgeschrieben/aktualisiert sind.
 
Zuletzt bearbeitet:
Daaron schrieb:
Selbigen Flaschenhals kannst du aber wirklich weit in die Ferne schieben, einfach durch ein "apt-get install php-apc".
APC ist mit PHP 5.5 doch jetzt sowieso tot, für PHP 5.4 gab es nie eine wirklich stabile Version und mit PHP 5.5 hat jetzt der Zend "Opcache" fest in den PHP Core Einzug gehalten.

omaliesschen schrieb:
Es ist relativ unsinnig die Wahl der Sprache/Zielsprache in Frage zu stellen. C++ weil PHP nicht meine Sprache ist, auch wenn das Projekt derzeit in PHP geschrieben ist.
Warum fängt man es erst dann an in PHP zu entwickeln? Warum macht man dann ein OpenSource Projekt draus?

omaliesschen schrieb:
Es gab keine Auskunft hierzu von meiner Seite weshalb mir unklar ist wie du etwas kritisierst ohne zu wissen ob die Kritik überhaupt gerechtfertigt ist. Was sie nicht ist da neben MySQL auch ein Key Value Store genutzt wird. Alles was geht wird ausgelagert auf Key Value DBS. Explizit Redis für Kleinkram und vermutlich demnächst auch MongoDB.
jeah, gleich zu Anfang schonmal wild um sich schlagen und 3 verschiedene DataStores zu nutzen ist natürlich genial, es ist ja auch so leicht die 3 untereinander konsistent zu laden. Und jeder der die Software nutzen will, will natürlich erstmal auch 3 versch. Datenbanken einrichten. Oder gar noch mehr, wenn das Projekt erstmal vorranschreitet...

omaliesschen schrieb:
Meine Queries rennen wie Sau.^^
Queries sind in einer so gut wie leeren Datenbank immer schnell :rolleyes: Lass da mal einige Milliarden Datensätze drinne sein, die Größe der Datenbank die des verfügbaren Rams überschreiten, DANN wird die Datenbankoptimierung wichtig. Und da treten die von Daaron genannten Faktoren von Verbesserungen um den Faktor 1000 auf, wobei ich da schon deutlich mehr erreicht habe.

omaliesschen schrieb:
Wenn ich etwas online zur Verfügung stelle muss es gewissen Qualitätsansprüchen meinerseits genügen und keine Einbußen im Funktionsumfang aufweisen die durch fehlende Module entstehen die an einer anderen Stelle gebraucht werden aber noch nicht geschrieben/umgeschrieben/aktualisiert sind.

Hier mein Visitor counter:
War hoffentlich ein Beispiel dafür, dass du der Code noch nicht hübsch ist? Alle Attribute Public, Naming-Regeln ignoriert, Namespaces?, Vermischung von OOP und prozeduralem Code, Vermischung der Layer (Sessionzugriff, Location Redirects) und und und.





Ach und wenn du heutzutage sowas schon bauen willst, dann setz wenigstens auf ein Framework auf und mach nicht den Fehler alles von Grund auf neu zu bauen. Die fertigen Frameworks werden von der Anpassbar- und Erweiterbarkeit sowie Codequalität einfach deutlich besser sein, denn da arbeitet i.R. eine größere Community mit versch. Anwendungsszenarien dran, so dass die Frameworks auch schön variabel sind.
 
Zuletzt bearbeitet:
Warum fängt man es erst dann an in PHP zu entwickeln?

Weil es mir zu dem Zeitpunkt noch zu unsicher war auf C++ zu setzen. Man nimmt die Sprache mit der man umgehen kann.

Warum macht man dann ein OpenSource Projekt draus?
Was soll die Frage? Ist OS mittlerweile Sprachgebunden?

Ich gehe dazu über alles was DU mir im RL vermutlich nie sagen würdest rot zu markieren. Theoretisch müsste ich das RÜckwirkend für alle deine Posts hier im Topic machen. Ich habs leider beim ersten Beitrag versäumt deine Intention zu erkennen.

Mit deinem zweitem Beitrag wurde es allerdings klar und der dritte schließt sich lückenlos an.

jeah, gleich zu Anfang schonmal wild um sich schlagen und 3 verschiedene DataStores zu nutzen ist natürlich genial,

Es sind zwei. Da Redis RamBased ist will ich nicht alles dort speichern. Aus Platzgründen mit Blick in die Zukunft. Man weiß ja nie. Um das auszugleichen denke ich an MongoDB. Wobei auch das wie schon erwähnt nicht festeht und MySQL auf den ersten Blick ja das selbe bietet. Nur habe ich Gründe die Überlegung zu tätigen.

Und jeder der die Software nutzen will, will natürlich erstmal auch 3 versch. Datenbanken einrichten.

Was mir relativ Ladde ist.

Queries sind in einer so gut wie leeren Datenbank immer schnell Lass da mal einige Milliarden Datensätze drinne sein

Keine einzige meiner Queries läuft ohne Index. Die Datenbank ist weitestgehend optimiert. Wegen Peanuts häng ich mich nicht auf. Darüberhinaus wird hier kritisiert was aufgrund der Sachlage nicht kritisierbar ist. Ich hab mir die offensichtlich ungewöhnliche Eigenheit angewöhnt mir erst einen Eindruck von Dingen zu beschaffen bevor ich urteile -> wenn ich Urteile.

Ihr könnt das natürlich gerne weglassen und schon im Vorfeld mit Kritik um euch werfen. Spielt ja auch keine Rolle, da Kritik bei Dir und ein,zwei anderen das einzige ist das Ihr einbringen möchtet was euch natürlich frei steht. Subtiler/wie auch weniger subtiler "Aggressionsabbau" auf meine kosten wird allerdings in Zukunft rot hervorgehoben um Missverständnisse zu vermeiden. Wobei "denunzierender subtext" heller sein wird. #CD1076.

War hoffentlich ein Beispiel dafür, dass du der Code noch nicht hübsch ist? ... Vermischung von OOP und prozeduralem Code,..

K.A. wovon Du redest..

Alle Attribute Public, Naming-Regeln ignoriert, Namespaces?, ... , Vermischung der Layer (Sessionzugriff, Location Redirects) und und und.

Was natürlich das wichtigste im Leben ist.

PS: Location redirects: U jelly?
 
Zuletzt bearbeitet:
omaliesschen schrieb:
Es ist relativ unsinnig die Wahl der Sprache/Zielsprache in Frage zu stellen. C++ weil PHP nicht meine Sprache ist, auch wenn das Projekt derzeit in PHP geschrieben ist.
C++ hat aber auch wieder Nachteile: Du kannst es nicht überall direkt und nahtlos verwenden. Perl, Python oder Ruby würden da eher noch gehen, als dass ein Hoster dir die Möglichkeit gibt, deinen C-Code zu kompilieren.
Wenn dein Projekt also nicht nur für extrem große Dienstanbieter gedacht ist, ist es unsinnig auf C++ zu setzen. Ich könnte mir aber gerade bei einem Forum mit Extras durchaus vorstellen, dass du mehr kleine User als Großkunden haben wirst -> PHP die ideale Wahl.
Wie schon gesagt, PHP mit OpCode-Cache und gut eingestelltem Server (z.B. mpm-itk + php-fpm) rennt wie Sau, da braucht es einfach kein HipHop und auch keinen nativen C++ - Code. Der Leistungsgewinn wäre winzig im Vergleich mit dem Verlust an Flächenwirksamkeit. Setz auf eine beliebte Interpreter-Sprache mit Cache-Funktion, das ist performant genug.

Es gab keine Auskunft hierzu von meiner Seite weshalb mir unklar ist wie du etwas kritisierst ohne zu wissen ob die Kritik überhaupt gerechtfertigt ist. Was sie nicht ist da neben MySQL auch ein Key Value Store genutzt wird. Alles was geht wird ausgelagert auf Key Value DBS. Explizit Redis für Kleinkram und vermutlich demnächst auch MongoDB.
Du würfelst schon wieder. Entscheide dich doch für 2 Sachen: ein RDBMS und EINEN KV-Store. Ich halte es für Unsinn, parallel zu Redis noch MongoDB einsetzen zu wollen.
Hier stellt sich wieder die Frage nach der Usability: Findest du einen Hoster, der dir EINEN KV anbietet? Möglich. Findest du einen, der dir 2 oder 3 anbietet? Fraglich.

Meine Queries rennen wie Sau.^^
Mit wie vielen Einträgen? 100? 1000? Wenns siebenstellig wird, wirds langsam wirklich interessant.


ice-breaker schrieb:
APC ist mit PHP 5.5 doch jetzt sowieso tot, für PHP 5.4 gab es nie eine wirklich stabile Version und mit PHP 5.5 hat jetzt der Zend "Opcache" fest in den PHP Core Einzug gehalten.
Das war ein Beispiel, außerdem haben die großen Stable-Distributionen allesamt noch kein 5.5. Es gibt einige Caches, und ob Zend am Ende schneller oder stabiler ist als die anderen weiß auch keiner.

Warum fängt man es erst dann an in PHP zu entwickeln? Warum macht man dann ein OpenSource Projekt draus?
...und wer profitiert am Ende in welcher Form davon?
Die Frage nach der genauen Lizenz wurde z.B. immer noch nicht beantwortet.

War hoffentlich ein Beispiel dafür, dass du der Code noch nicht hübsch ist? Alle Attribute Public, Naming-Regeln ignoriert, Namespaces?, Vermischung von OOP und prozeduralem Code, Vermischung der Layer (Sessionzugriff, Location Redirects) und und und.
Ich für meinen Teil bin übrigens ein großer Fan von Autoloadern... Jedes komplexe, modulare Projekt sollte einen Autoloader verwenden. Ist einfach angenehmer, nie mit require/include arbeiten zu müssen, sondern einfach $blabla = new blubb(); //und fertig, das Ding kümmert sich.

Oh, und ich vermisse da magische Getter/Setter. Nein, statt dessen wird jedes Attribut public gesetzt. Sehr kreativ.
 
C++ hat aber auch wieder Nachteile: Du kannst es nicht überall direkt und nahtlos verwenden.

Deshalb ist es in PHP geschrieben. Es gab zu viele Unklarheiten. C/++ ist halt schon was anderes. Auch in Hinsicht Sicherheit.


als dass ein Hoster dir die Möglichkeit gibt, deinen C-Code zu kompilieren.

Ich würde nur einen root server in Betracht ziehen.


Du würfelst schon wieder. Entscheide dich doch für 2 Sachen: ein RDBMS und EINEN KV-Store. Ich halte es für Unsinn, parallel zu Redis noch MongoDB einsetzen zu wollen.

Der Einwand ist berechtigt. Redis nutzt den Ram und hat damit reduzierte Kapazitäten, outperformed dafür alle anderen. 3DBs sind natürlich beschissen. Aber:

Aktuell mach ich das ganze allein daher gilt : Mein Projekt meine Regeln. Und wenn ich ein exzentrisches 3DB System haben will -> dann mach ich das.

Mit wie vielen Einträgen? 100? 1000? Wenns siebenstellig wird, wirds langsam wirklich interessant.

Ich denke ich kann das schon einschätzen, ganz so unwissend bin ich nicht.

Wir sind hier allerdings zu weit OT. SQL Performance hat mit dem Thema gar nichts mehr zu tun.

PS: Ich nutz PHP5.5 mit Opcache.

Sind mir geläufig ich verstehe allerdings den Sinn dahinter nicht?

Die Frage nach der genauen Lizenz wurde z.B. immer noch nicht beantwortet.
Hab ich mich nie mit auseinandergesetzt. Ich denke da an alles außer kommerziell.

modulare Projekt sollte einen Autoloader verwenden
Werd ich bei Zeiten noch integrieren. Nicht vergessen dass es kein kleines Projekt ist, und ich nur ein "Stümperhafter Amateur der keine Ahnung hat."
 
Zuletzt bearbeitet:
Um was ging es in dem Thread zu anfangs?

Ich glaub um Versionskontrolle, Git und PHP == Kiddiesprache und so Zeugs, doch niemals darum das jemand Interesse an seinem Projekt wecken wollte.
 
Eventuell solltest du nicht immer direkt abkanzeln sondern dir die Kritikpunkte direkt zu Herzen nehmen.

Als erstes solltest du tatsächlich über die Lizenz nachdenken. Solange du dich nicht explizit für eine entscheidest, ist das Projekt prinzipiell Closed Source. Zumindest die Unterschiede zwischen z.B. GPL, LGPL und BSD solltest du recht schnell erfassen und dich von hier aus für eine entscheiden. Ansonsten hättest du z.B. noch Apache oder MIT zur Auswahl. Entscheide dich gleich, vorher wird dir wohl kaum einer aktiv helfen. Evtl. möchte jemand, der dir jetzt helfen würde, das Projekt gern am Ende kommerziell verwenden. Wenn du dich dann jetzt für GPLv3 entscheidest, hat er da ein Problem. Ein anderer Entwickler möchte vielleicht, dass das Projekt auf ewig offen bleibt und möchte kommerzielle Forks ausschließen.

Und nein, ich glaube NICHT, dass du die Datenbank-Last einschätzen kannst. So viel Erfahrung mit wirklich großen Datenbanken hast du nicht.
 
omaliesschen schrieb:
Ich gehe dazu über alles was DU mir im RL vermutlich nie sagen würdest rot zu markieren.
ist zwar OT, aber ich hätte dir das auch privat genauso gesagt, denn das einzige was in dem Projekt entstehen wird ist viel verbrannte Freizeit.

omaliesschen schrieb:
Es sind zwei. Da Redis RamBased ist will ich nicht alles dort speichern. Aus Platzgründen mit Blick in die Zukunft. Man weiß ja nie. Um das auszugleichen denke ich an MongoDB. Wobei auch das wie schon erwähnt nicht festeht und MySQL auf den ersten Blick ja das selbe bietet. Nur habe ich Gründe die Überlegung zu tätigen.
Redis + MongoDB + MySQL = 3
Wobei diese Wahl wirklich sehr unglücklich ist, denn Redis/Mongo kann man beide gut als KV-Store verwenden. Und MongoDB/MySQL beide gut als primäre DB. Somit ist wenigstens eine Datenbank absolut redundant. Du kannst natürlich auf Mongo only setzen, dann bekommt es diesen "hippen Flair".

omaliesschen schrieb:
Was mir relativ Ladde ist.
Dir ist also "Ladde", dass niemand 3 Datenbanken installieren wollen wird, um deine tolle OpenSource einzusetzen? Ja warum wird das ganze dann als OpenSource entwickelt, wenn dir die Nutzer egal sind? Dann kannst du es ja gleich für dich alleine entwickeln, achso, da hilft dir niemand, stimmt.

omaliesschen schrieb:
Ihr könnt das natürlich gerne weglassen und schon im Vorfeld mit Kritik um euch werfen. Spielt ja auch keine Rolle, da Kritik bei Dir und ein,zwei anderen das einzige ist das Ihr einbringen möchtet was euch natürlich frei steht. Subtiler/wie auch weniger subtiler "Aggressionsabbau" auf meine kosten wird allerdings in Zukunft rot hervorgehoben um Missverständnisse zu vermeiden.
Nein, wir haben nur mehr als genug Erfahrung in die Richtung und dutzender solcher Projekte scheitern sehen, dass wir dir deine Fehler jetzt schon vorher aufzeigen können.

omaliesschen schrieb:
K.A. wovon Du redest..
Der Code ist übel und strotzt nur so von "Anfänger"fehlern... Eventuell wäre ein kleines Projekt für den Anfang sinnvoller? ;)

Daaron schrieb:
Mit wie vielen Einträgen? 100? 1000? Wenns siebenstellig wird, wirds langsam wirklich interessant.
7 sind immer noch gut handelbar, ab 8 wirds langsam wirklich schwierig. Denn da beisst einen direkt jede "Unzulänglichkeient" von MySQL, also vor allem dass MySQL bisher nur die uneffizientesten (aber am meisten einsetzbaren) Nested-Loop-Joins konnte - seit 5.6 endlich aber auch die guten HashJoins.

Daaron schrieb:
Das war ein Beispiel, außerdem haben die großen Stable-Distributionen allesamt noch kein 5.5. Es gibt einige Caches, und ob Zend am Ende schneller oder stabiler ist als die anderen weiß auch keiner.
Seine Software wird ja nicht morgen fertig, da kann man imho schonmal vorrausplanen. Vorallem weil nen Opcode-Cache ja nun wirklich nicht die Programmierung beeinflusst. Und doch, Opcache wurde schon als schneller als APC getestet, das zusammen mit der Stabilität haben erst zum Einzug in den Core geführt.

Daaron schrieb:
Ich für meinen Teil bin übrigens ein großer Fan von Autoloadern... Jedes komplexe, modulare Projekt sollte einen Autoloader verwenden. Ist einfach angenehmer, nie mit require/include arbeiten zu müssen, sondern einfach $blabla = new blubb(); //und fertig, das Ding kümmert sich.
wer ist das nicht, zusammen mit Composer hat PHP da endlich mal wieder gegenüber den anderen Sprachen aufgeholt.

omaliesschen schrieb:
Ich würde nur einen root server in Betracht ziehen.
schränkt die Nutzbarkeit deiner Software in Richtung 0 ein (weil der Großteil der PHP-Installationen auf SharedHosts stattdindet) und somit sinkt auch deine aktive Entwicklercommunity gegen 0 --> ein weiteres totes Github Projekt.

omaliesschen schrieb:
Der Einwand ist berechtigt. Redis nutzt den Ram und hat damit reduzierte Kapazitäten, outperformed dafür alle anderen.
Gegenfrage: Wie oft brauchst du diese Raw-Performance von Redis? Seltenst! Und ähnliches (natürlich nicht das gleiche!) können dir auch andere Lösungen wie HandlerSocket für MySQL bieten, mit dem Vorteil dass es weiterhin in MySQL landet, transaktionale Sicherheit hat und und und.

omaliesschen schrieb:
Aktuell mach ich das ganze allein daher gilt : Mein Projekt meine Regeln. Und wenn ich ein exzentrisches 3DB System haben will -> dann mach ich das.
Du fragst nach Mitentwicklern, da funktioniert das so nicht ;) Jede größere Designentscheidung wird da zusammen abgestimmt werden müssen und es fallen durchaus auch Entscheidungen, die dir gar nicht gefallen.
Passt dir das nicht, solltest du es nicht als OpenSource Projekt machen, bei dem du aktiv nach Mitentwickler fragst. Sondern es einfach auf Github hosten und hoffen, dass jemand Code beisteuert.
 
denn das einzige was in dem Projekt entstehen wird ist viel verbrannte Freizeit.

In den letzten 3 Stunden habe ich das Konzept von Namespaces verinnerlicht, einen Autoloader gebastelt der rekursiv das Klassenverzeichnis scannt und die Pfade in eine Datei schreibt. Gelernt wie man trotz Namespaces PHP eigene und andere Klassen über "use" bzw. einem Namespace"kiler" einbindet, recherchiert dass die gängige Navigation "breadcrump trail" genannt wird, bisschen was über Sichtbarkeiten gelesen, die fig-standards betrachtet, und irgendwo noch was über implements, interfaces und dem unterschied zu extends mitgenommen, das Konzept von document comments verinnerlicht.

Mehrere Klassen umgeschrieben und noch anderen Kleinkram erledigt.

Denkst Du wirklich ich hab die Zeit und Lust hier über Belanglosigkeiten zu debattieren?

Nein, wir haben nur mehr als genug Erfahrung in die Richtung...

Deiner Artikulation nach zu urteilen bis Du noch im Studentenalter. Oder gerade fertig. Erzähl mir nix von einer umfangreichen Berufserfahrung.

Ja warum wird das ganze dann als OpenSource entwickelt, wenn dir die Nutzer egal sind?

Ich nahm und gebe etwas zurück. Nicht mehr und nicht weniger.

Der Code ist übel und strotzt nur so von "Anfänger" fehlern...

Ich bitte darum die mangelhaften Stellen zu zitieren.

... und dutzender solcher Projekte scheitern sehen, dass wir dir deine Fehler jetzt schon vorher aufzeigen können.

"Schlechter code" wird die eigentliche Zielgruppe (nicht die OS Community) vermutlich wenig interessieren.

Dutzende? Gehen wir bei dem Begriff mal von 95% aus? Nochmal Glück gehabt, da ich gemäß wissenschaftlicher Standards in die Kategorie <4% der Bevölkerung falle. Und als Teillinkshänder ist der kreative Faktor auch noch akzeptabel. Manchmal lerne ich in einer Nacht was andere in 2 Wochen nicht auf die Reihe bekommen.

Ich komm schon zurecht.

Dennoch stimmt es mich wirklich traurig.^-^ Als größer Menschenfreund macht es mich immer depressiv wenn ich sehe wie Träume zerplatzen und Wunschvorstellungen dahinvegetieren um letztendlich Ihrem Schöpfer entgegenzutreten. Ein Versagen meinerseits ist nämlich ausgeschlossen.:cool_alt:

Du fragst nach Mitentwicklern, da funktioniert das so nicht
Mitentwickler hätten Mitspracherecht was sich halt erübrigt wenn es keine gibt.

und es fallen durchaus auch Entscheidungen, die dir gar nicht gefallen.
Wäre auch schlimm wenn es nicht so wär.

Anmerkung: 3 Negativsuggestionen. Du solltest den Beruf wechseln und Hassprediger werden oder Antitherapeut.

Inhaltlich für einen Laien bzgl. meiner Person durchaus berechtigt aber es reicht sowas einmal zu erwähnen und wie Daroon es freundlicherweise gehandhabt hat dabei auf Augenhöhe bleiben. Der intelektuelle Charakter des Programmierens ist meines erachtens zu gering um sich deshalb all zu ernst zu nehmen. Es sei denn natürlich Du arbeitest als dev für google oder hast Facebook entwickelt. Aber machen wir uns nichts vor...
 
Zuletzt bearbeitet:
omaliesschen schrieb:
Ich nahm und gebe etwas zurück. Nicht mehr und nicht weniger.
Das ist so, als würdest du ein pinkes Lackleder-Tütü zur Kleiderspende geben.
Wenn du ein Projekt der Community zur Verfügung stellen willst, dann sollte dieses Projekt auch FÜR die Community sein.... und natürlich sollten von anfang an offene Kritikpunkte vernünftig behandelt werden.

Der intelektuelle Charakter des Programmierens ist meines erachtens zu gering um sich deshalb all zu ernst zu nehmen.
...dann hast du noch nie wirklich komplexe Probleme vor dir gehabt, bei denen Performance auch noch wirklich ein Problem war. Um es mal überspitzt darzustellen: Du entwickelst Naive Sort. Ein erfahrener Programmierer, bei dessen Arbeit es um was geht, entwickelt mindestens Quicksort, eher noch Merge- oder Heapsort.
 
Du entwickelst Naive Sort.

Das mag vll. auf heute zutreffen. Die Fortschritte kommen mittlerweile über über Nacht. Wenn ich heute ein Codeschnippsel einstelle ist er morgen als Referenz manchmal schon nicht mehr tauglich.

Ich hab bei den Streitereien durchaus einiges dazu gelernt, nur zu welchem Preis?:D

Eure Kritikpunkte sind weitestgehend abgearbeitet bzw. ich bin gerade dabei sie abzuarbeiten. Sind ein paar Seiten die abgeändert werden müssen.

...dann hast du noch nie wirklich komplexe Probleme vor dir gehabt, bei denen Performance auch noch wirklich ein Problem war.

Mathematik halt. http://www-i1.informatik.rwth-aachen.de/~algorithmus/

Klingel mal irgendwo und sag dem Hausherren Du bist jetzt König. Eine komplexe mathematische Formel würde es belegen.^-^
 
Zuletzt bearbeitet:
omaliesschen schrieb:
Inhaltlich für einen Laien bzgl. meiner Person durchaus berechtigt aber es reicht sowas einmal zu erwähnen und wie Daroon es freundlicherweise gehandhabt hat dabei auf Augenhöhe bleiben. Der intelektuelle Charakter des Programmierens ist meines erachtens zu gering um sich deshalb all zu ernst zu nehmen. Es sei denn natürlich Du arbeitest als dev für google oder hast Facebook entwickelt. Aber machen wir uns nichts vor...[/SIZE]
Glaub mir wir diskutieren hier alle auf Augenhöhe!
Hast schon öfter mal Diskussionen mit anderen Entwicklern geführt? Wenn ja sollte dir bekannt sein, das bei solchen Diskussionen der Ton oft anders und ruppiger ist. Warum das so ist, gute Frage, ich würde mal darauf tippen, weil es den Leuten hier einfach um die Technik und der Gesprächspartner in den Hintergrund tritt.
[EDIT]
Natürlich ist Programmierung oft trivial, aber wir reden hier auf von Softwaredesign und Projektmanagement und hier sieht die Sache schon wieder anders aus.
Ich habe aktuell z.B. ein Projekt mit etwa 80k - 100k Zeilen Code übernommen bei dem man bezüglich des Designs so extreme Fehler gemacht hat, das es jetzt sehr schwer ist neue Teile sauber zu implementieren,
Fehler zu finden und zu beheben. Das beruht meiner Einschätzung nach zum einen darauf das die Sachen nach dem Motto "Hauptsache es läuft" implementiert wurden und zum anderen Entwickler beschäftigt hat die nicht sauber mit der Sprache umgehen konnten(C-Ism)[/EDIT]
Achja, zu der letzten Anmerkung...es gibt massig extrem gute Entwickler welche nicht bei Google oder so arbeiten, sondern vielleicht auch nur in einer 3 Mann Klitsche, die kaum keiner kennt aufgrund des eingeschränkten Wirkungsbereichs, aber trotzdem einen Millionen Umsatz hat.
 
Zuletzt bearbeitet:
Packs auf Github und ich gucks mir gerne mal an.

Ich hab in der Vergangenheit sowas schon mal gemacht, zu gamez.de / loftboard.de Zeiten nen alternatives Foren-System geschrieben und anschließend verkauft (ist noch unter xpbulletin.de online).

Die Idee als solche ist natürlich gut, aber was unterscheidet denn Deine Software von vbulletin (mit social media features btw), woltlab bb oder dem phpbb (welches man mit plugins erweitern kann)?

omaliesschen schrieb:
Aktuell mach ich das ganze allein daher gilt : Mein Projekt meine Regeln. Und wenn ich ein exzentrisches 3DB System haben will -> dann mach ich das.

Hm, der Satz hat das ganze gerade für mich gekillt. Versteh mich nicht falsch, aber nachdem ich hier noch ein paar Beiträge nachgelesen habe, versteh ich gar nicht, was Du hier willst.

Du sprichst von OpenSource Projekt, willst es aber nicht auf Github packen (was in dem Fall die einzig logische Alternative wäre), weigerst Dich ein alternatives Versionstool zu verwenden und ignorierst alle anderen Einwände bzw. Vorschläge zu Deinem Projekt. Wenn Du den Source-Code nicht öffentlich zur Verfügung stellen willst, dann rede doch nicht von einem OpenSource Projekt.

Das einzig logische in dem Fall wäre, wenn Du Dein tolles Community-Projekt in Zukunft weiterhin alleine programmierst und dann irgendwann mit einem fertigen Produkt für Feedback zurück kommst.
 
Zuletzt bearbeitet:
Du sprichst von OpenSource Projekt, willst es aber nicht auf Github packen

Nicht bevor es nicht halbwegs auf stabilen Beinen steht. Niemand will halbfertigen Kram begutachten.

weigerst Dich ein alternatives Versionstool zu verwenden

Auch das stimmt nicht. Die Diskussion darüber war nur unnötig. Sowas sind Banalitäten die vermutlich in kürzester Zeit umgesetzt sind.

Hm, der Satz hat das ganze gerade für mich gekillt.

Wenn Du alles gelesen hättest wäre dir aufgefallen dass der Satz nur solange seine Gültigkeit hat solange ich alleine Programmier.

SELF::QUOTE Mitentwickler hätten Mitspracherecht was sich halt erübrigt wenn es keine gibt.

Ich such nicht verzweifelt nach Mitwirkenden. Es war ein Angebot, mehr nicht. Vll. gibt es in einer Woche ein GitRepo. Wenn die nötigen Teile überarbeitet wurden.

@Fonce
Hast schon öfter mal Diskussionen mit anderen Entwicklern geführt?

Ich hab nen Senior in der Familie. Man nennt ihn den "Großkapitalist". Mehr brauch man wohl nicht dazu zu sagen.^-^
 
Zuletzt bearbeitet:
omaliesschen schrieb:
Nicht bevor es nicht halbwegs auf stabilen Beinen steht. Niemand will halbfertigen Kram begutachten.

Das spielt bei Github überhaupt keine Rolle und ich bezweifle stark, dass jemand über Github auf Deinem Projekt landen wird, solang es nicht ein Trending Topic etc ist.

Mir ging's nur darum, dass ich mir zb jetzt den Ist-Zustand anschauen und ggf. das ein oder andere optimieren könnte, während du an anderen Sachen dran bist.

Github ist kein Portal für fertige Source-Codes oder Projekte, Github ist dafür da, dass man Software gemeinsam (auf/um)bauen kann, deswegen verstehe ich die Abneigung dagegen nicht.

Aber dann sag mal bescheid, wenn Du einen fertigen Stand bei Github hochgeladen hast, dann guck ichs mir immernoch gerne an :)
 
omaliesschen schrieb:
In den letzten 3 Stunden habe ich das Konzept von Namespaces verinnerlicht, einen Autoloader gebastelt der rekursiv das Klassenverzeichnis scannt und die Pfade in eine Datei schreibt. Gelernt wie man trotz Namespaces PHP eigene und andere Klassen über "use" bzw. einem Namespace"kiler" einbindet
Mein letzter Comment dazu, denn ich habe es schon mehr als deutlich dargelegt. Das ist wieder was ich meine, du kannst dir zwar einzelne Dinge aneignen, aber es wird eben nicht viele Jahre Erfahrung wettmachen. Im Nachhinein werden dir die meisten Entwickler sagen, dass sagen wir mal die ersten 3 Jahre entwickeln im Nachhinein betrachtet mehr Frickeln waren, als sonstwas.
Und warum hab ich mir den Teil rausgesucht? Du hast es zwar alles entwickelt, schön, aber Composer hätte dir sofort einen autom. Classloader mitgebracht, inkl. Namespaces-Support und du könntest jede Dependency wunderbar auch darüber laden.
Das ist der Punkt eben mit der Erfahrung, die bei großen Projekten einfach das wichtigste ist. Und das hier war nur ein unwichtiges Detail, da sind wir nichtmal zu wirklich essentiellem wie MVC, Serviceschichten, Datenbankabstraktion und und und gekommen.

hedsht schrieb:
Github ist kein Portal für fertige Source-Codes oder Projekte, Github ist dafür da, dass man Software gemeinsam (auf/um)bauen kann, deswegen verstehe ich die Abneigung dagegen nicht.
So manches Popular Repo auf Github hatte zu Anfangszeiten massive "Probleme". Da erinnere ich mich gerne an node.js zurück als es noch ein Geheimtipp war, also die 0.0.x bis 0.2.x Zeiten, da war nach jedem 3. oder 4. Update auf dem Master Branch alles kaputt oder die API hat sich geändert. Also von Stabilität Meilen entfernt, aber weil Potential in dem Projekt gesehen wurde haben in diesen unstabilen Anfangszeiten schon dutzende Entwickler mitgeholfen.

Erst alles hübsch machen, entwickeln und dann verfügbar machen ist mehr der Google "OpenSource" Gedanke von Android, hinter verschlossenen Türen entwickeln und wenns fertig ist eben den Quellcode releasen und fertig. Soll die Community damit machen was sie will, wir machen was wir wollen.
 
Zuletzt bearbeitet:
Gib mir einfach noch ein paar Tage. Ein bisschen Sauerei aufräumen und dann passt das. Ich hab auch keine Abneigung gegen GiTHub, kenn aber einige Projekte und die sind in der Regel gut durchgestyled.

@Daroon

USER Admin1 - Admin 1799915. Darunter zwei drei andere Namen.

Code:
SELECT count(*) FROM authors
count(*) => 1799915

Code:
SELECT * FROM authors WHERE name LIKE 'Admin10057%' LIMIT 50

Code:
Showing rows 50 - 49 ( 50 total, Query took 0.0006 sec)

Nach zweimal ausführen gehts dann über den cache auf 0.0001.

Die hier dagegen:

Code:
SELECT * FROM authors WHERE name LIKE 'Admin1%' LIMIT 80030, 30

Code:
Showing rows 80030 - 80059 ( 30 total, Query took 0.1702 sec)

Und das hier:

Code:
SELECT * FROM authors WHERE name LIKE 'Admin10%' ORDER BY name LIMIT 80080, 30

Code:
Showing rows 80080 - 80109 ( 30 total, Query took 0.1725 sec) [name: ADMIN1072070 - ADMIN1072097]

Code:
SELECT *
FROM `authors`
WHERE `name` LIKE '%min%'
LIMIT 80000 , 50

Code:
Showing rows 0 - 29 ( 399,001 total, Query took 0.0001 sec)
Ungecached.

Joins werden ugly.

Billige HDD.

PS: Wenn ich dem Admin mit der ID 600k den Namen Bernd gebe und User mit B suche, dann zuckt der Ladebalken kurz und die Ergebnisse sind da.^-^ Vermutlich ist es unwahrscheinlich dass sich 1.5 Millionen Admins anmelden..
 
Zuletzt bearbeitet:
Du erinnerst dich schon, dass Daaron sagt, dass es bei 7stelligen Datenmengen (was ich persönlich auf 8 erhöhen würde) erst anfängt interessant zu werden? 100k Datensätze? Das passt ja noch ohne Probleme in den Ram. Und LIMIT queries mit offset sind neben Joins die größten Performancekiller bei großen Datenmengen.
Vor allem sind das auch triviale Queries, die Bedingung kann mit nem Index Scan erfüllt werden und dann muss nur noch der passende Datensatz geladen werden.

Aber gut, ich halte mich jetzt raus, ich bin ja eh nur destruktiv und so.
 
Zuletzt bearbeitet:
Zurück
Oben