タグ

ブックマーク / wyukawa.hatenablog.com (13)

  • LL言語でのhot deployとJavaでのhot deploy - wyukawa's diary

    JVM Operation Casual Talksで出てた話としてJavaでhot deployってどうしてんの?ってのがありました。 hot deployっていうのはアプリケーションコードを変更してもAPサーバーを再起動せずに反映する技術です。 この辺別に僕は全然知らないし答えを持っているわけではないですが、まあちょっと興味があったのでLL言語でのhot deployとJavaでhot deployを簡単に調べたのでメモっときます。 コードを変更してAPサーバーを再起動する場合、APサーバーが止まっているときにアクセスが行くと困るので、ロードバランサから外してAPサーバーを再起動してまた戻すみたいなことをやるのがオーソドックスな方法のようですが、hot deployだとそういったことをやる必要が無くなります。 Server::Starterから学ぶhot deployの仕組み - $s

    LL言語でのhot deployとJavaでのhot deploy - wyukawa's diary
  • JVM Operation Casual Talksに参加して思ったことをつらつらと書く - wyukawa's diary

    JVM Operation Casual Talks : ATND 内容は参加者のブログエントリとtogetterが下記にありますのでそちらを見るとよいと思います。 JVM Operation Casual Talksに参加しました #jvmcasual - @johtaniの日記 2nd 「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々 JVM Operation Casual Talks に参加してきました。 - susumuis Info JVM Operation Casual Talks #jvmcasual - Togetter で、このエントリでは発表を聞いて思ったことをつらつらと書きます。 ちなみに僕はJava歴10年以上なのですが、JVM運用経験はほとんどありません。最近はちょっと

    JVM Operation Casual Talksに参加して思ったことをつらつらと書く - wyukawa's diary
  • rebuild.fmのRubyクライアントを書きました - wyukawa's diary

    http://rebuild.fm/ Go言語版とemacs版があったのでそれを参考にしました。 https://github.com/mattn/rebuildfm https://github.com/syohex/emacs-rebuildfm リポジトリは https://github.com/wyukawa/ruby-rebuildfm です。 AppleScriptとiTunesを使って再生する関係上Macでしか動きません。 インストールはgemからします。 $ gem install rebuildfm下記のようにしてrebuild.fmの一覧を見ることが出来ます。 $ rebuildfm list 1: Podcasting, LTSV, RubyMotion (伊藤直也) 2: Rails, Redis, VPS (Kenn Ejima) 3: MessagePack (

    rebuild.fmのRubyクライアントを書きました - wyukawa's diary
  • 疎結合っていいよね - wyukawa's diary

    今までの経験でいろんなレイヤーで依存性べったりで密結合なシステムを見てきてそれをちょっとだけ改善してきて思うところを書いてみる。 小さなシステムであれば多少は密結合でも何とかなるかもしれない、というか扱うファイル数、Gitプロジェクト数が1つでむしろやりやすいかもしれないけどシステムが大きくなるにだんだん拡張しにくくなる。かといって最初からあまりにも小さなシステムに分割するとそれはそれでやりづらい。完璧な答えは無いけれど僕が見てきたシステムの話をしよう。 その前にまず依存性といってもいろんなレイヤーがあると思うので、ここでは以下の3つの話をしよう。 アプリケーション内のコンポーネント間の依存性 システム間の依存性 バッチ内の各ジョブ間の依存性 1番目のアプリケーション内のコンポーネント間の依存性の例をあげるとMVCである。 SpringでWebアプリケーションを組んだ場合にModelがあっ

    疎結合っていいよね - wyukawa's diary
  • RDBMSのコネクションプーリングとかその辺の話 - wyukawa's diary

    データベース技術の羅針盤 from Yoshinori Matsunobu これは素晴らしい資料で後半のキャリアの話とか面白いんだけど、今回書くのはp6,p8に書かれていた下記の話です。 PosgreSQLは接続がプロセスベースなのでLL言語との相性がよくない Pgpool(これはプロキシサーバー的に使うらしい)などのコネクションプールと併用することが多い MySQLは接続がスレッドベースなのでコネクションプーリングが使いづらいLL言語環境では魅力 なんでLL言語だとコネクションプーリングが使いづらいのかわからずつぶやいたらリプライもらってついでにちょっと前に話題になったRDBMSでコネクションプールが必要な理由、わからない。 - Togetterや7年前のブログエントリであるコネクションプーリングの話 - naoyaのはてなダイアリーを読み返してみて思ったことを書いてみる。全然まとまって

    RDBMSのコネクションプーリングとかその辺の話 - wyukawa's diary
  • chefとかvagrantとかfabricとか - wyukawa's diary

    chefを使いそうなのでその辺素振りしてみる。 chefの前にまずvagrantとvirtualboxをそれぞれダウンロードしてインストール Boxファイルの追加 $ vagrant box add centos63 https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box $ vagrant init centos63 $ vagrant box list centos63 (virtualbox) saharaプラグインの追加 $ vagrant plugin install sahara $ vagrant plugin list sahara (0.0.16) sandbox on $ vagrant sandbox on 0%...10%...20%...30%...40%...50%...60%

    chefとかvagrantとかfabricとか - wyukawa's diary
  • Garbage Collectionについてちょっと調べてみた - wyukawa's diary

    HBaseのJuliet PauseをきっかけにしてGarbage Collection(以下GC)についてちょっと調べてみました。そういえば長年Javaでお仕事している割にはGCのこと全然知らなかった(汗 GCというのは不要になったメモリを回収することをいいますがそのアルゴリズムにはいくつかあって代表的なものとして以下の2つがあります。 Mark Sweep GC Coping GC Mark Sweep GCはオブジェクトをアプリケーションからたどっていってMarkしていきます。Markが無いのは使われていないオブジェクトなのでSweepします。メリットは実装が簡単なことでデメリットはメモリの断片化、フラグメンテーションが起きることです。 Coping GCはヒープ領域を2つに分けてオブジェクトをコピーしたり移動したりすることです。メリットはスループットが高いことやフラグメンテーション

    Garbage Collectionについてちょっと調べてみた - wyukawa's diary
  • fluentdを試してみた - wyukawa's diary

    クレジットカード現金化詐欺【業界人が教える口コミ情報】 僕は行ってないんですがTwitter、Ustream、スライド、ブログなどを見る限りだいぶ盛り上がったようですねー。僕自身が仕事で使う予定は今のところ無いんですがログ解析関連の仕事をしていることもあるので素振りしてみようと思います。 環境はVirtualBox上のCenOS 5.7(x86_64)を使いました。 fluentdはRuby 1.9上で動くんですがCentOS 5.7に入っているのはRuby 1.8.5です。Ruby 1.9のインストールから始めるとはまりそうなのでyumでインストールできるtd-agentを使います。td-agentはfluentdの安定版パッケージという位置付けのようです。 試したのは下記3つです。 fluent-catでログを送る Apacheのアクセスログを収集 ApacheのアクセスログをMong

    fluentdを試してみた - wyukawa's diary
  • Hadoopのトラブルシューティングに関する資料があったのでめもっとく - wyukawa's diary

    Hadoop World 2011でClouderaの人が発表した資料を見つけたのではっておく。 Hadoop Troubleshooting 101 - Kate Ting - Cloudera View more presentations from Cloudera, Inc. Clouderaのサポートチームの極意が詰め込まれているようだ。 内容的にはHadoop徹底入門の10章の「性能向上のためのチューニング」と若干かぶっているが参考になります。 io.sort.mb < mapred.child.java.opts とすることとか(ていうかmapred.child.java.optsを増やすことはあるかもしれないがio.sort.mbっていじるもんなのかな)、プロセス数やファイルディスクリプタいじれとか、map出力のスレッドいじれとか、Jetty 6.1.26は使うなとか、盛り

    Hadoopのトラブルシューティングに関する資料があったのでめもっとく - wyukawa's diary
  • ミドルウェアの設定ファイルをどのようにバージョン管理すべきか - wyukawa's diary

    僕は最近インフラ屋さんになりつつあるのでミドルウェアの設定ファイルをどのようにバージョン管理すべきという話をちらほら考えてます。あ、実際に何かを試した訳ではないです。あしからず。 開発したアプリケーションのソースコードをバージョン管理しないというのは今時あり得ないでしょう。バージョン管理ツールに何を使うかは置いといて。 でも一方ではミドルウェアの設定ファイルをバージョン管理している現場は少ないのではないかと思います。少なくとも僕は見たこと無いです。 まあ僕自身がアプリ屋経験しか無いのでインフラ屋現場ではひょっとしたら違うのかもしれませんが、ここでは少ないという前提で話を進めます。 バージョン管理しないとどうなるかっていうと、例えば「○○サーバをDNSの設定に追加する」とかいうタスクがあってそれを完了したとして、後に振り返って見たときに具体的に何をしたのかわかりませんよね。実はその後も設定フ

    ミドルウェアの設定ファイルをどのようにバージョン管理すべきか - wyukawa's diary
  • Hadoopの異端さが面白い - wyukawa's diary

    Hadoopはほんとブームです。バブルだと言っていい気がします。各種セミナーはすぐに埋まりますし、実際に聞きに行くと会場は満員です。 この分野は日だとNTTデータが先頭をきったように見えます。 NTTデータ、Hadoopの商用ディストリビューション「CDH3」を販売開始 | 日経 xTECH(クロステック) またHadoop専業会社「ノーチラス・テクノロジー」というのもできました。 ウルシステムズとイーシー・ワンが経営統合、Hadoop専業会社を立ち上げ | 日経 xTECH(クロステック) しかし最近では富士通やIBMもHadoopソリューションを展開しておりレッドオーシャンな感じです。 富士通がビッグデータ分析・活用向けのPaaSサービス | 日経 xTECH(クロステック) 日IBM、表計算のように分析できるHadoopソフト新版「BigInsights」 | 日経 xTECH

    Hadoopの異端さが面白い - wyukawa's diary
  • NTTデータのHadoop報告書を読んでみた - wyukawa's diary

    NTTデータのHadoop報告書がすごかった - 科学と非科学の迷宮 これで話題になっていたのは知っていたけど仕事と関係無かったこともあり今まで読んでなかったんですが、1か月ほど前からHadoop仕事を始めたこともあり読んでみました。 ま、現状はNTTデータから仕事もらっている立場だし提灯記事でも書こうかとw 目次はこんな感じになってます。 で、全部で375ページもあるわけですが、アプリ開発者がとりあえず読むなら2章です。もうちょっと突っ込むなら関連する8章もプラスして読むといいでしょう。どうでもいいけど印刷して読んだほうがいいかも。僕はiPadで読みましたが2章は割とページをいったりきたりしたので。 2章では渋滞解析アプリケーションを事例としてMapReduceアプリをどのように設計して、実装するのかが記述されていてとても参考になります。というかこれだけまとまった情報は象にもHadoo

    NTTデータのHadoop報告書を読んでみた - wyukawa's diary
  • モダン(かもしれない)なEclipse環境(Java)の構築方法 - wyukawa's diary

    「モダンなEclipse環境の構築方法」とかね。 2010-07-21 - marsのメモ 僕が書くのも場違いな気がするけど、とりあえず書いてみるよ。 Webアプリ作るという前提だとまずEclipse IDE for Java EE Developersをダウンロードしてインストールする。JDKは別途ダウンロードする。Tomcatも別途ダウンロードする。 JDKはWindowsの場合はデフォルトではProgram Files以下にインストールしようとするがパスに空白が含まれてるのが嫌なのでC直下とかにする。 Tomcatもインストーラを使わずにZIP版を解凍して、パスに空白が含まれていない場所にインストールする。 プラグインはSubversionクライアントとしてSubclipseを、プロパティエディタとしてちょま吉をインストールする。ここまでは必須。 DB使うようならDBViewerもイ

    モダン(かもしれない)なEclipse環境(Java)の構築方法 - wyukawa's diary
  • 1