用語 - iosysRyoKoyasumi/learning GitHub Wiki

Git

Git-flow

参考記事:https://qiita.com/KosukeSone/items/514dd24828b485c69a05 "A successful Git branching model"というブランチモデルの導入を簡単にするgitプラグインのこと

master

プロダクトとしてリリースする用のブランチ

develop

開発用ブランチ。コードが安定してリリース準備が出来たらmasterへマージする

feature branches

developから分岐して機能を追加する用のブランチ。

GitとSubversionの違い

参考記事:https://www.ricksoft.jp/blog/articles/001410.html

Git

分散方バージョン管理システム メリット

  • リモートリポジトリを作成できるので、自分だけの環境で細かいバージョン管理ができる
  • サーバーのリポジトリが障害等で消えてしまってもローカルから直近のリポジトリに復元することができる デメリット
  • 覚えることが多い

SVN(Subbersion)

集中方バージョン管理システム サーバーのリポジトリを直接コミット/チェックアウトして弄る メリット *仕組みが直感的 デメリット

  • バージョン管理が個人でできない
  • 複数人でコミットを行うとバージョン管理が大変になる

DB

HAVINGとは

参考記事:https://qiita.com/n_yamadamadamada/items/598a5836fab0a952214b 「GROUP BY」で集約した結果に対し、条件を指定できるクエリ

SELECT
    カラム1,
    カラム2,
    ・・・
FROM
    (テーブル名)
GROUP BY
    (カラム1),
    (カラム2),
    ・・・
HAVING (グループの値に対する条件)
;

WHERE句は「GROUP BY」の前に実行される。HAVINGとWHEREで同じ結果になることが多いが、迷ったらWHERE句を利用する。(WHERE句のほうが実行時間が短いため)

用語系

Linuxコマンド

参考記事:https://qiita.com/nokonoko_1203/items/35c4078bf72cffb16171

docker

参考記事:https://qiita.com/michiru-miyagawa/items/fb41563df9dc98fdf549 開発用PC内に仮想環境作成するもの 仮想マシンにはホスト型、ハイパーバイザー型、コンテナ型が挙げられるがdockerはコンテナ型。コンテナ型は他と比較して動作が軽くコストパフォーマンスに優れている点がメリット。

CookieとSessionの違い

参考記事:https://qiita.com/Ayana__1108/items/9ff5314f440c4d986751 HTTPはステートレス(サーバーがクライアントの状態を覚えず毎回新たなリクエストとして処理される仕組み)のため、CookieやSessionを用いて情報を記憶する必要がある

Cookie

  • 直接ブラウザに保存される
  • 有効期限を任意で設定できる
  • 保存容量は約4KB
  • ブラウザに保存されるためユーザーからの書き換えが可能
  • https接続を利用し、暗号化させる等のセキュリティ注意が必要

Session

  • サーバーに保存される
  • ブラウザが閉じられたら終了
  • 保存容量は無制限
  • サーバー側に保存されるためセキュリティ面でのリスクは比較的少ない

認証と認可

参考記事:https://solution.kamome-e.com/blog/archive/blog-security-20211021/

認証

通信の相手が誰であるのかを利用者本人の確認・特定すること パスワードや顔認証、近年だとSMS認証が挙げられる。

認可

対象物を利用可能にする権限を与えること

IDEとは

参考記事:https://www.redhat.com/ja/topics/platform-engineering/what-is-ide アプリケーション開発に必要な開発者ツールを一つのGUIにまとめたソフトウェアプログラミング環境のこと。 <例>VSCode、eclips等

Go中級編

go-playground

参考記事:https://tech.yappli.io/entry/go_validate 構造体に直接バリデーション条件を付けることができる。また、カスタムバリデーションの作成も可能。

swagger

参考記事:https://qiita.com/y_matsuwitter/items/3a847c22bbb84d9dff98 Swagger(OpenAPI)の仕様記述からGo言語のサーバーサイドコードを自動生成するツール