2010年12月4日土曜日

[emacs] meadow で UTF8 が表示されない

[emacs] meadow で UTF8 が表示されない

と思いつつ放置していたのですが、google先生に聞いて出てきた
以下のサイトを参照したところ mule-ucs なるものが必要とのこと。


mule-ucs のアーカイブはここのリンクから。
http://www.meadowy.org/~shirai/elips/mule-ucs.tar.gz

インストール・セットアップの手順は以下の通りです。
  1. mule-ucs.tar.gz をダウンロードする
  2. c:/meadow/site-lisp 以下に mule-ucs.tar.gz を展開する
  3. .emacs に以下の記述を追加
  • (load-file "c:/meadow/site-list/mule-ucs-20061127-1/lisp/jisx0213/jisx0213.el")
  • ※パスが異なる場合は、jisx0213.elを見つけてそれをロードしてください
  • ※lisp compileコンパイルした方がよいと思います

以上です。

2010年10月22日金曜日

[excel] セルの背景・フォント色を(別のセルの情報に応じて)動的に変えたい

[excel] セルの背景・フォント色を(別のセルの情報に応じて)動的に変えたい

このような場合には、”条件付き書式”を設定すればよいことが分かりました。

  • セルの値に基づいてすべてのセルを書式設定
  • 指定の値を含むセルだけを書式設定
  • 上位または解に入る値だけを書式設定
  • 平均より上または下の値だけを書式設定
  • 数式を用いて、書式設定するセルを決定
上記のようなルールが選べるのですが、他のセルの情報を選択するときには
最後の「数式を用いて、書式設定するセルを決定」を選択します。
で、数式に
=$a$1="ある値"
と入力すれば$a$1セルが常に参照され、"ある値"のときだけ、
該当セルの書式が変更されます。


2010年9月30日木曜日

[excel] エクセルで重複を除いた値を列挙するには

[excel] エクセルで重複を除いた値を列挙するには

ピボットテーブルを使いましょう。

excel 2007 でピボットテーブルを作る場合、
それまでのバージョンと違って、
「列ラベル」、「行ラベル」、「値」を
指定する場所が表示されず、困ることがあるかもしれません。
# 実際、10 分ほどハマりました・・・。

「ピボットテーブルのフィールドリスト」ウィンドウの
右上のボタンを押して「エリアウィンドウ」を表示するように
設定すれば、テーブルとは別の場所で
「列」「行」「値」に格納するフィールドを設定できるようになります。


[excel] エクセルで複数テーブルのJOIN(結合)もどきを

エクセルで複数テーブルのJOIN(結合)もどきを

したいと思うことがたまにあります。
そんなときには、MATCH関数を利用しましょう。

参考にしたページ:
http://okwave.jp/qa/q3975916.html


2010年9月28日火曜日

[linux][command] ファイルのフルパスとサイズの一覧を表示したい

[linux][command] ファイルのフルパスとサイズの一覧を表示したい

備忘録。

ディレクトリパスを含むファイルパスとサイズの一覧を取得したい場合、
ls -Rl だと、ディレクトリパスが除かれてしまい、嬉しくありません。

find の -printf オプションを利用すると所望の情報が得られます。
% find . -type f -printf "%p\t%s\n"

上記の printf format には以下のディレクティブを指定しています。
これら以外にもpermissionやブロックサイズなど、色々表示できるようです。
%p: ディレクトリパスを含むファイル名
%s: ファイルサイズ
\t: タブ
\n: 改行


2010年8月29日日曜日

[ruby][emacs] emacs の ruby-mode の設定例

[ruby][emacs] emacs の ruby-mode の設定例

(add-hook 'ruby-mode-hook
'(lambda ()
(setq tab-width 4) ; tab width
(setq indent-tabs-mode 't) ; use tab for indent.
(setq ruby-indent-level tab-width) ; indent size: tab ("2" or "4" can be set)
(define-key ruby-mode-map "\C-j" 'goto-line))) ; shortcut setting
備忘録。


2010年8月26日木曜日

[fedora] ネットワーク設定ファイルはどこ?

[fedora] ネットワーク設定ファイルはどこ?

fedora (たぶん linux 一般)のネットワーク設定ファイルは
/etc/sysconfig/networking
以下にあります。
/etc 以下を grep して「ない???」と思ったのは
単にファイルが多すぎて sysconfig 以下のファイルに
辿り着いていないだけでした・・・。


2010年7月5日月曜日

[linux] 強制 fsck

linux を利用していて fsck をかけたい、
と思って、普通にコマンドを実行しようとすると

WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damege.

という怖いメッセージが出てきます。
安全に実行するには?
起動シーケンスの中で fsck をかけるとか?
という疑問が出てくる訳ですが、
shutdown の manual に手順が記載されていました。
以下のコマンドで起動シーケンスの中で強制的に fsck を
実行することが出来ます。

# shutdown -Fr now

ググってみたところ、以下のような手順もあるようです。
http://d.hatena.ne.jp/GOT4416/20090210/p1


2010年4月24日土曜日

[xp] タスクトレイにアイコンが表示されなくなった?

[xp] タスクトレイにアイコンが表示されなくなった?

以前は skype やその他の常駐アプリが自動起動されて、
タスクトレイにアイコンが表示されていたのですが、
いつの間にか表示されなくなってしまったアイコンが
あることに気がつきました。

アイコンが出ていないだけで、起動はされているため、
必要な機能は一通り使えているのですが、
skype などアイコンで状態変化を通知してくれるアプリに関しては
かなり不便な状態です。

対象のアプリを再インストールすると出てきたりするのですが、
知らないうちにまたでてこなくなったりで、半ばあきらめていました。

が、今日ググってみるとまさに該当する問題とその解決方法がここに!!!
http://journal.mycom.co.jp/column/winxp/128/index.html
#マイコミジャーナルさん、ありがとう。m(_ _)m

UPnP関連のサービスの影響を受けているらしいです。
「SSDP Discovery Service」と「Universal Plug and Play Device Host」
を止めると、問題が再現しなくなりました。


2010年4月8日木曜日

「顧客の心」岩田聡

プレジデントロイターの記事にWiiを成功に導いた岩田聡氏の姿勢に関するものがあった。
---
  • 岩田は、その「普通のユーザーの心」を正確に見通し、次々に手を打つ。たとえば、複雑化し、近寄り難いものになったコントローラー。彼はこれをワイヤレス化と直感操作という2つのキーワードで、テレビのリモコンと同程度の扱いやすさに改善していく。
  • また彼は、本人だけでなく「家庭内の心理」までも見通して、ユーザー離れを防ごうとする。Wiiの開発コンセプトの1つが「お母さんに嫌われない」であったことは有名だが、場所ふさぎのハードや、夜中のファン音などに辟易する「母親の心」を見通し、省スペース・省電力・静音に十分な配慮をしたことも、Wiiの成功要因となっているのである。
---
とういことなのだが、深い・・・。
ゲームユーザーの1つ向こう側の「家庭内の心理」まで考えているんですね。



2010年3月31日水曜日

[linux][xterm] コマンドプロンプトからウィンドウのタイトルを変える方法

以前、-title で xterm のタイトルが設定できない、という記事をポストしました。

コメントアウトすべき、とした
> echo -n "\033]0;${USER}@${HOSTNAME}:${PWD}"; echo -n "\007"
を xterm の起動済みのウィンドウの中で実行すると、
タイトルを動的に変更できます。

例えばウィンドウのタイトルを"NEW-TITLE"に変更したい!
と思ったときには以下のコマンドを実行すればOKです。
> echo -n "\033]0;NEW-TITLE"; echo -n "\007"


という備忘メモでした・・。

2010年3月10日水曜日

Objective-C:カテゴリで「できること」と「できないこと」

Objective-C のカテゴリについて「できること」「できないこと」をまとめました。

<<できないこと>>
  • 同じクラスの別のカテゴリに宣言されているメソッドを確実にオーバーライドすること
    =>クラスの @interface セクションで明示的に宣言されているメソッドの再定義を避けるべき
    リンク順で呼ばれる関数が変わってしまう・・・
  • クラスのインスタンス変数の追加
  • 既存のカテゴリと同名のカテゴリの追加
  • 同じクラスに定義されている同名のメソッドの呼び出し
<<できること>>
  • クラスへのインスタンスメソッド追加
  • クラスへのクラスメソッド(スタティックメソッド)追加
Appleの「Object C 言語」には「カテゴリの使い方」として以下のような例が挙げられています。
  • 関連するメソッドをグループ化する簡単な方法を提供します。異なるクラスで定義した類似のメソッドを、同じソースファイルにまとめることができます。
  • 複数の開発者がクラス定義に取り組むような大きなクラスの管理を簡素化できます。
  • 非常に大きなクラスについて、インクリメンタルコンパイルのメリットがある程度得られます。
  • よく使用するメソッドについて、参照の局所性を向上するのに役立ちます。
  • 個々のアプリケーションに合わせてクラスを異なるように設定することが可能となり、同じソースコードのさまざまなバージョンを維持する必要性をなくします。
「既存 API の上書きを行わない」ということに注意していれば、それなりに便利に使えるのでしょう。
既存 API の上書きについて、ruby のクラス再定義に近いのかと思いましたが、ruby が「後勝ち」を保証しているのに対し、objective-c では「未定義」となっているので注意が必要です。
ruby は alias を駆使してオリジナルの API を呼ぶための方法が提供されている点も大きな違いです。


2010年3月7日日曜日

iPhoneアプリ開発(その4):Interface Builder を使って view 作成

iPhoneアプリ開発(その4):Interface Builder を使って view 作成

Interface Builderでviewを新規作成し、xcodeのコードとつなげる手順。

  1. Interface Builderのメニューから[File]-[New]を選択し、表示されたダイアログで[View]を選択してから[choose]ボタンで完了
  2. 表示された空のviewに必要な部品を配置し、メニューから[File]-[Save]を選んでxxx.xibファイルを保存する(このとき表示される「Would you like to add "xxx.xib" to "xxx.xcodeproj"」というダイアログでは追加先プロジェクトを選択して[Add]ボタン押下)
  3. 追加したviewに対応するViewControlerを追加する(xcodeに戻って、メニューから[File]-[New]で表示されるダイアログ中のUIViewController subclassを選択)
  4. RootViewController.h/mに新しいViewControllerを追加する

    RootViewController.h

    #import "XXXViewController.h"
    @interface RootViewController : UITableViewController {
    XXXViewController* *xxxViewController;
    }
    @property(nonatomic,retain) XXXViewController* *xxxViewController;
    @end

    RootViewController.m

    @synthesize xxxViewController;
  5. RootViewと新しいViewの画面遷移を実装する

    RootViewCotnroller.m:root view => xxx view

    	View2ViewController *xxxViewController = [[View2ViewController alloc] initWithNibName:@"XxxView" bundle:nil];
    [self.navigationController pushViewController:xxxViewController animated:YES];
    [xxxViewController release];
  6. View Controller Identityの設定(xxx.xibを選択してInterface Builderの"File's Owner"を選択した上で、メニューから[Tools]-[Identify Inspector]を起動して、"class"のドロップダウンからXxxViewControllerを選択する)
  7. View Connectionの設定([Tools]-[Connection Inspector]を選択して、"New Referencing Outlet"をドラッグして"File's Owner"にドロップする。表示された"view"を選択すればOK)
こんな感じです。
参考にしたblog:
http://icodeblog.com/2008/08/03/iphone-programming-tutorial-transitioning-between-views/




2010年3月3日水曜日

ターミナル上で改行を含む文字をコマンド引数に渡す方法

ターミナル上で改行を含む文字をコマンド引数に渡す方法
改行を含む文字列、例えば
aaa
bbb
ccc
を echo コマンド一発で表示したい場合。
> echo "aaa\
ここまで入力して[RETURN]キー押下すると、
> echo "aaa\
?
という状態になります。末尾の'\' が重要。 同じことを繰り返せば、所望の振る舞いになります。
> echo "aaa\
? bbb\
? ccc\
?"


2010年1月27日水曜日

Google Chrome 4.0 のブックマーク同期が便利すぎる件

1/25 に Google Chrome の安定版(4.0.249.78)がリリースされました。
このリリースで「ブックマーク同期」という新機能が付いたのですが、これが便利すぎます!
Official Google Blog: Extensions, bookmark sync and more for Google Chrome

複数PCを所有している方(会社と家のPC、デスクトップとノートPCなど)は、それぞれのブラウザに登録されているブックマークが微妙に異なることに苛立ちを覚えたりしませんでしたか?
この新機能によってChromeに登録しているブックマークが特別な操作なしにPC間で同期されるようになります。
デフォルトではOFFになっているので、スパナアイコンの「Google Chromeの設定」から「ブックマーク同期」を選択するか、空ページを開くと最下部に表示されている「新機能:ブックマーク同期」を実行してgoogleアカウントの認証をすれば有効になります。
このブックマークは Google Document 上でも参照・編集することができます。ローカルで「ブックマーク同期」を有効にすると、"My Folders"の中に"Google Chrome"というフォルダが生成されて、そこにローカルと同じブックマークが展開されます。
このGoogle Document上のブックマークはChrome以外のブラウザからも普通に参照できるので、ブラウザをまたいでブックマークも参照できることになります。


2010年1月19日火曜日

cygwin を 1.7.x にバージョンアップするとキーボードのマッピングがおかしくなった。

cygwin を 1.7.x にバージョンアップするとキーボードのキーマップが
英語キーボードのマッピングになってしまいました。
JP106 のキーマップを持っていないのでしょうか?

このファイルを /etc/X11/xmodmap.jp として保存して、
xterm 上で
> xmodmap /etc/X11/xmodmap.jp
とすることで、正しい状態になりました。

X 起動時に自動的に xmodmap による設定を行いたい場合には、
~/.xstartwinrc というファイルを作成し、
上記のコマンドを記述しておけばOKです。


2010年1月18日月曜日

パッケージアップデータのコマンド名は?

linux の gnome にはパッケージアップデータがあって、
このアプリを使って root 権限で任意のパッケージの更新が可能になっています。
gnome が起動している環境では、メニューバーの中から起動できますが、
コマンドから起動したい場合には /usr/bin/pup を直接実行することもできます。

また、その他のシステム管理系のツールは以下のコマンドにマッピングされています。
  • ユーザー管理 /usr/bin/system-config-users
  • Sambaサーバー設定 /usr/bin/system-config-samba

※実体はどれも consolehelper のようですね。


2010年1月16日土曜日

[excel] ピボットテーブルでヒストグラムを簡単作成

ピボットテーブルの機能である「グループ化」を利用することで
簡単にヒストグラムを作成できることが分かりました。

手順は簡単。例えば AppStore 有料TOP50 から
金額範囲毎のアプリ数を集計するような場合は、、、

1. ピボットテーブルを作成する
行フィールド: 金額
列フィールド: なし(カテゴリ別に集計したいような場合にはカテゴリを入れる)
データフィールド: 金額
2. データフィールドにカーソルを合わせてメニューから「フィールドの設定」を選択
「データの個数」を選択
→ここまでで、金額毎のアプリ数が表示される
3. 行フィールドにカーソルを合わせてメニューから「グループと詳細の表示」→「グループ化」を選択
表示されたダイアログで、まとめたい金額の範囲を設定

これでOKです。


ただ気をつけなければならないのは、アプリが1つも存在しない金額範囲が
行項目に現れない点です。
例えば、 500 円毎に範囲を区切った場合に 1000~1499 のアプリが
存在しない場合、行フィールドにその範囲が表示されません。

この問題の、うまい回避法が1つあります。
上記の1でカテゴリ別の集計を行って、カテゴリが空白で金額が1000 の
ダミーデータを用意することで、アプリ数が0の1000~1499 の項目が
出せるようになります。