5000164 is here
My writing is my life.
No results for undefined
Powered byAlgolia
2015 年 11 月 29 日のこと

洗濯機が思ってたよりも静か

洗濯機ってこんなものなのか、足場がよかったのか。
とりあえずたしかに聞いていた通り掃除はしやすい。
よかった。
組み合わせはこんな感じ。

机と椅子が案の定難しい

グレードが分かれる価格帯がいまいちわからんから、適切な予算が設定できてるかわからん。
机と椅子は難しくて大変だ。
とりあえず金を出せば良い物が買えるってことは間違いない。

2015 年 11 月 28 日のこと

ダイニングテーブルを探している

探しまわった結果、現状はこんな感じ。

候補

見送り

  • RIVER シリーズ

    • かっこいいけど予算オーバー
  • emo. シリーズ

    • シックでいいけどもっと普通じゃないのがいい
  • BOCCA シリーズ

    • イカしてるけど今回作りたい部屋の方向性とは違う
  • Delicat シリーズ

    • コストパフォーマンスいいけど高くてもいいことにした
  • LEWIS シリーズ

    • かっこいいけど KeLT シリーズの方が好み
  • CORONA シリーズ

    • 椅子とかかっこいいけど今ひとつ物足りない
  • LUCE シリーズ

    • かわいいけど BAMBI シリーズの方が好み

KeLT の送料がいくらかかるかショップに問い合わせて、その値段込みで結論を出す予定。
部屋をどういう方向性にしたいかで決まってくると思うから悩み。

2015 年 11 月 27 日のこと

今日は昨日わからなかったことがわかってよかった

すっきりした。
これでぐっすり寝れるはず。

久しぶりにジムで泳いだ

やっぱり泳ぐの下手になってる。
でも前より泳ぐの楽になった気もする。
もっとちゃんと行くようにしないと。

パズドラの協力プレイが思ってたよりおもしろい

パズドラの協力プレイとか交互にやるだけでしょ、とか思ってたけど、思ってたよりもおもしろい。
この盤面に対して相手がどう動かすのか見れて楽しいし、相手に見られてると思うと頑張ってコンボ決めたくなる。
でもそれでテンパッて意味分かんない感じに組んじゃったりする。
おもしろい。

Ansible で作成したユーザーをパスワードなしで sudo できるようにする

先に簡単な結論

/etc/sudoers.d/ の下にパスワードなしで sudo できる設定を追加する。

Vagrant の VM に Ansible で環境を構築する

いつもは vagrant ユーザーをそのまま使っていたのだが、ユーザー名を変えておいた方がなんとなくよさそう、と思ってユーザー名を変えることにした。
ユーザーの追加は user モジュールを使って簡単にできる。
問題は作成したユーザーで sudo できないことだった。

一応オプションをつけて毎回パスワードを入力すれば回避できる

ansible-playbook playbook.yml --ask-sudo-pass

ってやって、毎回パスワードを入れれば動く。
でもだるい。

vagrant ユーザーはなんでパスワードなしで sudo できるのか

なぜ、どうして。
全然仕組みを理解できていなかった。
そして今日たまたまこの記事を見る。

「suは切替先ユーザー(root)のパスワードが要求されるのに対し、sudoは元のユーザーのパスワードが要求される。」
なるほど、もしかしてこれでは?
「ansible sudoers」でググる。

なるほど。
「sudo group」でググる。

やってみよう。

sudo はできたけどパスワードは聞かれる

なぜだ。
そうか、vagrant と同じグループに入れればいいのかと思いつく。
vagrant グループに入れてみる。

状況は変わらず

なんで vagrant はパスワードなしで実行できるんだ。
特に /etc/sudoers に vagrant の記述はないのに。
と思ったら、よく見たら最後に #includedir /etc/sudoers.d って書いてある。

/etc/sudoers.d/ に vagrant ってファイルがあった

vagrant ALL=(ALL) NOPASSWD:ALL

これか。
なるほどたしかにパスワードなしって書いてある。
でもそしたらやっぱり vagrant グループに入れればいけるのでは?

% がついてないからグループに指定してるのではなく vagrant ユーザーにだけ指定してた

やっと理解した。
つまり追加するユーザーの設定をここに追加すればいいわけだ。

copy モジュールで持ってったら動いた

やった。
でも調べてたらもっと簡単な記述があった。

結論

+++
- hosts: all
  remote_user: vagrant
  sudo: yes
  vars:
    user_name: # ユーザー名を設定
    password: # ハッシュ化したパスワードを設定
  tasks:
    - user: name={{ user_name }} password={{ password }} groups={{ user_name }}
    - lineinfile: dest=/etc/sudoers.d/{{ user_name }} line="{{ user_name }} ALL=(ALL) NOPASSWD:ALL" create=yes owner=root group=root mode=0440
    - authorized_key: user={{ user_name }} key="{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}" # Ansible を実行しているユーザーの持っている公開鍵へのパス

これで同じ playbook の中で作成したユーザーでパスワードなしで sudo: yes できるようになった。

2015 年 11 月 26 日のこと

体調不良

今日は具合悪くてずっと寝てた。
やっぱ普段からちゃんとした生活を送らないとだめだな。
無理をしたのがたたったか。

布団が寒い

なんか暖かい毛布が欲しい。
布団関係のこととか全然調べたことないから全然わからんな。

Ansible を勉強してる

環境構築として Ansible を使ってる。
Chef よりも簡単でわかりやすい感じ。
でもそもそもサーバーのことでわからないことが多すぎて困ってる。
どうすれば解決するのか検討がつかないから調べるのに時間かかる。 よくわかってないけどとりあえず動いてて、とりあえず動いてるからよしとするべきか、ちゃんと理由を調べるべきか。
アプリ開発が目的ではあるんだけど、ちゃんと調べたらそれはそれで力になりそうなんだよな。
悩み。

2015 年 11 月 25 日のこと

今日は引っ越しの手続きをいろいろとした

引っ越しすると手続き多くて大変だ。
手続きについては別の記事にまとめよう。

滑って転びそう

雪が積もってて歩きにくい。
エアマックスはとても滑る。
なんらかの対処をしないと転ぶのは時間の問題。

百均でパズドラ用にスタイラスペンを買った

使ってたやつが壊れたから先端のゴムだけないかと思ったけど、ワコムの公式サイトにしかなさそうだったのでやめた。
とりあえず百均のやつでいいやと思って買ってみた。
先端が導電性繊維とかいうやつ。
たしかこっちの方が滑りがよかったはずだから。
やっぱスタイラスペンがあった方が全然やりやすい。
買ってよかった。

2015 年 11 月 24 日のこと

引っ越しは手続きがたくさんあって大変だ

一回でちゃんと滞り無く終わらせるためにタスク洗い出したりしてたら 5 時。
つらい。

ユニットテストでモックが使えるようになりたい

全然使ってこなかったから、少しずつでも使っていこう。

セイコーマートにダンボール持ってけるのいいね

少し遠いけど、捨てるタイミングを自分で制御できるってのは気持ちが楽だ。

書類の管理が難しい

うまいこと管理する方法はないものか。

2015 年 11 月 23 日のこと

和食のランチを食べてきた

1 人 1 食 2,000 円くらいの。
おいしかった。
ほんと飲み会とかでお金使うくらいなら、こういうところにお金使っておいしいもの食べたい。

かっちりした服を買い始めている

やっぱり服の好みは変わっていくもので、最近かっちりした服に興味がある。
でもしっかりした格好とかしたことないからなにをどうすればいいのかわからない。
とりあえずユニクロで少しずつ買いながら勉強中。

対話をするのは難しい

相手に求める部分が大きすぎてる気がする。
これくらい理解できるだろ、みたいな。
この記事を思い出した。
IT業界でありがちな説明下手について - 文系プログラマによるTIPSブログ
ハイコンテクストな話はよくない。
説明責任を果たせてないのに話の聞き手のせいにするのよくない。

Homebrew のアップデートのやり方をいつも忘れるのでシェルスクリプトにしたCoubic の予約をブロックする拡張機能を作った

Coubic と作った拡張機能

Coubic とは

無料でも使える予約システム。
無料の予約システムを軽く調べたけど、1 番良さそうだった。

Coubic では休憩時間が設定できない

Coubic では休憩時間が設定できなかった。
定休日と営業時間は設定できるのに。
なにか良い方法はないかと調べたら、予約ブロック機能というものがあった。
しかし 1 つずつしか予約をブロックできない。
すべての営業日に予約ブロックを入れるのはとてもだるい。

指定した期間の予約をブロックできるようにしたい

だから指定した期間の予約をブロックする拡張機能を作った。

Chrome 拡張機能で作った

そんなに調べてないけど、API とかなさそうだったし、画面の操作を自動化すればそれでいいやと思った。
最初はブックマークレットでいけるかなと思った。
DOM の操作を自動化できるようにして、さあ期間内で連続して予約ブロックするぞ、と思ったら、ブックマークレットでは情報を保持できないことに気付いた。
だから Chrome 拡張機能にすることにした。
Chrome 拡張機能は作ってみたかったしいい機会だと思った。

開始ボタンを押したら自動で登録し続ける

自動で登録するために、contentscripts で処理を行う必要がある。
任意のタイミングで処理を開始するために、background を利用する必要がある。
予約ブロックする期間を設定するために、options
page を用意する必要がある。
ということで一通り触れて勉強になった。

処理を行う仕組み

optionspage で期間と時間を設定しておく。
ツールバーの拡張機能を押すことで、background で処理フラグを立ててリロードする。
該当ページの content
scripts でフラグをチェックし続けて、処理フラグが立っていたら処理を行う。
予約ブロックを登録する処理を行う。
処理が完了したら処理フラグを元に戻す。

うまくいかなかったところ

開発ツールの Console から $("[name=\"commit\"]").click(); とすると動くのに、拡張機能からだと動かなかった。
これのせいでいろいろ調べて、拡張機能からだと click できないのか?とか思って直接 post するようにしたら、クッキーが有効じゃないとかってエラーで怒られて、よくわからなくて時間がかかった。
クリックの仕方が間違ってるのかも知れないと思って $("[name=\"commit\"]").trigger("click"); とやってみたら動いた。
サイト側の JavaScript でイベント取得してなんかいろいろやってから post してるのだろうか。
登録内容が重複してる場合はエラーが出ていたからなにか処理をしているのだろうか。
ここに気付かなくて時間がかかってしまった。

まとめ

それっぽく動くものができたし、勉強にもなったのでよかった。
これからもなにか便利にしたいと思ったら Chrome 拡張機能を作ったりしていきたい。