タグ

ブックマーク / www.artonx.org (90)

  • L'eclat des jours(2018-02-09)

    _ プログラマーとお仕事をするということ読了 翔泳社の野村さんからいただいた「プログラマーとお仕事をするということ」を通勤電車の中でちびちび読んでいて、大体1か月で読了(他の読んだりしていたからで、すごく読むのに時間がかかるというわけではない)。 内容はソフトウェア開発プロジェクトをどうすれば成功させることができるのかを、筆者の経験と統計データ(脚注でそれぞれの数字の出典が示される)を組み合わせて説明したものだ。といっても、プロジェクト運営の話かというと相当違う。どちらかと言うと、ソフトウェア開発とは何か? 何が問題点なのか? についてヒューマンリソースという観点から説明したものだ。 すでにアマゾン評が3つ出ていて、星5、3、2と分かれていて、それを読むと、なぜこのが成立するのかわかる。 星3の人の評。 プログラマーとして、どういう点に気をつけるべきなのかというモチベーションで読みまし

  • L'eclat des jours(2018-01-18)

    _ 低レベルプログラミング 翔泳社の野村さんから低レベルプログラミングをいただいたのでレビュー(完全に読んだわけではなく、自分および少数の購買予定者のためのアジェンダ用にレビューしたというところ)。 著者はレニングラードの(こんなところで懐古趣味をひけらかしてもしょうがないが、そういう性格だからしょうがない、つまり聖ピョートルの都市のことだ)ITMO(と書いて国立情報技術機械光学研究大学、らしいのだが光学って当なのか工学の誤記なのか謎)の先生で、多分、このは副読なのではなかろうか。どういう先生かというと、この先生のチームは、ACM-ICPCの国際大学対抗プログラミングコンテンストで6回優勝しているそうだ(少なくとも2017年の優勝は間違いない。というか3位は京城、7位が北京で、東京が12位なのか。韓国もすごいな)。 書の目的がまえがきにある。7つの目標だ。 ・アセンブリ言語で自由自

  • @t_wadaとケントベックのテスト駆動開発 - L'eclat des jours(2017-10-09)

    _ @t_wadaとケントベックのテスト駆動開発 長らく絶版となっていたケントベックのテスト駆動開発(入門)が、オーム社から装いと訳者もあらたに再刊されて、しかも嬉しいことに、編集の森田さんから頂けたので早速紹介する。 くだくだしいことなどは後のほうで書くことにして(このページ群はおれにとってはその時考えたことなどを記す日記でもあるからだ)、まず書の要点について書く。 原著は2003年、書はそれの翻訳なので15年以上の歳月を経た準古典だ。何についての準古典かといえば、題名からわかるように開発についてで、なんの開発かと言えばプログラムだ。 一言で言えば、1人でプログラムを開発するときに、どのように開発へのモチベーションを維持しながら、開発そのものをゲーム化して楽しみながら(まあ、1人でプログラムを開発しようとした時点で、それはゲームなのだが、さらにルールをいくつか導入することでゲーム性を

  • L'eclat des jours(2016-09-18)

    _ バトル用ポケモンの組み方 現在のジム状況はCP2000越えのカイリューやカビゴンが主流となっている。 ここで問題となるのは、相手チームのジムに対する攻撃ではなく、自チームのジムに対する道場破りだ。(相手チームはとにかく全滅させれば良いので、こちらも高CPのカイリューを用意してひたすらタコ殴りすれば良い) 例として、レベル3で既に3頭が置かれている自チームのジムに自ポケモンを配備する場合を考える。 素の状態のレベル1のジムの名声は1000、レベル2のジムは2000、レベル3のジムは4000なので、これを8000に持ち上げればレベル4となり、自ポケモンが置ける。 今、ジムにはCP500のカメール(多分、置いてみたかったのだろう)、1900のギャラドス、2000のシャワーズがいるとする。 ここで、CP2800のカイリューで殴り込みをかけてタコ殴りで突破したとする。 この場合、得られる名声はた

  • L'eclat des jours(2016-09-30)

    _ コマンドラインプログラムのライブラリ化 何か問題があると、すぐさまexit(n)とかで抜けてしまうプログラムをライブラリにしなければならず、いろいろ弱ったが、考えてみればそのための大域脱出だった。 たとえば元のプログラムが #inculde <stdio.h> // ... int fatal(char* tmpl, ...) { va_list argp; ... vprintf(tmpl, argp); exit(4); } void do_extract(char* src, char* dst) { ... } int main(int argc, char* argv[]) { if (!strcmp(argv[1], "extract")) do_extract(argv[2], argv[3]); else if (... } だった場合、 #include <setjm

  • L&#39;eclat des jours(2015-12-15)

    _ 明治神宮不思議の森 タモリ倶楽部の録画を見ようとして、ふとが録画して残していたらしきNHKスペシャル明治神宮 不思議の森というのに目がいった。 で、見た。 おもしろかった。 知っているところもたくさんある。 作られたのは大正年間。当時は単なる荒地で、そこに植林して森にしたとか、そういったことだ。あと、立ち入り禁止になっている(参道以外は)とか。 が、大正時代の日らしい壮大な計画があったことはまったく知らなかった。 森の設計をしたのは多静六を中心としたプロジェクトチームで、何を考えたかというと、放置することで150年後に原生林を創り出すというものだ。 最初は針葉樹(荒地に強い松とか)を中心に、常緑広葉樹を混ぜておく。50年後には常緑広葉樹が増え、寿命が短い針葉樹が勢いを減らす。150年後には針葉樹はほぼ消えて常緑広葉樹の森になる。そのためにはどういう間隔でどう種類を植えるか計画する

  • L&#39;eclat des jours(2015-10-12)

    _ C#のGC.KeepAliveの謎 ちょっとSystem.Threading.Timerを使っていろいろ実験しているのだが解せない(追記:猪俣さんに、お前のドキュメントの誤読と指摘されたので、解せなくなくなった)。 以下は期待通りに3秒後にHelloが表示される。変数tの参照箇所はGC.Collectをまたいでいるから、t(その実体はTimerのインスタンス)が保持されるのは当然だ。 using System; using System.Threading; class TimerTest { static void Main() { var t = new Timer(state => Console.WriteLine("Hello!"), null, 3000, Timeout.Infinite); GC.Collect(); Console.Read(); t.Dispose(

  • L&#39;eclat des jours(2015-11-08)

    _ 大江戸Ruby会議 殺されるかも知れないとなれば、人は3階から飛び降りることもできる。しかも踵の骨にヒビが入るくらいで済む。しかしもし保険に入っていなければ600万円くらいの治療費を要求される(NYでは)。 Perlは偉大 正しい実装よりも速度が重要(なこともある) 秘密キーを自分で持つのはやめれ akrさんのライブラリ設計読が技評から出るらしい。でも題は「ライブラリを支える技術」では無い。 RubyはNilクラスがあり、かつオープンクラスなので次のようなこともできる。 class NilClass def method_missing(name, *args) nil end end しかし、これをやるとディスられる。 無駄に顔文字を使う変な人というキャラ設定でTwitする(左手で書くと謎の筆跡の変な人になれるというデュマの知恵みたいだ)。 メディアが百花斉放すれば高品質のコンテン

  • L&#39;eclat des jours(2015-11-09)

    _ 大江戸Ruby会議05の続き たださんの「大江戸Ruby会議05」へ行ってきたを読んで、そういえば、懇親会の前あたりに、「個人的には興味の移り変わりを俯瞰して「ああ、やっぱりetoさんはアーティストなんだなぁ」としみじみ思ったり」な感想を聞いて(もっとなんというか、軽やかに花から花へ飛び回るような印象の言葉で、おそらくtDiaryが15年(というようなことをおれが言ったからかそれとも逆に受けておれが行ったのか忘れた)というようなプロダクト指向(まつもとさんのRubyはそろそろ18歳だか成人だかとかと比較しても良いかな)との違い)、まあそうかなと思いながらも、何かひっかかりを覚えたのだが、ちょっと思い出した。 ひっかかりは、実は興味はそれほど移り変わっていないのではなかろうかということにあった。 ・(名前忘れた)、多分、tracerouteしながら、Webページのリンクを世界地図上で可視

  • L&#39;eclat des jours(2015-08-18)

    _ 調子に乗ったtry with resources 久々にJavaでHTTPクライアントを書いて、そういえば1.4.2の頃はコネクションタイムアウトすら設定できなかったからSocketを使ったなぁとか思い出しながらJDKのドキュメントを眺めているとURLConnectionが随分とまともになっているようで感心しがてら使うことにした。 が、好事魔多し。ついtry with resourcesが使えるので次のように書いて失敗した。 urlconn.setDoOutput(true); urlconn.connect(); String response = null; try (OutputStream os = urlconn.getOutputStream(); InputStream is = urlconn.getInputStream(); ByteArrayOutputStrea

  • L&#39;eclat des jours(2015-06-22)

    _ クヌースのThe Art of Computer Programming 1 アスキーの鈴木さんから分厚い封筒が届いたので、wktkしながら開けるとやはりThe Art of Computer Programmingの1が入っていて、猛烈に嬉しい。ありがとうございます。 世の中には、読むべきであり、読めなくても蔵書しておくべきであり、少なくとも眺めてはおくべきというものがある。でも時代のちょっとした隙間で入手できなくなることがある。また、それはべきべきなので、必ず現時点に何らかのかたちで反映されている。したがって、意識せずとも済ますこともできる。つまり古典というものだ。 その古典の奥付に記された発行者を眺めて、不可思議な感慨を覚える。 1巻は大雑把に(量的に)3つのパートから構成されている。 最初は離散数学で、シグマが山ほど出てくる。O記法(O(n**2)だからダメとかのO記法)もこ

  • L&#39;eclat des jours(2015-02-01)

    _ ゴダールのLINUX シネスィッチでゴダールのさらば、愛の言葉よを観る。 ゴダールには不要なので事前の知識一切なし(いや、ゴダールだという知識はあるわけだが)で行ったら入口で100円払わされて3Dメガネを買わされて驚いた。3Dなのか。 まあ、ゴダールはフィルムからヴィデオへの移行も早かったし、驚くことでもなかった。 初日とあって、会場も8割は埋まっている。 で、始まると、字幕が浮くのは普通として、黒地に白で2D、浮かべて赤字で3Dと出してきて会場に笑いが走る。実に微笑ましい。楽しみまくって作ってる。 アデューの読み替えが繰り返されて、1自然が始まる(という章立てなのかと思いながらみる) 屋の壁側から売り子、机、買い手と3Dで映る。ソルジェニーツィンの収容所列島を読む男、副題は? 秘書なのだろうか女性が何かすると、ググル必要はない(tu n'as pas besoin ? google

  • L&#39;eclat des jours(2015-01-20)

    _ 丸に十字は薩摩芋 天麩羅屋で天丼いながら何気なく壁にかかった日の一品みたいなのを眺めてた。 めごちってのは確かきすみたいな江戸前のやつだよな、とか、ほお雲丹を天麩羅にするのかどんな味になるのだろうか、とか。 で、順番に見て行ったらどうにも不可思議なものがある。 田? 田造りの天麩羅なんてありえないし、それに田ほど四角くない。 達筆? いや、他の品書きからそれはない。 結局降参して店の人にあれは何かと尋ねた。 ああ、あれは丸に十字で島津の家紋なんですよ。 なるほど薩摩か。 なんでもここらがお江戸だった頃からこう書くみたいですね。そう言えば島津製作所のマークも丸に十字だそうですよ。 なるほど、一つ賢くなった。 野菜は野菜各種でまとめてるのかと思ったら薩摩芋は文字通り別格なのか。確かに薩摩芋の天麩羅はうまいからなぁ。

  • L&#39;eclat des jours(2014-10-05)

    _ Linuxのブートプロセスをみる 現時点では今後どうなるのか良くわからないアスキーの鈴木さんからもらったLinuxのブートプロセスをみるを読み始めた。 新装改訂版 Linuxのブートプロセスをみる(白崎博生) 役に立つかどうかは別として無暗におもしろい。 最初はx86(x64)マシンのブートから始まるので、8086互換のリアルモードに始まって、次にプロテクトモード(これ、以前はプロテクトッドモードではないかとかいろいろ言われてたような気がするけど、今はプロテクトモード一択で落ち着いたのかな)経由でx64の場合はさらにIA-32eモードに推移するまでの石の動きの説明で始まる。 説明するにはリアルモードがあるためにセグメントの説明からIOポートの説明まであり、と、どんどん深みにはまっていく。 とにかくx86についての前提知識のために、ある項目を説明するにはある項目の知識が必要で、しかし順序

  • L&#39;eclat des jours(2014-10-01)

    _ ハックの死 「サブカルの巨人」へ始動という記事が日経に出たとき、その「サブカルの巨人」はあるジャンルを捨てた。 よーく考えてみると、いや考えなくても、プログラミング、コンピュータサイエンスといったジャンルは、これまでサブカルであった。それを表現する言葉がハック、ハッカー、ハッキングで、自分たちのことやその行動の最も先鋭的なところをわざわざ乱暴な言葉(ぶった切る、ぶった切り野郎、ぶった切りんこ)で表現してしまう韜晦がいかにもサブカル的でもあった。 ハッカーズ大辞典 (Ascii books)(レイモンド,エリック) その韜晦が、メインカルチャーにはわからぬ。メインカルチャーは50年以上歴史がある文化しか認めぬ、ことからごく一部の黒い帽子の意味として受け止められるというおまけがついたが、それはどうでも良い。 ハッカーズ(スティーブン・レビー) が、ふと気づくととっくに50年以上たってしまっ

  • L&#39;eclat des jours(2014-04-20)

    _ 大江戸Ruby会議04 土曜日は大江戸Ruby会議04で、両国。 特に印象的だったのが、3セッション。いずれもファーストコンタクトではないけれど、境界を越えることについてのセッション。 レオによる、外国人が日仕事を得て、生活を続けるためには、というセッション。続けるが強調点で、当の題はなんだっけかな? persistentじゃないし。 レオに最初に会ったのは、確か、千代田区の学術会館でのRuby会議だったと思うのだが、そう考えるとずいぶん長いことになる。 オーストラリア人のレオが日に来て、日語を習得するまでで、DoとDo Notにうまくまとめていて、実は一番重要なことは他の何ものでもなく人のスマートさだよなぁとか考えてしまうのだけれど、それはそれとして ・言語習得について カルチャーを知る たとえば、2チャンネルを読む わけわからないコラ(というか、吹き出しのセリフ変えを何

  • 取っ掛かりを網羅したUNIX入門書 L'eclat des jours(2014-03-23)

    _ Dart アスキーの鈴木さんからプログラミング言語Dartを頂いた。 また新しい言語か、と思いながらパラパラ見てみると、なんか雰囲気が良いので少しまじめに読んでみた。 JavaScriptJavaとC#の良いとこどりと書いてあるが、特徴は次のところだろう。 ・関数の記述はC#やJavaのラムダ式のように楽ちん。例)(x, y) => x * y ・EclipseベースのIDEが最初から用意されている ・型名の明示が可能(finalのような修飾子もあるし、リストとマップにはジェネリクスも利用できる)なので、型チェックを最初からされるのが好きな開発者でもOK(TODO:varで宣言した変数に限り、JavaScript並の自動型変換がある(便利ではあるけど諸刃の剣なのでそこを宣言で制御できるのなら良いと思った)かどうかは、ぱらぱら読んだだけだとわからなかった) ・クラスベースだが、必ずしも

  • L&#39;eclat des jours(2014-03-10)

    _ 日型ソフトウェア開発 日企業のありかたは、グローバライゼーションしたといっても、まだまだ独特なようだ。 ということを【公開】第30回IT勉強宴会「最近感じる日企業のITの問題と展望~「ソフトを他人に作らせる日、自分で作る米国」を読んで」を見て考えてみる。 これは、江戸時代に端を発する呉服屋システムや、鎌倉時代に端を発する武家システムや、平安時代に端を発する荘園システム(宇治拾遺物語や今昔物語を読めば、五位という係長の悲哀や、右大臣専務の勇断などがごろごろしていて、まるでビジネス小説だ)に(奈良時代は唐の律令制度のパクリとなり、それは平安時代への過程で超克されたのでそこまで遡る必要はない)、明治になって入って来た株式会社システムを和魂洋才した結果生まれたシステムだからだと仮定する。 今昔物語集・宇治拾遺物語 (新明解古典シリーズ (7))(桑原博史) そして、実は、そのシステムは

  • ソフトウェアと出版 - L'eclat des jours(2014-01-11)

    _ ソフトウェアと出版 良く建築に例えられるソフトウェア開発だけど、それは人数と作業数の規模の問題だから(例えば銀行の第3次オンライン開発についてはある程度見知っているからわかるけど、まあ、例えられるのも理解できる)、現在のソフトウェア開発のうち、相当多くはむしろ出版(Webへの掲載を含む)に近いかもなぁと思う。 出版について工程を考えてみよう。 1)企画がある(開発者ベースもあれば編集者ベースもあり、企業持ち込みのPRのようなものもある)。 2)筆者を選定する。場合によると内製もある(=編集者が執筆する)し、グループ執筆もある(UI担当とDB担当とフレームワーク担当みたいなものだ)。 3)執筆作業(その前に企画についての打ち合わせがあって、要件確認とか、非機能要件の擦り合わせもある)。純粋な執筆というのは、プログラミングの中のコーディングに相当すると考えると正しそうだ。「ですます」調でい

  • L&#39;eclat des jours(2014-01-12)

    _ 文章表現 小学校の国語の教科書に、たしか山有三だと思うが、文章の書き方を説明しているものがあって、次のことを学んだ。 ・生な表現はできるだけ避ける たとえば、「寂しかった」とか「悲しかった」のような形容詞を直接使うのを避けるということだ。それはここぞというところでバーンと出す。抑制された末に出てくる直截表現は読むものに強い印象を与える。 したがって、形容詞は基的に情景に語らせる。星ひとつない夜(と書けば「暗い」のは自明なので「暗い夜」と書く必要はない)に一人で豆腐を買いに行かされた。聞こえてくるのは自分の下駄が時々蹴飛ばす石の音だけだ。いつもであれば足元にまとわりついてくるジロのハアハアいう声が聞こえてくるのに、ジロはもういないのだ。とか書いてあれば、飼い犬のジロが死んだので寂しい思いをしているということもわかるから、寂しいとか心細いとか書く必要はない。 具体的な記憶はないのだが、