サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
oggata.hatenadiary.org
Juno Eclipse Plugin 1.eclipseをインストール http://www.eclipse.org/downloads/ 2.Eclipse Classic 4.2.2, 182 MB MacOSX64bit を選択 (Juno Eclipse PluginをいれたいのでJunoバージョンであれば何でも良い) http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.2.2-201302041200/eclipse-SDK-4.2.2-macosx-cocoa-x86_64.tar.gz 3.Help>InstallNewSoftware に下記URLを入力 http://basar.idi.ntnu.no/svn/tdt4100/anonymous/trunk/up
perlで並列処理 ダウンローダーやアップローダー等を実装する際、 並列処理が必要になることがある。 Perlはスレッド対応にはなっているものの、スレッド間共有などの必要がなければフォークを使用した方が無難。 何も使わずにフォークを使用するには、子プロセスの終了通知「シグナル」を受け取る制御が必要だが、 Parallel::ForkManagerを使用することで、この作業を回避することができる。 rei1)丸腰で書く場合=子プロセスの終了したシグナルを受け取る。 use strict; use POSIX(); sub reap { while(($child = waitpid(-1,&POSIX::WNOHANG)) > 0){ #wait pidをroopするのは print "Parent: reaped $child\n"; } $SIG{CHLD} = \&reap; } $S
MySQL5.5系がデフォルトでレプリケーションが有効に。 あー、悲しい 以前、MySQL5.1から5.5にバージョンアップして、放置していたら 知らぬ間にディスク容量がいっぱいに。。 何が起きた!?と思っていて調べてみると MySQL5.5系がデフォルトでレプリケーションが有効になっているらしい。 http://www.mk-mode.com/wordpress/2012/05/23002009/ 知らなかった。。 ということで、自動削除の設定を行い事なきを得ましたが、 最初はMySQLの障害のような動きで、わけわからない状態に陥ったので 行動ログを記録した↓今度何か起きたら参考にしよう。。 追跡編 [mysql-user]# mysql --version mysql Ver 14.14 Distrib 5.5.19, for Linux (x86_64) using EditLine
※事前にTestDB::Memberに対応する membersテーブルが作成されていること。 事前の設定などは前回の記事のModel部分を参照。 http://d.hatena.ne.jp/oggata/20110420/1303291384 キーによる検索 sub find :Local{ my $mdata = $c->model('TestDB::Member')->find(1); my $name = $mdata->name; } カラムを条件とした検索 sub findByKey :Local{ $c->stash->{TestTable} = $c->model('TestDB::Member')->find{'AAAA',{key=>'title'}} } 結果をリストに表示する =pod <a>[%- TestTable.name|html -%]</a> <a>[%-
IPhoneアプリ用に外部APIとの連携を試してみたので、メモ。 twitterクライアントや簡易ゲームの得点一覧(保存、読み込み)などに利用できる。 httpリクエスト stringWithContentsOfURL:encoding:error:メソッド ○簡単にネットワーク上のテキスト情報を取得可能。 ×データの取得が終わるまで処理が止まってしまう (例)test.comのhtmlソースを取得する -(void)viewDidLoad{ NSURL *url = [NSULR URLWithString:@"http://test.com"]; NSString *html = [NSString stringWithContentsOfURL:url encoding:エンコード error:nill]; } NSURLRequestメソッド ○非同期にネットワークの情報を取得する
前回ブログに書いたbitBucketを本格的に使おうと思い bitBucket+Capistranoでデプロイできるように設定しました。 もともとsvnでは使用していたもののgitになると勝手が違う。。 設定を行うついでに、capistrano-extをインストールして、 multistageというコマンド実行時にデプロイ先を選択できるように作りました。 これでいちいちdeploy.rbを書き換えること無くProduction,Staging,Develop それぞれのサーバーに配置できるように! こういう感じの構成↓ ということで以下手順。 GITのインストール 前書いた記事↓ gitをさくらサーバーへインストールする方法 http://d.hatena.ne.jp/oggata/20100201/1266908009 rubyのインストール cd /usr/local/src wget
■cassandraとは NoSQLミドルウェアの代表格。 非リレーショナルデータベース。 分散データベース。 Hadoopに比べるとCassandraはリアルタイム処理を得意とし、 一貫性のかわりに可用性を重視している。 Facebookが開発したことで有名。 ■通常のSQLとの違い ・クエリ言語がない クエリ言語ではなく、Thriftを通してアクセスするAPIがあるのみ ※0.8以降でCQLというクエリ言語が登場。 ・参照整合性がない cassandraの場合は参照整合性の概念がなく、joinの考え方がない。 ・OrderByやGroupByがない。 SliceRangeクエリがあり、反転できる点でこれがorderbyと似ている。 ・Whereがないのにどうやって検索する!? select * from Hotel where name = 'royalpark'; を実現する為に H
canvasを使用していると思わぬjavascriptのheapに遭遇することがあるが、 原因をつかむのが難しい。。 調べてみるとGoogleChromeの機能でメモリ解析機能があるとのことで試してみる。 (参考)Chromeの知られざる開発者向け機能 - JavaScriptメモリ消費量の解析 http://news.mynavi.jp/articles/2011/05/31/chrome/index.html GoogleChrome->ディベロッパーツール->Profiles->TakeHeapSnapShot->Start スタートをクリックするとその時点でのヒープのスナップショットが取得され、 使用状況を関数単位で表示してくれる。 開始時点と数分後を比較すると一目瞭然で、時間に比例してArrayやclosure、Object のRetailnedSizeが上昇していくことが分る
さくらVPSで運用しているWEBサーバーの1つが割り当てられた 物理メモリ512MBとSWAP2.5Gを10分程度で食いつぶし落ちてしまう為、調査。 調査の流れ↓ vmstat で swapの値が大幅に大きくなっていることを確認 ↓ sar -u でCPU使用率を確認するもidle96%程度でほぼCPU負荷なし ↓ sar -r でメモリ利用率を確認するとmemusedが98%をさしている状態。 ↓ ps alx でプロセス毎のメモリ使用量を確認すると/usr/sbin/httpdが30個程度それぞれ55MB程度占有している様子 ↓ apacheがメモリを食いつぶしスワップを発生させている 改善するところ ApacheのMPMの見直し。 1度生成されたプロセスはapache再起動するまで残ったまま。 そのため、できるだけ最大のプロセスを減らす。 <IfModule prefork.c> S
1.メインとなる処理は下記の4つ。 html5で動画を記述する場合、画像を描画>画像を保存>画像を削除 の繰り返し clearRectでcanvas全体をクリアすることもあるが 例)ctx.clearRect(0,0,cW,cH); できる限り変更のあった部分にフォーカスして削除した方が処理は速い。 削除 clearRect() 状態保存 save() 図形描画 fill(),stroke() 状態回復 restore() 繰り返し setInterval() 2.html側に作ったcanvasを取得して、準備をする段階はどんな処理も同じ。 var canvas=document.getElementById('canvas'); if (!canvas||!canvas.getContext) return false; var ctx = canvas.getContext('2d')
運用中のサービス(apache+cakephp)にキャッシュサーバーを導入したいなぁと思い調査。 memcached+cakephpなど組み合わせ技については http://c-brains.jp/blog/wsg/10/06/09-101531.php などで試されているが、cakephpのデフォルトの設定を使用すると キャッシュをリセットした際にセッションも削除されてしまう。。 http://c-brains.jp/blog/wsg/11/04/21-140105.php また運用中のcore.phpの設定変更はできればやりたくないので、 別サーバーで nginxをwebサーバーにして、memcachedでキャッシュできるような 構成を色々なサイトを参考にして作ってみることに。 nginx等の設定ははじめてだったので、全部最初から以下メモ。 【構成】 cacheサーバー ① アプリケー
mysqlクエリキャッシュとslow_query_logの設定 サイトがどうにも重いので、クエリのキャッシュ設定と、 クエリ自体をみなおすことに。 slow_query_logはmysql自体の機能で、設定した秒数よりも 時間のかかったクエリを記録しておく機能。 1.mysqlクエリキャッシュ。 mysqlに発行するクエリに対してキャッシュを設定することができる。 /etc/my.cnf [mysqld] query_cache_limit = 1M query_cache_min_res_unit = 4k query_cache_size = 32M query_cache_type = 1追記。mysql再起動。 2.mysqlのログ http://labs.unoh.net/2010/08/how-to-collect-queries-for-tuning-mysql.html ウ
mojoliciousを使ってみる。 ■使い方 http://www.slideshare.net/charsbar/mojoliciouslite ■cpanmとは cpanm は、Perlモジュールをインストール(モジュールの取得、解凍、ビルド、インストール)するコマンド。 ■cpanとcpanmの違い?? http://www.omakase.org/perl/cpanm.html に書かれているが 2010年2月に書かれたApp-cpanminusというモジュールのことがcpanmらしい。 cpan::shellの欠点としてやはり依存モジュールの多さが上げられているが cpanmの場合は一枚岩のプログラムなので可搬性に優れるそうだ。 ■cpanmのインストール方法 (参考) http://d.hatena.ne.jp/perlcodesample/20101027/12785964
ServersMan@VPSのCentOS5をデータベースサーバーとして利用してみた。 さくらのレンタルサーバーのみでは色々と不都合が出てきたので、 同じ月額500円のVPSを試してみた。http://serversman.com/ 試した内容 0.さくらVSサーバーズマンスペック比較 ↓ 1.初期設定(ユーザー追加等) ↓ 2.MYSQLの初期設定 ↓ 3.MYSQLポートの開放 ↓ 4.MYSQLのGUIから接続 ↓ 5.Portforwardigで、SSHを通じたMYSQLへの接続 【0.さくらVSサーバーズマンスペック比較】 さくら root権限× InnoDB利用不可× ServersMan メモリが256で、スワップ等禁止×という感じで、コストパフォーマンスは一長一短ぽい。 【1.初期設定(ユーザー追加等)】 ServersMan@VPSのCentOS5で最初にする設定を参考に
さくらサーバーへ、 railsのインストールではまったので、まとめてみる。 ほとんどここに書かれていることと同じ。 http://d.hatena.ne.jp/replication/20090314/1237023281 事前に。ruby hello で、helloというワークスペースを作成。 ln -s /home/rubytest/Rails_app/hello/public /home/rubytest/www/hello で、web上の見やすい場所に、シンボリックリンク。 ダミーで出力されたWelcome aboardページの About your application's environmentを、クリックすると表示される エラーメッセージに対応する。(うまくいっていればバージョン情報が表示されるはず) ★エラーその1 Not Found The requested URL
このページを最初にブックマークしてみませんか?
『oggata.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く