タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

*Jythonに関するmasapon1967のブックマーク (9)

  • Java meets Python - 第4回 配列と別れる50の方法(2) オセロゲーム:CodeZine

    はじめに 伝統的なスタイルを卒業して、OOPを習得するときに、越えなければならない壁の一つが配列です。2次元配列を扱った事例は多数ありますが、ともすると、配列が主役になり、その中身が脇役になる場面も少なくありません。そこで、発想を転換して主客逆転させると、新しい世界、オブジェクト指向の世界が開けてきます。 その効用は、冗長な条件判定や例外処理が不要になり、例外が発生するのを防ぐだけではありません。コードの見通しをよくし、バグの発見が容易になる、強力な処方箋となります。 今回は、第2回に続いて、伊藤が担当します。先の連載で紹介した2つのゲームから、共通するフレームワークを抽出して、それをもとにオセロゲームを作成します。前回の復習を兼ねて、初心に還ったつもりで解説しますので、よろしくお願いします。

    masapon1967
    masapon1967 2008/06/18
    Java meets Python - 第4回 配列と別れる50の方法(2) オセロゲーム
  • Java meets Python - 第7回 ハリウッドの原則:CodeZine

    はじめに 過去に作成したコードを眺めると、プログラミングを始めた頃には気付かなかった欠陥(必ずしもバグとは言えないもの)が見えてきます。リサイクルと同様、あるソフトウェアを設計する際に、後の再利用を考慮した場合とそうでない場合では、メンテナンスに伴うコストが激変します。同じ教訓は「西暦二千年問題」からも学べます。 今回は、先の連載で紹介した3つのゲームから共通する部分をフレームワークとして抽出し、再考します。対象読者 こんな症状を抱えているなら……。コーディングよりデバッグ/メンテナンス作業に時間を割かれる仕様の変更に柔軟かつ迅速に対処できない 前にも同じことが 先の連載で紹介した15パズル/ライフゲームには、重複する部分があります。これらのコードを作成しているときに、デジャビュにも似た「何度も同じようなコードを書いた」感覚がしませんでしたか。実際にオセロゲームは、15パズルゲームの改良

    masapon1967
    masapon1967 2008/06/18
    Java meets Python - 第7回 ハリウッドの原則
  • Java meets Python - 第6回 配列と別れる50の方法(3) ライフゲーム:CodeZine

    はじめに 伝統的な手法では配列が主役を演じ、その値は脇役として扱われてきました。主客逆転させて脇役にスポットを当てると、オブジェクト指向の世界が開けてきます。その効用は、冗長な条件判定の排除による例外の発生防止だけではありません。コードの見通しを良くすることは、バグを発見するための強力な処方箋となります。 今回は、先に紹介したパズルゲームを参考にしながら、新たにライフゲームの作成を行います。担当は第4回に引き続き伊藤です。前回の復習を兼ねて、初心に還って解説しますのでよろしくお願いします。

    masapon1967
    masapon1967 2008/06/16
    Java meets Python - 第6回 配列と別れる50の方法(3) ライフゲーム
  • Java meets Python - 第5回 二分木と辞書:CodeZine

    >>> from random import * >>> m = {} >>> for e in range(100): ... k = randint(0,9) ... m[k] = m.get(k,0) + 1 >>> reduce(lambda acc,e:acc+e, m.values(), 0) 100 >>> for k,v in m.items(): print "%d: %s %d"%(k,"*"*v,v) 0: ******** 8 1: ********** 10 2: ******** 8 3: ******** 8 4: ************* 13 5: ******** 8 6: ********* 9 7: ************ 12 8: ************ 12 9: ************ 12 これは

    masapon1967
    masapon1967 2008/04/07
    Java meets Python - 第5回 二分木と辞書
  • Java meets Python - 第3回 構造体とクラス:二分木:CodeZine

    何を今さらC言語? K&Rと言えば、C言語のバイブルとされ、世界中で愛読されています。一般書と肩を並べて、専門書がロングセラーを続けるという、希有な事例の一つです。特に、hello worldを出力するコードの断片は、世界で最も有名なプログラムになりました。最近では「K&Rを読んだことがない」という新人に遭遇しますが、新しいプログラミング言語を学ぶときには、なぜかhello worldの事例を繰り返し引用します。 これから、Pythonを学ぼうとするときに、まるで「寝てる子を起こすな」とでも言われんばかりに「何を今さらC言語」という声が聞こえてきそうです。極論すると、Javaに限らず、Ruby/Pythonさえも「C言語で書かれたアプリケーション」の一つにすぎません。プログラミング言語Objective-Cの開発者でもあるBrad Coxさんは、ソフトウェアICという概念を提唱しました。機

    masapon1967
    masapon1967 2007/12/04
    Java meets Python - 第3回 構造体とリスト:二分木
  • Java meets Python - 第2回 配列と別れる50の方法:CodeZine

    はじめに 連載2回目は、プログラミング歴2年余の伊藤が担当します。今回のパズルゲームは、プログラミングを始めたばかりの半年に満たない頃に作成したものです。当時を振り返りながら、初心に還ったつもりで解説しますので、よろしくお願いします。 伝統的なスタイルを卒業して、OOPを習得するときに、越えなければならない壁の一つが配列です。2次元配列を扱った事例は多数ありますが、ともすると配列が主役になり、その中身が脇役になる場面も少なくありません。そこで、発想を転換して主客逆転させると、新しい世界が見えてくるかもしれません。

    masapon1967
    masapon1967 2007/11/16
    Java meets Python - 第2回 配列と別れる50の方法
  • Java meets Python - 第1回 JavaBeansの美味しい煎り方:CodeZine

    はじめに 連載の初回は、プログラミング歴6か月の間が担当します。初心者の皆さんと同じ立場から記述しますので、よろしくお願いします。 Java meet Python。そして、Jythonが産まれました。Jythonでは、JavaBeansに準拠するJavaのリソースを再利用するときに、便利な機能を提供します。今回は、一粒で二度美味しい、Jythonの魅力(旨味)を紹介します。対象読者 こんな症状を抱えているなら……。JavaBeansに準拠した既存の資産(負債?)は今後も運用したい。しかし、そのメンテナンスには多大な費用が掛かる。Javaの開発効率の悪さにストレスが溜まる。

    masapon1967
    masapon1967 2007/11/16
    Java meets Python - 第1回 JavaBeansの美味しい煎り方
  • Java meets Python - 第0回 Jythonはじめました(後編):CodeZine

    世界の中心でモデルを叫ぶ 最初に、アブリケーションの中核となるモデルを規定します。ここでは、サイクロイドを表現することが目的なので、そのために必要な情報を管理するクラスCycloidを規定します。 from math import * class Cycloid: def __init__(self, radius, cycle, step): self.path = self._path(radius, cycle, step) self.context = radius, cycle, step def _path(self, radius, cycle, step): s = [] for i in range(step+1): t = i*cycle/step x = radius*(t-sin(t)) y = radius*(1-cos(t)) s.appe

    masapon1967
    masapon1967 2007/11/15
    Java meets Python - 第0回 Jythonはじめました(後編)
  • Java meets Python - 第0回 Jythonはじめました(前編):CodeZine

    masapon1967
    masapon1967 2007/11/14
    Java meets Python - 第0回 Jythonはじめました(前編)
  • 1