[RareJob]振り返り 2016/03/02
今日やったこと
自己紹介
レベルチェック
趣味はなに?
好きなゲームは?
好きな映画は?
好きな食べものは?理由は?
オススメの日本食は?理由は?
良かった点
よく聞かれる質問は、文章を知っていたので聞き取れた。
用意していた簡単な文は話せた。
悪かった点
準備をしていないものは聞き取れない。そもそも単語が分からない。
日本語しゃべっちゃう
「computer game」は発音悪くて伝わらなかったっぽい。
次回の宿題
単語を増やしましょう
→インプットを増やす。1日に適当な単語を調べていく
文章のパターンを勉強しましょう
→Forestで再学習
予習する
カリキュラムを確認して、あらかじめ文章化してみる
感想
頭を使って疲れた。とにかく継続する。
単語帳
different ages: 異なる年齢
They have diffrent ages.
彼らは異なる年齢をもっている。
Material: 教材。素材。
Entry Material for Beginner.
入門教材ビギナー向け
ビックカメラの株主総会に参加した感想
第35期定時株主総会に参加した。
総会自体が初めてだったから、新鮮さがあって良かった。
流れ
- 監査報告
資料に書いてることを読むだけ
- 事業報告
資料に書いてることを読むだけ
質問、提案、クレーム、なんでもありな感じ。
ヨドバシは良かったんじゃー。おまえのところはqうぇrty(フェードアウト
電力自由化はビジネスにしないのか!?
御社のエアコン業者、壁に穴をあけたんだけどどうなってるんだ!
監査に女性がいないぞ!→いや、いるぞ!→いるかもしれないけど少ないぞ!→業界では多い方だぞ!
この流れがコントみたいで面白かったけど、このくだり必要だったか?
振り返ると、意味不明なことを言う人の方が多かった気がする。
話を簡潔に分かりやすく話す人は、意見もまともだなという印象。
参加特典
3%の割引券3枚もらった。
来年のカレンダーも配ってた。
その他感想
自分を含めてスーツじゃない人が結構いたので、私服でも浮かない。
質疑応答は、なんか質問してみた方が当事者感あって良い。
プレスリリースとかも追っていれば、もっと深く楽しめたかも。
他の会社もどんな感じか見てみたくなった。
nginxでメンテナンス画面を出す(POSTも対応)
POSTも対応、とか言ってリダイレクトしているだけです
※nginx version: nginx/1.6.2
課題
503でカスタムメンテページを出す設定をしている。
そこにPOSTリクエストがくると405が返ってしまう。
405じゃなくてメンテページを表示したい。
調べたこと
error_page 405 =503 @maintenance;
ググるとこんな記述を見るけど、nginxはstaticなページをPOSTで返せないので対応できないんじゃないかと思った。
なのでGET以外でメンテナンスのルールに流れてきたら、TOPに飛ばしてページを出せば良くね?
という雑な対応。リクエストが無駄に増えてしまうが、もうこれで許してください。
動いているからいいじゃない
結果のコンフィグ(抜粋)
server { set $maintenance false; if ( -f ~/etc/nginx/maintenance ) { set $maintenance true; } if ($request_uri ~ ^/static/(.*)$) { set $maintenance false; } if ($maintenance = true) { return 503; } error_page 503 @maintenance; location @maintenance { # POSTで静的ファイル返せないのでリダイレクトする if ($request_method != GET) { return http://$host; } root /home/app; set $is_sphone false; if ($http_user_agent ~ (iPhone|iPod|Android)) { set $is_sphone true; } if ($is_sphone = true) { rewrite ^(.*)$ /static/maintenance_sp.html break; } rewrite ^(.*)$ /static/maintenance.html break; expires 0; } }
VagrantにSahara pluginをインストールする
bundleがなかったので、インストールする
libiconvがありませんと言われたのでスキップ
$brew install libiconv
Error: No available formula for libiconv
Apple distributes libiconv with OS X, you can find it in /usr/lib.
Some build scripts fail to detect it correctly, please check existing
formulae for solutions.
rubyインストールのコマンドも変更
RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.2.2
bundlerもインストールできたので、saharaもインストールできた。
DNS用語メモ
DNS
ドメインからIPアドレスを返すサーバー
例)http://www.yahoo.co.jp/にアクセスしたとき。
client(ブラウザやwwwサーバー)が
jpを管理しているdnsサーバーを参照して、co.jpのdnsサーバーを取得
co.jpを管理しているdnsサーバーを参照して、yahoo.co.jpのIPを取得
DNSサーバーを利用してIPを取得する仕組みをリゾルバと呼ぶ。
DNSキャッシュサーバ
名前解決の結果をキャッシュしておくことで、同じ問い合わせに対して高速にレスポンスを返す
DNSリゾルバ
OSの機能として提供されている。
優先DNSと代替DNSの2つが設定されてることが多い。代替DNS2つ以上設定できる。
linuxだと、/etc/resolv.confに設定が書いてる。
nslookupコマンド
DNSサーバーに問い合わせをするコマンド
$ nslookup yahoo.co.jp Server: 203.104.131.32 Address: 203.104.131.32#53 Non-authoritative answer: Name: yahoo.co.jp Address: 182.22.59.229 Name: yahoo.co.jp Address: 183.79.135.206
正引き
host名からIPを取得すること
逆引き
IPからhost名を取得すること
gitで階層を維持したままディレクトリ構成を変える
PC向けに作ってたHTMLをスマホ対応するからディレクトリ分けて管理したい
ってなった時にやったこと。
[Before]
tmpl/index.tt
tmpl/404.tt
tmpl/500.tt
tmpl/member/history.tt
tmpl/item/detail.tt
tmpl/item/list.tt
:
[After]
tmpl/pc/index.tt
tmpl/pc/404.tt
tmpl/pc/500.tt
tmpl/pc/member/history.tt
tmpl/pc/item/detail.tt
tmpl/pc/item/list.tt
:
tmpl/m/index.tt
tmpl/m/404.tt
tmpl/m/500.tt
tmpl/m/member/history.tt
tmpl/m/item/detail.tt
tmpl/m/item/list.tt
:
再帰的に実行したかったので、findで取得したパスを加工してgit mvに渡してーとか
考えたけど、そんなスクリプト職人のようなことをしなくても、
以下のように簡潔なコマンドを叩いていくだけで実現できた。
$ mkdir .pc $ cp -pr * .pc $ git rm -r * $ mv .pc pc $ cp -pr pc m $ git add pc $ git add m
.から始まるファイルは*に含まれないという特性を利用しているのがポイント。
git mv はrmとaddをまとめただけなので、これでよし。
参考
ここをみて思いついた。
clmemo@aka: カレント・ディレクトリー内の全てのファイルを新しい下位ディレクトリーに簡単に移動させる 〜 dot dir を使って
あと、別の方法もあったけど、filter-branch機能は履歴を抹殺するっていうのが怖そうだったのでやめた。
Gitリポジトリのディレクトリ構成を変更する - ekreaの日記