タグ

Programmingに関するnaoty_kのブックマーク (15)

  • 普通のやつらの上を行け ---Beating the Averages---Beating the Averages

    普通のやつらの上を行け ---Beating the Averages--- 著者:Paul Graham Copyright 2001 by Paul Graham これは、Paul Graham: Beating the Averages を、原著者の許可を得て翻訳・公開するものです。 プロジェクト杉田玄白正式参加テキスト。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2001 by Paul Graham 原文: http://www.paulgraham.com/avg.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> 文中、Eric Raymondの "How to bec

    普通のやつらの上を行け ---Beating the Averages---Beating the Averages
  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • 確率的プログラミングが重要な理由 | POSTD

    先週、DARPAが確率的プログラミング言語に関する研究に資金を提供するための新たなプログラムを発表しました。関連記事では、このニュースが重要な理由について明らかな見解が示されていましたが、確率的プログラミング言語は新たな研究領域であり、人工知能に興味を寄せる大多数の人々にとっても未知の分野です。 では、確率的プログラミングはどういうもので、なぜ重要なのでしょうか。以下に私の考えを記しましたので読んでください。 確率的プログラミング言語は第一級プリミティブとして無作為事象を含む言語です。質的なプログラミング言語の表現が無作為事象に影響する場合、洗練された 体系的な確率論的プロセス 、すなわちデータまたは観測結果の収集を行うために、開発者はその環境で発生した可能性のある事象の確率的モデルを、容易にエンコードできます。 しかし確率的モデルをコンピュータプログラムとして記述することは、単なる構文

    確率的プログラミングが重要な理由 | POSTD
  • アリスとボブ - Wikipedia

    アリス、ボブ、マロリーのイメージ図 アリスとボブ(英: Alice and Bob)は、暗号通信などの分野で、プロトコル等を説明する際に想定上の当事者として登場する典型的なキャラクター。"当事者Aが当事者Bに情報を送信するとして"のような説明文では、段階の増えた体系になるにつれ追いにくくなる。そのため、こういった具体的人名が好んで使われる。 暗号やコンピュータセキュリティでは、さまざまなプロトコルの説明や議論に登場する当事者の名前として広く使われる名前が数多くある。こういう名前は慣用的、暗示的で、ときとしてユーモアに富み、事実上メタ構文変数のように振る舞う。 典型的なプロトコル実装においては、アリスやボブのあらわす実体が自然人であるとはかぎらない。むしろコンピュータプログラムのように、信頼され自動化された代行者であることが多い。 キャラクターの一覧[編集] この一覧のほとんどは、ブルース・

    アリスとボブ - Wikipedia
  • Project Euler - PukiWiki

    Project Euler † プログラムで解く数学の問題集です。 公式サイト 適当に和訳してます。我こそはと思う人はライセンスを確認した上で自由に書いてください。 ↑

  • About - Project Euler

    About Project Euler What is Project Euler? Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. The motivation for starting Project Euler, and

    About - Project Euler
  • 桐島、Rubyやめるってよ #odrk03 - I am Cruby!

    大江戸Ruby会議03の招待講演として発表してきました。たのしかったです!! 桐島、Rubyやめるってよ from Narihiro Nakamura 「思いっきりエモい(emotional)、コードが一行も出てこないプレゼン」をRubyKaigi系列で一度やってみたいという思いがあり、上記のようなネタを考えてみました。 ただ、かなり幅広い層に見られる(古参Rubyist、初心者Rubyist、コミッタ)こともあり、いずれの層にも楽しんでもらえる話にしなければ、と思って、だいぶネタを練りました。 特に超練度が高いRubyistたちにどのように受け入れられるか心配ではあったのですが、artonさんや咳さんに「面白かった」と言ってもらえてホッとしました。 懇親会等ではありがたいことにみなさんから絶賛系のコメントをいただくことが多く、逆に心配になるくらいだったのですけど、akrさんだけは「目的オ

  • 動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log

    自分の思考を整理する意味でも、件のアレについて考えたことを書いてみる。 変数に型がないということの利点について考える - サンプルコードによるPerl入門 http://d.hatena.ne.jp/perlcodesample/20130227/1361928810 この件に触れることはプログラマとしての中二病である。恥ずかしい。マジレス乙だ。 でも気づいたら5000文字も書いてしまったし、公開して酒のんで寝る。 型のフローは機械のためだけでなく、人間に対するものでもある 最近TypeScriptを書いている。こいつを使って、二次元座標上で二点間を求める関数、getDistanceを定義してみよう。 interface IPoint { x: Number; y: Number; } var getDistance = (a:IPoint, b:IPoint): Number => Ma

    動的型とか静的型の話の前に「作者の気持ち」を考えろ - mizchi log
  • 雑談 - hitode909の日記

    使って満足感のある、安心して使える、国産の、高級感のあるソフトウェアを作りたい。そのためには、ソースコードを最高に読みやすくて何の欠点もない状態にしなければならない。 例えば、このサッカーボールはどのようにして作られているのですかって聞いたときに、ブラジルの子供たちを学校にも行かせず労働させて作っていますみたいな感じだと、そういう感じでは縫い目のなめらかさまでこだわれなくて、転がればいいくらいの雰囲気になると思う。 ところで、このソフトウェアは古いよくわからないコードをよくわからないまま適当に書き換えて作りましたって聞くと、心配になると思う。 コードの品質が悪いと新たな機能を追加したり、不具合を修正するのが難しくなる。 コード読んでも、どこを変えれば良いか分からなくて、前に似たようなことをした人の手順を聞いて、その通りに真似して書いて動けば完成みたいになる。 実際どこでどうなって動いている

    雑談 - hitode909の日記
  • 言語機能としての型、概念としての型 - プログラマーの脳みそ

    某エントリが型について再考するきっかけになったのは事実だが、個々人の思想の成否を問う気がないのでとくにリンクはしない。ここでは型とは何かという点について僕なりの思想を記しておきたい。 データ型を区別しない世界 ごくシンプルなチューリングマシンを考えよう。 チューリングの仮想機械は、 無限に長いテープ その中に格納された情報を読み書きするヘッド 機械の内部状態を記憶するメモリ で構成され、内部状態とヘッドから読み出した情報の組み合わせに応じて、次の動作を実行する。 ヘッド位置のテープに情報を書き込む 機械の内部状態を変える ヘッドを右か左に一つ移動する 上の動作を、機械は内部状態が停止状態になるまで反復して実行し続ける。 チューリングマシン この原始的な世界において「型」はない。メモリは抽象的で全てのメモリは同等に扱われ区別する必要はない。 また、チューリングマシンに程近い原始的なプログラム

    言語機能としての型、概念としての型 - プログラマーの脳みそ
  • iPad miniで持ち歩けるコーディング環境を作る

    iPad mini + Cellularを朝一番から並んで買いました!軽くてLTEでネットが使えるということで、外に持ち歩き端末としてはApple史上最高な端末です。 しかし、私は出かけるときには常にコードを書ける環境を持って歩きたいので、結局MacbookProかAirを持って出かけることになってしまいます。 最近、MBP15に代えたのでちょっと持ち歩きが厳しいなと思っていたので、この際iPad miniでコードを書く環境を構築することにしました。 まずはキーボード。前に買ってあったrapoo E-6300をBluetoothで接続してみます。一発でつながったし、サイズ感も良い感じです。 蓋になる形のキーボードも出ているようですが、とりあえずE-6300で問題なさげ。 次にメインとなるエディタです。iPadでソースコードを書くのに適していて、Dropboxに対応しているエディタといえば、

    iPad miniで持ち歩けるコーディング環境を作る
  • ハッカーと遅延評価勉強法 - LukeSilvia’s diary

    の(というかはてな界隈)ハッカーはほぼ「遅延評価勉強法」をしている気がします。 僕はまだまだ世界のハッカーについて詳しくもないし、日ハッカーですら、はてな界隈で有名な人を知っているくらいです。それでも、上記のような確信を持ちました。 遅延評価勉強法とは 遅延評価勉強法とは、僕が知る限りでは、id:amachangさんのブログで作られた造語です。元はプログラム用語の「遅延評価」から来ています。 「遅延評価」という言葉を調べてみると、「ある式を、その結果が当に必要になる時点までは評価しないでおくテクニック」とあります。そのメリットは、「条件次第で捨ててしまうような値を事前に準備することは非効率的である。このような場合遅延評価を行うと必要なときだけ値が計算されるので計算量を低減できる」とありました。 ここから遅延評価勉強法とは、「その知識が必要になった時に初めて勉強する方法」です。もっ

    ハッカーと遅延評価勉強法 - LukeSilvia’s diary
  • 私の言語遅延学習法 - 三つのルール+1 : 404 Blog Not Found

    2008年02月09日00:05 カテゴリLightweight Languages 私の言語遅延学習法 - 三つのルール+1 つっこみが遅くなりました。 新しくプログラミング言語を覚えたいときに行うべき10の練習問題 | IDEA*IDEA 404の人とかが突っ込んでくれそうな気がするので気軽にいってみます。 いい機会なので、私の言語学習法をこの際披露することにしましょう。 私の場合、一番の特徴は、「必要を感じるまで学ばない」「当の問題に出会った時に、それを全力で解く」「学ぶ時には『原典』に当たる」ということでしょうか。私はこれを「遅延学習」と呼んでおります。実はこのことはコンピューター言語に限った事ではないのですが、コンピューター言語の場合、このことが特に顕著です。これらの特徴について一つずつ解説してみましょう。 必要を感じるまで学ばない 私の場合、長らく「プログラマー」としてより「

    私の言語遅延学習法 - 三つのルール+1 : 404 Blog Not Found
  • ぼくはこうしてプログラミングを覚えた

    オリジナルはココです。フェイスブックのエンジニアでで史上ベスト3に入るといわれるEvan Priestley氏への質問「どうやってプログラミングを覚えましたか」に対する人からの答えです。 手短かに言えば 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた)過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)で散々遊んだ。8歳か9歳

  • 情報系の学生がやっておくべき10000のこと - nokunoの日記

    「情報系の学生がやっておくべき10000のこと」というタイトルの記事があったので、何事かと思いました。10000 things all ICS students should do before graduating | Tagide10000個もあるのか…とびっくりしましたが、よく読むと2進数で書かれていて、16個という意味でした。内容もとても良いことを言っていると思うので、簡単に紹介してみます。 0000 – 自分のドメインを買う 0001 – Apacheをインストールして設定をいじる(複数ドメイン対応とか) 0010 – WordPressをインストールしてブログを書く。文章スキルも大事。 0011 – 自分のウェブサイトを運営する 0100 – LAMPでウェブアプリを書く。少なくとも1つ、できればPHPPythonで。 0101 – 自分のサーバー(物理orクラウド)を持つ

  • 1