黒目

「世界で一番暗い場所は、人間の黒目の中にある」らしい

EM FMの感想

●EM FM
第1回聞いてみた。
・きれいにしてもきれいにしても(ソースコードが)汚れる
→わかるわかるわかるわかる(エンドレス)
・マネージャーとか役職がつくと急に線が引かれちゃう
→線が引かれること自体はそんなに悪いことではないと思う
線を引いた上でそれぞれがその役割をちゃんと果たせばいいと思う
厄介なのは、マネージャーは下位層を包括していて当然、みたいな風潮なのかなと
↑でもお金もらってるからねっていうのもあったりして難しい
バイネームじゃなくて区切ってる
→私もよくやる(特に総務や人事に対して)
・他の業種を逆なでするようなことを言う
→あるある。その逆なでポイントって一体なんなんだろう
個人を攻撃されることってあんまりないけど、「エンジニアは」っていう感じで言われていらっとすることはあるから
そのポイントを把握しないと怒りをコントロールできないと思う
・とりあえず後工程になすりつけていく。でもちゃんとデバッグしろよ!じゃないと後工程になればなるほど、戻ってきたときの コストすごいから
→わかるわかるわかるわかるわかる(エンドレス)特に網羅的な・機械的なことをバカにする傾向ってホントによくある

。。。全体的に、しゃべっているお二人が理性的な方々だと思う

Docker入れる

Dockerを入れます

やりたいことはいろいろありますが
・crowi入れたい(自分用)
・評価システム作りたい(Laravelで)
・なんか会社でDocker、Docker言ってる人いるし...
とかまあそんな感じでdockerを入れたいと思います

Macに直接入れる

docs.docker.com Docker for Macをダウンロード
ユーザー登録しろって書いてあったので素直にユーザー登録
インストーラーを落として、終わったらアプリケーションに移して〜といつも通りのことをやる
(うちのWi-Fiがもろいのか、めっちゃ時間かかった)
入れ終わったらiTermとか開いて

docker
docker-compose

ヘルプが出てきたら入ってます

GitHubからDocker-crowi落とします

github.com の前に、そもそもGitHubからcloneできるようにしないといけないので...
GitHubにアカウント登録している前提で

$ cd ~/.ssh/
$ ssh-keygen -t rsa -C "メールアドレス"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa): github_id_rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in github_id_rsa.
・・・・・・・

という感じで公開鍵と秘密鍵を作ったら
GitHubにブラウザからログインしてSSHkeyを登録します

pbcopy < ~/.ssh/github_id_rsa.pub

これ打つとクリップボードに公開鍵がコピーされます
configにGitHubの設定を入れておきましょう

$ vi ~/.ssh/config

Host github.com
 HostName      github.com
 IdentityFile  ~/.ssh/github_id_rsa
 User          git

これでGitHubからCloneできますね。
ということで早速、いい感じのところに作業ディレクトリ作ります

mkdir ~/crowi_work
cd crowi_work/

そしてGitHubからDocker-crowiをClone

git clone git@github.com:crowi/docker-crowi.git
cd docker-crowi
vim docker-compose.yml

Docker-crowiのReadmeを見ながらdocker-compose.ymlを作ります
終わったら

docker-compose up -d

初回はかなりいろいろ走るので、全部終わるまで気長に待ちましょう。
iTermで何も動かなくなったら完了です。
http://localhostにアクセスして、管理アカウントの登録画面が出たらおしまい!
終了はこれ

docker-compose down

FuelPHPのdb接続(ローカルDB)でハマった

今日1日ハマってしまったのがこれ。
vagrantVirtualBoxで作った環境の中にいくつかFuelのシステムを入れていて、
一つはlocalのMySQLに繋げられるのに、もう片方は繋ごうとすると「許可されてません」と言われる。
どちらも同じようにdb.php指定してるのになぜ...?
Sequal ProでもDBには繋げられるし、そもそも接続できるプロジェクトもあるので、きっとMySQL側ではなくてFuel側に原因があるんだろうと想定。
結局これを見て

トラブルシューティング - インストール - FuelPHP ドキュメント

指定の仕方をlocalhostから127.0.0.1にしたら繋がるようになったんだけど

         'hostname'      => '127.0.0.1',

でも繋がってる方はlocalhostで指定してるしわけわからないな〜と思ってもやもや中。

AWSのWAF設定を整理してみる

AWSのWAF設定をしてみました。 なんかごちゃごちゃしていてよくわからないな〜って思ってたんですけどやっと整理できました。

WAFはAmazonウェブアプリケーションファイアーウォールのことです。
同じくAmazonが提供しているキャッシュサービス「Cloud Front」や「ELB」「ALB」といったロードバランサーサービスとあわせて使われます。
具体的にどういうことができるかというと、特定のIPやUAを許可または拒否したり
国ごとで許可・拒否したりなど、アクセスに対する制限ができます。

WAFは大きく三つのメニューで構成されていてざっくり言うとこんな感じ
「Conditions」・・・適用させる条件
「Rules」・・・条件を束ねたルール
「Web ACLs」・・・Rulesを最終的にCDNやALB,ELBに適用させる設定
なおRulesは10個までしか設定できないので、「Conditions」一つにつき「Rules」を一つ、とかっていう使い方をすると あっという間に枯渇します。 今回はUAに特定の文字を含むアクセスは無条件に許可する、という設定をしたかったので、
1. ConditionsにUAの条件を追加(大文字小文字の制御とかいろいろできます)
2.Rulesに作成したConditionsを追加
3.Web ACLsにて対象のALBにRulesを追加し適用(優先順位もつけられます)
といったことをしました。
3つのメニューの流れがわかっていると、比較的簡単に適用させることができます。