システム開発・ウェブ制作[下北沢/東京] (株)ディーゴ

株式会社ディーゴは、サービス・システム開発・セキュリティ・コンサルタント・ウェブ制作に至るまでITに関する業務を幅広く承ります。

Author: gen (page 1 of 5)

英語man読めとか言われても

linux コマンド覚えましょうという話。
man ls
とか、manコマンドいいですけど、man という新たなチャレンジに英語というチャレンジも加わってしまうと心折れる。そんな時は、日本語man入れましょう。

CentOS なら、root権限で、
yum install man-pages-ja

.bash_profile の最後に、
alias jman=”env LANG=ja_JP.UTF8 man”
と追記して、
. ~/.bash_profile
で再読み込み(または再ログインしてもOK)

これで、
jman ls
とかで日本語manが使えるようになります。

codeigniterで実行されたSQL文を見たい時

codeigniter で、
log_message('debug',__FILE__.':'.__LINE__.': $this->db='.str_replace(array("\r\n", "\r", "\n"), '', var_export($this->db,true)));
とすると、ログに、db オブジェクトが吐き出せる。
dbオブジェクトの中には実行したSQL文の履歴が残っている。
どんなSQL文が実行されたのか見たい場合に苦労していたのが、これでかなり助かります。

rename コマンドで一括リネーム

例えば、jpgファイルの 頭に全部 hogehoge_ ってつけたいときは、こうするとか。
rename "s/^/hogehoge_/" *.jpg

正規表現使えるのがナイス!

BlueOnyx 5108R で phpMyAdminがnot found になる時。

以下をチェックすると良い。
1.mysql の root パスワードを設定する。
2./etc/admserv/conf.d/phpMyAdmin.conf がない時は、以下の内容で作成する。

 

# phpMyAdmin - Web based MySQL browser written in php
#

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

# This directory does not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#

#
php_admin_value open_basedir /usr/sausalito/:/etc/:/usr/share/php/:/usr/share/phpMyAdmin/:/tmp/:/var/lib/php/session/:/etc/phpMyAdmin/:/usr/sausalito/configs/php/
php_admin_value safe_mode_allowed_env_vars PHP_,_HTTP_HOST,_SCRIPT_NAME,_SCRIPT_FILENAME,_DOCUMENT_ROOT,_REMOTE_ADDR,_SOWNER
php_admin_value safe_mode_include_dir /usr/sausalito/configs/php/
#
Order Deny,Allow
Deny from All
Allow from None

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#
# <LocationMatch "/phpMyAdmin/(.+)">
# SecRuleInheritance Off
#
#

3.include エラーが出ている時も
/etc/admserv/conf.d/phpMyAdmin.conf を上記のように修正することで治る。

svn:ignoreを、再帰的に”.svnignore” で一括設定する

各ディレクトリ内にignoreしたいファイルを記述した、.svnignoreファイルを置く。

.svnignore ファイル例
gens-imac:0.0 gen$ cat .svnignore
bower_components
gens-imac:0.0 gen$

一番親ディレクトリで、以下の様な、svnignore.sh を実行する。
gens-imac:trunk gen$ cat svnignore.sh
#/bin/sh
find . -type f | while read FILE
do
# echo $FILE
# echo $(basename $FILE)
if [ $(basename $FILE) == ".svnignore" ]
then
pushd “`dirname $FILE`”
echo “pwd: `pwd`”
svn propset ‘svn:ignore’ -F ‘.svnignore’ .
popd
fi
done
gens-imac:trunk gen$ ./svnignore.sh
…(略)
gens-imac:trunk gen$

svnignore.sh スクリプトもコミットしておくと楽です。

MacPortsのsubversion1.8は日本語対応していない

5ヶ月くらい前から、MacPortsのsubversionが1.8にバージョンがあがっているのですが、こいつが、unicode_path パッチに対応しておらず、日本語ファイルを扱う環境だと問題があります。
・・・みんな困ってないのでしょうか。

とりあえずの対処としては、1.7系の最終版である、1.7.10を使います。
手順は以下:

まず、1.8 の subversion をアンインストール
> sudo port uninstall subversion

どっかワーキングディレクトリをつくってそこで作業
> mkdir tmp
> cd tmp

リビジョンを指定して port から co
> svn co -r 106653 http://svn.macports.org/repository/macports/trunk/dports/devel/subversion

ビルド
> cd subversion
> sudo port install +unicode_path

 

【ディーゴでは各種システム開発を承っております(下北沢・世田谷・東京)】
http://www.deego.co.jp/

 

Joomla!のメディアライブラリからJavascriptファイルをアップロードするには

Joomla!のメディアライブラリからJavascriptはアップしたいということは稀ですがたま〜にあります。
お客様が、Javascriptのライブラリをページで使ってみたい。と思った時にftpでアップしていただくのでは何のためのCMSなのかわからなくなってしまいます。

というわけで、今日は「Joomla!のメディアライブラリからJavascriptファイルをアップロードするには。」そして「JCEのファイルブラウザからファイルをアップするには」です。

Joomla!のメディアライブラリでの設定箇所は、そのものずばり、管理者権限で入ったメディアライブラリの設定のところにあります。

許可する拡張子に、js と JSをカンマ区切りで追加します。 (大文字小文字が区別されるため、大文字と小文字2つ登録しておきます。)

また、許可するMIME TYPEに、text/javascript を同じくカンマ区切りで追加します。

これでJoomla!標準のメディアライブラリで、Javascriptファイルのアップロードは出来るようになります。

 

次に、JCEのファイルブラウザでもjsをアップロードできるように設定します。
(※ 弊社では、より使いやすいWISWIG エディタであるJCEを標準でお使いいただいており、ファイルのアップロードもJCEのファイルブラウザ経由でのご利用を推奨しております。)

管理者権限でログインし、JCEの管理から、アドオンの管理タブ、ファイルブラウザタブを選びます。

許可する拡張子がありますので、横のアイコンをクリック。画像の箇所に、拡張子js を追加します。

あとは保存を押せば完了です。

 

Joomla!は日々進化しています。Ver3では、管理画面がAjaxでリッチになりました。
安定版の3.5系がリリースされれば、弊社のウェブ制作プロジェクトでもVer3を利用していくことになると思います。
弊社では独自開発プラグイン・モジュールによりJoomla!をより使いやすくカスタマイズしてご利用頂いております。

 

Joomla! system プラグインの動作(mobile Joomlaのデバイス検出)

joomla のプラグインクラスでは、onAfterRoute onAfterInitialize など、クラスメソッドを作成しておくと、そのイベントで該当のクラスメソッドが呼ばれます。

プラグイン内で、 $app -> regusterEvent で、動的にイベントを追加することもできます。

$app-> triggerEvent で、イベントを発生させることができます。

onHogehoge というクラスメソッドを作っておいて、 $app->triggerEvent(‘onHogehoge’, array($hoge));

などすると、onHogehoge が実行されます。

こうやって、Joomla 自体に大きな機能を組み込むことができるわけです。

Mobile Joomla のプラグイン本体は、 system/mobilebot/mobilebot.php で、ここから全てが動作しているようです。

 

mobile joomlaの、デバイス検出は、mobile グループのプラグインの onDeviceDetect イベントで取得されます。

mobile joomla では、imode(chtml) 端末にはDoCoMoしか入っておらず、AUやSoftbankの端末が含まれていません。

USER AGENT からAU Softbankもchtmlとして判別されるプラグインを作成し、mobile グループに登録。

mobile AMDD, mobile Simple の両モジュールは無効にすることで、この問題が解決できます。

 

Mountain LionのMail.appでGmail。送信フォルダが同期されない時

Mountain Lion出ましたね。早速使ってみていますが、不具合満載です。新しもの好きじゃなければ、Update2くらいまで待ったほうがいいかもしれません。

さて、表題の通り、GmailをMail.appで使おうとアカウントを追加しても、送信ボックスが空っぽでどうもGmailと同期されてないという状態になってしまう場合の回避策です。

まず、Mail.appを完全に終了します。メニューバーから、Mail → Quit Mailです。

しばらく待って、ターミナルから、以下のフォルダに移動します。

/Users/[ユーザー名]/Library/Mail/V2/MailData

open . [Enter]と打つと、Finderで見れます。

何かのエディタで、Accounts.plist を開きます。

<dict>
<key>AccountName</key>
<string>同期がうまくいっていないアカウント名</string>

… 途中省略

</dict>

となっているエントリーを探します。

そこの、</dict>の前に、次の2行を追加します。

<key>SentMessagesMailboxName</key>
<string>[Gmail]/Sent Mail</string>

保存して、Mail.appを再起動してしばらく待つと同期がうまくされます。

その他にも、Trashや、Draft、Archiveなどうまく動かない時にはエントリーを追加することでできるようです。

どうぞお試しください。

 

エクセルで「はこのマシンでは利用できないため、オブジェクトを読み込めませんでした」というエラーに遭遇したとき

弊社のお客様には、エクセルで作成した社内システムをお持ちのお客様もいらっしゃいます。

先日、とあるマシンでエクセルのシステムを起動したところ、「はこのマシンでは利用できないため、オブジェクトを読み込めませんでした」というエラーで起動できないという連絡をいただきました。

「はこのマシンでは利用できないため、オブジェクトを読み込めませんでした」って何でしょうね、日本語になっていませんが、主語になる何かが特定できていないのでしょうね。

通常このエラーが出るときは、VBEのツールー>参照 を見ると、参照できないコンポーネントがあり、そのためのエラーである場合がほとんどです。しかし今回は見当たりませんでした。

コンポーネントに相違があるということであたりをつけて、正常に動いているPCとあやしそうな箇所のDLLのバージョンを見比べていったら同じOfficeバージョンなのに、DLLに違うバージョンのものを発見。

同じバージョンでも、セキュリティパッチの適用有無によって、コンポーネントのマイナーバージョンが異なっていました。しかもこれにより、オブジェクトの仕様がかわっってしまい、ロードできないということだった。

VBEのツールー>参照に見当たらなかったのはエクセル標準のコンポーネントだから。

しかしこんなエラーメッセージからよく原因がみつけられたものだ。不幸中の幸い。

ちなみに、「はこのマシンでは利用できないため、オブジェクトを読み込めませんでした」のエラーが発生したエクセルファイルは、上書き保存もしていないのに、該当するオブジェクトを利用しているVBAコードが欠落しもう正常に動かないようになってしまうということも発見。

新環境で試すときはマスターはとっておいて、そのマシンにコピーして使うようにしないといけませんね。

Older posts

Social Widgets powered by AB-WebLog.com.