はじめに
プログラミングを勉強し始めて、1週間ほど経ちました。
何が分からないのか分からない系の学習期間がまだまだ続いていきそうな今日このごろです。
それでも俺は抵抗するで!拳で!ギノキンです。
分からないなら、箇条書きして、一つ一つ調べていくしかないやんけ!!
ってことで、rails new
して作成されたディレクトリについて調べてみました。
作成したアプリケーション内のディレクトリについて
作成したtwitterディレクトリの下には多数のファイルやフォルダが生成されており、これらがRailsアプリケーションを構成しています。Railsが生成したファイルとフォルダについて下記に記します。
app/
ここにはアプリケーションのコントローラ、モデル、ビュー、ヘルパー、メイラー、チャンネル、ジョブズ、そしてアセットが置かれます。
※アセット...デジタルコンテンツの開発では、その構成要素となる画像や3Dモデル、音楽、効果音などの素材のこと。
bin/
ここにはアプリケーションを起動/アップデート/デプロイするためのRailsスクリプトなどのスクリプトファイルが置かれます。
※デプロイ...実行ファイルを、実行する環境に合わせて、実際に実行できるようにすること。インストールとは違い、開発者が準備完了だとネットワーク上で利用できるようにすること。インストールとはそのデプロイされたものを自分のpcなどに入れて利用できるようにすること。
config/
アプリケーションの設定ファイル (ルーティング、データベースなど) がここに置かれます。
config.ru
アプリケーションの起動に必要となる、Rackベースのサーバー用のRack設定ファイルです。
※Rack...Rackは魔法のようなもので、Rackを使えばどのアプリケーションサーバーであってもあなたのRailsアプリケーションを動かすことができます。RackはRailsのようなRuby製のwebフレームワークとアプリケーションサーバーの両方が話せる共通言語のようなものだと考えてください。
db/
現時点のデータベーススキーマと、データベースマイグレーションファイルが置かれます。
Gemfile,Gemfile.lock
これらのファイルは、Railsアプリケーションで必要となるgemの依存関係を記述します。この2つのファイルはBundler gemで使用されます。
lib/
アプリケーションで使用する拡張モジュールが置かれます。
※モジュール...「部品」のことで、その一つで機能としては成立するが、通常他のものと一緒に使用することができるもの。
log/
アプリケーションのログファイルが置かれます。
package.json
Railsアプリで必要なnpm依存関係をこのファイルで指定できます。このファイルはYarnで使われます。Yarnについて詳しくは、YarnのWebサイトを参照してください。
※npm...正式名称は、Node Package Managerです。npmの正式名称からも解るように、Node.jsのパッケージ(Package )を管理する(Manager)ツールです。
※Yarn...npmと互換性のあるJavaScriptのパッケージマネージャーです。簡単に言うとnpm installをより高速に、そしてコンパクトにしたものです。
public/
このフォルダの下にあるファイルは外部 (インターネット) からそのまま参照できます。静的なファイルやコンパイル済みアセットはここに置きます。
Rakefile
このファイルには、コマンドラインから実行できるタスクを記述します。ここでのタスク定義は、Rails全体のコンポーネントに対して定義されます。独自のRakeタスクを定義したい場合は、Rakefileに直接書くと権限が強すぎるので、なるべくlib/tasksフォルダの下にRake用のファイルを追加するようにしてください。
※コンポーネント...部品、成分、構成要素などの意味を持つ英単語。ITの分野では機器やソフトウェア、システムの構成する部品や要素などのことを意味する。
README.md
アプリケーションの概要を説明するマニュアルをここに記入します。このファイルにはアプリケーションの設定方法などを記入し、これさえ読めば誰でもアプリケーションを構築できるようにしておく必要があります。
test/
Unitテスト、フィクスチャなどのテスト関連ファイルをここに置きます。
※テストフィクスチャ...テストを実行、成功させるために必要な状態や前提条件の集合を、フィクスチャと呼ぶ。これらはテストコンテキストとも呼ばれる。
tmp/
キャッシュ、pidなどの一時ファイルが置かれます。
※キャッシュ...一度見たホームページのデータをパソコンの中に一時保存して、速く表示できるようにする機能です。
※プロセス...情報処理においてプログラムの動作中のインスタンスを意味し、プログラムのコードおよび全ての変数やその他の状態を含む。オペレーティングシステム (OS) によっては、プロセスが複数のスレッドで構成される場合があり、命令を同時並行して実行する
※pid...プロセスID。それぞれのプロセスに割り当てられた管理用の番号のこと。プロセスに配られるゼッケンのようなものです。
vendor/
サードパーティによって書かれたコードはすべてここに置きます。通常のRailsアプリケーションの場合、外部からのgemファイルをここに置きます。
.gitignore
Gitに登録しないファイル(またはパターン)をこのファイルで指定します。
※ignore...無視。
.ruby-version
デフォルトのRubyバージョンがこのファイルで指定されます。
デフォルト...コンピュータで、あらかじめ設定されている標準の状態・動作条件。初期設定。初期値。
Railsを起動させる
先ほど作成したRailsアプリケーションは、既に実行可能な状態になっています。Webアプリケーションを開発用のPCで実際に動かしてこのことを確かめてみましょう。twitterディレクトリに移動し、以下のコマンドを実行します。
Webサーバーを起動させる
$ bundle exec rails server
ブラウザを開いて http://localhost:3000 を表示してください。Railsのデフォルト情報ページが表示されます。
終わりに
正直、分からないことだらけで調べるだけで一日フルに使ってしまう。
一日ってもっと長かったはずなんやけどなー!
間違ってる表現等がある場合は、ご指摘頂けますと幸いです。