タグ

2009年4月7日のブックマーク (4件)

  • エンジニアにもわかる「ユーザーインターフェース設計」

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 島津悠樹と申します。Yahoo! JAPANのソーシャルメディア系サービスの開発・ユーザーインターフェース(以下UI)設計を担当しています。私からは「エンジニアにもわかる『ユーザーインターフェース設計』」と題し、エンジニアのみなさまに考え方のヒントとなるようなネタをお届けします。 エンジニアの方々にとって、UI設計は、おもしろそう、けれど、どこかとっつきにくい......、そんな印象を持っておられるのではないかと思います。 私も以前はそう思っていました。ですが、とっつきにくさを理由にUI設計をやらないのはもったいない、という思いで試行錯誤した結果、なんとか、UI設計のお仕事をいろいろ担当させていただくことができるようにな

    エンジニアにもわかる「ユーザーインターフェース設計」
  • Karetta|Gaucheプログラミング(立読み版)|末尾再帰

    末尾再帰とは評価の一番最後に自分自身を呼び出して、後は値を返すだけその後になにもやることが残っていない(あとは値を返すだけの)再帰のことです。 先ほどの階乗を求める計算を末尾再帰で書き直した例は以下の通りです。 (define (fact n) (define (fact-iter n ans) (if (zero? n) ans (fact-iter (- n 1) (* n ans)))) ; 最後に自分自身を呼び出している (fact-iter n 1)) ここでは手続きfactを補助するためのfact-iterという手続きが末尾再帰となっています。この場合、5を与えると (fact 5) ((fact-iter 5 1)) (((fact-iter 4 5))) ((((fact-iter 3 20)))) (((((fact-iter 2 60))))) ((((((fact-

  • 第2回 「単一代入」と「末尾再帰」

    しかし,そもそも「関数型言語」とは「副作用のないプログラミングを推奨する言語」のはず。だから,「副作用がある」というと「どこが関数型言語なんだ」と思われるかもしれない。そのOCamlを関数型言語たらしめているポイントの一つが,今回のテーマである「単一代入」だ。 単一代入:変化しない「変数」 Cなどの命令型言語では,変数への代入は,最も重要な機能の一つである。普通のプログラマは,もし「変数に代入をするな」と言われたら,どうやってプログラムを書けばいいのか,途方に暮れてしまうだろう。 しかし,ちょっと複雑なプログラムを開発するようになると,「代入」は意外にやっかいな機能であることがわかってくる。例えば,以下のようなC言語のプログラムがあったとしよう。

    第2回 「単一代入」と「末尾再帰」
  • ひげぽん OSとか作っちゃうかMona- - 末尾再帰

    最近一部で盛り上がっている「末尾再帰」について自分の理解を確認するのも兼ねて書いてみます。 (そもそも自分がふったのがきっかけっぽいので)。 上級者の方は間違い等に厳しくつっこんでもらえると助かります:-) 背景 自分が末尾再帰を知ったのは多分Schemeの勉強を始めた頃だったと思います。 例えばSICPというでは20ページあたりにこっそりと出てきます。 そのころの理解はかなり浅いもので「ふーん。」程度でした。 さて後日Schemeの処理系を実装することになりR5RSというSchemeの仕様書を読んだところ Scheme の実装は真正に末尾再帰的(properly tail-recursive) であることが要求されている。これは,たとえ繰返し計算が 構文的に再帰的手続きで記述されているときでも,定数空間 でその繰返し計算を実行することを可能にする とあり末尾再帰のことを詳しく知る必要性