タグ

Programmingに関するhtktyoのブックマーク (100)

  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • B木 - naoyaのはてなダイアリー

    昨年から続いているアルゴリズムイントロダクション輪講も、早いもので次は18章です。18章のテーマはB木(B Tree, Bツリー) です。B木はマルチウェイ平衡木(多分木による平衡木)で、データベースやファイルシステムなどでも良く使われる重要なデータ構造です。B木は一つの木の頂点にぶら下がる枝の数の下限と上限を設けた上、常に平衡木であることを制約としたデータ構造になります。 輪講の予習がてら、B木を Python で実装してみました。ソースコードを最後に掲載します。以下は B木に関する考察です。 B木がなぜ重要なのか B木が重要なのは、B木(の変種であるB+木*1など)が二次記憶装置上で効率良く操作できるように設計されたデータ構造だからです。データベースを利用するウェブアプリケーションなど、二次記憶(ハードディスク)上の大量のデータを扱うソフトウェアを運用した経験がある方なら、いかにディ

    B木 - naoyaのはてなダイアリー
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • マスタリングPerl

    書は、Perl構文の基を指南する『初めてのPerl』、再利用可能なPerlソフトウェアを作成する方法を教える『続・初めてのPerl』に次ぐ3番目の書籍として位置付けられるものです。このシリーズ完結編の役割を担っていて、Perlを意のままに自由に操るための方法を伝授します。優れた技を集めたトリック集ではなく、Perlプログラミングについての考え方を説いています。つまりプログラマが日々直面するデバッギング、メンテナンス、設定といった現実の問題を扱えるようになるための解説書なのです。Perlマスタになるために、もしくは解決策を見つけ出す方法を知る、あるいは問題を発見する方法を知る先達(案内人)になるために読むべき書物でしょう。 まえがき はじめに 1章 Perlマスタになる 1.1 Perlマスタになるとはどういうことを意味するのか 1.2 書の対象読者 1.3 書の読み方 1.4 

    マスタリングPerl
  • 「モダンPerl入門」書きました。 - D-6 [相変わらず根無し]

    「モダンPerl入門」書きました。 モダンPerl入門 今みたらAmazonでも表紙が入稿されたらしいので宣伝させていただきます。えー、モダンPerl入門というを翔泳社さんから出版させていただくことになりました。でも最初に断っておきます。誤字脱字はある気がします。ごめんなさいごめんなさい。日語不得手なんです(こういう時だけ帰国子女カードを使わせていただきます)。 ともあれ、内容的には自分が普段Perlを使っていて、同僚とかに知っておいてほしいな、って思っている実践的な内容ばかり書きました。このはたとえPerlがメインの言語ではなくともPerl仕事で使っていて、なおかつ初級〜中級のあたりでうろうろしてしまっている人たち向けに書いています。初級者向けの構文説明はほとんどありません。上級者向けのわけわかんないところはXS以外ありません(はい、XSの入門あります)。ほとんどは、Perlで業

  • ヒビノアワ: 変数についてどう説明するのがいいのだろうか

    プログラミングの入門書を読むのが好きです。 プログラミングをまったく知らない人に、どうやって説明するのかというプロセスに興味があるのですね。 で、読んでいるとたいていので変数の説明として「箱」というメタファを出してくるのです。 変数は箱のようなもので、Aという箱に数値を入れてうんぬん......。 たしかに、分かりやすいことは分かりやすいんだけど、C言語のポインタでつまづく人が多いのって、この「箱」の例えが良くないんじゃないかなーと思った。 箱から、メモリのアドレスへと飛躍するのはなかなか難しいのではないでしょうか。 で、そんなことをつらつら考えていて、思いついたのが、変数ってのは「巻物のある場所に名前を書いた付箋を貼る」ことっていう説明の方法。 巻物があると思ってくださいよ。 結構長い巻物。 その頭から、10センチのところに「100」って数字を書いてみる。 で、そこに「A」って名前を書

  • Haskell programming tips- 他人のHaskell日記 - haskell

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Haskell programming tips- 他人のHaskell日記 - haskell
  • LL future メモ - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥

    朝から晩まで11時間くらいやってた。皆さんお疲れ様でした。 きいたことを即時忘れるタイプなのでメモとっといてよかった。しかし整形する気力がない。 はてな記法を把握してないためところどころおかしいと思う、察してください。あと発表者が言ってないことを書いてあったりする。 ラリー先生基調講演 ききのがしたやんけ LLで未来を発明する 100年後の言語とは まつもと: プログラミング言語とか使わないんじゃね(普通の人にとってはそうなってる) sumii: MiniCaml作った/わかりません/チャーチのλ計算が100年前/電子計算機でなくてもプログラミングは可能かつ必要 数百年前:関数(ライプニッツ、オイラー)、変数(古代ギリシャ、16世紀(ヴィエタ)、ユークリッドの互除法(AC300) GC50年代、ジェネリクス70年代…… 予想することも意図して発明することもできない でも予想してみると、自然

    LL future メモ - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • kur.jp - C言語入門者がポインタで躓く3つの理由

    kur.jp バイオリンと自転車をこよなく愛する大学院生のチラシの裏.たまーに技術的なことも書いたりするかも知れません. Home About Me Link 先日,とある一部上場企業で,「技術系新入社員の方にC言語を教える」と言う,とても楽しいイベントがありました. この講義では,Windows環境にCygwinのインストールから始まって,関数やポインタや構造体等を学び,10日かけてC言語を一通り使えるようになってもらおうと言うものです.さすがに業務として受講しているからか受講生は真剣そのもの.教えるほうにも,ついつい熱が入ります. ところで,この講義では,座学の時間よりも演習の時間をたっぷり取って,受講生に,自分の手を動かしてプログラムを組んでもらっています.具体的には,講義時 間の3分の2以上を演習と,その解説に当てています.演習時間中は,教室の中を歩き回って,どんなプログラムを書い

  • 集合知プログラミング

    TOPICS Programming , Web , Python 発行年月日 2008年07月 PRINT LENGTH 392 ISBN 978-4-87311-364-7 原書 Programming Collective Intelligence FORMAT Print 書は現在注目を集めている「集合知(collective intelligence)」をテーマにした書籍です。機械学習のアルゴリズムと統計を使ってウェブのユーザが生み出した膨大なデータを分析、解釈する方法を、基礎から分かりやすく解説します。書で紹介するのは「購入・レンタルした商品の情報を利用した推薦システム」、「膨大なデータから類似したアイテムを発見し、クラスタリングする方法」、「数多くの解決策の中から最適なものを探し出す方法」、「オークションの最終価格を予想する方法」、「カップルになりそうなペアを探す方法」、

    集合知プログラミング
  • Franz Inc. Downloads

    AllegroGraph RDFStore Free Edition, including Java and Python clients Semantic Technologies Downloads AllegroGraph Clients - Java, Phthon, C#, Clojure, Scala, Ruby, Perl, Lisp Gruff - A Grapher-Based Triple-Store Browser for AllegroGraph RDFStore. AGWebView - Web Browser Server for AllegroGraph RDF Stores. TopBraid Composer - Integrated Development Environment for Semantic Web applications. Allegr

  • ウノウラボ Unoh Labs: gdbの使い方

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: gdbの使い方
  • ZDNetのポインタ解説記事で勘違い | スラド デベロッパー

    ZDNetに C/C++のポインタの機能 — 参照渡しのような処理というポインタの解説記事があるのだが、 中身がなかなか香ばしい。コメントにもあるように、記事の間違いを探すということで ポイントを理解させるというネタには使えるのだろうか。

    htktyo
    htktyo 2008/04/03
    あとで
  • gauche.night2008で発表しました

    gauche.night2008のgauche.gongで発表した。プレゼンはこちら。 Gaucheでを作る http://www.slideshare.net/guest7a66b8/gauche/ このプレゼンそのものが、下書きのテキストに気ままにXMLっぽいタグを付けて、それからXML→LaTeXへの変換ルールを定義して、そのルールを使ってxml2tex.scmで変換して作ったもの。(実際にルールを使って変換してるのは、latex.scmとcnvr.scm。) 仕様の定かでないタグ付けテキストから、いかにちょっとのコードでLaTeXへの変換ルールを作れるかってところを最後にデモで見てほしかったんだったんだけど、時間が足りなかったのでここで補足。 たとえば、1ページ目のPDFはこんな感じで、 原稿はこんなだったんだけど、<page> <p0>Gaucheでを作る</p0> <p3

    gauche.night2008で発表しました
  • 鵜飼文敏さんの講演「ハッカーのソフトウェアエンジニアリング」の動画を公開しました:ITpro Challenge! ブログ:ITpro

    お待たせいたしました。第2弾,Debian Project/Google ソフトウェアエンジニア鵜飼文敏さんの講演動画です。

    鵜飼文敏さんの講演「ハッカーのソフトウェアエンジニアリング」の動画を公開しました:ITpro Challenge! ブログ:ITpro
  • 第14回 型=命題,プログラム=証明

    MLの型と型推論 この連載でも何回か触れたが,MLやHaskellなど多くの静的型付き関数型言語には,「型推論」という機能がある。これは,プログラム中の変数や関数の型を省略しても,「もっとも一般的」な型を言語処理系が勝手に推論してくれる,という機能だ。 例えば,次のように,二つの引数xとyを受け取って,(x, y)という組を返す関数pairを定義してみよう。 > ocaml Objective Caml version 3.10.0 # let pair = fun x y -> (x, y) ;; val pair : 'a -> 'b -> 'a * 'b = <fun> # このように,pairは「何らかの型'aを持つ値と,何らかの型'bを持つ値を受け取り,'a型の値と'b型の値の組を返す」と推論される。一般に,t1 -> t2は,型t1の値を受け取って,型t2の値を返す関数の型であ

    第14回 型=命題,プログラム=証明
    htktyo
    htktyo 2007/09/18
    あとで
  • はてなスターはじまった

    2007-09-14 ソースコードにスターを付ける yappo さんの CodeRepos にて、リポジトリブラウザに☆が付けられるようになってる。 この発想は斬新…。 地名しりとりの件でも思ったけど、やっぱり Permalink 重要。 日記だけじゃなくて人や物や地名やコードでも、 Web の世界では Permalink が付くことによって初めて命を吹き込まれるという気がする。 (メタ情報の収集単位が Permalink になるのか) スターが付いたページ一覧 otsuneさんのTwitterで知ったけど、あるドメインに付けられたスターの一覧を見ることができる。 CodeReposとか地名しりとりとか。 スターを付けた人のつながり はてなスター日記より。 日、はてな内のお気に入りのユーザー情報を取得できる「お気に入りAPI」(Favorites API)を公開しました。 はてな認証AP

    はてなスターはじまった
  • k16's note

  • LL魂(LLSpirit)に行ってきましたよ - sshi.Continual

    奇跡的に遅刻もせず参加。これまた奇跡的に途中眠りこけることもなく、大変楽しめました。ボランティアで支えてるスタッフさん達に感謝感謝。ああいう運営は大変だろうなあ。 忘れないうちに誤解と偏見もそのまま列挙。個人的には振幅の激しい一日だった。 あまりに長いので久し振りにおりたたみ。後で書きたしたりするかもしれません。 和田先生の話 いつもの(っていっても数回しか聞いたことないが)和田節健在。やっぱりおもしろい。 ハック魂なお題でソフトウェアじゃなくてハードウェア的なものを持ってくるのも技有り。 ダヴィンチ展は僕も見にいったけど、その時もダヴィンチが今の時代に生まれてたらハッカーになってたかもな、とは思った。 いつぞやの、計算尺シミュレータも思いだした。 Language Update Perl 、、の話はよくわからない、というか他人事としか聞こえてこない…。 Io やっぱりおもしろそうだ。Jo

    LL魂(LLSpirit)に行ってきましたよ - sshi.Continual