タグ

programmingに関するitachisoftのブックマーク (52)

  • オブジェクト指向開発を理解した開発者に、設計書は不要:アジアのソフトウェア開発現場にて:エンジニアライフ

    シンガポールでアジアのエンジニアと一緒にソフトウエア開発をして日々感じること、アジャイル開発、.NET、SaaS、 Cloud computing について書きます。 わたしのソフトウェア開発者としての経歴は10年程度。10年間、いろいろなものを作ったが、「設計書」と言えるもの、つまり「基設計書」「詳細設計書」がある形でプログラム開発したことは一度もない。たぶん、これからもないかと思う。 「大したものを作っていないのでは」と、わたしのソフト開発者としての能力を疑う人が出てくるかもしれない。しかし、大企業で大勢の人に使われるようなシステム――規模にして数十年月のしっかりしたシステムを作ってきたことは事実である。ということで今回は、「設計書なしでかなりの規模のシステムを作る」ことに関するわたしなりの方法論を少し書いてみる。 オブジェクト指向は必須である。「設計書なしである程度の大きさのソフト

    オブジェクト指向開発を理解した開発者に、設計書は不要:アジアのソフトウェア開発現場にて:エンジニアライフ
  • 今からでも遅くない これから始めるScala(前編)

    なぜ、いまScalaなのか? TwitterScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。連載では、Scalaの基的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。

    今からでも遅くない これから始めるScala(前編)
  • 【ハウツー】概説 Springプロダクト(11) - エンタープライズJava開発に最適なIDE「STS」 (1) STSの中核をなすSpring IDE | エンタープライズ | マイコミジャーナル

    SpringSource Tool Suite(以下STS)はEclipseベースの無償のIDE(統合開発環境)だ。EclipseもIDEだが、STSはSpringSourceがターゲットとしてきた、エンタープライズJava開発に特化した統合開発環境である。そしてSTSは「ダウンロードするだけで、エンタープライズJava開発に必要な全ての機能を、最適な生産性で提供する」というコンセプトの元、開発されてきた。 Spring Tool Suiteの画面 さらに最近では、STSをクラウドを使ったWebアプリケーションの開発の入り口とするべく、機能拡張が進んできる。と言うのも、SpringSourceの母体であるVMWareは、4月にSalesforce.comとの提携を発表し、さらに5月に入り、Googleとの提携を発表した。どちらもクラウドを担ぎ上げている有力なクラウドベンダである。 これはV

  • Spring Frameworkによるソフトウェアテスト

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Spring Frameworkによるソフトウェアテスト
  • 【書評】経験ゼロでもできるプログラミング現場の単体テスト - GoTheDistance

    BBQ和尚の同僚の方とは知らずタイトル買いしたですが、タイトルに偽りなしです。とにかく平易で優しいわりにいちいち実践的で助かってます。最小の努力で結果が出るように配慮されています。 経験ゼロでもできるプログラミング現場の単体テスト 作者: 片桐一宗出版社/メーカー: 翔泳社発売日: 2009/05/29メディア: 単行(ソフトカバー)購入: 11人 クリック: 564回この商品を含むブログ (26件) を見る このを買ったきっかけは、とにかくデグレを無くしていい意味で手離れの良いコードを書いて楽がしたい、というもの。その為にはテストツールの使い方よりも、「どうやってテストコードを書けばある一定の品質が保てるのか」ということが書いてあるまとまった情報が欲しかった。で、書をあたりました。 テストコードの書き方がわかっても、テストの内容が不十分であったりテストする単位が均質でなければ意味

    【書評】経験ゼロでもできるプログラミング現場の単体テスト - GoTheDistance
  • テストは誰が書くのか - 未来のいつか/hyoshiokの日記

    昨日のエントリの補足的なもの。id:hyoshiok:20100612#p1 テストは誰が書くのか。もちろんコードを書いた人が書く。コードは誰が書くのか。設計をした人が書く。誰が設計をするのか。要求を分析した人がする。このように一つの機能について一人が責任を持って行うのがベストプラクティスになっている。 ところが、日のソフトウェア産業の8割以上は受託開発と言われているが、そのような現場では誰かが一貫してすべての工程に責任を持つということは普通行われていない。工程を上流下流とわけ、いわゆる一次受けと呼ばれる大手SIベンダーが要求分析をし、その下に設計実装する下請け、孫請けを持つという多重構造になる。 要求分析をして、仕様にまとめるわけであるが、実装のコスト(実装のしやすやしにくさ、実装工数の大きさ)はほとんど考慮されない。契約文書として、これこれを実装することみたいなものがあらかじめ取り交

    テストは誰が書くのか - 未来のいつか/hyoshiokの日記
  • プログラマが知っておきたいJavaと.NETの違い

    システム開発がますます複雑化していく中、エンジニアには、テクノロジを理解して、さまざまな場面に適した選択が求められます。連載では、Javaと.NETの基的な仕組みから最新の傾向や技術などについて、数回に分けて紹介します いまさら聞けない、Javaと.NETの違い 今日、アプリケーション開発・実行のプラットフォームは、大きく2つのテクノロジに収束しているといえるでしょう。 1つは、エンタープライズ・アプリケーション開発の定番ともいえる「Java」です。 実行環境、開発環境の無償提供、OSを自由に選べること、フレームワークや開発環境が充実していることが人気の理由です。大規模アプリケーションの採用実績も多く、ほかのプラットフォームをリードしてきました。 もう1つは、マイクロソフトが発表した「Microsoft.NET」構想に基づいた「.NET」です。 プラットフォームが主にWindowsに制

    プログラマが知っておきたいJavaと.NETの違い
  • 【コラム】イマドキのIDE事情 (83) HTTPモニタでHTTP通信を覗いてみよう! | エンタープライズ | マイコミジャーナル

    HTTPモニタとは? WebアプリケーションやSOAP、JSONなどでHTTPベースのプロトコルを利用した通信を伴うアプリケーションを開発している場合、デバッグや障害解析などのために実際にHTTPでどのような内容の通信が行われているかを参照したいことがある。このような場合に利用できるのがHTTPモニタだ。 HTTPモニタにはさまざまなものがあるが、今回はFirefox拡張であるLive HTTP Headers、EclipseのWTPに標準で付属するTCP/IPモニタ、Windowsのスタンドアロンアプリケーションとして利用可能なFiddler2の3つを紹介する。 Live HTTP Headers Live HTTP HeadersはFirefoxの拡張として利用可能なHTTPヘッダのモニタリングツールだ。 インストール後、Firefoxの[ツール]メニューの[Live HTTP hea

  • 直営社員にプログラミング能力が必要なたった一つの理由 - GeekFactory

    大きなSIerでは社員はプロジェクト管理だけを行い、実作業の大半を外部に委託するところがほとんどです。直営比率が低いところは管理作業しか行わないため、入社してから設計書もプログラムも書いたことがない人は割といます。感覚的には、直営比率が1/3を超えるプロジェクトは社員が自ら現場で作業することが可能で、若手社員にも実作業を経験する場が与えられる気がします。 大きなSIerの小さなプロジェクトはたいてい同じ構造をしていて、ソフトウェア開発自体を丸ごと外注していることが多いです。一括請負契約ですね。この場合、委託元と委託先の責任境界は明確で、委託業務に社員が深く関わることはあり得ません。それでコストが増えたら喧嘩になります。残念ながら、このような構造では社員がソフトウェア開発の実作業を経験することは不可能です。 私は、直営社員もコーディングやテストを自ら行える能力が必要と考えます。その理由は、現

    直営社員にプログラミング能力が必要なたった一つの理由 - GeekFactory
  • 400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ

    システムの多機能化により、プログラムの内容が複雑化している。テクマトリックスの『Understand』は、プログラムの構造を可視化することで、ソースコードの解析時間を大幅に削減できる開発支援ツール。今回は同社の福永一寛氏に、Understandの機能や特徴について聞いた。 システムの多機能化により、プログラムの内容は複雑化している。既存コードの改修や多人数での開発における情報共有のためには、プログラム構造の理解が必須だが、ドキュメントと実装内容とが乖離している場合も多く、解析自体に工数がかかることもある。テクマトリックスの『Understand』は、プログラムの構造を可視化することで効率的なソフトウェア開発をサポートするソフトウェア開発環境。「組込みシステム開発技術展(ESEC)」にて、同社の福永一寛氏にその特徴を聞いた。 ソースコードの解析作業時間を大幅に削減する『Understand』

    400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ
  • 新しいソフトウエア開発手法

    マーチン・フォウラー チーフサイエンティスト , ThoughtWorks 過去数年にわたり、「ライトな」ソフトウエア開発手法が急速に関心を集めつつある。それらは、官僚制に対する解毒剤とも、ハッキングのライセンスとも見なされているが、ソフトウエア関係者全ての興味をかきたてている。このエッセイで、私は「ライトな」開発手法の単に「軽い」側面だけでなく適応的な性質や人間中心主義に着目しながら、それらが流行る理由について掘り下げてみたい。また、この系統のプロセスに対してサマリーとリファレンスを提供し、この踏み出されてまもない道を行くべきかどうかを選択するために、考慮すべき要因について考えてみたい。 開発手法ゼロから、重量級の手法へ、そして「ライトな」手法へ 予見的手法 対 適応的手法 デザインとモノ作りを分割する だいたい仕様を予見できたことがない 予測は絶対に不可能なんだろうか? 予見不可能なプ

    itachisoft
    itachisoft 2010/05/29
    「何かの開発手法にハマちゃってる奴はその開発手法がピッタリ来るケースと、そうでないケースを見わけることができないんだよね」
  • SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行

    軽量なリレーショナルデータベースとして人気のSQLite。そのWebサイトに掲載されている「How SQLite Is Tested」の内容が、海外のプログラマなどのあいだで話題になっています。 3月に公開された最新バージョンのSQLite 3.6.23。体のソースコードは約6万7200行(67.2KSLOC、Kilo Source Lines of Code:空行やコメントを除いた行数)なのに対し、テストコードはなんと4567万8300行(45678.3KSLOC)だと紹介されているのです! これはテストコードが体の約679倍もの大きさだということになります。 100%のブランチカバレッジ SQLiteコアのライブラリをテストするテストコードとして、以下の3つが紹介されています。 TCL Tests TCL Testsはもっとも古いテストコードで、TCL scripting lang

    SQLiteのテストコードは4567万8000行! 本体のコードは6万7000行