Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Saheeda

User
  • Registriert

  • Letzter Besuch

Alle Beiträge von Saheeda

  1. Was heißt OOP nur durch Berufsschule? Kannst du mit Klassen, Objekten, Interfaces, Sichtbarkeiten, Vererbung etc sicher umgehen oder hast du z.B. noch Probleme, von Klasse A auf Eigenschaften der Klasse B zuzugreifen? Zu den Patterns: Ja, auch. Aber z.B. Model-View-Control (MVC) bzw. Model-View-ViewModel (MVVM) helfen wahnsinnig dabei, den Code zu strukturieren und wiederverwendbarer zu gestalten. Bei uns werden fast alle Anwendungen mithilfe dieser Patterns entwickelt, aber ich möchte mich jetzt auch nicht zu weit aus dem Fenster lehnen zu behaupten, die wären das Non-Plus-Ultra. Jup. Imho solltest du hier wissen, wie du Branches anlegst und zusammenführst ("mergen"), neue Versionen eincheckst und ggf. deine Aktuelle auf eine bestimmte Version zurücksetzt ("Revert"). Es gibt bestimmt noch zigtausend andere Sachen, aber die habe ich bisher genutzt. Bei einer "normalen" MySQL-Abfrage bekommst du (z.B. in PHP) ein Array mit den Ergebnissen zurück. Du kannst jetzt per Hand jedes Mal ein neues Objekt erzeugen und die Abfrage entsprechend reinbasteln. Auf Dauer ist das aber ziemlich nervig. ORM steht für object-relational mapping, ist also eng mit OOP verknüpft. Eine Abfrage hier liefert dir gleich ein komplettes Objekt bzw. eine Collection von Objekten zurück. Die "Magic" dahinter ist zu wissen, wie du das Mapping herstellst, d.h. wie du festlegst, welche Spalte welcher Eigenschaft des Objektes entspricht. Das Mapping habe ich bisher fast nur in XML gesehen, sollte für dich also nicht allzu kompliziert werden. Stichwort sind hier Hibernate in Java, NHibernate in C#, Doctrine in PHP.
  2. Wie viel verstehst du vom Programmieren allgemein, nicht auf eine konkrete Sprache bezogen? Also OOP, Design Patterns, UML, Versionsverwaltung,ORM-Datenbanken etc? Die reine Syntax zu lernen, geht eigentlich schnell.
  3. @return Hast du irgendwelche Lehrbücher? Anhand deiner Zettelsammlung kannst du dir ja zumindest erstmal notieren, welchen Themen drankamen und die dann im Buch nachschlagen. Oder du überfliegst das Inhaltsverzeichnis, obs irgendwo klingelt...
  4. @AsuraDeYien Meine Kollegen sind sehr nett und helfen mir jederzeit weiter, wenn ich n Problem habe oder einfach nur allgemein ziemlich ratlos wirke. Aber ich kann und will mich nicht hinsetzen und einen auf "Jetzt kaut mir alles vor!" machen. Ich lerne auf Arbeit ziemlich viel über Softwareentwicklung und das ganze "Drumherum", von daher ist es für mich vollkommen in Ordnung, den Hardware-Teil in Eigenregie zu lernen. Kein Betrieb kann alles abdecken. Schulstoff ist wie gesagt bei nahezu null. Wir versuchen auch schon, das zu klären, aber die Mühlen mahlen ziemlich langsam.... @IT-Kaetzchen Danke für den Tipp, das werde ich mir mal ansehen.
  5. Nochmal: Ich frage das, weil ich lernen will, aber keinen Plan habe, wie oder wo ich anfangen soll. Berufsschule ist mehr Ausfall als Unterricht und auf Arbeit mache ich nichts dergleichen, weiß also von da auch nicht, was relevant ist. Ich könnte auch die nächsten 2 1/2 Jahre Däumchen drehen und dann rumheulen, dass alle so doof und gemein sind. Tu ich aber nicht und werde dafür noch belehrt, dass ich Eigeninitiative zeigen solle. Sorry, aber ich werde hier gerade absolut missverstanden.
  6. Ich frage das nicht, weil ich keinen Bock auf Lernen habe, sondern weil der Unterricht quasi nicht stattfindet, ich im Betrieb dazu keinen Berührungspunkt habe und wenigstens _irgendeinen_ Anhaltspunkt brauche, was ich lernen sollte...
  7. Hallo, Berufsverordnung 4.2 - Systemarchitektur, Hardware und Betriebssysteme: Und was heißt das nun? Die detailliert muss ich (als FIAE) wissen, was in so ner Kiste drin ist und wie die Bauteile im Einzelnen und Miteinander funktionieren? Vielen Dank.
  8. Vorweg: Ich bin im ersten LJ zum FIAE und stecke noch nicht sooo tief drin. Bei uns bedeutet Dokumentation, dass alle Klasse, Methoden, öffentliche Variablen etc. kommentiert werden: Was macht die Funktion, was haben die Parameter zu bedeuten, was wird zurückgegeben, welche Besonderheiten gibt es. Bei Stylesheets, die ja oft viel "Kleinkram" enthalten wiederum werden durch Kommentare Blöcke definiert, um später einen besseren Überblick zu haben. Grob gesagt ist Sinn der Doku, dass sich Dritte schnell und einfach in den Code einarbeiten können. Was du aufzählst, klingt für mich eher nach Pflichtenheft. Aber wie gesagt - 1. LJ...
  9. Ich schreibe mir gern Zusammenfassungen. Sobald ein Themenkomplex abgehandelt wurde bzw. am Ende des Schuljahres bietet es sich meiner Meinung nach an, den Ordner zu entrümpeln und gleichzeitig zu sortieren. Mir hat es auch geholfen zu verstehen, wie lernen eigentlich funktioniert: Die biologischen Voraussetzungen des Lernens | wissen.de Um Sachen zuverlässig ins Langzeitgedächtnis zu speichern ist es wichtig, sie a) immer wieder zu wiederholen und die Zeitabstände zwischen zwei Lerneinheiten kontinuierlich zu vergrößern. Und: _Verstehen_ bringt auf Dauer mehr, als auswendig lernen.
  10. Hallo, ich habe mich an diese Anleitung gehalten und hänge gerade beim Einrichten von Apache. Ich bekomme immer nur die Meldung "Zugriff verweigert", wenn ich die Adresse http://flow.demo aufrufen möchte. Da xampp mir zwei Ports anzeigt, habe ich auch schon versucht, in der vshost.config einfach den anderen zu benutzen, aber dann werde ich zu xampp/htdocs weitergeleitet. hosts: #localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost 127.0.0.1 flow.demo httpd-vshosts.conf # Virtual Hosts # # Required modules: mod_log_config # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.4/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # ##NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ##ServerName or ##ServerAlias in any <VirtualHost> block. # ##<VirtualHost *:80> ##ServerAdmin webmaster@dummy-host.example.com ##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com" ##ServerName dummy-host.example.com ##ServerAlias www.dummy-host.example.com ##ErrorLog "logs/dummy-host.example.com-error.log" ##CustomLog "logs/dummy-host.example.com-access.log" common ##</VirtualHost> ##<VirtualHost *:80> ##ServerAdmin webmaster@dummy-host2.example.com ##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com" ##ServerName dummy-host2.example.com ##ErrorLog "logs/dummy-host2.example.com-error.log" ##CustomLog "logs/dummy-host2.example.com-access.log" common ##</VirtualHost> <VirtualHost flow.demo:80> DocumentRoot "C:/flow3/Web/" ServerAlias flow.demo </VirtualHost> flow.bat @ECHO OFF REM Replace the following line with the path to your PHP executable if required REM This can include the php.ini to be used (for example "SET PHP=C:/php/php.exe -c C:/php/php.ini") SET PHP=C:/xampp/php/php.exe %PHP% %~dp0Packages/Framework/TYPO3.Flow/Scripts/flow.php %* Settings.yaml: # Path and filename of the PHP binary # The constant PHP_BINDIR usually contains the path, but on Windows this doesn't work reliably phpBinaryPathAndFilename: 'c:/xampp/php/php.exe' Weiß jemand, woran es krankt?
  11. Äh, meinst du damit die .ppt oder den "live"-Vortrag in der Schule?^^ Ich hab mich von der Tiefe her an unserem Buch orientiert, aber kann halt auch nicht beurteilen, ob das alles stimmt/ich es richtig verstanden habe oder noch aktuell ist, was dort drin steht.
  12. Ich muss für die Schule (bin im 1. Lehrjahr zum FIAE) ein Referat über die CPU vorbereiten. Da ich von der Materie kaum Ahnung habe, wäre es nett, wenn jemand mal drüberschaut und mir sagt, ob ich irgendwo kompletten Stuss erzähle, ungenau bin oder wichtige Sachen unterschlage. Gibts relevante Berechnungen, die wir mit einbauen könnten bzw. sollten? Mein Partner wird noch den Einbau demonstrieren und was zu Performance und Leistungskennzahlen erzählen. Der Chip ist nochmal ein eigenes Thema. Vielen Dank. Referat_CPU.pdf
  13. Wir müssen auch keine Notenbögen führen. Unsere Unterrichtszeiten müssen wir ins Berichtsheft eintragen und das wird vom Klassenlehrer unterzeichnet. Die Zeugnisse müssen am Ende des Schuljahres im Betrieb vorgelegt werden. So oder so halte ich diese Art von Kontrolle bei Erwachsenen für vollkommen unnötig. Andernfalls ist das Vertrauensverhältnis an ganz anderer Stelle nicht intakt.
  14. Schau mal in den Thread. Viele deiner Fragen werden dort schon diskutiert. Ansonsten: In meiner Klasse war es für einige ein Schock, dass wir nicht nur "coden", sondern auch relativ viel mit kaufmännischen Sachen zu tun haben bzw. haben werden. Dass zum FIAE auch sowas wie Konzeption, Pflichtenheft, Aufwandsschätzungen, Planung, Organisation etc. gehört - halt haufenweise Sachen, die nichts mit Quellcode hacken zu tun haben.
  15. IT-Technisch sahs bei uns bisher eher mager aus: - Aufbau RAM und CPU - Zahlensysteme umrechnen - Arbeit mit Word - Programmierung: Zwei Eingaben von der WinForm einlesen und Berechnung wieder zurück geben. (C#) - in Projektmanagement fangen wir gerade mit Vorgehensmodellen an (Wasserfall, agil, SCRUM, TDD, BDD) IMHO haben aber einige unserer Lehrer selbst keinen Plan, wovon sie da eigentlich reden... Ansonsten ist bei uns Wirtschaftskunde ziemlich wichtig, wir hatten bisher Jugendarbeitsschutzgesetz, Arbeitsschutzgesetz, Inhalte des Ausbildungsvertrages, Rechte und Pflichten für Betrieb + Azubi, Arbeitszeitgesetze und Lohnberechnung.
  16. Saheeda hat einem Thema gepostet in .NET
    Hi, ich arbeite grad zum ersten Mal mit Hibernate bzw. OR-Datenbanken und habe mir diese Anleitung kopiert, bekomme aber keine Ergebnisse angezeigt. Es fliegt auch keine Exception. Ich habe auch schon versucht, die Ergebnisliste generisch zu machen, was aber auch nichts bringt. Meine Funktion MySQLQuery liefert mir aber den gesuchten Datensatz, wo liegt also der Fehler? namespace NHibernate { class Program { private static void MySQLQuery() { string connString = "Server=localhost;Database=Nhibernate_test;uid=root"; MySqlConnection connection = new MySqlConnection(connString); connection.Open(); string command = "SELECT * FROM helloworld"; try { MySqlDataReader reader = new MySqlCommand(command, connection).ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader.GetString("Message")); } } catch (Exception e) { } finally { connection.Close(); } } private static void NHibernateQuery() { Configuration config; config = new Configuration(); config.SetProperty(NHibernate.Cfg.Environment.ConnectionProvider, "NHibernate.Connection.DriverConnectionProvider"); config.SetProperty(NHibernate.Cfg.Environment.Dialect, "NHibernate.Dialect.MySQLDialect"); config.SetProperty(NHibernate.Cfg.Environment.ConnectionDriver, "NHibernate.Driver.MySqlDataDriver"); config.SetProperty(NHibernate.Cfg.Environment.ConnectionString, "Server=localhost;Database=nhibernate_test;uid=root"); config.AddAssembly("NHibernate"); ISessionFactory factory; factory = config.BuildSessionFactory(); Console.WriteLine("Configured"); ISession session = null; IList<TheData.MessageProvider> messages = null; try { session = factory.OpenSession(); //messages = session.CreateCriteria(typeof(TheData.MessageProvider)).List(); messages = session.CreateCriteria<TheData.MessageProvider>().List<TheData.MessageProvider>(); Console.WriteLine("NofMessages:{0}\n", messages.Count); foreach (TheData.MessageProvider aMessage in messages) { Console.WriteLine("Id:{0} - Message:{1}", aMessage.Id, aMessage.Message); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { session.Close(); } Console.Read(); } static void Main(string[] args) { MySQLQuery(); NHibernateQuery(); } } } namespace TheData { public class MessageProvider { public MessageProvider() { } public int Id { get; set; } public string Message { get; set; } } } <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" default-access="property"> <class name="TheData.MessageProvider, NHibernate" table="helloworld"> <id name="Id" column="Id"> <generator class="identity" /> </id> <property name="Message" column="Message"/> </class> </hibernate-mapping>
  17. Alte Prüfungen sind immer ein ganz guter Ansatz, in welche Richtung die Fragen ungefähr gehen. Schau dir auch mal den Lehrplan bzw. die Ausbildungsordnung (sachliche und zeitliche Gliederung, sollte beim Vertrag dabeigewesen sein) an. Oder frag mal deine Kollegen, einige Sachen werden so gut wie jedes Jahr abgefragt. Schau in deine Bücher, mit der Zeit entwickelt man ja doch so n gewisses Gefühl, welche Themen "wichtig klingen".
  18. Hallo, ich fange am Montag meine Ausbildung an und habe heute von der Schule eine Nachricht bekommen, dass meine Klasse kurzfristig doch noch geändert wurde. (Begründung hab ich keine, aber vermutlich, weil sonst die FI-Klasse zu voll ist bzw. die SE-Klasse nicht zustande kommt...) Prinzipiell finde ich es ja gut, bisschen über den Tellerand zu sehen und auch als FIAE was von der Elektronik dahinter zu verstehen. Aber meines Wissens haben beide Berufe komplett andere Schwerpunkte, sodass ich mich schon frage, ob das denn so sinnvoll ist. Hat da jemand Erfahrungswerte? Sind meine Bedenken unbegründet?
  19. Ehrlich gesagt, würde ich mich nicht aufs Jobcenter verlassen, sondern selbst aktiv werden. Den Unterschied erklären zu wollen ergibt auch nur bei einigen Sachbearbeitern Sinn, aber dazu muss man schlicht Glück haben.
  20. @daku91 Das ist natürlich blöd. Wurde auch gesagt, warum? Was machst du jetzt? Willst du dich fürs nächste Jahr bewerben oder versuchst du was komplett anderes?
  21. Saheeda hat einem Thema gepostet in .NET
    Delegates & Threads Hallo, was ich über Delegates weiß: - sie verweisen (referenzieren) auf eine Methode - sie können nicht static sein / müssen instanziert werden - die Signaturen von Delegate und aufgerufener Methode müssen übereinstimmen - es gibt anonyme Methoden, die "on time" erstellt werden und den Zugriff auf Variablen außerhalb der Methode erlauben - ich kann mehrere Delegates verknüpfen (Multicasting; habe ich bisher nur bei Timern genutzt) Zusammengefasst würde ich also sagen, Delegates sind ne Art Kurzschreibweise. Methoden aufrufen bzw. zusammenführen geht ja auch ohne Delegates, es wird halt nur länger und umständlicher. Den größten Unterschied sehe ich momentan nur in den anonymen Methoden, die den Zugriffsbereich (Scope?) beträchtlich erweitern. Stimmt das so? ______________________ Threads: Warum? Angenommen, ich habe einen Thread namens doSomething, den ich irgendwo im Laufe meines Programms mit doSomething.Abort() abbreche. Damit "weiß" der betreffende Thread doch, dass er aufhören soll mit arbeiten. Alle anderen laufen doch, sofern ich kein Join einsetze, sowieso unabhängig voneinander. Wo liegt mein Denkfehler?
  22. Hi, erstmal Danke an alle, die bisher geantwortet haben. Ich habe mich auch hier im Forum durchs Archiv gewühlt betreffs "Vorlernen" u. Ä. Die häufigste Antwort ist: "Lerne keine Programmiersprache, sondern Programmieren." Doofe Frage: Was heißt das konkret? OOP erklären und anwenden? TDD erklären und anwenden? N paar "Standardalgorithmen" (Mergesort, Tiefensuche, Wegfindung, etc.pp.) nachts um drei mit zwei Promille fehlerfrei schreiben? Lesbaren Code produzieren? Googlen können? Um mal n paar rhetorische Fragen zu stellen. Worauf ich hinaus will: Zu meiner Schulzeit hatte ich Mitschüler, die einen auf "Pro" gemacht haben, weil sie ne Webseite "programmieren" und in Delphi n paar Forms zusammenklickern konnten. Auf der anderen Seite kann ich eigene kleine (lauffähige) Programme schreiben, bin aber noch meilenweit davon entfernt, mich als Programmierer zu bezeichnen. Und meine will-ich-mir-noch-anschauen-Liste wird täglich länger. ^^
  23. @Shadowman Ja, products ist eine List<double>. Ich weiß, wie ich im Debugger einen Breakpoint setze, aber ist es möglich, an eine bestimmte Stelle innerhalb der Rekursion zu springen (z.B. wenn products.Count einen bestimmten Wert erreicht?) Ansonsten kann ich den Debugger hier nicht nehmen, da die Exception erst bei ~130000000 Einträgen auftritt. Ich habe aber gerade festgestellt, dass ich in meiner Wegsuche einen Pfad vergessen hatten (diagonal von rechts oben nach links unten). Allerdings produziert mir das trotz try-catch eine StackOverflowException. (Ich nehme an, zu viele Daten für ne Liste?) Nebenbei: Eine OutOfMemoryException soll doch eigentlich den Speicher vor Überlastung schützen, ist es denn da so intelligent, das einfach abzufangen und zu ignorieren? private double findProduct(int y, int x) { try { if ((y - 3 >= 0) && (x - 3 >= 0)) { double dOne = matrix[y][x]; double dTwo = matrix[y - 1][x - 1]; double dThree = matrix[y - 2][x - 2]; double dFour = matrix[y - 3][x - 3]; double dProduct = dOne * dTwo * dThree * dFour; products.Add(dProduct); findProduct(y - 1, x - 1); } if ((y + 3 < matrix.Length) && (x + 3 < matrix[0].Length)) { double dOne = matrix[y][x]; double dTwo = matrix[y + 1][x + 1]; double dThree = matrix[y + 2][x + 2]; double dFour = matrix[y + 3][x + 3]; double dProduct = dOne * dTwo * dThree * dFour; products.Add(dProduct); findProduct(y + 1, x + 1); } if ((x + 3 < matrix[0].Length)) { double hOne = matrix[y][x]; double hTwo = matrix[y][x + 1]; double hThree = matrix[y][x + 2]; double hFour = matrix[y][x + 3]; double hProduct = hOne * hTwo * hThree * hFour; products.Add(hProduct); findProduct(y, x + 1); } if (y + 3 < matrix.Length) { double vOne = matrix[y][x]; double vTwo = matrix[y + 1][x]; double vThree = matrix[y + 2][x]; double vFour = matrix[y + 3][x]; double vProduct = vOne * vTwo * vThree * vFour; products.Add(vProduct); findProduct(y + 1, x); } } catch (StackOverflowException) { return 0; } catch (OutOfMemoryException) { return 0; } return 0; }
  24. Hallo, ich versuche mich grad an dieser Aufgabe: Problem 11 - Project Euler (Und möchte das auch gern rekursiv lösen, da ich hier noch großen Übungsbedarf habe...) Problem: Beim Ausführen bekomme ich nach einer Weile eine OutOfMemoryException für die mit <<< markierte Zeile. Ich verstehe nur nicht, warum. Mir ist klar, dass er einige Möglichkeiten durchprobieren muss und das auch einen Moment dauern kann, aber eigentlich sollte er doch trotzdem irgendwann ein Ergebnis zurückliefern :confused: private double findProduct(int y, int x) { if ((y + 3 < matrix.Length) && (x + 3 < matrix[0].Length)) { double dOne = matrix[y][x]; double dTwo = matrix[y + 1][x + 1]; double dThree = matrix[y + 2][x + 2]; double dFour = matrix[y + 3][x + 3]; double dProduct = dOne * dTwo * dThree * dFour; products.Add(dProduct); findProduct(y + 1, x + 1); } if ((x + 3 < matrix[0].Length)) { double hOne = matrix[y][x]; double hTwo = matrix[y][x + 1]; double hThree = matrix[y][x + 2]; double hFour = matrix[y][x + 3]; double hProduct = hOne * hTwo * hThree * hFour; products.Add(hProduct); <<<<<<<< findProduct(y, x + 1); } if (y + 3 < matrix.Length) { double vOne = matrix[y][x]; double vTwo = matrix[y + 1][x]; double vThree = matrix[y + 2][x]; double vFour = matrix[y + 3][x]; double vProduct = vOne * vTwo * vThree * vFour; products.Add(vProduct); findProduct(y + 1, x); } return 0; }
  25. Danke Klotzkopp, ich habe das Programm nochmal bisschen umgestaltet und deinen Hinweis mit eingebaut. Es funktioniert jetzt so, wie es soll. =)

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.