[RUBY] Eine Reihe von Schritten zum Erstellen von Ergebnissen für Portfolios mit Rails

Für solche Leute

Einführung

Ich bin @million_momoban, ein 22-jähriger Student, der sich zum Ziel gesetzt hat, ein unerfahrener Back-End-Ingenieur zu werden. Neben der Entwicklung von Webanwendungen und dem Erlernen der Programmierung bieten wir auch Informationen zur Jobsuche und zu Praktika.

Status

Ich habe beim Erstellen der Rails-App einen Fehler gemacht (später behoben) und konnte ihn nicht mit Git verwalten. Daher hielt ich dies für eine gute Gelegenheit und beschloss, das Projekt ab 1 zu starten.

Es ist Zeitverschwendung, der gleichen Furcht zu folgen. Halten Sie also fest, wie eine Web-App ausgeführt werden kann.

Als Anfänger stolpere ich oft über ** "Umgebungskonstruktion" ** und ** "Git-Management" **, um den Ablauf der Anwendungsentwicklung aufzuzeichnen.

** Kommentare sind willkommen, sowohl in Bezug auf Artikelinhalt, technische Aspekte als auch mehr! ** ** **

Umgebung

Von der Sicherung des Arbeitsraums

Ich werde sofort ein Projekt machen.

~


$ mkdir sample_app

$ cd sample_appBewegen Sie sich mit und geben Sie die zu installierende Ruby-Version an.

~/sample_app


$ rbenv install 2.6.5
・ ・ ・
Installed ruby-2.6.5 to /Users/foo/.rbenv/versions/2.6.5

Ich habe ein paar Minuten gewartet. Nachdem Sie sich mit `` $ rbenv local 2.6.5``` an die Umgebung angepasst haben, fahren Sie mit dem nächsten fort.

~/sample_app


$ bundle init
・ ・ ・
Writing new Gemfile to /Users/foo/sample_app/Gemfile

Öffnen Sie die generierte Gemfile entweder vim oder direkt im Finder. Entfernen Sie das # von `# gem" Schienen "` `unten, um es zu` gem "Schienen" `` zu machen.

~/sample_app/Gemfile


# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "rails" #Kommentar

Wenn Sie können, kehren Sie zum Terminal zurück und installieren Sie die Schienen mit dem folgenden Befehl.

~/sample_app


$ bundle install --path vendor/bundle

Referenz: Überlegen Sie noch einmal, ob Sie bei der Installation des Bundles wirklich --path vendor / bundle hinzufügen müssen

Rails-Projekt starten

Lassen Sie uns die Schienen überprüfen, die installiert werden können.

~/sample_app


$ gem list rails

*** LOCAL GEMS ***

Wenn Sie nicht über die Version der Schienen verfügen, die Sie verwenden möchten, geben Sie die Version an und installieren Sie den Edelstein. Wenn Sie es nicht angeben, werden 6 Serien installiert. Der 6er ist in Bezug auf die Kompatibilität immer noch instabil, und aufgrund der Neuheit gibt es möglicherweise nur wenige Informationen, daher sollten Anfänger dies vermeiden.

~/sample_app


$ gem install -v 5.2.4.2 rails
・ ・ ・
$ gem list rails

*** LOCAL GEMS ***

rails (5.2.4.2)
...

Nun, da Gem installiert ist, können wir das Projekt endlich starten.

Portfolio


$ rails _5.2.4.2_ new . -d mysql --skip-turbolinks --skip-test --skip-bundle
create
      create  README.md
      create  Rakefile
・ ・ ・

new .Durch Geben als Probe_Sie können Rails-Projekte für die App bereitstellen.


 Die Erklärung des Befehls lautet wie folgt. Je nach Fall hinzufügen oder entfernen.

- ```rails _○.○.○.○_```
 --Installieren Sie durch Angabe der Version
-  ```-d mysql```
 - Die Datenbank wurde von der Standard-SQLite auf schnelles und stabiles MySQL geändert.
-  ```--skip-turbolinks```
 - Schalten Sie die Turboverbindung aus. Es scheint, dass der Seitenübergang schneller sein wird.
-  ```--skip-test```
 - Überspringen Sie den Standard-Minitest, da Sie RSpec verwenden möchten.
-  ```--skip-bundle```
 - Wenn Sie die Bundle-Installation ohne Erlaubnis durchführen, wird die Rails-Version möglicherweise überschrieben. Aber eigentlich hat es eine tiefere Bedeutung.

---


 Wenn Sie fertig sind, schreiben Sie die benötigten Edelsteine in die Gemfile im Projektnamenverzeichnis.

#### **`'= 5.2.4.2'Wenn Sie es als angeben, wird es so festgelegt, dass es nicht ohne Erlaubnis zu einer anderen Version wird.`**

~/sample_app/Gemfile


・ ・ ・

ruby '2.6.5'

gem 'rails', '= 5.2.4.2'
gem 'mysql2', '>= 0.4.4', '< 0.6.0'

・ ・ ・

Nachdem Sie das gewünschte Juwel geschrieben haben, `$ bundle install `

~/sample_app


$ bundle install
・ ・ ・

An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.

Irgendwie ist ein Fehler in mysql2 aufgetreten. Ich habe verschiedene Dinge ausprobiert, konnte es jedoch mit Rails5 gem kann mysql2 nicht installieren lösen.

$ bundle config --local build.mysql2 "--with-cppflags=-I/usr/local/opt/openssl/include"
$ bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"

`$ bundle install `erneut und der nächste ist erfolgreich.

Erstellen Sie eine Datenbank mit create.



 Führen Sie bei der Betriebsüberprüfung `` `$ Rails s``` aus und greifen Sie auf localhost zu: 3000 ,,,

 <img width="617" alt="スクリーンショット 2020-06-20 13.25.58.png " src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597061/67e14813-f7c8-a972-7f47-e92f0ffe34b0.png ">

 Sie können verbinden und die Version ist perfekt!


## Git Management und GitHub
 Als nächstes werden wir das Projekt mit Git verwalten.
 Das Tool, das von Anfang an auf VSCode läuft, ist mehr als genug, also werde ich es verwenden.
 Eine Erweiterung namens GitHistory ist praktisch, installieren Sie sie also ebenfalls.

## Versuchen

 Starten Sie ein neues Projekt von New in Repositories auf [GitHub](https://github.com/).
 Geben Sie einen beliebigen Namen für den Repository-Namen ein, aktivieren Sie Privat und übergeben Sie die anderen.
 <img width="776" alt="スクリーンショット 2020-06-20 16.20.40.png " src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597061/99e2077a-c09a-062e-6ceb-6fe84526688d.png ">

 Wenn Sie auf Repository erstellen klicken, wird der Bildschirm vorübergehend verlassen und Sie wechseln zu VS Code.
 Öffnen Sie nach dem Starten von VSCode `` `sample_app``` aus" Open Folder ".
 Geben Sie vom Terminal aus die fünf Befehlszeilen ein, die auf dem vorherigen Bildschirm angezeigt wurden.


#### **`~/sample_app`**
```terminal

$ git init
$ git add .
$ git commit -m "first commit"
$ git remote add origin https://github.com/******/sample.git
$ git push -u origin master

Die Erklärung des Befehls lautet wie folgt. Wenn Sie nicht gut verstehen, können Sie durchgehen.

Entwicklung

Werfen wir einen Blick auf den Git-Verlauf von VS Code. Wie im Bild gezeigt, können Sie den Verlauf anzeigen, indem Sie auf 1 und 2 klicken, und Sie können das erste Commit überprüfen, das Sie zuerst vorgenommen haben. スクリーンショット 2020-06-20 17.08.13.png

Ab 3 können Sie sehen, dass wir uns derzeit in einem Zweig namens Master befinden. Ein Zweig dient dazu, die Entwicklung flexibel voranzutreiben, indem die Entwicklungsumgebung in "zur Änderung" und "zum Hinzufügen von Funktionen" verzweigt wird, ohne sich gegenseitig zu beeinflussen.

Meister und Thema

Es ist üblich, stabile Versionen und fertige Produkte in der Standard-Hauptniederlassung zu behalten und diese häufig nicht in der Hauptniederlassung zu entwickeln. Erstellen wir also einen neuen Entwicklungszweig. Erstellen Sie einen neuen Zweig aus 3. Diesmal habe ich es nicht thematisch genannt.

Geben Sie im Terminal `` `git status``` ein, um den aktuellen Git-Status anzuzeigen.

~/sample_app


$ git status
On branch topic
nothing to commit, working tree clean

Ich bin in der Themenbranche, habe nichts zu tun und mein Arbeitsbereich ist sauber.

Versuchen Sie hinzuzufügen

Nachdem Sie bestätigt haben, dass Sie sich im Zweig für Entwicklungsthemen befinden, lassen Sie uns ein wenig mit der Datei spielen. Ich habe `gitignore zurückgesetzt und `` README.md``` ein wenig geändert. Wenn Sie in der Seitenleiste auf die Git-Markierung klicken und den Inhalt anzeigen, befinden sich die beiden oben genannten Dateien im Arbeitsbereich. Klicken Sie daher auf die Schaltfläche +, um sie in die Staging-Umgebung zu verschieben. Dies ist dasselbe wie "$ git add" im Terminal. スクリーンショット 2020-06-20 17.38.33.png

Sie wurden inszeniert und sind bereit, sich zu verpflichten. Schreiben Sie dann Ihr Commit in das Textfeld darüber und drücken Sie die Check-Schaltfläche oben, um Ihre Änderungen festzuschreiben. Dies entspricht auch `$ git commit -m" Operations Check "` im Terminal. スクリーンショット 2020-06-20 17.40.25.png

Schauen wir uns noch einmal die Geschichte an. Wenn Sie sich das folgende Bild ansehen, sehen Sie den neuesten Status des grünen Themenzweigs in der oberen Reihe, des grünen Hauptzweigs und des roten Ursprungs- / Hauptzweigs in der unteren Reihe (vor der Änderung). Da wir uns in der Themenbranche weiterentwickeln, können Sie verstehen, dass die Zeitreihe die neueste ist.

スクリーンショット 2020-06-20 18.19.14.png

Übrigens scheint es kein Problem zu geben, wenn die Änderungen so wie sie sind in der lokalen Hauptniederlassung wiedergegeben werden, daher möchte ich sie zusammenführen. Drücken Sie zuerst auf das Thema unten links, um den Hauptzweig auszuwählen und zu bestätigen, dass Sie ihn verschoben haben. スクリーンショット 2020-06-20 18.16.49.png

Klicken Sie direkt unter dem grünen Thema auf Mehr und wählen Sie Zusammenführen. Nach Auswahl des Themas und Abschluss der endgültigen Bestätigung ... スクリーンショット 2020-06-20 17.55.26.png

Die im Thema geänderten Inhalte werden im Master korrekt wiedergegeben! !!

Push and Pull-Anfrage

Ich denke, es gibt eine Schaltfläche mit einer Wolkenmarkierung oder zwei Pfeilen in einem Kreis rechts neben der Schaltfläche mit dem Thema oder Master, den Sie beim Wechseln der Zweige gedrückt haben. Sie können Ihre aktuellen Änderungen einfach mit einem Remote-Repository synchronisieren, indem Sie darauf klicken.

Aber denken Sie darüber nach. Es ist so, als würden Sie Änderungen an der Hauptniederlassung synchronisieren, die Sie als Team entwickelt haben und plötzlich beschlossen haben, nur mit dem fertigen Produkt zu arbeiten, ohne dass dies von anderen Mitgliedern bestätigt wurde.

Wenn Sie eine Pull-Anfrage stellen, können Sie die Teammitglieder bitten, den Code zu überprüfen, um festzustellen, ob es sich lohnt, ihn zusammenzuführen. Wenn Sie die Erlaubnis erhalten, können Sie beispielsweise Zusammenführen und Unfälle verhindern. Obwohl es eine persönliche Entwicklung ist, wird es nicht schaden, sich daran zu gewöhnen.

Weise

Angenommen, Sie fahren mit der Entwicklung im Themenzweig fort und es gibt drei Dateiänderungen. Verwenden Sie die Schaltfläche +, um die Bereitstellung hinzuzufügen und eine entsprechende Festschreibungsnachricht hinzuzufügen. スクリーンショット 2020-06-20 19.00.11.png

Festschreiben und Wechseln zum Hauptzweig wie zuvor und Zusammenführen des Themenzweigs. スクリーンショット 2020-06-20 19.02.18.png Ja, wie erwartet. Ich werde von hier aus zum Remote-Repository pushen, aber der Ablauf ist wie folgt.

Push vom Hauptzweig des lokalen Repositorys zum Ursprungs- / Themenzweig des Remote-Repositorys (ehrlich gesagt Thema → Ursprung / Thema fühlt sich gut an) ↓ Stellen Sie eine Pull-Anforderung vom Zweig origin / topic des Remote-Repositorys an origin / master auf GitHub ↓ Lassen Sie es vom Repository-Administrator zusammenführen.

Beginnen wir mit der Fortsetzung des vorherigen. Drücken Sie zu orign / topic. Oh, das Remote-Repository hat immer noch nur einen Hauptzweig, oder? Wenn Sie denken, machen Sie sich keine Sorgen. Wenn es keinen Zweig gibt, wird je nach Situation ein neuer Zweig erstellt.

~/sample_app


$ git push origin topic

・ ・ ・
remote: Create a pull request for 'topic' on GitHub by visiting:
remote:      https://github.com/******/sample/pull/new/topic
remote:
To https://github.com/******/sample.git
 * [new branch]      topic -> topic

Stellen Sie eine Pull-Anfrage zum Thema auf GitHub. topic -> topicIsttopic -> origin/topicdarüber ~.

Pseudo-Teamentwicklung

Wenn Sie sich GitHub ansehen und zur obersten Seite des Projekts gehen, wird dort das Thema "Compare & Pull Request" angezeigt. Klicken Sie also darauf, um eine Pull Request zu erstellen. Wenn nicht, wählen Sie `topic``` aus` Branch``` und es sollte erscheinen. スクリーンショット 2020-06-21 10.03.07.png

Der obere Rahmen zeigt, dass die Pull-Anforderung von Thema zu Master verglichen wird und dass sie zusammengeführt werden kann. Wenn Sie dies bestätigen können, schreiben Sie den Titel und die Nachricht. Ich denke, dass der Titel die Botschaft von Anfang an ist, als Sie sich verpflichtet haben. スクリーンショット 2020-06-21 10.08.16.png

Schreiben Sie die Nachricht so, dass sie von anderen als Ihnen selbst verstanden werden kann. Der Artikel dieser Person war sehr hilfreich für das Schreiben von Pururiku. → GitHub "Ich werde Ihnen beibringen, wie man eine perfekte Pull-Anfrage schreibt"

Wenn Sie eine Nachricht schreiben können, führen Sie "Pull-Anforderung erstellen" aus. Diesmal ist es eine persönliche Entwicklung und der Administrator des Repositorys ist auch der einzige, so dass ich es sofort zusammenführen kann, aber da es eine große Sache ist, werde ich es auf verschiedene Weise berühren. Klicken Sie auf der Registerkarte auf Datei geändert. スクリーンショット 2020-06-21 10.32.41.png

Hier können Sie die geänderten Dateien überprüfen. Hinterlassen Sie proaktiv Fragen, Vorschläge und lobende Kommentare. Nachdem Sie alle Details geschrieben haben, überprüfen Sie die Option "Änderungen überprüfen" in der oberen rechten Ecke mit "Überprüfung einreichen". スクリーンショット 2020-06-21 10.30.40.png

Wenn Sie zur Registerkarte "Conversion" zurückkehren, werden die Bewertungen usw. wiedergegeben. スクリーンショット 2020-06-21 10.42.34.png

Schließen Sie nach Abschluss der endgültigen Bestätigung die Zusammenführung mit "Zusammenführung bestätigen" von "Pull-Anforderung zusammenführen" ab. スクリーンショット 2020-06-21 10.46.02.png

Wenn Sie zur obersten Seite zurückkehren, wird die vorherige Zusammenführung wiedergegeben! スクリーンショット 2020-06-21 10.51.24.png

Damit ist der Ablauf abgeschlossen. Ich denke, dies ist der Grund, warum der Vorgang, es so aussehen zu lassen, als ob es von mehreren Personen entwickelt wird, als Pseudo-Pull-Anfrage bezeichnet wird.

Zusammenfassung

Durch das Schreiben dieses Artikels habe ich viele Dinge gelernt, die verstanden, aber nicht getan wurden. Trotzdem finde ich es oft verdächtig zu schreiben (besonders wenn ich eine Filiale betreibe), und ich denke, dass ich noch lernen muss.

Ich habe zum ersten Mal einen so langen Satz geschrieben, also denke ich, dass es einige seltsame Teile gibt! Ich werde weiterhin Aufzeichnungen schreiben, während ich mit der Entwicklung im laufenden System fortfahre. Ich werde es wieder schreiben, wenn das Projekt abgeschlossen oder abgeschlossen ist. Weiter ist RSpec? ??

Egal, ob Sie in einer ländlichen Gegend leben, alleine studieren oder kein Informationssystem sind, selbst wenn Sie keine Freunde in Ihrer Nähe haben, die programmieren, können Sie einige Ergebnisse vervollständigen und beweisen, dass Sie einen Job als Back-End-Ingenieur bekommen können! !!

Als Student plane ich, Artikel über meine Erfahrungen wie Informationen zur Jobsuche und Praktika zu veröffentlichen. Jeder Inhalt, ob es sich um einen Artikel oder etwas anderes als einen Artikel handelt, kann gerne kommentiert werden! !!

Referenzartikel

Recommended Posts

Eine Reihe von Schritten zum Erstellen von Ergebnissen für Portfolios mit Rails
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
Erstellen Sie ein Portfolio mit Rails + Postgres SQL
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
Vorbereiten der Erstellung einer Rails-Anwendung
[Rails] Ich habe versucht, eine Mini-App mit FullCalendar zu erstellen
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 2
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 0
Schritte zum Erstellen einer Ruby on Rails-Entwicklungsumgebung mit Vagrant
[Rails6] Erstelle eine neue App mit Rails [Anfänger]
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
[Rails] So erstellen Sie eine Teilvorlage
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
Notizen von Personen, die beim Versuch, ein Rails-Projekt zu erstellen, gestolpert sind
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
Erstellen Sie einen Team-Chat mit Rails Action Cable
So erstellen Sie einfach ein Pulldown mit Rails
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
Erstellen Sie mit Faker Dummy-Daten für das Portfolio [Hinweis]
Ich habe mit Ruby On Rails ein Portfolio erstellt
Ich habe versucht, ein Portfolio mit AWS, Docker, CircleCI, Laravel [mit Referenzlink] zu erstellen.
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
Rails6 Ich möchte ein Array von Werten mit einem Kontrollkästchen erstellen
[Einführung] Erstellen Sie eine Ruby on Rails-Anwendung
Erstellen einer EC-Site mit Rails 5 ⑨ ~ Erstellen einer Warenkorbfunktion ~
So löschen Sie ein mit Rails erstelltes new_record-Objekt
So generieren Sie manuell ein JWT mit Knock in Rails
[So fügen Sie ein Video mit Rails in haml ein]
Ich habe versucht, eine Nachrichtenfunktion der Rails Tutorial-Erweiterung (Teil 1) zu erstellen: Erstellen Sie ein Modell
Docker-Befehl zum Erstellen eines Rails-Projekts in einem einzigen Schlag in einer Umgebung ohne Ruby
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
Port C-Code mit vielen Typecasts zu Swift
Erstellen Sie einen Spielplatz mit Xcode 12
Ich möchte ein Formular erstellen, um die Kategorie [Schienen] auszuwählen
Eine Geschichte, die von String () von Interface abhängig ist und von JdkDynamicAopProxy vertreten wird
[Rails 6.0, Docker] Ich habe versucht, die Konstruktion der Docker-Umgebung und die zum Erstellen eines Portfolios erforderlichen Befehle zusammenzufassen
So verschieben Sie eine andere Klasse mit einer Schaltflächenaktion einer anderen Klasse.
Ich habe versucht, eine Nachrichtenfunktion für die Erweiterung Rails Tutorial (Teil 2) zu erstellen: Erstellen Sie einen Bildschirm zum Anzeigen
Ich habe versucht, mit Docker eine Padrino-Entwicklungsumgebung zu erstellen
So erstellen Sie eine Methode
Erstellen Sie mit der Datei Ruby on Rails seeds.rb eine große Anzahl von Datensätzen mit einem einzigen Befehl
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Ich habe versucht, ein Fenster mit Bootstrap 3 zu erstellen"
Die Geschichte des Refactorings mit einem selbstgemachten Helfer zum ersten Mal in einer Rails-App
Versuchen Sie, die Idee eines zweidimensionalen Arrays mit einem eindimensionalen Array nachzuahmen
Ich möchte eine Browsing-Funktion mit Ruby on Rails hinzufügen
Eine Geschichte über die Verbindung zu einem CentOS 8-Server mit einem alten Ansible
So benennen Sie ein Modell mit externen Schlüsseleinschränkungen in Rails um
(Ruby on Rails6) Erstellen Sie eine Funktion zum Bearbeiten des veröffentlichten Inhalts
Ich habe versucht, mit Rails eine Gruppenfunktion (Bulletin Board) zu erstellen
Erstellen Sie mit Docker eine Vue3-Umgebung!
[Rails Tutorial Kapitel 5] Erstellen Sie ein Layout
Erstellen Sie eine neue App mit Rails
Stellen Sie mit dem iPhone eine Verbindung zum Rails-Server her