わかりやすい

主にIT関連や時事ネタの興味を持ったことを、なるべくわかりやすく書いてみようとおもいます。

スポンサーリンク

コミュニケーションツールに求めるもの

thebridge.jp

こんな記事がバズられている。 クリエイティブな仕事をする人に対して割り込みがいかに生産性を下げるかはいろいろ話題になっていた気がする。

ちょっとコミュニケーションツールのあり方について考えてみようと思う。

「メッセージをいつ読むべきか」は誰が決めるべきか?

「これは電話するほど急ぎじゃないでしょ」とか「これは急ぎだから電話してほしかった」とか、よくありそう。分類するとこんな感じか。

  • モラルある送信者により、適切な通知がなされるケース
    • 急ぎは電話(リアルタイム・双方向)
    • それ以外はメール(非リアルタイム・片方向)
  • モラル無き送信者により、不適切な通知がなされるケース
    • 急いでいないのに電話
    • 急ぎなのにメール

いつ読むかはモラル有る人が決めるべきかもしれないけど、ツールにするなら「送信者」と「受信者」しかいない。

「送信者がモラルがあるかどうか」を「受信者が決める」方式でどうだろう。

モラルを考慮したコミュニケーションツール

概要はこんな感じ。

  • ユーザは他のユーザとツール上で「つながる」
    • 「つながる」ことで、メッセージを送信しあえる
    • Facebookの友達とかそういう感じ
  • ユーザは、つながっている相手のモラルの程度を設定できる
  • ユーザはメッセージを送信する際、相手にいつ読んでほしいか、というメタ情報を付加して送信する
  • ユーザがメッセージを読むに至る動線は以下の3パターン
    • リアルタイム(通知あり)
      • メッセージを受信したタイミングでポップアップ
    • 非リアルタイム(通知あり)
      • 定期・定時でポップアップ
    • 非リアルタイム(通知なし)
      • 自分で見に行く

機能的には実現できそうだけど、状況によって「私、あなたのことモラル無いと思ってます」と相手にばれることが問題か。リアルタイム(通知あり)をも無視する「取り込み中」機能とか作ればカムフラージュできるかな。

余裕があればもうちょっとまじめに考えてみようかしら。

eclipseとxdebugを使った、リモートマシン上で動作するphpの開発・デバッグ

標記の件。メモ程度ですが、重要な点のみメモしておきます。 (例によって推測を含みますので、内容の精度は各自の責任にて。)

やりたいこと

上記を実現するためのアプローチ

xdebugを利用する際の障壁

  1. eclipseで編集するためのファイルがローカルマシン(eclipseを動作させているマシン)に無い
  2. xdebugを用いた真の(phpを実行するマシンとeclipseを実行するマシンが異なる構成での)リモートデバッグに関する情報が意外と少ない

以下、ここについてちょっと解説。

1. eclipseで編集するためのファイルがローカルマシン(eclipseを動作させているマシン)に無い

eclipseでファイルを編集したり、xdebug

これの解決策は2パターン。

要するにsshとかでリモートにあるファイルをローカルにあるように扱う。 ちなみに、私はこれはパフォーマンスの面で問題が出て、採用しなかった。 (プロジェクトの管理対象ファイル数が少ない場合とかはいけるかもしれない)

持ってきたソースコードEclipseのプロジェクトとして登録、 適切なデバッグ構成を設定すればとりあえずブレークポイントの設定とかステップ実行とかできるようになる。

問題はソースコードを編集した際の変更を実行マシンに反映させる方式。 自分のローカル(Eclipseを動作させている)環境はwindowsなので、winscpミラーリングアップロード機能を使うことにした。

2. xdebugを用いた真の(phpを実行するマシンとeclipseを実行するマシンが異なる構成での)リモートデバッグに関する情報が意外と少ない

はい、この記事を参考にしていただけると幸いです。 xdebugの動作概要はぐぐれば出てきますが、簡単に説明すると

これに尽きる。つまり、xdebugには以下を設定する必要がある。

具体的に書く内容は以下。

zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable = On
xdebug.remote_autostart = On
xdebug.remote_host = xxx.xxx.xxx.xxx

1行目はxdebugのモジュールを読み込んで、リモートデバッグ機能をphpに取り込む設定。 2行目はリモートデバッグ機能を有効にするかどうかの設定。 3行目はよくわかっていない。 4行目はデバッグ情報を送信する先のホスト名(要するにEclipseが動作しているローカルマシンのIPアドレス

上記の設定をphp.iniに書くと、リモートデバッグが行えるようになる。 apacheのDSOとして動かしているなら、php.ini(からincludeされている/etc/php.d/xdebug.ini)に上記を書いて、apacheをreloadする。 gracefulで反映するかどうかは未確認。

まとめ

eclipsexdebugを使った、リモートマシン上で動作するphpの開発・デバッグの環境について、必要な点を整理しました。 余裕があれば、上記を実現する具体的な手順も書いてみようと思います。

rsyncのinclude, excludeについて

超お久しぶりです。

みなさん、rsync使ってますか? バックアップとかリリースとか、工夫次第でいろいろ使えて便利ですよね。 けど、特定のファイルとかディレクトリを対象(対象外)にしたい場合に使うincludeとexcludeの使い方、難しくないですか? 自分向けのメモの意味も含めて、少し整理してみたいと思います。

#現時点では動作検証まではしていませんので、間違いが含まれるかもしれません。悪しからず…。

基本

rsyncは以下のような動作をする。

  1. コピー候補となるファイルリストを作成する
  2. 上記で作ったファイルリストの1行ずつに対して、コピーするかしないか判定する

上記の2.の動作が一番の本題ですね。

  1. 引数で与えられたinclude, excludeについて、指定順に評価する
  2. 条件に合致した時点で動作が確定する(合致した条件以降の条件は評価されない)

上記に加えて、以下の動きをします。

  • あるディレクトリがコピー対象外と判定された場合、そのディレクトリ配下の全ファイル・全ディレクトリはコピー対象外になる

さて、これだけだとちょっとわかりにくいので具体例を。

具体例

前提

例えば以下のようなディレクトリツリーがあったとします。

./hoge.txt
./fuga/moge.txt

これを/var/tmp配下にコピーしたい場合で考えたいと思います。

rsyncの動作(include, exclude指定なし)

素直に全部コピーしたい場合は

rsync -avP ./ /var/tmp

こんなコマンドになります。

ファイルリストの作成

rsyncは以下のようなファイルリストを得ます。

./
./hoge.txt
./fuga/
./fuga/moge.txt

ファイルは2つですが、ディレクトリもリストに含まれることになる点がポイント。

コピーされるもの

includeもexcludeも無いので、全ディレクトリ・全ファイルがコピー対象になります。

rsyncの動作(include, exclude指定あり)

さて、例えば

rsync -avP --include="moge.txt" --exclude="fuga/" ./ /var/tmp

こんなオプションで実行したとします。

ファイルリストの作成

再掲。

./
./hoge.txt
./fuga/
./fuga/moge.txt

コピーされるもの

前述の通り、ファイルリストの1行ずつに対して評価されます。

./

includeにもexcludeにも合致しないので、コピーされます。

./hoge.txt

includeにもexcludeにも合致しないので、コピーされます。

./fuga/

includeには合致しませんが、excludeに合致しますね。コピーされません。

./fuga/moge.txt

includeに合致しますが、上位ディレクトリ(./fuga/)がコピー対象外になっているのでコピーされません。

まとめ

以下を抑えておくと、うまく使いこなせるのではないでしょうか。

  • rsyncは以下のような動作をする
    • ファイルリストを作る
    • ファイルリストの1行(各ディレクトリ、ファイル)に対して、引数に指定された順番でincludeやexcludeが評価され、マッチした時点で動作が確定する
    • ディレクトリがコピー対象外として判定された場合、その配下のファイル、ディレクトリは無条件にコピー対象外となる

ではまた。

参考文献

tech.nitoyon.com

お金の話

こんばんは、わかりやすいです。

老後まで幸せに過ごすために、ある程度のお金は必要ですよね。わかりやすいは退職時点で5,000万円あれば、家族に迷惑をかけずに老後を過ごせるかなと思っています。

5,000万円なんてかなり大金で、多少リスクのある金融商品に手を出さない限り達成は困難だと思います。少なくとも一般的な収入の人は。

さて、どうやって貯めていきましょうね。 自分が見てきた有効な手法を整理しようと思います。

基本的な戦略

  • 元本割れリスクを有する金融商品に積み立て投資して資産を増やす
  • 節税になる商品を積極的に採用する(主に確定拠出年金、NISA)
  • 投資比率は金融商品の特性(主に中途解約可否や積立金の変更可否)と支出計画を考慮して決定する

結論的な話になりますが、もう少し掘り下げるとこんな感じです。

  • 大型出費(車とか家の頭金とか子どもの学費とか)を乗り切れるだけの資産を、中途解約可能なNISAで形成する
  • 上記の余剰分は確定拠出年金に投資する
  • NISA、確定拠出年金いずれも運用利回り5%を目指す

毎月6万円積み立て、5%の利回りで30年間運用すると、だいたい4,900万円くらいになる。

次回はもう少し具体的な計画に落とし、考察していこうと思います。

MVNOを比較する観点

こんにちは、わかりやすいです。

格安SIMとかのことばっかり書いてますね。 さてさて、格安SIMを選ぶ場合の観点を整理しておこうと思います。

格安SIMを選ぶ場合の観点

  • 実質的な通信品質
    • 言わずもがな、SIMの主機能
    • 「費用対効果」の「効果」にもっとも重要な影響を与えるべき項目
    • 宣伝文句としての「無制限」とか「xxxMbps(理論上の以下略)」みたいなのはあてにならないので、twitterとかでユーザの声を聞くのが一番
    • その中でも重要なのが「一般的な混雑時間帯(平日12:00~13:00)での使い心地」
  • サポート
    • 大手通信事業者と違って、全国にxxショップみたいなサポート窓口が無いことが多い
    • 今までxxショップにお世話になったことがある人は、MVNOだとどうなるのかちゃんと考えてから契約しましょうa
      • 一番インパクトが大きいのは端末故障とか使い方がわからない場合の相談でしょうか
    • 「なんか良くわからないけど調子悪い」という状況を、どこまで本気で解消しようとしているのかが重要
    • twitterでの簡易サポートを行っているMVNOも多い
  • 価格
    • 「費用対効果」の「費用」そのもの
    • 価格先行で決めると後悔するので、「何がこの価格なのか」をちゃんと理解しましょう
    • 基本的には「大手通信事業者(MNO)>>格安SIM事業者(MVNO)」というような感じ
    • 安いには安いなりの理由があるので、大手通信事業者と違うところがある上での価格差、というのは認識した方がよいでしょう

で、どこがおすすめなのよ

IIJmio(ただし買うのは公衆無線LANが無料で付いているBIC SIM)一択。理由は以下。

真摯な姿勢

てくろぐ: とか IIJmio (@iijmio) | Twitter とか見てて、本当に生真面目にユーザに向き合っていると思う。

サービスの仕様に納得感がある

前述の「真摯な姿勢」の結果に過ぎないのだけど、例えば最低契約期間の設定。 契約時の初期対応や解約時の対応のコストを考えると、「あまり短期間で解約されると収益性に問題が出る」のはよく理解できる。 で、具体的な最低契約期間の設定について、代表的には以下の2パターン。

  • いわゆるx年縛り
    • いつでも解約可能だが、基本的に解約時には違約金が発生する
    • x年に1ヶ月だけ、違約金が発生しない月が巡ってくる
  • 最低xヶ月利用
    • いつでも解約可能だが、利用期間に応じて違約金が発生する
      • xヶ月以上利用は違約金が発生しない
      • 利用期間が短ければ短いほど違約金が高くなる

より高い収益性や売上げ見込みの正確性を考えれば前者になる。つまり、契約した瞬間にその人が向こうx年間でいくら支払うかが確定する。 世の中にこの方式しかないのであれば気付かなかったかもしれないが、後者が出てきたことで、前者の見方が変わる。

x年縛りは「利用者のサービス選択の自由」を奪っているように見える。 解約のリスクを通信事業者が極力負わないようになっている。

後者はどうか。前者と比べ、利用者のサービス選択の自由はかなり確保されていると感じる。 その分xヶ月以降は解約障壁が下がるため、通信事業者は解約のリスクを負うことになる。 けど、市場原理ってこういうことだと思う。自信がないと取れない戦略。

「絶対に永く使っていただけるようなサービスであり続けるんだ」

そんな意気込みをどうしても感じてしまう。

高い技術力

永く使ってもらいたいと願うだけではダメで、いいサービスを提供するためにどれだけ努力しているかが重要だと思います。

自分はIT(特にインフラとかネットワークに強い)エンジニアなので書いてある内容はざっくり理解できるんですが、

てくろぐ: MVNOのメール・iPhone VoLTEとみおふぉんダイアル・Androidスマホの不安定な挙動を調査 (IIJmio meeting 7 資料公開)

これとかすごい。まじめ。高い技術力。 OCNとかビッグローブとかソネットとかNiftyとか日本通信(b-mobile)とか他社の状況もいろいろ調べていますが、 このレベルでまじめに取り組んでいる(ことがインターネット上で読み取れる)のはIIJmioのみ。 IIJの歴史とか調べてみると、あぁなるほどね、という感じです。通信とかインターネットに対するプライドが桁違い。

IT屋としてほんとお勧めです。IIJmio

BIC SIM

IIJmioを知ると惚れ込んで他を利用する気がなくなりますが、 目下の課題は平日12:00~13:00の混雑。確かに前より使用感が悪い。 利用者(というより利用帯域)増に設備増強が間に合っていないと思われる。 まぁでもすぐ改善されるでしょう。この状況を長く放置するような事業者じゃない。

格安SIMでおサイフケータイを使う

こんにちは、わかりやすいです。

脱二台持ち、ではありませんでした - わかりやすいの続きです。

わかりやすいが何をしているのか、結論から書いていきましょう。

目次

わかりやすいの要望

おサイフケータイ対応のスマホに格安SIMを刺している人には「使えて当然」という話かもしれませんが、自分はNexus5が超お気に入りなんです。

↑これ。DoCoMoおサイフケータイ対応端末を買ってその1台に全部集約する、というところまで気分が盛り上がらないんですよね…。

ちなみにIS05は↓こんなん。

もはや過去の遺物ですが、非常に名機だったと思います。 セキュリティパッチが当たるAndroidにアップデートできればmineo(auのSIMを提供してくれる数少ないMVNO)を契約してIS05を現役復帰、というのも無きにしも非ずですが、 それが叶わないのと、あと性能的にAndroid4系とか5系はちょっと厳しいのかなと。

さて、そうすると2台持ちでもやむなし、という考えになるわけです。

わかりやすいが行っていることと、実現できていること

以下を行っています。

  • Nexus5でWiFiテザリングを有効にする
  • IS05に、解約済みのauのSIMを刺す
  • IS05をNexus5のWiFiに接続する

これにより、IS05がおサイフケータイとして機能します。 一つ目、二つ目はIS05をインターネットにつないで、おサイフケータイのアプリで チャージとかさせるために必要、というのはなんとなくわかりますが、 二つ目の「解約済みのauのSIMを刺す」というのが、よくわからないですね。

何がポイントなのか?

以下が罠です。

SIMが刺さっていないとモバイルSuicaのアプリが起動できないんです。 解約済みのSIMでもいいのか?いいみたいです。ただし、通信事業者によっては 端末とSIMの組み合わせに制限をかけているところもあるようで、 「(契約的に通信が行えるかどうかではなく)端末が使えるSIM」を刺しておくことが必要です。

ちなみに楽天Edyは今のところSIMの確認は行っていないみたいです。

その他のおサイフケータイは使っていないのでわかりません。

というわけで、「おサイフケータイのためだけに2台持つか?」という疑問はさておき、 それがわかりやすいの望みなのです。もちろんNexus5がおサイフケータイとして機能してくれればベストなんですが。

脱二台持ち、ではありませんでした

こんばんは、わかりやすいです。

IIJmio mio高速モバイル/D(データ通信専用SIM or SMS機能付きSIM)契約者が同サービスにMNP転入する場合のベストプラクティス(報告編) - わかりやすい

でご報告したとおり、IIJmioMNPしてガラケー(電話)とスマホ(通信)はスマホ(電話&通信)になったのですが、 実は端末は相変わらず2台持っていたりします。

何事かというと、要するにおサイフケータイを使いたい、という話です。 あれ、大手通信事業者との契約がないのにおサイフケータイ使えるんだっけ? はい、使えます。使えています。少なくとも楽天EdyモバイルSuicaは。チャージも含め。

詳しくは次の記事で書こうと思います。