タグ

2011年7月28日のブックマーク (7件)

  • Android で OSGi を使うべきでない理由

    Android の仮想マシンである Dalvik VM がクラスのアンローディングに対応していないので、OSGi バンドルのインストールとアンインストールを繰り返すと、やがてはメモリ不足に陥り、Dalvik VM が突然終了してしまう。しかも、そのメモリ不足は、システムのRAM総量による制限ではなく、ソースコードの中で次のように固定的に定義されている定数値による制限である。 #define DEFAULT_MAX_LENGTH  (5*1024*1024) また、突然終了というのは、意図的に Segmentation Fault を起こすことによる Dalvik VM アボートである。 Dalvik VM のクラスローダの実装は、かなり悪い。クラスローダ毎に管理しなければならないデータを、一個のグローバル変数で管理している。ブートストラップクラスローダとユーザ定義のクラスローダの違いは無視

  • EclipseやSpringで使われている基盤技術OSGiとは (1/3) - @IT

    読者の皆さんは、「OSGi」という技術を耳にしたことはありますか? ソフトウェア統合開発環境の1つ「Eclipse」のコア技術というとピンと来る方も多いと思います。稿では、ここ数年さまざまなアプリケーションの(SpringやJBoss、GlassFishでも)基盤技術として採用されているOSGiについて解説します。 日企業も多数参加している「OSGi Alliance」 OSGiを一言でいうと、「Javaモジュールの動的追加や実行を管理するための基盤システム」です。この基盤システムの仕様をOSGi Service Platform仕様として、非営利団体であるOSGi Allianceが規定しています。 このOSGiの仕様を規定するOSGi Allianceは、1999年に「Open Service Gateway Initiative」という名称で設立されました。「Gateway」とい

  • マーチン・ファウラー氏が語る、21世紀のソフトウェアデザインとしてのアジャイル開発(後編)。Agile Conference tokyo 2011

    アジャイル開発に関する論客の一人マーチン・ファウラー氏は、7月20日にテクノロジックアートが主催したイベント「Agile Conference tokyo 2011」で「21世紀のソフトウェアデザイン」をテーマに基調講演を行いました。 前編に続いて、ファウラー氏の基調講演の様子を紹介しましょう。 (記事は「マーチン・ファウラー氏が語る、、21世紀のソフトウェアデザインとしてのアジャイル開発(前編)。Agile Conference tokyo 2011」の続きです) 継続的インテグレーション アジャイル開発の中で重要な「継続的インテグレーション」と「継続的デリバリ」について話そう。まずは継続的インテグレーション。 複数のプログラマが集まって開発しているソフトウェアでは、それぞれのプログラマのコードをマージする作業に苦労する現場を多く見てきた。 あるソフトウェアプロダクトに二人のプログラマ

    マーチン・ファウラー氏が語る、21世紀のソフトウェアデザインとしてのアジャイル開発(後編)。Agile Conference tokyo 2011
  • 優れたプログラマになる秘訣は「我慢して他人のコードを読む」 - DailyJS | エンタープライズ | マイコミジャーナル

    DailyJS - A JavaScript blog. Google CodeやGitHubをはじめさまざまなプロジェクトホスティングサービスが存在する現在では、オープンソースプロジェクトはとても簡単にはじめられる。ただし、そういったプロジェクトのすべてが優れた結果を残せるわけではない。大半のプロジェクトは終わらせることもできず、ただ誰にも触られることのない存在になっていく。 プログラマであれば誰しもより優れたプログラマになりたいと考えるだろう。WebにはプログラミングテクニックやTIPS、デザインパターンやアンチパターンなど、さまざまなプログラミングに関するノウハウがあり、多くのプログラマがそうしたノウハウを活用している。しかしながら、いくら努力してもいまいち自分のスキルの上達を感じられない方も少なくないだろう。 以前からよく言われていることだが、Alex Kessinger氏が7月2

  • WineHQ - Wine Application Database

    This is the Wine Application Database (AppDB). Here you can get information on application compatibility with Wine. Most of the features of the Application Database require that you have a user account and are logged in. Some of the benefits of membership are: Ability to vote on your favorite applications Ability to customize the layout and behavior of the AppDB and comments system Take credit for

  • WebSocket を通す ReverseProxy が欲しいの

    Node.js で socket.io 使ってウェブチャット作って遊ぶ! とかやってると、そのうち作ったアプリを自宅サーバとかで公開したくなるのが人の世の常というものですが。 とくに考えずに自宅サーバで作ったアプリを動かそうとすると、 「Node.js で作ったアプリをポート3000番で動かしてー、フロントサーバとして Apache か nginx を置けば良いやー」 って感じで上の図のような構成になると思いますー。が (そもそもイベントループが売りの Node.js のフロントサーバが Apache ってどうなの?ってのは置いといて。) ふと気づく。クライアントからの WebSocket が届いてねえ! はい、対応してないんですよね、Apache も nginx も、WebSocket のプロキシは。 仕方ないので無理矢理動かそうとすると、Node.js アプリが動いてるポートを開くこと

    WebSocket を通す ReverseProxy が欲しいの
  • naveでNode.jsのバージョン管理&イベントループ詳説

    naveでNode.jsのバージョン管理&イベントループ詳説:node.jsでサーバサイドJavaScript開発入門(2)(1/3 ページ) 前回のおわび 前回の「サーバサイドJavaScript命「node.js」の基礎知識」をご覧いただいた皆さま、はてなブックマークやTwitterなどでコメントをいただきました方々、ありがとうございます。話題の「Node.js」ということもあり、はてなブックマークも1000ユーザーを超えました。 私の力不足もあり、いろいろな方から指摘をいただいたので、今回は前回の補足と訂正をします。ご指摘いただきました皆さま、ありがとうございます。非常に勉強になります。 「nave」で簡単! Node.jsのバージョン管理 前回の記事で、Node.jsと「npm(node package manager)」のインストールを説明していますが、以下のような問題があり

    naveでNode.jsのバージョン管理&イベントループ詳説