[PYTHON] Notieren Sie, was Sie in der viermonatigen internen Schulung für Software-Ingenieure gelernt haben (* derzeit in Bearbeitung).

Einführung

Schön, Sie kennenzulernen, mein Name ist Maki und ich möchte ein Back-End-Ingenieur von meinem unerfahrenen Alafor werden.

Nach meinem Abschluss an einer naturwissenschaftlichen Graduiertenschule arbeitete ich 12 Jahre lang als Techniker bei einem großen Hersteller als neuer Absolvent. Es wurde beschlossen, dass wir durch eine interne Rekrutierung intern den Job eines Software-Ingenieurs wechseln.

Ich habe vor, nach 4 Monaten Studium ab November mit der Arbeit zu beginnen. Ich habe beschlossen, diesmal meinen ersten Artikel über Qiita zu veröffentlichen, weil ich das, was ich hier gelernt habe, als Memo für mich selbst hinterlassen wollte.

Alafors Onkel verstand nicht einmal die Bedeutung der Abschriftennotation, bis er dies schrieb: Ich hoffe, es ist hilfreich für Menschen der gleichen Altersgruppe und für diejenigen, die den Beruf eines Ingenieurs von unerfahrenen Menschen wechseln wollen.

(Artikel werden alle 4 Monate aktualisiert)

Lehrplan

Im ersten Monat lernen Sie Folgendes in einer Vorlesung im Klassenzimmer. WBT-Unterrichtsmaterialien stammen von Net Learning.

■ WBT: Erste Informationstechnologie (3 Tage) · Was ist ein Computer? ・ Grundlegende Informationstheorie ・ Grundkenntnisse in Algorithmen ・ Grundkenntnisse in Hardware ・ Grundkenntnisse in Software ・ Grundkenntnisse des Netzwerks ・ Grundkenntnisse der Datenbank ・ Grundlegender Ablauf des Aufbaus / Betriebs / der Wartung von Informationssystemen

■ WBT: C-Sprachprogrammierung Schritt 1 (3 Tage) ・ Einführung in die C-Sprache ・ Verschiedene Basisdatentypen ・ Konstante (wörtlich) ・ Ausdrücke und Operatoren ・ Kontrollfluss ・ Dateieingabe / -ausgabe · Funktionen und strukturierte Programmierung

■ WBT: C-Sprachprogrammierung Schritt 2 (3 Tage) ・ Bitoperation und Makro ・ Einführung in Zeiger ・ Verschiedene Datentypen und Zeiger -Dynamische Speicherverwaltung ・ Kompilierungsmechanismus und Bibliothek ・ ANSI-Standardbibliothek ・ Ein- / Ausgang mit niedrigem Pegel ·Datenstruktur ·Algorithmus

■ Einführung in den Algorithmus (3 Tage) Lernen Sie Folgendes in der Python-Sprache ・ Grundkonzept des Algorithmus ・ Konzept zur Erstellung eines Algorithmus -Erstellen eines einfachen Programms mit der Python-Sprache

■ Einführung in den Entwicklungsprozess (1 Tag) Lernen Sie die Eigenschaften des Wasserfalltyps und des agilen Typs kennen

■ Einführung in das strukturierte Analysedesign (1 Tag) ・ Notation typischer Konstruktionszeichnungen (Kontextdiagramm, DFD, Strukturdiagramm) ・ Koagulation / Kopplung (eine der Maßnahmen der guten / schlechten Modulteilung)

■ Einführung in die Sicherheitstechnik (1 Tag) ・ Konzept und Sicherheitsschaden, Notwendigkeit der Produktsicherheit ・ Sicherheitsgesetze und -bestimmungen ・ Überblick über den sicheren Entwicklungsprozess

■ Einführung in die Netzwerktechnologie (1 Tag) -Netzwerktyp, 7 Schichten, TCP / IP-Netzwerk ・ Drahtloser Netzwerkmechanismus (Wi-Fi, Bluetooth, öffentliches Radio usw.) ・ Webverbindungsmechanismus (HTTP usw.), Bild- / Videoübertragungsmechanismus ・ Üben (damit Sie Ihren Linux-PC mit dem Netzwerk verbinden und Google durchsuchen können)

Dies ist die Vorlesung. Vom zweiten Monat bis 3 Monate Die folgenden Übungen und Projektentwicklungen werden in einem soliden Team durchgeführt.

■ Übung zur Implementierung der C-Sprache (9.) Vertiefen Sie Ihr Verständnis der C-Sprache, indem Sie verschiedene Algorithmen in der C-Sprache lösen. Sie lernen auch, wie Sie Eclipse, Redmine und Subversion verwenden. ・ Aufgabenverwaltung, Versionsverwaltung · Integrierte Entwicklungsumgebung -Modulaufteilung, Header-Datei, machen ・ Problem mit der Bestätigung der C-Sprachgrammatik ・ Grundlegendes Algorithmusproblem ・ Datenstrukturproblem

■ Entwicklungsprojekt Übung 1 (15.) Vom Verständnis von Entwicklungsproblemen / Anforderungsanalysen bis zur Prototypenentwicklung

■ Entwicklungsprojekt Übung 2 (14.) Von der Anforderungsdefinition bis zur Lieferung

■ Entwicklungsprojekt Übung 3 (12.) Lernen Sie die Grundlagen der Firmware mit einer Karte, die mit einem Mikrocomputer (RX) ausgestattet ist. ・ Integrierte C-Sprache · Speicherzuweisung ・ Startprogrammierung ・ Eingangs- / Ausgangssteuerung ・ Verknüpfung zwischen C-Sprache und Assemblersprache ・ Programm unterbrechen ・ Programmabstimmung ・ Push-Down-Erkennung schalten ・ Timer ・ AD-Wandler ・ Serielle Kommunikationsschnittstelle · Dynamische Beleuchtung ・ Tastenscan ・ Impulsmotor ・ DMAC ・ Was ist ein Echtzeitbetriebssystem? ・ Mechanismus des Echtzeit-Betriebssystems ・ Betriebssystemfunktionen in Echtzeit ・ Ausgestattet mit Echtzeit-Betriebssystem ・ Aufgabengestaltung ・ Implementierungspunkte ・ Softwareüberprüfung des Multitasking-Systems

Das Obige ist der Lehrplan.

WBT: Erste Informationstechnologie (3.)

Dieser Inhalt überschneidet sich mit den Grundlagen der Informatik, die ich seit einiger Zeit bei "Kitami-style Illustration IT School Basic Information Engineer" studiere.

・ "Computer" ist ein allgemeiner Begriff für Maschinen, die elektrische Signale verarbeiten und Berechnungen durchführen. ・ "IT (= Informationstechnologie)" ist eine Technologie, die Informationen von einem Computer und zugehörigen Geräten verarbeitet. ・ Computer werden nicht nur in sogenannten PCs verwendet, sondern auch an unsichtbaren Orten wie Autos und Haushaltsgeräten (es gibt eher mehr solcher Computer). -Computer können in Bezug auf die Nutzung in zwei Typen unterteilt werden: "Server" und "Client". Der Server ist ein Computer, der verschiedene Dienste über das Netzwerk bereitstellt, z. B. eine Verbindung zum Internet herstellen und die Datenbank durchsuchen (z. B. Spacon, Workstation), und der Client ist ein Computer, der Dienste und Verarbeitung vom Server anfordert (z. B. PC, Smartphone).

-Die vom Computer verarbeiteten Informationen sind "digital" (eine Methode zum Ausdrücken von Informationen in diskreten Zahlen). -In digitalen Informationen wird die Menge an alternativen Informationen "nicht" oder "ja" als eine Informationsmenge definiert, und dies wird als Bit bezeichnet. Eine Einheit, in der acht davon (leicht zu verstehen, wenn Sie sich eine Glühbirne vorstellen) in einer Reihe stehen, wird als 1 Byte bezeichnet. ・ 1 KB entspricht genau 2 bis 10 Potenzen = 1024 Byte. 1 MB ist 1024 KB, 1 GB ist 1024 MB, 1 TB ist 1024 GB -Die Ausdrucksmethode für Zahlen, die für die Behandlung von "0" und "1" geeignet sind, ist "Binärzahl". -Es gibt "1-Byte-Code" (ASCII-Code, JIS-Code (JIS X 0201)) und "2-Byte-Code" (JIS-Code (JIS X 0208) Unicode) als Mechanismus zum Anzeigen von Zeichen. In Japan wird Kanji verwendet, daher werden beide zusammen verwendet. -Wenn zwei Werte von 0 oder 1 angegeben werden, wird die Operation, die zu einem Wert von 0 (falsch) oder 1 (wahr) führt, als logische Operation bezeichnet. Ein logischer Ausdruck (z. B. logisches Produkt, logische Summe), der eine logische Operation wie eine mathematische Formel ausdrückt

-Software umfasst "Systemsoftware" (steuert Computerhardware) und "Anwendungssoftware" (entwickelt nach Geschäft und Art der Arbeit). -Systemsoftware umfasst Basissoftware (Betriebssystem (OS) und Middleware (Datenbankverwaltungssystem (DBMS), Kana-Kanji-Konvertierungsfunktion usw.)). ・ Arten von Anwendungssoftware: Word, Excel, Photoshop, Browser im Allgemeinen, Outlook usw.) ・ Positionierung des Betriebssystems: Es befindet sich zwischen Hardware und Anwendungssoftware und bietet eine Umgebung, die es Benutzern erleichtert, den Computer zu verwenden, indem sie zwischen beiden vermitteln. ・ Betriebssystemtyp

Art Charakteristisch
UNIX OS in den 1970er Jahren entwickelt. Wird häufig für Server und Workstations verwendet. Derzeit sind abgeleitete Betriebssysteme wie Linux beliebt.
MS-DOS Ein von IBM und Microsoft gemeinsam entwickeltes Betriebssystem, das 1981 angekündigt wurde. Sie können jeweils nur eine Anwendung ausführen.
Mac OS Betriebssystem von der aktuellen Apple Inc. im Jahr 1984 angekündigt. GUI vor Windows übernommen.
Windows3.0、3.1 1990 angekündigt. Die erste Verwendung der GUI für die Benutzeroberfläche durch das Unternehmen (6 Jahre hinter Mac)

・ Hauptfunktionen des Betriebssystems ・ ・ management Auftragsverwaltung, Aufgabenverwaltung, Speicherverwaltung, Eingabe- / Ausgabeverwaltung usw. -Wenn das Betriebssystem einen Auftrag von einem Benutzer erhält, analysiert es ihn und erstellt eine Aufgabe. Eine Aufgabe ist eine Arbeitseinheit, die von einem Computer verarbeitet wird, und Aufgaben werden effizient einem Prozessor (CPU) zugewiesen und von diesem gesteuert. -Der Prozessor verarbeitet das Programm, indem er die Anweisungen für jede Aufgabe einzeln ausführt. Wenn jedoch ein Interrupt auftritt, wird die Taskausführung unterbrochen und der Prozessor wird frei. Das Betriebssystem führt in dieser Freizeit eine weitere Aufgabe durch "Multi-Programmierung" aus und verarbeitet mehrere Jobs parallel.

WBT: C-Sprachprogrammierung Schritt 1 (3 Tage)

(Ungelernte)

WBT: C-Sprachprogrammierung Schritt 2 (3 Tage)

(Ungelernte)

Einführung in den Algorithmus (3 Tage)

(Ungelernte)

Einführung in den Entwicklungsprozess (1 Tag)

(Ungelernte)

Einführung in das strukturierte Analysedesign (1 Tag)

(Ungelernte)

Einführung in die Sicherheitstechnik (1 Tag)

(Ungelernte)

Einführung in die Netzwerktechnologie (1 Tag)

(Ungelernte)

Übung zur Implementierung der C-Sprache (9.)

(Ungelernte)

Entwicklungsprojekt Übung 1 (15.)

(Ungelernte)

Entwicklungsprojekt Übung 2 (14.)

(Ungelernte)

Entwicklungsprojekt Übung 3 (12.)

(Ungelernte)

Recommended Posts

Notieren Sie, was Sie in der viermonatigen internen Schulung für Software-Ingenieure gelernt haben (* derzeit in Bearbeitung).
Sie werden in 100 Tagen Ingenieur - 29. Tag - Python - Grundlagen der Python-Sprache 5
Sie werden in 100 Tagen Ingenieur - Tag 33 - Python - Grundlagen der Python-Sprache 8
Sie werden in 100 Tagen Ingenieur - 26. Tag - Python - Grundlagen der Python-Sprache 3
Überprüfen Sie mit einem Test, wie oft die Abfrage (SQL) in Django ausgelöst wurde
Sie werden in 100 Tagen Ingenieur - Tag 32 - Python - Grundlagen der Python-Sprache 7
Sie werden in 100 Tagen Ingenieur - 28. Tag - Python - Grundlagen der Python-Sprache 4