ロックとチュウーハイとこりんがるな日々

日々のインプットした事をアウトプットする場所

rsyncをcronで実行する場合にpasswordを聞かれて時の対処を考えてみた

$ rsyncをcronで実行する場合にpasswordを聞かれて時の対処を考えてみた

rsyncの「--password-file」 optionはremote側にも設定が必要な為、今回は断念しました 変わりにexpectを使ってshell scriptを書きました、それをcronで実行する形にしました

  • expectをinstall

    今回はcentos6.4を使っているので、yumコマンドでinstall

      yum install expect
    

    今はサーバの構築にchefを使っているので上記のcommandに相当するrecipeを書いています

      package "expect" do
        action :install
      end
    
  • shell script

    expectを使って以下のbackup scriptを作る

      #!/bin/sh
      PASSWORD="remote server password"
      expect -c "
      spawn rsync -av /sync/directory/pass/ [remote user]@[remote host]:/remote/sync/directory/
      expect backup@111.222.333.444's\ password:\
      sleep 1
      send \"${PASSWORD}\r\"
      expect eof
      "
    

    汎用的に作る意味もなかったのでベタ書き

上記をcronに設定してsyncするだけ

rebuild.fmを聞いて改めて情報共有について考えたみた

rebuild.fm epsode32 を聞きました

感情の共有の話はめちゃくちゃ共感した、反射的にtweetもしたけど自分の頭の中の整理も込めてまとめておく

まず僕の会社では現在情報の共有ツールにwikiを使っている wikiを使っているのは得に意味もなく情報の共有といえばwikiだろみたいな感じで導入しました

しかしこれが良くなかった、なぜかっていうと共有するべき情報の温度が伝わってこない(←ここが整理できた点) 僕が考える上で共有したい情報は2種類ある

  • 無感情な情報
  • 感情的な情報

「無感情の情報」は例えばサーバリストとか社員のメールアドレスリストなどがあると思う、そういったドキュメント はただそこに書かれている情報だけが必要であってそこに書いた人もしくは見た人の感情はむしろいらない こういった情報を管理する場合はwikiとかで十分だとおもう

「感情的な情報」は例えばサーバ移行時、作業ログ、技術的なドキュメントなどがあるかと思います、こういったドキュメントは 書いた人以外が見た時にその時の感情というか熱みたいなものが伝わってくる必要がある気がする、それに対して feedbackを送れるようになっている必要があるとおもう、言葉としてあるのかわからないが Social Document的な要素が 必要だと思っている、だれがどんなツッコミを入れているのか、誰がどんな事を書いているのか、書いてる人、突っ込んでいる 人、の顔が見えるようにする事が「感情的な情報」、「Social Document」にはすごく重要なんだと思いました

どんなtoolを使うのかって事でも悩んでいるが今一番有力なのは内製する事、qiita teamなんかはすごく良く出来ていて かつ今の僕の要件に対して全てを満たしている気がするが、ちょっとした事に対して自分でコントロールできないのは やっぱり厳しい、ツール合わせてスタイルを変化させていく事が必要だと思うが、それだとどこかで譲れない事が出てきて 少しのストレスが生じた場合、それがどんどんたまって最後には崩壊してしまうような気がする、今までのパターンがそう でした(これは僕がコントロールできてないだけかもしれないけど・・・)

あとオープンソースのtoolを使う事が考えられるけど、僕の観測範囲が狭いのかもしれないがqiita teamのようなossは存在 しなかった またossを使った場合は自分の要件にフィットしない事がほとんどかと思う、上に書いているのと同じで要件に対してフィット しないtoolを使っている場合、どこかでストレスがたまって、最後には崩壊してします気がします ※もちろん要件がばっちりでtoolが業務にフィットする場合ossはすごく良いと思います、弊社でも色々使っています

って事で内製しようかと思います

思ってる事をだーーーっと書きました、文章がまとまってないのはいつもの事です

情報の共有については改めて考える機会をくれた rebuild.fm , @naoya_itoさん, @miyagawaさんにはもっっさ感謝です

あーーざっす

アクセス解析結果発表

続ける仕組み

この1年を通じて続けた事が2つあります、blogと朝活です、この1年を通じて続けれた理由を少し考えて見ました

blog

blogは毎日書いたわけではなくだいたい1週間に1本のペースで書いていました 内容は仕事や朝活で使ったツールや技術のメモのような内容です

blogを続ける為の仕組みは3点ありました

  • 定期的に書かない

    ブログを書くのを例えば1日一本などと決めてしまうと書く事が億劫になってしまいます 少なくとも僕はそうでした

    1週間に一本かければ書く程度の感じで始めるのが続けるコツではないでしょうか?

  • 書く内容をメモにする

    これは技術的な内容に限定されますが、なにか作業をする時にメモを取らない人はあまりいないのではないでしょうか? 僕はなにか作業を行う時は必ず作業ログをとります、作業ログには発行したコマンドやコメントが書かれておりほぼそのまま ブログに載せる事ができます、僕は普段からmarkdownでメモをするのでなおさらそのままblogに反映する事が出来ました

    短いメモでも、忘れそうならblogに公開してしまう事を心がけました

  • アクセス解析をする

    アクセス数が上がると自然とテンションが上がります、僕のブログはだんだんとアクセス数が上がって現在は一日に100pv前後が 見に来ています 1日に100pvなんて全然大した事ないですが、別にアフェリ目的ではないので続ける為のテンションを上げる材料としては十分です

朝活

僕が朝活をを始めたのは子供が出来て寝るのが早くなってしまい、夜に作業が出来なくなったので変わりに朝6:00に起きて 2時間ぐらい作業をするようにしたのがきっかけです

朝活も考えれば朝が苦手な僕が続ける為にはコツがあったのかなっと思います

以下に朝活を続けれた仕組みを3点あげます

  • 無理しない

    基本的には平日は毎朝朝活を行うけど、たとえば前の日飲みに行って寝るのが遅いかもしれません、そんな日は無理せずそ の日の朝活はやめるとか自分に対して無理をしない事が大事なポイントかと思います

  • やりたい事をやる

    朝活では仕事は一切しません、自分のプロダクトを作りこむとか勉強したい事をやります 要するに自分のしたい事をする、仕事はしない事がポイントかと思います

  • 目標を決める

    全然達成出来ていないですが、いつまでに何かを作り上げる事を決める、もしくは勉強する事を決める

集中する事

集中する環境として朝活ももちろんですが、スタバとかマクドナルドで作業をする事を覚えました macの電源が4時間ぐらいしかもたないのでその間に集中して作業をすませますこれがなかなか集中できます

環境音楽も今年集中する為に取り入れた事の一つです

Coffitivity

適度な雑音は作業がはかどります、これにうす〜〜〜く音楽をかけたりしています

テンションを上げる

続ける為には続ける為のテンションを保ちつづける必要があります 技術系の情報を聞いてそれを実際にやってみたりするのは結構楽しかったりします

今年はずっとrebuild.fmを聞いていました、perlplackとかで有名な宮川さんが始めたpodcastで定期的に収録していて 今熱い系の話からガジェットネタまでを幅ひろく聞く事ができます

rebuild.fm

もうちょっとまとめてまた続ける仕組みについて書きます

でわでわ

iphoneからandroidに変わってか思ったこと

2013年の大きな変化にiphoneからandroidスマートフォンを変えました、理由としてはandroidを触ってない事 に対しての焦りが大きな理由です

またタイミングよくnexus5がe-mobileから発売されたのも買い替えの大きな理由でした googleから直接買うかかなり迷いましたが結局e-mobileで契約しました

まぁiphoneは電話としては使えないですがwi-fiにつなげて今まで通り使ってます

はれてiphoneandroidの2台持ちになりました

開封式

f:id:box406:20131115215952j:plain

f:id:box406:20131115220023j:plain

f:id:box406:20131115220150j:plain

思った事

  • 価格

    端末の価格が¥39,900とiphoneに比べて半分ぐらいでしたまた月額の料金が¥2,400 + 通話料になりこれも半分ぐらいになりました 価格面に関しては大満足です

  • サイズ

    5インチの画面はiphone4からの乗り換えだったのでめちゃくちゃでかいです、youtubeとか見るともぉーーテレビやんってぐらいの 感覚です、けどひとつだけ不満がありでかすぎて片手で操作できないのが不満ではあります

  • 動作

    iphone4の時はなにをやるにもワンテンポ挟んでかなりのストレスでしたが、nexus5はサックサクで全然ストレスになる事はありません

  • カメラ

    当初nexus5のカメラには我慢できんくらいの不満がありました、カメラのシャッターボタンを押してからフォーカスを合わすので シャッターボタンを押したタイミングの写真が取れませんでしたが4.4.2のアップデート後はその現象は解消されたようです

  • 容量

    容量についてはe-mobileから発表されたモデルは16Gのみだったので工夫が必要でした、音楽は今まで通りiPhoneに入れて写真は とった瞬間にAtooma(アプリ)を使ってbox(ストレージサービス)に転送しています、転送された写真は定期的に削除します

    本当は32G欲しいです

  • アプリ

    基本的にiPhoneで使っていたアプリはandroidにもあるのであまり問題にはなりませんでした、できればiftttがandroidでもあれば 良かったです 全体的にですがiphoneのほうがアプリの完成度が高い気がします

    あと使いやすいメールアプリが未だに見つかりません

  • バッテリー & 充電

    バッテリーの持ちは悪いです、1日持ちません、充電もiphoneのライトニングは優秀で満タンまで充電するのに倍ぐらい時間がかかります

    Qi(無接点充電)に対応しているのはすごくいいです、使ってないけど今後使いたいです

  • LTE & デザリング

    iPhone4からの乗り換えなのでLTE & デザリングが初体験でした、LTEは早いなんてもんじゃないですね、デザリングができるのもすごくいいです いちいちモバイルルーターを持ち歩かずにすむのですごくいいです、速度的にも問題ないです

    月5Gの制限がありますが、外で仕事する時に動画などの思いコンテンツを見る事は無いので問題ないです、家や会社ではwi-fiにつなぐので ほぼ問題はないかと思います、写真を自動でアップしているのでその点が少し心配していますが今の所問題なさそうです

まとめ

不満がないといえば嘘になるが全体的には満足行っています、2年契約なんで2年間使ってみます、2年後にandroidにするかiphoneにするかわ 今は分かりません

たぶんiPhoneに戻る気がするな〜〜〜

でわでわ

2013年自分の中でヒットした事(技術系)

chef

chefは今年一番の衝撃的な出来事でした、ちょうどタイミングもよく、仕事でサーバを100台ほど作る 予定がありその時に出会ったのが2013年の3月ぐらいでした

タイミングよく伊藤直也さんが書いた「入門Chef Solo - Infrastructure as Code」が出たのが3/13だったと思います 初めて買ったkindle本でした、日本語で書かれた唯一のchef本だったので穴があくまで読みました 今年通してずっと手元に置いていました

サーバの設定をrecipeにしてサーバの設定をバージョン管理できるという事はかなり衝撃でした

chef + vagrant

chefでrecipe化された設定はproduction環境を構築する事が目的ですが、vagrantと併用する事で開発環境を限りなく production環境に近づけられるという事は嬉しい副産物でした

また開発のチームで環境を統一出来るのも大きな利点でした、以前ならVmのコピー配って同様の事が可能でしたが 配るファイルのサイズを大きすぎるのと配ったあとの管理は個人に任せられるのであまりカジュアルなやり方では ありませんでした

vagrant + chefの場合はvagrantfileとrecipeを配れば基本的に同環境が出来上がります、さらにprojectのコードに 含める事でgit cloneでコードと開発環境のインフラを配布する事ができます

開発環境

以前までの僕の開発環境はmacにphp/apache/mysqlを入れてローカルに環境を構築していました、phpenvを使ってphpの 各バージョンを入れたりと工夫していましたがいかんせんローカルの環境が汚れていきます

vagrantを使うようになってからは必要なツールはprojectごとにvagrantfileを作ってその中に構築しています こうする事でローカルの環境は出来るだけクリーンに保ち、projectに必要なツールをvagrantfileとrecipeに記述する ようにしています

test (phpunit / serverspec)

今年からは本格的にテストを書きました、アプリケーション側はphpunit、インフラ側はserverspecを使っています テストを書く事で心の安心感を得る事が出来た事と単体テストを全てコード化した事での時間の短縮は非常に効率的に 開発に集中する事ができるようになりました

capistrano

かなり遅いんですがサーバへのdeployを自動化しました、だんだんと数が多くなるにつれミスが目立つようになり必要に かられてdeployの自動化を行いましたが作業の効率が段違いになりました

今年書いた、chef, vagrantの記事

自分の中でブレイクしている、vagrant + chef + gitで開発環境を構築する

chef でゼロからサーバ構築をやってみる

knife-soloを設定して開発マシン(mac)からchef-soloを実行する

serverspec を使って初めてのインフラテスト

2014年の抱負と目標と2013年の反省

まずは2013年の反省と分析

  1. つだけで良いのでサービスを形にする、そしてそれを運営する

    サービスは2つほど作りましたがどれも形にはなっていない、そして運営に関してはこのブログともう一つブログがありますが そっちは試行錯誤中で運営というよりは実験中というところです

  2. そのサービスで1万円で良いの収入を得る

    今年の収入は204円です・・・ 0円ではなかったのがせめてもの救いです、しかしなさけないです

  3. インプットとアウトプットを心がける

    アウトプットはこのブログで出来たかと思います インプットに関しては自分なりに必要なものをインプット出来たかと思います、具体的には以下

  4. 人脈作りを心がける

    勉強会への積極的な参加を目標にしましたが、年間で5回しか参加できませんでした

  5. 技術について貪欲でいる事を心がける

    自分なりには貪欲でいれたのかな〜と思います

2014年の抱負と目標

  1. 今作っているサービス(Tracs)を形にする
  2. Tracsを実験的に使ってもらえる会社を2社見つける
  3. Tracsを使ってもらっている会社から定期的にfeedbackを得れる体制を作る
  4. 自分の商品価値について考えて文章化する
  5. 副業/アフェリでじゃんじゃん稼ぐ

※技術的な事に関してはプログラマーとしての基本のスキルセットなのであえて書きません

興味をもって勉強していきたいrubyとdockerなどの仮想化技術に関してとCI関係かなって思ってます

あと今年は新しいmacが欲しいです・・・副業がんばるぞ

でわでわ、良いお年を