何を見て勉強すればいいの？という方へ。

# はじめに
今までフロントエンド→インフラと経験してきた
社会人3年目(エンジニアとしては2年目)の自分が、
勉強していく中で参考になったサイトなどをまとめます。

# リンク集
## 学習系全般
### [Ping-t](https://ping-t.com)
LinuC/LPIC、Oracle Master Bronze、ITパスポート、ITILなど検定を勉強できるサイトです。
特に、
・Webサーバーなどに少しでも関わりのある人は、LinuC/LPICを学習してLinuxの基礎を学びましょう。
・データベースに少しでも関わりのある人は、Oracle Master Bronzeを学習しましょう。
それ以外の項目については言うまでもないかと。
自信がついたら実際に受けてみるのもいいですが、受験料が高いのでお財布と相談。

### [paiza](https://paiza.jp)
プログラミング学習サイト兼求人サイトです。
広告などでよく出てくる、女の子と勉強できるプログラミング学習サイトです。
スキルチェックというテストのような項目では、解けば解くほど求人倍率が上がる！的な機能もあるらしいです。（自分は求人サイトとして利用したことはありません。）
（Bashは、ワンライナー（1行で処理を書く）でないとエラーになる？かもしれません。）

### [「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典](https://wa3.i-3-i.info/index.html)
わからない用語などがあったら調べると思います。
でも、難しい解説しかないってことも結構あります。
このサイトでは、要点だけをまとめて、かなりわかりやすく解説してくれています。

## 言語習得関連
### [AtCoder](https://atcoder.jp/?lang=ja)
Qiita内でもよくランキングに載っている、いわゆる「競技プログラミング」のサイトです。
AtCoderでは難易度ごとに問題が用意されているので、初心者から上級者まで誰でも楽しめると思います。

自分の使い方は少し間違っているかもしれませんが、学習のためにどのように利用するのかを少し。
最初、言語習得のためにプログラミング学習サイトなどで勉強すると思います。
しかし、実際に要件に対して自分で考え、コーディングするとなると経験が必要になってきます。
”自分で考える”というロジックを考える力を身につけるために、同じ得点の問題をひたすら解きましょう。
過去問では、マイナー言語でない限りは他の人が書いたコードなども見れるので参考にしてみて下さい。
（[AtCoder Scores](https://atcoder-scores.herokuapp.com)などの外部ツールを使うと過去問から同じ点数の問題を列挙してくれるのでわかりやすいです。）
※しかし、速度重視で書かれているコードが多いため、可読性が低いコードも存在します。

### 言語学習系サイト
学習系サイトは海外を中心に色々なサイトがありますが、あまりオススメしません。
理由はいろいろあります。

* テンプレを当てはめれば終わる
* 問題を解いたら満足する
* 想像力・応用力がつかない

とはいえ、自分も下記サービスは(最後の2つを除き)ほとんど遊び尽くしました。
他にもいろいろなサイトがありますが、まとめサイトがたくさんあるのでここでは自分が利用したものだけ。
<dl>
  <dt>[Codecademy](https://www.codecademy.com/)</dt>
  <dd>昔はバグもありましたが、初学者にはかなりオススメでした。有料になっちゃいましたが。</dd>
  <dt>[JEEK](https://jeek.jp/school/programming)</dt>
  <dd>Codecademyの日本語版のようなサイトでした。今はなくなった？</dd>
  <dt>[HackerRank](https://www.hackerrank.com/)</dt>
  <dd>考えて解くタイプの学習サイト。答えがすぐに見つかるのでカンニング癖がある人はオススメしない。項目が少ないのが欠点。</dd>
  <dt>[Codecombat](https://codecombat.com/)</dt>
  <dd>ゲームを攻略する感覚で学習できるサイト。海外にはゲーム系サイトが多いが、”学習<ゲーム攻略”とならないように注意。</dd>
  <dt>[Elevator saga](https://play.elevatorsaga.com/)</dt>
  <dd>JavaScriptで効率的なエレベーターを作るサイトです。単純ですがいろいろなロジックを考える必要があるので応用力がつくと思います。</dd>
</dl>
ここでは紹介しませんでしたが、最近は[ドットインストール](https://dotinstall.com/)が一強なんじゃない？って思ってます。
動画ですが、要点毎にまとめられていて塾のように学べるので、
英語のドキュメントを読むとアレルギー症状が出そうな人にはオススメです。（とはいえ本格的に学ぶと見ないといけなくなりますが。）

## インフラ系
### [CentOSで自宅サーバー構築](https://centossrv.com)
CentOSの構築に関して、かなりわかりやすくまとめられているサイトです。
サードパーティ製アプリについても解説されています。（少し情報が古い内容もあるので過信は禁物。）
Linux全般に言える話ですが、解説サイトは必ずバージョンや投稿日などがなるべく新しいものを見て下さい。良いサイトでも内容が古くては意味がありません。

### [小悪魔女子大生のサーバエンジニア日記](http://co-akuma.directorz.jp/blog/)
インフラに関連した内容がまとめられているブログです。
かなりゆるふわしていて、読んでて疲れてしまう人もいるかも知れませんが、とてもわかりやすくまとめられています。
書籍化もされているので、興味がある方は購入して読んでみて下さい。

## AWS関連
### [Amazon Web Servicesブログ](https://aws.amazon.com/jp/blogs/news/)
AWS公式のサービス紹介ブログです。
新機能追加や東京リージョンの公開などの情報をいち早く知ることができます。
また、忙しい方向けに週刊AWS（1週間の内容をまとめて紹介）もあります。

### [DevelopersIO - AWS](https://dev.classmethod.jp/category/cloud/aws/)
AWSのサービス解説といったらクラメソさん。
ほぼすべてのAWSサービスの解説や構成例などを公開しています。
勉強にAWSを利用している方から、業務に利用している人まで幅広く活用できると思います。

## セキュリティ関連
### [GMOグローバルサインブログ](https://jp.globalsign.com/blog/)
SSL証明書を発行しているGlobalsignのセキュリティ系のブログです。
更新頻度は遅めですが、どの記事もWebサイトを運用する上でかなり重要です。
常時SSL化の流れが進んでいる今、知っている方も知らない方も、興味が無い方も関係ないと思っている人も、全員1度は読んだほうが良いと思います。

### [SSL/TLS暗号設定ガイドライン](https://www.ipa.go.jp/security/vuln/ssl_crypt_config.html)
SSLを完全に理解するためにはIPAのガイドラインを読みましょう。
かなり内容は多いですが、とても重要な内容が書かれています。
暗号化の仕組みなどは覚える必要はありませんが、脆弱性のある暗号化方式などは覚えたほうが良いと思います。

## いろいろ試す場所など
### [paiza io](https://paiza.io/ja)
上で紹介した、paizaのWeb環境です。
利用できない機能などもありますが、試す程度なら十分に使えるサイトだと思います。

### [Wandbox](https://wandbox.org)
有志開発のWeb環境です。動作も早くAtCoderと相性が良いです。
とてもシンプルなサイトです。

### [DevDocs](http://devdocs.io)
言語やアプリケーションのドキュメントがまとめられているサイトです。
よく使う項目などを保存させておけば、自分に合った辞書が完成します。

### [sute.jp](https://sute.jp)
使い捨てメールアドレスをすぐに発行できる。
24時間だけ使えるメアドが登録不要で使えるので、なにかのテストをするときなどに使えます。
（外部サービスなので、重要なものや秘匿情報などは送信しないほうが良いです。）

### [BadSSL](https://badssl.com/)
証明書のエラー例を実際に表示してくれるサイト。
NoCommonNameやNoSubjectは正直びっくりしました。（実際に発行はできないと思いますが、エラーにならなかったので）
nginxで動いているみたいです。設定例がGitHubで公開されています。

### [httpbin.org](https://httpbin.org/)
HTTPリクエストなどが試せるサイト。
ステータスコードごとの画面表示などを実際に試すことができたり、APIを開発する際に使えそう？な項目もあったりします。docker環境であれば、インストールして試すこともできます。

# 最後に
インフラの知識を身につけるためには、実際にサーバを作ってみるのが一番早く覚えられます。（ブログを作ったり、ゲームのサーバーを立ち上げたり、好きなことをしてみて下さい。）
一番オススメなのは、さくらVPSを契約して構築する方法です。
月1000円くらいで構築できるうえ、スペック不足だと感じた時はスケールアップが簡単にできます。

かなりざっくりと説明を付けていったので、間違っている箇所などあると思います。
気が向いたら追加していく予定です。

(7/5追記)
まさかランキングに掲載されるとは思わなかったです！
また、コメントもありがとうございます！！
「こんなサイトもいいですよ」なものがありましたらコメントで言っていただけると嬉しいです！

(9/26追記)
AWSの項目を追加しました。
個人用のリンク集として投稿しましたが、多くの方からストックやいいねをいただき本当にありがとうございます！