ブックマーク / bugrammer.hateblo.jp (12)

  • お金の総体が変わらない市場でやりとりしたら、貧富の差が生まれるか? - Line 1: Error: Invalid Blog('by Esehara' )

    今日の風景 貧乏人に再分配された(半額になった)寿司の風景です はじめに 『ベットルームで群論を』という、みすず書房から出ているの中に、「富が一定である閉鎖的なマーケットの中で、平等に富を持ったプレイヤーに対し、ランダムに得する人と損する人を決めていき、ある一定のステップを踏んだ結果、少数の金持ちと、多数の貧民の格差に分かれることになる」という話を載せていた。 この話に興味を持ったので、実際に、そういうモデルを作って、実際に閉鎖的なマーケットで各種のプレイヤーが損と得を繰り返していった結果、貧富の差が生まれるかどうかを実際に簡単なコードでシミュレーションしたいと思う。当然、このモデルは、実際の経済市場とは乖離したものであることは認めざるを得ないが、極端なモデルにも、何らかの示唆は、多分あると思う。 ルール とはいえ、ざっくりとこのようなことを書いたとして、そもそものルールが如何なるものか

    お金の総体が変わらない市場でやりとりしたら、貧富の差が生まれるか? - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2016/09/15
  • PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )

    今日の料理 安物のねぎとろは、納豆と良くあう。 前提 はじめてのにき(2016-06-16) より。 このエントリの立ち位置について 元々はPythonを勉強していたのだけれども、仕事の関係上、Rubyを主軸にすることにした人間のエントリです。ちなみに、PythonRubyの立ち位置には詳しくなく、主観を元に構成されているので、客観的な部分に関しては弱いことをお断りしておく。また、現時点での知識が2.7になっているので、3.5では多少違う点があるかもしれない。 なぜならPythonのほうが「わかりやすかった」から まず最初に、Pythonのほうが機械科学系の人に支持されやすい傾向としてあるのは、Pythonのライブラリ、例えばNumpyであったり、Scipy、または各種機械学習系のライブラリなどの影響が大きいのは間違いない。最近の機械学習ブームのせいなのか、Pythonも「エモい人(エモ

    PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2016/06/18
    “(Lispを書くのはもっと楽しいよ;) )”
  • オブジェクト指向について考えたいので、Lispでオブジェクトもどきみたいなものを実装してみる - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 最近になって、「関数型とは何か」みたいな文章が増えている。それらの文章は玉石混交しているし、技術的ではない部分も多いので、自嘲の意味で「ポエム」と自ら呼んでいたりする。その関係もあってか、手元にある『On Lisp』と『実用Common Lisp』にある「Lispによるオブジェクト指向」に関する章を読んだりしていた。そこで、考えたことをメモしておく。 以下、利用している処理系はRacket languageを想定している。 Lispでオブジェクト指向っぽいものを作ってみる この項目はLispによってオブジェクト指向を作るための道筋みたいなものである。もし、Lispに興味が無ければ、一挙に飛ばしてもいい。 はじまり よく言われているように、「関数型」と呼ばれる言語の特徴として「副作用」をできるだけ排除する傾向にある、ということはできる。副作用とは、ある変数などにおいて変化を発生させ

    オブジェクト指向について考えたいので、Lispでオブジェクトもどきみたいなものを実装してみる - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2015/01/29
  • 副作用がある中において「どれとどれが同じものなのか」っていうのを考えるのは難しいという話 - Line 1: Error: Invalid Blog('by Esehara' )

    zu2
    zu2 2015/01/29
  • 迫り来る「forおじさん」と呼ばれる時代 - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 今となっては、プログラマにとってなんとなく理解して利用できることが当たり前になりつつあるオブジェクト指向ですが、しかし、それこそ今から数年前には、この「オブジェクト指向」というのは、いわばおじさん達が変な方針を打ち出したりして「え、それ変な実装方針じゃねえの」というツッコミが入ったりしていました(ちなみにそのあたりの雰囲気については、この記事を読むと分かりやすいでしょう)。 もちろん、これはこれなりにメリットがあるのかもしれませんが、しかしそれはまた別のオブジェクト指向を利用したモデリングと比較してのことであって、「これだけでいい」と考える人はいないでしょう。 原則: だってそのほうが開発しやすいから まず最初に原則を考える必要があります。まずひとつに、必ずしもオブジェクト指向が正しいモデリングの方法ではないこと。少なくとも自分が思うに、オブジェクト指向を使うべき理由というのは、

    迫り来る「forおじさん」と呼ばれる時代 - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2014/06/20
  • 最近、ソーシャル系Webアプリで見たダメなAPIパターンについて - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 多くのWebサービスが、ブラウザ上で、JavaScriptの連携を行ったり、あるいはモバイルアプリとの連携のために、サービスの操作を行うためのAPIを作っている場合がありますが、多くの場合、そのあたりのAPIで、クリティカルではないのだけれど、ちょっと困るかたちのAPIになっていたりします。 自分は、そういうAPIをいじって遊ぶのが趣味で、Webサービス開発者としては多少迷惑なユーザーかもしれません。その中で、幾つか、初歩的だけど意図しない挙動になりがちな部分についてメモしておきます。 サービスでのアクションを行うユーザーのIDを直接渡してしまっているパターン こういうタイプのAPIは、1年に一度くらいなのですが、当にたまに見ます。具体的には下のようなURLだったりします。 http://example.com/follow?user_id=333&follow=999 普通に

    最近、ソーシャル系Webアプリで見たダメなAPIパターンについて - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2014/05/07
  • ユーザーインターフェイスのリニューアルにおけるユーザーの覚えなおしコストについて - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに そういえば、最近はUbuntuからWindows 8を使いなおしている。なんでWindows 8をあえて使っているのかというと、それはいろいろな人が「使いにくい」と言っていたからだ。だから、その使いにくさを体験したいために、あえて使ってみているんだけど、その評判と違って普通に使いやすくなっていて驚いた。 少なくとも以前みたいな「スタートメニュー地獄(何かのアプリをインストールするたびにフォルダが増えていくアレ)」はなく、基的にスタートのタイル画面からアプリにアクセスすることを考えると悪くない。そしてそのタイル画面にアプリを登録するのも簡単だ。また、それらのライブアプリを並べることが出来るので、デスクトップ画面で何かを作業しながら、スケジュールを入力するのも楽だ。それらの基的にアプリにしても検索を中心にアクセスするという意味ではUbuntuのUnityで慣れているので、悪くはな

    ユーザーインターフェイスのリニューアルにおけるユーザーの覚えなおしコストについて - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2014/04/10
    同感
  • スタートアップでインフラを見てまわって感じた、初歩的なアンチパターンについて - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 今、いわゆるWebサービス系のベンチャーのお手伝いをしている。基的に、自分の役割としてはサーバーサイドのプログラマであるのだけれども、こういうベンチャーの常として、インフラ担当だとか、サーバーサイド担当だとかいう明確な区別をしない、あるいは出来るほど人がいなかったりする。自分のところもそうで、結果として過去にWebサービスをデプロイしていた経験と、普段使っている愛用のOSがUbuntuであるという部分から、結果として障害があったりした場合に、インフラを見ることになる。 とはいえ、最初から完璧なインフラは存在しない。例えばWebサービスを作るために勢いで作ったインフラがそのまま放置されていたり、あるいは、最初は考えられたインフラ構成であったとしても、だんだんとそれが足かせになったり、あるいは考え方によっては、もっとインフラのコストをさげて、プログラミングに集中できる可能性がある。

    スタートアップでインフラを見てまわって感じた、初歩的なアンチパターンについて - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2014/02/24
  • 優秀なエンジニアがいなくてもやっていくために - Line 1: Error: Invalid Blog('by Esehara' )

    ITの世界には「銀の弾丸は存在しない」という合言葉がある。これはどうやら狼やドラキュラを退治するときの道具が「銀の弾」らしく、古典的な名著であり、未だに参照され続けている『人月の神話』というに収められている論文から来ているらしい。なぜ、「銀の弾丸は存在しない」と言われるのかというと、ある諸問題に関して一気に片付けられるような、そういう解決策は無い。少なくともそれらの問題に関しては泥臭く、忍耐を持って接しないといけないという話だ。川を綺麗にするためには根気よく缶を拾ったりしなければいけないのと似たようなものだろう。 元のドラキュラの話を知らないので、Wikipediaで聞きかじりに語るのだが、そもそも「銀の弾丸」といったところで、その「銀の弾丸」を使う存在というものがいる。ドラキュラの場合、それが「ヘルシング教授」である。ヘルシングといえば平野耕太の漫画を思い出すが、どうやら原作のドラキュ

    優秀なエンジニアがいなくてもやっていくために - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2013/11/24
  • 他人の技術に興味や関心を持つということ - Line 1: Error: Invalid Blog('by Esehara' )

    暫くスタートアップのお手伝いをしている。最近やったのだと、下のような感じ。 jeffh/sniffer · GitHubを使ってSphinxでDocstringをぶん投げる DjangoとJenkinsを連帯させ、ローカルでテストを廻す blockdiagを使ったモデル関係の整理 Muninを導入して、落ちる原因になってるサーバーリソースの監視 Hipchatを使っているので、GitHubやPivotal Trackerを連携させる Hipchatの遊び心としてHubotの導入 django開発の基礎としてBeProud社の『Pythonプロフェッショナルプログラミング』を薦める そんな感じ。上のことがどれだけ効いているかはわからないけれど、自分が楽しんでやれる環境に整備し、あとは他の人にも「だいぶ楽になったなー」という気持ちになれれば、こっちとしては万々歳。もしかしたら半分くらいは自己満

    他人の技術に興味や関心を持つということ - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2013/11/20
  • Pythonのlambdaだけで、Schemeのcond(条件分岐)っぽいものを実装する長い道のり - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 最近はずっとScheme(いわゆるLispの方言)とかそういうのをいじっていたせいなのか、「あー、関数型っぽく考えてえなあ」という、いわゆる関二病(関数型言語を勉強して二ヶ月目にかかる病気)になってしまっていた。で、そういった「関数型」によくあるアプローチをPythonで書き直した場合は、どういう形になるのだろうか、と思ったので、興味がてら、幾つかのサンプルを書いてみる。最初に、condを実装してみようと思う。 ちなみに、同じようなことを過去に考えていた人はいたようで、fn.pyという名前で公開されていたりします。 実装 例えば、今から階乗を算出する関数を定義してみます。この場合、関数を定義するのに、lambdaだけしか使えない、という縛りをつけます。もちろん、既存の階乗を求める関数を使ってもいけない、とします。 まず、単純に関数のテンプレートを考えてみます。関数のテンプレートは

    Pythonのlambdaだけで、Schemeのcond(条件分岐)っぽいものを実装する長い道のり - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2013/07/27
  • 俺が25歳の頃にプログラマーになる機会があった話、そしてプログラマーにならなかった話 - Line 1: Error: Invalid Blog('by Esehara' )

    いま、『計算機プログラムの構造と解釈』 を読んでいたりしていた関係で、その辺について書かれた「Javaスクールの危険 - The Joel on Software Translation Project」の文章を興味深く読んでいた。この文章を読みながら、「そういえば俺も知人の紹介でJavaを教えて派遣するという奴を受けたな」ということを思い出した。今回はそのことについて書いておこうと思った。もう時効だからいいと思う。 25歳の頃の俺 25歳の頃、俺は無職だった。当時、グッドウィルというものがあって、今じゃてんで気かなくなった企業だけど(Wikipediaを見たら廃業していた)、当時は日雇いということでブイブイ言わせていた企業だ。そこで俺は毎日をすごすための小銭を得ていた。そのときに、知人に「もしプログラマーになりたければ、Javaを教えていているところがあるよ」と言われた。俺はそれに興味を

    俺が25歳の頃にプログラマーになる機会があった話、そしてプログラマーにならなかった話 - Line 1: Error: Invalid Blog('by Esehara' )
    zu2
    zu2 2013/07/14
    「それを業務履歴として使い(!)派遣する」/
  • 1