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.
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! ** ** **
Ich werde sofort ein Projekt machen.
~
$ mkdir sample_app
$ cd sample_app
Bewegen 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
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.
git init
git add .
git commit -m "first commit"
`" first commit "`
. ``
-m" ○○ "" `` fügt die Nachricht ○○ hinzu.git remote add origin https...
`(https ...)`
den abgekürzten Namensursprung erhält. Es scheint, dass der Ursprung üblicherweise so entschieden wird.git push -u origin master
`origin master``` der entfernte`
master branch` `` ist.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.
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.
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.
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.
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.
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.
Ü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.
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 ...
Die im Thema geänderten Inhalte werden im Master korrekt wiedergegeben! !!
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.
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.
Festschreiben und Wechseln zum Hauptzweig wie zuvor und Zusammenführen des Themenzweigs.
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 -> topic
Isttopic -> origin/topic
darüber ~.
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.
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.
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.
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".
Wenn Sie zur Registerkarte "Conversion" zurückkehren, werden die Bewertungen usw. wiedergegeben.
Schließen Sie nach Abschluss der endgültigen Bestätigung die Zusammenführung mit "Zusammenführung bestätigen" von "Pull-Anforderung zusammenführen" ab.
Wenn Sie zur obersten Seite zurückkehren, wird die vorherige Zusammenführung wiedergegeben!
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.
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! !!