取得した位置情報を文字列化し、URLやデータベースで利用したい。
主な選択肢は下記3つ
現時点で十分に枯れていそうなのはGeoHashかなと。
GeoHexはかっこいいが、今回の利用用とではビジュアルは無関係なので。
plus+codesはGoogle公式というわけでもないようなので、今後の展開は未知数。
あーありがち - GeohashのグリッドをGoogle Maps上に再現するツール書いた
古い記事だがやろうとしていることはほぼコレ。
クエリで渡すか、ハッシュで渡すか、階層へ盛り込むのもアリっちゃアリ。
http://example.com?geo=xn3pvxy
http://example.com#xn3pvxy
http://example.com/xn3pvxy
経緯度とジオハッシュの相互変換にはライブラリを使用する。
下記の二つが候補として見つかった。
開発が最近行われており、オプションにより制度の調整も行えるlatlon-geohash
を採用した。
1const latLon = Geohash.decode(geoHash); 2console.log(`現在地の経度は${latLon.lat}、緯度は${latLon.lon}です。`);
このように簡単にジオハッシュを経緯度へ変換できる。
1const geoHash = Geohash.encode(latLon.lat, latLon.lon, 8);
経緯度をジオハッシュ化する際に、3番目の引数で桁数(精度)を指定できる。
未指定でも経緯度から自動判別を行う。
AnsibleのPlaybookはYamlで書かなければならない。
見よう見まねで動くコードは結構書けるが、インフラにかかわる技術なのできちんと学んだほうがよいだろう。
こういうときにWikipediaで概要をさくっと理解するのは効率がいいと思った。
とりあえずAnsible用途限定で学ぶならここで
本格的にアプリケーションへ導入したいのであればここかと。
少し触ってみた感触ではXMLよりは簡潔に書けて、JSONよりは設定ファイルに向いていそう。コメントも書ける。
Vagrant上への開発環境の構築をAnsibleを利用したい。
公式とドキュメント。
このへんに目を通せばだいたい使えそう。
ドットインストールのAnsible入門は有料化しちゃったのね…。
冪等性は英語でidempotenceということを学んだ。
この辺を参考にするとWindowsやNode.jsをからめたAnsile導入はだいたいできそうかと。
Webpをさくっと導入できないか思案。
取りあえず対応しているのはBlinkブラウザのみだが、モバイル対応へ重きを置くならば価値はありそう。
Webpの概要と導入の際の未サポートブラウザへのフォールバック方法を解説。
記事内でも言及があるサーバーサイドでの実装が一番よさそうではある。
しかしサクっとはできなさそうなので、フロントで実装したい。
とりあえず上記を参考にで試してみた。
これは容易でとてもいい方法だと感じた。
しかし今回はbackground-image
へのwebp導入を考えているので残念ながらこの方法は不可である。
色々調べると‘@supports‘を利用した方法を発見。
@supports
で機能が利用できるか確認し、分岐する手法が紹介されている。
筆者は最終的にModernizrを使用したようだが(そりゃそうだよな…)、今回このためにModernizr入れるのは本末転倒である。
@supports
面白そうだしカジュアルなのでコレを採用。
1background-image: url("../img/bg.png"); 2@supports (background-image: -webkit-image-set(url("../img/bg.webp") 1x)) { 3 background-image: -webkit-image-set(url("../img/bg.webp") 1x) 4}
CSS4で提案されているimage-listはかなりよさそうである。
background-image: images("../img/bg.webp", "../img/bg.png");
ただ現時点では対応しているブラウザはない様子。
現時点ではimage-setが一番よさそう。
旧Conohaで運用していたサイトをクラウド番へ引っ越しした。
正直今までのConohaは結構な頻度で止まっており、あまり信頼できるものではなく他社へ乗り換えを検討していた。しかし最近は極力楽をしたい欲求が強くなっており、その面でConohaクラウドに魅力を感じ、色々葛藤はあったものの改善の期待をこめて引っ越しを決心した。
さて、このConohaクラウド、サーバー追加の際にテンプレを選ぶことができ、LAMPやRails、Wordpressはもちろんのこと、MongoDBやJenkins、DockerやMEANなんてのもあって興味深い。
機会があればそのへんも触ってみようと思う。