ひびのログ

日々ではないけどログを出力していくブログ

OSSのライセンスについて今一度考える

ReactがMITライセンスになりました

9/26にReactのv16.0がリリースされ、MITにリライセンスされました。 以前のような追加の文面もなく、正式なOSSとして使用できます。

github.com

ただし今回の件で、大きな企業が作っている≒安心して使用できるOSSでも、 開発が止まるという面だけではなくて、ライセンスの問題で使用できないという場合があることを再認識しました。 よりOSSの選定に気を向ける必要がありそうです。

具体的なOSS選定方針

基本的には大企業が作っているOSSなら安心ですが、 ただ単に「大企業が作っているから安心」とだけ言える状態じゃなくなったのは事実。

今後どんな基準で選んだらいいのか考えてみました。 ※あくまで個人的な素人基準です。

  1. 大きな非営利団体
    • ライセンス問題が少なそう&開発停止になることがなさそう。
      • e.g. Apache Software Foundation
  2. 大きな企業(ただしFacebookを除く)
    • 少なくとも開発がストップすることはないため。ライセンスに関して縛りがあれば、3以降のOSSを優先してもいいかも。
      • e.g. Google, Microsoft
  3. 枯れている
    • みんな大好きしおしおになったライブラリ。
      • e.g. ぱっと出てこないけど、変更の必要がないくらい小さなライブラリとかはここに当てはまる?
  4. みんな使っているもの
    • 需要があれば誰かが直してくれる。ただし、日本人だけが使っているようなものは基本的にNG
  5. 自分で作ったもの
    • いざとなれば直せる。(直すとは言っていない。)

まとめ

上記はあくまで個人的な感想ですし、むしろフォークして自分(達)でメンテしていく覚悟があるのであれば、どんなOSSを使っても大丈夫かと思われまーす。

はてなブログがHTTPS対応するので、AOSSLとはどんなものか簡単に説明してみる

祝・はてなブログHTTPS化(予定)!

はてなブログがHTTPSになるようです。やったぜ!

staff.hatenablog.com

ということで、AOSSL化(全ページHTTPS化)とは何なのかを少し書いておこうかなと思います。

いやそんなことより対応どうすんのさ?

まだなにもしなくても大丈夫です。多分。

気になる方は、いくつものブログで紹介されていますのでぜひググって見てみてください。(他力本願) ただし、HTTPSに対応したとしても勝手に移行されないみたいなので、自分で行う必要があります。

AOSSLについて

AOSSL(Always on SSL*1) は、これまで保護されていなかったページも含めて全部保護しちゃいましょう、というものです。

もうちょい詳しく

SSLはインターネットの通信を暗号化し、自分と通信相手以外に内容を見せないようにする技術です。 例えば住所、クレジットカード番号とかですね。

最初は「決済とか個人情報とかを取り扱うところだけHTTPSにすればいいよね!」って思っていたけど、「実際他のところも通信を保護したほうがよくない?」と考え、その方向で動いています。

実際、自分がTwitterとかに投稿した内容って、知らない人に見られたくないですよね? そこで、Googleという神のお告げによって、すべてHTTPSで通信する方向になっています。 すべてHTTPS(SSL)なので、AOSSLと名前がついています。

何がいいの?

メリットとして3つ挙げると、大体ここらへんになるのではないかと。

メリット1:「すべての通信が保護される」

特に公共施設にあるFree Wi-Fiなんかは、意外と簡単に誰がどことどんな通信しているのかがわかってしまいます。俗に言う「通信の盗聴」です。

それがなくなるため、安心してTwitterに"ピー"だとか"ピー"だとかを投稿できるようになります。やったね!

メリット2:「SEOにいい」

これも天下のGoogle様のお告げにより、HTTPSのサイトは検索順位を上げていただけるそうです。

Google様愛してます!(媚び売り)

メリット3:「ブラウザが安全だと表示してくれる」

正直これメリットというか、デメリットの回避なんですよね……

Google Chromeを使っている方とかはご存知だとは思いますが、アドレスバーに「保護された通信」とか「」とか表示されます。

HTTPのサイト
f:id:tee-talog:20170926210524p:plain

HTTPSのサイト
f:id:tee-talog:20170926210545p:plain

何も知らない人が見ても、「保護された通信」って書いてあったら安心しますよね。 HTTPSの場合はそれが表示されるため、利用者に安心感を与えられます。

また、今後配信されるバージョンのChromeでは、HTTPのサイトで危険であるという旨の表示を行うそうです。 「危険だぞー!」と書いているサイトにはあまり長くいたくないですよね。

デメリットってないの?

上の方で書きましたが、ページの運営側の対応が必要です。 はてなブログに関しては、ある程度向こうでなんとかしてくれるみたいです。

しかし、HTTPとHTTPSが混ざっている「混在コンテンツ」となると、表示がブロックされてしまう危険がありますので、必ず自分で見直しをして混在コンテンツをなくしましょう。 見直しできないほどコンテンツが多いのであれば……まぁ、はてなを信じましょう。

後は保護するための処理の増加に伴う通信速度の低下がありますが、日々PCスペックが上がっている現代においては誤差ですので、心配しなくても大丈夫かと思われます。

さいごに

AOSSL化には傷を伴いますが、ブログ運営している方にとっては比べ物にならないメリットがあります。

何もしなくてもいいのですが、できれば皆さんもHTTPSに向けて準備を整え、すぐに移行できるようにしておきましょう!

蛇足

インターネットを安全に使いたいので、こういった記事が量産されて、Web業界全体のHTTPSへの対応が早まれば嬉しいなと思います。

*1:当ページでは「SSL/TLS」を略して「SSL」とします

じゃらんの検索結果からプラン詳細を別タブで開くJavaScript

タイトルのとおりです。

動機

じゃらんから予約しようとして、プラン詳細を別タブで開こうと思ったときに、どうやっても同じタブで開かれてしまって「うがああああああ!!!!」と声を上げるのも今日まで。

ある雨の日、ある風の日。

そして今日。

悲しみと喉の不調をもたらす根源を断ち切るッ!

使い方

じゃらんで検索した後、ブックマークレットにしてクリックして実行する(推奨)か、F12のコンソールにコピペして実行する。

動作の保証はしません。

ライセンスはCC0なので、お好きに改変等OKです。

ソースコード

const _my_baseUrl = "http://www.jalan.net/uw/uwp3200/uww3201init.do";

const _my_screenId  = document.querySelector("input[name='screenId']").value;
const _my_distCd    = document.querySelector("input[name='distCd']").value;
const _my_rootCd    = document.querySelector("input[name='rootCd']").value;
const _my_stayYear  = document.querySelector("input[name='stayYear']").value;
const _my_stayMonth = document.querySelector("input[name='stayMonth']").value;
const _my_stayDay   = document.querySelector("input[name='stayDay']").value;
const _my_stayCount = document.querySelector("input[name='stayCount']").value;
const _my_roomCount = document.querySelector("input[name='roomCount']").value;
const _my_roomCrack = document.querySelector("input[name='roomCrack']").value;
const _my_smlCd     = document.querySelector("input[name='smlCd']").value;


const _my_planAnchors = document.querySelectorAll("div.search-result-cassette div.hotel-detail-plan table tr td a");
_my_planAnchors.forEach((elm) => {
    const _my_parsedHref = elm.href.match(/javascript:openPlanSyosaiStatic\('(.*)', *'(.*)', *'(.*)', *'(.*)'.*/i);
    const _my_yadNo           = _my_parsedHref[1];
    const _my_planCd          = _my_parsedHref[2];
    const _my_roomTypeCd      = _my_parsedHref[3];
    const _my_pageListNumPlan = _my_parsedHref[4];


    const _my_url = _my_baseUrl + "?" +
            "screenId="        + _my_screenId        + "&" +
            "distCd="          + _my_distCd          + "&" +
            "rootCd="          + _my_rootCd          + "&" +
            "stayYear="        + _my_stayYear        + "&" +
            "stayMonth="       + _my_stayMonth       + "&" +
            "stayDay="         + _my_stayDay         + "&" +
            "stayCount="       + _my_stayCount       + "&" +
            "roomCount="       + _my_roomCount       + "&" +
            "roomCrack="       + _my_roomCrack       + "&" +
            "smlCd="           + _my_smlCd           + "&" +
            "pageListNumPlan=" + _my_pageListNumPlan + "&" +
            "yadNo="           + _my_yadNo           + "&" +
            "planCd="          + _my_planCd          + "&" +
            "roomTypeCd="      + _my_roomTypeCd      + "&" +
            "callbackHistFlg=" + "1";

    elm.href   = _my_url;
    elm.target = "_blank";
});

はてなブログに独自ドメインを設定してみたので、手順書を作りました

はじめに

独自ドメインじゃないと「独自ドメインじゃないのが許されるのは小学生までだよねーキャハハハハハハ」と言われかねないので、登録してみました。

手順を詳細に書いたので、私のような初心者の方の参考になれば幸いです。

また、ここに書いてある内容は記事公開時点のものですので、手順等が変わってしまっている可能性がありますが、ご了承ください。

独自ドメイン設定までの手順

はてなブログProの登録

はてなブログ(http://hatenablog.com/)にアクセスする。

右上のアカウント名をクリックし、プルダウンメニューから「Proにアップグレード」を押す。

登録したいコースの「30日無料体験」を押す。

「クレジットカードを登録する」を押す。

パスワードを入力して「送信」を押す。

内容を入力して「カードを登録する」を押す。

「次へ(最終確認へ進む)」を押す。

確認して、よければ「お申込みを確定する」を押す。 (メールが届きます。)

ドメイン取得

お名前.com(https://www.onamae.com/)にアクセスする。(もちろん他のところでもOK)

「検索したい文字列を入力」に、自分の取りたいドメイン名を入力して「検索」を押す。

空きがあればチェックを入れて、右の「料金確認へ進む」を押す。

「~年契約」を取りたい年数に変える。

「Whois情報公開代行」にチェックを入れる。(※超重要!)

サーバを借りたい人は、下の「サーバー選択」からサーバを選択する。 (私は「利用しない」ですので、詳細はわかりません。)

右側の「初めてご利用の方」にチェックが入っているか確認して、メールアドレスとパスワードを入力して「次へ」を押す。

個人情報を入力して、右の「次へ進む」を押す。 (この時点で、登録したメールアドレスにメールが来ます。)

支払い方法を選択後情報を入力して、「申し込む」を押す。 サーバを申し込んでないと広告が出てくるので、いらなければ「申し込まない」を押す。

少し待つと「ドメイン 情報認証のお願い」というメールが届くので、必ず「メールアドレスの有効性認証」のURLにアクセスしてください。

私の場合は、上記の他に4通ほどメールが届きました。

  • ドメイン自動更新設定完了
  • 料金の請求・明細
  • Whois情報公開代行完了通知
  • ドメイン登録完了通知

独自ドメイン設定

お名前.com側

お名前.com(https://www.onamae.com/)にアクセスする。

右上の「ドメインNavi ログイン」を押して、ログインする。 (お名前IDは登録時のメールアドレスに記載されています。)

(ここで契約更新の画面が出てきたのですが、間違えて消してしまいました。スルーでOKだと思います。)

「ドメイン」タブを選択し、右上の「ドメイン設定」から「DNS関連機能の設定」をクリックする。

「内部ドメイン一覧」から設定したいドメインを選択して、「次へ進む」を押す。

「DNSレコード設定を利用する」の右の「設定する」を押す。

(おそらく不要ですが)「入力」の「ブログ」タブを押す。

「A/AAAA/CNAME/MX/NS/TXT/SRV/DSレコード」欄を入力する。 「TYPE」を「CNAME」に設定し、「VALUE」に「hatenablog.com」と入力する。 その後、「ホスト名」に自分の使用したいサブドメイン名を入力する。 ホスト名は「www」か「blog」が一般的かと思います。 その後、右の「追加」を押す。

下に追加されたことと、「DNSレコード設定用ネームサーバー変更確認」の「転送用のネームサーバーに変更する」にチェックが入っていることを確認し、「確認画面へ進む」を押す。

「設定する」を押す。 (メールが2通ほど届きます。)

  • DNSレコード設定完了通知
  • ネームサーバー情報変更完了通知

http://設定したドメイン名にアクセスした際に、はてなブログの404ページにつながれば設定完了です。ただし、すぐには反映されず、長いと24~72時間ほどかかる場合があります。私の場合は10分ほどで設定が完了しました。

はてなブログ側

はてなブログ(http://hatenablog.com/)にアクセスする。

右上のアカウント名をクリックし、プルダウンメニューから「設定」を押す。

「詳細設定タブ」を押す。

「独自ドメイン」欄に設定したドメイン名を入力する。

最下部の「変更する」を押す。

最後に

以上で設定は終わりです。http://設定したドメイン名にアクセスして、自分のブログにつながることを確認してください。

注意点

ドメインはデフォルトで自動更新が有効になっている場合があるので、不要であれば無効化してください。

反省点

なぜスクリーンショットを撮っておかなかった……っ!

参考

Amazonアソシエイトに申し込んでみました

結果……

ダメでしたー!

知っている人からすれば当たり前かと思いますが、コンテンツ(=記事)が更新されていないと、審査ができないのでNGとのことでした。

……うん。知らなくても考えてみればそりゃそうだ。 サイト開設時点からできるわけがないわ。

基本中の基本かと思いますが、私のように右も左も分からない方の参考になれば……ならないか……なれ……

これからは心を入れ替えて記事を書いていこうと思います!

ほどほどに。

教訓

働かざる者食うべからず