目次
- 開発手法
- AWS
- SQL
- Ruby
- Linux
- セキュリティ
- その他
気になった用語を羅列しています。
随時追記予定です。
開発手法
ウォーターフォール
要件定義→基本設計→詳細設計→実装→テスト
といった流れに沿って一方通行で開発を進めていく。
日程感やリソースの配分といったプロジェクトの管理のしやすさが特徴。
一方、要件定義漏れなどによりさかのぼる場合のコストがとても高い。
アジャイル
システムを小さく作り、徐々に機能を追加していく開発手法。
全ての仕様を備えた完品を作ってから引き渡すウォーターフォールモデルとは対比して語られやすい。
柔軟な対応が可能であることが一番の特徴。スマホアプリなどの開発に向く。
反対にスケジュール感が曖昧になったり方向性がぶれるなど管理面が課題。
AWS
EC2
クラウドサーバの構築・運用を行えるサービスのこと。
EC2インスタンスとはEC2で立ち上げたサーバを指す。
EBS
EC2インスタンスに紐づくストレージサービス。
安定的で耐久性の高い仕組み、使いたいときに使いたいだけ使えるという柔軟性が特徴。
RDS(Relational Database Service)
AWSが提供するデータベースサービスのこと。EBSと同様、その堅牢さ、拡張性・柔軟性に特徴がある。
RDBは(Relational Database)なので注意。
EIP
IPアドレスを固定するための仕組み。
ロードバランサー
高いアクセス負荷に対応するための仕組み。一つのサーバーで集中的に受け持つのではなく、複数のサーバーに振り分けて負荷分散させる。
SQL(特徴)
MySQL
- オープンソース(無償利用可能)
- 対応OSが多い
- AWSのデフォルトのRDB
PostgreSQL
- オープンソース(無償利用可能)
- 商用並みの機能
- CPUの並列処理可能(高速化)
- 他ソフトウェアとの連携(拡張性あり)
- サポートサービスがある(?)
Oracle Detabase
- 高い堅牢性
- DBへの同時アクセス性能
- 拡張性の高さ
- 高価
- MySQL、PostgreSQLと比較して複雑な処理が可能
Ruby
Ruby on Rails
DRY:同じことを繰り返さない
CoC:設定より規約
MVCアーキテクチャー
Rubyのフレームワークとしては圧倒的なシェアを誇る。
Sinatra
MVCアーキテクチャーを利用しない。柔軟性の高さが特徴
Linux
Linuxカーネル
狭義のLinux、LinuxOSの中でも中核部分を指す。具体的には下記2つの役割を持つ。
・アプリケーションからの要求に応えること。
・ハードウェアからの応答をアプリケーションに伝えること。
スペシャリスト。シェルから受けた指示を超速でこなして値を返す。
シェル
Railsでいうコントローラーのイメージ。リクエストを受けて、カーネルに渡す、返ってきたものを出力させる。
オペレーター、取次役のようなイメージ。
代表的なシェルにsh,bash,zshなど
ターミナル(ターミナルエミュレータ)
黒い画面。役割は入出力のインターフェース。
その中でシェルが働いて実行、処理を行う。
Linuxディストリビューション
広義のLinux。基本的なコマンド、アプリケーションを含んだもの。
CentOS
Red Hat系のLinuxディストリビューション。特徴は、
1.無償
2.有償であるRedHatのクローン。高品質。
3.企業のサーバによく取り入れられている。
Ubuntu
Debian系のLinuxディストリビューション。特徴は
1.無償
2.とにかく使いやすい
3.日本語翻訳チームがある
ディレクトリ
| 名称 | 意味 |
|---|---|
| ルートディレクトリ | ディレクトリの大元 |
| ホームディレクトリ | ログイン時の場所 |
| カレントディレクトリ | 現在位置 |
セキュリティ
SQLインジェクション
ウェブサイトの脆弱性を突いてSQLを実行、結果としてデータの改ざんや抜き取りが行われる。
CFRS(クロスサイトリクエストフォージェリ)
ウェブサイトにログインした状態で罠を踏むと、その権限内で行える操作により悪用される。
例えばECサイトなら閲覧者が大量に商品を購入させられてしまう、SNSなら身に覚えのない投稿が行われるといった被害が考えられる。
その他
環境変数
OSが持つ環境変数と、各ユーザが持つ環境変数に分かれる。
変数はあくまで変数なので、PC名などの情報を入れる箱であることには変わりない。
どこでも使える環境変数か、ある環境下でしか使えない環境変数かというイメージ。
RPA
人間が行う処理をそのままコンピュータになぞらせることで実現する省力化の仕組み。
リファクタリング
コーディングにおいて、ふるまいを変えずに内部処理を変えること。
文章を推敲して色々な言い方を試すイメージ。
誰が扱っても分かりやすい簡潔なコードとすることを目的とする。
ガベージコレクション
一時的に使っていた変数などの記録(ゴミ=ガベージ)が残り続けてメモリ使用率が上がっていくのを防ぐ仕組み。具体的にはファイルを走査し、いらないメモリを解放する。
ただし、処理としては重たいため、この仕組みを使わずに"オブジェクトを使いまわす"ことで圧迫を防ぐ方法もある。
参照
ディレクション
管理という意味ではマネジメントと同義。ディレクションの方がより狭い範囲での管理。
ディレクション
…現場の業務進行、日程調整などの管理(メンバーの指導なども含む)
マネジメント
…数字の管理など、経営的観点における管理
参考
https://next-sfa.jp/journal/skill/direction/
https://www.kagoya.jp/howto/it-glossary/security/sql-injection/
https://qiita.com/uguis410/items/17ec1e447e9716bfdca7
https://qiita.com/jeyei/items/2c385e4e0488a5fa2591