こんにちはこんにちは ! ! はまちや2です! 今日からぼくと一緒にWebプログラミングのセキュリティについて、ちょっぴり勉強してみませんか!今回はHTTPがどんなやりとりをしているのか、簡単におさらいしてみましょう!
こんにちはこんにちは ! ! はまちや2です! 今日からぼくと一緒にWebプログラミングのセキュリティについて、ちょっぴり勉強してみませんか!今回はHTTPがどんなやりとりをしているのか、簡単におさらいしてみましょう!
DataMapperのコンポーネントは、基本的にクラスではなくモジュールとして提供されているため、アプリケーションで利用するモデルクラスにインクルードして使います。 Resourceモジュールをインクルードすると、自動的にModelモジュールがextendされ、PersonクラスはModelクラスとして振る舞うようになります。これは図1のPersonに相当します。 図1のPerson Mapperに相当する仕組みはRepositoryです。Repositoryは、create, update, delete, read_one, read_manyなどの、データストアに対する基本的な操作のインターフェイスを規定します。Modelクラスは、Repositoryへの参照を持っていて、 Modelクラスによるデータストアへのアクセスは、全てRepositoryを介して行われます。この際、データス
はじめに SinatraはRubyで記述されたWebアプリケーションを素早く、簡単につくるためのDSL(ドメイン固有言語)です。 すでに第7回で、原悠さんにより「小規模Webアプリのためのフレームワーク、Sinatra」というかたちで紹介されています。 簡潔な文法で、高い表現力を持つSinatraは、アメリカのRubyコミュニティや企業を中心に、瞬く間にユーザを増やしました。また、Rubyという一言語に留まらず[1]、Sinatraを模したフレームワークが多く作られている現状からも、SinatraはWebアプリケーション開発そのものにも大きな影響を与えたと言えます。 最近ではここ日本でも、個人利用を中心に、そこかしこでSinatraを使って開発をしている、という話を聞くようになりました。筆者自身、1ユーザとして現在業務で利用しており、1年前は知る人ぞ知る存在だったSinatraは、実際に
あけましておめでとうございます。昨年に引き続き、今年もJavaScriptの近い未来についてちょっとだけお話させて頂きます。 最初に昨年の予想を見返しておきましょう。昨年は次の3つを2010年の鍵として取り上げました。 ウェブ標準 ブラウザ拡張 サーバーサイドJavaScript この3つを軸に2010年を振り返ってみます。 2010年のJavaScript界隈でのニュース ウェブ標準 2010年最初のビッグニュースはなんといってもIE 9のPlatform Preview版の登場でした。これまでの独自実装路線から一転して(正確にはIE 8の時点でJSONやWeb Storageのサポートなど、その徴候はあったのですが)、HTML5などのウェブ標準のサポートを進めることを表明しました。そして実際に8週おきにPlatform Preview版をアップデートして、ECMAScript5・S
1.4系で新しく追加された主な機能しては バイナリプロトコルの導入 マルチスレッドの標準化 統計の強化 などが上げられます。この1.4系の機能の詳細については前坂徹氏の連載「memcached 1.4の到来」が参考となります。ここではバージョン1.2.5と最新の1.4.5の起動オプションを比較しながら、新しく追加された機能や実際の運用で用いられる起動オプションについて説明します。 1.2系と1.4系の起動オプションの違い まず、memcachedの起動オプションの一覧(ヘルプ)を確認しましょう。memcachedのヘルプを出力するには、「-h」オプションを使います。 $ memcached -h memcached 1.x.x -p <num> TCP port number to listen on (default: 11211) -U <num> UDP port number t
WebアプリケーションフレームワークRuby on Railsの作者、David Heinemeier Hansson氏(以下、DHH)のインタビュー後編です。 編集部注) 本対談は2006年6月に行われたものです。 伽藍とバザールとレール 弾:Railsがもっと広いエリアで使われるには、あるいはRubyでは限界があるかもしれません。ほかの言語で“○○ on Rails”を作る予定は? DHH:その計画はありません。他の言語版のRailsを作るくらいだったら、Rubyを啓蒙したほうがいい。これからもRuby on RailsでRubyの良さを証明していきたいと思います。 弾:アーキテクトで必要なものは何だと思いますか? DHH:「アーキテクト」って言葉を使ったら負けだと思ってます。アーキテクトってとても怪しい言葉。何で怪しいかというと、僕自身は優れた建築というのは、設計だけでは絶対にで
小飼弾のアルファギークに逢いたい♥ #2Ruby on Rails作者 David Heinemeier Hansson(中編) 37signalsってどんな会社? WebアプリケーションフレームワークRuby on Railsの作者、David Heinemeier Hansson氏(以下、DHH)のインタビュー中編です。 編集部注) 本対談は2006年6月に行われたものです。 撮影:武田康宏 37signals 弾:あなたの所属している37signalsってどんな会社ですか? DHH:一言でいうとASPの会社、Application Service Providerです。作っているのはBasecamp、Backpack、Writeboard、Ta-da List、Campfire[1]の5つです。これらはすべてコラボレーションまたはオーガナイゼーションに関するプロダクトで
というわけで、Larry Wallの来日とともに、いきなり連載スタートです。3月29~30日に開催されたYAPC::Asia::2006に合わせて5年ぶりに来日したLarryは、実は我が家の賓客でもありました。またとない機会なのでインタビューしてみた次第。なお、Larryが日本語で話した部分は《~》でくくっています。 撮影:武田康宏 弾(筆者):日本語はどれだけ話せるのですか? ラ(Larry):《簡単に会話を遅くします。でもペラペラじゃない。5年かけて少しずつ勉強しました。でも、練習することがあまりできません。本だけで簡単に…》 弾:ひょっとしてまだ1977年版Honda Accordに乗っているんですか? ラ:はい。もう29歳です。廃車にすると、環境条例でカリフォルニア州が500ドルくれるのですが、まだ乗ってます。 弾:最近お気に入りのアニメは? ラ:《あずまんが大王! ちよち
「締め切りを守ること」の大切さ 今までたくさんの日米のエンジニアと仕事をしてきた。その中には私よりも明らかに「賢いエンジニア」もいたし、ものすごい生産性でプログラムを作ってくれる「馬力(ばりき)のあるエンジニア」もいた。しかし、そんな中でも、私がものを作るうえで最も大切だと考えている「あること」をキチンとこなせる人は100人に1人もいなかった。その「あること」とは、「常に締め切りを守れるように仕事をすること」である。 チームで仕事をする場合、どうしてもお互いが担当するタスク(=作業)の間に依存関係が生じる。そんなときに、どれか一つのタスクの完了の遅れが、ほかのタスクの完了に波及し、それがタスク間の競合を引き起こして全体のスケジュールがさらに遅れる、という事態はソフトウェア開発の現場ではよく見られる。そんな状況をできるだけ回避するには、プロジェクトに関わる人全員が、自分に割り当てられたタス
はじめに RedmineはRuby on Railsで実装されたプロジェクト管理ツールです。競合のツールとしてTracが有名ですが、Tracと比較して開発速度が早く、ここ数年で急激にユーザを増やしています。Tracには標準で用意されていない機能として、ガントチャートの表示や複数プロジェクトの管理、チケットの種別ごとのワークフローのカスタマイズ機能に加え、最新の0.9系ではTracに比べて唯一貧弱だったチケットのレポーティング機能がほぼ同等レベルまで強化されました。 これにより今年から本格的にRedmineへの移行が始まっていくと思われます。既に2009年の9月にはオープンソースのSNSエンジンであるOpenPNEの開発チームがTracからRedmineに移行したことや、Googleトレンドの検索数でRedmineがTracを追い抜いたというニュースもあります。 今回は、Redmineのプラ
米国アドビ システムズ社(以下Adobe)から、2007年3月におけるFlash Playerのバージョン別普及率が公表された[1]。その調査結果によると、Flash Player 9の普及率はアメリカとカナダで84.0%、ヨーロッパが83.5%、日本は81.8%に達した(図1)。 Flash Player 9は、昨年の6月にFlex 2とともにリリースされた。Flash Player 9およびActionScript 3.0をサポートするFlash CS3 Professionalもついに米国で発売になり[2]、日本語版は6月下旬に出荷が始まる予定だ。 本連載では、スクリプトの初学者を対象に、ActionScript 3.0を使ったスクリプティングについて解説する。ただこの第1回では、技術的な説明に先立ち、Flash Player 9は従来のバージョンとどこが違うのか、また新しい
環境構築 前回では、プロジェクト管理ツールの必要性、そしてredMineをオススメする理由について解説しました。今回はredMineを利用する環境の構築、およびredMineのインストール・初期設定について解説します。 redMineはRuby on Railsによって作られているアプリケーションですので、動作環境として以下のものが必要になります。 Ruby (1.8.5 以上) Rails (※1) MySQL (MySQL 5) (※2) Subversion (※3) RailsはRubyで実装されたWebサーバのWEBrikを使うことができるため、ApacheのようなWebサーバと連携させる必要がなければ、これだけでOKです。 また、RubyやMySQLはLinuxに初期インストールされている場合が多く、その場合はRailsのインストールだけを行えばよいということになりま
他のライブラリや、自分のコードと共存させるときは、これらの名前と衝突しないように気をつける必要があります。同じ名前を使ってしまうと、コードがロードされた順番によって挙動が変わる、というようなわかりにくい問題が発生してしまう場合が出てきます。 オブジェクト、クラスの使われ方 ライブラリ内では、上記の名前空間は大きく分けて以下のような使われ形をしています。 その下に別のオブジェクトを入れるための親名前空間として使う Class.create()を使って Prototypeライブラリ風のクラスとして定義する Object.extend()を使って他のクラス、オブジェクトから継承されることを前提とする関数を集める コードを簡潔に記述する為に短い名前の関数として使う 特に、Object.extend()を使って継承を実現している箇所が多く、最終的にどのオブジェクト・クラスにどのメソッドが定義されてい
はじめに jQueryとは、John Resigによって開発され、最近非常に注目を集めている Javascriptライブラリです。 JavaScriptとHTMLの対話を劇的に改善し、Ajaxなどにより複雑化してきているWebアプリケーション構築に必要な処理を非常に簡潔に書くことができます。また、ブラウザの種類やバージョンによる違いも吸収してくれるため、プログラマの作業量も減らしてくれます。 本連載では、jQueryライブラリのコードを読みながら、実装として中で何が行われているのかを見ていこうと思います。 想定している読者は、jQueryライブラリをただ使うだけでなく、やっていることを理解したいという方、使われているコードを応用して自分なりの改造をしてみたい方、新たなプラグインを開発したいという方などです。 今回の連載では執筆開始時点の最新版であるバージョン1.2.2を対象としています。説
本稿ではGreasemonkeyを使ってアプリケーションを作る際の筆者なりのコツを紹介しようと思います。単に筆者が「コツ」だと思っていることを紹介するだけでは面白くありませんので、ちょっとしたアプリケーションを題材にして、作成していく過程をステップに分けて解説していく形式をとることとします。 さて早速Greasemonkeyによるアプリケーションの作成方法を紹介しましょう、といいたいところですが、「Greasemonkeyによるアプリケーションとは何だ?」「そもそもGreasemonkeyとは何だ?」という疑問をお持ちの方もおられると思いますので、第1回は「Greasemonkeyとは何か」ということと、その基本的な使い方を紹介したいと思います。Greasemonkeyをよくご存知な方は、次週までお待ちください。 Greasemonkeyとは GreasemonkeyはFirefox用
はじめに 前回までは、検索エンジンの概要を見てきました。今回からは、全文検索の中核となる索引構造について見ていきます。 第1回の復習になりますが、全文検索には主に2種類の方法がありました。検索したいデータに対して前処理をせず、検索時に文書を走査するgrep型と、あらかじめ索引を作っておいて検索時にその索引を利用する索引型です。今回から数回にわたり、索引型において最も普及している転置索引という索引構造について解説していきます。 転置索引とは さて、転置索引とは何なのでしょうか? 身近な所で例にあげると、書籍(専門書など)の巻末にある索引は、本における転置索引といえます。巻末には通常、キーワード(単語)とそのキーワードが出てくるページが記載されています。キーワードはアイウエオ順やアルファベット順に並べられているので、探したいキーワードを簡単に見つけることができ、そのキーワードがどのページで言及
Shibuya.pm #12連動企画 本日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「基本的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや
はじめに 前回では、入れ子集合モデルという、リレーショナルデータベースで木構造を扱うための新しい方法論を紹介しました。このモデルは、RDB、SQLと親和性の高い優れたものではあるのですが、挿入など更新時に、無関係のノードまで変更対象としなければならないのが大きな難点でした。 そこで今回は、上記の欠点を解消する進化版のモデルを紹介します。この方法を理解していく過程で、私たちはRDBと集合論の結び付きの深さを再確認することになります。 ふだんこの連載は、1回完結の読み切り形式なのですが、今回に限り、前号の内容を前提としています。未読の方は、前号を先に読むと理解が増すでしょう。 稼働環境 すべてのリレーショナルデータベース もしも無限の資源があったなら 座標に整数のみを使う場合の限界 入れ子集合モデルの大きな欠点は、ノードを挿入(追加)するときに、自分より「右側」にある無関係なノードをもっと右へ
今回よりフォーム関連の実践 前回はタブパネルをプラグインとして利用することについての説明をしました。プラグインとして作ることで、様々なサイトで使いたい部分で使えるようにできるという点でも、とても便利です。今後もプラグインとして利用できるような作り方の説明も入れていきますので、みなさんもぜひ挑戦してみてください。 さて、今回より数回にかけて、フォーム(Form)関連の実践例についてご紹介していきます。フォームでは、ユーザーが使いやすいよう(入力しやすいように)に工夫することで様々な点において、利便性を向上させることができます。 今回はフォームの入力部分に入力例などを入れておき、フォーカスしたときにその入力例を消す仕組みを作ってみることにします。 入力例を入れておきフォーカス時に消す フォームの入力部分で、入力例を入れておくことで、その部分にどのような入力をしたらいいのか明示しておくことができ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く