2017年11月3日金曜日

SlimにMonologのContextは反映されない

Monologを利用したときログの付加情報として
Contextを設定すると内容が反映されますが
Slimで利用すると反映されません。

Slimでログを書き込むときに呼び出すメソッドの
第2引数にContext情報を渡せますが、実際には
渡したContext情報は第1引数のメッセージに
情報を上書きする機能のようです。
内部でstrstrを利用して文字列の置換を行っています。

期待していた動作と違いますが、第1引数の情報を
文字列ではなく配列にすることで似たようなことは
できるので、これで対応しようと思います。

2017年8月31日木曜日

2017年8月25日に発生した通信障害は大変だった

2017年8月25日に発生した通信障害の原因は
インターネットに関する設定の誤りみたいですね。
このような事態は中々ないと思いたいですが
当時を振り返ってみて整理してみようと思います。

お昼過ぎに顧客から閲覧できないという問い合わせが発生。
確認したところ、こちらからは問題なく閲覧できたので
一旦は現状報告を行い終了しました。

しかし、気になってふとSNSを見てみると
「繋がらない」、「アクセスしづらい」を含む
メッセージが現れるように…

普段とは違う感じを察し、まずは利用しているサービスの
障害情報を確認したところ障害が発生している情報が出て
いたので社内の関係者に内容を連絡。
次にSNSで障害に関する内容が流れていないか検索に
かけてリアルタイムでチェック。
ニュースサイトも確認してデマではない様子。

再度、落ち着いて稼働サービスを確認し閲覧できることを
確認できたので特定の環境下で影響していると推測。

その後は「閲覧できない」に関する問い合わせが来ても
「今日発生した障害が影響している可能性あり」と
「一度社内の担当の方へ確認してください」で対応し
結果的には事なきを得ました。

真っ先に確認することは障害情報ですね。
後はヘルスチェックが行えるよう整備したり、SNSなどで
特定のキーワードをチェック、botで監視するのも
有効かなと思いました。
何か問題が発生したときのその後のエンドユーザーへの
情報発信も整備しなければと。

コレというベストプラクティスがあれば助かりますが
まずは情報収集から始めなければ。

2017年6月30日金曜日

Google Play Music 3ヶ月100円キャンペーンを利用してみて

Google Play Musicの3ヶ月100円キャンペーンを利用した
結果、定期購入は止めました。
3ヶ月音楽ライフを過ごしてみての感想です。

これまで良いなと思っても購入までにはしなかった曲が
聞くことができCD何枚分かは得したかなと思います。

しかし好きなアーティストの曲が1曲も存在せずショックでした。
これが定期購入をしなかった決め手です。
同じレーベルから別のアーティストさんの曲は出ているのに
何故?と思いましたが、何か基準や理由があるのでしょうか。

Google Playの「音楽」からは購入できるのでGoogle Play Musicでも
あるかなと思っていましたが、現実は甘くなく必ずしもあるとは
限らないと知りました。
利用するまではどんな曲が聞けるのか分からなかったので
利用してからのお楽しみということでしょうか。

Google Play Musicで聞く事のできない曲は購入して聞いてくださいね。
ということですね。

2017年5月7日日曜日

AbemaTVが502を返して閲覧できなくなったときにしたこと

大型連休の最終日AbemaTVを見ていたら
画面が固まり、リロードすると502を返してきました。
こんなときインフラの担当者は裏側で大変なことに
なっているのかなと想像すると怖くなります。
アクセス過多によってサーバが落ちてしまう経験は
まだないので想像でしかありませんが。

AbemaTVで遭遇したこと
  1. 見ているチャンネルの画面が固まる
  2. 見ているチャンネルでリロードすると
    502またはSorry画面が表示される
  3. 見ているチャンネルを再リロードしても
    502画面がすぐに表示される
  4. AbemaTVのトップページにアクセスしても
    502画面が表示される
  5. AbemaTVのサーバが落ちたと判断
  6. Twitterで情報収集
  7. 30~40分後にAbemaTVのトップページに
    アクセスするとチャンネル一覧が表示される
  8. トップページのチャンネル一覧から
    見たいチャンネルを選択すると閲覧できた
見ているチャンネルでリロードするとSorry画面が
表示されて見れない状態が続いていましたが、
サーバが立ち直ったのかトップページのチャンネル
一覧が閲覧でき、そこからチャンネル選択することで
見ることができました。

Twitter上ではアプリからだと閲覧できるという情報も
ありました。運悪く電池切れで試すことはできず。
リロードを続けるとアクセス負荷も増えると思ったので
すぐに502画面を返した後は控えました。

閲覧できなくなったときは
  • スマートデバイスのアプリを利用する
  • ブラウザを再起動してトップページから確認
それでも閲覧できないときは復旧するのを待ちながら
Twitter公式アカウントをチェックすることでしょうか。

無料でいろんな番組が見れて重宝していますが
アクセス過多でも耐えられるよう願うばかりですし
インフラは何を使っているのか気になりました。

番組視聴終了後のCMで「番組を見逃したときは」
という触れ込み。サーバが落ちていたら見逃しも
何もないのですが。

Twitter公式アカウントで今回のサーバ障害が原因で
視聴できなかった番組の再放送に関する発信があったようです。
期間限定だと思いますので、時間の都合が合えば
視聴しようと思います。

2017年4月23日日曜日

プログラミング用フォントにMyricaをインストール

プログラミング用に適したフォントを探していたところ
Myrica(ミリカ)というフォントを見つけました。

以前プログラミング用に適した別のフォントRictyを
使ってみようと考えたものの、ライセンスの影響で自分で
コンパイルする必要があり環境を用意するのも億劫になり
諦めていました。

Windowsに入っているConsolasというフォントを
利用していて視認性が高くプログラミングで困ることは
なかったのですが、久しぶりに探してみたところ
今回のフォントを見つけたのです。

詳細はこちらの配布元にありますが、特に気になった点を。

  • 導入を諦めたRictyの多くの特徴を継承していること。
    Rictyの視認性が良い感じだったのでありがたいです。
  • 配布元にフォントファイルが用意されていること。
    導入を諦めた理由の環境の用意が必要なく、配布元から
    圧縮ファイルをダウンロードして解凍して
    フォントファイルをインストールするだけで利用できる
    使い始めのハードルが低いこと。
インストールが容易でプログラミングに適しているフォントを
探していたので、一度Rictyのインストールを諦めたことが
ある場合は試してみても良いかもしれません。

2017年3月12日日曜日

Google Play Music 3ヶ月100円キャンペーンでVプリカは利用できるか

Google Play Musicで何度か実施されている3ヶ月100円キャンペーン
通常月額980円のところ3ヶ月を100円で利用できるので
期間中は月額33円となりますね。
また期間中は試用期間として扱われ、試用期間終了後は
定期購入となるようです。

今なら100円払えば5月末まで聞き放題となるので
利用してみましたが、購入完了までに少し苦労しました。
まずGoogle Playの音楽や動画購入時に利用できていた
Vプリカが使えません
購入時に下記のメッセージが表示され購入失敗扱いとなります。
お支払い方法が承認されませんでした。別のお支払方法を選択するか、
しばらくしてからもう一度お試しください。 [BM-CPEC-01]
Google Play Music は現在エラーが発生しています。
数分後にもう一度お試しください。
メッセージの通り数分後に何度試しても失敗。
確認したところVプリカの利用できない加盟店に明記されていました。
利用できない加盟店を確認したい|ネット専用Visaプリペイドカード
一覧中のか行 Google Music(月額:聞き放題)
残念です。
キャンペーン適用料金の試用期間でもクレジットカードが必要になります。

クレジットカードを利用する場合はログイン済みのGoogleアカウントから
Google Playにアクセス、左メニューの「アカウント」から
「お支払い方法を追加」の「クレジットカードかデビットカードを追加」で
追加します。
あとは再度、Google Play Musicのキャンペーン適用料金を確認し
追加したクレジットカードを選択で購入することができました。

少しの間ですが音楽ライフを満喫しようと思います。
あと購入するとき夜遅かったので、もしかしたら時間で換算したとき
1日分を失うかもしれないと思ったのですが、0時を回った後でも
前日の日付で計算されていました。
日付の基準は日本時間ではなく米国時間なのかもしれません。
購入するときは時間も気をつけないと。

2017年3月1日水曜日

pkillでまとめてプロセスを削除

pkillというコマンドで条件に一致する実行中の
プロセスをまとめてkillできます。

pgrepというコマンドは条件に一致する実行中の
プロセスを探し出してくれます。
ps aux | grepでも同じことはできますが
こちらの場合grepは除外されません。

プロセスssh-agentの場合
pgrep -l -f 'ssh-agent'でプロセスとPIDを表示
pkill -f 'ssh-agent'でプロセスをkill
これで終了。
プロセスをまとめてkillする場面ではこちらが
便利ですね。

2017年2月25日土曜日

炎上案件で見つかる火種

終りが見えない炎上案件に加えられて
溜まる不満・火種を吐き出します。

参加するまでは大きな問題が発生したとは
聞いていなかったが、いざメンバーに加えられて
フタを開けてみると、基本的な部分ができていない。

進行の相談ができず、残り少ない日数で
開発するしかなく、時間がない=残業確定。
残業は覚悟していたが、まさか終電間際が
度々続いたりこんなに酷いとは思わなかった。

開発していたシステムのメインエンジニアは
開発経験はあるが畑違いのため、サポートが
必要だったのにも関わらず、サポートがあって
無いような状態。
そのため、右も左も分からないレベルで開発が
行われていたと思われる内容で、手を入れるのにも
苦労することに。

また、開発しているシステムは、プログラミング
以外にその業務の知識やオペレーションを知って
おかなければ開発に支障をきたす可能性があるのに
私自身は、無知の状態。
なので、何が正解か間違いなのか判断できず。

開発に必要なドキュメント類が存在しない。
フラグでデータの状態を管理しているのに
内容を把握するためのドキュメント類がなく、
当人しかわからない。
ソースを見れば対処できるかと思ったが、
マジックナンバー全開。
コメントだけじゃなく、定数にしてくださいよ本当に。
数値見てナニコレとどれだけ心の中で連呼したことか。

複数人で開発を行うのにバージョン管理がない。
Gitは利用しているのですが、この開発には
バージョン管理というものがありませんでした。
編集箇所が同じファイルということはアルアルなのに
編集して反映しようとすると、すでに誰かの編集済み
ファイルが上がっていてやり直すことが何度も。
「ファイル編集します!」「このファイル最新?」
「ファイル編集した?」「編集が反映されてない!」
必要ないであろうやり取りが発生して疲れる。
コレが当たり前と感じているのだろうか
言っても手遅れ状態なので担当部分だけでも
バージョン管理しました。

スケジュールが末端に降りてこない。
直近の進行や消化しないといけないタスクが
不明瞭のため、今日はどこまでやり遂げなければ
ならないかわからない。
進行の相談ができないこともあり八方塞がり。

愚痴をこぼすことは許されず、心身の負担が
減ることもなくイライラが募るばかり。
ハァ疲れた。

2017年1月3日火曜日

2016年紅白の恋ダンス可愛かった

2016年の紅白歌合戦で星野源さんと
新垣結衣さんが出るとのことで
もしかしたら二人で恋ダンスを
踊るかもと淡い期待をしていましたが
新垣結衣さんは審査員として出ていて
早々に期待は砕かれました。

星野源さんが歌う場面はしっかりと
放送画質で録画し、リアルタイムで
見ていたところ、見間違いでなければ
バックダンサーは動画で出演されている
方々でプロの恋ダンスはカッコ良かった。

最後のあたりでカメラマンが
新垣結衣さんを映す時間が長いなと
思っていたら、お一人で恋ダンスの
振り付けの一部分をしてくれていました。

しかも見るからに照れている感じがして
もの凄く可愛かった。

カメラマンさん
イイ仕事ありがとうございます。
受信料払っていて良かった。