2014年3月の発表資料 2014年7月の資料 => http://www.slideshare.net/hiroosak/ca-36830962
2014年3月の発表資料 2014年7月の資料 => http://www.slideshare.net/hiroosak/ca-36830962
前提: GitHub flow を使っていてCIサーバーはJenkins 最近ちょっと開発フローの改善をして、とてもよく機能してて満足しているので紹介してみる。 この改善をやる前の悩み: pull-requestでコードレビューはできるのだけど、cssとかjavascriptなどの見た目や動作の変更ってコードだけだとわかりにくい。レビューする人が各自ローカル環境で実行するのもだるい。 コードを読まないデザイナーとかプロダクトオーナーとかの人が、pull-requestのレビュープロセスに簡単に参加できない(非開発者全員のところでローカル環境設定するのはだるすぎる)。 コード的にokに見えてmasterにmerge後、何か問題(特に仕様的な問題や、デザイン的な問題)が発生した場合、「修正branchを作ってpull-request」というフローを再度回さないといけない。最初のpull-req
Joel Spolsky ジョエル・スポルスキ 翻訳: Yasushi Aoki 青木靖 2000/10/2 The Joel Testを発表したとき、読者から寄せられた最大の不満の種は、仕様書を書かなければならないということだった。仕様書はデンタルフロスみたいなもので、みんな書かなきゃいけないと思ってはいるが、誰も書かない。 なぜ人々は仕様書を書きたがらないんだろう? 人々は仕様書作成フェーズを飛ばせば時間を節約できると主張している。彼らは仕様書作成がNASAのスペースシャトルのエンジニアか巨大な保険会社で働いているような人たちのための贅沢品であるかのように振舞っている。戯言だ。何よりも仕様書を書かないというのは、あなたがソフトウェアプロジェクトに持ち込む、最大かつ不必要なリスクである。それは着替えだけリュックに詰めて、その場になれば何とかなることを期待してモハーベ砂漠の横断に出発するの
PHPケベックカンファレンスでYahoo!の人が発表した資料が公開されていますね。 YSlowでチェックできる14個のルールに加えて、あらたに20個のチェックポイントが解説されています。カテゴリごとにわかれているのを要約するとこんな感じ。 サーバ 早めのフラッシュ AjaxにはGET コンテンツ 遅延読み込み 次回以降のための先行読み込み DOM要素を減らす 複数、しかし4個以下のドメインから並行読み込み iframe個数削減 404エラーをなくす クッキー Cookieサイズを最小に Cookieを使わないドメインでのホスト分割 Javascript DOMアクセス最小化 イベントハンドラの改善 CSS @importじゃなく<link> IEのフィルタは避ける 画像 画像の軽量化 GIFをPNGに、PNGの圧縮、JPEG内のコメント削除 CSSスプライトの効率化 表示サイズ以上の画像を
Native IPhone development using XCode, at last! http://jrobinsonmedia.wordpress.com/2007/09/26/native-iphone-development-using-xcode-at-last/ toolchainを追加。XCodeで新規プロジェクトを作る時に、iPhone UIKit Applicationが表示されるようになる。 http://son-son.sakura.ne.jp/programming/iphone/ 日本語で細かく解説されている。 The unofficial iPhone SDK: Guide to writing native iPhone applications http://www.iphoneatlas.com/2007/09/19/the-unofficial-
先週の金曜日に正式版が登場したLeopard。Appleも多くの新機能を喧伝しており、それらを試している方も多いだろう。 この記事では、見方を変えて、開発者から見るとLeopardにはどのような機能が追加されているのか、紹介したいと思う。先に述べておくが、追加機能は非常に多い。この記事に入りきらなかった新機能や、従来の機能の強化もたくさんある。Tigerのときも大きく機能は広がったが、Leopardではさらにその上に積み重ねられている。Machカーネル、Cocoaフレームワークといった強固な基盤の上に、次々と機能が花開いている。 Objective-C 2.0 Leopardで拡張された開発分野の機能のうち、最も大きい影響があるのが、Objective-C 2.0の導入だろう。Objective-Cは、いまやMac OS Xでアプリケーションを開発するときの主流の言語だ。動的で柔軟なオブジ
独創的発想で活躍している若手エンジニアを探し出して紹介するこのシリーズ!今回登場するのは、日本初のSNSサービスで今や、1110万人を超えるユーザーを有する『mixi』で、膨大なコンテンツの検索システムを自社開発した研究開発グループの若手マネージャーだ。 1978年生まれ。立命館大学政策科学部を卒業後、01年に大手OA機器メーカーに入社。システムエンジニアに。独立行政法人情報処理推進機構(IPA)の2004年度第2回未踏ソフトウェア創造事業で、全文検索システム「Hyper Estraier」を開発、スーパークリエータに認定される。2006年6月、ミクシィ入社。研究開発に従事。 株式会社ミクシィ 2004年2月から日本初のSNS(ソーシャル・ネットワーキングサービス)として『mixi』を展開。「居心地の良いサイト」「身近な人や趣味・興味が同じ人との交流」をコンセプトに開発、人気を集め、今や1
さる9月7日に東京で行われたITpro Challenge!ですが、ひきこもって鬱々と考えてばかりの生活を離れ、先を走っているすごい人たちの勢いを感じられたのはとても良い体験でした。 僭越ながらぼくもプレゼンさせていただいたのですが、この内容についてはCNETのほうに流れに沿った詳細な記事がアップされています。 収益が見えないことは、やらない理由にはならない--インフォテリアUSA江島氏 で、講演資料のほうはSlideShareにアップしました。ここからPDF形式でダウンロードもできます。 ブログにこうやって外向けの文章を書くときというのは、それなりに精神的に落ち着いた瞬間を見計らって襟を正してから書くので、普段の七転八倒している姿は伝わらないものです。 割と露出狂的マゾヒズムの気があるほうだとは思ってるんですが、それでもやっぱり、恥ずかしいこととかコンプレックスとかは自分なりに
唐突に、PHP用のテンプレートエンジンを作ってみる。 方針: ふつうのPHPファイルをテンプレートとして使う。 <?php echo $var; ?> は面倒なので #{$var} と書けるようにする。 <?php echo htmlspecialchars($var); ?> はもっと面倒なので %{$var} と書けるようにする。 ついでにXML宣言も <<?php ?>?xml ... に自動置換する。【追記】レイアウト機能を追加してみた コード: <?php /* * SixtyLinesTemplate.php - 60行しかないけどSmartyより速いテンプレートエンジン * * 使い方: * require_once('SixtyLinesTemplate.php'); * $TEMPLATE_DIR = 'templates'; // 省略可、パーミッションに注意 * $c
■ プログラミング解説書籍の脆弱性をどうするか 印刷されて流通する書籍に脆弱性がある、つまり掲載されているサンプルコードにズバリ脆弱性があるとか、脆弱性を産みやすいコーディングスタイルを身につけさせている解説があり、それが脆弱なプログラマを生産し続ける根源になっている問題は、「なんとかしないといけないねえ」と以前から言われてきた。 ソフトウェア製品の脆弱性は、指摘があればパッチが提供されたり修正版に差し替えられたりするが、書籍の脆弱性はどうか。正誤表が差し込まれるとか、回収する措置がとられるかというと、それは望めそうにない。言論には言論で対抗すればよいということになるだろうか。 久しぶりにいくつかの書籍について調べてみた。先月園田さんの日記などで比較的評判良く紹介されていた2冊を読んだ。 山本勇, PHP実践のツボ セキュアプログラミング編, 九天社, 2004年6月 GIJOE, PHP
未だに半年前のエントリにブクマされるみたいなので、もう少しjavascriptについて書いてみる。 今回は大規模化開発におけるJavascriptの注意点とかそういうの。当てはまらない環境の方もいます。(しかも基本的な事だらけで大したことは書いてないです) ほぼリッチクライアントを主目的としたjavascripterとコードを対象とします。 どちらかというと、ライブラリを提供する側の視点から 1.ログを出力せよ あなたが書いたコードは遅い、と必ず言われます。なので言われる前から、自分の書いたコードの処理時間をログするようにしましょう。 次のような処理時間を計測するロガーを作ります。 var TraceLog = function (){ this.startTime = -1; var outer = document.getElementById('_outer'); if(oute
javascriptのprototypeはなかなか理解してもらえないですねぇ。 ここ1年間でマジマジと実感しました。 特に、大規模開発をしているとこだと、いろんな知識が入り乱れていて(ホームページ時代からAjax本を読んだ人とか)が、javascriptが単なる関数型列挙な言語(語弊があるけど)という見方が大多数を占めているように見えます。 そんな中で "String.prototype.trim" みたいなコードを見せても、説明下手なのか中々上手く伝わらないですねぇ。 ということで(?)、僕がjavascriptのprototypeを身に着けるまでやったこと、とか。これも備忘 prototype.jsのソースコードを眺める Array.mapとかEnumerable, Hashは勉強になりますねー。 ただ、prototype継承されすぎて、ちょっと多すぎなこともあります。 var
asTwitter 経由で企画された「ActionScript 的超絶技巧発表会」に参加してきました。日帰りで東京まで行ってきましたが、往復交通費以上に得るものは多かったです。参加条件が「発表する」だったため、ほんとにレベルが高かったです。かなりの自信作を持っていったつもりだったのに色あせてしまいました。ひとまず、勉強会まとめエントリとして投下しておきます。半分感想。HTML/JavaScript から SWF をいじる話(FlashBug) by muraken さんJavaScript 経由で MovieClip を作成したり、パラメータをいじったり、中の情報を覗いたりする。AS2。→関連エントリ作りこんでいけば、Flash 版デバッグ環境としても便利なものになりそう。Flash デバッグ環境って、あんまりいいのないですしね。クロスブラウザな Canvas として公開すればかなりヒット
『Linuxロードバランサ構築・運用ノウハウ』を公開します! これはWEB+DB PRESS Vol.37の特集記事としてDSASチームが執筆したもので、技術評論社様の許可を得て今回公開するはこびとなりました。 一口でいうと、「Linux+IPVS+keepalivedを使って、冗長構成(Active/Backup)のロードバランサを作るまで」の解説記事で、 サーバ負荷分散一般についてのはなし Linuxでロードバランサを作ってみる ロードバランサを冗長化 といった構成になっています。 みなさんがLinuxロードバランサを導入・構築・運用する際の一助になれば、DSASチームとしてもうれしい限りですので、是非、ご覧になってください! 第1章 サーバ負荷分散概論 特集のはじめに なぜサーバ負荷分散をするのか? サーバ負荷分散の実現方法 ロードバランサのいる構成 ロードバランサはなにを元に分散す
以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -
テーブルをソートできるようにするjsライブラリ-table sorting table sortingはテーブルをソートできるようにするjsライブラリです。 テーブルの内容でソートしたり、奇数行、偶数行にそれぞれ異なるclassをつけたりが可能です。 設置方法 ダウンロードしたsortable.jsをhead要素内なので読み込みます。 <script type="text/javascript" src="sortable.js"></script> ソートの対象のtable要素のclass属性をsortableに設定して、任意のID名をid属性につけます。 <table class="sortable" id="foo"> ソートの対象にしたくない列がある場合はth要素のclass属性にunsortableを設定します。 <th class="unsortable"> ソートの対象にした
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く