itochin2の日記(仮)

主に備忘録。Perl、MySQL、Unity、開発管理などについて情報を残していきたい。

[RareJob]振り返り 2016/03/02

今日やったこと

自己紹介
レベルチェック

趣味はなに?
好きなゲームは?
好きな映画は?
好きな食べものは?理由は?
オススメの日本食は?理由は?

絵を見て、感想を言う

X I look pizza is delicious.
O I can see some pizza and it looks delicious.

X They age is low and high.
O They have different ages.

Good: Chef's name is Tony.
Better: The chef's name is Tony.

X The boy call pizza one piece.
O The boy ordered one piece of pizza.

良かった点

よく聞かれる質問は、文章を知っていたので聞き取れた。
用意していた簡単な文は話せた。

悪かった点

準備をしていないものは聞き取れない。そもそも単語が分からない。
日本語しゃべっちゃう
「computer game」は発音悪くて伝わらなかったっぽい。

次回の宿題

単語を増やしましょう

 →インプットを増やす。1日に適当な単語を調べていく

文章のパターンを勉強しましょう

 →Forestで再学習

予習する

 カリキュラムを確認して、あらかじめ文章化してみる

感想

頭を使って疲れた。とにかく継続する。

単語帳

different ages: 異なる年齢
They have diffrent ages.
彼らは異なる年齢をもっている。

Material: 教材。素材。
Entry Material for Beginner.
入門教材ビギナー向け

「調査可能なアプリケーションがありません」の回避メモ

safariの実機でしか再現しないバグがあったので
Webインスペクタを使おうとしたら手こずったので備忘録。

環境

iPhone: iOS 8
Mac: OSX 10.9

参考

d.hatena.ne.jp

最新(WebKit-SVN-r192790.dmg)を入れたら
OS X 10.9 is not supported」というエラーで起動しなかった。
f:id:itochin2:20151130154330p:plain

Apple Support Communitiesの解決した日付に近いWebKit-SVN-r173715.dmgを使ったら
無事にサイトを選択できるようになった。

ビックカメラの株主総会に参加した感想

第35期定時株主総会に参加した。
総会自体が初めてだったから、新鮮さがあって良かった。

f:id:itochin2:20151126115906j:plain

流れ

  • 監査報告

資料に書いてることを読むだけ

資料に書いてることを読むだけ

質問、提案、クレーム、なんでもありな感じ。
ヨドバシは良かったんじゃー。おまえのところは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をインストールする

vagrantにsahara pluginをインストールする

qiita.com

環境

mac 10.9

詰まった箇所
$ bundle install
-bash: bundle: command not found

bundleがなかったので、インストールする

qiita.com

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もインストールできた。

用語メモ
rbenv rubyのバージョン管理
ruby-build rubyコンパイルするプラグイン
bundler perlのCarton
gem perlCPAN
gemfile perlのcpanfile

いつも忘れてしまう・・・

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サーバーに登録されてる情報

Aレコード

host:IPの対応

PTRレコード

IP:hostの対応

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の日記