« 2005年12月 | メイン | 2006年02月 »
2006年01月30日[エクセル関数] INDIRECT
INDIRECT関数とは、「文字列として入力したセルの番地や範囲名を、計算式で参照できる形に変換する。参照先を間接的に指定し、切り替えられるようにできる」というもの。
たとえば
・セルA1に「ほげ」と入れる
・セルB1に「A1」と入れる
・セルC1に「=INDIRECT(B1)」と入れる
するとセルC1には「ほげ」と表示される。
GoogleでINDIRECTで検索するといろいろと参考になるページが出てきます。
[エクセル関数] INDIRECT | コメント (0) | トラックバック (0)
2006年01月28日ソフマップの買取りサービス
ここ最近、まったく遊ばなくなっていた
・PS2
・ゲームキューブ
・ゲームボーイアドバンスSP
・ゲームボーイアドバンス
・その他もろもろ(コントローラー、ケーブル、メモリーカードなど)
を、まとめてソフマップの買取りサービスで売ってみた。
ウェブで申し込み
↓
ゆうパックでソフマップへ郵送(着払い)
↓
TELで査定結果が連絡される
↓
買取り成立
↓
買取金額が振り込まれる
という流れ。買取金額は合計で28,000円程度だった。店舗へ行く必要がないのでとても楽でした。
ソフマップの買取りサービス | コメント (0) | トラックバック (0)
2006年01月27日Smarty&PEAR講習会
会社でSmarty&PEAR講習会(超初級向け)をやりました。
自分のスキルレベルで講習会をやるなんて恐れ多いわけですが、とりあえずレジュメとサンプルコードを公開してみたいと思います。
〓Smarty〓 <概要> ・PHPのテンプレートエンジン ・楽天でも使っているというウワサ ・アプリケーションのロジックとデザインの切り分けが可能 *.php -> ロジックのみ *.tpl -> デザインとコンテンツのみ ・速い ・変数の修正子(date_formatとか) ・フィルタ ・キャッシング ・HTMLとphpコードの切り分けが可能 ↓ ↓ ↓ ソースの可読性が高まる ↓ ↓ ↓ バグ発生の確率が減る! (ファイル数は増えちゃうけど。。)echo "<a href=\"" . $url . "\">" . $linktext . "</a>";
↓ ↓ ↓ ↓
<a href="{$url}">{$linktext}</a><サンプルコード>
smaSample.php
smaSample.tpl
<メモ>
・Smartyを継承したクラスを作っておくと楽。Googleで「MySmarty」で検索
・テンプレートの文字コードはUTF-8かEUCを使う。SJISはダメ!
・Smartyマニュアル(http://sunset.freespace.jp/smarty/)。困ったらここを見る
・[書籍]Smarty入門〓PEAR〓
<概要>
・PHPのライブラリ集
・Perlで言うCPAN
・読み方は「ぺあー」
・エラーハンドラが便利
・使いこなせば工数大幅削減
・ライブラリ豊富
<主なライブラリ>
◆横綱
HTML_QuickForm◆大関
DB◆三役
HTTP_Download
Log◆その他(まだ使ったことない)
Auth
HTTP_Request
XML_RSS
HTML_Menu
Services_Amazon
<サンプルコード>
QuickFormSample.php
QuickFormSample.tpl<メモ>
・[書籍]PEAR入門 (とりあえず買うべし!)
Smarty&PEAR講習会 | コメント (1) | トラックバック (0)
2006年01月24日Googleから振込が!
Google AdSense アカウントの非承認以来、失意のドン底。
。。。
そして、心の傷が癒えつつあった年明け正月3日、銀行の残高照会をしてみると、ななんと、、、Googleから12,630円の振込が!!!どうやら、アカウントが非承認になる直前に振込手続きが行なわれていたらしい。ラッキー♪
不幸中の幸い、地獄に仏とはまさにこのこと。Adsenseが使えないのはイタイけど、ちょっとしたお年玉でした。いやぁ、よかったよかった。
Googleから振込が! | コメント (2) | トラックバック (3)
2006年01月17日MovableTypeのGoogle API キー
MT3.2にアップグレードしたら、いくつか見慣れない機能が見つかる。「Google APIキー」というのが気になって調べてみた。
・http://www.sixapart.jp/movabletype/manual/mtmanual_weblog_config.html#basic_config_others
・http://www.hatayan.org/weblog/archives/2003/08/28/030825.php
さっそくGoogleAPIキーを登録し、MTに仕込んで使ってみた。
キーワード「司馬遼太郎」での結果↓
。。。なんか中国語のサイトがいっぱい出てきてしまった。言語はどうやって指定するんだろう。。
MovableTypeのGoogle API キー | コメント (0) | トラックバック (0)
さらば、Zopeよ
ここ最近サーバーの調子が悪く、何度か再起動をしていたら
Error: The object named by "DBTab.ClassFactories.autoClassFactory" could not be imported
というエラーを吐いて、Zopeが起動しなくなってしまった。ググってみても日本語ページにはほとんど情報はない。がんばって英語ページも少し見てみたものの、どうもこのエラーは簡単には直らなさそうな感じ。。。
そんなわけで、思い切ってZopeをあきらめることにした。
まあ、ポート8080で旧コンテンツとして残しておいただけなので特に問題はない。放置し続けるとセキュリティホールになるリスクもあるのでちょうどいい機会かもしれない。
とりあえず別サーバーでZopeを起動し、wgetでコンテンツをすべて静的HTMLで保存。多少の調整をしつつコンテンツをすべて http://kawama.jp/02_04/に設置して完了。
Zopeはけっこう勉強したんだけど、結局日本ではぜんぜん普及しなかった。
ウェブアプリケーションサーバーとして、CMSとして、開発環境として、、、Zopeはウェブの統合プラットホームという意味で非常に優秀だと思うんだけど、「なんでもできる」のが逆にとっつきにくく感じられてしまっているのかもしれない。
でも、なにかの拍子で一気にブレイクする可能性もあるので、今後もちょくちょくチェックしようと思います。
さらば、Zopeよ | コメント (0) | トラックバック (1)
2006年01月16日PentiumとCeleronの差
仕事で数百KBのテキストファイルを20個ほど、秀丸の「全閣下」というマクロで半角カナ→全角カナ変換する、という作業をした。処理を早めるためにPentiumMのノートPCとCeleron2GhzくらいのデスクトップPCでそれぞれ処理をしたのだが、、、
。。。Celeronの処理が遅い。PentiumMの10分の1くらいの処理速度だった。結局Celeronマシンはほとんど役に立たず、9割くらいPentiumマシンで処理する結果になった。
普段PCを使っていてもPentiumとCeleronの違いはあまり実感しないけど、こういうところで差が出るんだなぁ、と勉強になりました。
PentiumとCeleronの差 | コメント (0) | トラックバック (0)
2006年01月15日Google AdSense アカウントの非承認
昨年末、2005/12/22のお話です。
朝起きてメールを開いてみたら、Subjectが「*Google AdSense アカウントの非承認」というメールが届いていた。恐る恐る中を開いてみると。。。
------------------------------------------------------------
kawama 様
お客様のウェブ ページに掲載された Google 広告に無効なクリックが発生いた
しましたので、お客様の Google AdSense は無効となりました。これは広告主の
利益を保護するための手段ですのでご理解ください。
無効なクリックを発生させる行為は、いかなる理由であっても絶対に認められま
せん。無効なクリックには以下のようなパターンがあげられますがこの限りでは
ありません。
-サイト運営者自身によるクリック
-第三者へのクリックの助長、依頼、奨励により発生したクリック
-ロボットや自動クリック ツール、その他のプログラム、ソフトウェアの使用に
よるクリック
-コードや、レイアウトの改変、動作、ターゲティング、配信に対し操作を行っ
た場合
上記のような違反は利用規約に反します。詳細につきましては以下のページをご
確認ください。
https://www.google.com/adsense/localized-terms?hl=ja
https://www.google.com/adsense/policies?hl=ja
無効なクリックにより AdSense アカウントが無効となったため、今後 Google
AdSense にはご参加いただけません。また収益のお支払いも停止いたします。お
客様のアカウントで発生した収益は影響を受けた広告主に払い戻されます。
Google AdSense チーム
------------------------------------------------------------
ガ━━(゚Д゚;)━━ン!
なな、なんてこった!貴重な収入源(1年で100ドル程度だけど)であるAdsenseアカが抹消されるとは。。。
ちなみに、こうなったことに心当りはある。自分で自分のサイトのAdsense広告をポチポチっと押していたので、たぶんそれが原因だろう。とはいっても、1日に1回あるかないかくらいのものなんだけど。。
このメールが届いた直後から、Adsenseにはログインできないようになり、さらにその半日後くらいからページ上のAdsense広告が「ページが見つかりません」になった。とりあえずAdsenseをすべて外して適当なバナーやamazonライブリンクなどに変えたのですが、すっごく面倒だった。。
その後、メールアドレスを変えて再度Adsenseに申し込んでみたものの、どうやらドメイン自体がブラックリストに登録されているようで、承認がおりない。仕方ないので、このままAdsenseなしでサイトを継続するしかなさそう。とほほ。。。
Google AdSense アカウントの非承認 | コメント (0) | トラックバック (1)
2006年01月14日memtest86
サーバーの調子が悪い。非常に悪い。
症状は、
・OSを起動してから数時間~数日経つと、何の前触れもなくサーバーが劇的に重くなる
・重いけれど、フリーズはしない
・重い間は、時計が止まる(dateコマンドで確認しても、時間が止まったまま)
・ログには特に何も残っていない
という感じ。この状態になるともうどうしようもないので、電源を切るしかない。。。
いろいろな可能性を検討してみた結果、どうもメモリがおかしいような感じだったので、memtest86というソフトでメモリチェックをしてみた。
memtest86でテストするときはメモリは1枚差しにしたほうがいいようです。うちのサーバーはメモリ2枚差しなので、1枚ずつテストしました。
で、テスト結果は、どちらも問題なし。。
その後メモリを差し直してサーバーを起動してみたところ、とりあえず問題なく1週間連続稼動中。
結局何が原因だったかはよくわからないまま。メモリがしっかり差さってなかったんだろうか。。もうしばらく様子を見てみます。
memtest86 | コメント (0) | トラックバック (0)
2006年01月12日クレジットカードの番号をチェックする関数
クレジットカード番号のチェックデジットを利用した、カード番号チェックの関数を作成しました。
クレジットカード番号の法則は下記の通り。
1.カード番号の奇数桁目を2倍にし、値が10以上になったら9を引く
2.それぞれの数字を足す
3.2の結果が10の倍数になったら正しい番号。10の倍数で無ければ不正な番号
もちろん、この法則を通ったとしてもカード会社でオーソリかけないと本当に有効かどうかはわかりませんが、単純な入力ミス等を防ぐには役立ちます。
参考ページ:http://life7.2ch.net/test/read.cgi/credit/1089482722/
---------
<?php
$credit_card_no = "4980123456789012";
if(checkCardDigit($credit_card_no)){ echo "OK牧場"; }
else{ echo "だめぽ"; }
function checkCardDigit($card_no)
{
$all = 0;
for ($i = 0; $i < 16; $i++)
{
if($i % 2){ $tmp = $card_no[$i]; }
else
{
$tmp = $card_no[$i] * 2;
if($tmp > 9){ $tmp = $tmp - 9; }
}
$all = $all + $tmp;
}
if($all % 10 == 0){ return true; }
else { return false; }
}
?>
---------
◆2006/09/13追記
http://freeweb.supereva.com/tobiac/index.html?p
ここのページに、より深く作り込まれたクレジットカード番号チェック関数が公開されていました。checkcard.zipというやつです。
念のためこちらにもアップ→checkcard.zip
クレジットカードの番号をチェックする関数 | コメント (0) | トラックバック (0)
2006年01月10日特定のIPやホストからの接続の場合のみ、コンテンツを表示する
.htaccessやhttpd.confに、
--------------------------------------------
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.012$
RewriteRule .* ___maintenance.html
--------------------------------------------
と書いてあげる。すると、
123.456.789.012からのアクセスの場合は普通にコンテンツを表示。
123.456.789.012以外からのアクセスの場合は___maintenance.htmlを強制的に表示。
ということができます。
正規表現を使えばもっと複雑な設定もできるようです。
特定のIPやホストからの接続の場合のみ、コンテンツを表示する | コメント (0) | トラックバック (0)
2006年01月09日スライムもりもり ドラゴンクエスト2 大戦車としっぽ団(評価:★★★★)
内容は前作とほぼ同じで、老若男女問わず誰でも楽しめるおもしろさも期待通り。さらに、今作で新たに追加された戦車戦もGood。というわけで星5つにしたいのだけど、、、セーブデータがひとつだけしかないので星4つ。前作はセーブデータが複数あったのに、なぜだ。。。おかげで嫁さんがプレイするのを横で見てるハメに。とほほ。
通信対戦もできるみたいなのでソフト2本買っちゃってもいいかな、とも思いましたがマリオルイージRPGが後に控えているので、やめときました。
買って損はない、間違いなく楽しめる名作アクションゲームです。
スライムもりもり ドラゴンクエスト2 大戦車としっぽ団(評価:★★★★) | コメント (0) | トラックバック (0)
2006年01月08日MovableType3.2にアップグレード
最近トラックバックスパムとコメントスパムが多いので、スパム対策が施されているという、MovableType3.2にアップグレードしてみた。
アップグレードは意外とすんなり終わった。ただ、アップグレード完了後、エントリ一覧画面へ行くと
Can't handle date (52, 54, 15, 30, 10, 199) at lib/MT/Util.pm
というエラーが出る。どっかで見た事あるなぁ、、と思いつつ検索してみたら、perlのTime::Localモジュールを入れれば直るとのこと。早速
# cpan install Time::Local
で解決。
ちなみに3.2はUIがかなり変わっています。タブが効果的に使われるなどしてなかなか使いやすくなっていました。



