[RUBY] Tutoriel Rails Chapitre 1 Apprentissage

Tutoriel Rails Dans le premier chapitre, j'ai pensé (.´ ・ ω ・)?

Enregistrement des utilisateurs Cloud9

Cloud9 est désormais intégré à Amazon Web Services (AWS), vous aurez donc besoin d'un compte AWS pour utiliser Cloud9. Si vous possédez déjà un compte AWS, veuillez vous connecter à AWS. Accédez à la console AWS et saisissez «Cloud9» dans la zone de recherche pour accéder à la page de création d'un environnement de développement Cloud9. Si vous n'avez pas de compte Amazon Web Services (AWS), enregistrez-vous en tant qu'utilisateur AWS Cloud9. Les informations de carte de crédit sont désormais nécessaires pour éviter toute utilisation abusive, mais soyez assuré que l'espace de travail du didacticiel Rails est gratuit pendant un an. L'activation du compte peut prendre jusqu'à 24 heures, mais pour l'auteur, cela a pris environ 10 minutes. Lorsque vous atteignez la page d'administration Cloud9 (Figure 1.4), cliquez sur «Créer un environnement» et continuez jusqu'à ce que vous voyiez l'écran illustré dans la Figure 1.5. Entrez les informations appropriées et appuyez sur le bouton de confirmation pour continuer, et enfin vous aurez un environnement de développement Cloud 9 (Fig. 1.6). À ce stade, un message d'avertissement indiquant que vous êtes l'utilisateur «root» peut s'afficher, mais nous vous expliquerons comment gérer cela plus tard (j'expliquerai comment le gérer en utilisant la fonction appelée IAM en 13.4.4). Citation: https://railstutorial.jp/chapters/beginning?version=5.1#sec-development_environment

Je ne me sentais pas comme ça, alors j'ai fait référence à Vidéo expliquant comment enregistrer cloud9 sur Youtube.

Carte de crédit requise pour enregistrer AWS Cloud9 Pour ceux qui ne pensent pas tellement mais ne peuvent pas faire de creca (´-ω-`) Vous pouvez utiliser la carte de débit que vous obtenez en ouvrant un compte à Sumishin SBI Net Bank ('ω')

Comment ouvrir un fichier avec la commande ? Résoudre

#Installer le didacticiel C9 for Rails utile('ω')Non
#c9 <nom de fichier>Vous pouvez ouvrir le fichier avec.
npm install -g c9

Que fait cette commande? Partie 1

Ajouté pour éviter de perdre du temps à installer Ruby
$ echo "gem: --no-document" >> ~/.gemrc

Contenu de traitement des commandes UNIX
echo "gem: --no-document" ("gem: --no-document)
>> (Veuillez l'ajouter à la fin.)
~/.fichier gemrc(Sous le répertoire personnel~/.Dans un fichier appelé gemrc)

Que fait cette commande? Partie 2

Installez Yarn pour gérer les dépendances du logiciel JavaScript
$ source <(curl -sL https://cdn.learnenough.com/yarn_install)

Contenu de traitement des commandes UNIX
Une commande pour exécuter la commande écrite dans le fichier source dans le shell courant
<() :Remplacement de processus(Fonction permettant de gérer le résultat de sortie de la commande sous forme de fichier)

curl -sL https://cdn.learnenough.com/yarn_install
curl [http://Cible URL]Faire une requête HTTP et afficher le résultat vers la sortie standard
-s --Ne pas sortir en plus
-L --S'il y a une redirection, obtenez les informations de la destination de la redirection

yarn_Le contenu du fichier d'installation.
#!/bin/bash

# Installs YARN on AWS Cloud9 Ubuntu Server.
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get -y update && sudo apt-get -y install yarn

Enfin j'ai pu voir l'image entière! Vous exécutez la commande suivante ...!
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get -y update && sudo apt-get -y install yarn

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt-get -y update && sudo apt-get -y install yarn

Qu'est-ce que c'est ...? Procédure d'installation Yarn adaptée à votre plateforme image.png

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt-get -y update && sudo apt-get -y install yarn

C'était une commande pour installer Yarn, qui gère les dépendances du logiciel JavaScript.

Que fait cette commande? Partie 3

sudo ln -sf `which nano` /usr/bin

Contenu de traitement des commandes UNIX
Exécuter en tant qu'administrateur sudo
ln -lien symbolique sf(Raccourci)Créer

/usr/Créer un raccourci nommé quel nano saute vers la corbeille d'emplacement?

Si vous utilisez Cloud IDE, définissez l'éditeur par défaut pour Git (utilisé pour éditer et modifier le projet avec «modifier»). Pour l'instant, utilisons l'éditeur nano, qui est relativement facile à utiliser et qui est également l'éditeur par défaut de l'IDE cloud. Même si vous écrivez ce paramètre, l'éditeur par défaut se déconnecte lorsque vous vous déconnectez, et le chemin est incorrect, alors exécutez pour créer un lien symbolique (également appelé lien symbolique) afin qu'il pointe correctement vers le fichier exécutable nano. Allons-y (c'est un peu difficile pour les débutants, alors ne vous inquiétez pas si vous ne pouvez pas le lire et le comprendre maintenant).

(. '・ Ω ・) Hmm? Que dois-je faire? Eh bien, voulez-vous l'ignorer (^ ω ^) ...

À propos du logiciel de base de données (SQL) utilisé dans le didacticiel Rails

Utilisez sqlite dans cloud9 (environnement de développement). Heroku utilise PostgreSQL. Il est recommandé d'utiliser le même SQL pour l'environnement de développement et l'environnement de production.

Je me demande pourquoi ils l'utilisent pour apprendre. (´-ω-`) Je ne sais pas.

Offre gratuite AWS sur Amazon RDS Une instance db.t2.micro Single-AZ d'Amazon RDS qui utilise MySQL, MariaDB, PostgreSQL, Oracle BYOL ou SQL Server (SQL Server Express Edition), suffisante pour exécuter l'instance de base de données consécutivement chaque mois. 750 heures d'utilisation pour L'utilisation de l'instance Oracle BYOL db.t3.micro Single-AZ est incluse dans l'offre gratuite d'Amazon RDS. Si vous exécutez à la fois des instances db.t2.micro Single-AZ et db.t3.micro Single-AZ sur Oracle BYOL, leur utilisation est totalisée dans la classe d'instance. 20 Go de stockage de base de données à usage général (SSD) * Stockage de sauvegarde de 20 Go pour les sauvegardes automatiques de la base de données et tout instantané de base de données par l'utilisateur *

Je peux utiliser PostgreSQL ... pourquoi? .. ..

Lié à l'installation des rails

Installer des rails Utilisez la commande gem fournie par RubyGems.
gem install rails -v 6.0.3
gem install [App] -v [Spécification de version]
#Commande de création de modèle vide dans Rails
rails _6.0.3_ new hello_app
rails _[version]_ new [nom de l'application]

Gemfile.La bibliothèque à installer(les pièces)Fichier qui décrit


source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.6.3'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 6.0.3'
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.4'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker', '~> 4.0'
# Turbolinks makes navigating your web application faster.
# Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.7'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use Active Model has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Active Storage variant
# gem 'image_processing', '~> 1.2'

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.4.2', require: false

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a
  # debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
  # Access an interactive console on exception pages or by calling 'console'
  # anywhere in the code.
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  # Spring speeds up development by keeping your application running in the
  # background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  # Easy installation and use of web drivers to run system tests with browsers
  gem 'webdrivers'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
#Commande pour installer par lots les bibliothèques répertoriées dans le Gemfile
bundle install

#Commandes à utiliser en cas de problème de dépendance avec la bibliothèque installée
bundle update
#Commande de lancement du serveur Rails
rails server
rails s #(Abréviation)← Celui-ci est utilisé plus souvent

rb config/environments/development.rb



Rails.application.configure do
  .
  .
  .
  #Autoriser la connexion à Cloud9
  config.hosts.clear ← Si vous n'ajoutez pas ceci, il sera joué en accédant au serveur Rails
end

Lié à Git

Git est une application pratique pour gérer le code source Github est un service qui fournit un endroit pour stocker le code source sur Internet

#Paramètres de nom et paramètres d'adresse e-mail utilisés dans Git
#* Veuillez noter que le nom et l'adresse e-mail définis dans Git seront ouverts au public dans le référentiel à l'avenir.

$ git config --global user.name "Nom"
$ git config --global user.adresse e-mail

#Autorisez l'omission de la commande d'extraction pour co.
$ git config --global alias.co checkout

#Changer le temps requis pour un mot de passe lorsque git push réduit les tracas de la saisie d'un mot de passe à chaque fois
$ git config --global credential.helper "cache --timeout=86400"

#Dépôt(Boîte de rangement)Commande à faire
$ git init

#Commande pour mettre des fichiers dans une boîte de stockage temporaire-A change(Nouveau / Ajouter / Supprimer)Signifie d'ajouter tous les fichiers qui étaient
$ git add -A

#Commande pour ajouter une note à la boîte de stockage temporaire et la déplacer vers la boîte de stockage-m "message"Peut écrire des notes avec
$ git commit -m "Initialize repository"

#Enregistrez votre stockage de code source sur Internet avec l'origine du nom
$ git remote add origin https://github.com/<Le nom de votre compte GitHub>/hello_app.git

#Mon téléchargement
$ git push -u origin master

#Vous pouvez voir s'il y a des changements
$ git status

#Vérifiez ce que vous avez commis dans le passé
$ git log

En relation avec Heroku

Heroku est un service qui vous permet de publier des applications sur Internet (jusqu'à 5 sont gratuites) Les applications Rails peuvent être facilement publiées si Git est utilisé pour le contrôle de version du code source.

Étant donné que l'environnement est différent entre l'environnement de développement et l'environnement de production, il est nécessaire de modifier la bibliothèque installée en conséquence. cloud9 (environnement de développement / test) = sqlite3 Heroku (environnement de production) = PostgreSQL

ruby.Gemfile


source 'https://rubygems.org' 
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

gem 'rails',      '6.0.3'
gem 'puma',       '4.3.4'
gem 'sass-rails', '5.1.0'
gem 'webpacker',  '4.0.7'
gem 'turbolinks', '5.2.0'
gem 'jbuilder',   '2.9.1'
gem 'bootsnap',   '1.4.5', require: false

#Je pense que tout à partir de maintenant sera installé en commun('ω')Non

#Installer uniquement l'environnement de développement et de test
group :development, :test do 
  gem 'sqlite3', '1.4.1'
  gem 'byebug',  '11.0.1', platforms: [:mri, :mingw, :x64_mingw]
end

#Installer uniquement l'environnement de développement
group :development do 
  gem 'web-console',           '4.0.1'
  gem 'listen',                '3.1.5'
  gem 'spring',                '2.1.0'
  gem 'spring-watcher-listen', '2.0.1'
end

#Installer l'environnement de test uniquement
group :test do 
  gem 'capybara',           '3.28.0'
  gem 'selenium-webdriver', '3.142.4'
  gem 'webdrivers',         '4.1.2'
end

#Installer uniquement dans un environnement de production
group :production do 
  gem 'pg', '1.1.4' 
end

#Tzinfo pour obtenir des informations sur le fuseau horaire sous Windows-doit inclure une gemme de données
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
#Installer des gemmes hors production
$ bundle install --without production

Si vous ne réfléchissez pas dans Gemfile.lock que vous avez ajouté pg gem ou spécifié la version Ruby, En effet, le déploiement dans un environnement de production échouera.

#installation de la commande heroku
source <(curl -sL https://cdn.learnenough.com/heroku_install)

C'est la commande qui est en cours d'exécution!
curl -OL https://cli-assets.heroku.com/heroku-linux-x64.tar.gz
tar zxf heroku-linux-x64.tar.gz && rm -f heroku-linux-x64.tar.gz
sudo mv heroku /usr/local
echo 'PATH=/usr/local/heroku/bin:$PATH' >> $HOME/.profile
source $HOME/.profile > /dev/null
#Connectez-vous à heroku(--Vous pouvez vous connecter sans navigateur à l'aide de l'option interactive)
$ heroku login --interactive

#Créer une nouvelle application dans Heroku(Analysez le code source de git et préparez un serveur approprié)
$ heroku create 

#Téléchargez le code source. Désormais, le service que vous avez créé sera publié sur le net.
$ git push heroku master

Impressions

Hello World en utilisant Cloud9 / Git / Heroku, mais maintenant nous avons un service public! Je pense que c'est vraiment incroyable de pouvoir publier le service en un seul chapitre alors qu'il existe de nombreux livres qui se terminent uniquement par le développement d'applications. Je tombais sur une commande UNIX dans cette sortie, et j'ai découvert que le mystère était un peu résolu. Commande UNIX ... (゜ - ゜) J'ai lu le pré-apprentissage source, (remplacement de processus) <(), curl, In Était-il écrit comme ça ...

Eh bien, faisons de notre mieux au chapitre 2 (`) Non

Recommended Posts