読者です 読者をやめる 読者になる 読者になる

expectコマンド備忘録

会社の環境整備時にexpectコマンドを使っている箇所があり、興味を持ったため試しに使ってみました。

expectコマンドとは

コマンドの返答を識別して、次の入力を自動で行うコマンドです。 例えば、passwdを実行すると

  1. パスワードを入力してください
  2. 新しいパスワードを入力してください

といった返答が返ってきますが、この返答を自動で入力できるのがexpectコマンドです。

以下に使用例を記載します。

expect -c "
spawn [実行したいコマンド]
expect [コマンドの返答]
send -- [次のコマンド]
"

以下にsuコマンドを使用した例を記載します。 このスクリプトを実行すると、ユーザーが切り替わります。

#!/bin/sh

expect -c "
  set timeout 20
  set user [lindex $argv 0]
  set password [lindex $argv 1]
  spawn su $user
  expect \"Password:\"
  send \"$password\r\";
  interact
"

リッター3Kのススメ

この記事はSplatoon Advent Calendar 2015 の20日目です。 投稿が遅くなってごめんなさい!

www.adventar.org

簡単に自己紹介をしておきます。 メイン武器が3Kスコープ、サブはスプスコでS 30-97あたりをうろうろしています。 S+が見えそうで見えない...。

f:id:nikuyoshi:20151222010058p:plain

この記事を読んで、一人でも多くリッター3Kを使用してくれることを願って書いています。 正直リッターを扱うのは難しいですが、得られる爽快感は他武器の比ではありません。 リッター3Kのどこが良いか、以下に書いていきます。

遠距離で圧倒できる

ハコフグ倉庫の左の金網、アロワナモールの高台、タチウオパーキングの高台といったいわゆるリッターの安全域から一方的に倒していけるのが爽快です。 開幕ダッシュで定点ポイントまで行き、フルチャージで射程ギリギリの相手に当て、「バキッ」という確殺音が鳴ると正直興奮します。 ただ遠距離で倒せるだけでなく、無印リッターであればクイックボムもあるので、近距離でも勝てることが多いです。 リッター3Kは遠距離、近距離は良くても中距離が苦手なので、そこは筋力アップで確殺チャージ時間を短くしてしのいでいます。

また、ジャンプを絡めた攻撃も効果的です。 以下の動画の30秒あたりを見てください。 今年の9月頃に撮った動画です。

www.youtube.com

正直この距離だったらスプスコとかでも当てられるのですが、こういった奇をてらった攻撃ができるのがリッターの良いところでしょう。

個人の名前を印象に残せる

えっ、何で死んだのと思った時、大抵リッター3Kだったりしませんか? 5月にサービスがリリースされて2,3ヶ月の間、私はよくそう思うことがありました。 最近は慣れてきて思うことが減りましたが、当時はどこから狙われたのかもよく分からない状態でした。 倒した人の印象が残る武器、それがリッター3Kだと思っています。 リアルで他の人からなじられても、ゲームではオレツエエエエ!したい、承認欲求を満たしたい人向けの武器です。

コミュニティがある

他の武器でも多数ありますが、リッター3Kにもあります。 リッター3K窓というコミュニティです。 めこばれっと氏に紹介してもらい入会しました。

開戦直後、ハコフグ倉庫のどこから攻めるのが大安定か、新エリアの印象、ギア厳選等初心者から上級者までいろいろな方が議論、質問をしています。 リッターは各エリアで立ち回りが安定するポイントがあるので、そこをなるべく早く覚えることがキモです。 自分が良いと思っていたポイントが、他の人に聞いてみたら実はそんなに安定してないポイントだったりします。 そういったオレ流から脱却するために、自分は一時期よく利用していました。 もし興味がありましたら @nikuyoshi までご連絡ください。

最後に

つらつらと書いてきましたが、書いている人が11月あたりから全然Splatoonやれてないっていうのが説得力の無さを語ってますね...。 引越しが終わったらまとまった時間が取れそうなので、再びS+を目指して精進していきます。

ソフトウェアエンジニアで共働きの家庭で使用しているWebサービスについて

家庭を支える技術 Advent Calendar 2015 19日目担当のnikuyoshiです。

www.adventar.org

家庭を支える技術と言いながら、周りの方の投稿を見ると使用しているサービスを列挙している方が多かったので私もその流れに便乗してみます。

本題に入る前に簡単に私の紹介をしておきます。 今年結婚式、ハネムーンを終えた新婚のソフトウェアエンジニアです。 妻もソフトウェアエンジニアです。 趣味は写真で、通信業界で働いてます。 ハネムーンはハワイに行きました。 以下の写真はハネムーンで行ったワイメア渓谷です。 オアフ島も良いですが、カウアイ島も自然豊かで見る価値有りですよ。

500px.com

使用しているサービス

Slack

以前まではiPhoneのSMSを使用していたのですが、検索ができないのが不便に感じたことと、Slackのチャンネルが予想以上に便利に感じたことが引き金で、今年の2月頃に完全移行しました。 チャンネルに関してですが、一つのチームを作ってしまえば、その中にチャンネルという部屋を作ることができます。 内田家の場合、uchida-familyというチームを作った後すぐにハネムーン部屋、家探し部屋を作りました。 各種話題に合わせて部屋を変えて話すようにお互い気をつけています。 過去ログが追いやすくなるので。 以下のような感じです。

f:id:nikuyoshi:20151220012436p:plain

  • general: 普段の会話
  • honeymoon: 新婚旅行
  • househunting: 家探し
  • housemoving: 引越し
  • rss: 二人で読むべきRSS(SUUMOの新着物件、技術ネタ)を登録して基本読むだけでここでは基本話さない

上記の部屋作りに関してはPySpaのSlack部屋から影響を受けています。 PySpaの方々に感謝。

以前、チャットアプリとしてHipchatを使用していたのですが、インターネットが使えない環境で過去履歴を見ることすらできないことがあったので(今はもう変わったのかもしれませんが)、妻がチャットアプリをかなり敬遠していました。 SMSでできることは勿論のこと、URLサムネイル表示、Trello連携、bot等、複数の機能に関して良いと妻に思ってもらえて、今では欠かせない存在となりました。

Trello

カンバン形式で複数のカテゴリーとタスクを一目で見れるのが良いです。 新婚旅行、引越し等のタスクを列挙するのに使用してます。 iPhoneのリマインダーアプリで5月まで運用をしていたのですが、お互い家ではPCを使用するのでブラウザでも使えるタスク管理サービスで良さそうなものを探していたところ、Trelloに行き着きました。 アプリ選定の際、以下の要件を二人であげていました。

  • OS問わず使えること(妻がWindows、俺がMac)
  • iPhoneアプリもあること
  • カンバン形式で複数のカテゴリーを一画面で見れること

カンバン形式で使用できるため、何のタスクがどこまで進んでいるのか一目瞭然です。 二人でタスクを一気に追加するようなシチュエーションでもコンフリクトが起きることもなく問題なく使えています。

Google Drive

何より便利だと感じたのは、二人でスプレッドシートをリアルタイムに記入でき、そこで作成したスプレッドシートを両親にすぐさま展開できたことです。 結婚式の席次表をスプレッドシートで作成して、問題がないか親のチェックをしてもらう時に共有の楽さが際立ちました。 両親のどちらか片方はGoogleアカウントを持っている状況でしたので、そのアカウントに対して共有権限を付与するだけで共有できるのは非常に便利でした。 両親がITに疎いため、勿論事前にiPhone設定、PC設定などのサポートをしていたおかげというのもあります。 一度その土台を作ったおかげで、いつでもどこでも両家に資料を届けられるようになったため、いつ何時確認してもらいたい資料がでてきてもすぐに見てもらえる状況となりました。 また、家族に共有していたファイルを一つのフォルダにまとめておいたおかげで、結婚した友人に共有する際も楽ができました。 これも先ほど同様、フォルダに共有権限を付けるだけで済みます。 結婚式どうだったのと聞かれても、聞かれる度に説明する時間を割くこと無く、これ見てと一言言えば済みます。

Google Photo

実質容量無制限のサービス。 膨大に膨れ上がる家族写真にとってこれほど助かることは無いでしょう。 また、URLを教えるだけで簡単に家族間で写真共有ができます。 内田家の場合、基本的に各人のアカウントに写真をアップロードして、共有する必要があるような重要なイベントに関してはアルバムを作ってそのURLをシェアする運用をしています。 今のところその運用で問題なく使えています。 一つのアルバムに対して二人で写真をアップロードができないのが不便だと感じることがありましたが、何より家族の写真をいくらでもアップロードできる恩恵は大きいと思っています。 iPhoneで撮った写真はiPhoneアプリから、EOS 70D, 水中カメラ等のデジタルカメラで撮った写真はPC経由で全てアップロードしています。RAWを自動的にjpgに変換してアップロードしてくれる上に、連射で撮った写真をGIFに、数枚の写真をくっつけて自動的にパノラマ写真にしてくれます。

Google Calendar

お互いのカレンダーを共有しあっているため、二人が空いている予定をすぐに確認できることが利点です。 また、お互いが書き込める共通カレンダーを作成し、家庭内の用事、業者にいつまでに依頼をするといった共通スケジュールもお互い作ることができます。 いつまでに何をするかをカレンダー上に超簡易WBSっぽく作れるのも良いです。

MoneyForward

複数の銀行、複数のクレジットカードを統合して家計の状況をグラフ化できるため重宝しています。 また、課金すると送られてくるメルマガ「お金のコンサル団」が多岐のジャンル(投資、家計、ローン、税金、保険、ローン)に渡りプロの意見を聞けるため、保険の加入可否、不動産投資を今後どのようにするかを考える一つの指標となり、家族では毎週欠かせないメルマガとなっています。 ITの知識はあっても、お金や資産に関しては素人なので、プロの意見を聞ける貴重な媒体としても機能しています。

挙げたサービスを書き終えた後に振り返ったのですが、万人が使用するようなものはそれだけ使い勝手が良いというのがよく分かりました。

PySpa童貞卒業しました

pyspa advent calendar

pyspa Advent Calendar 2015の12日目の記事です。 今年ようやく初参加できました。

qiita.com

PySpaと自分

3年前のPyFesが無ければPySpaに参加することも無かったでしょう。 nikuyoshi.hatenablog.com

そこで知り合った @voluntas さんのツイートを追っていて、偶然にも地元の熱海で合宿をしているという噂を聞き、実家の帰省がてら、いつかは行ってみたいと思っていました。 確かそれが3年前のこと。 その噂を聞いてからPySpa関連のエントリーや写真などを漁っていたのですが、参加者の方々が実家の近くで活動しているのがよく分かりました。 サンビーチに行ってる写真がアップロードされていた時には、もう、それ実家から徒歩30秒の場所なんですけど・・・と思ってしまいましたよ。

18年過ごしてきた場所で喜々として活動している皆さんが楽しそうで、いつかは自身もその輪の中に入りたいという思いがこみ上げてきました。 その思いとは裏腹に、古参の方達が多く参加しているということで、自分のような新参者が馴染めるのかどうかという不安を感じ始めましたが、何も考えずにとりあえず参加して、合わないんだったら抜ければ良いだけだと気づき、参加することを決意しました。

記事を漁った時に特に印象に残った記事として、以下の @a2c さんのエントリーを載せておきます。

PySpa集合写真 笑顔100% - When it’s ready.

この笑顔を見た時に、コミュニティとして純粋に楽しい場なのだろうと感じました。

PySpa 初参加

2015-06-26 ~ 2015/06-28 に実施すると4月頃に聞き、参加表明を出しました。 @voluntas さんと @shiumachi さんが参加に後押しをしてくれたのも大きかったです。 ありがとうございます。 初参加の感想としては、

  • 自由
    • 寝たい時に寝られるし、好きなタイミングで温泉にも入れる
    • コードを書いていても良いし、談話していても良い
    • ただし朝夜のご飯は一緒に食べる
      • 一日に二回、必ず全員が集まる場を設けるのは良いと思う
  • 技術を持っているだけでなく、きちんとその技術を説明でき、かつユーモアを交えて伝えられる人が多い
  • カメラ好きな人が結構いる
    • 趣味でやっているので個人的には嬉しい
  • Slackのbotに対しての熱い思い
  • @moriyoshit さんすごい
PySpaに参加して

参加者のほとんどの方が知らない人でしたが、2泊3日で多少なりとも話ができたのは良い経験でした。 技術を持っているだけでなく、その持っている技術をきちんと説明でき、ユーモアも交えて話せる方がいかに多いかが分かり、自身が足りてない能力を改めて見つめ直す機会となりました。 参加して終わり、ではなく何かこの参加がきっかけで成果をあげられるように精進していきたいと思っております。 はい。

明日はbuchoこと @torufurukawa さんです。 よろしくお願いします。

エラーログ設計に関して

ログ

qiita.com

タイトルからだとぱっと見分からないのですが、バッチ処理に関してのログ設計に関して書かれていました。

良い記事だと思います。 一点気になったことを挙げるとすれば、エラーコードに関して言及がなかったのでどういう思想があるのか聞いてみたいです。

個人的な意見ではありますが、エラーコードの設計はこんな感じでやればいいのではないかと思ってます。

※あくまで個人的な考えなのでご意見等ありましたらnikuyoshiまでご連絡ください。

定義

  • エラーレベル
    • FATAL
    • ERROR
    • WARN
    • INFO
    • DEBUG
  • エラー種別(括弧内はエラーコードで使用するアルファベット3桁)
    • システムエラー( SYS )
    • アプリケーションエラー( APL )
    • 業務エラー( BIZ )
    • セキュリティエラー( SEC )
    • 不明なエラー( UNK )
  • カテゴリ
    • カテゴリはアプリケーションの機能ごとに分離して定義する。
      • 00 : 売上データ取り込み関連
      • 01 : 売上個社別日次集計関連
      • 02 : 売上データホスト送信関連
  • コード値
    • カテゴリで分類されたものをさらに細分化する。
      • カテゴリ-コード値 で以下のように表記してみる。
      • 00-001 : 売上データ取り込み開始
      • 00-002 : 売上データ取り込み警告終了
      • 01-001 : 売上個社別日次集計開始
      • 01-002 : 売上個社別日次集計正常終了
      • 02-001 : 売上データホスト送信開始
      • 02-002 : 売上データホスト送信異常終了

エラーログの出力形式

  • 日付
    • yyyy/mm/dd
  • 時間(ミリ秒)
    • hh:mm:ss,nnn
  • エラーレベル
    • FATAL / ERROR / WARN / INFO / DEBUG
  • エラーコード
    • アプリケーションで定義したエラーコード定義。 Zabbix等の監視ソフトウェアで監視させる場合にキーとなる情報とする。
    • エラー種別-エラーレベル-カテゴリ-コード値(-必要であれば枝番等)
      • ex. APL-INFO-00-001, APL-ERROR-02-002
  • スレッド名
  • エラーメッセージ

出力形式をまとめると、以下の通りとなる。

日付 時間 エラーレベル エラーコード [スレッド名] エラーメッセージ

ex.

2015/11/26 01:20:00,000 INFO APL-INFO-00-001 [main] 売上データ取り込み 開始しました。

2015/11/26 01:21:00,000 ERROR APL-ERROR-02-002 [main] 売上データホスト送信が異常終了しました。

最近の英語の勉強方法

目標

ネイティブ並に喋れること。 ビジネス英語で使えるレベルまで引き上げること。

使っているもの

勉強方法

  • 行き帰りの電車内1時間でiKnowをひたすらやる。
    • やる気がない時は家に帰ってからもやる。 必ず毎日1時間やる。
  • 毎日Lang-8でアウトプットする。
    • アウトプットが伴わないと単語を覚えようとしないため。
    • 添削されることによって細かい文法のミスに気付くため。
  • iKnowで分からない文法があったらEnglish grammar in useやForestを使って文法を補う。
    • どこでもすぐに見れるように、English grammar in use はiPhoneのアプリを使用している。

Murphy's English Grammar in Use

Murphy's English Grammar in Use

  • Cambridge University Press
  • Education
  • Free

補足

Lang-8は添削しあうことで本当は無料で使えるサービスなのですが、こちらが日本語の添削する時間が勿体無い、というか目的は英語力を身につけることなので、課金をすることでできる限り日本語で添削する時間を減らせるようにしています。

悩み

リーディング、スピーキングをどう補うか。 英会話学校高いんですよね…。 いい方法が無いか模索中です。

Qiitaでこそこそと投稿してました

ブログよりも投稿しやすいということで、一時期Qiitaに記事を投稿していました。

qiita.com

投稿していて感じたのは、

  • 記事を書く際に右側にプレビュー表示がきちんとされていて見やすい
  • 機能がそこまで多くなく、シンプルで使いやすい
  • はてブより気軽に「ストック」できるので、承認欲求を得やすい

ことですかね。 おかげではてなブログより多少は書きやすかったです。

あと、フォローしたタグに関する記事を一覧でダッシュボードに表示してくれるのはありがたいですね。