[PYTHON] Es ist ein Jahr her, seit ich in die Abteilung für Webanwendungsentwicklung gewechselt bin, also blicke ich zurück

Einführung

Erst im Januar dieses Jahres wurde ich in das Entwicklungsteam versetzt. Wir stehen kurz vor dem Jahresbeginn. Es kann also der Anfang des Jahres sein Ich werde beschreiben, was ich für dieses Jahr tun möchte und einen Rückblick.

Über das Produkt, das wir entwickeln

Das Entwicklungsteam, zu dem ich gewechselt bin Ich bin verantwortlich für den Zugriffsprotokoll-Messdienst für Online-Verhaltensdaten. Es gibt viele Verbindungen zur Abteilung für digitale Werbung usw. Die Plattform ist hauptsächlich AWS, die meisten Quellen sind PHP und einige sind Python / Java.

Mein Zustand nach der Übertragung

Ursprünglich an Programmierung interessiert, Ich habe viele Dinge zwischen der Arbeit gemacht. Ich wollte es selbst machen Ich möchte etwas mehr Zeit mit Lernen verbringen Ich fing an, so etwas wie eine Programmierschule zu besuchen.

Lernen Sie von der grundlegenden Grammatik von Ruby bis zum MVC-Modell usw. Ich habe einen Twitter-ähnlichen Dienst mit Ruby on Rails in einer Form erstellt, die dem Kopieren nahe kommt. Ich habe meinen Abschluss gemacht, weil ich die Grenze meines Wachstums an der Programmierschule gespürt habe. Danach habe ich keine Original-App erstellt Ich war mit der Arbeit beschäftigt und verbrachte meine Tage in Eile.

In Bezug auf das Geschäft geben Programmierschulen der Schaffung von "Dingen, die Gestalt annehmen" höchste Priorität. (Sonst sind alle frustriert) Ich verstehe die Bedeutung nicht wirklich, aber wenn ich den Unterrichtsmaterialien folge, wird es funktionieren. Da dies in einer Cloud-Umgebung erfolgt, gibt es keinen großen Unterschied zwischen den Umgebungen. Die Funktion ist, dass, wenn Sie den Unterrichtsmaterialien folgen, fast keine Fehler auftreten.

Ich denke, es war ein guter Anfang, aber Ich denke jetzt, dass ich nicht viel Wissen über Infrastruktur wie rund um den Server hatte.

Während ich in einer solchen Umgebung studierte, zog ich wegen einer Beziehung um. Zu dieser Zeit fühlte ich mich wie folgt. ・ Ich verstehe HTML / CSS / Ruby / Python / MySQL bis zu einem gewissen Grad ・ Das MVC-Modell kennt den Umriss ・ Das Wissen rund um den Server ist fast 0. vi Wenn ich es öffne, kann ich es nicht schließen und bin ungeduldig ・ Natürlich keine Kenntnisse über Netzwerke, Software oder Hardware ・ AWS hat nur Cloud9 und EC2 berührt

Ich denke, von hier aus kann noch viel mehr getan werden. Ich möchte das Wachstum im nächsten Jahr beschleunigen Ich werde zurückblicken, was ich getan habe, was ich konnte und was ich nächstes Jahr tun wollte.

Was ich dieses Jahr gemacht habe

Wenn ich auf dieses Jahr zurückblicke, denke ich, dass es in drei Phasen unterteilt werden kann: Schulungszeitraum, Antwortzeitraum für Teilungsanfragen und Entwicklungsarbeitszeitraum.

Ausbildungszeit (Januar-April)

Sofort nach der Zuweisung Weil es ein seltenes Muster des Transfers von der Seite des Geschäftsbereichs zur Entwicklung war, Ich habe fast keine Arbeit. Holen Sie sich das Thema Ihrer Forschung, schreiben Sie Hallo Welt in verschiedenen Sprachen, Ich habe eine Dateiausgabe gemacht. In dieser Zeit haben wir uns auch auf das Studium von HTTP-Protokollen und -Netzwerken konzentriert. Darüber hinaus wurde in diesem Zeitraum auch die grundlegende Informationsverarbeitung erworben.

Antwortzeitraum für Anfragen (Mai-Oktober)

Weil ich einen guten Überblick über unsere Dienstleistungen habe Begann auf Anfragen zu antworten, Die Arbeit, spezifische Informationen aus der DB einzubringen, hat erheblich zugenommen. Einige sind auch vom Chrome-Attribut Samesite betroffen. Ich war auch an der Antwort beteiligt.

Zur Entwicklungsarbeit (ab Juli)

Ich glaube, ich habe ungefähr im Juli angefangen, die Entwicklungsarbeit zu berühren.

・ Validierungsimplementierung in JS ·Instrumententafel ・ Abschnittskorrektur des maschinellen Lernmodells ・ Korrektur der Datenverknüpfung mit verwandten Diensten ・ Service Release Ich durfte es tun. Alle waren zum ersten Mal wie Berühren Obwohl es schmerzhaft war, denke ich, dass es eine großartige Lernerfahrung war.

Was ich dieses Jahr tun und mich erinnern kann

Ausbildungszeit (Januar-April)


Was ich gelernt habe
・ Grundkenntnisse ausreichen, um grundlegende Informationsverarbeitung zu erhalten ・ Die Grammatik jedes Programms (HTML & CSS, Python, PHP, Javascript, jQuery, SQL), das mit Progate ausgeführt werden kann ・ Verwendung von Git ・ Verwendung von Redmine · Klassifizierung der Linux-Distribution -Package Manager Klassifizierung


Was ich tun kann
-Erstellen Sie eine einfache Desktop-App mit Python ・ Einfache Bedienung von Excel mit Python

Zu diesem Zeitpunkt konnte ich nichts tun, also gab ich nur etwas ein. Wenn ich keine Ziele hätte, wäre es schwierig für mich, dies zu tun Ich habe mit dem Ziel eingegeben, die grundlegende Informationsverarbeitung zu bestehen, und konnte sie sicher weitergeben. In der Lage zu sein, zu bestehen, gab mir etwas Wissen, das mir Selbstvertrauen gab.

Ich denke, es war gut, einen Weg zu finden, um Dinge anzugehen, die ich hier nicht verstehe. Versuchen Sie beispielsweise, Eingaben aus einer anderen Perspektive vorzunehmen Nehmen Sie sich einen Moment Zeit, um andere Dinge einzugeben, und versuchen Sie dann erneut zu lernen. Der Rest ist die Bedeutung der Ausgabe. Insbesondere neige ich dazu, eine grobe Vorstellung von den Dingen zu bekommen. In meiner eigenen Interpretation habe ich gerade ein Bild erstellt, Ich bemerkte, dass es nicht gut verbalisiert war.

Wenn Sie es nicht verbalisieren können, können Sie es schließlich nicht für die Kommunikation mit Menschen verwenden Ich denke, es war ein wichtiger Hinweis.

Auch mit dem Wissen der Linux-Distribution, Das Sammeln von Informationen rund um den Umweltbau ist reibungsloser geworden. Zuvor habe ich einen Artikel wie "Wie installiere ich XX unter Ubuntu?" Ich habe den Code in diesem Artikel oft nach CentOS kopiert und es hat nicht funktioniert, aber ... Es ist möglich geworden, Informationen, die angewendet werden können, und Informationen, die bis zu einem gewissen Grad nicht angewendet werden können, zu klassifizieren.

Antwortzeitraum für Anfragen (Mai-Oktober)


Was ich gelernt habe
・ Infrastrukturkonfiguration des Inhouse-Service ・ AWS-Kenntnisse wie EC2, ELB, Opsworks, CloudFront, CloudWatch, Athena, S3 ・ Grundkenntnisse wie Ordnerstruktur von CakePHP und Laravel ・ Kenntnisse über Cookies und Cookie-Attribute (Samesite, Domain usw.) ・ Lasttestmethode mit Jmeter


Was ich tun kann
・ Eine Reihe von Linux-Befehlen -Progrunderstellung mit Shell-Skript (Dateieingabe / -ausgabe, DB-Operation, Ersetzung usw.) ・ AWS CLI (s3, Athena) ・ Bringen Sie das Zugriffsprotokoll mit Athena in die gewünschte Form ・ Bringen Sie das Zugriffsprotokoll mit PHP und Python in die gewünschte Form -Extrahieren von Daten aus mehreren Tabellen mit MySQL (ich war nicht gut im Beitritt) ・ Führen Sie einen Belastungstest mit Jmeter durch und geben Sie etwas weniger als 1000 Impulse pro Sekunde aus.

In der Zeit hier Es gab viele Antworten auf Anfragen wie die Ausgabe solcher Daten aus dem Geschäftsbereich und wie viele solcher Anfragen gestellt wurden. Möglichkeiten wie die Datenextraktion aus dem in s3 gesammelten Zugriffsprotokoll haben jedoch erheblich zugenommen Machen Sie ähnliche Extraktionen über PHP, versuchen Sie es mit Pandas, machen Sie alles mit Athena usw. Ich konnte auf verschiedene Arten herausfordern. Es gibt eine anständige Datenmenge, z. B. Zeichenkettenextraktion und Kennzeichnungskonvertierung usw. Ich glaube, ich konnte studieren, weil ich verschiedene andere Dinge tun konnte. Was MySQL betrifft, habe ich den sinnlichen Teil gelernt, ob das Beitreten zu dieser Reihenfolge es schwerer machen würde.

Auch dank der Tatsache, dass ich in Shell geschrieben habe, dass diese Arbeit mühsam ist. Viele Shell-Programme sind jetzt verfügbar.

Zur Entwicklungsarbeit (ab Juli)


Was ich gelernt habe
・ So stellen Sie jeden Server Ihres Unternehmens bereit ・ Der berührende Teil von Vue.js. ・ Übersicht über Java (objektorientiert) ・ Einfach zu bedienende Maven, Ant Build Tools ・ Konzept der logistischen Regressionsanalyse ・ AWS-Kenntnisse über ECS, ECR, CodeCommit, AWS Batch, Kinesis, KCL usw. ・ Kenntnisse von Fluentd


Was ich tun kann
・ DOM-Manipulation in JS ・ DOM-Manipulation mit Jquery, Ajax -Einfache Vue.js beheben · Verwenden des CSS-Frameworks ・ Automatische Skalierung mit ECS und ECR -Manipulieren von Dateien mit mehreren GB mithilfe von Python-Bibliotheken wie Pandas und Numpy ・ Passen Sie die Authentifizierung an, senden Sie E-Mails und erstellen Sie Validierungsregeln mit Laravel ・ (Abgesehen von der Genauigkeit) Entwicklungsschätzung -Java kopierbasierte Änderung, Kompilierung und Ausführung

Seit Juli können wir nach und nach Entwicklungsaufgaben erhalten. Da ich es oft mit Funktionen gemacht habe, die ich zum ersten Mal gemacht habe, oder mit Bibliotheks-Frameworks, die ich zum ersten Mal berührt habe, Ich war sehr dankbar, dass ich meinen Horizont erweitern konnte.

Wenn überhaupt, gibt es viele Möglichkeiten, die Vorderseite zu berühren, Es war mein erstes Mal, dass ich JS richtig berührte. In der zweiten Hälfte war es gut, die Welt von Vue.js leicht zu berühren.

Auch weil ich die Release-Arbeiten durchführen durfte, Spezifische Kenntnisse der Servicearchitektur Ich konnte das Wissen rund um ECS und ECR organisieren.

Davon abgesehen habe ich Java sanft berührt, Ich konnte das schwierige Image von Java bis zu einem gewissen Grad lindern. (Ich hasste Oracle DB)

Was ich nächstes Jahr machen möchte

Was die Technologie betrifft, möchte ich das nicht tun, aber Während Sie aktiv Informationen sammeln Ich möchte in der Lage sein, anstelle von Eingaben auszugeben, wenn ich die Gelegenheit dazu habe. Da die meisten von ihnen ein Gefühl für das Niveau haben, sind sie immer noch mit jeder Technologie vertraut. Ich möchte betonen, wie man vom Anfänger zum Fortgeschrittenen aufsteigt.

API Die API wurde bisher nicht berührt. Ich habe so etwas wie das Nahrungsmittelprotokoll und Rakutens API getroffen. Ich habe keine Erfahrung mit der Implementierung der API-Seite, daher möchte ich dies tun. Zunächst denke ich, dass es von der Eingabe der Restful API ist, Ist es nicht so, als würde man versuchen, eine einfache API zu veröffentlichen? ..

Laravel Während sie von verschiedenen Sprachen berührt werden, Das ist in Ordnung! Ich mache mir ein bisschen Sorgen, dass mir nichts einfällt. Derzeit ist Laravel bis zu einem gewissen Grad anständig, Mit Laravel möchte ich es in einen Zustand bringen, in dem ich alles verstehen kann.

Softwarearchitektur

Nehmen Sie an der PHP-Konferenz Anfang dieses Monats teil Erhöhtes Interesse an Architektur. Weil ich [Design It!] Geliehen habe (Https://www.oreilly.co.jp/books/9784873118956/) Welche Art von Denken sollte ich täglich nehmen? Ich würde gerne ein solches Teil bauen. Die Architektur ist also breit Zunächst möchte ich tiefer in die Bereiche eintauchen, die mich interessieren, von wo aus ich interessiert bin.

Testcode

Der schmerzhafteste Teil der Entwicklungsarbeit für ein Jahr war das manuelle Testen. Ich habe also nur den größten Teil des von Menschen geschriebenen Testcodes gemacht Ich möchte bereit sein, schnell Testcode zu schreiben.

Irgendwie in meiner Karriere, als ich in die Entwicklungsabteilung für freie Künste wechselte Der Nachweis einiger Kenntnisse durch Qualifikation scheint wichtig zu sein. Also, während Sie versuchen, Wissen bis zum letzten zu erwerben Ich möchte folgende Qualifikationen erwerben.

Angewandte Informationsverarbeitung bestanden

Von der Sicherheit zu Hardware, Software, DB usw. Ich würde es gerne erwerben, da es eine Gelegenheit sein wird, eine breite Palette von Bereichen zu lernen. Ich habe grundlegende Informationsverarbeitung, aber weil es eine Auswahlformel war, Man kann sagen, dass es sich als Wissen etabliert hat. Ich werde allmählich ab Anfang des Jahres anfangen zu lernen und es im April erwerben.

Übernahme von AWS Solution Architect

Ich habe AWS in meinem Geschäft ein wenig berührt, Ich möchte die Grundlagen von Diensten beibehalten, die ich noch nie berührt habe, damit ich sie erwerben kann. Ich werde es also nach angewandter Informationsverarbeitung nehmen, also Das Ziel ist um Juni.

Erhalten Sie mehr Sicherheitswissen (Tokumaru-Test?)

PHP Engineer Certification Organization

Es gibt einige Bereiche, in denen die Sicherheit ein Problem darstellt und die Geschwindigkeit der Erstellung von Diensten langsamer wird. Ich möchte auch hier Vertrauen gewinnen Ich möchte es auf jeden Fall erhalten. Es wird gesagt, dass ein Beta-Test bis zum Frühsommer nächsten Jahres durchgeführt wird, also Ich weiß nicht, was passieren wird, aber ich werde es im Auge behalten.

Erstellen (vervollständigen) Sie Ihren eigenen Service

Ich habe ein bisschen von einer Web-App gemacht, Ich war also schlampig Ich möchte es so schnell wie möglich loswerden. Anstatt sich an die Details zu halten und sich nicht einfach bereitstellen zu lassen Versuchen Sie, es vorerst zu löschen, wenn es bis zu einem gewissen Grad abgeschlossen ist. Ich werde versuchen, es zu korrigieren, während ich die Reaktion beobachte.

Zusammenfassung

Es ist ein Jahr her, seit ich umgezogen bin Ich habe mehr gelernt als ich erwartet hatte. Ich glaube nicht, dass ich dieses Wissen hätte erlangen können, wenn ich nicht versetzt worden wäre. Ich bin jedoch immer noch ein Mädchen Ich werde nächstes Jahr mein Bestes geben, damit ich weiter wachsen kann.

Recommended Posts

Es ist ein Jahr her, seit ich in die Abteilung für Webanwendungsentwicklung gewechselt bin, also blicke ich zurück
Als ich den AtCoder Beginner Contest ausprobierte, war es ein schreckliches Ergebnis, also schaue ich zurück
Beachten Sie, dass ich süchtig danach war, mit Pythons mysql.connector über eine Webanwendung auf die Datenbank zuzugreifen
Die Entwicklung einer Webanwendung ist noch weit entfernt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Wovon ich beim Erstellen von Webanwendungen in einer Windows-Umgebung abhängig war
Ich habe ein Programm erstellt, um Wörter im Fenster nachzuschlagen (vorherige Entwicklung)
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Ich habe ein Tool erstellt, um automatisch ein Zustandsübergangsdiagramm zu generieren, das sowohl für die Webentwicklung als auch für die Anwendungsentwicklung verwendet werden kann
Ich war überrascht, eine nette Rezension zu erhalten, als ich Python an CheckIO und seine Erklärung schrieb
Eine Geschichte über das Schreiben von AWS Lambda und ein wenig Abhängigkeit von den Standardwerten von Python-Argumenten
Da das von pandas.read_excel gelesene Excel-Datum ein serieller Wert war, wurde es in datetime.datetime konvertiert.
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Eine Geschichte über alles von der Datenerfassung über die KI-Entwicklung bis hin zur Veröffentlichung von Webanwendungen in Python (3. KI-Entwicklung)
Der Cloud Shell Editor von GCP war mit der Python-Entwicklungsumgebung verstopft, sodass ich es geschafft habe, ihn auf einem freien Grundstück neu zu erstellen.