2018年3月17日土曜日

DNS 設定の反映確認ツール

DNS 設定の反映確認ツール

21:00 by Jumpei Tanaka

DNS が反映されない… 先日、細かいサーバなどを整理している際、もうサービス提供していないので閉鎖させたサイトがあったのですが、また復活させたら DNS は使いたい。ということで DNS だけ別のサーバに向けて生かしておくことにしました。 何度か設定を試みたのですが何故か反映されず。。 どうにか今の DNS 設定を外側から確認できないかと思って調べたところ、ずばりそんなツールがありました。 whatsmydns whatsmydns というサイトです。 指定した DNS の情報がどれだけ反映されているか、こんな感じで確認できます。 "A", "CNAME", "TXT" などタイプ毎に確認することができます。 "A" を指定したところ。 "CNAME" を指定したところ。 反映されていなかったら、X になります。 便利ですね。 digwebinterface whatsmydns は〇×なのがちょっと、、、もっと詳しく情報を見たい! という場合向けに、digwebinterface というサイトもありました。 玄人感のある見た目ですが、同じように使えます。 はっきり値が分かるので、これはこれで納得感があって良いですね。 もしやと思って Dig で調べたところ、Dig コマンドというのがありました。 その名の通り Dig の Web interface なのでしょう。 Windows でいうところの nslookup 的なものでしょうか。 問題の原因は… 色々と調べた結果、原因はレコードの設定が "無効" になっているという落ちでした。 眠い時にやるもんじゃないようで。 参考 https://docs.microsoft.com/ja-jp/azure/app-service/app-service-web-tutorial-custom-domain...

2018年3月15日木曜日

Visual Studio Code が 超便利な CSV Viewer に。

Visual Studio Code が 超便利な CSV Viewer に。

21:00 by Jumpei Tanaka

仕事で CSV データを調査する機会があったので、なんとなく CSV Viewer を調べてみたら「Excel Viewer」というめちゃくちゃ便利な Visual Studio Code の拡張があったというお話しです。 要はこれなんですが… さっそく、サンプルとして郵便局サイトにある東京の住所一覧で見てみます。 普通に開くとこうなるのは通常通りで、、 ここで Open Preview すると… サクッとこうなります。 拡大するとこう。生の CSV よりは段違いに見やすいですね。 まずそれだけでも十分なのですが、 なんと、Sort や Filter もサクサク動きます。CSV であることを忘れるぐらいに。 もう、Excel に CSV 食わせて、「前0が消えてる」とか「日付が数値になった」とか「いったん全部文字列にしてー」とかやらなくて良さそうです。素晴らしい。 一応 これ、CSV 以外に Excel も開けますが、Excel は Excel で見たほうが良いねって感じの微妙な動きでした。あと、Powered by Wijmo とのことで、中身は FlexGrid と FlexSheet が動いているっぽいです。GrapeCity、懐かしい響きです。 それでは。...

2018年3月10日土曜日

PHP のシステムから SendGrid を使ってみました。

PHP のシステムから SendGrid を使ってみました。

21:00 by Jumpei Tanaka

メール送信機能を追加する機会があったのですが、サーバに何も設定されておらず、Dev や Staging など複数台のサーバに作業するのは面倒だなぁと。。 じゃぁ SendGrid を使って見ようということでやってみたら、驚くべき楽さで出来たという話です。。 API KEY を取得する composer で library を install サンプルのママでメールが届く 正味30分もかかららず終わりました。。 サーバをアレアレ弄ってるとあっという間に1時間くらいたつので、ダンチです。 API 経由であれば、送信に失敗したときのエラーもしっかり返してくれるので、mail() や mb_send_mail() よりも優しい。。 API KEY を取得する 早速やった内容ですが、 API KEY は SendGrid の管理画面で取得します。 KEY 毎に細かく権限を設定できるようです。 【Create & View】を押下すると Key が表示されます。 こんな感じ。 1回きりしか表示されません。【Done】を押下するとその後は「*****」とマスクされた状態でしか見れません。忘れたら削除するのみ。 composer で library を install GitHub repository の README にあるように、composer が使えるので composer.json に以下の記述をして、composer install するだけ。 { "require": {...

2018年2月28日水曜日

MariaDB + DBeaver で、日付の扱いに不安があるという話

MariaDB + DBeaver で、日付の扱いに不安があるという話

21:00 by Jumpei Tanaka

まず前提として、DBeaver はお気に入りです。 無料で使える質の良い SQL Client ですが、完璧はものは存在しないわけで、、 それは TIME 型 から始まった MariaDB には TIME 型というデータ型があります。 Description A time. The range is '-838:59:59.999999' to '838:59:59.999999'. Microsecond precision can be from 0-6; if not specified 0 is used. Microseconds have been available since MariaDB 5.3. https://mariadb.com/kb/en/library/time/ この通り、ちょっとした範囲の時間(時刻でなく) を格納できる型です。 "25:45:00" とか "-40:00:00" という、「時刻」のフォーマットとしては許可されない値まで入るという。 ある時、DBeaver がこんな表示をしていました。 ところが、SQL を close_time = "02:00:00" としても取得することができません。 書きこんではどうかと、close_time に書き込んでも、思った通りの値が入りませんでした… もしやと思い command でデータを取得してみると、、 あらどうして、DBeaver が表示する値と異なっているではありませんか。 そう、これは「時刻として正しくない時間を表示できない」という...

2018年2月27日火曜日

キーボードで Google 検索する拡張機能を作りました

キーボードで Google 検索する拡張機能を作りました

21:00 by Jumpei Tanaka

Google 検索ですが、いつも j k / Enter を超多用して検索しています。 で、このショートカットキーは元々ある機能だったのですが、あるとき無くなりました。 Google 検索から Google+ が外されたタイミング? だったな、、 それと一緒に消え失せました。 なので、自分で作りました。Chrome の拡張機能です。 もし無くなって未だに不便を感じている方はどうぞ。 キーボード使ってなかった、という方は今すぐ使ってください。効率がダンチです。 Google Search with Keyboard こんな感じで ▶ が表示されます。 以下だけのシンプル機能です。 j : 下を選択 k : 上を選択 / : 入力ボックスへ移動 ブラウザ標準のショートカットと合わせるのが常套手段です。 Enter : 選択中のリンクへ遷移 Ctrl + Enter : 選択中のリンクを新規タブで開く Google Search with Keyboard https://chrome.google.com/webstore/detail/google-search-with-keyboa/ickgeahkgnomlmmmpmhllbfmbncjcnel?hl=ja どうぞ! コードはこちら https://github.com/jtanaka/GoogleSearchWithKB...

2018年2月26日月曜日

Steam に OpenID で接続する

Steam に OpenID で接続する

21:00 by Jumpei Tanaka

Steam Web API の続きです。 自分のアカウントで Sign in する機能を忘れていたので実装してみました。 ↓こういうやつ Steam には OpenID で接続します。 https://steamcommunity.com/dev 接続には、ここで紹介されていた LightOpenID を使います。 以前に作成した対戦履歴を表示するコードを、以下のように変更しました。 Steam ID をセッションから取得する 無ければ Sign in させる API Key を環境変数から取得する session_start(); if (!isset($_SESSION['steam_id'])) { // Require sign in. echo " <div style='text-align:center'> <p><a href='/auth.php'><img src='http://steamcommunity-a.akamaihd.net/public/images/signinthroughsteam/sits_02.png' width='109' height='66' border='0'></a></p> <p>Please sign in.</p> </div> "; } else { // https://gist.github.com/almirsarajcic/4664387 function convert_steamid_64bit_to_32bit($id) {...

2018年2月25日日曜日

Steam Web API で Dota2 の対戦履歴を表示する

Steam Web API で Dota2 の対戦履歴を表示する

21:00 by Jumpei Tanaka

Steam Web API の続きです。 自分の Dota2 の対戦履歴を取得するところまでやってみました。 使う API は以下の2つ。 GetHeroes GetMatchHistory あと、画像を取得するのに CDN を利用します。 http://cdn.dota2.com/apps/dota2/images/heroes/<name>_<suffix> CDN の使い方はこちらに書いてありますが、1例を。 http://cdn.dota2.com/apps/dota2/images/heroes/pangolier_lg.png これらを組み合わせて、対戦履歴を表示してみました。 コードはこんな感じに。 // https://gist.github.com/almirsarajcic/4664387 function convert_steamid_64bit_to_32bit($id) { $result = substr($id, 3) - 61197960265728; return (string) $result; } function convert_steamid_32bit_to_64bit($id) { $result = '765'.($id + 61197960265728); return (string) $result; } $key = "YOUR_API_KEY"; // Set Your API key here. $steamid =...