サーバーに Git をインストールしたので、gitweb を使えるようにしてみる。 git のインスタンス起動のやつでも見れるけど、一つのプロジェクトしか見れない。 どうせなら登録しているプロジェクトを全部見たいので gitweb を入れてみる。 環境は CentOS 5.4 (64bit) です。 コンパイルではなくyumでインストールしたいので gitweb がある yum リポジトリ epel を入れる。 # wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm # rpm -Uvh epel-release-5-3.noarch.rpm 警告: epel-release-5-3.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key
デスクトップ・スマートフォン・タブレットの主要なブラウザの古いバージョンから最新版までに対応した、クロスブラウザのチェックに使えるWindows用のソフトウェアを紹介します。 Cross browser testing -BrowseEmAll [ad#ad-2] BrowseEmAllのサポートブラウザ BrowseEmAllの主な特徴 BrowseEmAllの使い方 BrowseEmAllのダウンロード BrowseEmAllのサポートブラウザ デスクトップ 主要ブラウザの最新版に対応。 IE7-9 Firefox3.6-12 Chrome12, 16, 19 Safari4, 5, 5.1 Opera10, 11 スマートフォン・タブレット 横置き・縦置きに対応。 iPhone, iPhone4, iPad, iPad2, iPad3 シミュレーター Android2.2, 2.3,
Redmine, git, Jenkins などプロジェクト管理ツールの状態を横断的かつリアルタイムに表示するWebアプリ『Dashbozu』を作りました。 これを使えば、一つの画面でプロジェクトの”今”の状態を把握できます。 WebSocketを用いているので、ただ開いているだけで、次々と情報を得ることができます。 iPadで開きっぱなしにして、机の上に置いておくような使い方を想定しています。 なぜこれを作ったか 一般的なソフトウェア開発現場では Redmineでチケットを作成する gitでコミットを繰り返し、中央レポジトリにpushする JenkinsによるCIが実行される 結果を確認し、Redmineのチケットを閉じる という流れで作業が進んでいきます。 これらの作業の中で、開発者は「適切な」タイミングでチェックとフィードバックをすることを求められます。 例えば、チェックのタイミング
技術部開発基盤グループの id:secondlife こと @hotchpotch こと舘野です。 先日の RubyKaigi 2011 で、「Ruby を利用した大規模ウェブサービスの開発・運用」という内容で発表させていただきました。 前半はクックパッドのサーバアーキテクチャ、各種サーバのアプリがどんな風に動いているのかの紹介を、後半では「開発」→「デプロイ」→「フィードバック」→「開発」…という、サービス開発で行われているサイクルを30人以上エンジニアが居るクックパッドでどう高速に回し続けているかのお話しです。 Ruby を利用した大規模ウェブサービスの開発・運用 [slideshare id=8630511&w=425&h=355&sc=no] View more presentations from hotchpotch 当日のRubyKaigi 2011 での発表の動画は、以下を
最近gitやrubyなど、プログラミング関連のあれこれを教える機会が増えてきました。 今自分が一番使っているプログラミング言語はRubyですが、これをどうやって効率的に学習すればいいのかなぁということを考えてみました。 情報の入手の仕方なども盛り込んで、今後自力で使いこなしていくために必要そうなノウハウをなるべく盛り込んでみました。 これからrubyを学ぼうという方の参考になれば幸いです。 また「これからプログラミングを覚えて何かWebアプリを作ってみたいけれど、とっかかりが見つからない。」という方にとっても何かしらきっかけを与えることができたなら幸いです。 ご注意 僕自身はWeb系のプログラマのため、そちらの分野に偏った内容となっています。 この分野の情報はすぐに古くなります。1ヶ月後にはトレンドが全く変わってしまっている可能性がありますので、新しい情報を常に参照するように気をつけてく
この歳になって初めて Web プログラミングの現場を見て、刺激的な毎日を送らせていただいています。さて、仕事をしていて一番強く感じるのは前職での開発(スタンドアロンパッケージソフト開発をしていた会社の文化)との違いです。で、Web 開発とは何たるかを表現したくて悶々としていたのですが、ある程度整理ができてきたので文章にしてみようと思います。僕はアカデミックな話よりも現場の話をしたいので、いくつもレイヤをまたいだ文章になります。そのため本稿では具体的な技術の詳説とかアジャイル的な用語が飛び交う説明とかはありません。そういうのを期待している人は読まないでください。 ・Web に限らず、お仕事プログラミング全般で共通のこと プログラムを知らない人がイメージする開発というものは、粘度をこねたりくっつけたりするような作業じゃないでしょうか。つまりそれは、知識さえあれば難しいものではなく、モチベーショ
概要 CORS が「幾つかのブラウザの先行実装」の状況から「古いブラウザではサポートされない機能」に変わりつつある頃合いなので,XHR2 が XSS の起点になりますよってお話. そもそも XHR XSS って何よ 簡単に言うとXHR2 による XSS のことのつもり.身近なところだと,jQuery Mobile がやらかしたり,大阪府警がやらかしたりした. 具体例1 jQuery Mobile jQuery Mobile については,jQuery MobileのXSSについての解説 で解説されるとおり. かいつまんで言うと,jQuery Mobile に location.hash の変更( hashchange イベント発火)時に,location.hash を URL とみなして読込んで,ページ内容を変更という機能があって,その読込先 URL にクロスドメインの制約がなかったので X
TEST http://d.hatena.ne.jp/devbankh/201001 モックやスタブを使った効率的なユニットテスト http://d.hatena.ne.jp/devbankh/201002 モックとスタブの違い コミュニケーション http://d.hatena.ne.jp/devbankh/20051124 簡単かつ効果的に話すために "モックオブジェクト"という言葉は、テストのために本物のオブジェクトをまねる特殊なオブジェクトを表す言葉として定着した。しかしモックという言葉は元々スタブをキャッチーにしたものでなく、[スタブを使ったのとは別の] ユニットテスト方法を用いるためのものなのだ。この記事では、モックオブジェクトのファンに好まれる相互作用中心のテストと、よく行わている状態中心のテストスタイルとの違いを説明するために、モックとスタブの違いについて掘り下げる。 目次
smtp4devはWindowsローカル上に立てるダミーのSMTPサーバです。 システム開発においてメール送信を行う時はよくあります。SMTPサーバを立てたとして、間違って送信してしまうと大変な事態につながるかも知れません。そこで使ってみたいのがローカルで使えるダミーのSMTPサーバ、smtp4devです。 起動しました。まずはセキュリティ警告が出ます。 メイン画面です。この時点でポートは開いています。 オプションです。UIに関する設定です。 サーバ設定です。ポート番号はデフォルトで25です。 アップデートチェッカーもあります。 こんな感じで常駐します。 こんな感じでPHPからメールを送ってみます。 送信しました。すぐに反映されます。 さらに日本語件名のメールを送ってみました。文字化けせずに送信されています。 メーラーでメールの内容を確認できます。 さらに詳細を確認できます。 メッセージソ
AngularJSはMVCモデルを徹底したJavaScript製のWebアプリケーションフレームワークです。 Webアプリケーションを開発する際にJavaScriptを素のままで使うのはナンセンスになってきました。JavaScript用Webフレームワークを活用して手早く組み立てていくべきです。そのためのソフトウェアとしてAngularJSを紹介します。 まずごくシンプルなデモから。 クリックでビューが切り替わります。 node.js製のWebサーバも付属しています。 HTMLソースはこんな感じです。 JavaScriptのコードです。ルーティングやテンプレート、コントローラを指定してます。 Hello Worldのサンプルコード。JavaScriptによるハンドリングが見当たりません。 入力チェックを含めたフォームサンプル。こちらもごくシンプルなコードです。 入力チェックはリアルタイムに
オープンソースライセンスの中でも、GPL ライセンスはソースコード開示義務があるため扱いにくいライセンスです。業務であればまず GPL ライセンスのライブラリは利用できません。 一方、LGPL(Lesser General Public License) ライセンスのライブラリは、一定の条件の元でソースコードの開示義務を負わないため、業務利用も可能となります。 (参考)GNU Lesser General Public License – Wikipedia ですが、Android アプリで LGPL ライセンスのライブラリを組み込むと、必ずソースコードの開示義務を負うとのこと。これを知らないとかなり危険ですね(追記あり・後述)。 詳しくは以下のスライドをご参照ください。 --- 2012.1.27追記 この件について詳細に調べていた方がいたようです。結論としては Android アプリで
2012年 01月 12日 コーディングのスピードアップに最適なSassを使ってみた。環境構築から基礎的な記述までを紹介します。 カテゴリ: Sass タグ:CodingSassコーディング効率化 CSSのメタ言語として登場したSass。去年から認知はしていたのですが中々手を出しておらず、年が開けて「やってみよう!」と思い起こして使って見ました。 Index 1.Sassとは 2.インストール 3.SassファイルをCSSファイルに 4.実際に作る 5.参考文献 1.Sassとは Sassがなんなのか知らない人も居ると思うので簡単に説明すると、CSSファイルを作成するために扱うプログラムのようなもので、直接CSSファイルを作成するのではなく、CSSよりもシンプル且つ構造化した記述でSCSSというファイルを作成し、そのファイルからCSSファイルに変換(コンパイル)します。 コンパイルされたフ
ソースコードのなかでバグが多いのは、より高頻度に、かつ最近になって集中的に直している部分。これが、グーグルで採用された「バグ予測アルゴリズム」であることを、先月の記事「グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している」で紹介しました。 そのバグ予測アルゴリズムを実装したツール「bugspots」がオープンソースとして公開されています。 gitのレポジトリを分析 bugspotsはRubyで記述されており、gitのレポジトリから履歴を読み込んで分析し、どのモジュールにバグが含まれている確率が高いかを示してくれます。 以下のようにインストールして実行(説明ページから引用)。 $> gem install bugspots $> git bugspots /path/to/repo $> git bugspots . # (in current git directory)
NHN Japan スマートフォンゲーム制作室 室長の馬場一明氏。「自分はいつも焼肉屋に行くと食べ過ぎてしまう。自分の食べる量も分からないのに、他人の作業量が分かるわけがないので、作業量の見積もりは不要」とのユーモアあふれる例えに会場は笑いにつつまれるシーンも 12月14日、スマホ関連総合カンファレンス「スマートフォン&タブレット2011 冬」(ベルサール八重洲)の「ゲーム開発」セッションでは、NHN Japan スマートフォンゲーム制作室 室長の馬場一明氏が登壇した。『ダーツ』や『フォトジグソー』など、直感的に遊べるアプリ「TEIBAN GAME」をいかにクオリティーを維持しながら、短期間で多数開発し、ヒットに結び付けたか。その舞台裏と独自の組織論を披露した。 これまでPCオンラインゲームを手がけてきた馬場氏が、スマホゲームアプリの開発を命じられたのは、東日本大震災直後の今年3月。出され
Tetsuya Isozaki氏がセミナーで聞いた話によると、Facebookにはテスト用サーバというものがなく、エンジニアは全て本番環境で開発をしているのだそうです。 ウォンテッド株式会社社長の仲暁子さん(元Facebook)が、セミナーで以下のような話をされたそうです。 「Facebookにはテスト用サーバーが無いんです。エンジニアはすべて本番環境の上で開発をしていて、リリースとなったらそれを一般ユーザーに見えるように公開するだけ。エンジニアにすごい権限が与えられている。」 これに対してコメント欄でUmihiko Namekawa氏が次のような捕捉をしています。 これは環境や金の問題じゃありません。Facebookという会社の文化なんですね。Facebookの社是がHack! 「フェイスブック 若き天才の野望」にマークが寝そべって雑談しながらノートパソコンにコードをばしばし打ってEnt
ざっくり概要 ピークで3000req / sec 毎分コンテンツ更新要求 コンテンツ更新の際は他所からデータをapi経由で受け取る コンテンツ更新にはTheSchwartzを使用 なコンテンツを色々してきたログ。 尚、ここに書く技術は大半が周囲のギークな方々にサポートしてもらったもので、僕自身が何かしたわけではない。残念すぎる。 構成 internet -> www(squid -> apache) -> app(memcached -> app) -> db フロントエンド wwwサーバがapacheとsquidを動かしている。apacheがリクエストを受け、squidのキャッシュが有ればそれを返し、無ければバックエンドのappサーバへproxy。 バックエンド appサーバがmemcachedとアプリを動かしている。 それぞれ冗長化してるけど、リクエスト数の割に台数は少ない。 技術があ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く