[RUBY] Bis eine Person ohne Programmiererfahrung in 3 Monaten ein Portfolio erstellt

Einführung

Als völlig unerfahrene Person in der Programmierung habe ich zusammengefasst, woran ich in den drei Monaten vor der Erstellung des Portfolios gearbeitet habe. Das Portfolio wurde in insgesamt 3 Monaten erstellt: Grundkenntnisse (1 Monat) und Portfolioerstellung (2 Monate). Ich hoffe, es ist hilfreich für diejenigen, die Ingenieure von unerfahrenen Leuten wie mir werden wollen.

Portfolio erstellt

【Überblick】 Dies ist eine Posting-App für Golfanfänger. Ich habe es als Werkzeug entwickelt, um die Probleme zu lösen, die Golfanfänger aus meiner Erfahrung als Student haben. 【URL】 https://golfour.herokuapp.com 【GitHub】 https://github.com/matao0214/golfour [Verwendete Sprache / Technologie] ・ Ruby 2.5.1 ・ Ruby on Rails 5.2.4 ・ HTML (schlank) ・ CSS (Sass) ・ Bootstrap4 ・ JavaScript ・ JQuery ・ PostgreSQL 12.2 ・ GoogleMapsAPI ・ Heroku ・ Git ・ GitHub

Grundlegendes Lernen (1 Monat)

Zunächst lernte ich anhand der folgenden Bücher, um Grundkenntnisse einzugeben. [HTML & CSS für Leute, die das Web starten, JavaScript](https://www.amazon.co.jp/%E3%81%93%E3%82%8C%E3%81%8B%E3% 82% 89Web% E3% 82% 92% E3% 81% AF% E3% 81% 98% E3% 82% 81% E3% 82% 8B% E4% BA% BA% E3% 81% AEHTML-CSS% E3% 80% 81JavaScript% E3% 81% AE% E3% 81% 8D% E3% 81% BB% E3% 82% 93% E3% 81% AE% E3% 81% 8D% E3% 81% BB% E3% 82% 93% E3% 81% 9F% E3% 81% AB% E3% 81% 90% E3% 81% A1% E3% 81% BE% E3% 81% 93% E3% 81% A8 / dp / 4839959714) [Einführung in Ruby für diejenigen, die Profis werden möchten](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6 % 8C% 87% E3% 81% 99% E4% BA% BA% E3% 81% AE% E3% 81% 9F% E3% 82% 81% E3% 81% AERuby% E5% 85% A5% E9% 96 % 80-% E8% A8% 80% E8% AA% 9E% E4% BB% 95% E6% A7% 98% E3% 81% 8B% E3% 82% 89% E3% 83% 86% E3% 82% B9% E3% 83% 88% E9% A7% 86% E5% 8B% 95% E9% 96% 8B% E7% 99% BA% E3% 83% BB% E3% 83% 87% E3% 83% 90% E3% 83% 83% E3% 82% B0% E6% 8A% 80% E6% B3% 95% E3% 81% BE% E3% 81% A7-Software-Design-plus% E3% 82% B7% E3% 83% AA% E3% 83% BC% E3% 82% BA / dp / 4774193976) [Ruby on Rails 5 - Schnellübungshandbuch, das vor Ort verwendet werden kann](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD%BF % E3% 81% 88% E3% 82% 8B-Ruby-Rails-5% E9% 80% 9F% E7% BF% 92% E5% AE% 9F% E8% B7% B5% E3% 82% AC% E3 % 82% A4% E3% 83% 89-% E5% A4% A7% E5% A0% B4% E5% AF% A7% E5% AD% 90 / dp / 4839962227)

Es war ein harter Monat, aber ich habe mir die folgenden zwei Punkte zur Gewohnheit gemacht.

** 1. Googeln Sie weiter, bis keine unbekannten Wörter mehr vorhanden sind ** Als ich nach etwas suchte, das ich nicht verstand, erschien ein Wort, das ich nicht kannte, in der Erklärung, und ich suchte weiter danach und so weiter. Wenn Sie dies jedoch weiterhin tun, wird die Menge an Wissen sicherlich zunehmen und die Menge an Forschung wird abnehmen. Daher ist es wichtig, die Forschung fortzusetzen, ohne aufzugeben.

** 2. Der eingegebene Inhalt wird von Qiita ausgegeben ** Das eingegebene Wissen wurde in einem Qiita-Artikel ausgegeben, um das Verständnis zu verbessern. Wenn ich ein Buch las und dachte ** "Ich verstehe!" **, aber als ich versuchte, es auszugeben, konnte ich es nicht verbalisieren und in vielen Fällen verstand ich es nicht vollständig. Ich denke, dass die Ausgabe an Qiita sehr effektiv für die ** Bestätigung und Herstellung eines Verständnisniveaus ** ist, daher empfehle ich es.

Schreibe leicht verständliche Sätze! Es ist wichtig, es vorerst zu schreiben, ohne nachzudenken! Wenn Sie die Zahlen verwalten, werden Sie sich an das Schreiben gewöhnen. Ich denke, es ist besser, aktiv auszugeben und es sich zur Gewohnheit zu machen.

Portfolioerstellung (2 Monate)

Nachdem ich das grundlegende Lernen abgeschlossen hatte, begann ich mit der Erstellung eines Portfolios. Das Portfolio wurde nach folgendem Verfahren erstellt. ** 1. Idee für Portfolio ** ** 2. Funktions- / DB-Design ** ** 3. Portfolio erstellen **

1. Idee für das Portfolio

Das Portfolio ist ** Welche Art von Konzept und Hintergrund haben Sie das Portfolio erstellt? Es wurde mit Blick auf ** entworfen.

** Schreiben Sie die Probleme auf, die Sie oder jemand in Ihrer Nähe haben (haben) ** ** Ich dachte darüber nach, welche Art von Funktion / Mechanismus erforderlich wäre, um das Problem zu lösen ** und legte es in das Portfolio.

Insbesondere habe ich Ideen in der folgenden Reihenfolge entwickelt und in Form gebracht.

Als ich Student war, begann ich Golf zu spielen, als ich das Labor betrat. Und bis jetzt habe ich zwei unvergessliche Erfahrungen mit Golf gemacht.

  1. In der Firma, für die ich früher gearbeitet habe, haben zwei Senioren angefangen, Golf zu spielen. Beide verbesserten sich nicht leicht und wollten auf dem Weg aufhören, aber als Ergebnis des weiteren Übens und Ratgebens verbesserten sie sich allmählich und genießen immer noch Golf.
  1. Zur gleichen Zeit wie die Universität gab es einige Leute, die sagten: "Ich möchte anfangen, Golf zu spielen, aber es gibt nicht viele gleichaltrige Leute (20), die mit mir üben gehen."

Aufgrund dieser Erfahrung hatte ich das Gefühl, dass Golfanfänger die folgenden ** Herausforderungen ** haben. ・ ** Für Anfänger ist es schwierig, ihre Fähigkeiten zu verbessern, und sie geben den Weg oft auf. ** ** ** ・ ** Es gibt eine bestimmte Anzahl von Menschen in den Zwanzigern, die anfangen möchten, Golf zu spielen, aber niemand ist ihnen nahe. ** ** ** ↓ ** Lösung des Problems: Wenn junge Menschen in der gleichen Situation (wollen Golf spielen / gerade erst angefangen haben Golf zu spielen) in unserer Nähe sind, können wir dann ein Umfeld schaffen, in dem es einfach ist, Golf zu spielen, und einen Mechanismus, der weniger wahrscheinlich frustriert ist? ** ** ** ↓ ** Serviceform: Ein Antrag auf Veröffentlichung und Weitergabe von Aufzeichnungen über Golfübungen **

2. Funktions- / DB-Design

Als die Idee des Portfolios festgelegt war, entwarf ich die Funktion und die Datenbank. Wir haben uns auf die Funktion konzentriert, Aufzeichnungen über Golfübungen zu veröffentlichen und zu teilen, und die Funktion entwickelt, um die Motivation zum Üben aufrechtzuerhalten.

** Funktionelles Design ** Neue Postfunktion Listenanzeigefunktion Detaillierte Anzeigefunktion Bearbeitungsfunktion Funktion löschen Anmeldefunktion Suchfunktion Wie Funktion Funktion zum Posten von Standortinformationen (mithilfe von GoogleMapAPI) Diagrammerstellungsfunktion aus gebuchten Daten

** DB Design ** ** Benutzertabelle **

Spaltenname Datentyp Zwang
nickname string NOT NULL,Innerhalb von 10 Zeichen
email string NOT NULL,UNIQUE
password_digest string NOT NULL
golf_reki string Innerhalb von 5 Zeichen
goal string Innerhalb von 50 Zeichen

** Trainingspfosten Tabelle **

Spaltenname Datentyp Zwang
training_place string NOT NULL,Innerhalb von 50 Zeichen
training_task string NOT NULL,Innerhalb von 150 Zeichen
training_impression string Innerhalb von 150 Zeichen
user_id integer NOT NULL, FOREIGN KEY

** TrainingContents-Tabelle **

Spaltenname Datentyp Zwang
training_post_id integer NOT NULL,Foreign_key
training_time integer NOT NULL
training_hits integer NOT NULL

** Mag Tisch **

Spaltenname Datentyp Zwang
user_id integer NOT NULL, FOREIGN KEY
training_post_id integer NOT NULL, FOREIGN KEY

** Spots-Tabelle **

Spaltenname Datentyp Zwang
address integer NOT NULL,Innerhalb von 50 Zeichen
latitude float NOT NULL
longitude float NOT NULL
training_post_id integer NOT NULL, FOREIGN KEY

3. Portfolioerstellung

Funktions- / DB-Design beendet Ich habe endlich angefangen, Code zu schreiben. Das Verfahren zum Erstellen eines Portfolios ist wie folgt. ** 1. Implementierte CRUD-Funktion basierend auf den Büchern, die für das grundlegende Lernen verwendet werden 2. Implementieren Sie die Funktion, die Sie implementieren möchten, indem Sie auf die Artikel und offiziellen Dokumente von Qiita verweisen. 3. UI / UX-bewusstes Design **

1. Implementierte CRUD-Funktion basierend auf den Büchern, die beim grundlegenden Lernen verwendet werden

Unmittelbar nach Abschluss des Grundlernens bin ich immer noch nicht an das Codieren gewöhnt. Selbst wenn ich denke ** "Lassen Sie uns diese Funktion implementieren!" ** ** ・ Wie implementiere ich? ・ Ich weiß nicht was ich nicht verstehe ** Weil es in einem solchen Zustand war, bezog ich mich auf das Buch mit der Bedeutung, mich an den Code zu gewöhnen.

Dadurch konnte ich das Grundwissen überprüfen und mich an die Struktur des gesamten Programms gewöhnen. Auch ** kann ich das selbst machen! Ich kann mit ** sicher sein Ich denke, es ist eine gute Idee, mit dem niedrigen Schwierigkeitsgrad zu beginnen, um die Motivation aufrechtzuerhalten.

2. Implementieren Sie die Funktion, die Sie implementieren möchten, indem Sie auf die Artikel und offiziellen Dokumente von Qiita verweisen.

Nach der Implementierung der CRUD-Funktion arbeitete ich an der Implementierung der Like-Funktion und der Verwendung der Google MAP-API.

Bei der Implementierung der Funktion habe ich sie unter Bezugnahme auf Qiita und das offizielle Dokument implementiert, während ich gegoogelt habe. Was ich bei meiner Recherche für wichtig hielt, war ** unbedingt die offizielle Dokumentation lesen **.

Wenn Sie die offizielle Dokumentation lesen, heißt es oft ** Es gibt solche Optionen! ** Zusätzlich zur Erläuterung der Funktion, die Sie implementieren möchten. Durch die Einbeziehung solcher Optionen waren die Funktionen häufig erfüllender als geplant.

Die Artikel von Qiita sind leicht verständlich und sehr einfach zu lesen und bequem. Selbstverständlich ist die Zuverlässigkeit der Quelle jedoch geringer als die des offiziellen Dokuments, und ** Sie können nicht mehr Informationen als erforderlich anfassen **. Lesen Sie daher nicht nur den Qiita-Artikel, sondern auch das offizielle Dokument.

3. UI / UX-bewusstes Design

Nachdem ich alle Funktionen implementiert hatte, begann ich mit dem Entwerfen unter Berücksichtigung von UI / UX. Einführung in die UI / UX-Verbesserung: "3 Punkte der UX-Verbesserung" aus "Unterschied zwischen UI und UX" wird erklärt!

Insbesondere waren mir die folgenden drei Punkte bekannt. ** ・ Entwickelt für das Ziel (20er Jahre) ・ Design, das Sie dazu bringt, weiter zu verwenden ・ Intuitives Design **

Und ich habe es in der folgenden Form in das Portfolio aufgenommen. ** - Pop-Hintergründe und Schriften für junge Leute

Von diesen war es besonders gut, die Graphvisualisierung einzubeziehen. Zuerst wurde das Übungsprotokoll des Benutzers in Buchstaben und Zahlen angezeigt, aber durch grafische Darstellung der Daten konnten wir ein Design realisieren, das es einfach macht, die gewünschten Informationen visuell zu erhalten. Es wird empfohlen, den jem chartkick zu verwenden, da Sie problemlos ein Diagramm erstellen können.

Was mir bei der Erstellung des Portfolios bewusst und entwickelt wurde

** ・ Da Sie es trotzdem können, bewegen Sie Ihre Hand und gewöhnen Sie sich an den Code ・ Implementierung von Funktionen und Aufbau von Mechanismen, die Sie dazu bringen, weiter zu verwenden ・ Zielbewusstes Design ・ Benutzerfreundlichkeit aus Sicht des Benutzers ・ Sehr wartbare Codierung **

Was ich durch die Erstellung eines Portfolios gelernt habe und gewachsen bin

** ・ Der Spaß, deine Ideen in Form zu bringen (mir wurde am meisten klar: Lächeln :) ・ Selbstfahrende Fähigkeit als Ingenieur, der Services von Grund auf neu erstellen kann ・ Fähigkeit zu verbalisieren und zu untersuchen, was Sie nicht verstehen (Fähigkeit zu googeln) ・ Auswahl von Referenzen (offizielles Dokument erforderlich) ・ Bedeutung der Ausgabe **

Zusammenfassung

Ich habe viel gelernt und bin in den letzten drei Monaten durch die Erstellung eines Portfolios aufgewachsen. Ich war zuversichtlich, dass ich es so gut machen könnte, selbst wenn ich noch nie die Programmierung berührt hätte, und vor allem habe ich gelernt, dass es Spaß macht, einen Dienst mit meinen eigenen Ideen zu erstellen.

Es gibt noch viele Dinge, die ich tun möchte, z. B. den Aufbau einer Infrastruktur mit AWS, aber zuerst werde ich mit der Jobsuche nach Ingenieuren beginnen. Ich möchte mein Bestes geben, um einen Job zu bekommen, während ich mein Portfolio aktualisiere!

Recommended Posts

Bis eine Person ohne Programmiererfahrung in 3 Monaten ein Portfolio erstellt
College-Studenten, die gerade eine Programmierschule abgeschlossen haben, erstellen mit Rails ein Portfolio!
So erstellen Sie eine JAR-Datei ohne Abhängigkeiten in Maven
Aufzeichnung von Chemiestudenten, die keine Programmiererfahrung haben, bis sie als neuer Absolvent ein Stellenangebot von einem Webunternehmen erhalten
Wie man die Programmierung in 3 Monaten beherrscht
Was ist ein Ausschnitt in der Programmierung?