ume

混同しがちなwebとインターネットの違いについて説明



目次

webとは

イメージとしては『宇宙と星』 宇宙という無限の空間(webの世界)に無数の星(Webページ)が散りばめられているイメージ。

ハイパーリンクとは

このWebの中(宇宙の中)では星(webページ)と星(webページ)の間には橋がかけられており繋がっている。 この時星と星を結んでいる橋をかける仕組みをwebの中ではハイパーリンクと呼ぶ。  ハイパーリンクとは⇨下記の画像で言う「文献や情報源』のようにクリックできるものをハイパーリンクと呼ぶ。 この青文字をクリックすると今現在のwebページ(星)から クリックしたページ(星)を結び付けてくれる(橋をかけてくれる)仕組みをハイパーリンクと呼ぶ。 注意点;ここであるもの(乗り物)がないとクリックしてもクリックしたページは表示されない(星と星に橋をかけただけでは行きたい星(行きたいページ)に行けない)。

インターネットとは

⇨ロケットのようなもの ⇨宇宙に散りばめられた星(webページ)と星(webページ)を自由自在に行き来する手段

node.jsとは?

Node.js とは? ⇨本来フロントエンドの言語であるjavascriptをサーバーサイド言語として使うための仕組み。

Node.jsを使わなかった場合↓ スクリーンショット 2022-07-09 16.13.14.png

使った場合↓スクリーンショット 2022-07-09 16.16.48.png

Node.jsのメリット ①リアルタイムな処理が速い  ⇨ツイッターなどのリアルタイムで画面が更新されるアプリ開発に向いている

Node.jsのデメリット ①対応しているサーバーが少ない

基本用語 ①ルーティング=クライアント側からリクエストが飛んできた時に、そのリクエストを処理することをルーティングという コードで見てみると a.get('url',()=>{//トップ画面表示してね(リクエスト)}) {//トップ画面表示してね(リクエスト)⇦この処理をすることを「ルーティング」

②req(リクエスト)res(レスポンス) ⇨リクエスト、レスポンスにはリクエスト・レスポンスに関する情報が入っています。 a.get('url',(req,res)=>{//トップ画面表示してね(リクエスト)}) reqにはこのURLの情報等が入っている

③res.render(’ファイル名’)=指定したurlの中身を画面に表示するねって意味 a.get('url',(req,res)=>{res.render(’ファイル名’)}) resにはurlの中身のファイルの情報が入っている。

webとは?インターネットとは?

webとは ⇨ イメージとしては『宇宙と星』 宇宙という無限の空間(webの世界)に無数の星(Webページ)が散りばめられているイメージ。 このWebの中(宇宙の中)では星(webページ)と星(webページ)の間には橋がかけられており繋がっている。 この時星と星を結んでいる橋をかける仕組みをwebの中ではハイパーリンクと呼ぶ。  ハイパーリンクとは⇨下記の画像で言う「文献や情報源』のようにクリックできるものをハイパーリンクと呼ぶ。 この青文字をクリックすると今現在のwebページ(星)から クリックしたページ(星)を結び付けてくれる(橋をかけてくれる)仕組みをハイパーリンクと呼ぶ。  注意点;ここであるもの(乗り物)がないとクリックしてもクリックしたページは表示されない(星と星に橋をかけただけでは行きたい星に行けない)。

ここであるもの(乗り物)とは ⇨インターネット(ロケット)

つまりインターネット(ロケット)があるおかげでwebページ(星)とwebページ(星)を行き来できる

1.Node js とは

javascriptをサーバー側で使えるようにした仕組みのこと

2.モジュールとは

javascriptのファイルのこと

3.パッケージとは

⇨便利な機能を簡単に使えるようにまとめたもの expressなど

Node .js を使用するまでの準備

①パッケージのダウンロード ②パッケージの読み込み ③パッケージを使用可能にする(使用するための初期設定みたいなもの) ④パッケージを使ってサーバーを起動する

①パッケージのダウンロードのやり方

ターミナルでnom install express 意味 expressという名前のパッケージをダウンロード

②パッケージの読み込みのやり方

Jsファイル内に const express = require(‘パッケージ名’) ここではconst express = require(‘express’)とする

③パッケージを使用可能にするやり方

const app = express(); この時のappのところの定数名はなんでも良い これで使用するための準備完了

④ パッケージを使ってサーバーを起動する

app.listen(3000); ③で作成した定数名+listenメソッドを使うことでサーバーを起動する。またターミナルで node.ファイル名とすると ファイルの中身が表示される

メソッド、インスタンスメソッド、クラスメソッドの違い

初めに

プログラミングの勉強を始めて3ヶ月ほど経ちますがよく似た言葉や似たニュアンスの多い言葉がよく登場するケースによく遭遇します。例えばjavascriptで言うと関数とメソッドなど。このようなケースに遭遇した際正確な違いを特定するために2〜3時間かかる時もあります。なので初学者の方に私が今回調査した内容を共有することで「無駄な時間」を少しでも減らし、皆さんの学習の手助けに少しでもなれたらと思いこの記事を作成しています。

目次

1,メソッド、インスタンスメソッド、クラスメソッドとは?? 2,3つの違いまとめ

1.メソッドとは?

パソコンに元々あるショートカットみたいなもの。 ショートカットとは?⇨1つのボタンでたくさんの処理をしてくれる機能 例えば、『おはよう』という文章を作りこの文章を削除しようとした際 パソコンのデリートキーを「4回」連続で押す必要がある。 ただショートカットだとcommand + D を1回押せば1文全て一瞬で削除できる。

 def season # ⇦メソッドを作成。その中に下の季節が入っている
   puts "spring"
   puts"summer"
   puts "fall"
   puts "winter"
 end
   season # ↑の季節を全て呼ぶにはメソッド名で呼べる 
          #出力結果 spring summer fall winter 

  end

1.インスタンスメソッドとは?

クラスの中で定義されたメソッドをインスタンスメソッドと呼ぶ

class Year
 def season # ⇦インスタンスメソッドを作成。
   puts "spring"
   puts"summer"
   puts "fall"
   puts "winter"
 end
  year = Year.new    #変数の中にクラス名.newを代入する
  year.season      #インスタンスメソッドの呼び出し 変数.メソッド名
                     #出力結果 spring summer fall winter 
  end

1.クラスメソッド

メソッドを定義する際に def クラス名.メソット名で定義する

class Year
 def Year.season # ⇦クラスメソッドを作成。
   puts "spring"
   puts"summer"
   puts "fall"
   puts "winter"
 end
  Year.season      #クラスメソッドの呼び出し クラス名.クラスメソッド名
                     #出力結果 spring summer fall winter 
  end

2、3つの違いまとめ

メソッド名 記述方法 呼び出し方
メソッド def 好きな名前 メソッド名
インスタンスメソッド クラス内でdef 好きな名前 変数=クラス名.new の後に変数.インスタンスメソッド名
クラスメソッド クラス内でdef クラス名.好きな名前 クラス名.メソッド名

データベース概要

データベースとは データの集まりのことである。 例えるならAmazonでいうと商品を保管する「倉庫」みたいなものニュアンスです。 

どうやってデータベースからデータを引き出したり、削除したり、移動したりするの? → DBMS(データベース管理システム)に指示をしてデータベース(倉庫)の整理をさせる。 DBMSは例えるなら「倉庫の責任者」 ただ一つ問題があってそのDBMS(責任者)はSQL(中国)後しかわからないので。 データベースを操作するためにはSQLという言語を学ぶ必要がある。

誰がSQL(中国)語を使ってDBMS(責任者)に命令するの? →人間か自動で動くプログラム。 人が一回一回SQLを使ってDBMSに命令するのは非効率なのでプログラムがSQLを使って操作をするのが一般。

インスタンス変数とは?

共有しようと思った経緯

私は今rubyを勉強して約2〜3週間なのですがたくさん出てくる新しい用語にあまり理解せずに勉強を続けていました。 しかし、曖昧に理解することは『想定外のエラーを招く可能性が高くなる』という危機感を感じました。また私と同様な学習をしている方がいるかもと感じましたので共有させていただきます。

解決したいこと

インスタンス変数を子供にでも理解できるように説明できるようにする

インスタンス変数とは?

⇨特殊な変数です。 何が特殊かというと↓

ローカル変数との比較

変数 書き方 特徴
ローカル変数 変数名 定義した場所からメソッド定義が終わるまで
インスタンス変数 @変数名 クラス内で定義されているインスタンスメソッドならどこでもok

コードで見てみよう

class User
def initialize(name)
  @name = name
# ↑@nameインスタンス変数
  end 

  def hello 
  puts "i am #{@name}"#@nameを定義したメソッド外でも使える
end

user = User.new('mike')
user.hello # i am mike

#----略----

まとめ

インスタンス変数は「特殊な変数』です。

クラス内のメソッドの中ならどこでも呼べる

@変数名で定義する