ハリイカの焼売と中華炒め ハリイカをよく、見かけるようになりましたよ。生け簀で、泳いでいたものを一杯購入しました 立派な大きな墨袋や肝は冷凍保存して 柔らかな身は季節のお豆、お野菜と合わせて中華の炒めものに。新鮮なにんにくの茎は刻み、香り高く食欲そそられますね 下足はミンチにし…
![はてなブログ | 無料ブログを作成しよう](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)
最近はJavaScriptのライブラリ整備や、大きなモニターが増えたせいもあり、リッチな見た目のサイトが増えてきたなーって思います。 でも、その一方で、それ以上に増えている様相なのが「低速度回線」のユーザ。 今だからこそ、技術をきちんと理解して軽いウェブサイトを作るべきなんじゃないか、というお話を少し。 増えているのは、フレッツよりも「持ち歩きPC」「スマートフォン」のアクセス これは今木が運営する、とあるポータルサイトの利用者の接続速度の変化のデータです。 月間PVが大体150,000位で、割と昔からあるタイプのまじめなコンテンツのサイト。携帯は対応していませんし、IT系とかに偏ったコンテンツもありません。 見ると分かる傾向は ダイヤルアップ、実はあまり減っていない ケーブルはそこまで延びていない Unknownが年々増えている ADSL / 光(T1)も割合としてはむしろ減少傾向 グラ
最近購入したPHP×携帯サイト 実践アプリケーション集を読んでいて妙な感じがしたので、この感覚はなんだろうと思っていたら、その理由に気づいた。本書に出てくるアプリケーションは、PHPのセッション管理機構を使っていないのだ。そんな馬鹿なと思ったが、目次にも索引にも「セッション」や「session」という語は出てこない。サンプルプログラムのCD-ROM上で session を検索しても出てこないので、セッションはどこでも使っていないのだろう。 そうは言っても、本書にはブログやSNSなど認証が必要なアプリケーションも登場する。本書で採用している認証方式はこうだ。 携帯電話の個体識別番号を用いた、いわゆる「かんたんログイン」のみを使う 認証状態をセッション管理機構で維持しない。全てのページで毎回認証する そのため、「iモードID」など、ユーザに確認せずに自動的に送信されるIDを用いる つまり、全て
Ebbは以前にも紹介しましたが (ポストMongrel時代のWebサーバ参照)、 Thinより高速といわれている軽量・高速なWebサーバです。 Ebb aims to be a small and fast web server specifically for hosting web frameworks like Rails, Merb, and in the future Django. こちらでも紹介されています。 Ebb: C-Powered Web Server That Uses Rack - Faster than Mongrel and Thin 非常に興味深いですね。 ということで、ちょっと使ってみました。 先日からgemインストールできるようになったので、 いつものように
Passenger を使うとき、リソース最適化オプションによって大きくパフォーマンスが変わる。英文だと理解できるのが遅いので、勝手に翻訳してみる。 – PassengerMaxPoolSize <整数値> 同時に使用できる ROR あるいは Rack アプリケーションの最大数です。より大きな値を指定すると多くのメモリを消費しますが、HTTP クライアントが同時に処理できる能力を増やすことができます。 この最適な値は、あなたのシステムハードウェアやサーバの平均値ロードに依存します。異なる値を指定して実験する必要があるでしょう。しかし一般的にはこの値は少なくてもあなたのシステムの CPU 数に等しい値にするべきです。もしあなたのシステムが 2G のメモリ容量なら 30 を指定することをおすすめします。もしあなたのシステムが VPS 、256MB のメモリ容量で、MySQL のようなサービスが動
概要 Varnishとはリバース・プロキシー技術をつかった高性能なHTTPアクセラレータです。 Squidよりも高速で動作すると言われています。 得られる効果 キャッシュによりWebアプリケーション動作を高速化できる リバース・プロキシーを利用するとページをキャッシュすることができる。 その結果 - サーバー・リソースを節約できる。 頻繁に要求されるデータをより迅速に送信できる。 Webサーバー(Webアプリケーション)の負荷を軽くすることができる。 レスポンスを生成する上で必要となる計算の実行頻度が減少するため、スループットを改善することができるのです。 データベース・サーバーの負荷を軽くすることができます。 大部分の Web アプリケーションはデータベースに依存するため、各リクエストには ひとつあるいは複数のクエリーが含まれています。 リクエストの数が減少すれば実行するクエリーの数も減
Varnishの導入方法 試した環境 OS Ubuntu server 8.10 ※ debian系OSです。 ※ Windows上の仮想環境内(VMware)でゲストOSとして稼働させています。 ホストOS:WindowsVista ゲストOS:Ubuntu 前提条件 Apacheが稼働しているものとします。 はまりポイント Windowsファイアーウォールで、利用するポートを許可しておきます。 6081、80番 インストール方法 duke@ubuntu% sudo apt-get install varnish [sudo] password for duke: Reading package lists... Done Building dependency tree Reading state information... Done The following extra pack
OSの機能をフル活用してHTTPサーバの動きを高速化するHTTPアクセラレータ Varnishというアプリケーションをご存知だろうか。Varnishは、2006年9月20日(ノルウェー時間)にバージョン 1.0がリリースされた、比較的新しいHTTPアクセラレータである。開発言語はC言語で、高速に動作するという特徴がある。以前発表されたApache 3.0構想においてVarnishのVCL(Varnish Config Language)の採用が検討されるなど、現在、多くの開発者の間で注目を集めている。また、今月20日(東部標準時)にはバージョン 1.0.4がリリースされたほか、9日(ノルウェー時間)には次期メジャー版とみられるVarnish 2.0の開発が開始されたことが公式に発表されている。 Varnishは、FreeBSD 6系とLinux 2.6系を動作プラットフォームとして想定して
routes = {'bookmark' => ['http://example.com/bookmarks/{bookmark_id}', 'http://example.com/bookmarks/{bookmark_id}.{format}'], 'static_path' => ['http://example.com/static_path'], 'search' => ['http://example.com/search']} require 'rupta/factory' router = Rupta::Factory.new.create # Rupta#detect returns the name of a detected route, # a matched URI template and extracted URI parameters p router.de
Ruptaという名前のRubyライブラリをGitHubで公開しました。 http://github.com/iwamot/rupta/tree/master http://iwamot.github.com/rupta/ (ドキュメント) Ruptaは、いわゆるWebアプリケーション用のルータライブラリです。ライブラリと名乗るのもおこがましい代物ですが、そうと知りながら公開したのには理由があります。 フロー状態を体験したかった ライブラリの作成・公開を通して様々な知識を身につけたかった ルータの一般的な実装に疑問があった それぞれ詳しく説明します。 フロー状態を体験したかった 私の当面の目標は、Webアプリケーションフレームワークを自作することです。もちろんその先には、自作フレームワークでWebアプリケーションを構築するという目標があります。そのためには既存のフレームワークを使う手もあるの
/ で終わるような URL にアクセスした時に index.html を表示して欲しい。そんな場合は以下のようするといいみたいです。ポイントは二つで、まず directory_index に表示したいファイル名を指定し、regexp を /$ にマッチするようにする。下の例だとグルーピングの最後を |) としているので ^/$ に(のみ)マッチして index.html が表示されるはず。 my $mw = HTTP::Engine::Middleware->new; $mw->install( 'HTTP::Engine::Middleware::Static' => { regexp => qr{^/(robots\.txt|(?:css|js|img)/.+|.+\.html|)$}, docroot => '/path/to/static/', directory_index =>
前回はArkの開発背景と機能概要を紹介しました。2回目からはもっと具体的に、Arkを使用した開発方法を紹介していきます。 今回は、Arkのインストール方法、そして簡単なHelloWorldアプリケーションの作成を通してArkを使用したアプリケーション開発の流れを紹介します。 Arkのインストール まずは、Arkのインストールについて話をしていきます。 Perlのインストール Arkは、Perlバージョン5.8.1以上が必要です。 お使いのコンピュータがMac OS XやLinuxで動作しているなら、おそらくすでにPerlがインストール済みのはずです。Windowsで開発する方は、Strawberry PerlやActivePerlなどをインストールすると良いでしょう。 Arkのダウンロード まず、ダウンロードページより最新版をダウンロードします。本稿執筆時点での最新バージョンは 0.001
lighttpd 1.4.21 以上では $HTTP["language"] という新しい変数(?)が設定の中で使えるようになり、これを使用するとクライアントの Accept-Language に応じて lighttpd の設定を変えることが可能になります。 これを利用して多言語化しているサイトとしては opensource.kayac.com が有名です。 このサイトは以下のような設定で動作しております。 $HTTP["url"] !~ "^/(?:(?:css|js|img|images?|static|tmp)/|[^/]+\.[^/]+$)" { $HTTP["url"] !~ "^/(en|ja)(?:$|/)" { $HTTP["language"] =~ "(en|ja)" { url.redirect = ( "^/(.*)" => "/%1/$1" ) } $HTTP["
先日登場したGoogle Wave。未知数の部分が多く、どのような発展をしていくか分からないが、わくわくさせられる技術だ。特に既存のWebサイトをWave対応にした時のリアルタイムでのコラボレーションと言うのは非常に魅力的だ。 ファイル構成はこのようになっている だがそのような機能を現在のWebサイトを拡張して追加するのは意外と大変かも知れない。疎結合にすれば、後々のメンテナンスも楽そうだ。そんな時に使えそうなのがWave Robot Sinatra Templateだ。 今回紹介するフリーウェアはWave Robot Sinatra Template、Wave対応のロボットを作る際に使えるテンプレートだ。ソースコードは公開されているが、ライセンスは明記されていなかったのでご注意いただきたい。 Wave Robot Sinatra Templateの魅力はWave対応のロボットを作る際に最
上手く行かない気がする. % ramaze start -D として起動させると,viewとかが上手くレンダリングされず,コントローラのアクションの最後の値しか表示されない(ramaze createで作ったやつなら'Welcome to Ramaze!').ただ自分の作っているアプリだと,新しく定義したアクションが見つからなくなっているし,一体どうなっているのやら.MLに投げてみたので後は待つだけ. とりあえず今の所は % thin -R config.ru start -d としてthinを直接使ってやっている. 解決 MLで返信来てた.config.ruが間違ってたらしく修正されました.次のリリースでは問題ないと思うけど,今この問題に当たっている人は,以下のようにconfig.ruを書き換えましょう(repositoryのソース). require ::File.expand_pat
新しいRamazeのLocalizeを,毎回l('foo')とかやるの面倒なので,何とか昔のように使いたい,ということでその方法. Innateの説明に,昔のDispatcherはCurrentとかで何とかできるから必要ない,という説明があるのでその代替を探す.最初はself.action_foundとか置き換えてたんだけど特異メソッドの関係とかで上手く行かなかった.結局の所,actionの呼び出しに処理を挟めればいいので組み込みhelperになっているaspectを使う. class MainController < Controller ... alias :raw_wrap_action_call :wrap_action_call def wrap_action_call(action, &block) response = raw_wrap_action_call(action,
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はじめまして。面白法人カヤックの村瀬と申します。ArkというWebアプリケーション作成用のフレームワークを開発しました。今回から4回にわたって、このリリースしたばかりの「Ark」について紹介させていただきます。 Ark(アーク)とは Arkは、Perlで作られたWebアプリケーションフレームワーク(WAF)です。 Arkの特徴としては Catalystに似たインターフェース CGI/FCGI/mod_perlなどさまざまな環境で実用的に動作する CGI用モードの存在 日本製であり、日本語ドキュメントが充実している などが挙げられます。 Catalystに似たインターフェース Catalystは、Arkと同様にPerl製のWebアプリケーションフレームワークで、現在、Perlのフレームワークでは標準となりつつあるものです。 Arkは開発動機の1つが「CGIでも実用的に動作するCatalyst
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く