# 楽天証券様 スキル体系

## 基本情報の中でも特にエンジニアとしてやるべきこと
- (書籍) [令和02年 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室](https://www.amazon.co.jp/dp/4297110113/ref=cm_sw_em_r_mt_dp_86uFFb3XASGZV)
- (書籍) [キタミ式イラストIT塾 基本情報技術者 令和02年 (情報処理技術者試験)](https://www.amazon.co.jp/%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E4%BB%A4%E5%92%8C02%E5%B9%B4-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93-%E3%81%8D%E3%81%9F%E3%81%BF%E3%82%8A%E3%82%85%E3%81%86%E3%81%98/dp/4297110210/)
- [基本情報技術者試験ドットコム - 過去問道場](https://www.fe-siken.com/fekakomon.php)
### テクノロジ系
- [ ] 基礎理論
- [ ] 基礎理論
- 離散数学
- [ ] アルゴリズムとプログラミング
- データ構造
- アルゴリズム
- [ ] コンピュータシステム
- [ ] コンピュータ構成要素
- メモリ
- [ ] システム構成要素
- システムの構成
- [ ] ソフトウェア
- オペレーティングシステム
- ミドルウェア
- [ ] 技術要素
- [ ] マルチメディア
- マルチメディア技術(圧縮など)
- [ ] ネットワーク
- ネットワーク方式
- 通信プロトコル
- [ ] セキュリティ
- 情報セキュリティ
- セキュリティ実装技術
## 開発運用スキル
- [ ] バージョン管理
- [ ] セマンティックバージョニング [Qiita-「セマンティック バージョニング」を読んだのでバージョニングについてまとめた](https://qiita.com/soyanchu/items/72095a7c9fdb7f71b2c3)
- [ ] Git [公式](https://git-scm.com/), [ProGit](https://progit-ja.github.io/), [progate](https://prog-8.com/lessons/git/study/1) [入門サイト](https://backlog.com/ja/git-tutorial/), [Git練習問題](https://github.com/Gazler/githug)
- [ ] 基礎(個人利用) [入門サイト](https://backlog.com/ja/git-tutorial/intro/01/)
- init, clone
- pull, add, commit, push(fetch+merge)
- log, diff, reset, config, stash
- [ ] 応用(チーム開発) [入門サイト](https://backlog.com/ja/git-tutorial/stepup/01/) [練習問題](https://k.swd.cc/learnGitBranching-ja/)
- branch, checkout, rebase
- [ ] Gitプラットフォーム(Github)
- [ ] 基本的な使い方
- レポジトリ登録
- レポジトリやコミットの見方
- 共同編集者登録
- [ ] Issueの使い方
- [ ] Pull Requestの使い方 [入門サイト](https://backlog.com/ja/git-tutorial/pull-request/01/)
- [ ] [Gitフロー](https://tracpath.com/bootcamp/learning_git_git_flow.html)([Github Flow](https://qiita.com/tbpgr/items/4ff76ef35c4ff0ec8314))
- [ ] Webサーバ
- [ ] Apache [参考](https://qiita.com/A-Kira/items/f6fe62dbe268d1b4556b)
- [ ] Nginx [参考1](https://www.kagoya.jp/howto/rentalserver/nginx/) [参考2](https://www.yaz.co.jp/tec-blog/web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9/263)
など
- [ ] Docker(仮想化 + Infrastructure as Code) [Qiita](https://qiita.com/Michinosuke/items/5778e0d9e9c04038903c?utm_source=Qiita%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9&utm_campaign=08f34bad42-Qiita_newsletter_429_09_23&utm_medium=email&utm_term=0_e44feaa081-08f34bad42-34035049)
- [ ] 基本
- イメージのインストール
- コンテナの起動・終了 など
- [ ] 応用
- 共有ディレクトリ
- イメージの保存
- Docker Compose など
## 実装スキル
### フロントエンド
- [ ] インターネット [paiza-Web技術入門編](https://paiza.jp/works/web_tech/primer)
- インターネットはどのように機能しているか
- HTTPとは
- ブラウザの動作
- DNSとは?どのように動くか?
- ドメイン名
- ホスティングとは
- [ ] HTML
- [ ] 基本 [CodeCamp教科書-HTML/CSS](https://codecamp.jp/students/textbooks), [paiza](https://paiza.jp/works/html/primer)
- HTMLとは (文書の構造化をする物)
- タグ
- h1~h6
- p
- a
- ul, ol, li
- table, th, tr, td
- div, span
- img
- form, input
- [ ] フォームによるHTTPリクエスト
- [ ] バリデーション
- 文字数
- 数値
- 電話番号、メールアドレスなどのフォーマットのあるもの
- [ ] 慣例やベストプラクティス
- [ ] セマンティックHTML
- どういうことか? (意味で構造化)
- タグ
- section
- article
- nav
- aside
- header
- footer
- CSS
- [ ] 基本 [CodeCamp教科書-HTML/CSS](https://codecamp.jp/students/textbooks), [paiza](https://paiza.jp/works/html/primer)
- CSSの記述方法
- CSSセレクタ
- `*`, タグ, クラス, id, :not
- 疑似セレクタ
- 属性セレクタ
- [ ] レイアウトの作り方
- float, position, display
- ボックスモデル
- グリッドレイアウト
- Flexbox
- [ ] レスポンシブデザイン + メディアクエリ
- [ ] アーキテクチャ
- BEM
- OOCSS
- [ ] フレームワーク
- BootStrap
- [ ] Sass
- JavaScript
- [ ] ES6対応
- [x] 基本文法 [CodeCamp教科書-JavaScript](https://codecamp.jp/students/textbooks)
- 演算子, 変数, 条件分岐, 繰り返し, 配列, オブジェクト, 関数, クラス
- [x] DOM操作 [CodeCamp教科書-JavaScript7~8章](https://codecamp.jp/students/textbooks)
- [x] Ajax
### バックエンド
- [x] プログラミング言語
- [x] Java
- 基本文法 [paiza-Java入門編](https://paiza.jp/works/java/primer)
- 演算子, 変数, 条件分岐, 繰り返し, 配列, クラス, メソッド
- 効率化
- フォーマッター
- コード補完
- デバッグ
- デバッガー
- 机上テスト
- プリントデバッグ
- コーディング規約 [参考](https://future-architect.github.io/coding-standards/documents/forJava/Java%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E8%A6%8F%E7%B4%84.html)
- パッケージ管理
- オブジェクト指向
- データフォーマット
- CSV
- XML
- JSON
- YAML
- [x] データベース
- [x] リレーショナルDB [CodeCamp教科書-PHP/MySQL11~14章](https://codecamp.jp/students/textbooks)
- 基本 [paiza-DB/SQL入門編](https://paiza.jp/works/sql/primer), [スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)](https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8BSQL%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88-%E3%83%89%E3%83%AA%E3%83%AB222%E5%95%8F%E4%BB%98%E3%81%8D-%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E4%B8%AD%E5%B1%B1%E6%B8%85%E5%96%AC/dp/4295005096)
- CREATE
- DROP
- SELECT
- エイリアス
- WHERE + 条件式
- UPDATE
- DELETE
- JOIN
- RDBMS
- MySQL [CodeCamp教科書-PHP/MySQL12~15章](https://codecamp.jp/students/textbooks)
- ACID
- トランザクション
- [x] フレームワーク
- [x] 基本
- URLマッピング
- リクエスト、レスポンスの基本
- テンプレートの使い方
- DBアクセス(ORM)
- Cookie, Session
- アーキテクチャ
- [x] 選択
- [x] Servlet
## プロジェクトスキル(ウォーターフォール開発の場合)
- (書籍) [令和02年 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室](https://www.amazon.co.jp/dp/4297110113/ref=cm_sw_em_r_mt_dp_86uFFb3XASGZV)
- (書籍) [キタミ式イラストIT塾 基本情報技術者 令和02年 (情報処理技術者試験)](https://www.amazon.co.jp/%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%80%85-%E4%BB%A4%E5%92%8C02%E5%B9%B4-%E6%83%85%E5%A0%B1%E5%87%A6%E7%90%86%E6%8A%80%E8%A1%93%E8%80%85%E8%A9%A6%E9%A8%93-%E3%81%8D%E3%81%9F%E3%81%BF%E3%82%8A%E3%82%85%E3%81%86%E3%81%98/dp/4297110210/)
- [基本情報技術者試験ドットコム - 過去問道場](https://www.fe-siken.com/fekakomon.php)
---
- [x] 各種開発手法の概要
- [x] ウォーターフォール開発
- 各フェーズの理解
- [x] どのような開発手法を選択すべきか?
- [x] 開発工程について
- [x] 要件定義
- 目的
- 業務分析
- 主なドキュメント
- 要件定義書
- [x] 外部設計
- 目的
- 主なドキュメント
- 画面遷移図
- 画面定義書
- [x] 内部設計
- 目的
- 主なドキュメント
- ER図
- クラス図
- シーケンス図
- [x] 開発(フロントエンド、バックエンドのロードマップ参照)
- [x] テスト
- [x] 工程
- 単体テスト
- 結合テスト
- 総合テスト
- [x] 基礎
- ブラックボックステスト、ホワイトボックステスト
- 同値分割、境界値分析
- テストカバレッジ(C0~2, MCC)
- [ ] 品質管理
- 品質管理とは
- 開発におけるテスト、品質管理でのテスト
- QC7つ道具
- パレート図
- ヒストグラム
- 特性要因図
- 散布図
- チェックシート
- グラフ
- 管理図
- 信頼度成長曲線
- 障害管理