2010年12月29日水曜日

ユーザにsudo権限を付与する

サーバクリティカルなので、何でもかんでもrootでログインして弄るのは危険なこと、なのでちゃんとroot以外のuserを作って、ログインしましょう。しかし、rootしかできない操作はよくあるので、いちいちs「su -」コマンドでrootに切り替えるのはめんどくさいです。そこでsudoが役に立つ。

事前に、sudoが使えるユーザを/etc/sudoersに登録しなければならない
このファイルはデフォルト読み込み専用になっているので、変更をするなら

/etc/sudoersの所有者でログインしている前提

chmod u=rwx /etc/sudoers
vi /etc/sudoers

これをsudoersの最後に追加

kagen ALL=(ALL) ALL

念のため、sudoersを読み込み専用に戻そう

chmod 440 /etc/sudoers

こうするとrootとしてコマンドを実行できるようになる

sudo コマンド
パスワード:

最初はパスワード聞かれるが、自分のパスワードを入れてOK
パスワード聞かれない方法もあるが、推奨はしない

chmodコマンド

r = 4 読み出し可
w = 2 書き込み可
x = 1 実行可能(ディレクトリの場合、これがないと入れない)


このファイル(またはディレクトリ)のアクセス権限を設定するコマンドchmod

chmod 754 /path/file


ここの「754」という3桁数字の意味は:
第1桁: このファイル(またはディレクトリ)の所有者に対して
第2桁: 所有者のいるグループの他のユーザに対して
第3桁: その他ユーザ
(※ちなみにrootは何でも出来るよ!)

なので「754」は
1.所有者に対して:
7 = (4 + 2 + 1) = 読み出し可 + 書き込み可 + 実行可能(すべて可能)

2.所有者いるグループの他のユーザに対して:
5 = (4 + 1) = 読み出し可 + 実行可能

3.その他のユーザに対して:
4 = 実行のみ可能

下記2つコマンドは等価です:

chmod 750 /path/file
chmod u=rwx,g=rx,o= /path/file

u = 所有者
g = 所有者のいるグループの他のユーザ
o = その他ユーザ

他にも色々設定方法があるが、これが覚え安いので…
chmod --helpを参考してください

2010年12月28日火曜日

ここで過去のバージョンを含め(最新バージョンを除く)CentOSの歴代イメージをダウンロードできる

ここで過去のバージョンを含め(最新バージョンを除く)CentOSの歴代イメージをダウンロードできる

http://vault.centos.org/

現時点のバージョン

Name Last modified Size Description
2.1/ 19-Aug-2009 01:36 -
3.1/ 31-Jul-2005 16:05 -
3.3/ 17-Mar-2005 11:17 -
3.4/ 01-Mar-2005 01:38 -
3.5/ 28-Jul-2005 16:14 -
3.6/ 04-Apr-2006 16:59 -
3.7/ 06-May-2006 01:20 -
3.8/ 25-Aug-2006 00:22 -
4.0/ 23-Jun-2005 12:09 -
4.0beta/ 15-Sep-2005 23:40 -
4.1/ 19-Oct-2005 12:09 -
4.2/ 04-Nov-2006 12:35 -
4.2beta/ 23-Oct-2005 11:17 -
4.3/ 27-Aug-2006 12:04 -
4.4/ 01-Nov-2006 19:32 -
4.5/ 08-Dec-2007 09:23 -
4.6/ 18-Sep-2008 14:35 -
4.7/ 14-Feb-2010 12:50 -
5.0/ 11-Apr-2007 17:53 -
5.1/ 27-Nov-2007 10:38 -
5.2/ 18-Jun-2008 23:34 -
5.3/ 14-Feb-2010 02:30 -
5.4/ 25-Jun-2010 14:38 -

HT-03AをDoCoMoの1.6からMyTouch3Gの1.5にダウングレードしました

HT-03AをDoCoMoの1.6からMyTouch3Gの1.5にダウングレードしました。
具体の方法はまた後程、纏めてポストする予定。

ダウングレード成功後、最初の起動時、Googleのアカウントをセットアップする画面が表示される。
しかし!この画面ではwi-fiの設定がなくAPNの設定しかできないんだ。


※入れたのはmyTouch3Gのイメージ、Googleのアカウントセットアップはskip出来なかったが、
実はvodafoneのイメージのvf-sappimg-crc24-1.33.0007.nbhをリストアすれば、このステップはskipできるので、APNなしでwi-fiは可能です。


つまり、APNがないとGoogleアカウントの認証が通らない、通らないと携帯が起動できない!

パケット代が高すぎで、wi-fiしか使わない私は、既にDoCoMoのmoperaと解約したので、困った…

ドコモショップに持って行ってもおそらく改造ROMだからサポートしてくれないと思います。

道を5つ考えましたが、すべて検証した訳ではない。

①moperaのパケット放題(またはビズ放題)契約済みのドコモSIMカードを入手、とりあえずAndroidを起動させて、wi-fiのセットアップをしてから、自分のSIMカードに差し替える。(この方法は多分ダメ)

②友達にスマートフォンを借りて、自分のSIMカードをさして、ドコモショップにmoperaサービスを開通する。

③フリーのAPNをググって一つ一ついれて検証する(時間がかかる)

④無理やり改造ROMのままドコモショップへ

⑤MyDoCoMoでmoperaと契約、パケットサービスを開通する。


最後は⑤を採用、【パケ・ホーダイ ダブル】契約後、約5分を待ったら(待っでも出ない場合は手動で書きのAPNを設定してください)

(menuキー⇒APN Settings⇒menuキー⇒New APN)

「3G」のアイコンが表示され、Googleアカウント無事に開通しました。

APNの手動で設定しなかったが、念のため、書き留めます:

パケ・ホーダイ ダブルまたはパケ・ホーダイ
APN:mpr.ex-pkt.net

Biz・ホーダイ ダブル および Biz・ホーダイ
APN:mpr.bizho.net
APN以外のユーザやパスワードの設定は一切いりませんでした。

来月、また解約する予定、その間、HT-03aにandroid2.3を入れる予定!

2010年12月27日月曜日

php配列から要素を削除したら、キーを前に詰める方法

//配列aがあります
$arr=array('a','b','c');

//第2要素'b'を削除
unset($arr[1]);
var_dump($arr);

//結果出力
array(2) {
  [0]=>
  string(1) "a"
  [2]=>
  string(1) "c"
}

//欲しい結果はこれ
array(2) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "c"
}

//こうすればいいらしい
$arr = array_values($arr);

2010年12月22日水曜日

winmergeでフォルダー比較、.svnを無視する方法

バージョン管理ツールを使用するなら、「.svn」という隠しフォルダーがすべてのディレクトリに自動で作られる。winmergeでフォルダごとを比較したい時、.svnフォルダーが結構邪魔です。ところで、フィルターを設定することができます。





便利便利^。^v

2010年12月17日金曜日

iPadブラウザのUAで判断するコード

iPad使っているのはSafari Mobile、User Agentは
Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
iPadかどうかの判断のキーポイントは「iPad」の有無。

Javascript

function is_iPad(){
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/iPad/i)=="ipad") {
        return true;
    } else {
        return false;
    }
}

Php

$is_iPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');

もしiPadであれば、iPad専用ページに飛ばす

.htaccess


RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.fairyfish.net [R=301]


引用元

2010年12月16日木曜日

クラスとモジュールの違い

引用元:http://www.rubylife.jp/ini/module/index1.htmlhttp://www.rubylife.jp/ini/module/index1.html

モジュールはクラスと同じくメソッドを定義する事が出来ます。クラス変数に相当するものはモジュールにはありませんが定数は定義する事が出来ます。

このようにモジュールはクラスに非常に似た構成を持っていますが大きな違いとしてクラスはクラスからオブジェクトを作成することが出来ますがモジュールでは作成することは出来ません。モジュールの利用方法としては「モジュール名.メソッド名」の形式で関数のように実行するか、または他のクラスの中にインクルードして利用することが出来ます。

クラスでは継承をサポートしており1つの基幹クラスを継承して複数のクラスを作成する事が出来ます。これによって同じような機能を持つクラスを別々に1から作成する必要はありません。ただ、同じ様な機能が必要だったとしてもまったく別の目的のクラスである場合はクラスの継承によって共通化する部分を作成するにはおかしい場合があります。そのような場合に共通となる機能をモジュールとして定義し、各クラスにインクルードして利用することでコードの再利用性を高めることができます。

感想:
クラスができることの一部は、モジュールもできます(メソードや定数)が、使い分けは原則上の言い方だと私的に結構すーっと入りますね

linuxの一部常用圧縮解凍コマンド

tar

圧縮
# tar zcvf huge.tar.gz huge

解凍
# tar zxvf huge.tar.gz


bzip

# bzip2 -dc IE6-XPSP2.vmdk.bz2 > IE6-XPSP2.vmdk

必ず最後で解凍後ファイル名またはディレクトリ名を指定しないと行けないみたい
-v メッセージを表示
-c 元のファイルは削除せず、標準出力
-z ファイルを圧縮
-d gunzip形式で圧縮されたファイルを伸張
-k 圧縮する元ファイルを削除しない

2010年12月15日水曜日

grep, find, locate

grepであるディレクトリの下のすべてのファイルに対して、文字列を検索する
下記のコマンドで、カレントディレクトリ以下のすべてのファイルに、「documentroot」という文字列(大文字小文字関係なく)を含むファイルを出力する。

$ grep -ri documentroot .

-r はサブフォルダを含め、すべてを検索
-i は大文字小文字関係なく


下記のコマンドで、カレントディレクトリ以下のすべてのファイル名に「log」が含まれないファイルに、ファイルの中に「172.17.0.190」を含むファイルを出力する。

$ grep -r --exclude='*log*' 172.17.0.190 .



また、ひかかったファイル名(パスも含む)のみを表示するには

$ grep -lr "ABC DEF" .



find

$ find / -name abc.txt //全部探す
$ find . -name abc.txt //カレントディレクトリ以下を探す
$ find ~ -name '*.xbm' //ホームディレクトリ以下の拡張しはxbmのすべてのファイル


A cool thing with find is tracking down orphaned files, after you've booted a
user off the system. You need to locate all the files that belonged to that
user. Oops, their account is long gone, so you can't search by login name. No
problem, search on their UID:

# find / -uid 1005

If you're searching system directories as a lowly unprivileged user, you'll
generate bales of error messages. These are like, so depressing, so they must
be suppressed, or redirected into the bitbucket, hahaha:

# find / -uid 1005 2>/dev/null



最後はlocate

$ updatedb
$ locate filename
$ locate -i filename //大文字小文字区別

linux上スペースを含んだディレクトリ名やファイル名の作成とアクセス


$ mkdir "Sound Good Kagen"
$ touch "good morning.txt"
$ mv good\ morning.txt Sound\ Good\ Kagen/

scpでディレクトリごとをリモートサーバにコピーする

scp -r user@fromhost:/path/ user@tohost:/path/
scp user@fromhost:/path/file user@tohost:/path/file
-r はサブフォルダも、ディレクトリごとコピー (recursive)
-p はファイルの更新日時を変更しない (preserve time stamp?)

当サーバのVMwareイメージをすべて別のサーバへ複製する

$ scp -r /var/lib/vmware/Virtual\ Machines/ user@192.168.1.1:/var/vmware/


コピー先サーバのディレクトリ名にスペースが入っている場合、ダブルコーテーションを付ければよい

$ scp -r /ext1/vmware/IE6-XPSP2/ user@192.168.1.1:"/var/vmware/Virtual\ Machines/"

2010年12月14日火曜日

xamppのhttpd.confのconfigtestテスト

xamppのhttpd.confのSyntaxテストはこのコマンド

C:\xampp\apache\bin>httpd -t

全角スペースなどは引っかかるので、注意しましょう。
ちなみに、linuxでよく使う httpd configtestはxamppのapacheバージョンだと使えない(?)

vertrigoservのhttpd.confのSyntaxテストはこのコマンド

I:\VertrigoServ\Apache\bin>v_apache.exe -t
Syntax OK

2010年12月13日月曜日

SELinuxをOFFにすると、httpdサービスがaccessableになる

新しい作ったCentOS仮想サーバ、Apache起動したのに、ブラウザーでアクセスしたら、頑張ってconnectingしているっぽい見えますが、最終的に表示できない。
調べたら、firewallが原因でした。

# system-config-securitylevel-tui -q --disabled --selinux='disabled'
setenforce: SELinux is disabled

これで問題なく表示された

2010年12月6日月曜日

httpd(apache)の実体の場所を調べる方法

apacheの実体の場所を知る方法:
[kagen@home kagen]$ ps ax | grep httpd
1 ... - S ? 3:53 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 241:22 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 247:33 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 0:07 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 0:04 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 0:16 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 0:33 /usr/local/apache2.0.59/bin/httpd -f ...
1 ... - S ? 0:07 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 0:00 /usr/local/apache2.0.59/bin/httpd -f ...
5 ... - S ? 0:00 /usr/local/apache2.0.59/bin/httpd -f ...
0 ... schedu S pts/0 0:00 vim httpd.conf
0 ... pipe_w S pts/2 0:00 grep httpd

yuhei.kagayaさん、ありがとうございました。

2010年12月3日金曜日

【随時更新】金融キーワード

シャープレシオ(Sharpe Ratio)
【数式】
シャープレシオ = 超過収益(過去の運用実績-無リスク資産の利回り)/ ポートフォリオのリスク(標準偏差)

【解説】
この値は大きいほどいいです。効率的な運用ができていると判断することができる。ただし、超過収益(リターン)がゾロ、またはマイナスの場合は意味なくなります。

画像使わないおしゃれなCSSボックス

画像使わないおしゃれなCSSボックス

ありがとうございます(~_~)

.kg_box {
background-color: #F6F6F6;
border: 1px solid white;
color: #777;
margin-bottom: 5px;
padding: 12px 15px;
position: relative;
text-shadow: white 1px 1px 0px;
}

.kg_shadow {
-webkit-box-shadow: #E5E5E5 1px 1px 0px;
}

.kg_round {
-webkit-background-clip: padding-box;
border-bottom-left-radius: 6px 6px;
border-bottom-right-radius: 6px 6px;
border-top-left-radius: 6px 6px;
border-top-right-radius: 6px 6px;
}

こんな感じで使う
ありがとうございます(~_~)

DOSでファイルを新規作成する方法

Linuxではtouchコマンドがありますが、DOSではファイルを新規作成するコマンドがないのと思った。
調べたらそれがあった。

C:\Documents and Settings\kagen-yu>copy con filename.bat

編集終わったら

Ctrl+z

でファイルが保存されます。

2010年12月2日木曜日

JSライブラリー「dp.SyntaxHighlighter」の対応する言語


ソースコードを表示できるJSライブラリー「dp.SyntaxHighlighter」
本サイトもお世話になっております

今現在、対応する言語は下記の表。
本家から参照しただけ
Language Aliases
C++ cpp, c, c++
C# c#, c-sharp, csharp
CSS css
Delphi delphi, pascal
Java java
Java Script js, jscript, javascript
PHP php
Python py, python
Ruby rb, ruby, rails, ror
Sql sql
VB vb, vb.net
XML/HTML xml, html, xhtml, xslt

xamppのhttpd.confにaliasを追加する

xamppをC:\xamppにインストールしました。
デフォルトのDocumentRootはc:\xampp\htdocs
しかし私のwebはすべてc:\wwwにありますから、confにaliasを追加しないといけない

C:\xampp\apache\conf\httpd.conf
このファイルの最後に下記を追加
  Include conf/extra/kagen.conf

C:\xampp\apache\conf\extra
このフォルダーにkagen.confを新規作成し、次の内容を書き込み
<ifmodule alias_module="">
  Alias /www "C:\www"
</ifmodule>

<directory "c:\www">
  Options All
  AllowOverride All
  Order Deny,Allow
</directory>
最後、apacheサービスをrestartすることを忘れずに

IE8ではimgタグのalt属性をツールチップで表示されない

IE8ではなぜかimgタグのalt属性をツールチップで表示されない、IE7はできるのに。
仕方なく、altの代わりにtitle属性を追加しましょう。

秀丸で一括置換しましょう。viewフォルダーの中で(サブフォルダーも含め)、すべてのファイルに対して、置換を掛けました(SubVersionを使っているので、.svnフォルダが邪魔するなら、一回exportしましょう、exportされたフォルダーに置換かけたら、元のフォルダーを上書きしましょう)

Rubyで生成するタグを含めて、すべて4パタンを置換しなければなりません:

パタン1:(Rubyで生成するタグ、ダブルコーテーション)
検索する文字列:
:alt => "([^¥"]+)",
置換する文字列:
:alt => "¥1", :title => "¥1",

パタン2:(Rubyで生成するタグ、シンクルコーテーション)
検索する文字列:
:alt => '([^¥']+)',
置換する文字列:
:alt => '¥1', :title => '¥1',

パタン3:(一般HTMLタグ、シンクルコーテーション)
検索する文字列:
alt='([^¥']+)'
置換する文字列:
alt='¥1' title='¥1'

パタン4:(一般HTMLタグ、ダブルコーテーション)
検索する文字列:
alt="([^¥"]+)"
置換する文字列:
alt="¥1" title="¥1"

2010年11月27日土曜日

VirtualBoxでvdiファイルのコピーを作る方法

VirtualBoxでvdiファイルをそのままコピーしでも、新規バーチャルマシンを作ろうとすると、「ハードディスクの登録に失敗した」と言うエラーメッセージが出ます、エラーの原因はVirtualBoxがそのvdiに発行した「UUIDが既に登録済み」。

コマンドラインで、下記のコマンドを使えば、vdiをクロンして、新しいUUIDを発行することができる

c:\Program Files\innotek VirtualBox>vboxmanage clonevdi filename1.vdi filename2.vdi
(※VirtualBoxのインストールパス部分は状況を応じて変更してください)

しかし、コマンドライン苦手の私は、こんなツールを見つけた


便利でしょう。

2010年11月24日水曜日

HTMLのインテント

HTMLのインテント効果あるタグ

タイトル

内容内容内容内容

知らなかった。

2010年11月21日日曜日

EXCELをHTMLへ変換


YouTubeでデモと使用方法を見てみる

EXCELをHTMLに変換してくれるツールを探しましたが、ありそうけどないので、自分で作りました。
無料ですので、ご自由に使っていただければと思います(ただし商用、販売目的は禁止です)

対応EXCELバージョン:

  • Microsoft Office 2000
  • Microsoft Office 2003
  • Microsoft Office 2007


使用方法は簡単です。映像を見てください。

  1. もしEXCELのマクロセキュリティが “高” になっているなら、 “中” に下げましょう。
  2. そしてはここからダウンロード
  3. ダウンロードした「xls2html.xla」をダブルクリックし、「マクロを有効にする」をクリックします。そしてメニューバーに「HTMLへ変換」というボタンが表示されると思います。(※2007の場合はアドインの中)。インストール完了。本体を削除してください。(※本体は再度開くとエラーメッセージが表示される)。
  4. 変換したいEXCELファイルを開き、変換したい部分を選んで、「HTMLへ変換」ボタンを押す。


変換オプション:

  • HTMLタグをエスケープ:
    HTMLタグをそのまま表示したい場合、これにチェックを入れる。
  • 一行目をタイトルとして出力:
    意味そのまま。
  • セル内リンクを反映:
    チェックを外すと、ハイパーリンクが貼られた場合でも無視される。
  • 行おきの色違い:
    意味そのまま。
  • 値を使用:
    特に日付や金額の「¥」をそのまま表示したい時はチェックを外す。
  • 非表示の行列を無視する:
    非表示の行列はアウトプットしない。

アンインストール:
  1. スタート⇒ファイル名を指定して実行⇒%appdata%\Microsoft\excel\XLSTART⇒Enter。
  2. そのフォルダーの中のxls2html.xlaを削除するだけ。

2010年11月16日火曜日

コンパイルエラー:プロジェクトまたはライブラリが見つかりません。

「コンパイルエラー:プロジェクトまたはライブラリが見つかりません。」

EXCEL2003でこんなエラーが出ました(2007ではエラーがでません)、デバグしてみると、すごくシンプルな関数、変数、定数に被掛かったらしい。

Alt+F11で、「ツール」→「参照設定」で「参照不可」となっている項目の有無もチェックしたほうがいいです。一応私の場合、チェックを外せば、マクロは動くです。でも閉じて再開するとまた同じことが起きるから、根本的に解決しましょう。

例えば:

path = CStr(Environ("USERPROFILE")
name = Ucase(txtName.text)

'関数の前にちゃんとVBA.を書けばなおる
path = CStr(VBA.Environ("USERPROFILE")
name = VBA.Ucase(txtName.text)


'定数の場合
showResult.Show Modal
'Modalの前にvbを書けばなおる
showResult.Show vbModal

'あとは変数はちゃんと最初にDimすることです
Dim cl As Range
For Each cl In Selection
    '..........
Next

2010年11月15日月曜日

AVG アンチウイルス FREE EDITION 2011

最近AVGのバージョンアップがありました。しかしオフィシャルサイトでは有料版と試用版しかなさそうです。無料版を見つからないユーザを一気に有料版に押し付けるつもりでもありますか?

クリックで大きくなる


OSはXPですが、Cドライブではなく別のドライブにあるので、AVGインストール時「C:\がない」というエラーメッセージが出てくる。仕方がない、外付けハードディスクで繋いてあげて、一応Cドライブを有効にしてあげたら、ちゃんとインストールが出来ました。(AVGのインストール場所は選べます)。Cドライブがないとインストール出来ない。これはバグですかね

2010年11月14日日曜日

xla アドインののシートを表示するには

ファイルを一旦XLA(アドイン)に保存すると、再度開くときはアドインとして開いてしまって、シートは表示しません。

シートを表示するにはイミディエイトウィンドウで:

ThisWorkbook.IsAddin = False

2010年11月11日木曜日

javascriptでobjectのpropertyの参照

//直接参照
var name1 = jsonData.name);
//変数で参照
var prop = "name";
var name2 = alert(jsonData[prop]);

これ、常識かもしれないが、私は覚えられないので、書いとく

2010年11月7日日曜日

EXCEL2003/2007アドインの自動登録の方法

最新のやり方
まずとこがでアンインストールのグローバル変数を定義
Public gUninstall As Boolean
xlaののWorkbook_Openに
xla開くときに自動インストール
Private Sub Workbook_Open()
    Workbooks.Add
    AddIns.Add fileName:=ThisWorkbook.FullName
    AddIns(getShortName(ThisWorkbook.name)).Installed = True
End sub
ボタンを定義削除
Sub delMenu()
    On Error Resume Next
    Application.CommandBars(1).Controls("&テスト").Delete
    Application.CommandBars(1).Controls("&アンインストール").Delete
End Sub
ボタンを定義追加
Sub addMenu()
    Dim objButton As CommandBarControl
    On Error Resume Next
    Application.ScreenUpdating = False
    With Application.CommandBars(1)
            If .Controls("&テスト") Is Nothing Then
                '\\Create Button with image
                Set objButton = .Controls.Add(msoControlButton, before:=11)
                With objButton
                    .Style = msoButtonIconAndCaption
                    .Caption = "&テスト"
                    .FaceId = 8
                    .OnAction = "テストSub"
                End With
            End If
            If .Controls("&アンインストール") Is Nothing Then
                Set objButton = .Controls.Add(msoControlButton, before:=11)
                With objButton
                    .Style = msoButtonIconAndCaption
                    .Caption = "&アンインストール"
                    .FaceId = 3838
                    .OnAction = "uninstall"
                End With
            End If
    End With
    Application.ScreenUpdating = True
End Sub
アドインをアンインストール
Sub uninstall()
    Call delMenu
    gUninstall = True
    AddIns(getShortName(ThisWorkbook.name)).Installed = False
End Sub
最後、完全に自分を殺す
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If gUninstall Then Call delMenu
End Sub
以上。

以下は古いやり方
**************************************************************************
EXCEL2000-2003のアドインは *.xla
EXCEL2007のアドインは *.xlam(マクロ有効)

しかし配布するとき、ユーザに一連の操作をし、アドインとして登録してあげないと使えない。
具体の手順は(EXCEL2007の場合):

  1. アドインファイル(*.xla または *.xlam)を所定の場所にコピー、一般的には C:\Program Files\Microsoft Office\Templates\addin (デフォルト)です
  2. 手順①のコピー先を「信頼できる場所」に設定すること。EXCELの一番左上のボタンを押して > 「EXCELのオプション」  「セキュリティーセンター」  「セキュリティーセンターの設定」  「新しい場所の追加」  「参照」  「確認」 (※ステップ1のコピー先がデフォルトのフォルダーなら、ステップ2は省略できる)
  3. EXCELの一番左上のボタンを押して > 「EXCELのオプション」 > 「アドイン」 > 「管理→EXCELアドイン」 > 「設定」 > 「アドイン→ティックを入れて」 > 「OK」
以上のめんどくさい設定をユーザにやってもらわないと行けない。そしてそのことは開発者の「作品をより多くの人に使ってもらう」という目的の大きいな壁です。

もっと簡単な方法はないか?
EXCEL2007の場合):
C:\Documents and Settings\UserName\Application Data\Microsoft\excel\XLSTART
※ショートキー:Win+rで開く「ファイル名を指定して実行」に %AppData%\Microsoft\excel\XLSTART で一発行ける
もう一個は%AppData%\Microsoft\AddIns


というフォルダーは一種特別のフォルダー、EXCEL起動時、このフォルダーに入っているスクリプトファイル(ここでは*xlaまたは*.xlamを指しています)をすべて読み込みます。なので、最初にアドインファイルを実行するとき、自分自身をこのフォルダーにコピーすれば、上記面倒な設定は要らなくなる。
ソースコードの一部


Private Sub Workbook_Open()
    Dim xlstart As String
    'ファイルシステムオブジェクトの宣言
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    'XLSTARTフォルダー取得
    xlstart = CStr(Environ("USERPROFILE") & "\Application Data") & "\Microsoft\Excel\XLSTART"
    'もしフォルダー存在すれば
    If UCase(Dir(xlstart, vbDirectory)) = "XLSTART" Then
        'もしファイル存在しなければ
        If Dir(xlstart & "\" & ThisWorkbook.Name) = "" Then
            '自分自身をコピーします
            FSO.CopyFile ThisWorkbook.FullName, xlstart & "\" & ThisWorkbook.Name
        End If
    End If
    Set FSO = Nothing
End Sub


こうすれば、今後ユーザがEXCELを開けば、アドインは有効になります。
EXCEL2000-2003とEXCEL2007両方対応する為にxlaとxlamを別々作ったほうがいいと思います。

\username\Application Dataフォルダーにすぐにアクセスする方法

window XPのアプリケーションデータフォルダーはデフォルトhiddenですので、アクセスするのはちょっとめんどくさい。

C:\Documents and Settings\UserName\Application Data

「スタート」>「ファイル名を指定して実行」 で 「%appdata%」 を入力してEnterを押すと簡単にフォルダーが開けちゃうので、一応メモしとく

例えばQuakeliveのDemoフォルダーは:
%appdata%\id Software\quakelive\home\baseq3\demos

2010年11月6日土曜日

windowXP自動登録(自動ログオン)

RemoteDeskをアクセスために、windowsXPのログインユーザにパスワードを作りました。
しかし、これで毎回起動するとき、パスワードが求められて面倒になります。これを解消する
方法があります。
  1. スタートメニューにある「ファイル名を指定して実行」に「control userpasswords2」と入力する
  2. 「ユーザーアカウント」画面が起動するので,「ユーザーがこのコンピュータを使うには,ユーザー名とパスワードの入力が必要」のチェックを外す
  3. 自動でログインしたいユーザー名とパスワードを入力しよう。OKを押せば設定完了だ。なお,デフォルトでは「Administrator」がユーザーとして選択されている。必ず自分の利用しているアカウントに変更して設定しよう

CD DVD入れた時の自動再生

最近nero10を入れたけど、使いにくいからアンインストールしましたが、毎回CDまたDVD入れるときにポップアップされる「自動再生」のwindowでは、neroの項目が残っている。
それを削除する為にいろいろ調べました。
※下記手順はレジストリを変更しますので、すべて自己責任て行ってください。


  1. “winキー” + “r” 同時に押せば 「ファイル名を指定して実行」 が出てくる。
  2. “regedit” を入力して enterを押す
  3. HKEY_LOCAL_MACHINE
     SOFTWARE
      Microsoft
       Windows
        CurrentVersion
         Explorer
          AutoplayHandlers
           EventHandlers
            の下にあるイベントの項目の中に“nero”を含まれるキーをすべて削除する


終わり。

DELLの商品なら、サービスタグから保守情報を調べる

このページから
http://support2.jp.dell.com/jp/jp/tech/phone/

サービスタグ、こんな感じの英数字(すべて大文字)
90K32L4

またはエクスプレスサービスコード
19624886661


入力すれば保守情報を調べる、ちょっと便利

2010年11月5日金曜日

電気代の見直し

電気代を見直したらどうですか?
うちの22年10月分は7,857円だった

従量電灯B:
深夜料金適応時間帯:なし
昼一段階:1kw-120kw(¥17.87)
昼二段階:121kw-300kw(¥22.86)
昼三段階:>301kw:(¥24.13)


ナイト8:
深夜料金適応時間帯:23:00-07:00(¥9.17)
昼一段階:1kw-90kw(¥21.87)
昼二段階:91kw-230kw(¥28.07)
昼三段階:>230kw:(¥29.64)

ナイト10:
深夜料金適応時間帯:22:00-08:00(¥9.48)
昼一段階:1kw-80kw(¥23.87)
昼二段階:81kw-200kw(¥30.74)
昼三段階:>200kw:(¥32.48)

東京電力が供給している地域に適応できる。東京、千葉など
0120-995-662 フリーダイヤル

契約のアンペア数を下がれば月月の基本料金は下がります。10Aさがればで約240円下がるって。ちなみにうちは50Aの契約

詳細のプラン料金表を貰える。また、ナイトに切り替えたら料金は下がるか、逆に上がるか不安なら、試算表もあるらしい、一週間消費電力を記録して,郵送すれば各プランで計算してくれるって。
でもいちいち郵送するのは面倒だね、マクロかなんかでダンロードできればいいのに。と思った。

2010年11月2日火曜日

2010年11月1日月曜日

IE6,IE7エラー「識別子、文字列または数がありません」

IE6,IE7で「識別子、文字列または数がありません」が出ています。IE8、Firefox、chrome、Operaはでません。

IE6,IE7では簡単にデバグ出来ないので、問題点の特定に時間を掛てしまった。

問題点はこれです:

var columnsClassStatus = {
    NAME : {title:"キャンペーン",width:"wd_l",},
    GROUP : {title:"グループ",width:"wd_l",},
    CPA : {title:"CPA",width:"wd_m",},
};

オブジェクトまたは配列の最後のエレメントの後ろ「,」があってはなりません。

var columnsClassStatus = {
    NAME : {title:"キャンペーン",width:"wd_l"},
    GROUP : {title:"グループ",width:"wd_l"},
    CPA : {title:"CPA",width:"wd_m"}
};

にするIE6とIE7ではエラーは解消されます。

2010年10月27日水曜日

ダイナミックDNSサービスを使わないとき、自宅のIPを特定する方法

自宅ではIODATAさんのiobb.netダイナミックDNSサービスを使っています。(※他にもいろいろあります、例えば有名なhttp://www.no-ip.com/
しかし、最近不安定なことが多い、まぁ、無料なサービスだからしょうがないよね。
けどちょっと自宅に要があると、困ります。

そこて、一つ考えました。家ではDesktopPCが常にGmailにログインしっばなしの状態に成っている。
Gmailの一番したに、「アカウント アクティビティ詳細」があります。


そこて、自宅のIPを調べることができる。ちなみに、もし見覚えのないIPがありましたら、Gmailが誰かに盗聴されている可能性がありますので、注意したほうがいいと思います。

mysql consoleでcharacter setを設定するコマンド



検索結果で日本語が"????"になって文字化けていれば、character setをいろいろ変えてみたらいいと思う、例えば
set names utf8

なおるかもしれない。
ちなみに、
set names sjis; // Shift_JIS の場合
set names ujis; // EUC-JP の場合
set names utf8; // UTF-8 の場合

2010年10月26日火曜日

blogspotのブログタイトルフォントにシャドウを表示する方法

デザイン > HTML編集 の中CSSの部分から、「Header h1」ブロックを下記のように変更してください。もちろん、text-shadowの行でシャドーの色や範囲を自由に設定することができますよ。

.Header h1 {
  font: $(header.font);
  color: $(header.text.color);
  text-shadow: 3px 3px $(title.shadow.spread) #F0F0F0;
}

2010年10月25日月曜日

jQueryではの変数名と関数名が一緒ではならない

「isBackofficeはfunctionではない」と怒られます。
var isBackoffice;
isBackoffice = isBackoffice();
function isBackoffice(){
    return false;
}

こうすればエラーは消えました。

var isBackofficeVal;
isBackofficeVal = isBackoffice();
function isBackoffice(){
    return false;
}

なぜでしょうかね、jQueryでは変数も関数もobjectだからかな?

2010年10月24日日曜日

blogspotにfaviconを表示する方法

1.まずはfaviconを作る。たくさんやり方があるが、favicon.ccを紹介します:
簡単な登録手続きが必要です。オンラインで16x16のアイコン(最高36x36)を作成して、
favicon.icoをダウンロードします。(作成しながら、下の方でブラウザーみたプレビューが表示される)
①favicon.icoを作成


↓↓注意:ここから以下は古いやり方、既にアウトしました、新しいやり方はここです↓↓

2.さて、favicon.icoができたら、参照できる場所にアップロードしなければならない。う~ん、困りました、そんなちょっとしたオンラインスペースあるかなぁ=。=?
あっ!そうだ、DropBoxのPublicフォルダーを使ってみよう!


②DropboxのPublicに移動
③DropboxのWebサイトへ移動、favicon.icoのURLを取得


3.blogspotへ反映。方法って簡単

  • デザイン > HTML の編集
  • この行を見つかって、<title><data:blog.pagetitle/></title>
  • 見つかったら、その行の後ろにこれを挿入すてください。
    <link href='URL' rel='shortcut icon' type='image/vnd.microsoft.icon'/>
  • そこの'URL'をさきDropboxで取得したURLに書き換えてください。
  • 最後、Blogに適応して終わり。

【随時更新】よく使うフリーソフト、基本的に日本語対応済み


カテゴリ ロゴ 名前 日本語対応 説明
デスクトップ Googleデスクトップ 対応 あれ?!どこに置いた?自分のPCまたは共有スペースのファイルを探す最高のツールだ
DB関連 Oracle SQL Developer 対応 オラクルのオフィシャルツール、Oracleの開発ならあったら便利よ、ダウンロードにはメンバー登録が必要です。
誤削除復旧 Recuva 対応 大事なファイルを間違って削除してしまった、慌てないで、これを使ってみてください、助かるよ。使い方は簡単!
デモ作成 Wink 対応 画面操作をswf形式で作成してくれる、日本語化はメニューのファイル>言語設定>Japaneseを選んでソフトを再起動するだけ
エディター 秀丸 対応 知らない人いないよね、正規表現Grep機能は使えるね
CD/DVD Virtual CloneDrive 対応 DAEMON Toolsの他、これもいいですよ
エディター terapad 対応 これは定番ですね、ちなみに私の色設定、設定から導入できる、 「拡張子」で*.phpをC++モードに追加, *.jsをjavaモードに追加
SSHクライアントソフト teraterm 対応 これはssh client softの定番ですね
SSHクライアント winscp 対応 サーバとの間ファイルをアップしたり、ダウンしたりするツール
LAMP環境 xampp 対応 有名なパッケージですよ
LAMP環境 vertrigoServ   XAMPPとどれがbetterかがは難しいね、個人的にvertrigo使用
FTPクライアント FTPRush 対応 これ、以前は有料だったらしいが、最近フリーソフトになった。
写真アルバム Picasa 対応 これはgoogleのPicasa以外になにかあるか!
ダウンロード Flashget 対応 「表示」で「Recommendation」のチェックを外せば平和
ダウンロード eMule 対応 知ってる人は知ってる
ダウンロード BitComet 対応 これもね、余計の話はいらない
翻訳、辞書 Lingoes 対応 これはあの有名なbabylonと似たような辞書ですが、Totalyフリーだよ
動画再生 Realplayer 対応 rmvbなどを再生、YouTubeなどの動画サイトの動画も一発でダウンロードできるよ
動画再生 GOM PLAYER 対応 これは日本有名だよね
動画再生 VLC media player 対応 これは世界有名だけど、あまり使わない
動画再生 QuickTime 対応 あのアップル!
開発関係 subversion 対応 バージョン管理(サーバ側)
開発関係 tortoisesvn 対応 バージョン管理(クライアント)
開発関係 WinMerge 対応 差異比較、ファイルも、フォルダーもEXCELシートの差異も比較できるよ
開発関係 Eclips   開発ツール。世界中で広く使われている。言うまでもなくこれは開発の至宝
開発関係 Virtualbox 対応 仮想環境、VMよりこれを勧めたい!
記憶管理 ID Manager 対応 いつも使ってるが、最近EverNoteに乗り換えたい
記憶管理 EverNote 対応 REMEMBER EVERYTHING (インストール時なぜが日本語文字化け、けど終わったら正常になります)
クラウドスペース DropBox   史上最高、超簡単、2G無料、☆5つでオススメ
クラウドスペース sugarsync 対応 これは2Gまで無料、日本語シッカリ対応、二つともオススメ
圧縮解凍 Lhaplus 対応 これが定番です
圧縮解凍 7-zip 対応 これが新鋭
デスクトップ RocketDock 対応 これがあればWindowsでもおしゃれなMACのアイコンドックが実現できる、しかも超早い!
デスクトップ Stickies 日本語化 オススメの付箋ソフト
デスクトップ XwindowsDock   MSC風のアイコンバーができる
セキュリティ AVG 対応 最近無料ダウンロードがみつけにくくなったので、ここをご覧ください
PDF変換 PrimoPDF 対応 あまり使わないが、いざの時あると便利、使い方はプリンターと一緒
インスタントメッセンジャー Skype 対応 これ知ってるでしょう、電話かけるやつ
インスタントメッセンジャー GTalk 対応 Gmailで使えるので便利
ゲーム関連 quakelive   最高!最高!!最高!!!(最近一部有料になったTT)
ゲーム関連 LimeChat 2 対応 IRCクライアント
ゲーム関連 Mumble 対応 ゲームで音声でチャットできる、団体ゲーム必須
ゲーム関連 QLDT   コマンドライン苦手の方に、Quakeのデモ再生はこれで決まり
画像 Inkscape 対応 AdobeのIllustratorのフリーバージョンみたいな感じ
画像 GIMP 対応 同様AdobeのPhotoshopのフリー版
画像 XnView 対応 ちょっとした画面の作業ならこっちが軽いよ
画像 IcoFX 対応 アイコンを簡単につくれますよ、おすすめ!
IME(入力ソフト) Google中国語入力   いままで一番使いやすい中国語IME
IME(入力ソフト) Google日本語入力 対応 わるくないよ!
CD/DVD関連 DAEMON Tools 対応 必須重宝!!!、仮想CD/DVDドライブ
CD/DVD関連 iTuns 対応 CDからmp3を簡単に抽出/変換できる、アップルの宝
CD/DVD関連 DVD Decrypter 日本語化 DVDをバックアップしたり焼いたり最高のツール
CD/DVD関連 DVD Shrink 対応 映画をバックアップするの必須ツールです
CD/DVD関連 ImgBurn 対応 これは DVD Decrypterのパワーアップ版ですね、日本語もシッカリ対応、(本家サイトで日本語化設定ファイルをダウンロード)
年賀状 PrintMagic 対応 今年も宜しく!何故か本家ではダウンロードできなくなっている。ここからダウンロードできる