Closed18

📍新しく学んだこと(2023年4月~2023年6月分)

akariakari

最近新しく学んだことをまとめていきます〜!
ある程度溜まってきたら、カテゴリごとに記事にする予定です!
間違っていたり補足事項があれば、お気軽にコメントしてください〜💁‍♀️

akariakari

Vagrant(ベイグラント)

  • Dockerみたいな感じ
  • Dockerはコンテナ用、Vagrantは仮想マシン用
  • Vagrantを使うと、VMwareやVirtualboxなどの仮想マシンを簡単なコマンドで管理できる

コマンド

  • vagrant init : Vagrantfileの作成
    • 初回のみ必要なコマンド
  • vagrant up : 仮想マシンの構築と起動
    • 初回は構築と起動で、2回目以降は起動のみ
  • vagrant halt : 仮想マシンを停止
    • PCをシャットダウンする前に毎回仮想マシンを停止しておくこと!

参考

https://kitsune.blog/linux-environment
https://e-words.jp/w/Vagrant.html

akariakari

スタブ

  • テスト用に用意した、まだ完成していない機能の代わりとなる部品
  • テスト対象(上位モジュール)から呼び出される

スタブとモックの違い

スタブ

  • 上位モジュールが下位モジュールを「正しく呼び出せているか」を確認する
  • オブジェクトやメソッドを、決められた値を返すように置き換えたもの

モック

  • 上位モジュールが下位モジュールに対して「おこなった出力が正しいか」を確認する
  • スタブの機能に加えて、オブジェクトやメソッドを実行せずに呼び出し回数や引数が意図通りか確認するもの
  • スタブはテストを効率よく進めるためのツールという位置づけであるのに対し、モックはテストコードの一部と表現できる

参考

https://service.shiftinc.jp/column/8057/
https://qiita.com/k5trismegistus/items/10ce381d29ab62ca0ea6
https://takuma-it.com/stub-mock/

akariakari

CORS(コルス)

  • Cross Origin Resource Sharing の略
  • "オリジン間リソース共有"と訳される

オリジンとは

  • URLのプロトコル(スキーム)、ドメイン(ホスト)、ポート番号によって定義される
  • プロトコル、ドメイン、ポート番号がすべて一致した場合のみ、2つのオブジェクトは「同じオリジンである」といえる

  • http://example.com:8080/test1/index.html

  • http://example.com:8080/test2/index.html
    👉 同一オリジン

  • http://example.com:8080/test1/index.html

  • https://example.com:8080/test2/index.html
    👉 プロトコルが違うので、同一オリジンではない

参考

https://developer.mozilla.org/ja/docs/Web/HTTP/CORS
https://developer.mozilla.org/ja/docs/Glossary/Origin
https://e-words.jp/w/CORS.html
https://zenn.dev/syo_yamamoto/articles/445ce152f05b02

akariakari

YAML

  • 分かりやすいデータシリアライズ言語
  • 設定ファイルの記述に使用されることが多く、あらゆるプログラミング言語に対応している
  • JSONの完全な上位版
  • 改行とインデントが明確な意味を持つ
  • インデントにタブは使用できない(代わりにスペースを使用する)

RAML

  • YAMLベースのモデリング言語
  • RESTfulAPIを設計するために使用される
  • 検索しても、あんまり記事が出てこない...🙁

参考

https://circleci.com/ja/blog/what-is-yaml-a-beginner-s-guide/
https://www.redhat.com/ja/topics/automation/what-is-yaml
https://e-words.jp/w/シリアライズ.html
https://blog.vsoftconsulting.com/blog/what-is-raml
https://www.redhat.com/ja/topics/api/what-is-a-rest-api

akariakari

JSON

  • JavaScript Object Notationの略
  • JavaScriptから派生したが、言語に依存しないデータ形式
  • データを保存したり転送したりするときに使用する

JSON.parse()

  • JSON文字列 → JavaScriptオブジェクト に変換する
  • JSON.parse(text)
    • text: JSONとして解析する文字列

JSON.stringify()

  • JavaScriptオブジェクト → JSON文字列 に変換する
  • JSON.stringify(value)
    • value: JSON文字列に変換する値

参考

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON
https://ja.javascript.info/json
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

akariakari

小数の処理 / JavaScript

Math.floor()

  • 小数の切り捨て
console.log(Math.floor(3.95)); // 3
console.log(Math.floor(-5.35)); // -6になる!😳

Math.ceil()

  • 小数の切り上げ
console.log(Math.ceil(0.95)); // 1
console.log(Math.ceil(4.2)); // 5
console.log(Math.ceil(-7.005)); //  -7

Math.round

  • 四捨五入
console.log(Math.round(0.9)); // 1
console.log(Math.round(5.95)); // 6
console.log(Math.round(-5.05)); // -5

参考

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/round
https://www.javadrive.jp/javascript/math_class/index3.html

akariakari

Array.prototype.includes()

  • 特定の要素が配列に含まれているかtrue/falseで返す
const pets = ['cat', 'dog', 'rabbit'];
console.log(pets.includes('cat')); // true

Array.prototype.indexOf()

  • 呼び出すStingオブジェクトの中で、指定された値が最初に現れたインデックスを返す
  • 値が見つからなければ-1を返す
const p = 'I am Akari';
console.log(p.indexOf('Akari')); // 5
console.log(p.indexOf('Ken')); // -1

参考

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

akariakari

オブジェクトの要素数を取得する / JavaScript

  • オブジェクトには.lengthを使用できない
  • 👉 Object.keysを利用して、要素数を取得する!
const obj = {
  'a': 'dog',
  'b': 'cat',
  'c': 'cow',
};

console.log(Object.keys(obj).length); // 3
// Object.keys(obj)で、objを配列にして返している!
akariakari

絶対パスと相対パス

絶対パスとは

  • ディレクトリの頂点から、目的のファイルまでの道筋を省略せずに表記する方法
  • 例:https://xxx.co.jp/img/logo.png
  • 外部サイトへのリンクを自分のサイトに記載したい場合は、必ず絶対パスを使用する

相対パスとは

  • 現在作業しているファイルの場所から、目的のファイルまでの道筋を表記する方法
  • 例:../img/logo.png
  • ./は同じ階層を表す(省略可)
  • ../は1つ上の階層を表す
  • ../../は2つ上の階層を表す

参考

https://fastcoding.jp/blog/all/frontend/path/
https://and-engineer.com/articles/Y1fGpxAAAAt07ZlQ
https://www.ycomps.co.jp/staffblog/16101

akariakari

ローカルストレージとは

  1. 手元のPCに内蔵されている、または直に繋がれたハードディスクなどの外部記憶装置(ストレージ)のこと。
  2. Web Storegeの規格の一つ。Cookieに似た仕組みで、JavaScriptなどのプログラムが扱うデータを、PC上の専用の保存領域に記録できる。

ローカルストレージ(2)の使い方

https://webliker.info/web-skill/how-to-use-localstrage/#:~:text=きましょう。-,Localstorage(ローカルストレージ)の使い方,-ローカルストレージの

参考

https://e-words.jp/w/ローカルストレージ.html
https://wa3.i-3-i.info/word13183.html

akariakari

変数や関数のネーミングについて

👇参考にしたい記事
https://qiita.com/YutaManaka/items/62dda256bb7ba6c08399
https://qiita.com/jnchito/items/3815a755b889b64a1840
https://qiita.com/jnchito/items/459d58ba652bf4763820
https://qiita.com/kaizen_nagoya/items/9de6d47c47e2c211222b
👇使ってはいけない・使わない方がいい言葉が載っていて嬉しいやつ
https://qiita.com/Ted-HM/items/7dde25dcffae4cdc7923
👇英語について、日本語ネイティブが勘違いするポイント(仕組み?)がすごく分かりやすいと思った…
 ロードバランサーの部分とか、アルミ缶の上にアルミ缶の話とか…
https://zenn.dev/ccccc/articles/5a60336f54f429

このスクラップは2ヶ月前にクローズされました