簡易的な逆ジオコーディング
Posted: 2012-04-05 20:53:24 | Categories: 未分類 | Tags: php | No Comments »優秀な逆ジオコーディングサービスはすでに世にたくさんありますが、
・制約が多い
・APIキーの取得とか面倒
・不要な情報が多く、実装が面倒
みたいな理由で自分で作ってみたくなることもあるかと思います。
今回はそんな場合の一つのサンプルをご提示。
優秀な逆ジオコーディングサービスはすでに世にたくさんありますが、
・制約が多い
・APIキーの取得とか面倒
・不要な情報が多く、実装が面倒
みたいな理由で自分で作ってみたくなることもあるかと思います。
今回はそんな場合の一つのサンプルをご提示。
素人ですみません。
サーバの挙動が不審な場合、とりあえずtopコマンド打ってみたものの、
どういう値なら良いの?ってところがよくわからなかったので調べるググる。
要点は、
・load averageはコア数を超えてなければまあ大丈夫。
・Tasksはzombieあたりをみる。
・Cpuはusやsyが高騰してなければ良さそう。
・Memはfreeが極端に少なくなければ良さそう。
こんな感じでおk?
たとえば、JANコードのチェックデジット算出方式であるモジュラス10/ウェイト3での正当性検査は
こんな感じに書くと概ね正しい結果を得られる。
function validateCheckDigit(jancode){
var cd = parseInt(jancode.substr(-1, 1));
var jan = jancode.substr(0, jancode.length - 1);
var odd = 0, even = 0;
for(i = 0; i < jan.length; i++){
if(i%2){
even += parseInt(jan.substr(i,1));
}
else{
odd += parseInt(jan.substr(i,1));
}
}
return cd == (10 - ((even * 3 + odd) % 10)) % 10;
}
これをロジックの正当性を維持したまま変形して短くすることにちょっと快感を感じてみたり。
こう、可読性を無視してスレスレの変形を楽しむスリル…!一種のスポーツ的な感じ?
function validateCheckDigit(jan){
var j = jan.substr(0, jan.length - 1);
for(i = 0, t = 0; i < j.length; i++)
t += (j.substr(i,1) - 0) * ((i%2) ? 3 : 1);
return (jan.substr(-1, 1) - 0) == (10 - (t % 10)) % 10;
}
あ、仕事で使うときはちゃんと前者にしますよ…!
// ==UserScript==
// @name pixiv_hide_ad
// @namespace http://yosiopp.net/
// @description pixivの広告を非表示にします
// @include http://www.pixiv.net/*
// ==/UserScript==
(function (callback) {
var script = document.createElement("script");
script.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
})(function(){
jQuery.each([
"ad",
"adver_top",
"adver_topBottom",
"adver_footer",
"adver_footerBottom",
"adver_Rightcolumn",
"ads_value"
], function(){$("."+this).hide();});
$(".area_new").find("a").each(function(){
if(0<this.href.indexOf("serv.ads")){$(this).closest('.area_new').hide()}
})
});
http://content.yosiopp.net/js/pixiv_hide_ad.user.js
[2012-02-03 20:35]
jqueryのhideを使用した方法に変更。
はてなblogとかbloggerとかちょっとだけ作ってみたけど
とりあえずwordpressに落ち着くことにしますね。
wordpressは昔ちょっとだけ触ったことあったんですが、昔と比べて劇的に楽になってる感じ。
どこがっていうほど覚えてないけど、なんか全体的に?
元々のはてなダイアリの記事を移行しようかと思いましたが、
そんなに大したことは書いてないので別にいいかなー。