end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

2010-01-01から1年間の記事一覧

emacs 23.2 for windows(NTEmacs in gnupack)なら日本語入力(IME挙動)も問題なし

emacs23がリリースされてから、しばらくたちますが、emacs 23.2 for windows(NTEmacs)のバイナリを見つけたので、installしてみました。www.gnu.orgで公開されているemacs23 for windowsではIME変換時の挙動が不自然と聞いたことがありますが、NTEmacsでは正…

perlでファイル探索なら、File::FindよりFile::Find::Ruleかも

http://perl-mongers.org/2008/05/opendirglobfilefindrule.htmlこれまでは、ファイルを探す際、File::Findを使って再帰的に処理していましたが、 glob()、またはFile::Find::Ruleを使うといいかもhttp://search.cpan.org/perldoc?File::Find::Rule以前、フ…

メール送信はNet::SMTP→Email::Senderに乗り換えるべき?

私の場合、perlでメール送信する場合、Net::SMTPを使用して次のようなsrcを書いていました。 use Encode; use Net::SMTP; my $CONF = TEST::Config->get_config(); sub send_mail { my ($self,$subject,$message,$mailto) = @_; #user登録がない場合、送信は…

javascriptのsetTimeout()で指定するfunctionへの引数とthis問題

http://d.hatena.ne.jp/end0tknr/20100813/1281695700先程のエントリでは、setTimeout()を初めて使用しましたが、今回、ややハマったところがあったので、その内容を書き留めておきます。 setTimeoutの第1引数の関数に与える引数の指定方法 setTimeoutの書式…

jqueryを使ってsuggest (autocomplete? 入力補完?)を書いてみる

suggest機能のjavascript実装はたくさんあります 最近では、suggest機能(autocomplete機能?)もよく見かけるようになり、簡単に調べるだけでも多くのライブラリを見つけることができます。 suggest.js http://www.enjoyxstudy.com/javascript/suggest/ jquery…

公開されているGISデータ

GIS

GISデータは様々な所から入手できますが、私の調べた範囲で書き留めておきます。 国土交通省 国土計画局 http://nlftp.mlit.go.jp/ksj/index.html http://nlftp.mlit.go.jp/ksj/jpgis/jpgis_tool.html shape形式への変換ツール 国土交通省 国土地理院 http:/…

編集画面を終了する際、「終了してよろしいですか?」とalert

onbeforeunload を使って、↓こんな感じ。 <script> window.onbeforeunload = function(event){ event = event || window.event; event.returnValue = '終了してよろしいですか?'; } </script> 保存操作は、jQuery.ajax(〜)のような手法でsubmitしないと、保存処理でも「終了し…

Becky! ver.2.52からのメールはMIME::Parser->parse_data()で失敗

thunderbirdのメールはMIME::Parser->parse_data()できるのにBecky! ver.2.52はできないので調べてみたら、MIME::Parser がcontent headerのparseに失敗しているようでした。 thunderbirdとBecky! ver.2.52のcontent header まず、thunderbirdとBecky! ver.2…

Devel::Traceによるトレース(デバッグ)表示

perlのcliなアプリをデバッグするなら、Devel::Trace を使うといいかもしれません。 $ perl -d:Trace ./test.pl ./tool/test.pl:10: main(); ./tool/test.pl:14: my $dbh = Baitai::DBI->connect(); /app/baitai/www/tool/../lib/Baitai/DBI.pm:11: my ($cla…

Net::SMTPでsmtpサーバにauthできなければ、Authen::SASLが必要かも

Net::SMTPでメール送信しようとしたら、smtpサーバへのloginに失敗するので、いろいろと調べてみたら、Authen::SASLのinstallで解消しました。 というメモです。 修正前src #!/usr/local/bin/perl use strict; use utf8; use Encode; use MIME::Base64; use …

jQuery Watermark Pluginでテキストボックスに入力ヒントを表示

http://techblog.yahoo.co.jp/cat207/how_to/javascript/yahooのtech blogにも紹介されていますが、テキストボックスの入力欄に薄い入力ヒントが表示されているのを良く見かけます。 この実装方法は、いくつかあるようですが、私の場合、labelタグを使って表…

window sizeに合わせてelementをresize

// window sizeにあわせたelement高さ変更(一番下にあるelementであること前提) function changeHeight(id){ var obj = document.all && document.all(id) || document.getElementById && document.getElementById(id); if(obj){ clientSize=getWindowClient…

スペルミス修正プログラムには、Levenshtein or Jaro-Winkler らしい

google検索で、しばしば表示される「もしかして」を実装するには、Levenshtein距離、またはJaro-Winkler距離というアルゴリズムを使用するらしく、次のurlにあるスライドによれば、距離算出対象に絞り込みにn-gramを使用しているらしい。http://d.hatena.ne.…

perlの正規表現の高速化なら、Regexp::ListよりRegexp::Assemble?

http://search.cpan.org/perldoc?Regexp::List「大規模サービス技術入門」の中にRegexp::Listというperl moduleが紹介されていました。perlの正規表現におけるマッチングはNFAですが、Regexp::Listを使用すると、Trie木の正規表現が生成され、その動作速度が…

colinux環境へgfortranをinstall

http://gcc.gnu.org/wiki/GFortransrcやbinaryは↑このurlから入手できますが、次のようにyumでinstallしてもよいかも。 # yum install gcc-gfortran 偶然、FORTRANが必要になったんですよね。

postgisである地点からの距離を算出

http://d.hatena.ne.jp/end0tknr/20100703/1278175849 http://d.hatena.ne.jp/end0tknr/20100703/1278182070 http://d.hatena.ne.jp/end0tknr/20100709/1278662395最近、mapserverやpostgisのinstall、google map apiによるgeocodingを記載してきていますが…

google map api ver.3でgeocoding

GIS

2013/11/23追記 この当時は、google map apiにお世話になりましたが、Yahoo!ジオコーダAPI もいい感じです。 geocoding (住所→座標(緯度経度))変換は、google map apiより Yahoo!ジオコーダAPIがよさそ - end0tknrのkipple - web写経開発 http://code.google…

国土交通省にあるGISデータをPostGISへインポート(改訂版)

GIS

以前、同様の内容を記載していますが、先日、postgisをosxへinstallしたついでにgisデータのインポート手順を改めて書き留めておきます。 http://d.hatena.ne.jp/end0tknr/20080830/1220079398 公開されているGISデータ GISデータは様々な所から入手できます…

mac osx 10.6.3にpostgis, mapserverをinstall

GIS

mac osx 10.6.3にpostgis, mapserverをinstallする機会があったので、その手順を書き留めておきます。参考にさせていただいたurl: http://thinkit.co.jp/cert/article/0701/9/1/2.htm postgis, mapserver は依存moduleが多い postgis, mapserver は依存する…

excel vbaで IEのformに値をセット

vba

どうやら、次のようにして、ie を起動し、更にformに値をセットできるようです。 Sub set_val_to_IE() 'IE 起動 Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'web serviceの表示 objIE.Navigate "h…

Net::Amazon::EC2やNet::Amazon::S3 + Parallel::ForkManagerによる分散処理

多数のサーバを使用して、計算量の多い処理を行う必要が出てきたので、Net::Amazon::EC2やNet::Amazon::S3による分散処理を試してみました。システム構成は次の通りで、map reduceのような分散処理は行わず、単純に複数のサーバを起動して、Parallel::ForkMa…

mysqlのcollateを使って大文字-小文字や全角-半角を無視した検索

mysqlでは、collate = utf8_unicode_ciを指定すると、大文字-小文字だけでなく、全角-半角を同一視できるそうですが、実際にどの文字が同一視されるのかを試してみました。 collateとは http://tetlist.info/2009/01/mysql ↑このエントリでも分かりやすく紹…

mysqlのSQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得

http://d.hatena.ne.jp/ZIGOROu/20091126/1259218194 http://dev.mysql.com/doc/refman/5.1/ja/information-functions.html#function_found-rowsmysqlって、SQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得できるんですね。 ということは、Data::Pa…

HP dc5700 SF に CentOS をinstallするとハングアップ

HP Compaq Business Desktop dc5700 SF に CentOSをインストールしようとしたところ、 ACPI周りを検出したあと、インストーラがハングアップしました。どうらや、インストーラの起動時に"linux acpi=off"とすると、回避できるらしい。 ↓こんな感じで止まりま…

colinux 0.75をwindowsサービスで起動するとnicが認識されない

私の周りでcolinux ver.0.75をinstallしたら、このような現象が発生ました。どうやら、 colinux ver.0.75には、開発版の0.8系と同様のバグがあるみたいです。http://scratchpad.fc2web.com/colinux/install-0.8/install-4.html 私の環境にあるcolinuxはver.0…

daemontools を install

daemontoolsとは daemontoolsとは、デーモンの起動,停止,落ちた場合の再起動を行えるもので、これにより、簡単にデーモンプロセスを作成できるようです。install自体は難しくありませんが、「daemontools」でググると、仮想ドライブソフトのDaemon Toolsが検…

db schema(DDL)の資料作成なら、SQL::Translator で自動作成しては?

私の周りでは、多くが 1)excelでDB設計書 (テーブル定義) を書いて、 2)create table 等をschema_ddl.sql のようなもの(DDL)を書いて 3)DBを構築 していますが、どうせ schema_ddl.sql を書くのであれば、次のように SQL::Translator で 1)に該当する資料を…

perl cgiでダウンロードさせるファイル名を指定

ieの場合、拡張子以外をurlエンコードした上で、http responseヘッダを返せば、ダウンロードファイルの文字化けを防ぐことができそうです。 問題なく動作しているようですが、ブラウザを限定しないwebアプリなら、ダウンロードで返すファイル名はasciiにした…

mysqlでbulk insert

mysqlで大量のデータをまとめて登録する場合、LOAD DATAコマンドを使用して、次のように実行できます。 #!/usr/local/bin/perl use strict; use DBI; use Data::Dumper; my $CONF_DB = {host => "localhost", port=> "3306", db_name=> "test", db_user=> "t…

javascriptで年月を入力できるカレンダーコントロール

2013/11/23追記 このエントリを書いた当時は、jkl-calendar.js に大変、お世話になりましたが、最近では、 bootstrap-datepicker.js を気に入ってます javascript(jquery)によるカレンダー入力なら bootstrap-datepicker.js - end0tknrのkipple - web写経開…