ume

Ruby 復習

目次

  1. オブジェクト
  2. クラスとは
  3. インスタンスとは
  4. メソッドとは
  5. メソッドの使い方
  6. メソッドの種類

オブジェクトとは

⇨データを表現するための単位をオブジェクトという。  例 print(“Hello Ruby”) データ=””で囲われたもの ”Hello Ruby”がデータ(オブジェクト)である。 魚を数えるとき1匹2匹って数える データを数えるとき、1オブジェクト(Hello Ruby)2オブジェクト(Hello Ruby)みたいな感じで表現する。

クラスとは

⇨オブジェクトの種類 を表すものをクラスという オブジェクトがどのような性質を持つかはオブジェクトが属するクラスによって決められる 例  ポケモンで例えると オブジェクト=ある同じタイプのポケモン名 クラス=ポケモンのタイプ  例 

インスタンスとは 

⇨オブジェクトと同じ意味 例 ❌❌クラスのオブジェクトのことを『❌❌クラスのインスタンス』という。rubyではすべてのオブジェクトは何かのクラスのインスタンス。stringクラスのオブジェクトのことをstringクラスのインスタンス

例 print(“Hello Ruby”)  ()⇦括弧内がオブジェクト 種類は文字列のオブジェクト どうやってオブジェクトの種類を見分ける? ⇨文字が””で囲われていたら文字列のオブジェクト ⇨””なし数値のオブジェクト

メソッドとは?

⇨オブジェクトを扱うための手続き print()がメソッド メソッドの役割⇨数値を使って足し算や掛け算をしたり文字列同士を繋げたりなど print()の意味は()内のオブジェクトを表示してっていう手続き。 print()の()は省略してprint ”Hello Ruby”としても良い

メソッドの使い方

オブジェクト.メソッド名(引数1,引数2,) このときのオブジェクトをレシーバと呼ぶ。 理由メソッドを実行することを『オブジェクトにメッセージを送る。』その結果として『オブジェクトはメッセージを受け取る(receiveする)』と考えるからこの名前がついた。メッセージと共に引数(パラメータという)もオブジェクトに送られるイメージ 

メソッドの種類

インスタンスメソッド ②クラスメソッド ③関数的メソッド

インスタンスメソッド ⇨最も一般的なメソッド メソッドの使い方で説明した オブジェクト.メソッド名(引数1,引数2,)この形のメソッドの使い方をインスタンスメソッド メソッドごとの見分け方インスタンスメソッドはオブジェクトレシーバの役割を果たす。 例 p”1,2,3,4”.split(“ , ”) #=> [“1”, ”2”, “3”, “4”]   p 1000.to_s #=> “1000” 上から文字列、数値の各オブジェクトがレシーバになっている オブジェクトに対してどのようなインスタンスメソッドが使えるかは、そのオブジェクトの種類(クラス)によって決められます。

②クラスメソッド レシーバがクラスそのものだった場合そのメソッドはクラスメソッドおいう。インスタンスを作るときにクラスメソッドは使われる。 例 Array.new ⇨新しい配列を作る  FIle.open(“same_file”)→新しいファイルオブジェクトを作る クラス名.メソッド→クラスメソッド クラス名は自分でつけることもできるし上のクラスとはの時にしたクラス名も使える。

③関数的メソッド ほんまはレシーバあるんやけど省略してるからないように見える=レシーバを必要としないメソッドを関数的メソッドという 例 メソッドとはで紹介したprintメソッドとかを関数的メソッドと言いう 例 print “hello”とか

プロキシサーバーとは?

目次

  1. プロキシサーバーとは
  2. なんで中継役をする必要があるのか?

プロキシサーバーとは

⇨内部(青の枠線)ネットワークのpc と外部ネットワークの通信の中継役をする存在がプロキシサーバー

なんで中継役をする必要があるのか?

理由は大きく分けて2つ ①キャッシュ⇨一度アクセスしたデータを一時的に記憶することで次の同じデータへのアクセスを高速化する機能 実は1つのwebサイトの情報とってきてブラウザーに表示するためにめっちゃたくさんのファイルをダウンロードしてきてる毎回アクセスするとダウンロードするとサーバーに負荷がかかる

②コンテンツフィルタリング 有害なwebページへのアクセスを規制できる⇨ボディガード的な存在 →例えば家で見れたオークションのページでも会社のパソコンではアクセスできないようにすることもできる

目次

  1. OSSとは
  2. OSSを詳しく見てみよう
  3. なぜ企業はオープンソースを世界中に公開するのか?

OSSオープンソースソフトウェア)とは

⇨企業とかが作ったシステムやサービスプログラムが書かれているソースコードを全世界に公開(無償で利用、修正とか誰かに教えててもいいよと)すること=オープンソースともいう。 そのコードはどこで見れるん?⇨Git hubで企業のコードとか管理されている。

OSSを詳しく見てみよう

どんな感じでOSS開発が行われているのか OSSがgit hub上に公開されていて以下の人たちが関わっている ①オーナー ⇨OSSを所有している人=社長

②メンテナー ⇨OSSにどんな修正を加えるのか。またどんな機能を追加していくのかなどを決める人⇨会社の役員みたいな感じ

③コントリビューター ⇨ユーザーの中の意識高い系の人達 その無料で公開されているOSSにこんな機能欲しかったから追加したから反映させてよーと  サービス向上の意見を言ったり、このOSSのこの部分壊れてたから報告するねーと上に伝えたりする

例えば グルナビのOSSだとしてもグルナビ社以外の人たちがサービス向上のために意見を言ってくれたり 機能追加してくれたりする

④ユーザー(コミュニティメンバー)=業務委託の人たち的なイメージ ⇨オープンソースを使う人 またこういう機能欲しいんですけどーみたいなことを言う人ら 

なぜ企業はオープンソースを世界中に公開するのか?

→複数のメリットがある ①自社ソフトウェアのユーザーが増えるとメンテナンスコストが分散される。 ⇨例えばグルナビでサービス作ってそのコードを公開すると便利だったら他の企業の人も使ってくれる。そうなると自社の人たちでは気づかなかったバグの発見や修正をしてくれる確率ががる

目次

  1. SSHとは? 1.ほぼ同じ機能を持ったTelnet(テルネット)との違い
  2. どういった時にSSHを使うのか?
  3. パスワード認証と公開鍵認証とは?

SSHとは?

⇨ネットワークをかいして別のコンピュータを安全に遠隔操作するためのツール⇨エンジニアがwebサーバーを操作するときの仕組み 映画に出てくるハッカーみたいに遠隔操作で防犯カメラの映像切ったりできるイメージ SSHと同じ機能を持ったTelnet(テルネット)もある。

ほぼ同じ機能を持ったTelnet(テルネット)との違い

⇨暗号化 あるかないか SSH    あり Telnet なし 暗号化=pcとサーバーでデータのやり取りをしていて、知らない人からは情報を盗めなくする仕組みまた万が一盗んだとしても不正利用できなくする仕組み。

どういった時にSSHを使うのか?

⇨主にサーバーの設定をいじったり、メンテナンス(サーバーがダウンしたのを復旧する作業)をする場合使う。 自分のpcからリモートで操作できる

パスワード認証と公開鍵認証とは?=本人確認

SSHでサーバーに接続する方法は2つある ①パスワードでログイン

②公開鍵認証(公開鍵と秘密鍵を使ってログイン) 公開鍵と秘密鍵とは? 簡単にいうと 2本の鍵があってサーバーとpcが一本ずつ持っていて Pcがサーバーにアクセスするたびにサーバーがpcに対して本人確認するから鍵見せてーと尋ね 持っていたら⇨サーバーに接続できる 持っていない⇨サーバーに入れない

具体的なそれぞれの役割 秘密鍵(pcが持っている) ⇨電子署名(鍵付きの手紙のイメージ)というデータを作ることができる。この手紙の中身は暗号化されたパスワード 公開鍵(サーバーが持っている鍵) ⇨電子署名データの鍵を開ける

クラウドとは?

目次

  1. クラウドとは?
  2. クラウドサービスとは?

クラウドとは?

⇨ネット空間にデータを保管管理したり、またサービスを利用させてもらうこと 今まではデータを保管する時自分でデータを保管管理しないといけなかった。例 iphoneで写真いっぱい撮る⇨携帯の容量がいっぱいになる⇨パソコンや別の機器に写真のデータを移し自分の携帯の容量を開ける これはめんどくさい これからはクラウドというインターネット内の空間(例icloud) に携帯のデータがいっぱいになったらデータをクラウドに上げることで自分でデータを管理する必要はなくなった。

クラウドサービスとは?

⇨インターネットを通じて提供されるサービス クラウドサービスには3つの種類がある↓ SaaSとは? ⇨アプリ作るための工程全部10だとしたら10割やってくれる、完成品くれたや。あとで少し自分らでカスタマイズするわってサービス 例 Gmail 主に個人と法人両方が使うサービス イメージとしては外食 食べるだけ

PasSとは? ⇨アプリ作るための工程全てを10と仮定した場合半分の5割の工程をやってくれるサービス(ハードウェア、os,ミドルウェア) 法人向けサービス イメージ 冷凍食品 あとはレンジでチンしてさらにもるだけ

laaS あいアース ハードウェアとインフラ領域を提供してくれるサービス イメージ調理器具 料理するための準備

ライブラリーとフレームワークの違い

ライブラリーとは  ⇨関数をまとめたもの  つまりライブラリーを使うとは複数の関数を使うということ イメージとしては家具一式(テーブル、椅子、ソファーなど)

フレームワークとは ⇨モデルハウスのようなもの 家具一式+家 家具を揃える必要もなくある程度の完成品ができていること

Cookieとは?


はじめに

目次

  1. Cookieとは?
  2. Cookieがないとどういうことになるのか?
  3. Cookieのメリット
  4. 補足

Cookieとは?

ブラウザーにユーザー情報(テキスト情報)を一時的に覚えておくための仕組み Amazonで言うと気に入った商品をカートに入れてアプリを閉じても次アプリを開いた時にカートのにお気に入りの商品が残っている状態なのはクッキーという仕組みがあるおかげ。

クッキーがないとどういうことになるのか?

例 amazon 左 私たち

右 サーバー

左 Amazonのサイト見せてーとお願いをする

右 わかったーamazonのサイトこれだよー

その後に amazon内でプロテインの商品を見つけその詳細が知りたくなり 商品をクリックすると 2回目のアクセス つまりhttpの通信では1回1回の処理が終わると サーバーとの通信が途切れるから処理が終わるたびに。あなた誰状態になりログインしないとあかん。⇨そこで開発されたのがクッキー。

クッキーのメリット

自分のことを覚えておいてくれる。 持続的な通信が可能になり便利

 補足

テキスト情報=ユーザーidやパスワードなど個人を特定するもの

ブラウザー=WEBサイトを閲覧するために使うソフトのこと 例 applesafarigooglegoogle Chromeなど