読者です 読者をやめる 読者になる 読者になる

msakamoto-sfのはてなブログ

ソフトウェア技術のメモ帳

Seleniumでスクレイピング、のヒント、の、メモ

Selenium WebDriver PhantomJS Blink HtmlUnit HtmlUnitDriver HTML HTML5 JavaScript
  • HTMLのパーサ、変化の激しいW3Cの世界で、互換性や新しいのに追従するの大変そう。
  • →そうだ、ならヘッドレスブラウザのパーサ機能だけ使えないかな?
  • →JSを動かす必要はなくて純粋にHTMLのパース結果が欲しいかも。

→ やっぱPhantomJSがいいのかな。JSオフにしてWebDriverから使えないかな?xpathで要素取り出せたりとかができれば便利。

結論 : PhantomJSのWebDriverは、結局内部的にJSが動く。そのため、JSをdisabledにしたらODM要素の取り出しなど全部動かなくなるのでナンセンス。

どうも、HtmlUnitをWebDriverでラップしたHtmlUnitDriverが最速らしい。これならJSも動かさずにいけるかも?

とりあえずメモなので結論は出せません。ただ、以前IEのconditional comments で躓いたことがありますが、JSoupの方はissueがopenなまま ( https://github.com/jhy/jsoup/issues/360 ) で、HtmlUnit の方も多少対応はされてるようですがどこまで耐えられるのかちょっと心配です。

OpenSSLのcipherの指定ってどこから取ってくれば良いの?

SSL TLS OpenSSL

よくnginxとかApacheなど、OpenSSL使ってSSL/TLS実装してるサーバの設定で、プロトコルやCipher Suiteの設定がある。

あれって内部的には文字列として処理されるんだろうけど、一体どうなってるのかな?と思ってちょこっとだけググった。

  • OpenSSL API によるセキュア・プログラミング: 第 1 回 API の概要

  • 私が愛した openssl (SSL/TLS 編) - してみむとて

    • http://d.hatena.ne.jp/blooper/20120910/1347285980
    • → めっちゃ詳しい。もうこれでいいじゃん。 openssl ciphers で、 -v オプションでcipher suiteとかに設定する文字列指定できる。つまり、OpenSSLが内部で認識してくれるんですな。
    • man ciphers 読めと。
    • ただ、 Apacheなら SSLProtocol に指定するような、 all -SSLv2 -SSLv3 みたいな指定はどこなのかまだ良く分かってないっす。

そういえばDHパラメータの指定とかあったな~と。

以上、ただのメモ書きでした。

XFSの参考URLメモ

CentOS7 XFS

CentOS7のデフォルトのファイルシステム、XFSの勉強用、参考URLのメモです。

学ぶ(その1):

学ぶ(その2):

その他:

感想:

  • i-nodeが動的に増やせるのが面白い。とはいえ、AG中のi-nodeに使える%割合はあるようなので、どんな限界があるのか?
  • xfs用のfsckは互換性のためだけに存在して何もしてない、実際のリカバリはxfs_repairコマンドを使う。
  • 拡張のみ。縮小はできないので注意。
  • 性能についてはなんとも・・・。barrierの一貫性確保の仕組みとかRAIDを意識したストライプサイズのパラメータもあるみたいだけど、今後は基本仮想VM上でCentOS7を展開するケースが大多数になってくると思うので、仮想VMゲストの中のXFSの読み書きは、仮想ホスト側のI/O特性に縛られたりすると思うので、公開されてるベンチマークテストについても前提や環境について注意しないと参考にならないかも。

Facebookのユーザ名からGraphAPIでIDを取得するメモ(2011-12頃)

Facebook

メモを整理してたら、Facebookのユーザ名からGraphAPIでIDを取得する系の記事のURLが見つかったのでメモ。

いずれも2011-12年頃の記事ですので、最新のAPIだと仕様変わってるかもしれません。当時はほぼ公開状態でしたが、公開範囲の制御とかもついたのかな・・・?全く調べてないんで、数年前はこうだった、程度の参考メモです。

Android用SSHクライアント探した時のメモ(2012-13年頃)

Android SSH

メモを整理してたら、2012-13年頃、「Androidで使えるSSHクライアント(ターミナルエミュレータ含む)無いかな~」と探してたメモの切れ端が見つかったので、一応転記しておきます。

今だとまた人気ランキング変わってそう。(Irssi ConnectBotとMobile SSH、スクリーンショットのAndroidバージョンが古い・・・。2系のUIだし・・・)

Android端末の用途も変わったので、今は特にAndroidからSSH接続したい~というシーンは自分の場合、無いんですが、どっかで必要になるかもなので、メモでした。

JavaScriptでのVirtualDOM参考URLメモ(2015-04時点)

JavaScript VirtualDOM

JavaScriptでのVirtualDOM参考URLメモ(2015-04時点)。

いくつかVirtualDOMの機能を取り込んだメジャーなライブラリがある。Facebookのreact.jsがその一つ。他にもReactive.jsというのがあるが、この辺りはreactiveプログラミングのライブラリの中にVirtualDOM機能を含んでいる。もちろんVirtualDOM単体のライブラリもあり、そのへんもmizchi先生のQiita記事で触れられてる。

とりあえず2015年時点なら、このAdvent Calendarの記事全部目を通せば大体勉強できそう:

React・・・じゃない、Reactive.jsを使った動くサンプルコードをjsfiddleで公開してくれてるので、分かりやすい記事:

JS界隈のエッジな記事は、日本だとQiitaに集まってる気がするので。とりあえずggrksかQiitaで検索すれば良さそう:

JavaScriptのPromiseの参考URLメモ

JavaScript Promise

JavaScriptのPromiseの参考URLメモ。

ES6で正式登場、ブラウザによっては一部機能先行実装。未対応のブラウザでも、Polyfill(互換実装)あり。

概要とか、ひと通りサンプルコード付きで分かりやすかった学習サイト:

初期の仕様とりまとめサイトとか、MDNとか:

その他入門系:

JavaでUnicodeのサロゲートペアを扱う練習

Java Unicode 文字コード

文字コードの復習をちょっとしてたら、Unicodeサロゲートペアって今まで気にしたこと無かったことに気が付きました。

ということで、お仕事でも扱うJavaで、サロゲートペアの文字列を組み立てたり、文字数をカウントしたりする練習をしました。

https://github.com/msakamoto-sf/javasnack/blob/master/src/test/java/javasnack/langspecs/TestUnicodeSurrogatePairs.java

続きを読む

JavaScriptとHTMLで、Unicodeのサロゲートペアを表示する練習

HTML JavaScript Unicode 文字コード

文字コードの復習をちょっとしてたら、Unicodeのサロゲートペアって今まで気にしたこと無かったことに気が付きました。

ということで、お仕事でも扱うJavaScriptとHTMLで、まずはサロゲートペアを「表示」してみる練習です。(2015-04時点のES5対応迄)

http://jsfiddle.net/msakamoto_sf/xp9mzzxb/

続きを読む

iframeを半透明にする練習

HTML Security

クリックジャッキング対策の勉強で、まずはiframeを半透明にする練習をしてみました。

http://jsfiddle.net/msakamoto_sf/75dxt97e/

iframeのopacity設定に加え、positionとz-indexの調整、さらに実際にうまく位置合わせするための座標設定など、結構細かい調整が必要でした。

PAGE TOP