Java Projekt für Bewerbung benötigt

Mether

Cadet 3rd Year
Registriert
Mai 2013
Beiträge
57
Hallo,
ich weiß zwar nicht ob das hier reingehört aber da es zu Programmieren gehört....

Und zwar bin ich Informatik Student und habe mich für einen 20h Job beworben.
Dafür habe ich gestern, nach zwei Wochen, die Nachricht bekommen, dass ich in die 2. Runde gekommen bin und dabei ein paar SW-Projekte vorzeigen muss.

Nur habe ich, das Problem, dass ich vor vier Monaten einen HDD Crash hatte und meine Backups mangelhaft waren.
Zudem arbeitet die Firma mit Java Spring. Nächste Woche Freitag habe ich den Termin.

Hat vielleicht jemand ein paar Ideen welche Projekte man schnell machen kann und trotzdem herzeigbar sind?
Ich habe noch nie mit Spring gearbeitet aber werde es mir wohl bis dahin mal oberflächlich angucken.

Und ja, Project Euler & Google kenn ich :)
 
Nen Blog System. Hab ich heute zu Übungszwecken in 2 Stunden in Grails zusammen gehackt. Ist mit Spring, Spring MVC und JPA auch nich wirklich schwierig. Spring in einer Woche? Das Framework ist ein Monster. Da ist nichts "Convention over Configuration". Alles muss entweder mit XML-Files oder Annotationen(oder einer Mischun aus beidem) konfiguriert werden.

Das ist der Grund warum ich heute mit Grails gespielt hab ;)
 
Zuletzt bearbeitet:
Spring ist wirklich eine Wucht. Wird schwierig in der Zeit was Brauchbares zu erstellen. So Knobelzeug a la Euler wollen die bestimmt nicht sehen. Denen geht es eher um eine paar REST-Services, vielleicht was Kleines mit Websockets. Dann noch etwas Spring Data, egal ob JPA oder ein anderes. Und wenn du noch die Kirsche auf die Sahne setzen willst, machst du noch was mit async rest template. Das ist recht frisch dazugekommen und das haben sie vielleicht auch noch nicht unbedingt eingesetzt.

Am besten auch XML-Config ganz vermeiden oder zumindest größtenteils mit annotation config arbeiten. Auch Tests schreiben kommt gut an (mit mockito und so).

P.S.: mir ist klar, dass du das ohne Vorwissen in der Zeit niemals schaffen wirst. Aber so hast du wenigstens ein paar Ideen und Stichwörter.
 
Zu REST werf ich mal JAX-RS in den Raum. Das ist dee Java EE Standard um REST-Services zu bauen. Refernzimplentierung ist Jersey. Btw die Referenzimplentierung für JPA 2 ist EclipseLink aber Hibernate ist auch vollkommen kompatibel zu dem Standard.
 
Ich würde wenn ich du wäre folgenden Ansatz wählen und klar sagen, dass es zu Datenverlust gekommen ist und du daher jetzt eine Demo implementiert hast.
Wenn sie Spring verwenden, dann würde ich wenn du ich du wäre "schnell" etwas mit Spring Boot erstellen. Das ist am wenigsten Aufwand zum Laufen zu kriegen. Ich hab anfang des Jahres mal einen Blog Artikel darüber geschrieben wie man eine Applikation mit Spring Boot aufsetzt. Er ist allerdings auf englisch wenn gewünscht kann ich dir gern den Link zukommen lassen.
Vorteil dabei ist, dass es eine relative neue Technologie ist und du auch die schiene Fahren kannst, dass du die Technologie interessant findest und dir die privat angeschaut hast und es keine Problem ist wenn du kein Spring Boot experte bist. (So viele gibts da noch nicht ;))
Randnotiz -> Spring Boot verwendet normales Spring und ist primär dazu da die Konfiguration zu erleichtern.
 
Zuletzt bearbeitet:
Okay...
Das die nicht Euler oder son Zeugs wollen ist mir klar, deswegn hab ichs erwähnt.

Die Sachen, die ihr genannt habt...joar keinen Plan wie die funktionieren. Habe mir mal ein paar Tutorials reingezogen. Aber das schaut doch schon ziemlich aufgebläht aus. So wie ich das verstehe, ist REST dazu da um Methoden per HTTP abzufragen. -> Warum nicht JSP/JSF ?
Build Files /Gradle/Maven usw habe ich ja auch nie gebraucht.

Aber eigentlich "egal". Ich habe ihnen explizit gesagt, dass ich Spring nicht kenne und sie meinten das wäre in Ordung und sind es so auch gewöhnt. Zudem hätten sie für jeden neuen "Exercises" um sich mit dem Systemen vertraut zu machen.

Und ich glaube ich habe mich falsch ausgedrückt.
Ich benötige jetzt nicht unbedingt Projekte in Spring, sie wollen sich auch Plain Java ansehen. Aber mir ist eben nicht klar was ich da schreiben kann was auch was hermacht und nicht nur eine Spielerei ist. Und da zZ keine Uni ist kann ich schon ein paar Stunden in ein/zwei Programme investieren.

Ach, und gibt es etwas, dass JavaStack heißt? Mir kommt vor, dass sie das erwähnt hätten aber wenn ich danach google bekomm ich nur wie man Stacks implementiert usw.
 
JSP/JSF ist zum markup rendern da. Du kannst sie natürlich vergewaltigen und da mit kruder Logik hantieren, aber damit wirst du nur Hohn und Spott ernten. Das ist wie einen Nagel mit dem Schraubenzieher in die Wand hauen. Da ist es noch sinnvoller (zumindest als Neuling) ein Servlet anzulegen und darin sowas zu machen, aber das geht mit Spring viel komfortabler mit 2-3 Annotationen an einer Methode in einem Controller. Dabei wird auch die (De-)Serialisierungslogik vor dir versteckt (z.B. mit Jackson für JSON). Sowas müsstest du sonst immer explizit ausschreiben, was fehleranfällig und verbose ist.
Auch wenn das ganze Spring-Zeug auf den ersten Blick abgehoben und aufgeblasen scheint - im Endeffekt ist das Ziel die Produktivität zu steigern und wartbaren Code zu erzeugen, da die Leute die das benutzen, den Code nicht zum Selbstzweck schreiben, sondern es ausschließlich darum geht Businesslogik zu implementieren und alles andere nur Ballast ist.

Ohne Build-System+Dependency Management kommst du bei nicht-banalen Projekten auch nicht weit, deswegen lohnt ein Blick auf Gradle und Maven durchaus. Eins von beidem werden sie hoffentlich benutzen. Wenn du Pech hast, frickeln sie noch mit Ant. Bisher hat deine Softwareentwicklung bei der Abgabe des Codes als java-File beim Prof aufgehört. In freier Wildbahn ist dort aber noch nicht Schluss, denn die Suppe muss auch deployt werden und somit auch außerhalb deines eigenen Rechners funktionieren. "You build it, you run it" ist da ganz hip im Zuge der DevOps-Bewegung.

Bei JavaStack klingelts bei mir nicht.

Wenn du schon weißt, dass sie damit leben können, dass du noch keine Spring-Erfahrung hast, dann ist das doch schonmal ein gutes Zeichen zur Entspannung. Nun musst du nur noch wissen, ob du ein schneller Lerner bist oder ob du dich besser doch schon vorher damit beschäftigst, um dann nicht Probleme zu bekommen, wenn du deren Übungen machen musst.

Mir fällt leider nichts Sinnvolles außer Webzeug ein, was du an Projekten implementieren könntest. Macht für mich irgendwie wenig Sinn jetzt z.B. eine Desktop-Anwendung zu schreiben und da zig Patterns rein zu zimmern nur um zu zeigen, dass du sie kennst. Auch ein Spiel o.ä. wäre zu viel Aufwand, da die das eh nur überfliegen und es dann für die Tonne war.

P.S.: Schau dir auf jeden Fall den dependency injection Anteil von Spring an inkl. Bean-Erstellung per XML und java config. Das muss man begriffen haben, um mit Spring arbeiten zu können.
 
Ich gebe Tumbleweed in allen Punkten recht.
Zur Anwendung:

Wie währe es mit einem kleinen Lagerverwaltungssystem?

Da hast du ne Datenbank nen UI und Business Logic.
 
Lagerverwaltung mit hinzufügbaren Produktklassen, Produkten & alles editierbar & suche nach Produkt/ProduktNr. & Gimmiks wie Barcodes, QR-Codes etc.

Das packst du in 3-4 Tagen. Zusätzlich bastelst du was schönes mit ADT. Damit hast du den Java-Bonus ausgespielt ;)
Am Ende nicht vergessen die Zeitstempel der Files zu ändern ...
Die Firma verlangt "bisherige" Projekte, keine "Panik vor dem Wunschkonzert".

mfg,
Max
 
Kleine Ergänzung zum Thema JSP/JSF: Ich würde mitlerweile die Finger von beiden lassen und stattdessen Thymeleaf einsetzen.

Es ist sauberes HTML und glänzt mit einer sehr guten Spring Integration. Auch hat es etwas "cutting-edge" Charakter, was selbst eingefleischten Java-Webentwicklern interesieren könnte.
 
Okay, danke für eure Erleuterungen. Und für die vielen neuen Wörter xd
Das ich in JSPs keine Logik reinsetzte ist klar.

Verwaltungssystem gefällt mir.
Das ich wirklich noch was zusammenbekomme, ist unwahrscheinlich, da der Termin auf Mittwoch vormittags verlegt wurde.
 
Zurück
Oben