2014年10月21日火曜日

自作Twitterクライアント作成の記録(29)アプリだけで連携解除がしたい

先日Twitterを何気なく見ていたら、PCを持っていない友人へ向けた連携解除の手順を示した画像が流れてきました。
そういえばアプリだけで連携解除が行えるようなものが無いなと思い、無いなら作ってしまうか

というわけでまずは完成品の画像をいくつか


2014年10月19日日曜日

26年度秋のFE午後試験のエディットグラフの生成方法を自分なりにまとめる

最初に
あくまで試験中に考えた結果なので間違いや矛盾が潜んでいる場合があります。
そんな時はそっとコメント等で教えてもらえるとうれしいです。

今回の午後必須問題でエディットグラフなるものが出現したので、それの生成方法を自分なりに、しかも試験中に考えた方法をまとめておきたいと思います。

まず、問題に書かれていたエディットグラフの生成方法をそのまま書いてみます。(なお{}内の文字は追加補足)

1.0 <= X <= Str1Len{Str1Lenは文字列1の文字数}を満たす全ての整数Xに対して点(X,0)から点(X,Str2Len){Str2Lenは文字列2の文字数}に線分を引く

2.0 <= Y <= Str2Lenを満たすすべての整数Yに対して、点(0,Y)から点(Str1Len,Y)に線分を引く。

3.0 <= X <= Str1Len, 0 <= Y <= Str2Lenを満たすすべての整数X,Yの組に対して、Str1[X]とStr[Y]が同一文字の場合、点(X,Y)から点(X+1,Y+1)に線分を引く。

とにかくややこしいですがとにかく一つ一つつぶしていきましょう。

例として
Str1[]="abcd"
Str2[]="gracd"
とし文字列のi番目の文字をi-1と表記(例 Str1のbは2番目の文字なのでStr[2-1])
としましょう
こんな風なXとYのグラフの元でも書きましょう。
そしてStr1の文字数をX
Str2の文字数をYとして考えると・・・

こんな風にこのグラフの限界値を決めることができます。
下準備が済んだところで、まず一つ目の定義をこのグラフに適用してみましょう。
0 <= X <= Str1Lenを満たす全ての整数Xに対して点(X,0)から点(X,Str2Len)に線分を引く
ということは。
今回の例の場合
0 <= X <= 4を満たす全ての整数Xに対して点(X,0)から点(X,4)に線分を引く
と書き換えれます。
つまりどういうことか図で描くと
1をグラフに描くとこうなります。
このやり方で2も同様に描いてあげると
こうなります。(線が均等じゃないのは勘弁)だいぶ近づいてきましたね。
ここまでが1と2の作業の内容になります。
ここから3を使って斜めの線を入れていくことになります。
まず3で何をやってるのか完結に言うならば

「一致する”文字”(列じゃないぞ)が”他の文字列中”に存在するかどうか」

を全文字に対してやっています。
そして一致する文字があり、それぞれStr1[X],Str2[Y]とするならば
グラフ上の点(X,Y)と点(X+1,Y+1)を線分で結んで上げるというわけです。

今回の例の場合
一致する文字の組み合わせは
Str1[0] = 'a'とStr2[2]='a'
Str1[2]='c'とStr2[3]='c'
Str1[3]='d'とStr2[4]='d'
この三つになるはずです。
これをグラフに赤い点で描いてあげると
こうなりそれぞれの点からX+1,Y+1に向けて線分を描いてあげたら
エディットグラフの完成

こんな感じでしょうかね?
え?最短経路の求め方?理解に時間が足らなかった勘弁してくれ。

2014年10月8日水曜日

どんなに読みやすい説明書を作ってもダメな気がしてきた

本日2014年10月08日は皆既月食(月蝕)の日です。

え?このタイトルからなんでその話になるのか?
まあこれを見てください、言いたいことがわかりますから
あと愚痴交じり&矛盾がある可能性があるため

決して全部鵜呑みにするようなことはしないでください。
これは当日19時53分時点でのTwitterのトレンド内容です。
もうお気づきの方もいると思いますが

はい、とても誤字とは思えないあれでフォローのしようも無いやつです。
(どうやったら間違うんだこれ)
ここで注目したいのは
「日食」という誤字(一応誤字扱いにしておく、納得出来ないが)でかなりのツイートがされていること。(多分ネタにしてるものもあるだろうが)
ニュースやTwitterの話題で見ていたから今日見ている人、その時時間に初めて知って見ている人もいるでしょうが・・・・・・

これはさすがにひどすぎね??

もうわけがわかないよ
要するに何を言いたいのか
少なくとも、宣伝等のニュースではこんな誤字は無かったはずなので
読んでる側がちゃんと理解していないorしっかり読んでない
ということが言えるのではないでしょうか?
全員が全員とは言いませんが(釣り等のネタでつぶやいてる可能性もあるため)
なんだか開発者目指してる立場からすると、自分の作った製品の説明書が読まれずに使われて事故でも起こされるんじゃないかと心配になった今日の騒動でした。

P.S.月食は綺麗だったよ、曇ってて見にくかったけど