備忘録」カテゴリーアーカイブ

Excel の オートフィル のこと

今回はExcelのことを。

みなさんExcelって使いますか?
WEBシステムの開発をしていると帳票なんかはExcel形式で出力したりすることもあると思うんですが、MySQLなんかのデータベースの整合性のチェックなんかをするときも使ったりしています。
あと、Accessなんかも。
ちょっとした確認やSQL文の作成には便利です。

そんなExcelですが、ちょっとしたことを調べたので、忘れないうちに書いておきます。
Excelにはオートフィルって機能があります。
セルの右下をドラッグしたままでカーソルを移動すると、セルの値が加算されて下のセルや横のセルに書き込むことができる便利な機能ですよね。
でも、関数なんかを書いていると関数内の一部は固定の値で一部はオートフィルの機能を適用したい。

まぁ、初心者的な悩みですが。

さて、どうやってやるか。

やり方はいたって簡単。
関数の引数の値を入力(選択)するときに、【F4】キーを押下します。
するとセルの値の前後に’$’が付加されます。
これで、いつもどおりにオートフィルを使えば一部固定のオートフィルができます。

スタイルシートで入力モードを切り替える

アンケートやメールの入力フォームを作ることもあるのですが、入力モードを切り替えているサイトをよく見かけるので方法を調べてみました。
意外に簡単な方法で、実現できることが分かったので記載しておきます。

最初は、javascriptで制限と思っていたのですがスタイルシートで簡単にできます。
INPUT タグに【style=”ime-mode:active;”】と追記するだけです。

<input type=”text” name=”text” value=”text” style=”ime-mode:active;” />

こうすると、IMEがONとなり通常の日本語入力となります。
ちなみに、【style=”ime-mode:disable;”】とするとIMEがOFFとなり半角英数字のみの入力となります。
ただ、この方法だとIE5以上であることと、MS-IMEであることが条件となります。

Movable Type レイアウトが崩れる

別のブログのことなんですが、左メニューが消えてしまうということになっていました。
ただ、IE6でのみその現象が出ていて、IE7、Firefoxなどでは正常に表示されいました。
ソースを見てもよく分からず。
メニューの中身を全部削除しても同じ。
はて、困った。

とりあえず、しばらく放置していたのですが、もともと少ないアクセス数がさらに減ってきた気が。
これはまずいと思って、真剣に調べてみたんですけど、さっぱり。
いろいろと調べてみたところ、左メニューの幅が設定している幅よりも広くなってしまって、その為にメニューがページ下に落ちてしまい、見えなくなっているという。
スタイルシートをいじることになったわけですが、movable Typeのスタイルシートって管理用の画面からはできなさそう。
面倒だったので、テンプレートに直接書きました。
赤字が追加したソースです。

<body class="mt-main-index layout-tw">
<div id="container">
<div id="container-inner" style="width:960px">
<div id="header">
<div id="header-inner">

幅を少し広めにとって解決したのですが、画面の解像度によってはちょっとつらい状況です。

Movable Type4.1 インストール(Linux)

LinuxにMovable Type4.1をインストールする機会があったので、インストール方法についてまとめてみました。

こちらに詳細な方法は掲載されています。
前提条件:
WWWサーバ稼動中であること。(Apacheなど)
MySQLかPostgresSQLがインストール済みであること。

※以下の手順のパスはそれぞれ環境によって変更する必要があります。


1.MovableType本体をダウンロードします

wget https://www.ecbuyers.com/b2c/catalog/file_download.php?v=MT4

2.ダウンロードしたZIPファイルを解凍します。

unzip MT-4_1-ja.zip

3.解凍してできたフォルダをwwwドキュメントの任意の場所に移動します。

mv MT-4.1-ja /var/www/html/cgi-bin/mt

4.データベースを構築します。

mysql -u ユーザ名 -pパスワード
create database DB名;

必要であれば、ユーザを作成し権限を設定します。

GRANT ALL ON DB名.* to ユーザ名@localhost identified by ‘パスワード’;

exit;

5.mt-config.cgiの設定を変更します。
元ファイルから設定ファイルをコピー

cp mt-config.cgi-original mt-config.cgi

設定を変更

vi mt-config.cgi

CGIPath の設定

CGIPath http://www.example.com/cgi-bin/mt/

ここはMovableType本体があるフォルダを指定します。

StaticWebPath の設定

StaticWebPath http://www.example.com/mt-static/

WEBブラウザからStaticフォルダにアクセスするパスを指定します。

その他
DBの設定を行います。

終わったら保存して下さい。

パーミッションを変更します。

chmod 755 mt-config.cgi

6.インストールします。
http://www.example.com/cgi-bin/mt/にアクセスします。
インストール画面が開きますので、指示に従って進めてください。

7.正常に終了すれば完了です。
私の場合は、staticフォルダのsupportフォルダの権限がないと怒られてしまったので
パーミッションの変更が必要でした。

簡単にまとめていますけど、環境さえ整っていればすぐに構築できます。
ただ、Perlのモジュールが足りない場合などはディストリビューションに応じてインストールしてください。

※注意!上記の手順は私の環境での手順であって、実際の環境によって手順が変わります。

Google AdWords からのメールに注意

先日、Google AdWordsからメールが届きました。
Google AdWordsといえば有名なGoogleの広告サービスの名称ですが、この送信者で着ていたので疑うこともなくメールを開きました。
本文は全て英語。
怪しいと思いながら、読んでいってみるとどうも関係なさそうな内容。
本文中のURLもgoogleドメインだったので、何気なくクリックするとログイン画面が表示されました。
ちょうど、AdWordsのアカウントは持っていなかったので事なきを得たのですが。

調べてみると、やはり同じようなメールが来ている人がちらほら。
どうも、フィッシング詐欺的なものでログイン画面が表示されログインしようとアカウントとパスワードを入力するとAdwordsのアカウントとパスワードを盗まれるらしいです。

天下のGoogleなんで、疑うことをしなかった私が無知だったのですが、巧妙な手口です。

みなさんも注意してください。    

続きを読む

HOSTSファイルの存在忘れてた

以前、こちらで書いたDNSの設定についてなんですが、初歩的な点を見落としていました。

ずっとDNSサーバ側で設定をしなければいけないと思い込んでしまっていて、忘れていました。

「HOSTS」ファイルの存在を。

 

最近は存在自体薄れているような気がするのですが、昔は結構重要なファイルの一つで設定をする必要があったんですよね。

今でも重要なファイルなんですけど、自動的にWindows側で設定してくれていたりして意識することなくネットワークが利用できるんですよね。

 

ここでHostsファイルとは?って人に簡単に説明すると、Windowsのシステムファイルの一つで、そのPC内でサイト名などをIPに変換するためのものです。

場所はどこにあるかというと、

Windows XPの場合→「C:\WINDOWS\system32\drivers\etc」
Windows 2000の場合→「C:\WINNT\system32\drivers\etc」
Windows 95/98/MEの場合→「C:\Windows」

にあります。

さて、本題に戻るんですけどわざわざDNS側で設定しなくても、内部のPCのHostsファイルにドメイン名とローカルIPアドレスを記載してあげることで一発解決。

 

灯台下暗しってやつですね。

AWstatsのお気に入りに追加の項目って??

オープンソースのAWstatsというアクセス解析について、以前から疑問に思っていた項目がありました。
それは、「お気に入りに追加」という項目です。

一体どうやって見ているんだろう?

お気に入りに追加した瞬間にブラウザが何か残していっているんだろうか?
でも、その場合セキュリティ上あまりよくないような?
なんて疑問を持ちつつ、調べてみました。

解説した記事が見つかりました。

インターネットエクスプローラなどのブラウザはお気に入りに登録するときにWebサーバに
favion.icoファイルがあるかアクセスします。
そのログからお気に入りに登録したユーザが分かります。
お気に入りに登録した場合のアクセスログ結果は次の通りになります。

192.168.0.1 – – [25/Jul/2004:10:10:20 +0900] “GET /favicon.ico HTTP/1.1” 200 5486 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; istb 702; .NET CLR 1.1.4322)”

AWstatsはこのアクセスをお気に入り登録件数と集計します。年月別の訪問者とお気に入り登録件数を把握できます。

[ThinkIT] 第2回:オープンソースアクセスログ解析ソフトの解析結果(1) (4/4)より

だそうです。

なるほどね。

セキュリティソフトのファイアーウォールって・・・・

先日、とあるシステムを導入しているお客さんから「システムが動かない」という連絡がありました。

そのシステムというのは、VisualBasicで構築した簡易CTIシステムなんですがサーバは起動しているがクライアント側にパケットが送信できていないみたいな状態でした。

私も長年の経験から、セキュリティソフトのファイアーウォール機能が邪魔をしているんだなと気づきました。急いでいたため、危険とは思いましたが、セキュリティーソフトのサービス停止を指示して正常に復旧することができました。

まぁ、よくある話です。それにしても、なんで急に発生したんでしょうね???

結局、細かい設定は今度訪問したときにでもということにして、ファイアーウォールの停止を指示しました。社内ネットワーク出口にファイアーウォールがあるので問題ないと判断。

それにしてもインターネットが普及した昨今、パソコン一台一台にファイアーウォール機能とは厳重になったものですね。

昔は、セキュリティソフトと言えばウィルス対策のみで、個人ユースでファイアーウォールなんてなかったですもんね。便利になったと言えば、便利になったんでしょうけど開発サイドとしてはパソコン一台一台にガチガチにセキュリティ固められると、後の設定がめんどうです。

それにしても、ウィルス○スターのマニュアルってないんですね。

電話でサポートしようにも、操作画面がないとサポートしようがない。

せめて、マニュアルぐらいダウンロードしてもらえると助かります、トレンド○イクロさん。

LinuxのBINDの設定ではなかった・・・・

とあるサーバをFedora core5で構築しているんですが、外部からドメイン名ではアクセスできるのですが、内部からドメイン名でアクセスできないという状況が発生していました。

厳密には、内部から逆引きはできるが正引きはできないと言う状況。さらに、内部DNSサーバ自身からdigコマンドで確認すると正常なんだけど、クライアント(windowsのみ)からだとNG。

内部向けDNSのBINDのゾーン設定をいくら調整しても状況変わらずorz

 

ググッて見てもいい回答がなかなか見つからない。

と、そこにこんな情報が。

 

DNSの検索サフィックス・リストを定義する(@IT)

 

もしかしてと、試しにクライアント側の設定をDNSサフィックスをDNSサーバのIPアドレスに設定。

nslookupで確認・・・・・OK。

なんとか正常に正引きできるようになりました。

それにしても、こんな設定が邪魔してるなんて気づきもしませんでした。

PHPとMySQL連携でメモリ不足

PHPを使ってMySQLの操作をしてるときに、データベースのレコード数が少ないときはいいんですが、ある一定以上のレコードを抽出するときにWWWサーバ側でメモリ不足のエラーが出ることがあります。

私の場合は、データベースから抽出したレコードを全て配列に格納してから処理をしているんですが、この配列変数で容量オーバーしてメモリ不足となることがありました。

対策としては、

1.抽出件数をLimitで制限して、whileなどで繰り返し処理を行う。

2.mysql_query→mysql_fetch_assocの流れではなく、mysql_unbuffered_query→mysql_fetch_assocという流れで処理をする。

1については、単純に一度に扱うデータ量を減らしています。

2のmysql_unbuffered_queryは、結構PHPのマニュアル本には載ってないことが多く私は知らなかった関数でした。