「”」で終了しない行の改行を削除する正規表現

次のようなCSVデータにおいて、「”」で終了しない行の改行を削除する正規表現(秀丸で)メモ。

"1","山田太郎","ヤマダタロウ","今日は良い天気ですね。"
"2","山田花子","ヤマダハナコ","今日は雨です。
明日も良い天気だと良いな"
"1","山田太郎","ヤマダタロウ","今日は良い天気ですね。"
"2","山田花子","ヤマダハナコ","今日は雨です。明日は良い天気だと良いな"

検索ボックスは「\f[^”]\f\n」、置換ボックスは「\1」と入力する。「\f」で囲まれた部分をバッファに入れて、置換後文字列の中で呼び出す。

xubuntuで外部サーバーのディレクトリをマウントする

windowsの共有ディレクトリのようなものをxubuntuでも使いたくて下記の処理を行った。

  1. sshfsをインストールする。
  2. マウントさせる受け皿としてmntを作成する。
  3. sshfsコマンドによりマウントを実行する。
taro@example:~/$ sudo apt-get install sshfs
taro@example:~/$ mkdir mnt
taro@example:~/$ sshfs hanako@192.168.0.100:/path/to/shared/ ./mnt/
Password:********

xubuntuのchromiumでタブバーの動作がおかしい

xubuntu12.10にてchromiumを立ち上げると下記のようにタブが表示されず、タブバー(?)自体の高さも通常よりも低く表示される。このままでは新しいタブの追加ボタンも表示されない。

しかし「Ctrl+t」にてタブを追加すると正常に追加され、かつ今まで非表示だったタブも表示される。ただし、コンソールに次のエラーが出力される。

user@example:~$ [2889:2889:0118/004942:ERROR:layout.cc(160)] Not implemented reached in ui::ScaleFactor ui::GetScaleFactorForNativeView(gfx::NativeView)

いろいろ調べてみると1年ほど前から話題になっているChromiumのバグらしいが未だに直っていない様子。

Chromiumのバージョン。

Version 23.0.1271.97 Ubuntu 12.10 (23.0.1271.97-0ubuntu0.12.10.1)

システム情報

user@example:~$ uname -a
Linux will 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:51:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

EC-CUBEのカテゴリ・コンテンツプラグインをカスタマイズする

EC-CUBEのカテゴリ・コンテンツプラグインは大変に便利なプラグインなのだけれど、その掲載位置をh2タイトルの下に変更する必要が出てきた。プラグインパッケージを解凍して「CategoryContents.php」を読んでみると次のようにある。

//変更前(L150付近)
$objTransform->select('h2.title')->insertBefore(file_get_contents($template_dir . 'categorycontents_products_list_add.tpl'));

この部分を下記修正する。

//変更後
$objTransform->select('h2.title')->insertAfter(file_get_contents($template_dir . 'categorycontents_products_list_add.tpl'));

その後、改変したファイルを元と同じようにtar.gz圧縮してからプラグインアップデート(もしくは一旦削除して再インストール)すると望み通りの形が実現できた。

瀬谷ルミ子さんのお話を聴く。

瀬谷ルミ子さんのお話を聴く。

彼女の著書「職業は武装解除」を先日たまたま読み、すごい人がいるなと思っていたところ、こちらもたまたま見つけた楽天テクノロジーカンファレンスに登壇される事を知りこれは一石二鳥だと思い出かけてみた。セッションの内容はその仕事を始めるようになったきっかけとこれまで/これからの活動の履歴。書籍に目を通していたとはいえ、ご本人を目の前にして聴くと雰囲気はまるで違う。

そんなお話の中で印象に残ったフレーズが二つ。ひとつは、プロジェクトにしろ自身の成長にしろ、常に進行形であり終わりは無いこと。もう一つは、私は皆さんとは活動する分野が違うけれどもある目的を達成するにあたってのプロセスは同じであり、そしてこの仕事には皆さんの力が大いに役立つフィールドがある。だから話し合い意見を出し合いながら協力をしていきたいとのこと。

僕は新しい技術それ自体を知ること/試すことが楽しくて、それが何に使えるのかを自発的に考えることがなかなかない。お客さんを始め外からの要望があるから少しの役に立てているだけ。それはそれで悪くはないのだけれど、技術を磨きつつもその技術を自分で見つけた課題のために使えるようなそんなバランスの良い環境(なのか考え方なのか)が作れたら良いなとも思う。

そういえば、前のセッションのおじさんが「私たちはソフトウェアを作るのではなく世界を作っているのだ!」なんて素敵な文句をスライドに書いていてちょっといいなと。

それにしても社内公用語が英語だというのは本当だった。アナウンスから貼り紙から何から全て。賛否両論あるけれど環境の力は偉大だ。ちなみに瀬谷さんのセッションと三木谷社長のキーノート以外の英語はなかなか難しく時間半ばで挫折した。

・・・セッションを聴きながら思ったことをまとまりもなくつらつらと。

山本敏晴氏の講演を聴く。

山本敏晴氏の講演を聴く。

国境なき医師団の一員としてアフリカ、中東での医療援助、NPO法人の設立から国際協力に携わる人材の育成など幅広く活躍をされている方。

内容としては資源を巡っての戦争とそれによる国の衰退、子供兵士の悲惨な状況、海に沈む国ツバルと先進国との関連などについて、そして地球という視点から見た国際協力とは何かというお話。

僕は恥ずかしながら国際協力どころか世界でいま何が起こっているのか、また日本が国としてどのような関わり方をしているのかについての知識をほとんど持っていない。またそれについて考えることも少ない。漠然とした問題意識はあっても遠い国の不幸よりも身近な心配事を優先して気にかけることが当然であるような。

そんな中での本日の講演とその後にお会いした協力隊の方々とのお話を受けて、国際協力(この言葉が何を意味するのかはまだ良く分からないけれど)というものに初めて興味を持つ。

本当に勉強不足。

XOOPS Cube Legacy 2.2にALTSYS0.71aを導入する

XOOPS Cube Legacy 2.2にALTSYS0.71aを導入(ファイルを展開しただけ)したところ下記のエラーが出力された。

[PHP]
Notice [PHP]: Use of undefined constant _LANGCODE – assumed ‘_LANGCODE’ in file class/template.php line 85
Notice [PHP]: Use of undefined constant _CHARSET – assumed ‘_CHARSET’ in file class/template.php line 86
Notice [PHP]: Use of undefined constant _LANGCODE – assumed ‘_LANGCODE’ in file modules/legacyRender/kernel/Legacy_AdminRenderSystem.class.php line 123
Notice [PHP]: Use of undefined constant _CHARSET – assumed ‘_CHARSET’ in file modules/legacyRender/kernel/Legacy_AdminRenderSystem.class.php line 124
Notice [PHP]: Use of undefined constant _CHARSET – assumed ‘_CHARSET’ in file modules/legacyRender/kernel/Legacy_RenderTarget.class.php line 25
[/PHP]

ついでに、インストールを行おうとすると、次のように失敗する。

[PHP]
ブロック 管理メニュー をインストールしました
コンフィグ adminmenu_hack_ft を追加しました
コンフィグ adminmenu_insert_mymenu を追加しました
コンフィグ admin_in_theme を追加しました
コンフィグ enable_force_clone を追加しました
コンフィグ images_dir を追加しました
コールバック ‘xoops_module_install_altsys’ を実行することができませんでした
ALTSYS モジュールのインストールに失敗しました
Force Uninstallation is started.
[/PHP]

解決方法としては次の1行をhtml/preload/SetupAltsysLangMgr.class.phpの中のfunction loadGlobalMessageCatalog()下に追加する。

$this->_loadLanguage('legacy', 'setting');

[PHP]
function loadGlobalMessageCatalog()
{
/* if (!$this->_loadFile(XOOPS_ROOT_PATH . “/modules/legacy/language/” . $this->mLanguageName . “/global.php”)) {
$this->_loadFile(XOOPS_ROOT_PATH . “/modules/legacy/language/english/global.php”);
} */
$this->_loadLanguage( ‘legacy’ , ‘global’ ) ;
$this->_loadLanguage( ‘legacy’ , ‘setting’ ) ;

//
// Now, if XOOPS_USE_MULTIBYTES isn’t defined, set zero to it.
//
if (!defined(“XOOPS_USE_MULTIBYTES”)) {
define(“XOOPS_USE_MULTIBYTES”, 0);
}
}
[/PHP]

参照