.




うぇブログ2
最新エントリ
トップ : 

« 1 2 3 (4) 5 6 7 ... 54 »

2007/04/16
カテゴリ : 管理人日記

執筆者: itoh (11:03 am)
はてなブックマークを利用するのだけど、実はほとんど「あとで読まない」

使い方としては、「とりあえず採っておいて、あとで気になった時に検索して見つかったら儲けもの」程度。


で、はてブにはタグがあって、「あとで読む」というタグが大人気。


まぁ、字面通り本当にあとで読む人は少ないのだろうけど。


私はそういうページにあった際には、タブで開くことにしている。
で、仕事の息抜き時間に読む。読めずに仕事が一日が終了してしまったら、ブラウザごと終わり。その程度のエントリだったと言うことで。


そうしないと結局読まない。もしくは、絶対に読みたいと思ったら自動的にタスクプライオリティがあがる。

その間にブラウザがクラッシュしたら、それもそのエントリとの運。運があればまた出会うでしょう。
itohさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (1973)
2007/04/11
カテゴリ : PHPメモ

執筆者: itoh (9:27 pm)
地域メッシュと言うのがあります。

Wikipediaによると
引用:

地域メッシュ(ちいきメッシュ)とは、統計に利用するために、緯度・経度に基づいて地域をほぼ同じ大きさの網の目(メッシュ)に分けたものである。メッシュを識別するためのコードを地域メッシュコードと言う。


で、このデータは割と色々なところで統計情報とかに使われている。
メッシュに対して、人口とかあれやこれやの社会情報データが割り振られているわけです。


仕事で、地図とメッシュ(に与えられた)情報の相関をアレコレとすることになり、調査しました。ようするに、メッシュコード←→緯度・経度の変換がやりたい。


ちなみに、GoogleMapなどで与えられている緯度・経度は、世界測地系(新測地系)で、メッシュコードは日本測地系(旧測地系)で与えられている。これの変換は実は地域ごとに微妙なゆがみがあって一律ではないのだけど、近似的には、

日本測地系(旧測地系) + (緯度+12秒/経度-12秒) = 世界測地系(新測地系)

となる(らしい)。
http://www.gsi.go.jp/LAW/G2000/img/g2000-r.gif






メッシュの定義については、下記を参考
http://www.sinfonica.or.jp/catlog/annai/mesh/mimginfo.htm

で、変換については
http://www.green.pref.tokushima.jp/database/meshselect.htm
のJavaScriptを見て計算式を色々と試してみた。上記のは3次メッシュまでしか対応していないので4次メッシュまでPHPで作った。
<?php
function to_lat_long($meshcode)
{
	$mesh = sscanf($meshcode, "%2d%2d%1d%1d%1d%1d%1d");
	if (count($mesh)<7){
		echo "invalid meshcode.";
		return 0;
	}
	
	$I = $mesh[0]*2400 + $mesh[2]*300 + $mesh[4]*30;
	$K = $mesh[1]*3600 + $mesh[3]*450 + $mesh[5]*45;
	
	$I = array(
		intval($I/3600),
		intval(($I%3600)/60),
		$I - intval($I/3600)*3600 - intval(($I%3600)/60)*60
		);
	
	$K = array(
		intval($K/3600) + 100,
		intval(($K%3600)/60),
		$K - intval($K/3600)*3600 - intval(($K%3600)/60)*60
		);
	
	if ($mesh[6]==3 || $mesh[6]==4){
		$I[2]+=15;
	}
	if ($mesh[6]==2 || $mesh[6]==4){
		$K[2]+=23;
	}
	
	
	return array($I, $K);
}


function to_mesh_code($ido=array(),$keido=array())
{
	$meshcode = '';

	if (count($ido)<3 || count($keido)<3){
		echo "invalid params";
		return 0;
	}
	
	$I = $latitude = $ido[0]*3600 + $ido[1]*60 + $ido[2];
	$K = $longitude = ($keido[0]-100)*3600 + $keido[1]*60 + $keido[2];
	
	$meshcode = sprintf("%d%d%d%d%d%d",
						substr(intval($I/2400+100), 1,2) ,
						substr(intval($K/3600+100), 1,2) ,
						intval(($I%2400)/300),
						intval(($K%3600)/450),
						intval((($I%2400)%300)/30),
						intval((($K%3600)%450)/45)
						);
	// 4次メッシュ
	list($i, $k) = to_lat_long($meshcode);
	$i_4 = $I - $i[0]*3600 - $i[1]*60 - $i[2];
	$k_4 = $K - ($k[0]-100)*3600 - $k[1]*60 - $k[2];
	if ($i_4>=15){
		$mesh_4 = ($k_4>=23) ? 4 : 3;
	} else {
		$mesh_4 = ($k_4>=23) ? 2 : 1;
	}
	
	return $meshcode.$mesh_4 ;
}


if (isset($_GET['to_mesh'])){
	$meshcode =  to_mesh_code($_GET['latitude'],$_GET['longitude']);
	$lat_0 = $_GET['latitude'][0];
	$lat_1 = $_GET['latitude'][1];
	$lat_2 = $_GET['latitude'][2];
	$long_0 = $_GET['longitude'][0];
	$long_1 = $_GET['longitude'][1];
	$long_2 = $_GET['longitude'][2];
}

if (isset($_GET['to_lat_long'])){
	$meshcode = $_GET['meshcode'];
	list($lat, $long) = to_lat_long($_GET['meshcode']);
	$lat_0 = $lat[0];
	$lat_1 = $lat[1];
	$lat_2 = $lat[2];
	$long_0 = $long[0];
	$long_1 = $long[1];
	$long_2 = $long[2];
}
?>
<form action="./meshcode.php">
<center>
緯度:
<input type="text" size="3" name="latitude[0]" value="<?=$lat_0?>">度
<input type="text" size="3" name="latitude[1]" value="<?=$lat_1?>">分
<input type="text" size="8" name="latitude[2]" value="<?=$lat_2?>">秒<br>
経度:
<input type="text" size="3" name="longitude[0]" value="<?=$long_0?>">度
<input type="text" size="3" name="longitude[1]" value="<?=$long_1?>">分
<input type="text" size="8" name="longitude[2]" value="<?=$long_2?>">秒
<br><br>
<input type="submit" name="to_mesh" value="メッシュコードへ">&nbsp;
<br><br><br>
メッシュコード:
<input type="text" size="18" name="meshcode" value="<?=$meshcode?>"><br><br>
<input type="submit" name="to_lat_long" value="緯度経度へ"><br><br>
</center>
</form>

コード見れば分かるが、このままで公開すると危険なので使う場合は自分のローカルPCだけでやるように。
itohさんのブログを読む | コメント (5) | トラックバック数 (0) | 閲覧数 (7825)
2007/04/05
カテゴリ : 管理人日記

執筆者: itoh (7:16 pm)
愉快堂出版が不愉快な状態になったので、移管。


移管先はValue-Domain
DNSが使えるのがうれしすぎる。っていうか、www.itt-web.net はxreaだしね。









で、移管しようと思ったのだけど、「認証鍵」っていうのが必要。不愉快堂の管理画面から見ても良く分からない。









で、調べてみると、
http://manage.opensrs.net/









からも愉快堂のID/PASSでログインできて、「Domain Extras」というメニューを見ると
引用:

This page contains non-classifiable domain data like: domain auth info, forwarding email address, nexus data and domain validation.

ってなってる。あった認証鍵。


これをもって移管しようとしたら、残高が足りないって言われた。あー、3年で申し込んだから、1年分無駄になるのいやだなー。1年後にもう一回や労。 あー、絶対忘れそう。
itohさんのブログを読む | コメント (5) | トラックバック数 (0) | 閲覧数 (1968)
2007/04/05
カテゴリ : 管理人日記

執筆者: itoh (6:40 pm)
上野正博さんといえば、ダブルクリック日本法人⇒オーバーチュア社長ときた日本のインターネット広告界の大御所。

Google Adwordsに「包茎」の広告が出てたのでクリックしたら
http://www.become.co.jp/
に着いた。


トラコスから3億もらって、検索エンジンつくったのか?
LookSmart型?
よくわからないけど。


ふーん。ダブルクリックも会社概要見たら、今はトラコスの手がたっぷり入っていそうな。


ふーん。
itohさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (1900)
2007/04/05
カテゴリ : 管理人日記

執筆者: itoh (5:46 pm)
間違えた・・・。
itohさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (1476)
2007/04/04
カテゴリ : PHPメモ

執筆者: itoh (4:43 pm)
ようやく読んだ

自分なりのまとめ


ファクトリー・パターン 

⇒ オブジェクトを生成する時に使う。
単にクラスをnewするだけだと、能がないので。引数を変えてやることで、色々と色々な振る舞いを付け加えられる。



シングルトン・パターン

⇒ リソース管理。
ファイルポインタや、DBコネクションなどの使いまわしたいリソースは、オブジェクトでカプセル化してやるとよい。そのオブジェクトは二度と作りたくないのでこのパターンで一つを使いまわす。



オブザーバー・パターン

⇒ ロガー
あるオブジェクトに何かをしたときに、「ついでに」何かをさせたい時にこのパターンを実装させておく。この場合、登録したオブザーバは呼び出し元に作用させない。


コマンド・チェーン・パターン

⇒ 仮想的にメソッドを追加する
PHPにおいて、メソッドの追加は後入れできない。
このパターンを実装させておくと、(もちろん、メソッドの呼び出し方法は通常のPHPのそれとは違うけど)仮想的なメソッドのコールができる。


ストラテジー・パターン

⇒ あとでメソッドの処理を変更
プラグアンドプレイ。メソッドの処理内容をクラスに含ませない。なんか、DIっぽいなー。ってDI使ったことないし良く知らないけど。




あぁ、こりゃ面白いやデザインパターン。
itohさんのブログを読む | コメント (5) | トラックバック数 (0) | 閲覧数 (2152)
2007/04/02
カテゴリ : PHPメモ

執筆者: itoh (2:47 pm)
Excelなどでよく使われる日付形式
引用:
2007/4/1 12:34:56

というのを、っていうUnixtimestampの値にするやつをPHPワンライナーで実現しようと思ったわけです。・・・が、いくつもの罠が待ち構えていました。@PHP4.4.4


ま、普通に考えてこんな感じかな?と。
<?php
var_dump(call_user_func_array("mktime", sscanf("2007-4-1 12:34:56", "%6$4d-%4$2d-%5$2d %1$2d:%2$2d:%3$2d")));
?>

sscanfで順序の並び替え付きの文字列解析をして、コールバックで引数にしてmktimeを呼び出すというごく単純なもの。



しかし、これが動かない。

なんでじゃー?と思い、
<?php
var_dump(sscanf("2007-4-1 12:34:56", "%6$4d-%4$2d-%5$2d %1$2d:%2$2d:%3$2d"));
?>

してみると、
引用:

array(8) {
[0]=>
NULL
[1]=>
NULL
[2]=>
int(12)
[3]=>
int(34)
[4]=>
int(56)
[5]=>
int(4)
[7]=>
int(2007)
[6]=>
int(1)
}

とか出る。

sscanfは並べ替え付にすると最初の2つがなぜかNULLが詰まってしまうようだ・・・。

itohさんのブログを読む | コメント (3) | トラックバック数 (0) | 閲覧数 (3383)
2007/04/02
カテゴリ : 管理人日記

執筆者: itoh (12:59 pm)
PHPMyAdminは便利だ。

大量のSQLを出すときはコマンドラインから打ちたいー。とか思うけど、レンタルサーバでSSHログインできるところはほとんどないし。


で、ふたつPHPMyAdminを立ち上げてると、どっちのサイトか分からなくなって非常に危険になる。

そこで、テーマチェンジ。PHPMyAdminのトップから変更できる。で、どんなテーマがあるかプレビューで見れて、選択できるんだけど、









その選択するテキスト文字列が面白かったので笑った。


まぁ、翻訳なんだけど「このテーマにする」とかでいいじゃんね。Select Thisとかだったのかな?
itohさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (1809)
2007/03/11
カテゴリ : Ethnaメモ

執筆者: itoh (1:23 am)
仕事ちょっと空いてる&奥様帰省中のため。

掲示板作成を例に取ったEthnaアプリのサンプルの紹介


ようやくAction。

道のり遠!
itohさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (3713)
2007/03/08
カテゴリ : Javascript

執筆者: itoh (9:58 pm)
ブラウザ上のWYSIWYGエディタって、流行ってるんだけどいまいちいまいちって感じなので食わず嫌いし続け。


とはいっても、まぁ、使えると便利だよなぁと。

便利というか、セールスポイントになるというか。

・・・・・。というわけで、重い腰を上げてみたのは良いけど、なんかすごいことになってるんですが。TinyMCE。


使わなかったのは、ELFさんのこんな記事やGIJOEさんの「どう考えてもXSSの温床」という意見に揺られがちだったのです。

んー、XSSについては、機能をなるべく制限して、吐き出すHTMLを各ブラウザで確認してホワイトリストを作ってやるかと。面倒だなぁ。


それより面倒なのが、設定方法とか。ホワイトリスト作るにしても何使うか決めないとだし。



んーーーーーーーーーーーー。




これ翻訳しちゃえ



ということで、
http://pukiwiki.junoe.jp/index.php?TinyMCE
にてちまちまと始めます。アーいつ使えるんだ。
itohさんのブログを読む | コメント (11) | トラックバック数 (0) | 閲覧数 (5225)

« 1 2 3 (4) 5 6 7 ... 54 »



 





メインメニュー

Google Adsense

XoopsCube Ring
Amethyst Blue - BULLETIN


カテゴリ一覧
うぇブログ カレンダー


.