2016年12月21日水曜日

ヤフー最悪

これは酷すぎる。あまりにひどすぎるので会社名を実名で書かせていただきます。

身内が亡くなったので、いろいろな解約手続きをしたのですが、どうしても解約できないものがある。それがYahooのサービスの解約。

毎月ヤフーウォレットという会社から請求書が送られてくるのですが、何に対する請求かまったくわからない。
それだけではない。電話番号などが全く書かれていなく、どこで解約手続きをしないといけないのかが全く分からない。

請求書にはQRコードが書いてあるので、どうやらそこにアクセスすればよいんだなと思いそこにアクセスした。

問い合わせのページに行くと。わけのわからん項目がたくさんあり、どこに問い合わせてよいのか全くわからない。

酷すぎる。なんなんだヤフー。だからみんな使わねーんだよ。


いくつか入力するとやっと問い合わせのページが出てきた。

解約したい旨を書き込むと、まったく返事がこない。
一日待ってもこない。
ふざけんなよ。どんなに遅くても24時間以内に返信しろよ。
お前のところのオークションにもよく書かれているだろ。
24時間以内に応答できない人は非常に悪いの評価つけられちゃうんだよ。

ヤフーのサポート対応非常に悪いです。

さらに待ち続けます。

メールが返ってきました。
ここのURLにアクセスして解約手続きをしろと。

ふざけんな、客を散々待たせておいて、また同じようなことを入力しろと。
亡くなった人はお前のところと契約したかも知らないけど、僕はお前のところと契約した覚えはないし、お前に善意で知らせてやってんだよ。
なんでこっちがやんなきゃいけないんだ。
いったい何様のつもりなんだ。

怒りMAX。ふざけんのもいい加減にしろよ!酷すぎる。


そもそもサービスというものはお客様に価値のあるものを提供し、お客様の要望を叶えその対価としてお金をいただくものであり、客の言うことを全く理解しないどころかお客様がわざわざサービスにあわせるものではないはずです。
そんなふざけたサービスには金払わねーよ。とっととやめてやる。

とっととやめたいのに、とっととやめられないんだよ。

怒りを抑えながら、しょうがないのでもう一度同じようなことを入力。
以下の書類が必要ですと書いてある。
そんな書類ねーよ。

書類がない場合どうしたらよいのでしょうか?
先に進めないじゃねーかよ。
メールにはこのメールに返信しても届きませんと書いてある。
また問い合わせをするのかよ。

しょうがなく、とりあえず全く関係ない書類を適当なPDFにして送信ボタンを押す。
画面にはエラーと表示される。
セッションが切れました。時間がたっていますだって。
ふざけんなよ5分で入力しただろうが。
しかももう一度最初から入力してくださいと。

なんでもう一度入力しないといけないんだよ。
怒りを抑えに抑えてもう一度入力します。
また同じようなエラー

もう怒った。

お前のところ以外はすべて何の問題のなくすべて全部解約できたのに、解約できないのはお前のところのサービスと解約の電話を一時間くらい待たせたヤフーBBだけだ。

ヤフー、お前のところのサポートは最悪だ。
もうヤフーのサービスは一生使わない。メルカリに変えるからな。


もう、請求書も何の請求かわからない、解約しようとしても解約できない。
これ詐欺と全く変わらないじゃないか。

続く。




2016年12月7日水曜日

ZMQってなに?

おじさん忙しくてなかなかブログを更新できませんでした。
久々の更新。

車の自動運転のソースコード公開されたんだ
http://gigazine.net/news/20161206-commaai-open-source/

ソースコードでも見てみようかなぁ、
https://github.com/commaai

という軽い気持ちでソースコードを眺めていたら、自動運転ライブラリはZMQというライブラリを介していろんなモジュールが通信していました。

ZMQってなんなんでしょうね?
ということで今日はZMQについて勉強してみました。
ZMQとはどうやら0MQ(ZeroMessageQueue)の略らしいです。
http://zeromq.org/

どうやらIPC、RPCなどプロセス間通信とか分散処理をするライブラリみたいですね。
最近ではこのようなライブラリをつかってPythonとC++などの言語間のブリッジやWindowsとAndroid間など異なるプラットフォーム間の通信を行うんですね。
たしかに、こうすればあらゆるプラットフォームのあらゆる言語で開発できるし、C++のPythonラッパーを作るより便利だよね。

ディープラーニングとか機械学習はPythonで書かれたり、C++で書かれたりしているのでこのようなライブラリを使うんですね。


この辺日本人がなかなか理解できない苦手なところだよね。
全然使い方とか解説のブログないじゃんと思っていたら、ZMQガイドブックの翻訳版がありました。
http://www.cuspy.org/diary/2015-05-07-zmq/


ということで、ZMQのサーバとクライアントを作ってみました。
このライブラリ、軽量でかつ簡単に分散処理とか異なる言語間通信できるので、本当に面白いですね。


------------------------------------------------
// Hello World サーバー
#include <zmq.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
int main (void)
{
 // クライアントと通信を行うソケット
 void *context = zmq_ctx_new ();
 void *responder = zmq_socket (context, ZMQ_REP);
 int rc = zmq_bind (responder, "tcp://*:5555");
 assert (rc == 0);
 while (1) {
  char buffer [10];
  zmq_recv (responder, buffer, 10, 0);
  printf ("Received Hello\n");
  sleep (1); // 何らかの処理
  zmq_send (responder, "World", 5, 0);
 }
 return 0;
}

------------------------------------------------

------------------------------------------------
// Hello World クライアント
#include <zmq.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>

int main (void)
{
 printf ("Connecting to hello world server...\n");
 void *context = zmq_ctx_new ();
 void *requester = zmq_socket (context, ZMQ_REQ);
 zmq_connect (requester, "tcp://localhost:5555");

 int request_nbr;
 for (request_nbr = 0; request_nbr != 10; request_nbr++)
 {
  char buffer [10];
  printf ("Sending Hello %d...\n", request_nbr);
  zmq_send (requester, "Hello", 5, 0);
  zmq_recv (requester, buffer, 10, 0);
  printf ("Received World %d\n", request_nbr);
 }
 zmq_close (requester);
 zmq_ctx_destroy (context);
 return 0;
}
------------------------------------------------