月曜日, 5月 05, 2014
MacでChromeが暴走
そこで、最近Macの電池が切れるのが早いし、処理をおこなっていないときにも、ファンが回っているなぁ。。。夏だからかな?とかそんなことを考えていました。
ActivityMonitorで確認してみると、ChromeがCPU usage ダントツの120%。
タブしか開いていないのにこれはありえないでしょう。
Chromeもエクステンションが増えてきたので、誰かが暴走しているのかなー?と
そうなった時は、右のメニューボタン?=>ツール=>タスクマネージャを開きましょう。
拡張機能が最初怪しいということで、すべてをOFFにしても解決しなかったので、途方に暮れていました。
私の場合今回は、オフラインgmailが原因でした。(あれって拡張機能だけど、どうもツール=>拡張機能には出てこないみたい)
なんで、ホームにてオフラインGmailを削除しますた。(どのみちあまり使っていないですし)
てなわけで、暑い暑いなかファンがえらい元気に回っている時が多いですけど、そこまで処理をおこなっていないときにそうなる場合は、Windowsならtaskmgr、MacならActivityMonitorみてみてねー。。。ってことで。
tizenのdata contorolsを読み解いてみる。
忘れっぽいので書いたあとにドキュメントをなくす人だからここに書く。
追記:
DataContorlって何するの?まとめ。
アプリ間でデータを共有するときにAppManager?AppContorlの一緒に載せてデータを送るとか、そのリスナーだけで解決できない小難しい問題に対しての解決策を提供するもの。
SQL型とキーバリュー型があるから好きなものを使うよろし、(一つのパッケージに複数のプロバイダーを入れても問題はないからそれでも良いと思う。 SQL型の場合今見ている限り、DBを切り替えるみたいなものはないですし)
Datacontrolを使うためには、
サービスアプリ(DataControlProviderとなるもの)
クライアント
でやりますので、1対多で使えるけど、実際これってデータの完全性とかトランザクションの概念はあるのかな。。。 その辺がまだわからない状態で時間切れになりました。
チラ裏でやれ。ってツッコミは正解でモチベーションのために記事書いた。公開したいものがあるから記事書いたわけではない( ー`дー´)キリッ
BGMはこんな感じの意味が読み取りづらい曲を流していると作業に集中できることを発見。
日本語訳を公開している人もいなかったので、読みながら書いてミスを発見するために文章を起こした。
でもね、訳も間違っている。話の大筋は自分が追える(書いたあとに思ったのは、これだったら本文読んだほうが1.5倍早く追える)このエントリーを更新していくきりょくがなかったりするんで
もし、コメントにノイズ載せるなハゲ的な苦情が殺到したらページを閉じます。
https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.native.appprogramming%2Fhtml%2Fguide%2Fapp%2Fdata_controls.htm
上記のページから開始。
データコントロール
データコントロールは標準的なアプリケーション間のデータのやり取りを行う機構です。すべてのアプリケーションは、データの共有を他のアプリケーションに対してリクエストすることができます。しかし、サービスは自分のデータを提供することしか出来ません。
2つのタイプのデータコントロールがあります。
SqlDataContorol
MapDataControl
ここで脱線します(具志個人的に使って覚えるほうが早い人はこっちのほうがいい気がしたので)--------------
チュートリアルを見たほうが早いという人は
SqlDataControl
https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.native.appprogramming%2Fhtml%2Ftutorials%2Fapp_tutorial%2Ftask_dictionarydatacontrolprovider_sql.htm
MapDataCOntrol
https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.native.appprogramming%2Fhtml%2Ftutorials%2Fapp_tutorial%2Ftask_dictionarydatacontrol_map.htm
とかをみればよい。
------------------
続き行きます。
SqlDataControl
このクラスは、他のサービスアプリケーションにより、特定のデータをSQL型のデータコントロールを使用することができるようにするものです。
また、あなたのサービスアプリケーションからSQLデータ管理プロバイダーを定義することができます。
MapDataControl
このクラスは、他のサービスアプリケーションからエクスポートされたデータに対してキーバリュー型のデータアクセスを可能にするクラスです。またサービスアプリケーションかからキーバリュー型データ管理プロバイダーを定義することができます。
(exportの意味が結構危ないですね。 また、データコントロールは、データ管理と書くべき?CRUDするだけじゃないの?)
データコントロールは、共有データにアクセスし、結果を戻すための操作を供給することができます。
データコントロールを使ってみる
sqldatacontrol または mapdatacontrolのインスタンスをappmanagerクラスから取得します。appmanagerクラスは、要求されたデータコントロールを提供し、あなたのアプリケーションにデータコントロールを返すサービスアプリケーションを見つけます。
データコントロールはプロバイダーIDを第一情報として使います。
これは、データコントロールプロバイダーで定義します。
例えば、static const Tizen::Base::String DATACONTROL_PROVIDER_EXAMPLE = L"http://tizen.org/datacontrol/provider/exmaple"
(あれ?この書式operationidに似てね?)
sqldatacontorl
appmanager::getsqldatacontorlN メソッドを使用してプロバイダーIDを指定する場合、一意に特定のSQLデータコントロールを取得出来ます。データコントロール取得後、(解決 後)sqldatacontorlのselect(),insert(),update(),deleteなどを呼び出せます。
sqldatacontorlインスタンスの実行結果はリスナーを返します。(この時に返すのは、OnSqlDataControlSelectResponseReceived(),
OnSqlDataContorlUpdateResponseReceived(),
OnSqlDataContorlDeleteResponseReceived(),
OnSqlDataContorlInsertResponseReceived(),
はTizen::App::ISqlDatacontorolResponseListenerのインターフェースです。
サービスアプリケーションが終了した時、そのsqldatacontrol操作を終了した応答リスナーが呼び出されます。(上の4つね。)
(やばい、訳があやしすぎるw 楽しくなってきた。)
MapDataControl
GetMapDataContorolN() を使用してプロバイダIDを指定する場合、ユニークな特定のマップタイプのデータコントロールを得ることができます。データコントロールを解決したあと、 GetValue, AddValue SetValue removeValueのようなMapDataContorlクラスのメソッドをよびだします。
MapDataContorlインスタンスの実行結果は以下のメソッドから取得出来ます。
OnMapDataControlAddValueResponseReceived(), OnMapDataControlSetValueResponseReceived(), OnMapDataControlRemoveValueResponseReceived()
はTizen::App::IMapDataControlResponseListenernaのインターフェースです。
上記の応答リスナーはサービスアプリケーションがマップデータコントロールの操作を行ったあと呼び出されます。
データコントロールのライフサイクル(ここは図を見たほうがいい)
順番を書いておくと
- データコントロールを取得(C++App)
- データコントロールのプロバイダーIDを解決、アクセス権限をチェックする。(AppManager)
- データコントロール応答リスナーをセット(C++APP)
- データコントロールメソッドを使用(C++APP)
- データコントロールを起動または、データコントロールのプロバイダーに要求(これはきっと、provider側(datacontorolを実装したアプリ側))
- 結果が非同期にデータコントロール応答リスナーに対して送られる。
- 終了
データコントロールを用いた開発
SqlDataControl
MapDataControl
https://developer.tizen.org/help/index.jsp?topic=%2Forg.tizen.native.appprogramming%2Fhtml%2Ftutorials%2Fapp_tutorial%2Ftask_dictionarydatacontrolprovider_sql.htm
両方共、インタフェースの用意からインスタンスの取得、データの読み取り追加まで流行っています。更新と削除については、コードは用意していないけど、きっと同じように〜ってなっていますね。
使い方はわかったけど、んー。 RDBMSないし、キーバリューのサーバー(サービスアプリケーション)に対して、クライアントからどうすれば利用できるか。を書いたものでしたねー。。。。 ちょっと、これ制御めんどくさそうだな。
さ て、読み解いた。 Tizenの中だけでデータをやり取りして(MessagePort)、そして、データを書込して(DataControl)で面白い 題材ないかなー。。。。 私の頭ではぐちゃぐちゃになってきっともうすでに存在しないデータに対して更新とかやりそうで。
眠たいので、風呂入って寝ますかね。
火曜日, 4月 29, 2014
PHP 5.5 & cakephp(on composer)
ついでにcomposerに寄り道した時のメモ
やったこと:php55とphp-fpmのインストール cakephp on composer
composerを利用してphpunitを目的のものをインストール(古すぎず、新しすぎず欲しいライブラリを自由に個々の環境にインストールしてbundlerみたいに)
まず、php5.5のインストール
mac:
まとめ:色々あって問題解決 twitterからその時のログをコピペbrew doctor->指定の問題を解決->brew uninstall opennssl->brew uninstall postgresql-> brew install openssl postgresql -> brew install php55 -オプション
原因:openssl postgresqlの順に参照しているライブラリのシンボルが無いぜーってエラーでした。
linux:
まとめremi-php55 remiを追加yumリポジトリとして利用する事で解決。
linuxに関してはソースインストールを行うも、コンパイル後、postgresqlのシンボル周りでオコされたので撤退。
php55のインストールについては、以下の記事参照。
CentOSにPHP5.5をインストール - Qiita
事の発端はcakephp cakeコマンドでbakeコマンドを動かそうとしたら、おこられたことから。
composer
http://book.cakephp.org/2.0/ja/installation/advanced-installation.htmlcomposerの取得
composer.json作成
結構使い方間違っているんだろうな。って項目も多いですが、以下のように。bundle installのように
ディレクトリ確認
▸ Vendor/
composer.json
composer.lock
composer.phar*
プロジェクト作成
applicationnameに指定した名前がカレントディレクトリに作成されます。
bootloaderの設定
composerを使ってcakephpを導入しなかった人へ
通常使っているbootloaderと少し異なるので、diffでもとった後に導入を検討してください。(きっと、この辺はcakephpを素で落としただけの人も使える)以上です。使いたいライブラリが増えたらpeclとかじゃ無い限り対応できますし、何よりライブラリの制限も設ける事ができるので、よりよいのではないかなと思います。
結果
成果:php5.5系のインストール composerの導入失ったもの:kyototycoon用のdatasource。。。。 残っているとうれしいかな。
火曜日, 4月 08, 2014
nginx + passenger macで
Nginx + Passenger 3 + RVM for Rack app on OS X using homebrew only
そもそもpassengerをnginxで動かすときの設定って覚えていなかったので、調べてみると簡単に説明した所があった。
Design Recipe 別館 Blog - nginx + Passenger による Rails 環境の構築
CentOS 6.4 server setup with Ruby On Rails, Nginx and PostgreSQL - Karol Galanciak - Ruby on Rails developer from Łódź, Poland
nginx側にpassengerについて教えてあげるところが記載されていなくて、403になっていったぽい。
火曜日, 11月 26, 2013
eclipseじゃないaptanaで。
vimでプロジェクトごとに色々やっていた。
そこで、
http://tluna-tech-scrap.tumblr.com/post/67252208274/gosling-emacs-builder-by-zdnet
なるほど。そうか。そうか。(emacsはあれはエディタかどうかは分かりかねますが。)
railsやるとき、cakephpやるとき、IDE使えるとうれしいのかな?
分かんないけど手を出してみよう。 なんか、railsやるときにaptana入れるといいよ。的な記事を見て、aptanaを入れてみる。 えぇ。eclipseでも、pluginでできるけど、aptanaを入れてみる。
検索が、、、(Ctrl+fの図)
カムチャッカ
探しているとglancesよさげ。
でも、Eclipse marketみろよ。とかいわれる。
http://stackoverflow.com/questions/11213542/using-the-eclipse-marketplace-on-aptana-studio-3
なので、http://marketplace.eclipse.org/content/glance#.UpN1xWSGIUw
これを追加して、みると、、、、入る。
settingsからkeyで元々あるSuperKey+Jと入れ替え。 素敵はいった。 Ctrl+fと置き換えるのが私の中でよいのかはおいといて
いいもの見つけました。
月曜日, 11月 18, 2013
VMWare PlayerとVirtualBoxのディスク書き込み時の性能比較
- 直接マウントでの書き込み
- NTFS上に仮想ディスクを作成、マウントした仮想ディスクに書き込み
- NTFS上に共有ディレクトリ(vmが独自の機構)を作成の上、書き込み
直接マウントでの書き込み
NTFS上に共有ディレクトリ(vmが独自の機構)を作成の上、書き込み
NTFS上に仮想ディスクを作成、マウントした仮想ディスクに書き込み
- 本当にディスクを離してしまわないか。
- ディスクアクセスでの負荷をかけたときに止まってしまわないか。
火曜日, 8月 27, 2013
オブジェクト脳のつくり方を読んでいます
amazonアソシエイトこういう書籍紹介の時に便利ですなー。 画面が映えるそれだけでブログを書いている気持ちになるね。
目次がなかったっぽいので、翔泳社のHPから目次を拾ってきてよ。
オブジェクト脳のつくり方 http://www.seshop.com/product/detail/4115/
さて、購入した版が古いためか、それとも現行でそういう作り方が主流なのかわかりませんが結構古くから使われている技術について記載があって戸惑いつつも読み進めています。
余談ですが、
- この記事を書いている時にこのPDFに目次つけていなかったな。。。目次つけるかと思い立つ。
- しかし、PDFOutlinerがテキスト貼り付けからの編集をやっていないので断念。さくさくとPerfectViewerで流し読み。
- 読み進めている時にipadが欲しくなった。 これはきっと画面サイズによるものだろうな。。。次はNexusが出たら10インチモデルが出たら店頭で触ってから購入しようと考える。(きっと前のNexusより値段が高いから買えても年末辺りかな。)
聞いたことがない用語とか出てきたらメモがてら読解して読み進めていこうかと。
この記事を書いている時は、すでに1部は読んでいてまだ実践していない状態。読んでいるところは、2部に入ってUMLを交えた設計の話が始まりましたの段階。
わからなかった単語:
5章:- EntityBean
- CMP
- DTO・・・DAOの親戚?
GGRKSの結果:
Entity Beanとは - 意味/解説/説明/定義 : IT用語辞典 http://e-words.jp/w/Entity20Bean.html
JavaBeans - Wikipedia http://ja.wikipedia.org/wiki/JavaBeans
J2EE体験編 CMPを体験する http://www.geocities.jp/tune_up_linux/cmp1.html
Data Transfer Object - Wikipedia http://ja.wikipedia.org/wiki/Data_Transfer_Object
さっき出てきた単語をぐぐってみると。上記の結果、Beansでの違いを書いたのかしら。
6章:
- DOA
オブジェクト脳のつくり方 http://www.seshop.com/product/detail/4115/
感想(ニコニコ動画のコメント的な):
6章が読み物として面白そうなので、読み進めたい。金曜日, 6月 21, 2013
家に帰った時にDHCP環境でどのマシンが上がっているかみたくなった。
普通に考えると、nmapとかシェルスクリプトで解決ですよね。
ホストの発見
なんか、-PS netowrk/24(やっちゃだめ。。。。きっとListenしているポートまでかくにんするから)とかやるとネットワークがものすごい事になったので、ちゃんとオプションは知っておかないとまずいなとか。そんなことを思いつつ。んで、シェルスクリプトで、pingをforするだけで事は足りると思ったのですが、勢い余ってrubyで書き始めたので最後までやることに。利用しているライブラリは、parallelbenchmarknet/pingforkするものは書いたことなかったので試しに書いてみた感じ。gistはコードをブログに貼り付けられるということで、試しに使ってみる。(githubには上げて動かないものを公開する日々)normalのところでエラー出たらごめんなさい。 実は動作させていると、だめぽかもしれない。勢い余ってやった。 反省している。
閑話休題
なんかディスプレイを購入したいです。
40インチのディスプレイの話を聞いていて購入意欲が高まってきた所で、「本当にそれでいいの?デュアルじゃなくていいの?」
忘れていました。
会社も自宅もデュアルディスプレイになっているのでディスプレイの大きさがすべてを解決してくれるわけではないと。
よーく考えてみるとデュアルじゃないと困る。
というわけで、デュアルディスプレイでの構成で、チルトできるディスプレイかつ、ディスプレイアームを2つ。
もしかしたら、ディスプレイは2つ追加。
ディスプレイ縦にしてみるとすごいコードが読みやすいということで、試したいし。wkwk
追伸:コードおかしかったら、、、なんかして欲しいです。
githubでなにかされるとどうなるかまだ見たことがないので、それどんなのかみてみたいですし。
土曜日, 6月 01, 2013
やべーHDD飛ばしてもうた。
USBマウントでext4なHDDを二台扱っていたのですが、どうにも途中でVMがハングアップしている(VirtualBox自体がハングアップ)ので、
「Knoppixでやればいいね。」
とコピーの作業を実施。
頭の中で
/big1->/dev/sdc1
/big2->/dev/sdb1
となっていたのが、
/big1->/dev/sdb1
/big2->/dev/sdc1
金曜日, 2月 15, 2013
egitで最初の更新は注意?
まだ検証していない状態ですが、下記のことがあったので覚書
eclipseでコード書いてて、コミットの瞬間に書いていコードが消える。
再現手順は以下の通り、
1.新規リポジトリ作成
2.リポジトリをクローン
3.そのディレクトリでどんどん作っていく。
4.コミットする
5.push (あれ?できないぞ。。。)
6.branchをマスターとして選択
7.push (push自体は無事成功)
6の段階でブランチが確定していない、コンソールでは、pushする元と先がわかんないよ?ということは聞かれてもいきなりブランチがブランクの状態で始まることはないはず。
でも、Egitでやった時に最初のブランチはブランクの状態でして、、、
pushした瞬間に消えているのかはわかりませんが最初のスタート時に気をつけないとかなりやばいですねえ。
って、サクサクとsuica関連のプログラムが書き上がってpushしたらファイルが消えたので、悔しくて寝れなかったので考えていて原因が見えてきたという話で。
大抵はコマンドでcloneかけてその後eclipseだったから問題がなかなか発覚しなかったけど、前にも同様のことはあってそのときは間違えて消したと思っていたのだけど、、、、あの時も一緒だったのね。。。。
残念、無念 明日以降もう一度かきなおしですな。
悔しさが少しだけ和らいだのでそのまま寝ちゃう。
土曜日, 11月 24, 2012
ユーザスクリプトでちょっとした手間をなくす
どうも、最近jQueryについている$はjQuery自身である事を知った具志です。
(今までこの$はなんだろうか。。。と思っていました。)
さて、下記のページを見て欲しい。
日経BPからのRSSで飛んでくるとこのページに来るのですが、ここまで来ているのに、全文を読むボタンを押さないとそのページにいけないという謎仕様なんです。
一つのドメインに割り当ててアクセス解析の手間を軽減しているんだろうけど、これでは使いにくくて仕方がないですね。
取得しているRSSの記事があまり触れて来なかったもの、なぜか結論が冒頭に出ていない記事ばかりなので、気になったら、全文を読むをクリックする手間を省きたいです。
思いついたのは、サーバーサイドでやるか、クライアントサイドでやるか。
サーバサイドでやると、また別の方向に飛んでしまいそうですので、今回はクライアントサイドで解決する方法を考えたいです。
ただ、解決するとはいっても、軽量な方法で解決したいな。と思ったのがこのエントリを上げるきっかけでした。
クライアントサイドで解決するなら、user scriptかな。
jQueryも呼び出せるみたいなので、ブラウザの操作に不自由を感じることは無さそうです。
http://stackoverflow.com/questions/2246901/how-can-i-use-jquery-in-greasemonkey-scripts-in-google-chrome
なんで、作ってみましょう。
一旦できたー。
もしかしたら、jQueryって元々使えたんじゃね?とか、consoleからいじってて思ったけど、いいか。
できたファイルは、chromeの拡張機能に放り込めば使える。
https://raw.github.com/tluna/tluna/master/lang/js/nikkeibp-opener.js
使ってみると、前のタブが残っているのが気に入らなかったので、方法はないかな?と探してみると、http://developer.chrome.com/extensions/tabs.htmlというものをみつけたので、これで対処できるかなー。と思っていたのですが、、、
(この時点では気づいていませんでしたが、既に出来上がっているuser scriptで目的は達成できていた。)
http://dev.screw-axis.com/doc/chrome_extensions/guide/content_script/
私の利用したかったtabをどうのこうのするAPIはChrome Extensionとして作らないと出来ないみたいですね。
user scriptから改、chrome Extensionにするしかないですね。なんで、上にあるコードは使わないで新しく作りますか。
,,,,,
作り終わった後に気づいたのですが、User Scriptsでも十分対応できていました。(前に書いたコードで)
あぁー。
まぁ、Chrome Exntesionの作り方がわかりましたよーっていうことでよしとしますか。
https://chrome.google.com/webstore/detail/nikkeibp-auto-opener/bmioapgeabpnhcljmoojefabdnmibimn/related?hl=ja
誰かが使うかもしれん。。。テストでプログラムをアップロードしてみたいし、ということで、Chrome Storeにアップしますかね。
Googleに開発者登録USD5$を収めた。
作業時間としてmanifest.jsonを描くのが一番時間がかかりましたね。 あれがなかったらもっと早く終わったのに。。。。
作りながらオプーナのプレイ動画見てたけど、あれ結構普通のゲームじゃね?
日曜日, 7月 08, 2012
区切って区切って
集中力を発揮して、生産性を高めるために知っておくべきこと! | Act as Professional - hiroki.jp by HIROCASTER
http://hiroki.jp/2012/07/08/4697/
手帳管理方式にまた戻りつつあるので、TODO更新に手がつけられない状態にならないように気をつけましょうということで、エントリー(相変わらず内容が無い内容)
火曜日, 4月 24, 2012
友人の旅人田口さん
シェアメイトの友人が来てました。
彼は旅人で、旅をしながらその土地で働きながら旅を続けるような生活を送っているとのことで。
無人島からの帰りだと聞いてすごい!!とは思ったけど、その事実自体はすんなり受け入れられるようなワイルドな方でした。
日本、世界を旅している人でゆくゆくは旅人として収益をあげながら旅を続けるというライフスタイルを送りたいというのが彼の夢ということです。
そんな話をしているなか、彼は旅先に出ると、「そういう風に旅ができて羨ましい」といわれることがあるよくあるといいます。
そのあと、彼は、「そんなにいいと思うならやればいい。一度きりの人生しかないのだから。」そんなことを言っていました。
確かに。 その人がいうからすっと落ちる言葉だなぁってこれだと思いながら話を聞いていました。
その人に対して羨ましいと感じたのは安全圏から出て旅人として生きるということに真摯に取り組んでいる姿勢でした。
私はまだ安全圏の中に生きているな。。。そんな事を考えていました。
自身のカラを打ち破れない事がダメで、さっさと出ていかないといけないです。
でも、その人たちとの違いなんてそこまでのプロセスを考えて実行しなかったかの違いなんでしょう。私にはそのさはかなり大きく感じます。とても大きなものに感じます。
頑張らねば、奮い立たせなければ。そんなことを考えさせられる夜でした。
ブログを始めてもらったので、これからが楽しみです。 記事が多少出てきたらシェアしたいですね。
更新頻度はそこまで高くないはずだけど期待して待っています。
土曜日, 1月 21, 2012
rainbowのコードを記載し忘れた。
簡単なコードですので、手軽にHDDを埋め尽くしたい方は、ハッシュにMD5以外の文字列も追加してあげてください。
https://github.com/tluna/tluna-----/blob/master/rainbow/gen.rb
木曜日, 1月 19, 2012
らいんぼーてーぼー
友人宿題raibowtable順調に育っております。
du -ha
4.0K ./pid
1.2G ./casket.tct
火曜日, 1月 17, 2012
めくりめくる はまり
結構知らないとはまることって多いよね。 何事も。
そういうときには論理だてて分析できると良いんだよ。(俺はできないみたいだけど)
んで、はまったのは、tokyotyrant。
友人がrainbow tableなるものを作りたいといっていてその残りの宿題をやっていたときだ。
簡単な話もとの文字コードとMD5値の対照表を作成したいと思ったのさ。
ここまではいいんだけど。
http://d.hatena.ne.jp/kaorumori/20090706/1246897136
tokyotyrant触っている人は分かるよね。hashをぶち込んでいるところを見ると、当然table dbなんだ。
でも、私にはこのちきしはまるで無かった。
http://gihyo.jp/dev/serial/01/various-nosql/0003
「へぇー、TokyotyrantってこんなRDBMSみたいなこともできるのか。すげぇや。」なんていって驚いてた。
ここからが地獄の始まりだ。
tokyotyrantにはtcmgrというコマンドがある。 putする際に、sepを指定すれば、値を区切って渡すことができる。(hash dbでも普通にできていたから)
それもかました後に1レコードに対して複数のキーを持つことができるんだね。 賢いね。という話ではまりました。
うおー。これは、いかんいかん。
(この記事は2日前の話の記事です)
日曜日, 1月 15, 2012
木曜日, 1月 12, 2012
今日はNFS!
家のサーバーがなんだかへんなタイミングで増えてi386のcentが2台。
ネットワーク上でファイルをやり取りする際にはNSFって早いって聞いたことがあるな。
むっちゃくちゃやり取りするファイルの量は無いわけではないけど、試験を行う気力は無いのでさっさと組んでその後に試験やりたかったらするということで。
[Appendix B] Samba のパフォーマンスチューニング
同様な試験で Samba と NFS とを比較してみたいと考える読者もいるであろう。しかし実際のところ、両者の速度の比較にはあまり意味がない。NFS のバージョンとチューニングの度合によって, Samba は NFS より遅くも速くもなり得る。通常は Samba の方が高速なようであるが、注意すべき点として NFS は Samba とは異るアルゴリズムを用いるため、NFS の最適化の為のチューニングオプションは往々にして Samba のパフォーマンスを低下させてしまう。非常によくチューニングされた NFS サーバ上で Samba を実行した場合、Samba はおそらくあまり速く動作しないであろう。えっ。。。sambaって早いんだ。 知らなかったよ。
でもさ、NSF使ってみたいじゃん?ってことでやってみよう。
(過去にBSDで構築だけしてローカルからの疎通チェックしかしてないし、Linuxになったし)
NSFサーバーの整備
はじめての自宅サーバ構築 - Fedora/CentOS - ファイルサーバの構築(nfs)
見つかったからこれでちょっとやってみよう。
んで、作ってみた。
感想としてはまだスピードは図っていないけど初nfsを体験できてよかったな。
あと、iptablesは使えると幸せだなぁって思う(普通にすらすらと書ければいいのにね。 できない俺。
まぁ、外部で制限がかかっているから他のところに気を回さないといけんでしょ!ってことで。
いったんここで記事は終了
cat /etc/exports
/main/tluna/www hogehogehoge(rw,all_squash,sync)
/main/tluna/sound hogehogehoge(rw,all_squash,sync)
/main/tluna/log hoggehhogeho(rw,all_squash,sync)
追伸putttyjpの引数でセッションを呼び出すっていうのおいしいです。lnkにputtyjp -load "session"でいいです。 素敵です。
日曜日, 1月 08, 2012
rvmインストール時にはまったの
rvm pkg install ree_dependencies
その後に--with-readline-dirやら--with-zlib-dirとかやろうとしていたのね。
そのときにreadlineとかはどうも正常にコンパイルは通っているんだけど、iconvとかzlibとかがautoconfとかを呼び出すときにpermissionの関係で呼び出せていない状態になっていた。
(configure.inとかを見るとどうも/usrにインストールしようとしている感じ。これだと、もともと入っているライブラリに影響を与えるので間違ってsurorvmとかしたら後処理の方法を知らないからめんどいとおもった)
そこで思ったのは、readlineだけに関しては自動的に取得できていないみたいなので、
rvm install 1.9.2 -C --with-readline-dir=$rvm_path/usr
として、その他のライブラリに関しては指定しないでやってみた。
これがうまくいったのさ。
その後、gem install sqlite3とかしても問題なく動作。
環境:
centos6 on vmware
ruby1.8(system)
rvm 1.10.1
ruby 1.9.2p290
gem 1.8.10
きっとサーバーでみんなでrvm環境を使っている人は個々人でrvmを使うということはしないのだろうなとか思いつつこの記事を投稿。
走り書きなのは、いつものことで。
以下ログ
rvm1.9.2-install
rvmgeminstall
追伸:ログをクリックしたらブログの中で表示するなんてことをしたいです。いったんjqueryを配置したけど、、、どうしましょう。


