タグ

programmingに関するauthorNariのブックマーク (12)

  • 手作り有限状態機械で字句解析

    a.py #!/usr/bin/env python class Parser(object): def __init__(self): self.parse1 = self.parse_main self.items = [] self.item = '' return def feed(self, text): i = 0 while i < len(text): (self.parse1, i) = self.parse1(text, i) return def parse_main(self, text, i): c = text[i] if c == ',': self.finish_item() return (self.parse_main, i+1) elif c == '"': return (self.parse_quote, i+1) elif c == '\\':

    authorNari
    authorNari 2010/01/28
    正規表現よりも(場合によっては)扱いやすい
  • DRY (Don't Repeat Yoursel) の意味を勘違いしてたかも - kなんとかの日記

    なんか、DRY の原則をすっげー勘違いしてたかも。 The DRY (Don't Repeat Yourself) Principle states: Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. http://c2.com/cgi/wiki?DontRepeatYourself DRY (Don't Repeat Yourself) っていうから、単に「同じことを繰り返さない」という意味だと思っていた。だから、たとえば class Node end class Element < Node def accept(visitor) visitor.visit_element(self) end end class Text < N

    DRY (Don't Repeat Yoursel) の意味を勘違いしてたかも - kなんとかの日記
    authorNari
    authorNari 2009/01/06
    DRY, 意味
  • InfoQ: コードカバレッジには要注意

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    InfoQ: コードカバレッジには要注意
    authorNari
    authorNari 2008/11/28
    coverage,
  • 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

  • http://www.atdot.net/~ko1/diary/edit_comment.cgi?mode=edit&year=2005&month=4&day=15

    authorNari
    authorNari 2008/10/18
    thread, write-free, lock-free, CAS, コンペアアンドスワップ
  • ユメのチカラ: プログラミングはパッションだ

    この夏、セキュリティ&プログラミングキャンプとU-20プログラミングコンテストの実行委員、審査委員をした。若い人達のプログラムに対する姿勢を身近に接っする機会があった。 キャンプは4泊5日の長丁場だし、U-20プログラミングコンテストの審査は一次審査、最終審査それぞれ丸々一日、ずっぽり若者のプログラムにひたりっぱなしであった。体力勝負の感もなくはないが彼等の発想を真のあたりにする大変貴重な機会となった。 プログラミングの技能(テクニック)はおそらく座学でも伝達できる。細い技術的な事は授業することができる。だけど、プログラミングの楽しさや面白さをどう伝えたらばいいのだろう。プログラミング言語の文法を教えることがプログラミングの楽しさを伝えることになるのか、デバッガのコマンドを教えることがプログラミングの面白さを伝えることになるのか。 コンピュータの仕組をしらなければ、プログラミング言語の文法

    authorNari
    authorNari 2008/09/04
    素晴らしい文章
  • 情報処理学会 プログラミング研究会

    IPSJ Special Interest Group on Programming 新着情報 第151回プログラミング研究発表会 (PRO-2024-3) の案内を掲載しました.(2024-07) 2024年11月12-13日の開催 第150回プログラミング研究発表会 (PRO-2024-2) の案内を掲載しました.(2024-05) 2024年8月7-9日の開催(SWoPP2024内。共催研究会と調整の上,PROのセッションのスケジュールを決定します。) 第149回プログラミング研究発表会 (PRO-2024-1) の案内を掲載しました.(2024-02) 2024年6月13日の開催 第148回プログラミング研究発表会 (PRO-2023-5) の案内を掲載しました.(2023-12) 2024年3月21-22日の開催 第147回プログラミング研究発表会 (PRO-2023-4) の案

    情報処理学会 プログラミング研究会
    authorNari
    authorNari 2008/07/15
    イベント、松江、テルサ
  • ドメイン特化言語は英語のように書くべきではない

    良いドメイン特化言語 (DSL) とは、プログラマ以外でも読むことができる英語のようなものだと広く言われている。Dave Thomas氏は、DSLは自然言語にできる限り近づくものではない(source)と主張し、そのような考え方に反対する。 さらに、これをDSL設計の指針とすることがむしろ有害であると主張する。また、彼が信じていることがDSL設計では重要であることを強調し、必ずしも英語らしくなくてもうまくいくDSLの例を紹介している。 Dave氏によると、DSLは英語や他の自然言語に近づく必要はない。なぜなら、それは実際に自然言語を話さないドメイン専門家など、かなり特別なカテゴリやユーザを対象にするからだ。 ドメイン専門家 [中略] は業界内の専門用語を話します。それは、彼らが仲間同士で効率的にコミュニケーションするための簡単な表現として発明した特別な言葉です。専門用語は英語を使うかもしれ

    ドメイン特化言語は英語のように書くべきではない
    authorNari
    authorNari 2008/04/18
    ドメイン専門用語であらわされるべき
  • 研究さん (一休さんの偽物)

    偉い将軍: 暑いぞ。なんとかせい。 凡人さん: 暑ければうちわを使ったら? 研究さん: それは研究ではない! 喝! 研究さん: 拙者にお任せを。予算をください。 研究さん: (夏が終わった頃に) できました。 この方式で理論上、室温が0.00001 度、下がります。 実現するには氷が 1,000トン必要です。 それから、これが提出資料です。 厚さは 1m用意しました。 凡人さん: 僕なら 200g の氷で、かき氷を作ってべるね。 研究さん: それは研究ではない! 喝!

    authorNari
    authorNari 2008/04/16
    それは研究ではない。喝
  • プログラミング言語は自由度が低いほど強力か?

    さらなるパワーを追求し、C#には最近新機能が加わり、Javaも間もなくC#と同じ道をたどる可能性がある。機能の選択肢が拡大すればプログラマーの自由度は高まるが、これにより必ずパワーが増すのだろうか。また、真に強力であるために、言語は高い自由度と柔軟性を提供する必要があるのだろうか。 これは必ずしも真実ではないとReg Braithwaite氏は考えている。Azubuko Obele氏が「さらなるパワーを持った言語を支持する人々は、実はいっそう少ないルールに賛成しているのだ」と発言したことに応えて、Reg氏は、Rubyなど多数の言語では、たとえパワーと自由度に相互関係があったとしても、この2つの間には因果関係はない(source) と力説する。Reg氏によれば、PythonJavaは両方とも「プログラマーからある特定の自由を取り去れば、より良いプログラムができるという哲学で構築されている」

    プログラミング言語は自由度が低いほど強力か?
    authorNari
    authorNari 2008/03/29
    自由を取り去ることでパワーが増す、ようはバランス
  • C code - 14 lines - codepad

    authorNari
    authorNari 2008/03/18
    ポインタ減算の結果の違い
  • codepad

    codepad is an online compiler/interpreter, and a simple collaboration tool. Paste your code below, and codepad will run it and give you a short URL you can use to share it in chat or email. Language: C C++ D Haskell Lua OCaml PHP Perl Plain Text Python Ruby Scheme Tcl

    authorNari
    authorNari 2008/03/05
    プログラム実行サービス、ミニマムなプログラムを試す際に役に立つか
  • 1