Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Ideen & Projekte » Leute für OpenSource Projekt gesucht: Musik-DB/Verwaltung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
05.05.2005, 23:38 Uhr
kronos
Quotenfisch
(Operator)


Kennst du die winamp-library?
Ich könnte dir ein provisorisches xmms-plugin anbieten, das in groben zügen die selbe funktion hat.
Will dich allerdings nicht in deinem Schaffensdrang bremsen...
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
27.05.2005, 20:15 Uhr
Pler
Einer von Vielen
(Operator)


Ist das Projekt hier jetzt gestorben? ( Keine Postings mehr )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
29.05.2005, 00:40 Uhr
Crazy-X



Hi,


Zitat von Pler:
Ist das Projekt hier jetzt gestorben? ( Keine Postings mehr )


Also für mich ist das Projekt auf keinen Fall gestorben. Ich habe mal alle meine Ideen und Entwürfe auf einer Projektseite zusammengetragen: http://home.arcor.de/crazy-x/musicfire/index.htm

In einem anderen Forum habe ich auch schon jemanden gefunden, der evtl. am PHP Interface mitarbeiten möchte.

Wenn noch jemand interesse hat, schaut euch einfach mal die Projekseite an...

MFG
Crazy-X
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
29.05.2005, 09:59 Uhr
Spacelord
Hoffnungsloser Fall


@Crazy-X:
Ohne dir dir was böses zu wollen,aber du würdest dir eventuell besser stehen deine Klassendiagramme erstmal wieder von der Seite zu nehmen.
Die sind gespickt mit Ungereimtheiten und wirken wenig professionell.
So aggregiert die Klasse CSong z.B. einen vector<CSong>?
Die Entwurfsentscheidung CPlaylist als Subtyp von vector<CSong> anzulegen halte ich auch für fragwürdig.

Dass du dich jetzt schon auf C++ festlegst ist reine Willkür.Um deine Projektziele zu erreichen bieten andere Programmiersprachen(insbesondere Java) wesentlich bessere Voraussetzungen. C++ bietet dir von Haus aus z.B. nichts wie RMI und die Plattformunabhängigkeit endet bereits an den Grenzen des Standards(und die sind schnell erreicht).

Les dir z.B. dass hier mal durch:
www.informatik.fernuni-hagen.de/pi5/download/diplomarbeiten/spiegel.pdf

Da geht es "nur" darum Kriterien festzulegen nach denen die Middleware ausgesucht wird.
Mit deiner "spontanen" Festlegung auf C++ hast du dich mehr oder weniger schon für CORBA entschieden.Das wird deine Suche nach Programmierern nicht gerade vereinfachen!

Ich kann mir schon vorstellen dass es nicht einfach ist das richtige Mittelding zu finden,und
so ganz ohne Konzept wirst du wohl auch niemanden finden aber sich mal einfach auf C++ festzulegen ist etwas dünn.Dann solltest du schon argumentieren können warum deine Entscheidung genau so ausgefallen ist und dieses auch auf deiner Projektseite erwähnen.

Wie gesagt,seh das hier mal einfach als konstruktive Kritik an.
Wenn ich jetzt auf deine Projektseite gehe und sehe dass du dich für dieses spezielle Projekt auf C++ als Implementierungssprache festgelegt hast,frage ich mich unweigerlich wieso?
Du willst plattformunabhängig sein aber wählst ne Sprache die wesentliche Bestandteile der angestrebten Architektur überhaupt nicht bietet(zumindest nicht im Standard-und alles jenseits davon ist meist nicht portabel).

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
29.05.2005, 12:28 Uhr
Bruder Leif
dances with systems
(Operator)


Es muss ja nicht unbedingt ein remote-fähiges System sein, oder? MySQL (Datenbankschicht) erlaubt Anfragen von Remote-Clients, und die Bibliothek (Geschäftslogik) läuft zusammen mit der GUI (Präsentationsschicht) auf ein und demselben Rechner. Wozu CORBA? Das kann man auch so plattformunabhängig realisieren. Für eine MP3-Verwaltung gleich ein Enterprise-Class-System aufstellen -- wozu? C++ ist IMHO wesentlich portabler als Java, es gibt für mehr Plattformen C++-Compiler als JVMs.
Ich halte so ein Projekt für ideal, wenn es ums Lernen geht...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
29.05.2005, 12:32 Uhr
Bruder Leif
dances with systems
(Operator)


Was das Lernen anbetrifft, wäre es sogar noch besser, wenn die ersten zwei, drei Versuche, das Projekt hochzuziehen, ordentlich in die Binsen gehen. Ab dem vierten Versuch ist das ganze dann benutzbar, und die Projektteilnehmer haben wesentlich mehr gelernt, als in theorielastigen Büchern oder Vorlesungen...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
29.05.2005, 14:14 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von Bruder Leif:
C++ ist IMHO wesentlich portabler als Java, es gibt für mehr Plattformen C++-Compiler als JVMs.
Ich halte so ein Projekt für ideal, wenn es ums Lernen geht...


[Offtopic]
Was bringen dir denn die ganzen Compiler wenn das einzige was du damit(garantiert plattformunabhängig) machen kannst Konsolenanwendungen sind die 2+2 rechnen können?
Mit reinem Standard C++(und nichts anderes gewährleisten die Compiler für die ganzen Plattformen)kann man einfach keine Anwendung schreiben die den Benutzeranforderungen des Jahres 2005 gerecht werden.
Wieviele C++ Socket Library´s kennst du denn die alle von dir angeführten Plattformen unterstützen?
Oder diese pseudo-portablen GUI Libs die letztendlich auf Linux und Windows laufen und wo, wie z.B. bei wxWindows, nur die Hälfte der Flags wirklich für beide Plattformen verfügbar ist.
Also die angebliche Plattformunabhängigkeit von C++ kann man IMHO ruhig kritisch betrachten.
Bei Java kannst du sicher sein dass jedes OS dass ne JVM bietet sich gleich verhält.Abgesehen davon hat man ein durchgängiges "Modell" und kein Sammelsurium von pseudo-portablen Library´s.
[/Offtopic]

So wie ich dass sehe will Crazy-X mit dem Projekt sein Meisterwerk machen.Mit allem Zippi Zappi.Thin Clients,ne DB-Schnittstelle die es problemlos ermöglicht die DB auszutauschen usw.
Wenn es aber jetzt schon los geht sich auf spezielle Fähigkeiten eines DBMS zu verlassen und die Anwendungslogik doch an die GUI zu koppeln wird aus dem Meisterwerk wohl nichts....

Das man an so einem Projekt nur wachsen kann steht fest!

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
29.05.2005, 21:51 Uhr
Crazy-X




Zitat von Spacelord:
Ohne dir dir was böses zu wollen,aber du würdest dir eventuell besser stehen deine Klassendiagramme erstmal wieder von der Seite zu nehmen. ... So aggregiert die Klasse CSong z.B. einen vector<CSong>?


Ok, du hast ja selbst in einem vorhergehenden Post erkannt, das die Aggregationen falsch herum sind. Also wenn man sie dreht, wäre doch alles schon mal wieder logischer!?

Aber eigentlich, -und da stimme ich dir zu-, sind die Klassenentwürfe nicht wirklich brauchbar. Wie ich bereits erwähnt habe, habe ich schon versucht, das Projekt alleine zu realisieren. Und eben aus diesem Versuch sind diese Diagramme entstanden. Aber, wie ich auch auf der Seite geschrieben habe, hab ich gemerkt, dass ich so (ohne Planung, Struktur, und einfach drauflos programmieren) nicht sehr weit kommen werde.
Ich habe diese Diagramme eigentlich nur mal online gestellt, weil ich geschrieben habe, dass ich schonmal einen Anfang gemacht hatte und ich danach gefragt wurde. Das alles nochmal von Anfang an aufgebaut werden muss, war mir soweit schon klar...


Zitat von Spacelord:
Dass du dich jetzt schon auf C++ festlegst ist reine Willkür. Um deine Projektziele zu erreichen bieten andere Programmiersprachen(insbesondere Java) wesentlich bessere Voraussetzungen.

Warum ich C++ gewählt habe, hatt eigentlich einen einfachen Grund: Es ist die Sprache in der ich bisher am meisten programmiert habe und am besten kann. Außerdem gefällt mir die Sprache auch, weil sie Harwarenaher ist und man viel damit machen kann. Da das Projekt ursprünglich als Ein-Mann-Projekt von mir entstand, habe ich diese Sprache eben weiterbenutzt.
Und dann habe ich die Idee hier vorgestellt:

Zitat von Crazy-X:
D.h. ... wenn ihr die Idee klasse findet aber denkt mit $FOO könnte man das besser machen, steht einer Diskussion wie man das am besten realisieren könnte natürlich nichts im Wege.

Da bisher keine Diskussion enstand und ich ausgegangen bin, dass ich weiterhin das Projekt weitgehend alleine realisiere, bin ich dann eben bei C++ geblieben...

Nun konkret zu C++ vs. Java:
Also persönlich konnte ich mich noch nie mit dem Konzept/Gedanken einer VM anfreunden. Außerdem mache ich tagtäglich negative Erfahrungen mit der Geschwindigkeit von Java Programmen. (auf Anwender/Administrativer Seite). Und dass man mit C++ sehr wohl plattformunabhängig programmieren kann, steht ja wohl fest: giFT, Mozilla, Ethereal, Doom3, Unreal/Tournament um nur einige Beispiele zu nennen. Auch wenn's evtl. etwas holpriger (Compilerweichen etc.) ist.


Zitat von Spacelord:
Mit deiner "spontanen" Festlegung auf C++ hast du dich mehr oder weniger schon für CORBA entschieden.Das wird deine Suche nach Programmierern nicht gerade vereinfachen!

Ok, ich gebe zu dass ich von CORBA bisher noch nichts gehört habe und ich habe jetzt auch mal nur ein paar Texte dazu kurz überflogen. Aber warum sollte ich sowas brauchen? In meiner Idee war nie von einer verteilten Anwendung die rede. Wie Bruder Leif schon gesagt hat, läuft MySQL ja bereits Client-Server basiert und im ersten Schritt soll die Anwendung sowie die GUI auf einem Rechner laufen. Die Netzwerkschicht im zweiten Schritt wird dann einfach als Client-Server Prozess zwischen Anwendung und GUI gesetzt. Dazwischen läuft über ganz normale Sockets ein entsprechendes Protokoll. Eben genau wie beim giFT Projekt: http://gift.sourceforge.net/docs/0.11.x/interface.html


Zitat von Spacelord:
So wie ich dass sehe will Crazy-X mit dem Projekt sein Meisterwerk machen.Mit allem Zippi Zappi.Thin Clients,ne DB-Schnittstelle die es problemlos ermöglicht die DB auszutauschen usw.

Naja, ein Meisterwerk will ich nicht wirklich machen. Aber eben wirklich von Anfang an planen und einen sauberen Software-Entwurf machen. Was ist verkehrt/meisterhaft daran, unabhängig vom DBMS zu programmieren. Was ist mit der Modularietat, die viele Programmierer so oft propagieren?


Zitat von Spacelord:
Wenn es aber jetzt schon los geht sich auf spezielle Fähigkeiten eines DBMS zu verlassen und die Anwendungslogik doch an die GUI zu koppeln wird aus dem Meisterwerk wohl nichts....

Da stimme ich zu. Aber wo mache ich das bisher?


Zitat von Spacelord:
Wie gesagt,seh das hier mal einfach als konstruktive Kritik an.

Ok, mach' ich. Solange man darüber diskutieren kann nehme ich diese gerne an.


Zitat von Bruder Leif:
Was das Lernen anbetrifft, wäre es sogar noch besser, wenn die ersten zwei, drei Versuche, das Projekt hochzuziehen, ordentlich in die Binsen gehen

Also wie man sieht ist der erste Versuch (Klassendiagramme) ja schonmal ordentlich in die Hose gegangen. ;-) Das sowas passiert, wenn man keine Projekterfahrung hat und zum ersten mal so ein großes Projekt realisieren möchte, ist mir aber auch klar...

MFG
Crazy-X
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
31.05.2005, 17:10 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von Crazy-X:
Ok, ich gebe zu dass ich von CORBA bisher noch nichts gehört habe und ich habe jetzt auch mal nur ein paar Texte dazu kurz überflogen. Aber warum sollte ich sowas brauchen? In meiner Idee war nie von einer verteilten Anwendung die rede.
......
Die Netzwerkschicht im zweiten Schritt wird dann einfach als Client-Server Prozess zwischen Anwendung und GUI gesetzt. Dazwischen läuft über ganz normale Sockets ein entsprechendes Protokoll. Eben genau wie beim giFT Projekt: http://gift.sourceforge.net/docs/0.11.x/interface.html



Hi,
ich weiß ja nicht wie du verteilte Anwendung definierst aber für mich ist ne Client-Server Architektur schon ziemlich verteilt .
Das giFT Projekt kenn ich nicht und hab die Seite nur mal überflogen.Was mir da aber aufgefallen ist,ist die Tatsache dass dieses Projekt mit C realisiert wurde.
In nem C Projekt mag das eigene Protokoll ja noch Sinn machen.In einem objektorientierten Projekt halte ich es zwar auch für möglich(im Sinne von erfüllt seinen Zweck),in Bezug auf das Design aber für ziemlichen Krampf.
Wenn ich dich richtig verstehe möchtest du doch die Benutzerschnittstelle von der Anwendungslogik entkoppeln indem die GUI ausschließlich über die Schnittstelle von CXMDBPlayerCore Informationen abfragt.Wenn die GUI jetzt durch die Netzwerkschicht vom Anwendungskern getrennt ist frage ich mich wie du dir die Umsetzung der Kommunikation zwischen GUI und Anwendungslogik vorstellst.
Dass dir ne Referenz auf ne CXMDBPlayerCore-Instanz die auf irgend nem anderen Rechner(oder auch nur in nem anderen Prozess) existiert nicht viel bringt ist ja wohl klar.
Wie stellst du dir denn dann die Kommunikation vor wenn du die Methoden deiner
CXMDBPlayerCore Schnittstelle aus der GUI heraus nicht aufrufen kannst?
Wenn ich jetzt mal wieder die Idee mit dem eigenen Protokoll aufgreife komme ich doch zu dem Schluss dass an deiner Client-Server Schnittstelle die Objektorientierung flöten geht.
Mal angenommen dein GUI Client möchte die aktuelle Playlist.Dafür hast du ja die Methode GetCurrentPlaylist vorgesehen.Kannst diese aber nicht aufrufen weil du aus dem fremden Prozess heraus nicht direkt die CXMDBPlayerCore Instanz ansprechen kannst.
Also schickst du per Socket nen Kommando deines eigenen Protokols los.Der Server interpretiert dieses und leitet die Anfrage an das App-Objekt.Dieses führt die Methode GetCurrentPlaylist aus und liefert ne Referenz auf ne CPlaylist Instanz.Tja,da kannst du aber wieder nichts mit anfangen und es macht keinen Sinn diese an den Client zurück zu schicken! Also bleibt dir wieder nichts anderes übrig als den "Inhalt" deines CPlaylist Objekts in ein hübsches Datenpaket zu packen und dieses an den Klient zurück zu schicken.Und das Beste dabei ist dass du noch alle Referenzen,Variablen,Pointer usw. sprich alles was von deiner Playlist Instanz aus erreichbar ist solange auseinandernehmen müsstest bis du nur noch "richtige" Daten ohne Zeiger und Referenzen hast!
Das Paket schickst du dann auf die Reise und der Client muss wissen was da für Daten kommen und wie diese zu interpretieren sind.Somit muss der Client Wissen über Implementierungsdetails von CPlaylist(oder auch jede andere Klasse die per Socket ankommt)haben um dass Datenpaket halbwegs sinnvoll nutzen zu können. An dem Punkt ist es dann mit der Entkoppelung von GUI und Anwendungslogik schon nicht mehr allzu weit her.Jede Änderung an der Anwendungslogik zieht ne Änderung im Client nach sich weil dein Protokoll auf den aktuellen Stand gebracht werden muss.
Das könnte man jetzt noch beliebig weiter spinnen bis aus deinem "einfachen" Protokoll ein Monster geworden ist.
Wenn du diesen Gedanken weiter verfolgst und dein "Protokoll" solange verfeinerst bis du wirklich aus dem Client heraus ganz normal Methoden deiner App-Logik aufrufen kannst bist du in etwa da wo CORBA,RMI und DCOM jetzt schon sind.
Soweit dazu wozu du sowas brauchst(oder brauchen könntest).

Zu Java:
Wenn du die Sprache nicht magst kann man da wohl nichts machen.Es wird wohl wenig bringen sich in einem Fun Projekt dazu zu zwingen eine Sprache zu nutzen die man nicht mag.

Viel Spaß mit deinem Projekt

Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
01.06.2005, 17:38 Uhr
ao

(Operator)



Zitat von Spacelord:
Zu Java:
Wenn du die Sprache nicht magst kann man da wohl nichts machen.Es wird wohl wenig bringen sich in einem Fun Projekt dazu zu zwingen eine Sprache zu nutzen die man nicht mag.

Noch weniger Fun bringts, an einer Sprache zu kleben, die nicht geeignet ist.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ Ideen & Projekte ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: