Programmieren ...


Recommended Posts

Hello this is me, feels bad man

Wenn dus als Web App machen willst könnt ich dir noch Play! (MVC) empfehlen, verwendet Ebean (ORM) - dadurch ist die ganze DB Gschicht überhaupt ein Witz, ist mehr als straightforward

Sonst würd ich auch JavaFX verwenden

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

blablabla

Danke für die Tipps!

Ich werde mir mal javafx mit e(fx)clipse ansehen und das mal ein wenig ausprobieren. In den kommenden Tagen/Wochen werd ich mich mal der sorgfältigen Planung und dem Design der Software widmen, soll ja auch was halbwegs gscheites rauskommen. Ein paar UML-Diagramme zeichnen :davinci:

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich hab gerade auf der Uni ein Projekt für die nächsten Wochen bei dem ich eine GUI mit JavaFX erstellen muss und eine H2 Datenbank über JDBC dazu verbinde.

Also werde ich mich damit beschäftigen können und kann dir möglicherweise bei Fragen/Problelmen helfen oder auch umgekehrt. ;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

  • 2 months later...
blablabla

Ahhh, jetzt erst gesehen :D

Grundsätzlich klingt dein Ansatz nicht verkehrt.

Zum Java spezifischen Teil:

In der Java Welt gilt wohl H2 als Standard für InMemory DBs. Gibt natürlich allerlei Alternativen, aber zB Hibernate als große ORM-Library verträgt sich bestens mit H2.

H2 erzeugt *.db files die du einfach austauschen kannst -> da hast du deine Portabilität.

Wenn du eine ORM Library einsetzt und am JPA Standard bleibst, solltest du die DB Technologie auch jederzeit problemlos wechseln können, also zB von H2 in der Entwicklung auf Postgre am Testserver zu Oracle in der Produktionsumgebung.

Zusätzlich kann ich dir noch empfehlen Liquibase einzusetzen -> Versionskontrolle für Datenbanken.

Ich hab gerade auf der Uni ein Projekt für die nächsten Wochen bei dem ich eine GUI mit JavaFX erstellen muss und eine H2 Datenbank über JDBC dazu verbinde.

Also werde ich mich damit beschäftigen können und kann dir möglicherweise bei Fragen/Problelmen helfen oder auch umgekehrt. ;)

Bin grad ein wenig am Aufsetzen meiner Datenbank und erstem kleinen Herumprobieren mit Java-Code und Einspielen in die H2-Datenbank.

Jetzt ergibt sich aber das Problem, dass wenn ich die H2-Datenbank im Browser öffne, um Strukturänderungen vorzunehmen oder auch einfach nur bequem die Inhalte anzeigen zu lassen und ich daneben die Java-Applikation laufen lassen möchte, sagt es mir, dass die Datenbank bereits benutzt wird und ich die Verbindung beenden muss.

Durch einen Shutdown wird das Problem gelöst, allerdings kann ich den zurzeit nur händisch machen, was nervt. Gibt es einerseits die Möglichkeit, den Shutdown per Code auszulösen oder andererseits die Möglichkeit, dass mehrere Benutzer auf die Datenbank zugreifen können, ohne dass ein Lock entsteht?

Wahrscheinlich war auch mein Fehler, dass ich die Datenbank als H2-Client-Datenbank statt H2-Server-Datenbank erstellt habe.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Knusprig & Frisch

probier mal den parameter "AUTO_SERVER=TRUE" an die jdbc-url anzuhängen. so in etwa:

jdbc:h2:<url>;AUTO_SERVER=TRUE

damit müsstest du dann auch im browser drauf zugreifen können, selbst wenn dein programm schon aktive eine connection hat.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hello this is me, feels bad man

Probier mal sowohl in der h2 console als auch in deinem Databasemanager-what-ever ;AUTO_SERVER=TRUE bei der h2 url am Ende hinzuzufügen

Also zb.

jdbc:h2:./foobar;AUTO_SERVER=TRUE

Bild mir ein so hat das damals bei mir funktioniert (h2 doc)

Du könntest auch in deinem Programm immer nur die Verbindung zur DB herstellen wenn tatsächlich Zugriff auf die DB erfolgt, dann müsste man aber immer wieder die webconsole davor schließen und danach wieder öffnen :betrunken:

Ansonsten halt die h2 im Server/Mixed Mode verwenden

bearbeitet von Arma

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

blablabla

probier mal den parameter "AUTO_SERVER=TRUE" an die jdbc-url anzuhängen. so in etwa:

jdbc:h2:<url>;AUTO_SERVER=TRUE

damit müsstest du dann auch im browser drauf zugreifen können, selbst wenn dein programm schon aktive eine connection hat.

Probier mal sowohl in der h2 console als auch in deinem Databasemanager-what-ever ;AUTO_SERVER=TRUE bei der h2 url am Ende hinzuzufügen

Also zb.

jdbc:h2:./foobar;AUTO_SERVER=TRUE
Bild mir ein so hat das damals bei mir funktioniert (h2 doc)

Du könntest auch in deinem Programm immer nur die Verbindung zur DB herstellen wenn tatsächlich Zugriff auf die DB erfolgt, dann müsste man aber immer wieder die webconsole davor schließen und danach wieder öffnen :betrunken:

Ansonsten halt die h2 im Server/Mixed Mode verwenden

Danke, das probier ich später mal aus :D bearbeitet von Evilken

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

  • 2 months later...
Ergänzungsspieler

Hallo ich habe folgende C-Funktion:

Funktionsaufruf: untersuche (&klasse[0]-> anzahl, &klasse[1]->anzahl);

void untersuche (int *anzahl1, int *anzahl 2)

{

(*anzahl1 < *anzahl2) ? (*anzahl2)++ : (*anzahl1)++

}

Kann mir hier wer helfen, wenn Anzahl 1 und Anzahl 2 folgende Werte haben. (3 unterschiedliche Werte habe ich, Reihung ist folgend):

1...27 2...25

1...25 2...12

1...12 2...25

Und noch eine Frage:

Wenn in klasse[2]-> Baumart beispielsweise Birke steht, was gibt mir dieses printf dann aus:

"printf("Baumart: %d, \n", klasse[2]->Baumart);

%d muss doch ein Integer sein?

bearbeitet von sturm_max

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Postinho

geht es jetzt nur um das printf oder welches Problem hast du mit der Funktion (printf kannst eh selbst auch ausprobieren, am besten du probierst auch %p für Baumart auch noch aus ... ev. erkennst dann selbst was %d macht)

die funktion ist halt "schirch" hoch drei -> verwende call by ref, dann brauchst auch die pointer nicht auf Gültigkeit überprüfen!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

  • 10 months later...
Sehr bekannt im ASB

Ich hab ein kleines bzw. eher großes Problem.

Zuerzeit mache ich gerade eine 4 semestrige Ausbildung im Grafikbereich, wobei jz im 3. Programmierung (PHP) am Programm steht. Da ich in Zukunft nix mit Programmieren machen möchte, interessiert mich das auch eher wenig bzw. hab ich auch keinen Tau. Problem ist nur, dass zum Abschluss jedes Semesters ein Projekt präsentiert werden muss. Ich hab auch soweit ein Projektkonzept erstellt, nur weiß ich echt nicht, wie ich das jetzt umsetzen kann bzw. wie ich anfangen soll. Das ganze ist fiktiv und wir nicht in der Realität umgesetzt. Hier mal ein paar Infos zum Projekt - es handelt sich um eine Immobilienfirma:

Projektauftrag:

Die Firma ***** möchte für die Besucher auf ihrer Website die Möglichkeit,
sollten die Immobiliensuchenden kein passendes Objekt finden, sich mittels eines Formulares
zu registrieren und Suchkriterien für eine Immobilie bekanntzugeben. Die Informationen
der Interessenten sollen in einer Datenbank gespeichert werden.
Befindet sich eine Immobilie neu im Angebot, sollen die Parameter des Objektes mit
jenen der Interessenten-Datenbank abgeglichen werden und so bei Übereinstimmung
eine automatisch generierte Nachricht mit Informationen der gesuchten Immobilie an
den Interessenten versendet werden.
Projektinhalt:
In die bestehende Website der Firma ******* wir unter einem neun Menüpunkt
ein Formular eingebunden. Dieses Formular soll folgende Felder beinhalten:
- Vorname
- Nachname
- Emailadresse
- Erwerbsart* (Kauf oder Miete)
- Art der Immobilie* (Wohnung, Wohnhaus, Grundstück, Landwirtschaftliche Objekte, Gewerbeimmobilien)
- Ort* (Bundesland, Bezirk(e), Gemeinde(n)
- Bemerkung
*Bei diesen Feldern hat der Interessent mehrere Auswahlmöglichkeiten
Die Formulardaten werden in einer Datenbank gespeichert.
Weiters wird eine Datenbank erstellt, in die alle Immobilien ident mit den Auswahlfeldern
der Kundendatenbank von der Firma ******* einzupflegen sind.
Es wird auf beiden Seiten nach neuen Eingaben geprüft, ob es Übereinstimmungen gibt.
Sollten sich Suckriterien eines Interessenten mit den Parametern einer Immobilie (oder
umgekehrt) decken, wird eine automatisch generierte Nachricht mit den Informationen
der gesuchten Immobilie an den Interessenten versendet. (Newsletterfunktion).

Ich wäre unendlich dankbar, wenn mir da wer weiterhelfen könnte... bei Mehraufwand auch gegen Bezahlung versteht sich.

Das Projekt wird am 12. Februar präsentiert.
bearbeitet von Curva_West

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Captain Awesome

Ich hab ein kleines bzw. eher großes Problem.

Zuerzeit mache ich gerade eine 4 semestrige Ausbildung im Grafikbereich, wobei jz im 3. Programmierung (PHP) am Programm steht. Da ich in Zukunft nix mit Programmieren machen möchte, interessiert mich das auch eher wenig bzw. hab ich auch keinen Tau. Problem ist nur, dass zum Abschluss jedes Semesters ein Projekt präsentiert werden muss. Ich hab auch soweit ein Projektkonzept erstellt, nur weiß ich echt nicht, wie ich das jetzt umsetzen kann bzw. wie ich anfangen soll. Das ganze ist fiktiv und wir nicht in der Realität umgesetzt. Hier mal ein paar Infos zum Projekt - es handelt sich um eine Immobilienfirma:

Projektauftrag:

Die Firma ***** möchte für die Besucher auf ihrer Website die Möglichkeit,

sollten die Immobiliensuchenden kein passendes Objekt finden, sich mittels eines Formulares

zu registrieren und Suchkriterien für eine Immobilie bekanntzugeben. Die Informationen

der Interessenten sollen in einer Datenbank gespeichert werden.

Befindet sich eine Immobilie neu im Angebot, sollen die Parameter des Objektes mit

jenen der Interessenten-Datenbank abgeglichen werden und so bei Übereinstimmung

eine automatisch generierte Nachricht mit Informationen der gesuchten Immobilie an

den Interessenten versendet werden.

Projektinhalt:

In die bestehende Website der Firma ******* wir unter einem neun Menüpunkt

ein Formular eingebunden. Dieses Formular soll folgende Felder beinhalten:

- Vorname

- Nachname

- Emailadresse

- Erwerbsart* (Kauf oder Miete)

- Art der Immobilie* (Wohnung, Wohnhaus, Grundstück, Landwirtschaftliche Objekte, Gewerbeimmobilien)

- Ort* (Bundesland, Bezirk(e), Gemeinde(n)

- Bemerkung

*Bei diesen Feldern hat der Interessent mehrere Auswahlmöglichkeiten

Die Formulardaten werden in einer Datenbank gespeichert.

Weiters wird eine Datenbank erstellt, in die alle Immobilien ident mit den Auswahlfeldern

der Kundendatenbank von der Firma ******* einzupflegen sind.

Es wird auf beiden Seiten nach neuen Eingaben geprüft, ob es Übereinstimmungen gibt.

Sollten sich Suckriterien eines Interessenten mit den Parametern einer Immobilie (oder

umgekehrt) decken, wird eine automatisch generierte Nachricht mit den Informationen

der gesuchten Immobilie an den Interessenten versendet. (Newsletterfunktion).

Ich wäre unendlich dankbar, wenn mir da wer weiterhelfen könnte... bei Mehraufwand auch gegen Bezahlung versteht sich.

Das Projekt wird am 12. Februar präsentiert.

Es geht also "nur" um ein Konzept mit ein paar Slides, keine Live Demo oder ähnliches?

Prinzipiell muss ich jetzt schon sagen, so ganz großväterlich, sag niemals nie, und sag nicht dass dich sowas nicht interessiert. Auch wenn du selber nicht programmieren willst, früher oder später macht es IMMER Sinn, wenn du dich ernsthaft mit sowas auseinander gesetzt hast. Aber das nur nebenbei. :D

Also eigentlich ist das von dir beschriebene Projekt schnell konzipiert, ist eben die Frage was der genaue Output sein soll?

So wie ich es verstanden hätte: die Funktionalität ist ja beschrieben, daher würde ich Mockups (/Skizzen/whatever) der Homepage machen, 1-2 "Blöcke" mit Pseudocode (also nur logische Abfolgen der Prozesse, in leicht lesbarer/verständlicher Sprache), einen Entwurf der notwendigen Datenbank und eben vielleicht sogar einer Skizze der Serverarchitektur.

... oder soll das Ding für die Projektpräsentation tatsächlich laufen?

Ist auch keine große Sache, gäbe es verschiedenste Möglichkeiten das zu tacklen. Lass mal hören. :ears:

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Sehr bekannt im ASB

Es geht also "nur" um ein Konzept mit ein paar Slides, keine Live Demo oder ähnliches?

Prinzipiell muss ich jetzt schon sagen, so ganz großväterlich, sag niemals nie, und sag nicht dass dich sowas nicht interessiert. Auch wenn du selber nicht programmieren willst, früher oder später macht es IMMER Sinn, wenn du dich ernsthaft mit sowas auseinander gesetzt hast. Aber das nur nebenbei. :D

Also eigentlich ist das von dir beschriebene Projekt schnell konzipiert, ist eben die Frage was der genaue Output sein soll?

So wie ich es verstanden hätte: die Funktionalität ist ja beschrieben, daher würde ich Mockups (/Skizzen/whatever) der Homepage machen, 1-2 "Blöcke" mit Pseudocode (also nur logische Abfolgen der Prozesse, in leicht lesbarer/verständlicher Sprache), einen Entwurf der notwendigen Datenbank und eben vielleicht sogar einer Skizze der Serverarchitektur.

... oder soll das Ding für die Projektpräsentation tatsächlich laufen?

Ist auch keine große Sache, gäbe es verschiedenste Möglichkeiten das zu tacklen. Lass mal hören. :ears:

Vielen Dank für Deine Rückmeldung.

Das Ding sollte bei der Projektpräsentation funktionieren.

Mittels Xampp wird eine Serverumgebung simuliert und die Datenbanken bei phpmyadmin erstellt.

Die Datenbanken werden miteinander verknüpft, sodass geprüft werden kann, ob es Übereinstimmungen gibt.

Das ganze soll über ein Redaktionssystem laufen.

Mittels Schleifen sollen eben die Daten auf Übereinstimmung geprüft werden und anschließend ein Mail an den Kunden mit Newsletterfunktion übermittelt werden.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Captain Awesome

Vielen Dank für Deine Rückmeldung.

Das Ding sollte bei der Projektpräsentation funktionieren.

Mittels Xampp wird eine Serverumgebung simuliert und die Datenbanken bei phpmyadmin erstellt.

Die Datenbanken werden miteinander verknüpft, sodass geprüft werden kann, ob es Übereinstimmungen gibt.

Das ganze soll über ein Redaktionssystem laufen.

Mittels Schleifen sollen eben die Daten auf Übereinstimmung geprüft werden und anschließend ein Mail an den Kunden mit Newsletterfunktion übermittelt werden.

Alles klar.

Was du möchtest ist eine simple CRUD Seite, dazu gibts Fantastilliarden Tutorials für PHP im Netz. Ich hätt spontan die für gut befunden: http://www.codingcage.com/2014/12/simple-php-crud-operations-with-mysql.html weil sie ohne externe Libraries etc auskommt.

Letztendlich hast du also ein Backend, wo die Immobilien eingetragen werden - deine CREATE/INSERT section - und ein Frontend, wo der User die Datenbank durchsuchen kann - in allererster Instanz also einfach mal deine READ/SELECT section - und sich für den "Newsletter" anmeldet. Der Abgleich erfolgt klarerweise sobald eine neue Immobilie eingetragen wird, dh nachdem eine Immobilie in die DB geschrieben wird musst du die Funktion so erweitern, dass die neue Immobilie auf vorhandene Interessens-Einträge gecheckt wird. Falls die neue Immobilie für einen User interessant ist -> Mail.

Was du jetzt also idealerweise mal machst:

1) 1-2 Usecases, komplett ausformuliert und durchgespielt (das kann im Prinzip ein Textdokument sein)

2) Struktur für die Applikation & Datenbank

3) Datenbank erstellen, mit den Daten aus den Usecases befüllen (der Einfachkeit halber würde ich das über die MySQL Workbench machen, und noch nicht über die PHP Seite die du später erstellen wirst)

4) PHP Seiten erstellen

4a) READ der vorhandenen Tables (also mal ganz rudimentär: erstelle DB Verbindung, hole alle Immobilien aus dem Immobilien-Table, schreibe sie in einen Table)

4b) CREATE von neuen Einträgen (zb neue Immobilie anlegen; neuen User-Login)

4c) EDIT/DELETE der Einträge (das geht im Prinzip auch über die MySQL Workbench und ist für die Projektpräsentation in erster Linie weniger wichtig denke ich)

5) PHP Logik für Newsletter erstellen (Erweiterung der CREATE Immobilien Funktion; nehme an es soll nicht wirklich eine Mail gesendet werden, das würde ich über einen eigenen DB Table spielen)

6) CSS/Design für die Seiten erstellen

7) eventuell Erweiterungen für die Ansichten implementieren (zb Ansichten filtern über jQuery tables, Immobilien als Google Maps Eintrag anzeigen, usw ... alles was die Usability hebt)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

  • 2 weeks later...
Sehr bekannt im ASB

Alles klar.

Was du möchtest ist eine simple CRUD Seite, dazu gibts Fantastilliarden Tutorials für PHP im Netz. Ich hätt spontan die für gut befunden: http://www.codingcage.com/2014/12/simple-php-crud-operations-with-mysql.html weil sie ohne externe Libraries etc auskommt.

Letztendlich hast du also ein Backend, wo die Immobilien eingetragen werden - deine CREATE/INSERT section - und ein Frontend, wo der User die Datenbank durchsuchen kann - in allererster Instanz also einfach mal deine READ/SELECT section - und sich für den "Newsletter" anmeldet. Der Abgleich erfolgt klarerweise sobald eine neue Immobilie eingetragen wird, dh nachdem eine Immobilie in die DB geschrieben wird musst du die Funktion so erweitern, dass die neue Immobilie auf vorhandene Interessens-Einträge gecheckt wird. Falls die neue Immobilie für einen User interessant ist -> Mail.

Was du jetzt also idealerweise mal machst:

1) 1-2 Usecases, komplett ausformuliert und durchgespielt (das kann im Prinzip ein Textdokument sein)

2) Struktur für die Applikation & Datenbank

3) Datenbank erstellen, mit den Daten aus den Usecases befüllen (der Einfachkeit halber würde ich das über die MySQL Workbench machen, und noch nicht über die PHP Seite die du später erstellen wirst)

4) PHP Seiten erstellen

4a) READ der vorhandenen Tables (also mal ganz rudimentär: erstelle DB Verbindung, hole alle Immobilien aus dem Immobilien-Table, schreibe sie in einen Table)

4b) CREATE von neuen Einträgen (zb neue Immobilie anlegen; neuen User-Login)

4c) EDIT/DELETE der Einträge (das geht im Prinzip auch über die MySQL Workbench und ist für die Projektpräsentation in erster Linie weniger wichtig denke ich)

5) PHP Logik für Newsletter erstellen (Erweiterung der CREATE Immobilien Funktion; nehme an es soll nicht wirklich eine Mail gesendet werden, das würde ich über einen eigenen DB Table spielen)

6) CSS/Design für die Seiten erstellen

7) eventuell Erweiterungen für die Ansichten implementieren (zb Ansichten filtern über jQuery tables, Immobilien als Google Maps Eintrag anzeigen, usw ... alles was die Usability hebt)

Vielen Dank für deine Ausführungen!

Ich bin jetzt mal mit dem Redaktionssystem soweit fertig, sodass der Kunde seine Eingaben machen kann und die Daten in der Datenbank gespeichert werden.

Nun stellt sich die Frage, wie ich nun die beiden Datenbanken abgleiche bzw. kontrolliere, ob es Übereinstimmungen gibt. Das ganze soll mit einer Schleife passieren... Nur weiß ich grad nicht, wie ich die genau einsetze...

Dann fehlt mir eig. nur noch die Newsletterfunktion

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...


  • Folge uns auf Facebook

  • Partnerlinks

  • Unsere Sponsoren und Partnerseiten

  • Wer ist Online

    • Keine registrierten Benutzer online.