Summary 1. DRY (Don't Repeat Yourself.) 2. class/method は1機能のみ. 3. ユニットテストコードを書き,テストを楽にする. 4. ビジネスロジック,メインコードはフレームワークに依存しないように書く. 5. より抽象的に考え,インタフェースとアブストラクトクラスを使用する. 6. 拡張することを意識したコードを書け. 7. 必要でないコードを書くな. 8. 結合度を弱めるようにしろ. 9. モジュール化. 10. 自分のコードが常に外部APIであるようなコードを書け. Reference A Funny Java Flavoured Look at the World: 10 tips on writing reusable code http://hoskinator.blogspot.com/2006/06/10-tips-on
Last Updated on: 2016年3月3日最近PostgreSQL、MySQL両方にSJISエンコーディングを利用している際のエスケープ方法の問題を修正がリリースされています。この件は単純に「データベースシステムにセキュリティ上の脆弱性があった」と言う問題ではなく「アプリケーションの作り方を変える必要性」を提起した問題です。 参考:セキュアなアプリケーションのアーキテクチャ – sandbox化 PostgreSQL、MySQLの脆弱性は特にSJIS等、マルチバイト文字に\が含まれる文字エンコーディングが大きな影響を受けますが、同類の不正な文字エンコーディングを利用した攻撃方法が他の文字エンコーディングでも可能です。例えば、UTF-8エンコーディングは1文字を構成するバイト列の最初のバイトの何ビット目までが1であるか、を取得してUTF-8文字として1バイト~6バイト必要なのかわか
http://www.unixuser.org/~euske/doc/python/sample.py.html # 日本語トークンを切り出すための正規表現。 JP_TOKEN = re.compile(u"[一-龠]+|[ぁ-ん]+|[ァ-ヴ]+|[a-zA-Z0-9]+") http://www.ascii.co.jp/pb/ascii/archive/aftercare/1999.html [亜-煕]はJIS漢字を検出するときに使う正規表現になります。 本文中で触れている「一太郎 Lite2」の正規表現はUnicode仕様なので,すべての漢字を検出するには,[一-龠]を使用してください(龠は音読みで「ヤク」,訓読みで「ふえ」,Unicodeでは「9FA0」にあたります)。 追記 ※「すべての漢字を取り出す正規表現」については、id:toton:20051105 に記事を追加しました。
仕事でコード書いてた頃の話。 机上に「本」というメディアは無かった。プログラミングといえばお手本のコピペ&手直しで仕上げてた。だから、せいぜい入門書やリファレンスといった辞書的なやつだけで、3年もすれば「古い」と引き出しの中へ。 だから、いつまでたっても上手なのは「お作法」だけ。あたりまえだ。仕様を実装したコードに「似た」コードやパターンを探し出す→コピペがプログラマの仕事だと思ってたから。ネットの情報が「全て」であって、「考える」とは、「いかにお手本に合わせるか」だったから。 プログラマというよりも、むしろ「コーダー」。その辺は「プログラマになれなかったわたし」[参照]に書いた。 ここでは、「コンピュータの名著・古典100冊」の既読リストで恥さらし。いかにちゃんとした本を読んでいないかがよっく分かる、なさけない。 本書はプログラミングに限らず、ソフトウェアエンジニアとしての libera
今回は,読み込みたいファイルそのものであるtbl_items.xmlを指定しましょう。すると,XMLファイルの構造を自動的に解析し,設定が行われます(図5(3))。設定が行われたスキーマを見ると,きちんとした階層が形成されていることがわかります。これでXMLConnectorコンポーネントの設定は完了です。 続いて,読み込んだデータを,DataGridコンポーネントを使って表形式で表示させるように設定します。Flashのコンポーネントには,コンポーネントを連動させて扱うためのバインディングと呼ばれる機能が備わっていますから,この機能を利用しましょう。 コンポーネントインスペクタの[バインディング]タブを選択し,[バインディングの追加]ボタン(図6[拡大表示](1))を押します。[バインディングの追加]ダイアログボックス(図6右下)が表示されますから,tbl_items:Arrayを選択し,
ネタ切れってわけでもないけど、今日は翻訳ネタ。10の理由も流行ってることだしね。 ネタ元はここ。 あなたはミスをするのだということを理解し、受け容れよう。物を作る前にこの点をはっきりさせよう。幸いなことに、ロケットのガイドソフトをJPLで開発しているような少数の例外を除けば、私たちの職業ではミスは滅多に致命傷にはならない。だから、学ぶべきだし、学ぶことができるんだ。そして笑い、前進するんだ。 あなたの書いたコードはあなたの分身ではない。レビューのポイントは、問題を発見すること、そして問題は見つけられるのだということを覚えておくといい。誰かが指摘してくれるときのために、コードを公開しないのは良くない。 あなたがどれだけ「空手」について知っていようとも、ほかのだれかがもっと知っているのだ。あなたが教えを乞えばだれかが教えてくれる。第三者からの情報を探して受け入れるんだ。特に、もう教えてもらうこ
Rubyを触りだしてちょっと経ちます。 元々RubyはJavaにちょっと飽きたから別の言語でも触ってみようというノリで始めました。 XP界隈でルビールビー!っていう声があったので、そんなに言うなら触ってみようと。笑 最初はRubyでテキスト処理をさせる程度のコードしか書きませんでした。多くても30行程度のとても小さい簡単ツールを書いてました。 なもんで最初のRubyの印象は「まぁ便利な言語やな」程度のもんでした。 それが段々と作るツールが大きくなってくるにつれ、Rubyでクラスを定義したりするようになると、自分の中で何かが変わっていくことに気がつきました。 当然最初はRubyの持つ強力な機能やお手軽な文法などに目がいきましたが、しばらくするとどうやら僕はRubyの持っている思想に共感するようになっていることに気づいたんです。 そしてそれを今感じる範囲内でまとめてみようと思います。 オブジェ
小川 明彦, 阪井 誠 : チケット駆動開発 日本のソフトウェア開発の現場で生み出された「チケット駆動開発」という概念を、数多くの実例を元にモデル化・体系化を試みた最初の本。 小川 明彦, 阪井 誠 : Redmineによるタスクマネジメント実践技法 Redmineによるチケット駆動開発の実践技法に関する最初の本。アジャイルなソフトウェア開発への適用方法、TestLinkによるテスト管理手法についても言及。 清水 吉男: 「派生開発」を成功させるプロセス改善の技術と極意 組込システム開発をベースとして、ソフトウェア開発特有のスタイルである派生開発、特にXDDPについて解説した世界でも稀な本。既存製品を保守するのではなく継続的に機能追加していく昨今の開発では、派生開発特有の問題を意識しなければならない。XDDPはプロセス論だけでなく、要件定義などの上流工程の品質改善にも役立つので注意。 Le
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
図5●静的解析の効果は高い<BR>静的解析とは,プログラムを実行せずにソースコードの内容をチェックする作業。バグを生みやすいコーディングはしていないか,可読性や保守性が下がるコーディングはしていないか,などの観点から解析する。コーディング終了時にレビューとして実施することも多い。レビュアのスキルが高ければ,メモリー・リークやマルチ・スレッドのバグも発見できるなど,より効果が高まる テストの最初に位置する「単体テスト」(モジュール・テスト,ユニット・テスト)は,すべてのシステムで実施されるべき基本的なテストである。実装された関数やメソッド(以下,プログラム)の内部構造のバグを取る。通常,コンパイルした直後に実施され,デバッガなどを用いるケースもあるため,プログラマ自身が実施することも多い*2。後工程になるほどバグの修復コストが高くなることを肝に銘じて取り組みたい。単体テストで実施するテストに
<HOME> ― <オブジェクト指向> ― <プログラミング言語の歴史> オブジェクト指向 色々なプログラミング言語に関する年表と系統図をご紹介します. プログラミング言語の歴史 年号 言語 語源 元と成った (影響元の) 言語 ハードウェア OS 開発方法論 1946 ENIAC 1947 1948 1949 Assembler 1950 1951 1952 1953 1954 1955 COBOL COmmon Busines Oriented Language 1956 1957 FORTRAN FORmula TRANslation APL A Programming Language COMIT 1958 ALGOL58 ALGOrithmic Language FORTRAN 1959 1960 COBOL60 COmmon Busines Oriented Language
Windows95の開発の総責任者であるDavid Coleから開発の主要メンバーに緊急召集がかけられたのは、Windows95の開発も大詰めを迎えた1994年末のことである。 Shell(デスクトップ、エクスプローラ、スタートメニューなどのユーザーインターフェイス)の開発を担当していたSatoshiは、いままでの経験からこの手の緊急招集が良い知らせでないことはないことは知っていた。 David Coleが深刻な顔をして緊急招集の理由を説明し始める。Windows95そのものの開発は順調に進んでいるが、Windows3.1との互換性の維持が思うように進んでいないのである。 「このままだと、95年中にリリースすることはできない」 深刻な問題である。既に当初の予定より1年以上遅れているWindows95のリリースをさらに遅らせて95年のクリスマスシーズンを逃すことはOffice95を同時にリリ
John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. rjmh@cs.chalmers.se この日本語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日本語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに
2006年04月18日12:24 カテゴリLightweight Languages 速く動くより早く書くが重要な時代 以下の意見に首肯する人には、普通のやつらの上を行くことは出来ないだろう。 Hardcoded: 素朴な疑問 - なぜスクリプト系 Web アプリ言語がいまだ主流なのか? 現在、処理速度、データ量、並列処理といった諸要件が Web アプリに厳しい条件を課している。しかしながら、相変わらず Web アプリの主流がスクリプト言語にあることには素朴な疑問を覚えざるを得ない。ムーアの法則よろしくいくらコンピュータの性能が向上しているとはいえ、大量のスクリプト言語処理が及ぼす負荷は計り知れない。 ましてや、AmazonやGoogleには何億年たっても追いつけない。 理由はタイトルの通り。今や速く動くプログラムを書く事より、プログラムを早く書く方がよっぽど重要だからだ。以下はあまりに有
2006年04月17日18:52 カテゴリLightweight LanguagesLogos CGIの神話と現実 PHPのパフォーマンスに関しては、すでに川合さんのPerlよりPHPの方が軽くて速いは本当?が出ていて、これでプロには充分なんだけど、すでにプロのプログラマーを離れて、一般の人でも動的Webページ生成プログラムを書くようになった今、もう一度整理しておいた方がいいかも知れない。 提督の野望 海軍広報: 2006/4/17 PHP たしかにCGIはパーミッションの設定とか面倒なことが多かったし、スピードも遅いから廃れても仕方ないんだけど、じゃあPHPはどのぐらい使いやすいのかね? と思って調べてみた。 誤解その1--CGIはPerlで書かれている まず最初に抑えておきたいのは、CGIは言語の名前ではなく、Webサーバーが外部プログラムにページ生成を依頼する時にどんな情報を渡し、ど
悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 気が付けば、Windows 95 の発売から10年以上経っている。パソコンやインターネット環境は一般家庭にもずいぶん普及した。物心ついたときからパソコンに触れているという子供達も増えていることだろう。学校でもコンピュータに関する知識も教えるようになってきている。 私も含め、現在プログラマという仕事をしている世代は、そのような環境では育っていない。だから、今の子供は恵まれていると思うし、羨ましく思う。そして、今後は若いプログラマのスキルはどんどん上がってくだろうと期待したりもする。 しかし、本当にそうなるのだろうか? 考えてみれば、家電にしろ自動車にしろ、製品が世間に普及したか
悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 私がプログラマという職業を勧めてもいいと思うのは、仕事でも趣味でもプログラミングがしたいというくぐらいプログラミングが好きな人である。 もちろん、プログラミングが好きなだけでは駄目で、それなりの能力も必要である。職業プログラマに必要なスキルを、 A. 社会人としてのスキル(一般常識、コミュニケーション能力など) B. プログラマとしてのスキル(プログラミングの専門的な知識や技術) に大別してみよう。 Bのスキルは持っているが Aのスキルが欠けている人は、プログラミングは趣味にしておくほうがよい。多くの場合、職場はそういう人を求めていない。 ソフトウェア開発には、他の技術職に比
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く