投稿

1月, 2010の投稿を表示しています

PostgreSQL、MySQL保守用のバックアップ、リストアのコマンド

毎回検索して実行しているので、自分用メモ。 環境: CentOS(linux), lampp   ▼PostgreSQL バックアップ $ pg_dump dbname > /tmp/output.sql バックアップ(drop文付き) $ pg_dump --clean dbname > /tmp/output.sql リストア $ psql dbname < /tmp/input.sql リストアしたら VACUUM する(アナライズも) $ vacuumdb -d dbname --analyze   ▼MySQL バックアップ(パスワード付き)。lamppが導入されているならphpMyAdmin経由の方が簡単 # mysqldump -p dbname > /tmp/output.sql リストア(パスワード付き) # mysql -p dbname < /tmp/input.sql   ▼保守 ファイル(ディレクトリ)の圧縮(アーカイブ用) tar コマンド ※フルパスで実行するとパスごとアーカイブするのでカレントディレクトリを移動して実行するほうがいい。 # tar -czvf /tmp/archive.tar.gz target/ 解凍 # tar -xzvf /tmp/archive.tar.gz 10日以内に更新されたファイルを抽出して圧縮する。 (2015/04/19 Modified)xargsは大量のファイルを抽出する場合に失敗する。参考: つらつらと気づいたことを書いていきます。人狼とか。 # find ./target/ -mtime -10 | xargs tar czvf ./hoge.tgz # find ./target/ -mtime -10 -print0 | tar -czv -T - --null -f ./hoge.tgz 「.svn」「node_modules」を除外したディレクトリ一覧をパス付きで。 # find -type d -name '.svn' -prune -o -name 'node_modules' -prune -o -type d -print さらに書き込み可になっているディレクトリ一覧 # ls ...

【.NET】BindingSourceの利点

.NET Framework 2.0から新たに使えるようになった BindingSource 。何が出来るのかよく分からなかったので調べたメモ。 【MSDN】BindingSource コンポーネントの概要 【MSDN】BindingSource コンポーネント アーキテクチャ 詳しくは上記のドキュメントを読んでもらうとして、個人的に体感したのは デザイン時のサポート 伝達性の管理 ▼デザイン時のサポート Visual Studioで開発していると、 データベース(DataSet) ⇔ BindingSource ⇔ コンポーネント というのをデザイナー(GUI)で全てできるので便利。 ▼伝達性の管理 データを挿入する場合などBindingSourceやコンポーネントに値をセットしておいて、EndEditメソッドを実行すると、そこでデータベースに反映されるので、行追加イベントや値更新イベントなどの制御をやりやすい。 逆にEndEditを使うタイミングを良く考えないと変にイベントが走って動作がおかしくなる。 キャンセルする場合はCancelEditメソッドを使えば初期状態に戻るので、「リセット」ボタンに使ったりするのに便利。   今のところはこんな感じ。 まだ使いこなせてないので、MSDNに書いてあることの半分も理解しない。この辺は実際に使ってみるしかないか。

【.NET】ClickOnceのインストール先とキャッシュ領域

ClickOnceでインストールされたアプリケーションはどこのフォルダに配置されるのかを調べたメモ。 ClickOnceに関するメモ アプリケーションが配置されるのは下記フォルダ c:\Document and Settings\<user>\Apps\2.0 「ClickOnceキャッシュ領域」とか「ClickOnceアプリケーションストア」と呼ばれているらしい。ただ、インストールするときに差分をチェックする際に使われるのは、「NETアセンブリ・ダウンロード・キャッシュ」という場所。 「NETアセンブリ・ダウンロード・キャッシュ」をクリアしないと、「ClickOnceキャッシュ領域」を削除してもClickOnceがインストールできなくてハマる。詳しくは下記。 @IT - 第2回 ClickOnceの仕組みを理解しよう @IT - ClickOnceオンライン・キャッシュ領域をクリアするには?[2.0のみ、C#、VB] MSDN ClickOnce キャッシュの概要 コマンドラインで mage –cc か gacutil –cdl を使う。Gacutil.exeについては こちら 。 Visual Studio 2005をインストールしてある環境ならスタートメニューから「Visual Studio 2005 コマンドプロンプト」を起動すると使える。 ちなみに同じアプリケーションを各ユーザーごとにカスタマイズしている場合は、アプリケーションの「アセンブリ名」を変更して、別アプリケーションとした方が開発とテストがやりやすいと思う。

【.NET】ClickOnceのインストール時に不明な発行元がでる

ClickOnceのインストール時に「不明な発行元です。」と表示されるのをなんとかしようと調べたメモ。 ベリサイン などの証明機関(CA)から証明書を発行してもらい署名すればエラーはでないみたい。 MSDN 開発者以外が配置する ClickOnce アプリケーションの作成 上記サイトを読むと「顧客に代わって配置に署名」するを実行すれば良さそうだけど、よく分からず。 インストールするときに出るだけなので今のところはいいか。 また、時間があるときに調べる。

【Firefoxアドオン】FireMobileSimulatorでAndroidをエミュレート

イメージ
Andorid端末向けのサイトを構築する際に動作確認をするのにAndroid SDKに付属するエミュレータをインストールするのは面倒だったので、簡単にできないものかと調査したメモ。 Firefoxを携帯エミュレータにしてくれるアドオン「 FireMobileSimulator 」を使うと簡単にできる。インストールは こちら から。 インストール後、ツール → FireMobileSimulator → 最新端末リストから端末を追加から「HT-03A」を検索。 選択して「選択した端末を追加」で完了。あとはツール → FireMobileSimulator → DC HT-03Aを選択すればOK. Firebugとの連携でデバッグもしやすい。 ちなみに試してたのは、WordpressをAndroid端末, iPhone, iPod touch向けに表示してくれるプラグイン「 WPtouch 」

【.NET】ClickOnceの署名(デジタル証明書)を更新・延長する

開発をしていたら、ある日突然発行ウィザードでエラーを吐くようになった。 環境はVisual Studio 2005 エラー    2    SignTool はエラー 'bin\Debug\AuroraClient.publish\\setup.exe の署名に失敗しました。 SignTool Error: ISignedCode::Sign returned error: 0x80880253     The signer's certificate is not valid for signing. SignTool Error: An error occurred while attempting to sign: bin\Debug\AuroraClient.publish\\setup.exe ' を報告しました。    AuroraClient デジタル証明書の有効期限が切れたみたい・・・。 下記サイトを参考に更新してみる。 ClickOnceのデジタル証明書を更新するには?[VS 2005のみ、2.0のみ、C# 書いてある通りに作成して実行してみると強制終了する・・・。 検索してみると、 ここ からRenewCertのエラーメッセージを出力してくれるバージョンをダウンロードできる。 ビルドして実行してみると、 PFXImportCertStore failed with error 0x56: というエラーが。もしやと思い設定したパスワードを引数で渡すと作成できた。 RenewCert.exe "元のpfxパス" "出力pfxパス" "CN=<発行者名>" "設定したパスワード" 発行者名は適当に設定しても大丈夫らしい。

PostgreSQLをバージョン8.4系にあげたらクエリが遅い

新しい開発案件で PostgreSQL (今のバージョンは8.4.2)の設定をし終えて、いざ動かしてみるとviewが(異様に)遅い(のがある)。 環境はCentOS5.4(linux) 最初はPostgreSQLのチューニングで何とかなると思い、試行錯誤しながら設定したけど、8.3のころのスピードにはならず。 しょうがないので8.3の最新版を再インストールすることに。 下記ドキュメントを見る限り、8.4にすれば速くなりそうな気がするけど、もう少し8.4は待ちかな? PostgreSQL 8.4 に関する技術情報(リリースノートの解説) 普通に使う文には多分速いと思う。 viewの作りが悪いのとオプティマイザの相性の問題かなと・・・

jQueryを使ってPHPとJSON形式のデータをやり取りする方法

クライアントとサーバー間で通信するときにJSON形式のデータを簡単にやり取り出来ないものかと調査したメモ。 クライアント(JavaScript側)はjQueryとjQueryのプラグイン「jquery-json」を使う。ダウンロードは こちら から。 jquery-jsonはjson形式の変換(encode, decode)を簡単にできる。 サーバー側はjson_decodeとjson_encodeを使う。詳しくは 前の記事 を参照。 以下サンプル クライアント側 var objData = new Object(); //var aData = {};でもOK objData.name = "hoge"; //aData["name"] = "hoge"でもoK objData.age = 12; sJson = $.toJSON(objData); $.getJSON("test.php", { json : sJson }, function(objRes){ alert(objRes.country); //objRes["country"]でもok }); (jquery-jsonを使わない場合はobjDataをpostする) ちなみに$.post()を使って、$.evalJSON(res)してもいい。 サーバー側(test.php) $objParam = json_decode($_POST['json']); $objParam->country = 'japan'; //注意:配列ではない echo json_encode($objParam); 試してないけど、こんな感じでできるはず。 POSTするとサーバー側のデバッグがしづらいので、サーバーにポストする前にalertでJSONを出力して次のようなHTMLを用意すれば、ちょっとやりやすくなる。 <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=UT...

PostgreSQLのチューニング(postgresql.confの設定)

サーバーを設定する際にPostgreSQLに割り当てるメモリをどれくらいにするか調査したメモ。 環境はCentOS 5.4, PostgreSQL 8.3.9 postgresql.confに書いてある設定の意味は 公式リファレンス を参照する。 このwiki を参考に。 shared_buffers = 1024MB #共有メモリバッファ temp_buffers = 256MB # 一時テーブルで使用 work_mem = 10MB #ソートやテーブル結合で使用 wal_buffers = 1024kB #トランザクションログで使用 effective_cache_size = 256MB #なるべくインデックスを使うように random_page_cost = 2.0 #なるべくインデックスを使うように   ▼関連記事 MySQLのチューニングメモ

【Linux】プロセスのメモリを確認して不要なサービスを止める

VMware上でメモリが足らず、開発に影響してきたので、不要なサービスを止めるために調査したメモ。 ここのブログ を参考にした 環境はCentOS 現在使用中のメモリを確認するコマンド # ps alx | less VSZが仮想メモリでRSSが物理メモリらしいので、これらが多いプロセスでいらないやつを止めた。不要なデーモンで参考になったのが下記サイト r271-635 CentOS 不必要なサービスを無効化 PukiWiki 不要サービスの停止 以下止めたデーモン一覧 プロセス 説明 autofs ファイルシステムの自動マウント/アンマウント avahi-daemon mDNSを使用して名前解決 auditd 監査メーッセージをログ出力 acpid 電源管理 cups 印刷サービス gpm コンソールでマウスを使うためのドライバ ip6tables ファイヤーウォール(IP6版) jexec jarファイルを実行可能にする firstboot システム初期設定用 mcstrans SELinuxで内部データを、ユーザ定義に変換して表示 mdmonitor RAID監視 netfs NFS, Sambaなどネットワークドライブを自動マウント nfslock NFSでファイルの排他制御 portmap NFSなどのRPC接続を、TCP/IPにマッピング ...

【Android開発】EclipseのAndroid SDKをアップデートする方法

Android SDKをアップデートしたときのメモ。 環境はEclipse(Galileo) インストールの仕方は こちらの記事 を参考に。 プラグイン(Android Development Tools)(ADT)のアップデートはEclipseのHelp → Check for Updatesからできる。 インストールされたSDKなどはWindows → Android SDK and AVD Managerから。 Installed Packages、Available Packagesのどちらでも可能。Accept Allで一括インストール。 ただEclipseを起動しているとSDKのファイルをロックされて更新できない場合があるので、その場合はAndroid SDK and AVD Managerを単独で起動。 Windowsの場合はandroid-sdk-windows\tools\android.batを起動すればOK。

VMware Server 2.0の仮想マシンをコマンドラインで操作

遅いサーバーにVMware Serverをインストールして使っていると、いちいちWeb Accessを立ち上げていると遅いので、さくっとコマンドラインで出来なものかと調べたメモ。 ちなみにWeb Accessから「Generate Virtual Machine Shortcut」でデスクトップにショートカットを作ってもいい。 コマンドラインは下のブログを参考に。 VMware Server 2.0 をコマンドラインから操作する方法 以下は自分用メモ コマンド 説明 vmware-vim-cmd vmsvc/getallvms ゲストOSの一覧 vmware-vim-cmd vmsvc/power.suspend [Vmid] サスペンド vmware-vim-cmd vmsvc/power.on [Vmid] 電源on vmware-vim-cmd vmsvc/power.off [Vmid] 電源off vmware-vim-cmd vmsvc/power.reboot [Vmid] 再起動 vmware-vim-cmd vmsvc/power.getstate [Vmid] 状態表示 vmware-vim-cmd help vmsvc コマンド一覧 対話型で操作するには # vmware-vimsh を使う。実行後にTabを打てば、コマンドが出てくる。後は [/]$ help (コマンド) でいろいろ分かる。

【PostgreSQLチューニング】遅いSQLクエリをみつけるログ設定

ボトルネックになっているSQLを見つけようと設定したときのメモ。 環境はCentOS 5.4, PostgreSQL 8.4.2 インストールの方法は 前の記事 を参考に。 ログ設定で参考になったのは下記 @IT 第3回 PostgreSQLを遅くしている犯人はどこだ? コンパイル直後はログの設定が無効になっているので、/usr/local/pgsql/data/postgresql.confを編集する log_destination = 'stderr' logging_collector = on log_directory = 'pg_log' log_filename = 'postgresql-%Y-%m-%d.log' log_truncate_on_rotation = on log_rotation_age = 1d #1日ごとにrotation log_rotation_size = 10MB log_min_duration_statement = 3s #3秒を超えたらログ出力 それぞれコメントアウトをして有効にする。最後のlog_min_duration_statementで設定した秒数を超えるクエリをログに出力してくれる。 ログファイルは/usr/local/pgsql/data/pg_logに出力される。

SubversionをCompileしてsvnコマンドを使用(RPMとYUMを使う方法を追記)

yumでインストールしたsubversionは古いので最新のSubversionをソースからコンパイルしたメモ。 環境はCentOS5.4(linux) Sambaで共有して、Windowsから更新・コミットしているので、サーバーではsvn exportができるだけでいい(subversionクライアントとして動作すればいい) ダウロードは 公式サイト から。 この辺 からsubversion-1.6.6.tar.gzとsubversion-deps-1.6.6.tar.gzをダウンロードする。 subversion-1.6.6.tar.gzだけで最初やろうとしたらSQLiteの依存関係で困ったので(SQLiteはいろんなパーケージに依存されているのでyum管理から出したくない)、依存関係がパッケージされているsubversion-depsを使うことにした。 # tar xzvf subversion-1.6.6.tar.gz # tar xzvf subversion-deps-1.6.6.tar.gz # cd subversion-1.6.6 # ./configure --without-berkeley-db --without-apxs --without-swig --without-serf --disable-mod-activation # make # make install /usr/local/binに配置される。 一回ログアウトしないとコマンドがないと怒られた。 エクスポートするコマンドは # svn export /opt/aurora /tmp/aurora という感じ。詳しくは # svn help export で確認。 < 2012/04/10 Modified > subversion 1.7 のClient PackageをInstallしたのを追記。 Apache Subversion Binary Packages CentOS 5.xにCollabNet Subverion 1.6を入れる CollabNetに登録(無料)して、rpm packageを...

2010年はHTML5がどこまで広がるか

HTML5のドラフト版が発表され(2008年8月)、2010年の9月頃に正式に発表を予定しているらしい。 wikipedia Firefoxとかいくつかのブラウザでは既にHTML5のいくつかの機能を実装しているみたい。 そんなHTML5の情報は下記サイトから。 HTML5.JP HTML 5 ― HTML 4 からの変更点 ざっと見ていると今までFlashやJavaScriptで実装していた機能がタグやAPIとして提供されるような感じ。よりWebアプリケーションが実装しやすくなりそう。 Google Chrome OSなんかはHTML5をフルで活用してきそうなイメージ。 グーグルが賭けるHTML 5の未来 でも、最近発表されたGoogleのAndroid携帯はflashが内蔵されているらしい。

【DNS】SPFレコードを設定して自ドメインのなりすましメール対策

メールを送信するときにFromを任意に設定して送信することが可能ですが、自分の管理しているドメインが不正に使われないようにするのにSPFレコードをDNSに記述して対策するらしい。 SPF(Sender Policy Framework)の詳細は下記 Wikipedia Google Apps 管理者用 ヘルプ SPF レコードの設定 サンプルとかはGoogle先生に聞いてみるといろいろ出てくる。 自分でも設定したときに追記予定。

MicrosoftとGoogleのCDNでjQuery.jsの読み込みを高速化

Microsoftが提供するCDN(コンテンツ・デリバリー・ネットワーク)に置いてあるAjax(jQuery)ライブラリを使うと読み込みが高速化できるらしい。 Microsoft AJAX CDNのお知らせ - @IT Microsoft AJAX CDN - SSLのサポート - @IT 商用、非商用でも無償で利用できるらしい。 さらにこれを調べていて、Googleでもすでに同じようなサービスを提供していることが分かった。 Google AJAX Libraries API こちらの方が提供しているライブラリが豊富。 利用することで体感で分かるほど速度改善できるかは疑問だけど、頭の片隅に置いておくことにする。

HDD to HDDでコピーする「これdo台 PRO」

実際に見せてもらって良さそうだったのでメモ。 PCレスでHDDをまるごとコピーしたりできる Century 「これdo台 PRO」 値段は26000円ぐらい。ちょっと高いか? PC経由であればHDDをまるごとコピーできるフリーソフトもあるので、お金がない場合はそちらを利用するのも手。

2010年仕事始め

今日から仕事始め。 溜まっているタスクを考えると萎えるけど、地元で(精神的に)充電してきたのでグァーッとやって終わらせたい。