タグ

programmingとmethodに関するsyqueのブックマーク (19)

  • できる!並列・並行プログラミング

    現在のマルチスレッドプログラミングの抱える問題点と、代替案をわかりやすく解説いたします。最近登場したConcurrent Revisionsも解説します。

    できる!並列・並行プログラミング
  • NO TEST, NO LIFE. NO DOC, NO LIFE - latest log

    uupaa.js や mofmof.js には {@hoge 〜 }@hoge のようなコードブロックを切り落として Minify する機能があるので、「ソースコードにテストもドキュメントも全部埋め込むことが可能だな〜」って3年程前から考えてました。 そこで、Function.prototype.spec というメソッドを追加し、これにスペックを書き貯めたらどうだろうか(?)とか考えました。 たとえば Array.range(1,7) で [1..7] 的な連続した数値の配列を生成する Array.range 関数があったとすると // Array.range - range generator function Array_range(begin, // @param Number: begin end, // @param Number: end filter) { // @param

    NO TEST, NO LIFE. NO DOC, NO LIFE - latest log
    syque
    syque 2011/09/14
    テストまで埋め込んじゃうのはメンテナンスがしにくそうだけど、ソースでまとめて記述出来るじゃんという自動化の試みは面白い
  • アジャイル開発とTDDを半年間実践してみた顛末と、これから

    PHP Conrefence Japan 2011 Sep 10thでの発表資料 http://phpcon.php.gr.jp/2011/

    アジャイル開発とTDDを半年間実践してみた顛末と、これから
  • 最近のアプリケーション開発で理解しておかないといけない基本事項 - 丸井綜研

    とくにMaciPhoneのプログラム開発で最初にわからなくなるのがこのあたり。Appleもそれは理解していて、Your First Mac Applicationの中のUnderstanding Fundamental Design Patternsという章にまとめてあります。 僕もまだ慣れてないので、その文章を読んでの現時点での理解を下にまとめておきました。 Model-View-Controller その昔、僕がBASICでプログラムを書いていたときにはデータもコードも一緒くたで、すぐにスパゲッティ・コードになったものでした。Javaのようなオブジェクト指向言語を使うようになって、データ構造部分とその表示部分とは切り分けた方がいいと学びました。 たとえばRPGを作っているときに、体力点とか技術点のような主人公の基礎データを保管・管理する部分と、それらを画面に棒グラフなどで表示する部分

    最近のアプリケーション開発で理解しておかないといけない基本事項 - 丸井綜研
    syque
    syque 2011/08/10
    とくにMacやiPhoneのプログラム開発で最初にわからなくなるのがこのあたり。Appleもそれは理解していて、Your First Mac Applicationの中のUnderstanding Fundamental Design Patternsという章にまとめてあります。 僕もまだ慣れてないので、そ
  • テストコードを作らない文化が浸透している現場へRuby/Railsが導入された結果への対策を考えてみる, tDiary 3.0.2 リリース - 会長@腹部日記(2011-04-29)

    _ テストコードを作らない文化が浸透している現場へRuby/Railsが導入された結果への対策を考えてみる まず、導入された結果は以下のようになっております。信じられないものもありますが、事実です。 1. マージが頻繁に行われる開発中はNoMethodErrorや文法エラーが続出。必要なコードのマージ漏れまで発生 2. 修正の度に人力テストが必要となり、コスト増大 3. これまで以上に責任論が追求される現場となる 4. コスト増加を恐れるあまりリファクタリングはおろか、巨大な迂回処理やコピペが横行する プロジェクトには、以下のようなテストコードを作(らない|れない)様々な原因があります。 問題分類 現場への影響

    syque
    syque 2011/07/21
    テストコードを作らない文化が浸透している現場へRuby/Railsが導入された結果への対策を考えてみる まず、導入された結果は以下のようになっております。信じられないものもありますが、事実です。 1. マージが頻繁に行
  • DSLによる要求獲得でスーパーアジャイル

    2011年7月8日(金)に行われた第2回TPS/アジャイル研究会での発表資料です。DSLを中心とする要求獲得がもたらす効果を実例を交えながら解説する内容です。

    DSLによる要求獲得でスーパーアジャイル
    syque
    syque 2011/07/14
    ◦ お客様がソフトウェアを内製する傾向にある ◦ 数は少ないが企業内アマチュアプログラマが増えている。 ◦ Excel・Access・VBA・VB・SQL・PHP・Apache・Unix ◦ 変化へ素早く対応することが重視される。 ◦ 入出力項目・ワ
  • xUTP Chapter19 (2). Testcase Class

    syque
    syque 2011/07/11
    Chapter 19.xUnit BasicPatterns(2)
  • 画期的なバグ票分析→だいたい探索型テスト支援システムをちゃちゃっと書いてみた。 - I like Ruby too.

    私は最近のバグの傾向、キーワードを組み合わせて連想したネタでバグを見つけることが多いです。見つけないことも多いけど。 これを機械にやらせたらおもしろそう。 https://github.com/seki/Drip/blob/master/sample/tw_markov.rb オフレコなんだけど、githubのDripのsample/に、自分のツイートのログからマルコフ連鎖つかって自分っぽいツイートを生成するスクリプトがあるじゃん?この自分のツイート風文章作成の辞書をバグ票から作ればそのシステムに出てきそうなバグが作れるはず。 んで、やってみた。(あまりに短いのでスクリプトは載せません) うちのRWikiに入ってる数万のストーリーから直近の数千のバグっぽいチケットを集めてきて辞書を作って、バグ報告風文章を作成するシステムを書いてみたですよ。確かにそれらしいバグ報告が生成されます。次はそのバ

    画期的なバグ票分析→だいたい探索型テスト支援システムをちゃちゃっと書いてみた。 - I like Ruby too.
    syque
    syque 2011/07/07
    オフレコなんだけど、githubのDripのsample/に、自分のツイートのログからマルコフ連鎖つかって自分っぽいツイートを生成するスクリプトがあるじゃん?この自分のツイート風文章作成の辞書をバグ票から作ればそのシステム
  • 続・テストコードのリファクタリング - 千里霧中

    「テストコードのリファクタリング - 千里霧中」の続きです。 十分に実施できる方法 テストコードを対象としたリファクタリングの回帰テストについてですが、現実性があり、十分に実施できる方法は主に次の2つとなると思います。 テストコードのインプットとなるテストケース仕様にもとづいて、ミューテーション分析を実施。ミューテーションテストと正常系のテストを実施することで、バグがなければパスし、バグがあれば失敗することを確認する。 テストコードに対する入出力・間接入力(テストフィクスチャからの入力など)・間接出力(Assertionメソッドへの出力等)を、Test Doubleやロギングで網羅的に記録。変更前と変更後で、入出力、間接入力・間接出力が変化しないことを確認する。 ただ現実性があるといっても問題もあります。ミューテーション分析については、テストケース仕様からミューテーションテストの仕様を作成

    続・テストコードのリファクタリング - 千里霧中
    syque
    syque 2011/07/07
    まとめ  ユニットテストの対象としてみると、テストコードはいわばテスト困難なコンポーネントに依存する厄介なコードと見なせます。極端に言ってしまえばGUI等のコードと違いありません。そのため一連のエントリで
  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    syque
    syque 2011/06/22
    以下の条件に当てはまる人を読者に想定しています。 なぜ"関係"モデルという抽象的な用語を使うのか分からない。"表"モデルでいいじゃない。 なぜ「= NULL」ではなく「IS NULL」と書かねばならないのか分からない。 E.F.Codd
  • なぜUnitTestは理解されない?

    TwitterでこんなTweetが流れた… エビデンスとしてNUnitGUIのスクリーンショットと、対応するテストコードが含まれている部分のVSのスクリーンショットを取る作業が終りません・・・ UnitTestのエビデンスって…なに? 一般的にテストのエビデンスというと、次の2点を指す。 テスト手順を明らかにするもの(ex. テスト設計書、テスト仕様書、...) テスト結果の証拠(ex. 画面ハードコピー、DBスナップショット、...) UnitTestでは、これはこのように解釈できる。 テスト手順を明らかにするもの = テストコード テスト結果の証拠 = 今実行すればテストが全てグリーンになること これがなぜか理解されず、軋轢とストレスと大きな工数追加になっている現場がずいぶんある。 なぜUnitTestはいつまでも理解されないのだろう。 余談。これらのことは、Seleniumなどを使

    なぜUnitTestは理解されない?
    syque
    syque 2011/05/31
    テスト自動化で反復可能になると、それが肌で感じられるほどに明らかになったことに「テストしていないコード・条件にこそバグが存在する」ということだ。 デグレードはヒューマン・ミス以外にはほぼ発生しなくなっ
  • Sleep sortの各言語での実装まとめ – Yuyak

    盛り上がってるSleep sort。 僕もどの言語かで実装しようと思ったけどもう色々やられていて悔しいのでまとめてみる。 随時更新。 そもそもの発端 4chan BBS – Genius sorting algorithm: Sleep sort (家) 常識を覆すソートアルゴリズム!その名も”sleep sort”! – Islands in the byte stream bash 4chan BBS – Genius sorting algorithm: Sleep sort (家) 4chan BBS – Genius sorting algorithm: Sleep sort C# 4chan BBS – Genius sorting algorithm: Sleep sort JavaScript 話題のソートアルゴリズム「sleep sort」をJavascriptで実

    syque
    syque 2011/05/23
    盛り上がってますね、Sleep sort。 自分もどの言語かで実装しようと思ったけどもう色々やられていて悔しいのでまとめてみる。 随時更新!
  • 連載:C# 3.0入門 第1回 ラムダ式 − @IT

    C# 3.0とは何か? C#も順調にバージョンアップを重ね、ついに「3.0」である。連載を開始するに当たり、前置きとしてこの連載で扱うC# 3.0とは何かを簡単に紹介しておこう。 C# 3.0は、動的かつタイプセーフなオブジェクト指向プログラミング言語である。「動的」とは、実行するまで内容が確定しない要素が多いことを意味し、「タイプセーフ」とは、あらゆるデータに「型」が存在し、コンパイル時、あるいは実行時にそれが厳格にチェックされることを意味する。そして「オブジェクト指向プログラミング言語」とは、データとプログラムの入れ物である「オブジェクト」を前提とした言語であることを示す。 しかし、これらの特徴はC# 2.0から継承されたものであって、必ずしもC# 3.0固有のものではない。C# 3.0ならではの特徴とは何だろう? 筆者の個人的な印象だが、C# 3.0は言語が持つ個々の機能について技術

    syque
    syque 2011/03/10
    匿名メソッドを進化させたラムダ式。コードをより簡略化させる
  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

    Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;
    syque
    syque 2011/03/05
    MVC を発展させた MVAC という開発パターン
  • Webサイトのスクリーンショットを撮るサービスの作り方

    SimpleAPIなどで有名な「Webサイトのスクリーンショットを撮ってサムネイル画像を作成してくれる」サービス。 SimpleAPIは、 「1人で作るなら、一気にやるのが重要」SimpleAPI・伊藤まさおさん の伊藤まさおさんが一人で作っています。 今回は、各スクリーンショット提供サービスを紹介した後、実際にこのサービスを作る手順を検証し、さらなる応用サービスにつなげる方法を考えてみます。 Webサイトのスクリーンショットを撮ってサムネイル画像にしてくれるサイト まずは、Webサイトのスクリーンショットを撮ってサムネイル画像にしてくれるサービスとして有名なサイトを紹介しておきます。 SimpleAPI - ウェブサイト・サムネイル化ツール 日国内、海外からも大人気。ややサムネイル結果が不安定。 Mozshot ページごとにきれいに出力。大規模利用は禁止。 サムネイルAPI APIとし

    Webサイトのスクリーンショットを撮るサービスの作り方
    syque
    syque 2011/01/21
    Windows や Linux でスクリーンショットをとるサービスの構築方法を考える。IE の利点が生かせるとか、それぞれの視点。
  • CSS のコメントの書き方コレアレ

    CSSHTMLと同じように、ソース中にコメントを挿入することができます。 /*と*/で囲った文字列がコメントになりますが、入れ子にすることはできません。また、他のプログラムにあるような「#」や「//」といった単一行コメントはありません。 適切なコメントを挿入することで、複数人での作業するときや、時間がたってから編集するときなどにコードの見通しが良くなります。ブラウザ間の差異を埋めるための宣言やハックなんかも、適用させるブラウザ名や理由などをきちんとコメントで書いておきたいですね。 僕は、スタイルをグループに分けて記述するときなど、コメントを目立たせるために次のように記述しています。 /* ------------------------------ Header ------------------------------ */ div#header { } . . /* -------

    syque
    syque 2011/01/21
    コメントの右側に装飾を付けるとプロポーショナルフォントで読まれた時に非常に残念な気分になるので、水平線以外では右方向に装飾は着けない。なので Ogawa::Memoranda や Wikipedia のように主に書いている
  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

    syque
    syque 2010/12/02
    TAS さんのカラクリ解釈にも使える知識
  • グラス片手にアジャイル開発 第1回 ― 実践的アジャイル開発とは

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    グラス片手にアジャイル開発 第1回 ― 実践的アジャイル開発とは
    syque
    syque 2010/10/04
    信奉者の概念語りに終わらない、具体的なアジャイル開発手法
  • Model View Controller - Wikipedia

    MVCの典型的な相関図 Model-View-Controller (MVC、モデル・ビュー・コントローラ) はUIを持つソフトウェアに適用されるソフトウェアアーキテクチャの一種である。 MVCはソフトウェアを処理/Model・表示/View・入力伝達/Controllerの3要素に分割し、ソフトウェア内部データをユーザーが直接参照・編集する情報から分離する。プレゼンテーション(View・Controller)とドメイン(Model)を分離しまたユーザー入力(Controller)と表示(View)も分離することでソフトウェアの保守性・開発生産性を向上させる。 1979年: パロアルト研究所にてトリグヴェ・リーンスカウクが考案[1][2]。長い間、Smalltalk-80の実装のみが公開され、MVCに関する公開情報はなかった 1988年: 最初の論文「A Cookbook for Usin

    Model View Controller - Wikipedia
    syque
    syque 2010/09/28
    デザインパターンを利用したアーキテクチャの一例 | 日々の業務を入力してあれこれっていうアプリは大抵この考えで作れる
  • 1