[Mac] .DS_Store ファイルを作成しない設定方法

Mac から Windows の共有ディスクにアクセスすると .DS_Store というファイルが各ディレクトリに作られてしまいます。

.DS_Store を作成しない設定方法は、Terminal にて下記のコマンドを実行後、再起動するだけでOKです。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

以上です。

参考情報

[JavaScript] 実行時間をミリ秒単位で簡易計測する方法

JavaScript で、実行時間をミリ秒単位で簡易計測するスニペットをメモ。

var start = new Date();
// 実行時間を計測したい処理
var end = new Date();
var executionTime = end.getTime() - start.getTime();
 
console.log(executionTime);

【参考】

JavaScriptでページのレンダリング時間をミリ秒単位で簡易計測する – 大人になったら肺呼吸 はてなブックマーク - JavaScriptでページのレンダリング時間をミリ秒単位で簡易計測する - 大人になったら肺呼吸

[Apahce][PHP] libphp4.so: cannot open shared object file: No such file or directory

Apahce2 + PHP4 構成のサーバーを構築中していまして、Apache起動したら libphp4.so がないってエラーが出ました。

service httpd start
httpd: Syntax error on line 63 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot open shared object file: No such file or directory

libphp4.so の Path を調べて、正しい場所へ httpd.conf を修正すれば解決しました。

# find / -name libphp4.so
/usr/local/src/php-4.4.9/libs/libphp4.so
/usr/local/src/php-4.4.9/.libs/libphp4.so
/usr/lib64/httpd/modules/libphp4.so
# vim /usr/local/apache2/conf/httpd.conf
LoadModule php4_module /usr/lib64/httpd/modules/libphp4.so

以上です。


参考情報

libphp4.soの行方 – loumo.jp

[VMware] Device eth0 does not seem to be present, delaying initialization エラーの解決方法

VMware にて、予め作っておいた仮想マシンをコピーして、ネットワークを再起動すると下記のようなエラーが発生しました。

# service network restart
Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.

1. ifconfig -a でMACアドレス調べる

2. /etc/sysconfig/network-scripts/ifcfg-eth0 のHWADDRを変更

3. /etc/udev/rules.d/70-persistent-net.rules の eth0, eth1 などの行を全て削除

# vi /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:28:fd:3c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

4. reboot

「70-persistent-net.rules の eth0 のMACアドレスを変更後、reboot すればOK」という記事が検索でたくさん見つかったけど、自分の場合はこれで上手くいかなかったので、行全てを削除しました。

以上です。

【参考】

「Device eth0 does not seem to be present, delaying initialization」対策 – harry’s memorandum はてなブックマーク - 「Device eth0 does not seem to be present, delaying initialization」対策 - harry’s memorandum

VMwareで「Device eth0 does not seem to be present, delaying initialization」と表示された時の対処法 その2|リナックスマスター.JP 公式ブログ はてなブックマーク - VMwareで「Device eth0 does not seem to be present, delaying initialization」と表示された時の対処法 その2|リナックスマスター.JP 公式ブログ

SE奮闘記: [VMware Fusion] CentOS6のVMをCopyしたらNetworkに繋がらない はてなブックマーク - SE奮闘記: [VMware Fusion] CentOS6のVMをCopyしたらNetworkに繋がらない

Titanium Mobile SDK 2.1.2 のリリース情報まとめ

Titanium Mobile SDK 2.1.2 のリリース情報が載っているページのリンクを自分用にまとめ。

Titanium SDK 2.1.2 Is Released « Appcelerator Developer Center はてなブックマーク - Titanium SDK 2.1.2 Is Released « Appcelerator Developer Center

Titanium release-notes version 2.1.2.GA はてなブックマーク -

Titanium Mobile SDK 2.1.2 と Titanium Studio 2.1.2がリリースされました。#TitaniumJP – Titanium News はてなブックマーク - Titanium Mobile SDK 2.1.2 と Titanium Studio 2.1.2がリリースされました。#TitaniumJP - Titanium News

[Apache] SSL (HTTPS) で起動しない時の対処方法

Apache を apachectl restart で再起動したら、http は繋がるけど、https は繋がらない問題が発生しました。

原因は、Apache のバージョンが 2.0.x 系で、apachectl startssl か -DSSL オプションを付けて起動するかしないと、SSLサポートが有効にならないみたいでした。

apachectl -v
Server version: Apache/2.0.59

apachectl のオプションであった startssl は無くなりました。 SSL サポートを有効にするには httpd.conf を 編集して関連する mod_ssl ディレクティブを 入れるようにし、それから apachectl start で サーバをスタートしてください。 mod_ssl を有効にする設定ファイルの例が conf/extra/httpd-ssl.conf にあります。

[引用元]:2.0 から 2.2 へのアップグレード – Apache HTTP サーバ

知らないと再起動した後に、https 繋がらなくてサービス停止状態になっちゃうので、下記の記事を参考に apachectl を編集するといいかも。

apachectl 3分ハッキング – C#とか。 – Grim Saga Project 別館:れびんの勉強部屋

あとは、そもそも古いバージョンの Apache を使ってないで、さっさとバージョン上げれば良いのですがね。


参考情報

シリコンバレー 24時: Apacheを 2.0 から 2.2 へアップデートすると SSLが無効になるトラブル

[仕事] Apache2.0.x→2.2.xのSSL対応について|TEAM RISE x すかの日記

[Titanium Mobile] スプラッシュスクリーンを表示させない方法

Titanium Mobile にて、スプラッシュスクリーンを表示させない方法を「QA@IT」で教えてもらったのでメモ。

Titanium Mobileでスプラッシュスクリーンを非表示にする方法 – QA@IT はてなブックマーク - Titanium Mobileでスプラッシュスクリーンを非表示にする方法 - QA@IT

■ iOS

iOSの場合、表示しない方法はありません。どうしてもという場合は例えば黒で塗りつぶした画像を使ってtransitionを使わないことで代用できます。しかしAppleのHuman Interface Guidelineのコンプライアンスに違反するかもしれないのでお勧めできません。そもそも初期化のプロセスは必ず発生しますので、そこで画面がブラックアウトしてしまったりするのは好ましくないでしょう。

■ Android

なんでもありのAndroidの場合は、一度ビルドしてからプロジェクトのディレクトリ/build/android/res/values/theme.xmlを編集します。

<style name="Theme.Titanium" parent="android:Theme.NoTitleBar">
  <item name="android:windowBackground">@drawable/background</item>
</style>

これを下のようにします:

<style name="Theme.Titanium" parent="android:Theme.NoTitleBar">
</style>

以上です。

[Javascript] オブジェクトが空か判定・判別する方法

JavaScript で、オブジェクトのプロパティが一個以上あるかどうかを調べるには、Object.keys を使って下記のように書けます。

var hoge = { 
    fuga: 1,
    moga: 2,
};
 
console.log(Object.keys(hoge).length === 2); // true

【参考】

javascript の オブジェクトが空かどうかを調べる場合 – Node.js日誌β はてなブックマーク - javascript の オブジェクトが空かどうかを調べる場合 - Node.js日誌β

keys | Mozilla Developer Network はてなブックマーク - keys | Mozilla Developer Network

[Titanium Mobile][ERROR] Script Error = Parse error (unknown file)

Titanium Mobile で下記のようなエラーが発生する場合は、JavaScriptのシンタックスエラーが原因です。

[ERROR] Script Error = Parse error (unknown file)
Terminating app due to uncaught exception of class ‘__NSCFDictionary’
terminate called throwing an exception

直近に修正したコードがJavaScriptの文法的に正しいか確認しましょう。

以上です。

【参考】

SDKエラー例 [アプリ作家見習いメモ] はてなブックマーク - SDKエラー例 [アプリ作家見習いメモ]

App suddently throws parse error » Community Questions & Answers » Appcelerator Developer Center はてなブックマーク - App suddently throws parse error » Community Questions & Answers » Appcelerator Developer Center

[Titanium Mobile] Viewの背景色を透明にする方法

Titanium Mobile にて、Viewの背景色を透明にするには、createView で backgroundColor に ‘transparent’ を設定すればOKです。

var view = Ti.UI.createTableView({
    width : 320,
    backgroundColor : 'transparent',
});

以上です。