OmniAICreator/Qiita-1.07M huggingface dataset:
海外からのアクセス(IP)を拒否するhtaccessの設定

# 海外からのアクセス(IP)を拒否するhtaccessの設定

不要なアクセスを受けるとサーバーのパフォーマンスが落ちたりします。
海外のIPから無作為にアクセスを受けることも珍しくありません。
不正ログインやアクセス超過を防ぐための設定になります。

このため`.htaccess`に設定をして、海外からはサイトなどにアクセスできないような設定をします。


````ruby:.htaccess
#########  海外IPを許可しないための設定  #########

### 検索エンジンをまとめて許可するためにenv化する (Must)
SetEnvIf User-Agent "Googlebot" allowbot
SetEnvIf User-Agent "msnbot" allowbot
SetEnvIf User-Agent "bingbot" allowbot
SetEnvIf User-Agent "Slurp" allowbot

### いったん全てを拒否する (Must)
order deny,allow
deny from all

### 検索エンジンからのアクセスを許可 (Must)
allow from env=allowbot

### SearchConsoleのプロパティが確認出来るためにの対策 (使っていなければ不要)
### https://support.google.com/webmasters/answer/80553?hl=ja
allow from googlebot.com
allow from google.com

### vagrantなどのアクセス許可 (使っていなければ不要)
### vagrantなど使っていれば許可にしないと開発環境が使えないため
allow from 192.168.xx.xx/24

### 日本国内のIPを許可 (Must)
### http://www.cgis.biz/tools/access/
### 2018.12.1時点 割り当て個数 203,957,760
allow from 1.0.16.0/20
allow from 1.0.64.0/18
allow from 1.1.64.0/18
allow from 1.5.0.0/16
allow from 1.21.0.0/16

( 中略 )

allow from 223.223.164.0/22
allow from 223.223.208.0/21
allow from 223.223.224.0/19
allow from 223.252.64.0/19
allow from 223.252.112.0/20
```

## 説明

流れとしては、まず全てのアクセスを拒否します。

次に検索エンジンからのアクセスを許可します。
これをしないと検索エンジンがクロールできないため、SEOで上位にくるどころか検索結果に出るかどうかもあやしいです。

これは必要であればですが、googleのSearchConsoleやアナリティクスを使っている場合も指定のものを許可して下さい。
また開発環境で同じ`.htaccess`を使用している場合は、そのIPも記載ください。

最後に日本からのアクセスを許可します。
最初に全てのアクセスを拒否しているため、日本のIPの全て記載する必要があります。
下記のサイトが、日本国外(海外/外国)からのアクセスを制限する（禁止する）ために
日本に割り当てられているIPアドレスをAPNICより取得してリスト化してくれていますのでこちらからコピると良いと思います。
http://www.cgis.biz/tools/access/

## サーバーへのアクセスの確認方法 

参考までに。
サーバーにsshログイン後、下記などのパスを探して実行してみて下さい。(サーバーによって多少異なります)

```
cat /var/log/httpd/access_log
```
NEMアカウントを作ろう！

３日目となりました。
それでは暗号通貨NEMを始めましょう。

準備するものはテキストエディタとインターネットにつながるブラウザだけです。
ロジックも最小構成を目指していきます。なんでもかんでも実現できるsdkもありますが、秘密鍵を扱う暗号通貨がどのような仕組みでそのセキュリティを保っているのかを知るのはとても大切なことです。

```html:index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>

    <!-- ライブラリ -->

	<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script>
	<script src="nacl-fast.js"></script>
	<script src="xembook-sdk.js"></script>

    <!-- app -->
	<script>
//ここにロジックを追加していきます

	</script>
  </body>
</html>
```

```javascript
let networkId = 0x68000000;//104
let privateKey = ua2hex(crypto.getRandomValues(new Uint8Array(32)));
let kp = KeyPair.create(privateKey);
let address = toAddress(kp.publicKey.toString(), networkId);
```

これで暗号通貨を送信するために必要な秘密鍵とアカウントアドレスの生成に成功しました。
(privateKey,address)

networkId = 0x68000000 はNEMメインネットのIDとなります。
crypto.getRandomVluesでランダムの文字列を発生させます。
Uint8Array(32)で示すとおり、1バイトサイズで32個の配列を作成します。
それらの配列の一つ一つを16進数に変換し文字列で表現したものが一般的によくみる秘密鍵となります。

つぎにKeyPairクラスを生成し秘密鍵を喰わせます。
以後はKeyPairクラスが公開鍵を生成できるようなるので、そこからNEM専用のアドレスを作り出します。

ここでちょっと要注意です。
crypto.getRandomValuesというランダム関数はjs標準関数となっており、ブラウザによっては非対応の場合があります。

調べてみるとIE11ではこの関数がサポートされていないようです。ではNanoWalletはどういう風なロジックを組んでいるのでしょうか？

最近のバーションでは秘密鍵の導出部分が以下のように書き換えられています。

```js
let privateKey = ua2hex(nacl.randomBytes(32));
```

これによってIE11でサポートされるmsCryptoと上手に使い分けているようです。
なお、Android4.2など古いスマートフォンではgetRandomValuesがサポートされておらず、これらの機種でブラウザを使用して暗号強度の高い秘密鍵を生成することは不可能です。
秘密鍵はかならずPCなどで生成するようにしましょう。

OSがAndroid端末の脆弱性対応状況を表にしたら絶望的だった
https://iwb.jp/os-android-vulnerability/
東京に来る

[PHPの効率的な学習法] » [学びの実践] » [人との関わりの中で学ぶ] » **東京に来る**

これはアドバイスの中でも実践するのが難しいものだと思います。[YYPHP]に参加した方の中に、地方でエンジニア経験を積んだ上で上京した方がいらっしゃいました。その方が言うには、東京は勉強会の数も多く、学びのチャンスが地方よりもあること、まわりのモチベーションも高い人が多いとのことで、もっと早くに東京に来ていれば良かったと語っていました。

**前ページ**: [ベテランの先輩を作る]
**次ページ**: [イベントに参加する]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8
[PHP初心者におすすめの技術書]: /suin/items/3ca30a2885005374bce8
[脱PHP初心者におすすめの技術書]: /suin/items/44a40a28e699fcf5d5cb
[PHPのセキュリティを理解するための技術書]: /suin/items/bc4a4c9899f3db836a3e
[きれいなコードの書き方が学べる技術書]: /suin/items/eb8955534b203f1c9ed7

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ
[PHPのコースがあるオンライン講座とその感想]: /suin/items/d14a21d9ba59a07daa6f
[最近は動画で学ぶのが普通になってきている？]: /suin/items/bf0f5754f946b2ecf07a
[1.5倍速再生で時短する]: /suin/items/7589d1bc4f0a29b9994b

[人との関わりの中で学ぶ]: /suin/items/edb067f2e5df713e966d#人との関わりの中で学ぶ
[ベテランの先輩を作る]: /suin/items/36805b7d9076eca1d186
[イベントに参加する]: /suin/items/3b0ff7389d5c1634a724

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
1.5倍速再生で時短する

[PHPの効率的な学習法] » [学びの実践] » [受講して学ぶ] » **1.5倍速再生で時短する**

動画でPHPを学べるサービスの中には、[Udemy]のように倍速再生できるものがあります。この倍速再生を駆使して、勉強に費やす時間を節約することができます。

[Udemy]: https://www.udemy.com/courses/search/?src=ukw&q=php

どのように活用するかというと、通常は1.5倍速で見ていって、繰り返し聞きたいところは等倍速で再生するようにします。

1.5倍速再生に慣れないうちは、1.25倍速再生から始めると、徐々に耳を慣らしていくことができます。

**前ページ**: [最近は動画で学ぶのが普通になってきている？]
**次ページ**: [人との関わりの中で学ぶ]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8
[PHP初心者におすすめの技術書]: /suin/items/3ca30a2885005374bce8
[脱PHP初心者におすすめの技術書]: /suin/items/44a40a28e699fcf5d5cb
[PHPのセキュリティを理解するための技術書]: /suin/items/bc4a4c9899f3db836a3e
[きれいなコードの書き方が学べる技術書]: /suin/items/eb8955534b203f1c9ed7

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ
[PHPのコースがあるオンライン講座とその感想]: /suin/items/d14a21d9ba59a07daa6f
[最近は動画で学ぶのが普通になってきている？]: /suin/items/bf0f5754f946b2ecf07a

[人との関わりの中で学ぶ]: /suin/items/edb067f2e5df713e966d#人との関わりの中で学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
最近は動画で学ぶのが普通になってきている？

[PHPの効率的な学習法] » [学びの実践] » [受講して学ぶ] » **最近は動画で学ぶのが普通になってきている？**

[YYPHP]の参加者のうち、PHPを勉強している方の勉強法を聞いてみると、以前に増して動画で学ぶ人が増えているように感じます。

動画ならではのメリットとして、本を読むのが苦手な人でも取り組みやすいこと、ハンズオン形式なのでわかりやすいこと、コードを書く手順が映像に出てくるので、それを追っかけて書くことができることなどがあるようです。

**前ページ**: [PHPのコースがあるオンライン講座とその感想]
**次ページ**: [1.5倍速再生で時短する]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8
[PHP初心者におすすめの技術書]: /suin/items/3ca30a2885005374bce8
[脱PHP初心者におすすめの技術書]: /suin/items/44a40a28e699fcf5d5cb
[PHPのセキュリティを理解するための技術書]: /suin/items/bc4a4c9899f3db836a3e
[きれいなコードの書き方が学べる技術書]: /suin/items/eb8955534b203f1c9ed7

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ
[PHPのコースがあるオンライン講座とその感想]: https://qiita.com/suin/items/d14a21d9ba59a07daa6f
[1.5倍速再生で時短する]: /suin/items/7589d1bc4f0a29b9994b

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
Circle CI で Github に write access 可能な Deploy key を設定する

Github のリポジトリと Circle CI のプロジェクトは作成済みとします。

# 手順

## 秘密鍵/公開鍵を生成する

CircleCIで使う場合の注意点としては

- フォーマットはPEMである必要がある
- パスフレーズはなしにする必要がある

また、Github の Deploy Key は他のリポジトリやユーザに登録された公開鍵を登録できないためリポジトリ毎に生成する必要があります。

下記コマンドで作成

```shell
ssh-keygen -t rsa -b 4096 -m pem -C "CircleCI" -f id_rsa_circleci -N ""
```

`-C` はコメントなのでなんでも構わない。公開鍵の末尾に出力されるので中身を確認したとき、わかりやすくするために入れる。
`-f` は出力するファイル名。相対パス、絶対パスで指定可能。
ファイル名を変えた場合は以降の手順をそのファイル名で読み替えてください。

これで秘密鍵 `id_rsa_circleci` と公開鍵 `id_rsa_circleci.pub` が出来上がる

## 公開鍵をGithubに登録する

1. `https://github.com/(ユーザ or 組織)/(対象リポジトリ)/settings/keys` へ行き `Add deploy key` を押す。
2. 下記を入力  
  - [Title] わかりやすい名前 ※空だと ssh-keygen の `-C` オプションで指定した内容が入る
  - [Key] 公開鍵 `id_rsa_circleci.pub` の内容
  - [Allow write access] チェックを入れる
3. `Add key` を押す

`Allow write access` のチェックを入れ忘れたら一回削除して登録し直してください。

## 秘密鍵を Circle CI に登録する

1. `https://circleci.com/gh/(ユーザ or 組織)/(対象リポジトリ)/edit` から `SSH Permissions` へ行く
2. `Add SSH Key` を押す
3. 下記を入力  
  - [Hostname] Github.com
  - [Private Key] 秘密鍵 `id_rsa_circleci` の内容
4. `Add SSH Key` を押す

これで登録完了。

## 自動生成された 鍵を削除する

Readonlyの鍵が使われてしまうので削除する

1. `https://circleci.com/gh/(ユーザ or 組織)/(対象リポジトリ)/edit` から `Checkout SSH Permissions` へ行く
2. 登録済みの鍵を Remove する

以上です。

Github側に自動登録されたReadonlyの鍵も一応消しておいたほうが良いでしょう。

# この記事を書いたきっかけ

「秘密鍵を Circle CI に登録する」の際に何故か登録できない現象に遭遇したためです。

2019-06-22 追記:
エラーメッセージがブラウザ上に表示されるようになり、少しだけわかりやすくなりました。
~~現象としては `Add SSH Key` ボタンを押すと `Failed` とだけ出る。
開発者ツールで見ると `{"message":"it looks like private key is invalid key.  Double check"}` というエラーが。~~

現象としては`Add SSH Key` ボタンを押すと下記のメッセージが出ます。
`It looks like this private key is invalid. Please check if you have pasted the right key. If you are sure your key is valid, please contact support for assistance.`

https://discuss.circleci.com/t/cant-add-an-ssh-key-in-ssh-permissions/26344/2

によると PEM 形式である必要があるとのこと
ssh-keygen は `-m`オプション指定なしだとデフォルトでRFC4716形式になるそうです。

公式ドキュメントにも PEM で作れとありました。
https://circleci.com/docs/2.0/add-ssh-key/

同じエラーで嵌った人の役に立てれば
きれいなコードの書き方が学べる技術書

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **きれいなコードの書き方が学べる技術書**

PHPがある程度書けるようになってきたら、今度は読みやすいきれいなコードを書けるようになることを目指すと良いでしょう。きれいなコードの書き方が学べる良書をいくつか紹介しておきます。

* [『Clean Code アジャイルソフトウェア達人の技』]<br>![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/7.png)
* [『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]<br>![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/8.png)
* [『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]<br>![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/9.png)

**前ページ**: [PHPのセキュリティを理解するための技術書]
**次ページ**: [受講して学ぶ]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8
[PHP初心者におすすめの技術書]: /suin/items/3ca30a2885005374bce8
[脱PHP初心者におすすめの技術書]: /suin/items/44a40a28e699fcf5d5cb
[PHPのセキュリティを理解するための技術書]: /suin/items/bc4a4c9899f3db836a3e

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
PHPのセキュリティを理解するための技術書

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **PHPのセキュリティを理解するための技術書**

![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/6.jpg)

PHPでウェブアプリを開発するに当たって、セキュリティについて学びたい方には、著者の名を冠して「徳丸本」という愛称で呼ばる[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]がおすすめです。本のタイトルには「PHP」という言葉はついてませんが、サンプルコードがPHPで書かれており、PHPプログラマがセキュリティを学ぶには打って付けの技術書です。

**前ページ**: [脱PHP初心者におすすめの技術書]
**次ページ**: [きれいなコードの書き方が学べる技術書]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8
[PHP初心者におすすめの技術書]: /suin/items/3ca30a2885005374bce8
[脱PHP初心者におすすめの技術書]: /suin/items/44a40a28e699fcf5d5cb
[きれいなコードの書き方が学べる技術書]: /suin/items/eb8955534b203f1c9ed7

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
脱PHP初心者におすすめの技術書

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **脱PHP初心者におすすめの技術書**

![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/4.jpg)

PHPの言語仕様をある程度理解した上で、さらに詳しくPHPについて知りたい中級者を目指す方におすすめなのが、[『PHP中級者を目指す 〜言語を使いこなすための本〜』]です。PHP7.1以降に対応しており、他書と比べ新しい機能についての紹介と、入門書にはあまり書かれていないことが載っています。逆に入門書に書いてあることは割愛されているので、PHPの入門書を読み終えた方向けです。

![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/5.jpg)

かつての名著として、[『パーフェクトPHP』]にも言及しておく必要があります。同書は扱う内容がPHP5.3なので情報は古めですが、PHPの言語仕様について深く書かれており、今読んでも役立つ技術書です。PHPのセキュリティについてや、フレームワークの作り方について書いてある希少な書籍で、フレームワークがどうやって動くかを理解するのに役立ちます。

**前ページ**: [PHP初心者におすすめの技術書]
**次ページ**: [PHPのセキュリティを理解するための技術書]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8
[PHP初心者におすすめの技術書]: /suin/items/3ca30a2885005374bce8
[PHPのセキュリティを理解するための技術書]: /suin/items/bc4a4c9899f3db836a3e

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
[AWS]リージョン間の通信料金

# はじめに
今日IBM Cloudのカンファレンスに参加して、やたらと「IBM Cloudはリージョン間の通信料金が一切かかりません！」と大プッシュされましたので、じゃあ他のクラウド（AWS）ではどうだったかを調べました。

# 通信量
一応、AWSはリージョン間の通信で課金が発生するようです。
https://www.slideshare.net/AmazonWebServicesJapan/aws-37563217

- リージョン間の通信は「0.09$/GB」
- リージョンからインターネットへの通信は「0.140$/GB」
- 同一リージョン内でAZ間の通信は「0.01$/GB」
- AZ内の通信は無料
- ただしAZ内でもElasticIPやパブリックIP向けの通信は「0.01$/GB」

金額の高い・安いではなく、通信量の多少によって料金が変わるから予算の確保が大変、という面が大きいかもしれません。
PHP初心者におすすめの技術書

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **PHP初心者におすすめの技術書**

入門者が次に学んでおくと良いことは、PHP自体の言語仕様です。PHPには長い歴史がある一方で、毎年バージョンアップされ言語仕様が追加されてきています。そのため、書籍の中には情報がかなり古くなっているものもあります。

![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/3.jpg)

そんな中、PHP5.6のセキュリティーサポートの終了を今月末に控え、最新版のPHPが7.2の執筆時点では、[『独習PHP 第3版』] が入門者にはおすすめです。同書はPHP5.6、PHP7.0対応し、PHPの言語仕様についてかなり網羅的に書かれています。

**前ページ**: [PHP入門者におすすめの最初の一冊]
**次ページ**: [脱PHP初心者におすすめの技術書]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8
[脱PHP初心者におすすめの技術書]: /suin/items/44a40a28e699fcf5d5cb

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
PHP入門者におすすめの最初の一冊

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **PHP入門者におすすめの最初の一冊**

![](https://cdn.suin.io/qiita/2018-12-01-effective-php-learning/2.jpg)

これからPHPを始める方や、始めたばかりの方が最初に読むべき一冊としておすすめなのが[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]です。

料理レシピのデータベースを題材に、PHPとSQLを使ったウェブアプリの作り方を学べるようになっています。最初の一冊におすすめな理由は、サンプルコードひとつひとつに丁寧な説明があるところです。この本を読むと、ひととおりPHPでのウェブアプリ開発を体験できるはずです。

**前ページ**: [自宅に広めのデスクを用意しよう]
**次ページ**: [PHP初心者におすすめの技術書]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[自宅に広めのデスクを用意しよう]: /suin/items/df2756c320bf0905a9eb
[PHP初心者におすすめの技術書]: /suin/items/3ca30a2885005374bce8

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
自宅に広めのデスクを用意しよう

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **自宅に広めのデスクを用意しよう**

効率的に勉強できる環境を整えることも重要です。デスクは技術書を読みながら作業できるように、キーボードのとなりに本を広げられるくらいのスペースができるようにすると良いでしょう。

**前ページ**: [気に入った技術書を買おう]
**次ページ**: [PHP入門者におすすめの最初の一冊]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263
[PHP入門者におすすめの最初の一冊]: /suin/items/dd52d61c3de1f9c858f8

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
【python】テキスト処理に使えるTextBlobを使う

# はじめに
テキスト処理に使えるライブラリである[TextBlob](https://textblob.readthedocs.io/en/dev/)は

- 翻訳
- 名詞抽出
- 感情分析
- タグ付け

など、テキスト処理において幅広い用途で使用される。
面白そうなので遊ぶ。

# 翻訳
### 英語->日本語
```python:translate.py
from textblob import TextBlob

analysis = TextBlob("TextBlob sure looks like it has some interesting features")
print(analysis)
print(analysis.translate(to='ja'))
```
### 結果
```
$ python translate.py 
TextBlob sure looks like it has some interesting features
TextBlobには興味深い機能があるようです
```
おぉ、きちんと翻訳されとる。。。
では逆に日本語対応しているのか？？

### 日本語->英語
```python:translate.py
from textblob import TextBlob

analysis = TextBlob("TextBlobには興味深い機能があるようです")
print(analysis)
print(analysis.translate(to='en'))
```
### 結果
```
$ python translate.py 
TextBlobには興味深い機能があるようです
TextBlob seems to have an interesting function
```
できてるっぽいぞ。。。

そのほか少し。
## その他
```python:test.py
# 言語抽出
analysis = TextBlob("TextBlob sure looks like it has some interesting features")
print(analysis.detect_language())
# => en

# 単語のリスト
print(analysis.words)
# => ['TextBlob', 'sure', 'looks', 'like', 'it', 'has', 'some', 'interesting', 'features']

# 単語の出現回数
print(analysis.words.count("looks"))
# => 1

# 単語のタグ付け
print(analysis.tags)
# => [('TextBlob', 'NNP'), ('sure', 'JJ'), ('looks', 'VBZ'), ('like', 'IN'), ('it', 'PRP'), ('has', 'VBZ'), ('some', 'DT'), ('interesting', 'JJ'), ('features', 'NNS')]

# 感情分析(極性分析)
print(analysis.sentiment)
# => Sentiment(polarity=0.5, subjectivity=0.6944444444444444)
```

### 結果
自然言語は表現が多様なのでいろいろ遊べそうだ。
翻訳と感情分類を深堀りしてみるのが面白そうだと感じる。
今すぐ役立たない技術書にも価値があるということ

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **今すぐ役立たない技術書にも価値があるということ**

中には、すぐには役に立たないと感じられる技術書もあります。ウェブアプリをフレームワークを使って作るだけなら、もしかするとネットワークの知識は、今すぐには必要ないかもしれません。ところが、[YYPHP]の参加者の中には「 TCPやHTTPなど低レイヤーの知識は、(そのときの)実務では直接活かせなかったけど、先に読んでおくと後で幸せになったかな」と自身の過去を振り返って、すぐに応用できない基礎技術についても触れておくことの価値を語っていました。

**前ページ**: [どうやって技術書を読んでいくべきか？]
**次ページ**: [気に入った技術書を買おう]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2
[気に入った技術書を買おう]: /suin/items/aaf5ff81c7a200abb263

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
どうやって技術書を読んでいくべきか？

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **どうやって技術書を読んでいくべきか？**

[YYPHP]の参加者が勧める読み方は、「読んで学ぶ」と「手を動かして学ぶ」を組み合わせることです。座学と実践は半々にして、読んでばかりでもなく、手を動かしてばかりでもなく、バランスが大事にしたほうが学習が速いそうです。

入門時の技術書の読み方として、買った本はひとつひとつこなしていくほうがいいという意見もありました。技術書には、リファレンスと言って、辞書のように必要に応じて開いてつまみ食いしたほうがいい本と、入門書のように手順を追って学習していくチュートリアル本があります。後者のチュートリアル本は最後まで読み終えてから別のチュートリアル本に手を出したほうが良いでしょう。本稿で紹介する図書としては、[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]、[『初めてのPHP』]、そして、[『絶対に挫折させないアプリ開発　はじめてのLaravel』]がチュートリアル本に該当します。

ベテランからの意見としては、同じ技術に関する本は1冊だけでなく3〜4冊買うのがおすすめだそうです。読み込む前に、まずはそれぞれの目次を読み、どの本にどういったことが書いてあるかをざっくり把握します。その上で、各書を読んでいき、関連している内容があったら別の本も開いてみて、相互に読み込んでいくとより深く技術を理解することができるそうです。

**前ページ**: [なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]
**次ページ**: [今すぐ役立たない技術書にも価値があるということ]


[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？]: /suin/items/dffb3ffdbc5db24b83f5
[今すぐ役立たない技術書にも価値があるということ]: /suin/items/0f86045e4f93d1ee36e0

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？

[PHPの効率的な学習法] » [学びの実践] » [技術書を読んで学ぶ] » **なぜ技術書を読むべきか？なぜ技術書(だけ)を読むべきでないか？**

## なぜ技術書を読むべきか？

本は体系的に書かれているので、PHPの全体像を把握しながら効率的に情報を得ることができます。ウェブ上の情報は無償で手に入る反面、情報が断片的で体系的には学ぶことが難しいです。

また、右も左もわからないときは本を買うと良いです。とっかかりが全くない状態で、公式ドキュメントやソースコードを読むのはつらいからです。

## なぜ技術書(だけ)を読むべきでないか？

### 本は情報が古くなりがち

本は出版までに時間がかかるのと、古い情報がアップデートされにくいというのが短所です。古い情報をアップデートするためにも、別のメディアを駆使する工夫が必要です。

### 読んだだけでは効果がでないことも

読書では技術の本質にふれたり、理論を知ることができますが、本を読んで「ふーん」で終わってしまわないよう、手を動かすのが肝心です。実践してはじめて知識が技能として定着します。

**前ページ**: [技術書を読んで学ぶ]
**次ページ**: [どうやって技術書を読んでいくべきか？]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ
[どうやって技術書を読んでいくべきか？]: /suin/items/2d2e4152148458e47bf2

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
キュレーションメディア

[PHPの効率的な学習法] » [学びの実践] » [ウェブ上の資料を活用して学ぶ] » **キュレーションメディア**

最新のPHP関連の情報を得たい場合におすすめなのがキュレーションメディアです。

* [PHP Weekly. Archive. News, Articles and more all about PHP](http://www.phpweekly.com/archive.html): 英語ですが、週に一度PHPの最新情報をメールで知らせてもらえます。
* [たぶん月刊PHPニュース | 株式会社インフィニットループ技術ブログ](https://www.infiniteloop.co.jp/blog/tag/php%e3%83%8b%e3%83%a5%e3%83%bc%e3%82%b9/): 毎月PHP関連のニュースが投稿されます。
* [PHP Annotated Monthly | PhpStorm Blog](https://blog.jetbrains.com/phpstorm/category/php-annotated-monthly/): PHPのIDE「PhpStorm」開発元JetBrainsが送るPHP関連のキュレーションです。

**前ページ**: [slideshareにアップされているスライド資料]
**次ページ**: [技術書を読んで学ぶ]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[slideshareにアップされているスライド資料]: /suin/items/0e4a4abdfb5d6969ff02

[技術書を読んで学ぶ]: /suin/items/edb067f2e5df713e966d#技術書を読んで学ぶ

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com
slideshareにアップされているスライド資料

[PHPの効率的な学習法] » [学びの実践] » [ウェブ上の資料を活用して学ぶ] » **slideshareにアップされているスライド資料**

[slideshare](https://www.slideshare.net/search/slideshow?searchfrom=header&q=php++&ud=any&ft=all&lang=**&sort=)はプレゼンテーション資料を共有するサイトですが、PHP関連のスライドも無数に投稿されています。投稿された資料の中には、PHPカンファレンスやセミナー向けに作成された情報量がまとまったものもあります。

**前ページ**: [PHP: The Right Way]
**次ページ**: [キュレーションメディア]

[PHPの効率的な学習法]: /suin/items/edb067f2e5df713e966d

[学びのガイドライン]: /suin/items/edb067f2e5df713e966d#学びのガイドライン
[知らないことを放置しない]: /suin/items/ef5b0ba6392f01c54466
[正しいところにお金を使う]: /suin/items/802aed54852480c53f17
[技術に対する「愛」を持つ]: /suin/items/425fdb14f054722011bd
[PHPとフレームワークは分けて学ぶ]: /suin/items/fb85f760343b836b09b9
[情報収集源に英語を加える]: /suin/items/b713631fe5ea4dc54b44
[必要になったら、必要なところだけ勉強する]: /suin/items/d15411c8d7a48219b3f5

[学びの実践]: /suin/items/edb067f2e5df713e966d#学びの実践
[手を動かして学ぶ]: /suin/items/edb067f2e5df713e966d#手を動かして学ぶ
[作りたいものを作る]: /suin/items/5d232e6602244c6809cd
[ゼロからはじめない]: /suin/items/706d0a63b30cb9d2a8cf
[シェルアプリケーションを作る]: /suin/items/04b3a55a035f9c556e41
[PHPで書き直してみる]: /suin/items/556118d28f1e1cf11729
[自分のサーバを持つ]: /suin/items/97537e52f66bd6fb2a1e

[ウェブ上の資料を活用して学ぶ]: /suin/items/edb067f2e5df713e966d#ウェブ上の資料を活用して学ぶ
[php.net(PHP公式マニュアル)]: /suin/items/79a6851f83ac5dfdca94
[PHP: The Right Way]: /suin/items/af37e052daeda403a9aa
[キュレーションメディア]: /suin/items/501511b376bafd0b2b80

[受講して学ぶ]: /suin/items/edb067f2e5df713e966d#受講して学ぶ

[『絶対に挫折させないアプリ開発　はじめてのLaravel』]: https://plumsa.booth.pm/items/1048008
[『パーフェクトPHP』]: https://amzn.to/2PHt4Pt
[『PHP中級者を目指す 〜言語を使いこなすための本〜』]: https://amzn.to/2zhoddu
[『独習PHP 第3版』]: https://amzn.to/2QXEYkW
[『プログラミングPHP 第3版』]: https://amzn.to/2QXI5cq
[『初めてのPHP』]: https://amzn.to/2QXIOua
[『いちばんやさしいPHPの教本 人気講師が教える実践Webプログラミング 』]: https://amzn.to/2zuiZvb
[『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践』]: https://amzn.to/2ScNKvz
[『現場で役立つシステム設計の原則』]: https://amzn.to/2SeHIuC
[『Clean Code アジャイルソフトウェア達人の技』]: https://amzn.to/2Rj4l0z
[『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』]: https://amzn.to/2Rnbq0s
[『CODE COMPLETE 第2版 上 完全なプログラミングを目指して』]: https://amzn.to/2zrt63I
[『CODE COMPLETE 第2版 下 完全なプログラミングを目指して』]: https://amzn.to/2DYmJsN
[『PHPフレームワーク Laravel入門』]: https://amzn.to/2zx9Ge2
[『Laravelエキスパート養成読本』]: https://amzn.to/2Q1Lzyt

[YYPHP]: https://yyphp.connpass.com