記事一覧はこちら

AndroidのSSL含むネットワーク通信をキャプチャしたい。特にTwitter公式アプリ

Twitter公式アプリの投票APIをハックしたいよ~

元ネタ様>Twitterの投票(アンケート)APIを割った話 - Avoid the Void

俺は普段Fiddlerでやってて、これはうまくいけばhttps通信も実機でキャプチャ出来る。キャプチャというかリアルタイムでトレース出来るのが素晴らしい。c#プラグインを作れるのもグッド。

が、何故かTwitter公式アプリは取れなかった。あれこれやった記録。

SandroProxyという無料のAndroidアプリを使う方法。インストール自体は問題なく出来たんだけど、wiresharkをリッスンする?のがわからんかった。 SandroProxy with Chrome devtools - YouTube SandroProxy wireshark live stream for ssl, websockets - YouTube

Android端末内のトラフィックをリアルタイムでジロジロする@Wireshark & OWASP ZAP <○><○> - Qiita Genymotion用にソースファイルをコンパイル&インストールしてこの先生きのこるには - Qiita まさにこれ!と思ったけどnetcatというAndroid(linux)用のバイナリが必要?らしく、コンパイルに失敗でダメ。色々設定済みのGenymotionの仮想マシンファイルくれ~

よくよく考えたらこのルートの取れてるAndroidあったやん!と思ってOWASP ZAPを試してみたけどダメ。 Android側でプロキシの設定をonにしてもOWASP ZAPでキャッチされない。同じ環境で使い慣れたFiddlerを使ったらキャプチャ出来たから何かが違うらしい・・・ OWASP ZAPはwindowsで動かしてるんだけど、そのwindows上でfirefoxのプロキシ設定をいじったらちゃんとキャプチャされた。OWASP ZAPのどっかの設定が抜けてる気がするけど分からん

困ったもんだ

株式会社シフトのカラーバーコード「カメレオン・コード」は第二のQRコードになるのは厳しそう

2016/02/25のWBSを見ていたら「カラーコード カメレオンコード」って特集があった。つまり色付きのQRコードで町田の図書館で導入されてるらしい。 説明としてはコレの通りで最大8色で認識するらしい。 [quote font="program" width="auto" id="" source='富士通クラウドパートナーポータル パートナープログラム : 富士通' enable_child_shortcode="" ]imgTemp-2016-02-27-18-20-45[/quote]

今は普通のバーコード・QRコードが有名だけど、これは白黒って制限があった。 白黒だから幅広い所で使われるってメリットなんだけど、あえてカラーにして密度を高めたいって需要をうまく拾うことができたらいいね。

imgTemp-2016-02-27-18-25-39 この例だと3色の30乗で205891132094649≒200兆通りくらい。図書館としてはこれで十分なのかもね。チェックデジット含むとしても imgTemp-2016-02-27-18-29-45 読み取り速度がウリの一つみたいで、スマホのカメラで順番に撮していくだけでどんどん認識してくれると

2014年07月に日経「カラーコードに色めく企業 精度はQRコードの50倍  :日本経済新聞」 2009年01月にガイアの夜明け日経スペシャル ガイアの夜明け : テレビ東京」で取り上げられていたのか。 ただこれ、エンコーダーを公開してないからQRコードみたいに誰もが使うようにはならないんだよなあ。まあしょうがないね・・・ QRコードだって、日本では有名だけど世界規模でってなると確証が持てない。iOSAndroidの標準機能としてリーダーは無いし。 2次元コードの世界規模での統一ってのは厳しそうですな

ただこれは勘弁して欲しい imgTemp-2016-02-27-18-41-05 管理社会ばんざーい

急に地デジ&BS環境死んだ→復活ッ の記録

環境はwin7 64bit+EDCB オレオレビルド。チューナーは PLEX社製 8チャンネル同時 地上デジタル・BS・CSクアッドチューナー PX-Q3PE ってやつ。アマゾンで2万切るくらい。

住んでいる所のテレビ共同部分の工事があって、その頃から録画が死んだからそれが原因かと思った 地デジ→受信レベルがお話にならないレベルで低下。 BS&CS1&CS2→そもそも0db。EDCBを起動した瞬間は数db出るんだけど1秒もたたないうちにdbに戻る

PX-Q3PEのドライバ再インスコしたらブルースクリーン踏むしもうサイテー 結果的に、地デジはアッテネーター(減衰器)を差し込むとちゃんと出るようになった。 ヨドバシ.com - 日本アンテナ NIPPON ANTENNA FAT-6PS-SP [アッテネーター(減衰器)] imgTemp-2016-01-22-22-45-09 Amazon.co.jp: マスプロ電工 減衰器 10dB用 F型 ATT10 imgTemp-2016-01-22-22-44-29 この二個を地デジチューナー部分にぶっ刺した。最初はFAT-6PS-SPだけ刺してみたんだけど、チューナーのT3が足りなかったので追加で10dBのを購入。直列つなぎで無事全チューナー映るようになった。 減衰器って名前からデシベル減るんじゃねーの?と思ったけど全然そんな事は無かった。電波は難しいな~ 直列つなぎするとチューナーのアンテナ端子の根本に力すっごいかかるから少し心配。ここが折れたら笑える

そして衛星部分は、アンテナへの電力が出力されていなかった。 Amazon.co.jp: マスプロ電工 屋内用2分配器 全端子電流通過型 CSP2D-P imgTemp-2016-01-22-22-46-26 同じ商品ではないけど、こんな感じのやつがあったから間に挟んでみたらLEDが光らなくて電力が出てない事に気がついた。持っててよかった・・・ 別売りの電源を買って、分配器のLEDをが無事について、衛星も無事復旧。

地デジ部分はともかく、衛星部分は原因不明のまま。レジストリも書き換えたり、消したりしたけど最後まで電力は復活しなかった。今までずっと写ってたんだけどな もうwindowsを再インストールするしかないと本気で絶望してたけど、原因は特別な事でもなんでもなかった。 電波は目に見えないから原因が分かるまで時間かかってつらかった。今週の新番組半分逃したし。普通のテレビならエラーメッセージが出たんだろうけど、エラーメッセージ もしくはエラーコードも出なかったからなあ・・・

imgTemp-2016-01-22-22-50-21 でも見れるU局がMX+テレ玉+チバテレの3つになって大勝利ッ!あとはtvk

Twitter4jを書き換えて公式クライアント用の検索apiを使う方法

もちろんapiトークンはそれ用のが必要。その上でTwitter4jの一部ファイルを書き換える。twitter4j.TwitterImpl.search(Query)メソッドと似たような感じで twitter4j.TwitterImpl.searchUniversal(Query)を追加する

public interface SearchResource {
    /**
     * Returns tweets that match a specified query.
     * <br>This method calls http://search.twitter.com/search.json
     *
     * @param query - the search condition
     * @return the result
     * @throws TwitterException when Twitter service or network is unavailable
     * @see <a href="https://dev.twitter.com/docs/api/1.1/get/search">GET search | Twitter Developers</a>
     * @see <a href="http://search.twitter.com/operators">Twitter API / Search Operators</a>
     * @since Twitter4J 1.1.7
     */
    QueryResult search(Query query) throws TwitterException;
    QueryResult searchUniversal(Query query) throws TwitterException;
}
    /* Search Resources */

    @Override
    public QueryResult search(Query query) throws TwitterException {
        if (query.nextPage() != null) {
            return factory.createQueryResult(get(conf.getRestBaseURL()
                    + "search/tweets.json" + query.nextPage()), query);
        } else {
            return factory.createQueryResult(get(conf.getRestBaseURL()
                    + "search/tweets.json", query.asHttpParameterArray()), query);
        }
    }

    @Override
    public QueryResult searchUniversal(Query query) throws TwitterException {
        if (query.nextPage() != null) {
            return factory.createQueryResult(get(conf.getRestBaseURL()
                    + "search/universal.json" + query.nextPage()), query);
        } else {
            return factory.createQueryResult(get(conf.getRestBaseURL()
                    + "search/universal.json", query.asHttpParameterArray()), query);
        }
    }

    /* Direct Messages Resources */

GitHub - Twitter4J開発手順メモ(私家版の作り方) - Qiitaを参考にビルドをする mvn clean install -Dmaven.test.skip=trueとすると。確かにテストでエラー出まくったなあ

2016/01/17 11:15時点の4.0.5-SNAPSHOTと、4.0.4のjar一覧を置いておく。 オリジナル:yusuke/twitter4j 4.0.5-SNAPSHOT MD5: B7A49EF1ED800D64C9675E61917DABDB 4.0.4 MD5: 748B927000A2FC6DA5B09E1F0F153217

2016/11/13時点の4.0.5版をそのままコンパイル&上記の検索api改造してコンパイルしたファイルをアップ。
オリジナル MD5:AB6E1F31AB05B38B791ABF2E381675D3 改造版 MD5:E47F25ECB892B7CC03EE19BE63655CBA

EDCBのTV録画で「BSプレマップ」を除外する方法

セーラームーンで録画予約をしてると、"BSプレマップ「アニメ 美少女戦士セーラームーン」"も引っかかってしまう。BSプレマップみたいな特殊な単語ならnot条件に入れればいいけど、スターチャンネルの"IN FOCUS"みたいにスペース区切りの文字だと誤爆が怖い

答えは単純で、録画モード無効で条件を追加すればいい。そっちはスターチャンネルのみ、タイトルのみ、"IN FOCUS"と好きなだけ絞ればいい。と思ったらドキュメントに書いてあった [quote font="program" width="auto" id="" source='Readme_EpgTimer.txt' enable_child_shortcode="" ]■自動予約登録の仕様■  利用するにはEPGデータが読み込まれている必要があります。  登録した条件に合致する番組を自動的に予約登録します。  自動登録のタイミングはEPGデータの読み込みを行った時になります。  開始時間の過ぎている番組は登録対象になりません。  複数の条件で同一の番組が予約対象になった場合、自動予約登録のリストで  上位に表示されている条件で登録されます。  ただし、録画モードで無効の条件があれば無効を優先します。 [/quote]

まだまだ知らない機能がありますな

Ruby on railsのインストールat windows…失敗

調子乗ってrailsっての入れちゃうぞー。 gem install railsってのでええんやろ?!→駄目でした

>gem install rails
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.

    current directory: C:/_MyProgram/Ruby23-x64/lib/ruby/gems/2.3.0/gems/nokogiri-1.6.7.1/ext/nokogiri
C:/_MyProgram/Ruby23-x64/bin/ruby.exe -r ./siteconf20160110-22920-13vsfxl.rb extconf.rb
checking if the C compiler accepts ... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/_MyProgram/Ruby23-x64/bin/ruby
        --help
        --clean
C:/_MyProgram/Ruby23-x64/lib/ruby/2.3.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from C:/_MyProgram/Ruby23-x64/lib/ruby/2.3.0/mkmf.rb:571:in `block in try_compile'
        from C:/_MyProgram/Ruby23-x64/lib/ruby/2.3.0/mkmf.rb:522:in `with_werror'
        from C:/_MyProgram/Ruby23-x64/lib/ruby/2.3.0/mkmf.rb:571:in `try_compile'
        from extconf.rb:80:in `nokogiri_try_compile'
        from extconf.rb:87:in `block in add_cflags'
        from C:/_MyProgram/Ruby23-x64/lib/ruby/2.3.0/mkmf.rb:629:in `with_cflags'
        from extconf.rb:86:in `add_cflags'
        from extconf.rb:336:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  C:/_MyProgram/Ruby23-x64/lib/ruby/gems/2.3.0/extensions/x64-mswin64-100/2.3.0/nokogiri-1.6.7.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in C:/_MyProgram/Ruby23-x64/lib/ruby/gems/2.3.0/gems/nokogiri-1.6.7.1 for inspection.
Results logged to C:/_MyProgram/Ruby23-x64/lib/ruby/gems/2.3.0/extensions/x64-mswin64-100/2.3.0/nokogiri-1.6.7.1/gem_make.out

最初はvirtualBox入れてlinux上でやるべきなのかな

r888888888/danbooruってソフトを使ってみたかったんだがな。レポジトリでも落としておくか>danbooru-master.zip

Rubyのコードを書いてみた

毎回毎回Eclipse立ち上げてjavaってのも大げさだし、実行ファイルとソースコードを両方管理しないといけないのは面倒。c#も同じく。 書き捨てのスクリプト言語では、今までphpを使っていたんだけど流石にあんまりなのでrubyを使ってみた。phpだとwindows上で日本語ファイルの扱いがめっちゃ面倒。 試しにOriconのサイトからランキングのデータを抜いてローカルに保存するコードを書いてみた。日時オブジェクトの操作、httpGetでの取得、正規表現取り扱い、ローカルに日本語unicodeファイルを作成、クラスの構文、例外を投げる書き方を試す。

require 'net/http'
require "date"
require 'json'
class OriconCdRanking
  def get( timeFromArg , timeToArg )
    timeFrom = getBeforeMonday( timeFromArg )
    timeTo   = getNextMonday( timeToArg )
    getOneDay( timeFrom )
  end
  # 前の月曜日を返す。引数が既に月曜日ならそれを返す
  def getBeforeMonday(timeArg)
    time=timeArg
    while time.monday? == false
      time  = time - 24*60*60
    end
    return time
  end
  # 次の月曜日を返す。引数が既に月曜日ならそれを返す
  def getNextMonday(timeArg)
    time=timeArg
    while time.monday? == false
      time  = time + 24*60*60
    end
    return time
  end
  def getOneDay( getTimeArg )
    # http://www.oricon.co.jp/rank/js/w/2015-05-04/p/2/
    if getTimeArg.monday? == false
      raise ArgumentError, "月曜日じゃない"
    end
    urlDate = getTimeArg.strftime("%Y-%m-%d")
    result = []
    for i in 1..5
      # urlPathを定義
      if i == 1 then
        urlPath = "/rank/js/w/%s/" % urlDate
      elsif
        urlPath = "/rank/js/w/%s/p/%d/" %  [ urlDate , i ]
      end
      responceStr = Net::HTTP.get('www.oricon.co.jp', urlPath)
      responceStr = responceStr.encode("UTF-8", "Shift_JIS")
      responceStr.scan(/<p class="num[^"]*">\d+<\/p>.+?<!-- \/.wrap-text -->/m) do |loopStr|
        matchRank  = loopStr[/<p class="num[^"]*">(\d+)<\/p>/,1] || ""
        matchImage = loopStr[/<img src="(.+?)"/,1] || ""
        matchTitle = loopStr[/<h2 class="title">(.+?)<\/h2>/,1] || ""
        matchLink  = loopStr[/class="inner"><a href=\"(.+?)\">/,1] || ""
        matchName  = loopStr[/<p class="name">(.+?)<\/p>/,1] || ""
        matchDate  = nil
        if loopStr[/<ul class="list">.*?<li>.*?発売日:.*?(\d+)年(\d+)月(\d+)日/m] then
          matchDate = Time.local( $~[1].to_i , $~[2].to_i , $~[3].to_i )
        end
        matchLabel = ( loopStr[/<ul class="list">.*?<li>.*?<\/li>.*?<li>(.+?)<\/li>/m,1] || "" ).strip
        oneData={ 
          :rank  => matchRank ,
          :image => matchImage ,
          :title => matchTitle ,
          :link  => matchLink ,
          :name  => matchName ,
          :date  => matchDate ,
          :label => matchLabel
        }
        result << oneData
        puts JSON.generate(oneData)
      end
    end
    File.open("結果 日本語 ❤.txt", "w") do |file|
      result.each{|resultLoop|
        file.puts(JSON.generate(resultLoop))
      }
    end
  end
end

t1 = Time.local(2015,1,2) 
t2 = Time.local(2015,12,1) 

a = OriconCdRanking.new()
a.get( t1 , t2 )

コードは未完成で、本当は指定した範囲の全部のランキングを取得するはずだったけど自重。日本語のファイル名を扱えるのが特にいいね。ちょっとした書き捨てスクリプトなら全然書けそう。ただクラスを定義してからじゃないと使えないのはちょっとな。一つのファイルに書こうとすると、クラスを書いた下にmain的な処理を書く必要があって見にくい気がする

長期アニメは話数のカウントが分からなくなってくる

ドラえもんポケットモンスターみたいに同じタイトルで数年放送をやるアニメは、話数が分からなくなってくる。 テレ朝チャンネルクレヨンしんちゃんの湯浅回をやるっぽいんで特番のリストを作っていたんだけど、そもそも特番かどうか のカウントすら統一されたデータが無いっぽい。あっちの情報では特番扱いなのに、こっちの情報では普通の第何話となってるって事。しかも本放送では新作+再放送の組み合わせで放送された特番が、テレ朝チャンネルでは再放送部分がカットされて新作のみになってる。ここまで来るとローカルでどう管理すればいいのか全くわからなくなる。

結論から言うと、 クレしん→一番面倒 ドラえもん→ズレはあるけど自分の中でルールを決めればなんとか対応できる ポケットモンスター→特番の有無でズレがあるけどなんとかなる。 サザエさん→話数がケタ違いだからしょうがないけど、それでも精度の高い情報あり。 ワンピース、ちびまる子ちゃん名探偵コナン→公式HPに全話の話数表示ありで素晴らしい。

って感じかな。クレしんは根本的にどうしようもないけど、それ以外の長期アニメはほぼなんとかなるってのは以外だった。

クレヨンしんちゃん

1992年放送開始。公式HPに話数は無い。 imgTemp-2015-12-31-03-00-35 バックナンバーも話数なし。URLはhttp://www.tv-asahi.co.jp/shinchan/contents/next2/0168/の様な構造で、どうやらHPがリニューアルした時からのカウントっぽい。映画を放送する特番も何の特別も無くカウントされている。 imgTemp-2015-12-31-03-01-35 ところがテレ朝チャンネルには話数の表記があって、特番とは明確に区別されている。だけどテレ朝チャンネルのHPは放送予定のある話数しか書いてないから、テレ朝チャンネルHPから完全な一覧を作る事が出来ない。 クレヨンしんちゃん|アニメ・特撮|テレ朝チャンネル クレヨンしんちゃん TVスペシャル|アニメ・特撮|テレ朝チャンネル

もう一つ重要な情報として、ムトウユージ監督がツイッターで、2015/09/11放送のエピソードが904話だと言っている。これはスタッフ同士でケーキを作ってお祝いしたので、監督だけがなんとなく思っている というレベルでは無いらしい。 テレ朝チャンネルの情報では「湯たんぽでぬくぬくだゾ/ゼッタイに拾いたい石だゾ」が第806話となっている。これはテレビ朝日の公式HPによると2015/01/09放送。そして9/11が904話らしいので、その間の一覧はこちら。湯たんぽでぬくぬくだゾが806話として毎週一話づつ増えた場合の話数。サブタイはテレビ朝日の公式HPから。テレビ朝日公式からなので映画放送も1カウントしてる。

放送日話数?サブタイ
2015/01/09806話湯たんぽでぬくぬくだゾ/ゼッタイに拾いたい石だゾ
2015/01/30807話雪の宿のミステリーだゾ前編・後編
2015/02/06808話『アゲアゲ母ちゃん29号だゾ』『愛のみかんだゾ』
2015/02/13809話『サンキューベリードッグだゾ』『風間くんとおつかいだゾ』
2015/02/20810話『インコがきた!だゾ』『疑惑!?父ちゃんの写真だゾ』
2015/02/27811話『テニスで対決だゾ』『本屋さんでサイン会だゾ』
2015/03/06812話『ミッチー&ヨシりんとリアルおままごとだゾ』『若い二人はこうして家を買ったゾ 前編・後編』
2015/03/13813話『ひまわりが眠れないゾ』『床下のヒミツだゾ』
2015/03/20814話『かぶってるゾ』『掃除機を買うゾ』
2015/04/10815話『映画クレヨンしんちゃん ガチンコ!逆襲のロボとーちゃん』
2015/04/17816話『たけのこ大襲撃だゾ前編・後編』
2015/04/24817話『家に入れないゾ』『インターネットでお電話するゾ』
2015/05/01818話『シロの引越し物語だゾ』『ちんあなごを見たいゾ』
2015/05/08819話『骨折父ちゃんだゾ』『ゆるキャラをプロデュースするゾ』
2015/05/15820話『~骨折父ちゃん~つきそいするゾ』『バッグを拾ったゾ』
2015/05/22821話『~骨折父ちゃん~ギプスをはずすゾ』『忍ちゃんとお留守番だゾ』
2015/05/29822話『双子が来たゾ前編・後編』
2015/06/05823話『春我部は今日も雨だったゾ』『紅さそり隊解散だゾ』
2015/06/12824話『待ち受け画像を撮るゾ』『ザキヤマさんが来~る~だゾ』
2015/06/19825話『ドローンは見てたゾ』『地獄のセールスレディ 逆襲だゾ』
2015/06/26826話『夏のおでかけ会議だゾ』『ぬか漬けデビューだゾ』
2015/07/10827話『テーブルを回すゾ』『ラジオ体操で早起きだゾ』
2015/07/31828話『純情かき氷だゾ』『熱血!修造先生とプールだゾ』
2015/08/21829話『キャンプへ行くゾ』
2015/08/28830話『ひみつちゃんと勝負だゾ』『ひみつちゃんは友だちだゾ』
2015/09/11831話『幻のセミを捕るゾ』『なぐられうさぎ<泡>だゾ』

全然ズレてるじゃねーか!AパートBパートそれぞれで話数カウントしてるのかもしれないけど、だったら倍以上ズレる事になるし、統一されてねえ。映画カウント含めても全然足りない。 クレヨンしんちゃんのファンサイトによると、9/11は871話ってなってるけど、それでも足りてない。 ここまで来ると、何時放送回 としか書けなくなるよねえ

ドラえもん

2005年放送開始。のぶ代ドラは放送が終わったから確定した話数の情報があるだろう、きっと・・。 テレビ朝日公式には同じく話数は無いが、URLが通し番号になってる!例えば2013/10/25放送の「ハロウィンって何の日?」は0346となっている。テレ朝チャンネルでは290話でズレてる。 Wikipediaドラえもんエピソード一覧ページ放送時間を拡大した回や通常と異なる時間・曜日に放送した回を特番とする数え方だと295回でテレ朝チャンネルの数字に近づく。 imgTemp-2015-12-31-03-36-36

初期に放送された「(秘)スパイ大作戦/ハロー宇宙人」の回、テレ朝チャンネルでは6話だけどWikipedia的には第5回。初回放送は放送時間拡大だから特番扱いでカウントしていないんだけど、おそらくそのズレがある。

で、テレビ朝日的に346となっている「ハロウィンって何の日?」だけど、特番を全部含めてカウントするとwikipeidaの295回と一致する。特番含めて、放送ごとにカウントしているって事だな。

ワンピース

1999年放送開始。なんと公式に話数表記がある!フジテレビとしての公式HPは簡易的な物で、ワンピースポータルサイトにリンクがあったのでこっちがアニメ公式と言えるかな。 imgTemp-2015-12-31-03-53-07 東映アニメーションの公式HPにも話数表記がある。バックナンバーもある! imgTemp-2015-12-31-03-53-53 もちろん、フジテレビNextの話数表記とも完全一致、Wikipediaの話数リストとも一致 素晴らしい

サザエさん

1969年放送開始。こんな古いのにサブタイ一覧を纏めたサイトがあるのは素晴らしい。 「サザエさん」がギネス世界記録に認定 - 芸能社会 - SANSPO.COM(サンスポ)によると、2013/9/1現在で2250回。サザエさん(アニメ版)データベース @ ウィキ - 2013年(年間)でも同じカウントで、もしかして完全なデータベース?途中で調整して数ズラしてるのかも知れないけど・・・。サンスポのカウントがフジテレビ発表の物と確証が持てないからつらい。衛星再放送も無いし、公式HPにも表記なし。

ちびまる子ちゃん

1期は1990年~、2期は1995年~。 公式HPに話数カウントあり。1期の情報もあって完全なデータベース。素晴らしい imgTemp-2015-12-31-04-07-59

ポケットモンスターXYZ

公式に話数なし!テレ東公式にもなし、BS-jにもなし。が、キッズステーションには話数表記があった。まだ放送開始直後で差分は不明。 全作のXYは面倒で、特番の特別編 最強メガシンカが話数に組み込まれている。やれやれ。

名探偵コナン

1996年放送開始。公式HPに全話の話数表示あり。最高!

HTML5のShadow DOMを使ってもラジオボタンのname属性は重複しないように気をつけないといけない

<input type="radio" name="radio_test">のname属性はShadow DOMの中で分離してくれない@chrome47Win

https://fushihara.org/blog/archives/2531に関連してる。自作のchrome拡張で何故かラジオボタンのチェック状態が勝手に解除されると思ったら、ラジオボタンのname属性に基づく1つのボタンしかチェック状態にならない処理はShadow DOMを突き抜けてくれるらしい

テスト用コードはこちら。3つあるボタンはそれぞれがShadowDOM。 imgTemp-2015-12-28-22-31-29 ShadowDOMが3つある訳だから、当然ラジオボタンもそれぞれ1つづつ合計3つ押せる・・・と思ったのに1つしか押せない

えー

「これは公開情報だから問題ない」は前世紀から否定されている

住所でポン!の話 【関西の議論】「ネットの電話帳」はプライバシー侵害か NTT「公開情報」で打つ手なし “削除要求”にヤフー、グーグルも苦慮(1/4ページ) - 産経WEST 一度でもタウンページに載せたんだから文句を言うな。これはお前が公開した情報だ。ネットではよくある論調だと思うけど、それ通じないんだよね。 神戸地方裁判所1999年6月23日判決、判例時報1700号99頁 で検索。 [quote font="program" width="auto" id="" source='判例で理解するIT関連法律 - 第14回 個人情報保護 プライバシ侵害の危険性を知る:ITpro' enable_child_shortcode="" ] インターネット接続会社,ニフティの電子掲示板に,診療所を開業していた眼科医が活発に書き込みを行っていた。この眼科医が他の会員を誹謗・中傷している,と考えた別の会員が,眼科医の氏名,職業,診療所の住所・電話番号を掲示板に書き込んだ。

 書き込みが行われた日は34回,翌日には10回,診療所にいたずら電話がかかってきた。さらに,注文していない商品が合計3回,通信販売会社から診療所に配達された。こうした嫌がらせのために眼科医は体調を崩し,内科医の診療を受けた。

 眼科医は,「プライバシを侵害された」として,個人情報を書き込んだ会員に損害賠償を求める訴訟を起こした。訴えられた会員は,「眼科医の氏名,職業,診療所の住所・電話番号はNTTの職業別電話帳に公表されている情報なので,プライバシの侵害には当たらない」,と主張して争った。

 裁判所は,「職業別電話帳に診療所の住所・電話番号を掲載したのは,営業目的のためであり,その情報を勝手に掲示板に書き込むのは,他人に知られたくない個人の私的な事柄をみだりに公開する行為でありプライバシ侵害に当たる」と判断。個人情報の書き込みを行った会員に対して,慰謝料20万円と診療費相当額の損害賠償をするよう命じた。(神戸地方裁判所1999年6月23日判決,判例時報1700号99頁)[/quote] 「そんなつもりで公開した個人情報じゃない」が認められたら勝てるんだよね

参考 弁護士 小松亀一法律事務所知財法等氏名・自宅住所電話番号はプライバシーか 個人のプライバシー権について、判例などを元に解説する。 - luckdragon2009 - 日々のスケッチブック ネットプライバシー裁判

GooglePlayMusicとアップルのミュージック どっちを使えばいいんだ・・・

・普通の音楽とpodcastがある ・普通の音楽は基本的にシャッフルで聞きたい。しかし、普通の音楽の中にあんま聞かないサントラも入っていて、それを除いてシャッフルしたい。既読管理なんてしないから一部曲除くシャッフルがあればそれでいい。 ・podcastは1エピソードづつ聞くからシャッフルは必要ない。しかしエピソードが基本毎週増えるから容量が半端ない。既読管理をしたいからアプリの使い勝手は重要。

普通の音楽は聞く分にはiOSでいい。容量も足りてるし、強力なカスタムプレイリストやシャッフルからこの曲を除くの機能はiOSにしかないし。 GooglePlayMusicは1つのプレイリストに1000曲しか入らないし、カスタムプレイリストもこの曲除く機能はない。 ただ何も考えずにPCから同期すればいいのは魅力的。 なので、普通の音楽はiOSでワイヤードなシンクをすればなんとかなる。

Podcastは既読管理をしたいし、旧エピソードも保存したい。 iOSPodcastアプリはどうにも使い方が慣れない。既読未読のフラグの管理方法がよくわからなかった。 それに、旧エピソードを保存するために全部保存すると容量が全く足りない。

GooglePlayMusicに強力なプレイリストが欲しい。apiとか公開されてないよね。 昨日今日公開されたサービスなら改善に期待が持てるけど、アメリカ含んで4年近くサービスやった上でこの貧弱なプレイリストはちょっとなあ 困った困った。GooglePlayMusicはPodcastサービス始めるらしいね。

Qiitaのメモ機能をローカルで使う方法

つまり、MarkDownのテキストファイルをHTMLに変換しローカルのjsでメニューを表示する imgTemp-2015-12-13-08-12-52 セットのmarkdown.7zファイル ただMarkdownをhtmlに変換するのはgithubAPIだからオンラインが必要だけど・・・

ローカルのマークダウン記法のテキストファイルをhtmlに変換する。Githubに認証なしで使えるMarkdownAPIがあるのでそれを使う。ので、必然的にフォーマットはGithubMarkdownになる。 Markdown | GitHub Developer Guide それだけだとcssは無いし、qiitaに特徴的なメニューが無い。 cssSass: Syntactically Awesome Style Sheetsで書く。変換はめんどいのでsassをコンパイル出来る単一jarファイルを作る方法 – FNBで書いた方法でcssに変換する。

メニューは、まずmarkdownをhtmlに変換する所で##の見出しの一覧を作って <h1>見出し</h1>のhtmlに仕込んでおく。

<div id="menu">
<a href="#user-content-ショートカットキー"><h1>ショートカットキー</h1></a>
<a href="#user-content-第二階層"><h2>第二階層</h2></a>
<a href="#user-content-コンソールで使える予約語"><h1>コンソールで使える予約語</h1></a>
<a href="#user-content-console.logで使えるフォーマット"><h1>console.logで使えるフォーマット</h1></a>
</div>

後はjsでスクロールイベントに合わせて色を変える。便利便利。

これでローカルでMarkdownの便利な書き方、モノはhtmlなので画像もOK、Qiitaの便利なメニューも使える。そして閲覧はオフラインで出来てプライベートにメモれる。markdownを変換する時にgithubに投げる必要があるけど。これで完璧なメモ環境が出来た。 imgTemp-2015-12-13-08-44-46imgTemp-2015-12-13-08-47-20 なんとか.mdを_convert.batにD&DでconvertedFilesにhtmlが出来る。ので、画像もconvertedFilesの中に置く。 .sassはsass.batにD&Dで.cssに変換する。

"use strict";
window.addEventListener("DOMContentLoaded", function(){
  var ss=new ScrollSpy(".anchor",10);
  document.addEventListener("scroll",function(){
    ss.onScroll();
  });
}, false);
class ScrollSpy {
  constructor(anchorQuery,offsetMargin) {
    this.anchorQuery=anchorQuery;
    this.offsetMargin=offsetMargin;
  }
  onScroll(){
    var index=this.find();
    var nodes=this.getMenuNodes();
    for(var i=0;i<nodes.length;i++){
      if(i==index){
        this.changeMenuAttribute(nodes[i],true);
      }else{
        this.changeMenuAttribute(nodes[i],false);
      }
    }
  }
  find(){
    var qs=document.querySelectorAll(this.anchorQuery);
    var tbs=[];
    for(var i=0;i<qs.length;i++){
      var rect = qs[i].getBoundingClientRect();
      if(this.offsetMargin<rect.top){
        continue;
      }
      tbs.push({"index":i,"top":rect.top,"name":decodeURIComponent(qs[i].getAttribute("href").substr(1))});
    }
    console.table(tbs);
    if(tbs.length==0){
      return 0;
    }else{
      return tbs[tbs.length-1].index;
    }
  }
  getMenuNodes(){
    return document.querySelectorAll("#menu h1,#menu h2,#menu h3,#menu h4,#menu h5,#menu h6");
  }
  changeMenuAttribute(node,flag){
    if(flag){
      node.classList.add("active");
    }else{
      node.classList.remove("active")
    }
  }
}
package org.fushihara.github.markdown;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang3.StringEscapeUtils;

import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Request.Builder;
import com.squareup.okhttp.RequestBody;
import com.squareup.okhttp.Response;

public class GithubMarkdown {
    static final Charset utf8 = Charset.forName("utf-8");
    final String tempReplaceKey;
    OkHttpClient httpClient = new OkHttpClient();

    public static void main(String[] args) throws FileNotFoundException, IOException, URISyntaxException {
        String markdownTextPath = "";
        String saveDirectory = "";
        String savePath = null;
        String templeteTxtPath = GithubMarkdown.getDefaultTempleteFilePath();
        for (String string : args) {
            if (string == null || string.equals("")) {
                continue;
            } else if (string.startsWith("-d:")) {
                saveDirectory = string.substring(3);
            } else if (string.startsWith("-t:")) {
                templeteTxtPath = string.substring(3);
            } else {
                markdownTextPath = string;
            }
        }
        if (markdownTextPath.equals("")) {
            System.out.println("GithubMarkdown.jar [-d:保存フォルダ] [-t:テンプレートテキスト] markdownテキストのパス");
            return;
        }
        if (saveDirectory.equals("")) {
            savePath = new File(new File(markdownTextPath).getParentFile(), new File(markdownTextPath).getName() + ".html").getPath();
        } else {
            savePath = new File(saveDirectory, new File(markdownTextPath).getName() + ".html").getPath();
        }
        System.out.println("version:" + System.getProperty("java.version"));
        System.out.println("load:" + markdownTextPath);
        System.out.println("save:" + savePath);
        GithubMarkdown ghm = new GithubMarkdown();
        String markdownText = GithubMarkdown.loadText(markdownTextPath);
        System.out.println("rawText:" + markdownText.length() + " chars");
        markdownText = ghm.syntaxHighlightKeepFileName(markdownText);
        String markdownHtmlRaw = ghm.convertMarkdown(markdownText);
        markdownHtmlRaw = ghm.syntaxHighlightRestoreFileName(markdownHtmlRaw);
        System.out.println("markDownText:" + markdownHtmlRaw.length() + " chars");
        String headText = GithubMarkdown.loadText(templeteTxtPath);
        String finalText = headText;
        finalText = finalText.replace("/*title*/", new File(markdownTextPath).getName());
        finalText = finalText.replace("/*body*/", markdownHtmlRaw);
        finalText = finalText.replace("/*menu*/", ghm.getMenuHtml(markdownText));
        ghm.saveText(savePath, finalText);
    }

    public GithubMarkdown() {
        this.tempReplaceKey = String.format("x%x", System.identityHashCode(this));
    }

    /**
     * 自分自身のjarファイル名の拡張子をtxtにしたパスを返す
     * 
     * @throws URISyntaxException
     * @throws IOException
     */
    private static String getDefaultTempleteFilePath() throws URISyntaxException, IOException {
        String myFile = new File(GithubMarkdown.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).getAbsolutePath();
        if (!myFile.endsWith(".jar")) {
            throw new IOException(myFile);
        }
        String tempPath = myFile.substring(0, myFile.length() - 4) + ".txt";
        return tempPath;
    }

    /** ファイル名の構文があるqiita独自のシンタックスハイライトの構文からファイル名の部分を一旦移動させる */
    private String syntaxHighlightKeepFileName(String markdownRaw) {
        final Pattern pat = Pattern.compile("^(```[a-zA-Z0-9_]+?):(.+)", Pattern.MULTILINE);
        final Matcher matcher = pat.matcher(markdownRaw);
        final StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            // 一致したグループは matcher.group(n) で取得できる。
            // ここで replacement を加工する。
            String replacement = this.tempReplaceKey + ":" + matcher.group(2) + System.lineSeparator() + matcher.group(1);
            matcher.appendReplacement(sb, replacement);
        }
        matcher.appendTail(sb);
        return sb.toString();
    }

    private String syntaxHighlightRestoreFileName(String markdownHtml) {
        final Pattern pat = Pattern.compile("<p>" + this.tempReplaceKey + ":(.+?)</p>\\s\\s(<div[^\\>]+?>)([\\s\\S]+?)</div>");
        final Matcher matcher = pat.matcher(markdownHtml);
        final StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            // 一致したグループは matcher.group(n) で取得できる。
            // ここで replacement を加工する。
            String replacement = String.format("%2$s<div class=\"code-lang\">%1$s</div><div class=\"highlight-pre\">%3$s</div></div>", matcher.group(1).toString(), matcher.group(2).toString(), matcher.group(3).toString());
            matcher.appendReplacement(sb, replacement);
        }
        matcher.appendTail(sb);
        return sb.toString();
    }

    private static String loadText(String path) throws IOException {
        try {
            byte[] bytes = Files.readAllBytes(new File(path).toPath());
            return new String(bytes, utf8);
        } catch (FileNotFoundException e) {
            return "";
        }
    }

    private String getMenuHtml(String rawText) {
        StringBuilder sb = new StringBuilder();
        Pattern pat = Pattern.compile("\\s*(\\#+)\\s*(.+)");
        Matcher mat = pat.matcher(rawText);
        while (mat.find()) {
            String sharps = mat.group(1).toString().trim();
            String title = mat.group(2).toString().trim();
            sb.append(createMenuHtmlOneItem(sharps.length(), title));
            sb.append(System.lineSeparator());
        }
        return sb.toString();
    }

    private String createMenuHtmlOneItem(int level, String label) {
        return String.format(Locale.US, "<a href=\"%3$s\"><h%1$d>%2$s</h%1$d></a>", level, StringEscapeUtils.escapeHtml4(label), "#" + StringEscapeUtils.escapeXml11("user-content-" + label));
    }

    private void saveText(String path, String content) throws IOException {
        Files.write(new File(path).toPath(), content.getBytes(utf8), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE);
    }

    private String convertMarkdown(String rawText) throws IOException {
        Builder rb = new Request.Builder();
        // rb.addHeader("key", "value");
        rb.url("https://api.github.com/markdown/raw");
        RequestBody rbody = RequestBody.create(MediaType.parse("text/plain"), rawText);// 第二引数はbyte[]やfileの場合もある
        rb.post(rbody);
        Request request = rb.build();
        OkHttpClient client = new OkHttpClient();
        String result;
        Response response = client.newCall(request).execute();
        result = response.body().string();
        return result;
    }
}

47Newsのアクセス数が右肩下がりになってる ように見える

引用ではなく転載。47newsがこんな細かいアクセスランキングを公開してくれているの知らなかった。メンテされてないのかなと思ったけど、トップページから2クリックで行けるし、モダンなスマホページでは共通のフッターに総合アクセスランキングってあるし。俺の知らない所で47Newsにボイコット運動でも起きてるのかな? [quote font="program" width="auto" id="" source='47NEWS(よんななニュース)' enable_child_shortcode="" ][ 2015/12 ] : |||||||||||| : 25111567 [ 2015/11 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 112487143 [ 2015/10 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 194695767 [ 2015/09 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 214415768 [ 2015/08 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 202467232 [ 2015/07 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 188213674 [ 2015/06 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 192644370 [ 2015/05 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 234552738 [ 2015/04 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 218631547 [ 2015/03 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 220908487 [ 2015/02 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 190617646 [ 2015/01 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 204221988 [ 2014/12 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 175121648 [ 2014/11 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 170037936 [ 2014/10 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 193941778 [ 2014/09 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 173708115 [ 2014/08 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 176075935 [ 2014/07 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 176071923 [ 2014/06 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 152861662 [ 2014/05 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 156026084 [ 2014/04 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 150917835 [ 2014/03 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 191457422 [ 2014/02 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 161282363 [ 2014/01 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 157407651 [ 2013/12 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 165038188 [ 2013/11 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 128886568 [ 2013/10 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 133819736 [ 2013/09 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 140666903 [ 2013/08 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 168712881 [ 2013/07 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 150804720 [ 2013/06 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 130212059 [ 2013/05 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 127331624 [ 2013/04 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 125434484 [ 2013/03 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||| : 109210943 [ 2013/02 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||| : 106454257 [ 2013/01 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 129870068 [ 2012/12 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 128508068 [ 2012/11 ] : ||||||||||||||||||||||||||||||||||||||||||| : 86596425 [ 2012/10 ] : ||||||||||||||||||||||||||||||||||||||||||||||| : 95409203 [ 2012/09 ] : ||||||||||||||||||||||||||||||||||||||||||| : 87758399 [ 2012/08 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||| : 102203659 [ 2012/07 ] : |||||||||||||||||||||||||||||||||||||||||||||||| : 97476337 [ 2012/06 ] : ||||||||||||||||||||||||||||||||||||||||||| : 86830572 [ 2012/05 ] : |||||||||||||||||||||||||||||||||||||||||| : 84688644 [ 2012/04 ] : ||||||||||||||||||||||||||||||||||||||||| : 82755151 [ 2012/03 ] : ||||||||||||||||||||||||||||||||||||||||||| : 87515859 [ 2012/02 ] : |||||||||||||||||||||||||||||||||||||||||||||| : 92399372 [ 2012/01 ] : |||||||||||||||||||||||||||||||||||||||||||||||| : 97973991 [ 2011/12 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 112843785 [ 2011/11 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 116087153 [ 2011/10 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 131119464 [ 2011/09 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 130471881 [ 2011/08 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 142400963 [ 2011/07 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 134932246 [ 2011/06 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 128140851 [ 2011/05 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 130876320 [ 2011/04 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 146737574 [ 2011/03 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 159206435 [ 2011/02 ] : ||||||||||||||||||||||||||||||||||||||||||||||||| : 98000789 [ 2011/01 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 131145496 [ 2010/12 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 127510880 [ 2010/11 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 127164881 [ 2010/10 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 122022903 [ 2010/09 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 125685216 [ 2010/08 ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 116358703 [ 2010/07 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 115099451 [ 2010/06 ] : |||||||||||||||||||||||||||||||||||||||||||||||||| : 100794379 [ 2010/05 ] : ||||||||||||||||||||||||||||||||||||||||||||||||||| : 103131474 [ 2010/04 ] : ||||||||||||||||||||||||||||||||||||||||| : 82602233 [ 2010/03 ] : |||||||||||||||||||||||||||||||||||||||| : 80616814 [ 2010/02 ] : |||||||||||||||||||||||||||||| : 60326845 [ 2010/01 ] : ||||||||||||||||||||||||||| : 54188696 [ 2009/12 ] : ||||||||||||||||||||||| : 47758587 [ 2009/11 ] : |||||||||||||||||||||||| : 48452455 [ 2009/10 ] : ||||||||||||||||||||||||| : 50398610 [ 2009/09 ] : ||||||||||||||||||| : 39286581 [ 2009/08 ] : ||||||||||||||||||||||||||| : 55060392 [ 2009/07 ] : |||||||||||||||||||||| : 45163385 [ 2009/06 ] : |||||||||||||||| : 33728028 [ 2009/05 ] : ||||||||||||||||||| : 39875000 [ 2009/04 ] : |||||||||||| : 25188910 [ 2009/03 ] : ||||||||||||| : 26031300 [ 2009/02 ] : |||||||||||| : 24351292 [ 2009/01 ] : ||||||||||| : 22419555 [ 2008/12 ] : |||||||| : 17004340 [ 2008/11 ] : ||||||||| : 18012665 [ 2008/10 ] : |||||||||| : 21504707 [ 2008/09 ] : ||||||||| : 18595639 [ 2008/08 ] : ||||||||| : 18153607 [ 2008/07 ] : |||||||| : 16441939 [ 2008/06 ] : ||||||| : 15812953 [ 2008/05 ] : ||||| : 10205769 [ 2008/04 ] : ||| : 6195590 [ 2008/03 ] : ||| : 6049333 [ 2008/02 ] : || : 5129395 [ 2008/01 ] : || : 5453627 [ 2007/12 ] : || : 4986280 [ 2007/11 ] : || : 4508450 [ 2007/10 ] : || : 4122777 [ 2007/09 ] : | : 3268753 [ 2007/08 ] : | : 3995270 [ 2007/07 ] : || : 4319378 [ 2007/06 ] : | : 2971485 [ 2007/05 ] : | : 2707758 [ 2007/04 ] : | : 2322039 [/quote] [quote font="program" width="auto" id="" source='http://www.47news.jp/AccessAnal/AccessAnal_pv_day.html' enable_child_shortcode="" ][ 2015/12/13(日) ] : : 31439 [ 2015/12/12(土) ] : ||||||||||||||||||||||||||||||||||| : 1770477 [ 2015/12/11(金) ] : |||||||||||||||||||||||||||||||||||||||| : 2046444 [ 2015/12/10(木) ] : |||||||||||||||||||||||||||||||||||||||||| : 2138240 [ 2015/12/09(水) ] : ||||||||||||||||||||||||||||||||||||| : 1850557 [ 2015/12/08(火) ] : ||||||||||||||||||||||||||||||||||||||||| : 2051311 [ 2015/12/07(月) ] : ||||||||||||||||||||||||||||||||||| : 1754459 [ 2015/12/06(日) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 2836418 [ 2015/12/05(土) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||| : 2747200 [ 2015/12/04(金) ] : ||||||||||||||||||||||||||||||||||| : 1786298 [ 2015/12/03(木) ] : |||||||||||||||||||||||||||||||| : 1648743 [ 2015/12/02(水) ] : |||||||||||||||||||||||||||||||||||||||| : 2043870 [ 2015/12/01(火) ] : |||||||||||||||||||||||||||||||||||||||||||||||| : 2415953 [ 2015/11/30(月) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 3275046 [ 2015/11/29(日) ] : |||||||||||||||||||||||||||||||||||||||||||||| : 2306643 [ 2015/11/28(土) ] : ||||||||||||||||||||||||||||||||||||||||||||||| : 2355940 [ 2015/11/27(金) ] : ||||||||||||||||||||||||||||||||||||||||| : 2074501 [ 2015/11/26(木) ] : |||||||||||||||||||||||||||||||||||||||||||||||| : 2403818 [ 2015/11/25(水) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 2840907 [ 2015/11/24(火) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||| : 2612623 [ 2015/11/23(月) ] : |||||||||||||||||||||||||||||||||||||||||| : 2108399 [ 2015/11/22(日) ] : ||||||||||||||||||||||||||||||||||||||||||||||||| : 2481150 [ 2015/11/21(土) ] : |||||||||||||||||||||||||||||||||||||||||||||||||| : 2545256 [ 2015/11/20(金) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 2960689 [ 2015/11/19(木) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||| : 2747367 [ 2015/11/18(水) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 3197936 [ 2015/11/17(火) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 3961549 [ 2015/11/16(月) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4147925 [ 2015/11/15(日) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4091222 [ 2015/11/14(土) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 3900161 [ 2015/11/13(金) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4089313 [ 2015/11/12(木) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4238766 [ 2015/11/11(水) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4355107 [ 2015/11/10(火) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4198391 [ 2015/11/09(月) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5481328 [ 2015/11/08(日) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5219580 [ 2015/11/07(土) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4659640 [ 2015/11/06(金) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4552830 [ 2015/11/05(木) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4523146 [ 2015/11/04(水) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 4862569 [ 2015/11/03(火) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5202978 [ 2015/11/02(月) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5797654 [ 2015/11/01(日) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5294709 [ 2015/10/31(土) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 6082003 [ 2015/10/30(金) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 6272592 [ 2015/10/29(木) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 6747180 [ 2015/10/28(水) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 6819125 [ 2015/10/27(火) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 7240476 [ 2015/10/26(月) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5731778 [ 2015/10/25(日) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5021049 [ 2015/10/24(土) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5006492 [ 2015/10/23(金) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5692472 [ 2015/10/22(木) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5924696 [ 2015/10/21(水) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 7060473 [ 2015/10/20(火) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 6204288 [ 2015/10/19(月) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5991532 [ 2015/10/18(日) ] : ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5294509 [ 2015/10/17(土) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 5810604 [ 2015/10/16(金) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 6721006 [ 2015/10/15(木) ] : |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| : 7142655 [/quote]

飛行機のコクピットにレーザー光線が当たっているとはどんな状況なのか

新幹線や飛行機の運転席にレーザー光がってニュース、どうやって気がついたんだろう。 運転手の目に直接入ったならすぐに分かるだろうけど、そうなの? [quote font="program" width="auto" id="" source='ASITA LASER' enable_child_shortcode_="" ]imgTemp-2015-12-13-03-48-18[/quote] この写真で言うと、レーザーポインターが当たっている所は中央の白い部分(A)を指すのか、それとも周りの反射とか収束しきれずに光っている所(B)も当たっていると言うのか。 物理的には後者(B)だけど、普通に話す時は前者(A)の意味で使ってるな。

前者(A)の意味で新幹線や飛行機の運転席にレーザー光が当たったと言ってるのであれば、狙いがめっちゃ正確で運転手もよく気がついたなそれってなるし、 後者(B)の意味でレーザー光線が当たったと言ってるのであれば、運転席に当たりっこなくても、そっちの方に向けるだけで違法になるのねってなるし。

[quote font="" width="auto" id="" source='www.fnn-news.com: 伊丹空港で全日空機に...' enable_child_shortcode="" ]警察は、威力業務妨害の疑いもあるとみて捜査している。[/quote] 何にでも使える万能法だから具体的に何が違法となったのかよくわからんな。

[quote font="" width="auto" id="" source='www.fnn-news.com: 伊丹空港で全日空機に...' enable_child_shortcode="" ]上空300メートル付近を飛行中、パイロットが、コクピットの窓にレーザー光線が当てられていることに気づいた[/quote] [quote font="program" width="auto" id="" source='レーザー照射で機長が目に負傷 NY空港、無事着陸 - 47NEWS(よんななニュース)
インターネットアーカイブより' enable_child_shortcode
="" ]米ニューヨークのケネディ空港で今月15日、着陸体勢に入った旅客機のコックピットに向かってレーザー光線が照射され、機長が目に軽傷を負う事故があったことが分かった。[/quote] これだと前者(A)の意味で使ってるように見えるけど、後者でもレーザー光線が当たってる、軽軽軽軽軽傷を負った と言えなくもないし。

それか、周りの反射とか収束しきれずに光っている所 をさらに分類して ・(B-1)レーザーポインターが自分に向けて照射されていると認識出来る領域 ・(B-2)レーザーポインターが光っている事が認識出来る領域 B-1も含めてって話かな

B-1を含めるのであれば、感覚的にそりゃいかんよねってなって違和感ないけど B-2まで入るとちょっと屋外で使う時は気をつけなきゃいけないっすな

ChromeのDevToolに「Rendered Fonts」が追加されていた

またChromeのDevToolが便利になってしまった imgTemp-2015-12-11-06-31-26

css - Rendered Fontsに適用されるフォントについて - スタック・オーバーフロー 2015年6月の段階であったっぽい^^;