タグ

コーディングに関するd14aのブックマーク (14)

  • ソフトウェア開発をシンプルにする考え方のコツ ― @IT

    ソフトウェア開発ではこれまで、できるだけ「シンプル」に設計・開発することの有効性が繰り返し提言されてきた。ソフトウェアをシンプルにすればするほど、設計は見通しが良くなり、開発は容易になり、メンテナンスも楽になる。 では、開発を<シンプル>にするというのはどういうことなのか? 一体どうすれば<シンプル>になるのか? これらの質問にあなたは即答できるだろうか。実際のところ、頭ではシンプルにすることが良いと分かっていても、現実には実践できていなかったりするのではないだろうか。 そこで稿では、現実の開発現場でシンプルな設計・開発を行うための1つの手段として、その「考え方のコツ」を考察する。もちろんこのコツを身に付けることは、すべてのソフトウェア開発で役立つものだろうが、特にNAgile(エヌ・アジャイルまたはナジャイル)を実践していくうえでは、ぜひ知っておいてほしい(NAgileについての概要は

  • すべての漢字を取り出す正規表現 - totonのブログ

    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 に記事を追加しました。

    すべての漢字を取り出す正規表現 - totonのブログ
  • Amazon.co.jp: 職業プログラマー入門: システム開発者を目指すあなたへ 設計からC言語コーディング、テストまで: 遠矢行史 (著), レッドフォックス (編集): 本

    Amazon.co.jp: 職業プログラマー入門: システム開発者を目指すあなたへ 設計からC言語コーディング、テストまで: 遠矢行史 (著), レッドフォックス (編集): 本
  • SourceCode-ソースコード関連のソリューション、便利サイト

    HOME > メモ > SourceCode ソースコード関連のソリューション、便利サイト (整理中です) 多言語 Code Snippets - http://www.bigbold.com/snippets/ 「レシピ」「ハック」集 タグづけできる pastebin - http://pastebin.com/ コードの断片を置いておく シンタックス・ハイライティングあり Koders - http://www.koders.com/ ソースコードのサーチエンジン !CodeZoo - http://www.codezoo.net/ Java, Python, Ruby gonzui - http://gonzui.sourceforge.net/index.html.ja ソースコード検索エンジン !OpenGrok - http://www.opensolaris.org/os/p

  • わたしが知らないスゴ本は、きっとあなたが読んでいる: 画面仕様書を「作らない」リスク

    IT Pro の開発ドキュメントの最適化で笑わせていただいた。これ書いた人は画面仕様で酷い目に遭ったことがないんだろう。笑った箇所は次の通り。 画面仕様書をプロトタイプ・アプリケーションで代用する方法がある。Webシステムの場合は,HTMLの作り方を工夫すればプロトタイプで実際の入力手順や画面遷移も確認できるようになる。エンドユーザーにとっても,ドキュメントよりは実際の画面で確認した方が分かりやすいので,手戻りが減る。これは帳票にも同じことが言える。 あのな、HTMLで作る画面なんざ、紙芝居だよ。「ふいんき」をかもし出すだけで、そいつは「仕様」じゃねぇ!ボタン配置や文字色を目の前で変えられるものだから、いつまでたっても顧客は「ちょっとコレ直して」と言ってくるんだよ。気軽に直せるものとお金を頂戴しないと直せないものがあることをギッチリと顧客に理解していただくために、画面仕様書はどうしても必要

    わたしが知らないスゴ本は、きっとあなたが読んでいる: 画面仕様書を「作らない」リスク
  • プログラム・デザイナーと職人プログラマー : 小野和俊のブログ

    プログラム・デザイナーはプログラムをデザインする。 プログラムを再利用する人のために、 プログラムで使われる名前を何度も考え直す。 最小の手間で機能を拡張できるように、 プログラムの設計を何度も考え直す。 読みやすい、 シンプル、 複雑な要求にも柔軟に応えられる。 プログラム・デザイナーは 機械と直接会話できることより、 機械の難しさを隠してくれる、 誰でも使える部品をつくったことを誇りに思う。 メンテナンスできない。 将来の拡張に耐えられない。 大規模すぎて手がつけられない。 プログラム・デザイナーの挑戦はそこから始まる。 職人プログラマーは、 機械を熟知し、 暴れ馬を乗りこなす。 最高の褒め言葉は、 高速、 腰が抜けた、 どうやっているのかわからない。 職人プログラマーは 未知の領域を開拓する。 このサイズでは無理だ。 この機械ではこの速度は出ない。 職人プログラマーの挑戦はそこから始

    プログラム・デザイナーと職人プログラマー : 小野和俊のブログ
  • プログラム・デザイナー宣言 : 小野和俊のブログ

    (プログラム・デザイナーと職人プログラマーの続き) かつて、 「すごいプログラマー」は みんな職人プログラマーだった。 今は、 「すごいプログラマー」の 多くはプログラム・デザイナーだ。 拡張の快適さ といったものだから、 主観的にしか評価することはできない。 プログラム・デザイナーの 仕事質は、 つくること以上に デザインすることだから、 今のソフト業界がファッション業界に似ている というのは当然のことなのかも知れない。 Binary 2.0 という考え方が出てくるのも、 こうしたことが背景にあるのだろう。 プログラム・デザイナーと 職人プログラマーとは、 いがみ合いやすい。 あいつは機械のことがわかっていない。 あいつは動けばいいと思っている。 あいつの書いたコードは誰もメンテナンスできない。 あいつはあんなことも知らない。 この種の対立は不毛である。 プログラム・デザイナーよりさ

    プログラム・デザイナー宣言 : 小野和俊のブログ
  • 小野和俊のブログ:続・プログラム・デザイナー宣言

    前回書いたプログラム・デザイナーと職人プログラマーとプログラム・デザイナー宣言と同じような感覚を持っている人は意外と多いのではないかと思って探してみたところ、はてなの伊藤さんのエントリ(こちらも)が見つかった。伊藤さんとは何度か話をする機会があったが、ウルティマ・オンラインの話で盛り上がってしまって、今までIT関連の話はしたことがなかった。ブログを読んでいて、伊藤さんもきっとプログラム・デザイナーなのだろうな、と思った。 UNIXにみる世代間の断絶にならって職人プログラマー/プログラム・デザイナー/UIデザイン・プログラマーを表にすると次のようになる。 比較項目 職人プログラマー プログラム・デザイナー UIデザイン・プログラマー 譲れない点

    小野和俊のブログ:続・プログラム・デザイナー宣言
  • IBM dW :Java : Javaの理論と実践: 弱参照でメモリー・リークを塞ぐ

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM dW :Java : Javaの理論と実践: 弱参照でメモリー・リークを塞ぐ
  • 基礎から理解するデータベースのしくみ(5):ITpro

    SQL文を実行する際のパフォーマンスに大きな影響を及ぼすものとして,もう一つ,インデックスがあります。インデックスについては,どう定義すべきかというデータベース設計上の問題と,インデックスを有効に使うためのSQL文をどう書くべきかというコーディング上の問題があります。 ここではテーブル設計上の問題を主に取り上げます。SQL文のコーディングについては囲み記事「SQL文を最速にする11のポイント」を参照してください。 インデックスは,テーブルの検索速度を向上させるためのものです。それぞれのSQL文に対して最適なインデックスを定義するのが理想的ですが,実際にはある程度限られたインデックスで,必要なパフォーマンス要件を満たすようにインデックスを定義する必要があります。加えて,どんなSQL文が実際に発行されるのかがあらかじめわかっていない場合は,適当な想定に基づいてインデックスを定義しておかなくては

    基礎から理解するデータベースのしくみ(5):ITpro
  • JavaScript開発のお供に。 log吐き

    2006/11/27 Firebug公式サイトが移転しました。 http://www.getfirebug.com/ 詳しい使い方は、http://www.getfirebug.com/docs.html等をどうぞ。 2006/11/07 未だにアクセスが多いので、補足します。ここにある情報は既に大幅に古くなっています。以前程、パフォーマンスの低下もありませんし、ログの吐き方も変わりました。 例えば、console.debug("message",obj)のような形でログをとったり、assertしたりするようになっています。詳しくは、http://www.joehewitt.com/software/firebug/docs.php辺りを参照してください。 https://addons.mozilla.org/extensions/moreinfo.php?id=1843&applicat

    JavaScript開発のお供に。 log吐き
  • Eclipseで使える静的テストツール - @IT

    Eclipseプラグインで提供されるテストツールが充実してきた。連載では、システム開発の現場に有効なテストツールを紹介し、統合開発ツールにEclipseを選択する開発におけるテストの効率化、ソフトウェア品質の向上のヒントを提供する。(編集部) 静的解析ツールは、プログラムに対して、機械的にチェックを行うことにより、文法スタイルの誤りやパターン化されたバグを検出します。今回はCheckstyle、PMD、FindBugsプラグインを紹介します。 静的解析ツールの特長 皆さんは過去に、自分が書いたソースコードに潜在的な問題がないか、複数のプログラマーが参加する形式でレビューをしてもらった経験をお持ちでしょうか? 実施した長時間のレビューにもかかわらず、ほとんどの指摘がコーディング規約違反や、文法スタイルに関する誤りについてだったことはないでしょうか。 コードレビューは、仕様が正しく実装さ

    Eclipseで使える静的テストツール - @IT
  • テスト駆動を導入するための3つのポイント

    前編「テストを金額にするといくら?」ではテストの価値を価格として算出し、その重要性を検証するという思考実験を行いました。その結果、大ざっぱながらも、テストの重要性に少し現実味が持てたのではないでしょうか。後編では、テスト駆動開発をプロジェクトに導入して、運用するための具体的なノウハウを紹介します。 テスト駆動開発(TDD)を回すのにもノウハウが要る TDDでは、いままでよりユニットテストコード作成にウェイトが置かれるので、ユニットテストコード作成の進ちょくがプロジェクトの進ちょくに与える影響は大きくなります。つまり、ユニットテストコード作成の効率性をより高めていかなくてはならないわけです。 では、ユニットテストコード作成の効率性を高めるには、具体的にどうすればよいでしょうか? まずは以下の2点を押さえるべきでしょう。 EoTの高い設計になっていること テストコードが正確に業務仕様を表してい

    テスト駆動を導入するための3つのポイント
  • 高度プログラミング演習(九州大学全学共通教育科目)の説明資料

    実践プログラミング CとC++プログラミングに関するいくつかの例題と解説. 単なるプログラミングテクニックや文法の解説ではなく, 背後にある考え方の習得(アルゴリズム,データ構造,数学など)を重視して いる. プログラムをじっくり眺めそこから技法を学び取る. 最大値 [HTML] 曜日の計算 [HTML] 平均値,分散 [HTML] 2次方程式の解 [HTML] 最小自乗法 [PPT], [HTML] 待ち行列シミュレーション [PPT], [HTML] アーランの即時式モデル [PPT], [HTML] 行列のLU分解 [PPT], [HTML] ニュートン法による非線型方程式の解 [PPT], [HTML] 数値積分 [PPT], [HTML] 2分探索木 [PPT], [HTML] ヒープソート [PPT], [HTML] クイックソート [PPT], [HTML]

  • 1