技術主導ではなく、サービス主導というのは当たり前、といえば当たり前です。 人は、ものや技術にお金を払うのではなく、その技術によって提供されるサービスにお金を払うからです。 ところが、一般の方には当たり前のことが、技術者の中では、ともすると当たり前ではありません。 例えば、半導体では、「微細化を行う」が目的であったし、液晶ディスプレイでは「大画面化、高画素化」が目的であった時代もありました。 技術をひたすら追求し、性能を向上すれば、自然と消費者の利益にもつながった時代には、「技術の向上」が「サービスの向上」と同じだったわけです。 今、電機メーカーや半導体メーカーが七転八倒している一つの理由は、技術とサービスが乖離してしまった。 技術を高めたからといって、顧客が感じる満足感(サービス)が必ずしも高まらなくなったのですね。 もう、スマホやパソコンの機能は十分に高いし、テレビも大きく、綺麗になりま
Ruby 2.0.0-p0 is released Ruby2.0がリリースされました。Homebrewとrbenvによるインストール手順です。rbenv/OpenSSL/Readlineがインストール済みで最新にする場合は各ツールをbrew upgrade <formula> してください。 Environments Mac OS X 10.8.2 Mountain Lion Homebrew 0.9.4 Update Homebrew Formula brew update OpenSSL, Readline brew install openssl brew install readline ruby-build brew uninstall ruby-build brew install --HEAD ruby-build --HEADでインストール済みだと以下のエラーが出るので、
Git 基礎最速マスター - 予定は未定Blog版 http://d.hatena.ne.jp/bleis-tift/20100307/1267941654 こちらでプロンプトにGitのブランチ名を表示させる方法を知りました。そこでさらに各OSで共通の表示を試みてみたので、そのメモです。 Bash-Completionのインストール 環境変数PS1の設定 上記の手順で、 こんな感じになります。 Bash-Completionのインストール no title Mac Mac OS X 10.6 Snow Leopard インストール $ sudo port install git-core +bash_completion .bashrc追記 if [ -f /opt/local/etc/bash_completion ]; then . /opt/local/etc/bash_comple
清水さんが、自身のブログでiPhoneのデザインの美点について説明しようとしているけど、結局のところ彼は、「これは説明できないもの」という結論ありきで論を進めているので、惜しいかないいところまでは肉薄しているけど(そのための努力を相当払っているというのは初めて知った)、しかし最後の壁が乗り越えられないでいる。最後の壁を乗り越えた人にとっては、iPhoneの良さは自明であり、それは言わずもがなだから思わず「説明するまでもない」とも思っちゃうんだけれども、しかしこれはけっして説明不可能なことではない。理解できる人は、その人の中でも、ちゃんと論理的に価値の解釈や処理が行われているのだ。デザイン、ファーストクラス、クオリア、ゲーテ - UEI/ARC shi3zの日記 そこでここでは、iPhoneのデザインの素晴らしさを論理的に、なるべく端的に説明することにトライしてみる。想定読者は清水さんだ。清
Titanium, OpenGLTitanium Mobile で、enchant.js や emo-framework 並みに手軽に2Dゲームが作れるモジュールを公開しました! http://code.google.com/p/quicktigame2d/ http://code.google.com/p/quicktigame2d/wiki/ Android の方は残念ですが、現在のところ iOS 用のモジュールだけです! 特徴 Titanium.UI.ImageView とかより全然速いスプライトシート対応。もちろんシートのアニメーションもできます。TexturePacker やZwoptex などのツールを利用したスプライトアトラスに対応Titanium.UIとの組み合わせもできます などなど。 emo-framework と違うのは、Titanium Mobile のコンポーネン
phpこの辺のことは本当はモダンPHP考察 - id:k-z-hで書く予定だったんだけど、うまいことまとめられなかったので放置している。うまくまとめられないのは扱うものが大きすぎたからだと思い直して、表題の通り無名関数と traits について絞って言及することにした。「はじめに」の前にこのエントリを読んでいるあなたは、php5.3やphp5.4に実際に触れている、あるいは将来的に使いたいと思っているのだと思う。ではあなたはPHP: 新機能 - ManualやPHP: 下位互換性のない変更点 - Manualを読んだことがあるだろうか。ないのならばこのエントリを読むよりもさきにそちらを読むべきだ。phpの数少ない良い点として、公式のドキュメントが整備されている点が挙げられる。ぜひ有効活用してほしい。php5.3についての二つのドキュメントについて熟読されただろうか。php5.4はまだリリー
Gitを使い始めて1年以上たちます。最近、Gitを使ったプロジェクト運用方法が自分なりに固まってきたので公開します。かなりシンプルなので、ある程度Gitに慣れていれば十分に運用可能だと思います。 僕たちが理想とするヒストリーGitを使った開発の成果物、それは開発のヒストリー(履歴)そのものです。このヒストリーが論理的に正しく、かつ、簡潔で理解しやすいものを目指すというのが大方針となります。その方針のなか、現時点で僕たちが理想だと考えているのが、以下の図のような履歴がリモートブランチに残ることです。このヒストリーには2タイプのブランチが存在します。 リリースブランチ … 次期リリースバージョンに向けて進んで行くブランチ。チケット1枚について1つのコミットが良い。 フィーチャーブランチ … チケット1枚について1つ切られるブランチ。機能を実装する際に小刻みにコミットしたログが残っているため、後
jQuery 1.7 で導入される $.Callbacks についての "Demystifying jQuery 1.7′s $.Callbacks" と題された解説記事をみつけたので紹介します。内容を少しはしょったり、補ったりした翻訳です。元記事の著者 Addy Osmani さんは jQuery チームのメンバーとのこと。本文に出てくる jQuery.Deferrd, Pub/Sub の話題を理解するのに、次の資料に目を通しておくとよいかもしれません。 jQueryのDeferredオブジェクトについて調べてみた - AOEの日記 Script Junkie | Understanding the Publish/Subscribe Pattern for Greater JavaScript Scalability Pub/Subメッセージングモデル 元記事 AddyOsmani.c
(function(){...})()は、 (function($){ $.hoge = function() { }; })(jQuery) みたいに使われていたりするコード。GreasemonkeyとかjQueryのプラグインとか、あれこれ見かけることがあると思います。 この話題はいくつかWebでも取り上げられていますが何がどうなってんのかちょっと難しいですね。しかし、誰でも理解できるレベルではあります。というのも、こういう種の難しさは体系的な知識が備わっているか否かということなのです。 でも、この知識を体系化する作業って結構しんどくて、難しくて、まーハゲるほど悩むこともあるかもしれない。それはきっと、とても毛根に悪いかもしれない。スカルプDも真っ青の状況になるかもしれない。それは、悲しいことなのだと思う・・・っ! 毛根にはこれからもがんばってほしい!いつだって頭を温かいまなざしで見守
WEB+DB PRESS Vol.61の特集は、Titaniumでした。実際にアプリを作りながらのチュートリアルになっています。正統派な入門記事です。 でも。期待してた内容ではありませんでした。私は、Titaniumの暗黒面が知りたいのです。いつものWEB+DB PRESSなら、そんな記事が多いのですが、さすがにまだ開発者が少なそうなTitaniumではアッサリ目に仕上げるしかないのでしょう。そこで、このどうでもいいブログで、Titaniumのバッドノウハウ、いや、暗黒ノウハウをメモっておきます。 アプリを1本開発しただけですので、そこまでTitaniumのことを解っているわけではありません。間違っているところなどがありましたら、指摘してもらえるとありがたいです。暗黒ノウハウをみんなで共有しましょう。あと、スシなどをおごってもらえると、もっとありがたいです。 前提。 Titaniumのバー
みなさん最近はいかがお過ごしでしょうか。プログラマーのみなさんならば当然、地震におけるエクストリーム・プログラミングを実践されていることかと思います。僕もその例外ではなく、震災の影響もあって時間的な余裕ができたため、以前から興味を持っていたAndroid開発に本格的に着手し、先日ようやくはじめてのAndroidアプリケーションをマーケットにリリースすることができました。Cook Duet - Android マーケットhttps://market.android.com/details?id=name.shimobayashi.cookduetCookpadのレシピを検索して表示するだけ、という非常に簡単なアプリケーションなのですが、このアプリケーションを開発するだけでもかなりの試行錯誤が必要となりました。つきましては、今ここにCook Duetの開発を通じて蓄積されたバッドノウハウを、簡
ディノでは京都1箇所+都内2箇所+社内の計4箇所に分散されていたデータセンターを京都に集約しつつあります。私は昨日からその関連作業でネットワークチームと京都に来ています。作業の多くが遠く離れたコンピュータを介して行われる事になると同一データセンターのサーバに対してたくさんのSSHを立あげて作業するこは、ネットワーク的に効率的ではありません。クラウド環境がもてはやされている昨今おなじような状況の方も少なくないと推察されます。そこでリモートコンピュータでのオペレーションを効率的にする方法としてGNU Screenをご紹介します。というか、ネットが瞬断したくらいでいちいち文句垂れる奴は迷惑なのでいい加減にGNU Screenを使えばいいとおもいます。 やり方まず、作業用のサーバをデータセンター側に一つ作ります。このサーバへはローカルからSSHのAgentForwardを介してアクセスするので自分
Symfony の デフォルト ORM は、Propel なんだけど、これといっしょについてくるPager の sfPropelPager がうざい。初期化に、4行も書く必要があるし。RoR だと、will_paginate で一行なのに。 あと、例えばトップページは、あるモデルの数件だけ表示して(ランキングトップ3とか、新着3つとか)、他のページで、pager を使いつつ、全件表示するってのは Webサイトでよくあるパターンだとおもうけれど、これも、いちいちメソッドを Model に2個用意するのは非常に面倒で、ややこしくなる。Criteria の初期化を共通してやる部分は共通かするので、あわせて3つ。トップ3を page 1 とみたてて、全部 pager を使うのもありといえばありだけど、pager は、count メソッドが走るので、あんまりよくない。 そこで、前者の問題と(Prop
最近twitter APIまわりで話題に出てきているようなので。 ちゃんと追いかけきれてないけど、恐らくこれのことですね。 http://tools.ietf.org/html/draft-dehora-farrell-oauth-accesstoken-creds-00 OAuth WRAPではUsername and Password Profileとして組み込まれてます。 http://d.hatena.ne.jp/lyokato/20091118/1258524429 WRAP/2.0が来るまでにOAuth1.0aで使いたい時に。 利用状況 ブラウザがない、あるいはブラウザを使うのが適切ではない状況での いわゆるデスクトップアプリのためのもの。 組み込みだったり、搭載されているブラウザが貧弱だったりとか。 ブラウザと連携させたくない、あるいは出来ないとき。 仕様 まず始めにクライア
Windows PC 上で仮想的に Linux を動かして、そこを開発環境として使えるといろいろ便利です。それをするためのソフトとして VMware Server、VirtualPC、coLinux などがありますが、今回 VirtualBox を試してみたところ、簡単に開発環境を準備することができました。VirtualBox に CentOS を入れて、Windows PC 上のウェブサービス開発環境として使えるようにするまでの手順をメモしておこうと思います。 VirtualBox の良い点 インストールが簡単 ダウンロード&インストールに面倒なユーザー登録がない VMware Server は面倒だった気がする UI が使いやすい 設定画面などが分かりやすい VirtualPC 近い? 日本語化されている 動作が速い 仮想マシンの状態保存/復元が速い スナップショットを取るのがなかなか
遅ればせながらあけましておめでとうございます。 新年早々 Amazon Digital Text Platform (Amazon DTP)に大きな動きがありました。 1/15に英語のほか、フランス語とドイツ語による電子書籍の製作をサポートすることを表明。また、アメリカ国外の著者や出版社も Amazon DTP で作成した書籍を Kindle Store で販売することができるようになるようです。 これまでは社会保障番号(SSN)、連邦納税者識別番号(TIN)、米国法人番号(EIN) のいずれかが必要である上に、米国の銀行口座を持たなければなりませんでした。この大きな制約がとうとう撤廃されたのです。 さらに、その他の言語のサポートも数ヶ月以内に追加されるようです。追加される予定の言語に日本語は明記されていませんが、Kindle で読める日本語の本を誰もが出版・販売できるようになる世界がまた
かな漢字変換エンジンのような複雑なソフトウェアの開発には、シンプルなLAMPのアプローチだけでは限界があると最近は感じています。以前SWIGを使ってAnthyのライブラリをPHPから使えるようにしたのですが、SWIGのような拡張モジュールによる連携ではスクリプトが呼ばれるたびに初期化が必要となる、という問題点がありました。 というわけで多言語RPCフレームワークであるところのThriftを使ってみることにしました。まずは以下のページから本体をダウンロードします。Apache Thrift次に公式Wikiを参考に、本体と利用言語ごとのインストールを行います。FrontPage - Thrift Wiki以下のページのサンプルを実行してみます。Ubuntu 8.04 で Thrift を試してみた - なんとなく日記やり方はURLの通りですが、PHPの場合が紹介されていなかったので、thrif
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く