Zum Inhalt springen

flashpixx

Mitglieder
  • Gesamte Inhalte

    8.302
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von flashpixx

  1. Nein Du hast nicht abstrakt gearbeitet, denn Dinge "isRequired" gehören in die Datenbank (not null) oder wenn sie im der Darstellung verwendet werden, in den View des MVC Pattern. Du hast hier etwas undefiniertes gebaut und zusätzlich sind die Namenskonventionen schlecht gewählt, denn wenn eine Variable "DBTable" nennt, dann ist das die physische Verbindung zu der Datenbanktabelle und hat mit der Ausgabe nicht zu tun (MVC Pattern wäre das dann das Modell). s.o. das ist nicht Sache des Feldes sondern des Views. Nein, die Überprüfung von min / max Werten macht mittels Check-Constraints auf der Datenbank, d.h. das Modell kann bei falschen Eingaben eine Exception werfen oder man kann innerhalb des Controllers diese Überprüfung machen. Beides hast Du nicht gemacht. Und was hat das mit dem problem zu tun, die Typenconfertierung zwischen Datenbank und Java geschieht mittels JDBC bzw. Prepare-Statements, somit wird ein Javatyp direkt auf den dazu passenden mySQL Datentyp gemappt (vice versa). Das was Du da machst, ist überflüssig, da es direkt von der Architektur geliefert wird. Dein Architektur ist ineffizient und nicht sauber gekapselt und letzteres ist definitiv ein Kriterium für OOP.
  2. Im Normalfall kann Dir der Client den Header anzeigen bzw. schau Dir Dir die EMail im Plaintext an. Der Aufbau des Header kannst Du in der passenden RFC nachlesen Dein Mailclient
  3. Ich bin den letzten 10 Jahren gerade damit sehr vorsichtig geworden, denn häufig werden genauso argumentiert, dass diese Frameworks eben Arbeit für Boilerplate abnehmen. Wenn man sich aber den Code dann später anschaut sieht man häufig, dass weder die Logik ordentlich ist, noch der Boilerplatecode, oft sieht man, dass die Logik um den Boilerplate Code herum gebaut wurde, weil das Framework eben gewisse Funktionalität, die man braucht, nicht so unterstützt, wie man sie braucht. Gerade bei Java Entwickeln ist der Hang zu unsagbaren komplexen Frameworks mit sehr seltsamen API Strukturen groß. Es wird immer argumentiert, dass man ein OOP Konzept hat, aber wenn man schon einfachste Enums noch über Objekte kapselt oder argumentiert, dass mein Getter / Setter brauchst und alles mittels public / private / proteced machen kann, dann ist dies IMHO am Thema vorbei. Sauberes und vor allem klares Architekturkonzept ist immer Pflicht, ebenso Refactoring. Wenn man im Konzept die Möglichkeit hat ein Framework zu verwenden, dann muss man auch klar definieren wo die Grenzen des Frameworks sind und was man von dem Framework erwartet (bzw. nicht erwarten kann). Manchmal macht es durchaus Sinn die Funktionalität, die man braucht selbst zu schreiben, da sich der Code dann in die komplette Architektur besser integriert. @back to topic: Wie man aber in dem Post von pr0gg3r sieht, ist aber genau hier der Punkt. Das Konzept ist schon falsch gewählt, eine andere Technologie wird die Probleme nicht lösen. Ebenso stelle ich mal die konzeptionelle Frage, warum muss man für eine Webanwendung z.B. Java nehmen? Ich brauche ein System wie Tomcat, habe dann evtl noch einen Webserver der als Proxy fungiert, d.h. 2 Serverdienste, die beide Wartung (und damit Kosten) verursachen. Als normler User kann ich nurr begrenzt in die Konfiguration des Tomcat eingreifen. Warum kann man nicht für diesen Fall einen Apache mit PHP verwenden und dann kann jeder User seine Scripte im Homeverzeichnis ablegen und sie werden direkt ausgeführt. Java selbst hat in den letzten Jahren massive Sicherheitlücken aufgewiesen. Somit für mich keine gute Wahl für Webanwendungen. Der Ansatz ist saubere Problemdefinition, danach die passende Technologie auswählen und dann umsetzen.
  4. Wieso das? Das ist doch völlig inkonsistent. Die Renderer Klasse weiss, was Sie mit den Daten anfangen kann, sie bekommt einfach das Datenobjekt übergeben und holt sich aus dem Datenobjekt das was sie braucht. Das ist total gruselig. Der Code z.B. mitarbeiter.addField(vorname); würde implizieren, dass Du auf Datenbankebene eine Spalte "vorname" hinzugfügst, denn mitarbeiter ist vom Typ DBTable. Das ist von der Benennung und Struktur völlig inkonsistent und unverständlich. Wenn Du MVC machen willst, dann stellt der Controller die Verbindung zwischen Datenmodell und View dar und wenn man das ordentlich macht, dann kann man hier einen abstraktes Binding zwischen Datenmodell & View erzeugen. Das was Du machst ist für mich "ganz übles Coding", das ich eher einem Azubi noch zugestehe. Wenn ich den Code sehe, dann zeigt das für mich, dass Du nicht wirklich verstanden hast wie OOP funktioniert, siehe http://www.approximity.com/rubybuch/node61.html insbesondere Kapselung und Abstraktion sind bei Dir nicht erkennbar, denn Du mischst Strukturen. Im Grunde ist es bei Dir eine funktionale Programmierung, die Du mit OOP versucht hast auf zu hübschen. Sorry für die harte Kritik, aber ohne ein sinnvolles Architekturkonzept mit entsprechendem OOP-Design wirst Du immer Probleme haben. Du solltest erstmal bei den Designfragen beginnen und erst danach die Technologie auszuwählen.
  5. Das ist doch schon ein Designfehler, denn Deine Datenklasse hat mit der Ausgabe nichts zu tun. Die Datenklasse kümmert sich nur darum, dass die Daten inhaltlich korrekt sind und eine Renderer-Klasse kümmert sich um die Darstellung. Z.B. ist die Darstellung in einem XML Dokument anders als in einem HTML Dokument. In Deinem Fall müsste die Datenklasse alle diese Unterscheidungen implementieren. Die Datenklasse kümmert sich nur um die semantisch korrekte Darstellung der Daten z.B. eine Länge darf nicht negativ sein und sie sollte weitere Abhängigkeiten, die sie hat, auflösen können. Eine Rendererklasse bekommt dann eine Datenobjekt und sorgt dann dafür, wie dieses Datenobjekt dargestellt wird. Wenn man klassisch MVC macht, dann hat man noch einen Controller, der eben ggf Eingabedaten validiert. Das klingt mir sehr danach, dass Deine Architektur fehlerhaft ist, denn Du versucht mit "Unterklassen" "häufige Fälle" abzudecken. Mir scheint Du das das Prinzip von Vererbung nicht richtig verstanden, denn eine abgeleitete Klasse stellt eine Spezialisierung dar, "häufige Fälle" dagegen eine Generalisierung, d.h. das kann nicht richtig funktionieren, da Du hier ja genau versucht ein Komplement zu implementieren. Das von mir vorgestellte Konzept ist sehr generisch, aber benötigt entsprechende Kenntnisse in OOP, d.h. wenn Du OOP nicht wirklich sicher beherrschst, solltest Du die zuerst nacharbeiten. Es ist absolut fahrlässig, wenn Du die (theoretischen) Konzepte nicht beherrscht und dann versuchst mit einer neuen Technologie das ganze zu lösen, das wird letztendlich zu extrem ineffizienter Arbeit & Code führen. Ich habe aufgrund dieses Posts das Gefühl, dass Du große Designfehler in Deiner bestehenden Anwendung hast und diese wirst Du mit einem NoSQL Ansatz nicht lösen können.
  6. Ja, wobei ich halt "_rev" = "history" benannt habe und dort ist dann im Grunde der komplette Datensatz wieder drin und "id" heißt bei allen MongoDB Collections "_id", d.h. der PK heißt auf jeder Collection gleich. Ein Trick durch die Arrayüberladung ist, dass ich automatisch Felder, die nicht existieren "null" setze, d.h. wenn ich mein Datensatzobjekt habe und dort $item["blub"] mache und das Feld "blub" nicht existiert wird immer null geliefert, damit habe ich keine Exception, dass ein Key nicht existiert, da ich die Existenz implizit mache. Es verschlankt den Code, da ich nicht erst prüfen muss, ob das Feld existiert und welcher Wert drin steht. Ich kann halt direkt auf den Wert prüfen. Deine Struktur mittels Feldklasse würde ich nicht unter Java machen, weil Du blähst den Code damit sehr auf. Bei MongoDB kannst Du direkt aus dem JSON Objekt ein Javaobjekt machen (siehe JSONObject) und dieses würde ich durch eine allgm Wrapperstruktur kapseln, die Du dann z.B. von HashMap ableiten kannst, damit kannst Du auf die Felder via Key zugreifen. OOP ist zwar schön, aber zuviel OOP bläht auf und leider tendiert man in Java gerne dazu. Je weniger Code Du schreiben musst, um so besser, denn Du erzeugst weniger Fehler und man kann sich leichter einlesen. Ich brauche durch die Arraystruktur nicht so etwas wie "getName" oder "setName", sondern ich mache nur "$item["name"]". Die Überprüfung ob da wirkliche ein String drin ist, geschieht dann in der überladenen ArrayAccess Methode und diese reicht die Daten an die Parentklasse nach der Überprüfung weiter. Ich habe somit immer _nur eine_ Methode um Daten zu holen bzw. zu setzen und das für alle Entities der Datenbank. Für jede Entity habe ich eine Klasse, aber die Klassen sind deutlich kleiner, weil sie wirklich nur den Code enthalten müssen, der für die Entity relevant ist. Irgendwelche Feld- oder Strukturklassen gibt es bei mir nicht. Jede Entityklasse hat eine statische Eigenschaft "collectionname", in der der Collectionname hinterlegt ist, ebenso eine statische Eigenschaft, ob die Historie im Dtor erzeugt werden soll oder nicht, mein Dtor sieht dann so aus: if ($this->m_ismodified) { if (static::$ml_history) $this->ma_data["history"] = $this->ma_data; $this->ma_data["modificationtime"] = time(); Database::save( static::$mc_collectionname, $this->ma_data ); } ma_data cachet den Inhalt des Datensatzes und der Rest sollte klar sein. @lilith2k3: Spring ist zwar sicherlich eine nette Sache, aber man tendiert häufig mit solchen Bibliotheken zu komplexen Interfaces. Ich bin kein Freund von diesen Technologien. Man sollte zuerst eine ganz klare Definition für die Daten entwickeln und exakt die Schnittstellen und die Grenzen des Systems beschreiben und danach den Code entwickeln. Je schärfer man die Grenzen zieht um so besser. Alles was nicht definiert wurde, wird nicht codiert. Die ganzen Frameworks erzeugen oft Probleme, da sie meist nur 50-60% der Anforderungen erfüllen und man dann die restlichen Prozent händisch eh dran stricken muss, dann muss man die Version des Frameworks und des eigenen Codes abstimmen, was ebenfalls fehleranfällig ist. Für mich ist der Einsatz eines Frameworks häufig ein Zeichen, dass der Entwickler keine Lust hatte eine saubere Architektur zu entwickeln und stattdessen diese Aufgabe an das "Framework outsourced". Allerdings kann man ein Framework in die Architektur richtig integrieren, wenn man wie oben gesagt die Grenzen sauber definiert hat und das Framework dann an diesen Grenzen einsetzt. Zuerst muss man das System so vollständig wie möglich am Besten durch einen iterativen Prozess scharf beschreiben. Entsprechende Frameworks mit ihrem Einsatzziel können mit definiert werden. Danach beginnt man die Umsetzung macht aber klare Abschnitte, nach denen man Refactored und ggf Fehler in der vormals definierten Spezifikation korrigiert.
  7. Nicht ganz. Ich habe eine Connectionklasse, die eben die Verbindung als Singleton Struktur aufbaut und mit der meine anderen Klassen arbeiten (das Singleton ist immer Session bezogen). Die Parentklasse repräsentiert einen Datensatz, also ein abstraktes Modell des Datensatzes, in dem z.B. Felder wie owner, history etc existieren. Es definiert so etwas wie die Requirements eines Datensatzes und eben die Zugriffsrechte. Davon leite ich dann konkret ab und kann dann sagen, dass z.B. ein OU-Datensatz so etwas wie eine Adresse hat usw. In der OU Klasse ist dann z.B. hinterlegt in welche Collection physisch geschrieben wird (mittels statischem Property). Damit erhalte ich eben ein sehr flexibels Modell, denn ich leite immer von einer Basisklasse ab, bei mir DatasetItem. Diese Klasse kümmert sich immer um die Kommunikation mit dem Datenbaninterface und sichert mir generelle Eigenschaften des Datensatzes wie Zugriffsberechtigungen. Die Ableitung spezifiziert dann lediglich weitere Teile und ich muss nur genau diese implementieren, aber nur so, dass ich aus den public Strukturen der abgeleiteten Klasse die Daten an die protected Strukturen der DatasetItem Klasse reiche. Durch die Überladung der Array-Access Methoden brauche ich auch kein echtes MVC Pattern, denn ich habe einen Singleton Renderer, dieser bekommt ein solches Objekt und ich kann mittels instanceof prüfen zu welcher Klasse es gehört und kann direkt die Inhalte der Felder holen. Der Renderer hat dann z.B. einen Renderer für XML, einen für HTML usw. und diese bekommen dann nur ein Key-Value Array mit Daten. Analog funktioniert das Einfügen in die Datenbank, ich zerlege die ankommenden Daten anhand ihres Types (XML, HTML, ...) und erhalte ein Array, das Array wird dann der passenden Datenklasse einfach in der form dataclass::create( $array ) übergeben und ich bekomme das Datenobjekt zurück, was gleichzeitig in der Datenbank erzeugt wurde. Zusätzlich habe ich ein Caching, denn erst der Dtor schreib physisch die Änderungen in die Datenbank. Die Parentklasse merkt sich intern, ob Eigenschaftes des Datensatzes geändert wurden und im Dtor wird dann über das Datenbankinterface wenn nötig die Verbindung aufgebaut und die Änderungen geschrieben. Dort wird dann auch die Historie erzeugt. Somit habe ich kein explizites schreiben.
  8. Vielleicht hier noch als Ergänzung, es ging bei mir darum ein "Datengrab" zu schaffen, d.h. wir haben eine Datenbank in der nicht gelöscht werden soll und gleichzeitig eine Historie der Änderungen für jeden Datensatz gespeichert wird. Unsere Wahl ist auf MongoDB gefallen, da wird ebenso zu den Daten auch noch Binärinformationen in jedem Datensatz mitführen müssen. Da ich letztendlich mit JSON Strukturen arbeite habe ich eine Parentklasse, in der die Informationen, die bei allen Datensätzen gleich sind, abgelegt und dann durch eine Ableitung nur spezialisiert sind. Das ganze noch über Array-Access Ableitung erweitert und somit kann ich mit den Datensätzen arbeiten wie mit Arrays. Da die Datensätze selbst kaum vernetzt sind, also kaum Abhängigkeiten aufweisen bringt NoSQL da definitiv eine gute Performance. Ich kann meine Daten als eine Art ungeordnete Menge betrachten. Da Du hier Excel ansprichst, rate ich mal zu Multidimensionale Datenbank Die Frage ist, wie sind Deine Daten inhaltlich strukturiert
  9. Da stimme ich zwar zu, aber gegenüber RDBMS Strukturen sind natürlich die Map-Reduce-Algorithmen nicht zu ignorieren Das ist ein sehr wichtiges Argument. Ich kann durchaus für beide Seiten sprechen, da ich aktuell beides benutze. In einem Projekt konnte ich durch den Einsatz einer NoSQL Datenbank den Code um 80% reduzieren und wesentlich generischer aufbauen, was dadurch zu viel einfacheren Strukturen führt (Webapplikation). In einem anderen Projekt habe ich ein klassisches RDBMS verwendet, da hier die Strukturen dies angeboten haben. Ich denke man muss dies von Fall zu Fall individuell überdenken.
  10. Dazu ergänzend wäre es bei so etwas die Überlegung eine NoSQL Datenbank zu verwenden, da diese über die Entsprechenden Map-Algorithmen dafür ausgelegt sind sehr große Datenmengen zu verwalten. Bei NoSQL kann man die Historie in jedem Datensatz direkt mit speichern, so dass damit der Zugriff deutlich vereinfacht wird.
  11. flashpixx

    Messenger-System

    ich bin da absolut konform mit Dir insbesondere was den Datenschutz angeht. Was ich evtl da vorschlagen würde, dass man da gar keineIRC Server benutzt sondern eben das in den Webserver integriert, Twitter macht auch nur JSON mittels REST-API über HTTP(s). Über HTTP-Auth bekomme ich dann auch direkt die Authentifizierung hin. Bei IRC sehe ich halt das Problem, dass das ggf mit dem "nicht Standardport" (also man benutzt was, was schon etwas aus der "Hacker-Szene" kommt) nicht so schön ist. Gerade bei Geschäftsdaten würde man vielleicht doch eher so etwas wie WS-Business Process Execution Language verwenden
  12. flashpixx

    Messenger-System

    Das Problem kann durchaus bezüglich des Ports sein, d.h. müsste man schauen ob man über den IRC Port connecten kann. Wenn das nicht geht und z.B. nut HTTP/HTTPs geht, dann brauche ich einen Wrapper, der die Kommunikation ermöglicht Das Problem habe ich bei einem IRC Server auch, sobald er von außen erreichbar ist. Die Wartung ist von den Betriebskosten nicht zu unterschätzen.
  13. flashpixx

    Messenger-System

    Ich würde wirklich zu Public-Key-Verschlüsselungsverfahren tendieren, d.h. die Timeline kann öffentlich sein und die User bekommen einen Schlüssel, um die Nachrichten zu entschlüsseln, d.h. Du kannst ein gruppenbasiertes Nachrichtensystem über einen öffentlichen Kanal durchführen. Ich würde für die Verschlüsselung GnuPG - Libraries verwenden und lediglich einen kleinen Client entwickeln, um Nachrichten zu empfangen. So wie ich es verstehe hast Du ja keine bidirektionale Kommunikation. Jeder Client hat dann eben für jede Gruppe einen Schlüssel für die Entschlüsselung hinterlegt und der Poster des Tweets verschlüsselt die Daten. Der Client liest automatisiert die einkommenden Tweets und versucht sie zu entschlüsseln, wenn dies nicht funktioniert, ignoriert er den Tweet, andernfalls zeigt er ihn an, damit sieht der User nur die Nachrichten, für die er authentifiziert ist
  14. flashpixx

    Messenger-System

    Tweets bzw die gesamte Timeline können als privat markiert werden. Alternativ könnte man die Tweets auch noch verschlüsseln, so dass nur Leute, die einen speziellen Schlüssel haben, die Tweets lesen können, d.h. man hätte einen Gruppenbasierten Schlüssel und ein Shared-Medium. Bei Twitter wäre da definitiv der Vorteil der entsprechenden Unterstützung durch Frameworks und eben der hohe Verbreitungsgrad. Wenn ich nicht irre gab es hier im Forum mal eine Abschlussarbeit für genau diesen Fall, also evtl man denjenigen anschreiben
  15. flashpixx

    Messenger-System

    Wie wäre es mir Twitter?
  16. Ich habe die Werke von Scott Meyers, aber ich finde die eigentlich nicht so einsteigerfreundlich, es ist doch schon eher etwas für Leute, die die Grundlagen können
  17. Es geht primär um C++, aber ich wenn ich C++ Code habe, muss ich diesen ja übersetzen d.h. ich denke eine kurze Einführung in Buildsysteme wäre durchaus sinnvoll insbesondere damit man den Compile- und Linkprozess versteht
  18. Naja nicht nur, ich nutze selbst SCons, aber auch CMake. Ich finde für einen Anfänger es sehr schön zu sehen wie make arbeitet.
  19. Hallo, ich suche ein (paar) Einsteigertutorials für C++ (für einen Studenten). Ich benutze zwar gerne die Werke von Balzert um die OOP darzustellen, aber schön wäre auch so etwas wie Compiler, Linker, statisches / dynamischen Linken, Buildscripte (make), etc. Hätte jemand evtl eine Empfehlung (Webseite / Buch) ? Danke
  20. Super danke, ich habe jetzt als ersten Schritt ein PowerShell Script geschrieben, dass mir einen User (local) im System anlegt unter dem dann der Dienst laufen soll: # Parameter sind Benutzername und Jenkins Secret Key Param([Parameter(Mandatory=$true)][string]$Username, [Parameter(Mandatory=$true)][string]$Secret) # Prüfung, ob der User aktuell Administratorrechte besitzt $usercontext = [Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent() $IsAdmin = $usercontext.IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") if (-not($IsAdmin)) { Write-Error("Administratorrechte sind notwendig") } # Prüfe ob Java installiert ist $javafound = $false $keys = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall $items = $keys | Foreach-Object { Get-ItemProperty $_.PsPath } foreach($item in $items) { if ($item.DisplayName -like "Java *") { $javafound = $true break } } if (!$javafound) { Write-Error("Java wurde nicht gefunden, bitte installieren!") } # Serverobjekt erzeugen, um Zugriff auf den lokalen Rechner zu erhalten [ADSI]$server = "WinNT://$(get-content env:computername)" # erzeuge User mit zufälligem Passwort, wobei der User das Passwort nicht ändern kann und es nicht abläuft, # prüfe ob User erst existiert $localUsers = $server.Children | where {$_.SchemaClassName -eq 'user'} | foreach {$_.name[0].ToString()} foreach($item in $localUsers) { if ( !$Username.CompareTo($item) ) { Write-Error("Benutzername $Username existiert bereits!") } } $chars = [Char[]]"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@$%&/()=?" $pass = ($chars | Get-Random -Count 16) -join "" #$userhome = "\\$(get-content env:computername)\Home$\$Username" $user = $server.Create( "User", $Username) $user.Put( "Description", "Jenkins Slave User Account" ) $user.SetPassword( $pass ) $user.UserFlags = 64 + 65536 $user.SetInfo() # Download des Jenkins Slaves #$file = "c:\slave.jar" #$webclient = New-Object System.Net.WebClient #$webclient.DownloadFile( "https://server/jenkins/jnlpJars/slave.jar", $file ) Mein Problem ist jetzt, dass mir der User im System zwar erzeugt wird, aber ich den Jenkins Client gerne in dem Homeverzeichnis speichern möchte. Die Frage wäre nun, wie lege ich das Homeverzeichnis passend an, ich habe nämlich keine Möglichkeit gefunden, herauszubekommen, wo die Userhomeverzeichnisse liegen (hart c:\Users einzutragen, möchte ich nicht). Dann wäre die Frage, ob das Script so in Ordnung ist, bzw wo kann ich es besser machen (ist mein erstes PowerShell Script). Wie kann ich dann den Dienststeuerungsmanager aus dem PowerShell Script verwenden bzw. wie muss das konkret aussehen?
  21. Hallo, wie kann ich ein Java Programm als Dienst bei Windows 7/8 einrichten? Ich möchte einen Commandline Aufruf wie java -jar myJar.jar <Parameter> als Dienst beim Systemstart ausführen. Das Programm soll mit eingeschränkten Rechten laufen, so dass es einen Shell-Zugriff hat und in einem eigenen Userverzeichnis liegt (die Jar kann dann ebenfalls in dem Userverzeichnis liegen). Unter Linux lade ich mittels curl die Jar und kann über whereis prüfen wo Java liegt. Ich möchte eine Batch Datei erstellen, die mir die komplette Installation vornimmt. Ich weiss, dass Dienste mittels net start/stop gestartet werden können, aber wie richte ich das Command am besten ein? Danke
  22. Nein, weil das Problem algorithmisch nicht lösbar ist. Bei einer Kugel muss dann der Radius bekannt sein, aber bei komplexeren Figuren reichen solche Informationen nicht. 2D in 3D geht nicht, da 2D weniger Informationen enthält als 3D, man kann nicht automatisch eine nicht-vorhandene Information setzen. Man kann mit den meisten 3D Programmen aus einem 2D Polygonzug mittels extrudieren einen 3D Körper machen, nur die Parameter dazu müssen bekannt sein
  23. Nein Du sollst die Reihenfolge im Anschreiben vertauschen, also beginne das Anschreiben, dass Du dort ein Praktikum gemacht hast. Es klingt nach: Ich hab mal http://tollefirma.de eingegeben, hübsche Bilder, bin dann aber wieder auf ne WoW Seite, weil ist ja langweilig was zu lesen. Das habe ich schon einige Post vorher ! Sehe ich genau so. Ich habe mehrfach geschrieben, dass Du leere Worte benutzt, es ist nur blah-blah ohne Inhalt. Du würdest von mir auf so einen Satz die Frage bekommen "Können Sie mir mal darlegen, wie die internationale Erfolgsgeschichte unseres Unternehmens aussieht?". Wenn Du die frage nicht beantworten kannst oder falsch beantwortest, also Dinge nennst die auf das Unternehmen nicht zutreffen, dann wäre dies das Ende des Gespräches. Vieles von dem was Du schreibst klingt wie abgeschrieben aus einem Buch "Wie bewerbe ich mich richtig". Deine Worte sind nur Hülsen ohne Inhalt und Leben. Kann man machen, Zeilenabstände verkleinern und Fettdruck raus. Bei uns können Praktika auch mal 6 Monate nach der Schule sein. Ich hab keinen Bock bei jedem Absatz ständig mir zu überlegen wie nun ein Datum formatiert ist, spätestens beim dritten Absatz, der einen Wechsel macht, fliegt Deine Bewerbung in den Müll wegen Inkonsistenz. 1. Redundanz "2 jährig", weil das geht aus den Daten hervor 2. Redundanz: "Berufsfachschule" & "Fachschulreife", jede Schule, die Du abschließt liefert einen Abschluss, in diesem Fall liegt die FH-Reife nahe (ich kann das durchaus aus dem Kontext erschließen) 3. umständliche Satzstellung, ineffizient und überflüssig: "Fachhochschulreife erworben an Schule xxx", ist kürzer prägnanter und enthält die gleichen Informationen, die Zeit geht aus den Daten der ersten Spalte hervor. Du sollst nicht den Namen kürzen sondern den Text. Du blähst den Text unnötig auf, Du schreibst kein literarisches Werk, sondern eine Bewerbung, da geht es um die Darstellung von nüchternen Fakten Ich verweise noch einmal auf ModernCV, man kann mit einem passenden Layout, das zu Dir & zu Deiner Bewerbung passt auch den Leser binden. Dein Layout wirkt steif, d.h. es wäre für mich die Frage ob Du auch so bist (steif = unflexibel & unkreativ). Damit würdest durchaus sehe ich das Layout eher als Negativpunkt
  24. Das ist schon etwas besser: Fang Dein Schreiben mit dem Praktikum an Das ist wieder völlig unspezifisch und leere Worte, weg damit und siehe Kommentar vorher: Das hier klingt nicht gut, überdenke noch mal die Formulierung, man kann das besser und vor allem nicht so negativ formulieren. Das hast Du aus Deinen anderen Schreiben kopiert, das ist wieder Blah-Blah, also ersetzen. Es fehlt wieder, warum Du genau zu diesem Unternehmen willst. Das haben wir Dir jetzt hier schon wie oft geschrieben !? Layout: Das tabellarische Lebenslauf ist zu lang, die ganzen Leerzeilen und Freiräume kürzen. Warum ist alles fett gedruckt, aber die Überschriften nicht? Ich würde das interpretieren, dass Du mit Word spielen wolltest und kein Ende gefunden hast. Der tabellarische Lebenslauf sollte auf eine DIN A 4 Seite bei Dir passen. Generell gleiche Notation, wenn Du Monate angibst in der Form Monat/Jahr, dann mache es konsistent, nicht wechseln, einmal 01.01.1996, dann 04/2012 und dann nur Jahreszahlen. Das ist redundant, denn ich bin in Lage schon zwischen 2013 und 2011 die Differenz zu bilden, weiterhin sind Deine Texte zu lang, der Mehrfachumbruch muss nicht sein, also kürzen. Zusätzlich fehlt ein Photo (bzw. der Platzhalter für ein Foto und nein ein Photo wird nicht mit ner Büroklammer angehangen). Das Layout ist generell etwas sehr steril, da solltest Du optisch noch was dran machen.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...