タグ

PythonとJavaに関するagwのブックマーク (9)

  • Java開発者の読むDjangoの設計思想 - やさしいデスマーチ

    Djangoのサイトには「Djangoの設計思想」というドキュメントがあります。どんなフレームワークでもそうですが、設計思想を理解し、その流れをつかむ事で正しい利用への最短ルートです。もし、自分の思想にあわないならば問題です。可能であれば、そのフレームワークの検討を取り止めるべきでしょう。それが出来ないならば利用している時にはそのフレームワークの思想で思考することが求められます。 Djangoの設計思想は、緩く結合し、必要最低限のコードで、だが隠蔽せずに明示するという事です。DjangoではMVT(モデル/ビュー/テンプレート)と呼ばれるMVCに近い構造をとります。それらの3つのレイヤーはお互いに疎な関係を持ち、モデルとテンプレートはデフォルトの実装以外を容易に採用できるようになっています。また、ほどよく規約を適用し必要なコード量は少なくなっていまが、なんでもかんでも裏側で処理せずに、なに

    Java開発者の読むDjangoの設計思想 - やさしいデスマーチ
  • 西尾泰和のブログ: QuickSort祭り(一人)

    後輩のQuickSortの課題を見ていて思ったのですけど、QuickSortは分割したリストのために新たに領域を確保していいかどうかによって難易度がだいぶ異なりますよね。高級言語は「QuickSortがこんなに簡単に書ける」なんてことを主張することがありますが、与えられた配列をその配列(+定数サイズ)の領域だけでソートするCとかで書かれたアルゴリズムを「真・クイックソート」だとすれば、新たな領域の確保を伴うQuickSortはちっとも早くないので「似非クイックソート」かもしれません。 で「似非クイックソート」なら簡単に書けるという話題で、ラボから赤坂某所への電車で書いたJavaのコード。 import java.util.Iterator; import java.util.Vector; public class Test { public static void main(String

  • 中途半端に知識だけある素人プログラマを相手にしている場合ではない件について - なんたらノート第三期ベータ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場 が流行ってるみたいなので参戦。 なんだか、「中途半端に優秀なプログラマ」を相手にしているというより、「中途半端に知識だけある素人プログラマ」に対して投げられているように感じました。まあ、ノンプログラマーから見れば、「知識だけある素人」と「優秀」の違いを見極めるのは困難だという意味で、皮肉を込めて「優秀」と言ってるのかもしれないけど。 で、これをきっかけに大きく寄り道、って感じで。細かいこといろいろ考えました。 変数のスコープは狭いほど良い 広いスコープからアクセスできるようにした方が正しいケースの代表的な例は、標準入出力ストリーム(stdinやstdout)がバインドされたグローバル変数の形で実装されているシステム変数や、Rubyのprintやpメソッドだろう。(この点、Jav

    中途半端に知識だけある素人プログラマを相手にしている場合ではない件について - なんたらノート第三期ベータ
  • はてなブログ | 無料ブログを作成しよう

    【献血デビュー】体重が少し足りず400ml献血はできなくとも、献血ルームでの成分献血ならできたぞ、という話 いきさつ 2025年の抱負として「400ml献血をできるようになる」を掲げてから、冬を越し春が過ぎ夏が終わ………なかなか終わらないな……8月も終わろうとしている。記事を書いた頃の体重からは1kgぐらい増えたところだ。 夏バテなんてどこ吹く風とばかりに、ここ数週間は私の…

    はてなブログ | 無料ブログを作成しよう
  • だからLispはすごい(棒読み) - e-learningやってる社長のブログ

    2008/07/27 15:01 | 0 Comments Lisp と LL の関係についてだそうで。要するにLLはクズで、Lispはスバラシイ言語なんだという話らしい。で、このエントリの元ネタになっているStrong Typing vs. Strong Testingについてと、そのさらに元ネタになっているStrong Typing vs. Strong Testingも読んでみたけど、ちょっとあんまりだ。 問題となっているのは英語記事の方に載っているJavaのサンプル。DogとCatにspeakさせるという例だ。 // Speaking pets in Java: interface Pet { void speak(); } class Cat implements Pet { public void speak() { System.out.println("meow!"); }

  • はてなブログ | 無料ブログを作成しよう

    【献血デビュー】体重が少し足りず400ml献血はできなくとも、献血ルームでの成分献血ならできたぞ、という話 いきさつ 2025年の抱負として「400ml献血をできるようになる」を掲げてから、冬を越し春が過ぎ夏が終わ………なかなか終わらないな……8月も終わろうとしている。記事を書いた頃の体重からは1kgぐらい増えたところだ。 夏バテなんてどこ吹く風とばかりに、ここ数週間は私の…

    はてなブログ | 無料ブログを作成しよう
  • Google Protocol Buffer - hidemonのブログ

    Google Protocol Buffer というものが公開された, とGoogleのブログに出ていたので, ちょっと調べてみた. プロジェクトのホームページはこちら. そもそもなんなのか? 多言語対応のシリアライザ, デシリアライザだと思えばまちがいないだろう. つまり, オブジェクトなどの構造データをバイト列に変換したり, バイト列から構造データに変換する機能である. Javaなら標準でSerializeできるし, Pythonでもpickleすればいいんだけど, これらは言語固有のフォーマットなので, たとえばJavaで書き出したものはPythonでは読み込めない. またこれらの機能は, 言語のrefrectiveな機能を使って実装されているので, そういう要素に乏しいC++では非常に実装しづらい. 最近C++まわりを勉強していないので, ひょっとしたらあるのかもしれないけど. G

    Google Protocol Buffer - hidemonのブログ
  • http://d.hatena.ne.jp/elecsta/20061024

  • 【レポート】Python v.s. Java - Zopeで有名なNuxeo、PythonからJavaへ (1) Java再考 | エンタープライズ | マイコミジャーナル

    Nuxeoは同社の主力プロダクトであるECM(Enterprise Content Management)プラットフォームを、これまでのZopeアプリケーションサーバベースからJavaプラットフォームベースに移行していくという。同社Vice PresidentであるEric Barrocaが自身のブログで明らかにしたもの。NexeoのサイトにはPythonからJavaへの移行について、そのメリットなどを説明するコーナーも設けられている。 同社は2000年、主力プロダクトのプラットフォームとしてPythonで開発されたZopeを選択。以後6年間、ZopeおよびPythonにもっとも注力している企業のひとつとして注目されてきた。 成長を続けてきた同社は、その顧客から高いレベルでの性能、可用性、統合性などが求められるようになってきており、いくつかのプラットフォームに対する調査の結果、Javaが要

  • 1