タグ

programmingとdevelopmentに関するkknsdのブックマーク (66)

  • Reactive Programming as an Emerging Trend

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    Reactive Programming as an Emerging Trend
  • 最近よく目にする「フルスタックエンジニア」とは何だろうか?

    このところ海外(おもに米国)のスタートアップで、「full stack engineer」の求人広告を以前より多く見かけるようになりました。フルスタックエンジニア、つまりインフラからミドルウェア、モバイル、デザインまで、あるいは設計からプログラミング、デプロイまで、何でもこなせるエンジニアを募集している、ということのようです。 例えば、このPublickeyでも導入しているコメントシステムの開発元であるDisqusは現在、「Full-stack Web Engineer」を募集しています。 「What We're Looking For」の項目では、5年以上のエンジニア経験とチームリーダーの経験などを求めた上で、技術的には次のような要件を並べています。 Very experienced with web application deployment and software design

    最近よく目にする「フルスタックエンジニア」とは何だろうか?
  • 技術的負債を管理する

    日付2013-5-18(Sat) 書いた人おかざわ (id:yujiorama) 書いた理由技術的負債はいつ読んでも面白いんだけどそろそろ普通に向き合いたくなったので。 技術的負債を管理する 技術的負債は悪いものとみなされている。避けるべきものであり、できるだけ早く支払うべきものなのだ。 あなたもそう思うだろうか?私たちはそうは思わない。最初に技術的負債と財政的負債を比較して、戦略の設計とステークホルダーにおける類似点について驚くべき点があることを説明する。それからコード中の技術的負債を識別するための様々な可能性について一覧にする。それらはきっとあなたが対処しなければならないものだ。 最後にプロジェクト技術的負債を返済するために取りうるいろんなやり方について述べる。あなたが返済したほうがよいのか、負債を変換するほうがよいのか、ただ注意を払うだけでよいのかを考える時にきっと役に立つだろう。

  • ソースコード変更波及解析の8カテゴリ - どのくらいご存知ですか?:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ

    変更波及解析は既存のソフトウェアに変更を加えたら、どの場所に影響を与えるかを調べる方法です。影響は来の意図であるものや来意図していない副作用も含みます。変更波及解析が不十分だとデグレードする場合があります。 Steffen Lehnert氏のA Review of Software Change Impact Analysisという文献調査をしたテクニカルレポートがここで公開されています。調査対象の文献が182件ある大きめの調査です。網羅性や調査方法に関しても客観的な基準を与え、洗練した上で論文として公開されるのかもしれません。 このテクニカルレポートで紹介されている影響波及解析のカテゴリの一覧は以下のとおりです。10カテゴリのうち9番目は組合せ、10番目は「その他」なので、実質的には8カテゴリあります。どのくらいのカテゴリをご存知ですか? いずれも完璧とはいかないまでも、変更波及解析

    ソースコード変更波及解析の8カテゴリ - どのくらいご存知ですか?:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ
  • コードレビューやテストの優先順位付けに統計モデルが役立つか実際に試してみた論文:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ

    プログラムの規模が大きくなるとソースコードレビューやシステムテストをどこからはじめてよいか優先順位が付けにくくなります。優先順位は様々です。たとえば、欠陥を見逃した場合にリスクが大きくなるところからはじめる、多くのユーザが使う基機能の正常動作からはじめる、依存関係が多く様々な部分から参照される共通モジュールからはじめる、今後も長期にわたって保守、拡張する部分からはじめるといった方針が考えられます。もちろん、できた部分から順番にという順位付けもあるでしょう。 優先順位のつけ方の一つとして、ソースコードの特徴から不具合がありそうなクラス、モジュール、メソッド、関数を予測する技法としてFault-proneモジュール予測という技法があります。過去の不具合のデータとソースコードの特徴を表わす数値をモデルに与え、不具合が起こりやすいソースコードの特徴を学習させます。数値は関数、メソッド、クラスとい

    コードレビューやテストの優先順位付けに統計モデルが役立つか実際に試してみた論文:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ
  • PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記

    メリークリスマス! PHP Advent Calendarもいよいよ24日目に突入です。 昨日はxhprofについてでしたね。僕もパフォーマンスチューニングの際に使っています。手軽に利用できるのでお勧めです。 さて、このエントリーでは表題の通りMVCについて書かせていただきます。これは、PHPカンファレンス2012&WordCamp Tokyo2012合同LT大会で発表した「やはりお前らのMVCは間違っている」で煽るだけだったこの問題をきちんと解説するものです。 この発表資料を公開するとPHPの枠を超えて広く閲覧いただき*1、また多くの方から突っ込みを戴きました。「LTだから」と言って逃げていた回答をして、気持ち新たに新年を迎えようと思います。 MVCとはなんなのか 間違いを指摘する前にMVCがそもそもどういうアーキテクチャであるのかを確認しなければいけません。 MVCは1970年代にパロ

    PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記
  • コードレビューツール 6選 どれが最適? | Act as Professional - hiroki.jp by HIROCASTER

    Pythonで書かれたレビューツールです。VMware社内で利用されていることで有名なツールです。 プレコミットレビューという概念のレビューツールです。つまり、コミット前にレビューをするという事が前提になっているツールです。よって、結果的に差分を重点的に確認していくツールのつくりになっています。 rietveld rietveld – Code Review, hosted on Google App Engine – Google Project Hosting Google社内で使われているコードレビューツールである「Mondrian」のオープンソース版です。基的にGoogle App Engineで動くことが前提になっています。 GAEの上のコードのデータを置くということがオトナの事情的に難しいかもしれませんが、検討してみてください。 Phabricator Phabricator

    コードレビューツール 6選 どれが最適? | Act as Professional - hiroki.jp by HIROCASTER
  • TDDを明確に定義する - うさぎ組

    でもそんなのどうでもいいから最終的には皆自分のTDDを持てばいいのではと思っている 2012-08-30 12:27:33 via web あなたがTDDだとおもうものがTDDです。 ただしたにんのどういをえられるとはかぎりません。 2012-08-30 12:30:20 via Twitter for iPhone ということで、TDDを定義します。 はじめに TDDを定義し、それの基礎を明らかにし、リファレンスモデルを明にする。 そして、他の例も紹介してみます。 TDDとは何であるか TDDとはソフトウェア開発者向けフレームワークです。 RED -> GREEN -> REFACTOR のスパイラルモデルが根幹にあります。 RED, GREEN, REFACTOR は開発者のアクティビティになります。 僕の理解ではプロセスの部分集合がフレームワークであるから、プロセスと呼ぶ事もできるけ

  • 英語表現でもう迷わない – ドキュメントコメント頻出表現まとめ | DOTAPON Blog

    ドキュメントコメント、書いてますか? githubで公開するライブラリなど、特に人に見せるようなコードには、きっちりコメントを入れておきたいものですね。 せっかくなら世界中の人に使ってもらいたいので、頑張って英語で書きたい。 でも、やっぱり英語には自信がなくて、何度も辞書や既存のドキュメントを見直してしまう…。 こんなムダな日々におさらばするため、代表的なドキュメントをいくつかピックアップして、頻出表現をまとめました。 もうこれで迷わない! …いや迷うけど、それでも負担はグッと減るはず! 参考ライブラリ JavaJava Platform SE 6 Closure Library – Closure Library API Documentation Foundation – Foundation Framework Reference UIKitUIKit Framewor

  • コードレビューいろいろ - steps to phantasien

    コードレビューの話をいくつか見かけた. (1, 2, 3) 私もはやりにのってなにか書いてみたい. といってもリンク先についてどうこう言う気はない. ふだんからぼんやり感じていることをテキストにしてみたい. コードレビューの様式 コードレビューのやりかたは色々ある. 話の背景をあきらかにすべく, まずは私が参加したり見聞きしたりしてきた方法を紹介したい. ただとりとめなく列挙しても見通しが悪いから, 方法を評価する軸を見立てておこう. コードの粒度: 一回のレビューでレビュアが目を通すコードの量はどのくらいだろう. プロジェクト全体? モジュール単位, 機能単位, それともクラス単位? 古典的なレビュー様式はこれら <論理的な単位> でレビューをすることが多い. 最近はブランチやコミットのような <ひとまとまりの変更> を単位とする方法に人気がある. Github の Pull Reque

  • Ohloh, the open source network

    Counting 20,897,554,404 lines of code Indexing 252,753 open source projects Connecting 6,326,592 open source contributors Tracking 1,413,224 source control repositories

  • MVC is dead, it's time to MOVE on.

    MVC is a phenomenal idea. You have models, which are nice self-contained bits of state, views which are nice self-contained bits of UI, and controllers which are nice self-contained bits of … What? I’m certainly not the first person to notice this, but the problem with MVC as given is that you end up stuffing too much code into your controllers, because you don’t know where else to put it. To fix

  • ObjectClub - ソフトウェア原則[5] - パッケージ分割

    先日、ある人から次のような質問を受けた。 クラスが多くなったので、パッケージ分割をしたい。 パッケージ分割をする時の、指針を教えて欲しい。 話を聞いてみると、1つパッケージが大きくなってしまい管理が煩雑になって しまったため、今更ながら一旦整理をする決心がついたという。いわばパッケ ージ分割のリファクタリングを行おうというわけだ。 さて、ここで読者の皆さんに問題である。パッケージ分割の「観点」(指針) をできるだけ多く出してみてほしい。あなたなら、どんな観点で分割するだろ うか?可能なら数分時間を取って、自分の観点をできるだけたくさん書き出し てから次に読み進めて欲しい。 *       *      * 以下が、私が現時点で持っている観点である。1つ1つ説明しながら見ていく。 解説には、設計原則との関わりについて考察を加え、さらに、私が感じている ことを書いてみた。 (1) 名前 クラス

  • 小野和俊のブログ:メンテナビリティの高いソースコードを目指して

    ソフトウェアを中長期にわたってメンテナンスしていく場合、メンテナンスしやすいコードと、メンテナンスしにくいコードとの間には、同じ機能を実現していたとしても、その価値には雲泥の差があります。 メンテナンスの容易さを示す言葉として、メンテナビリティ(Maintainability)という言葉がありますが、私自身、アプレッソでDataSpiderを11年間開発・メンテナンスしていく中で、「この人の書いたコードは当にわかりやすいし無駄がない」とメンテナビリティの高いソースコードに感心させられることもあれば、「急いでいたとはいえ、このソースコードはリファクタリングしないと・・・」と、メンテナビリティの低いコードがソフトウェアに混入してしまったことを嘆くこともありました。 このエントリでは、一のソフトウェアを11年間開発・メンテナンスしてきた経験から、ソフトウェアのメンテナビリティについて考察して

    小野和俊のブログ:メンテナビリティの高いソースコードを目指して
  • 「山浦恒央の“くみこみ”な話」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

    山浦恒央の“くみこみ”な話(177): イチから全部作ってみよう(8)発注側の要望を受けて始まる「ヒアリング」の例題 ECサイトを題材にソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」がスタート。シリーズ第8回は、正しい要求仕様書に向けた第一歩となる「ヒアリング」について具体的な例題を使って解説します。(2024/5/21) 山浦恒央の“くみこみ”な話(176): イチから全部作ってみよう(7)正しい要求仕様書の第一歩となるヒアリングの手順 ECサイトを題材にソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」がスタート。シリーズ第7回は、要求仕様フェーズで作り上げる正しい要求仕様書に向けた第一歩となる「ヒアリング」について解説します。(2024/4/18) 山浦恒央の“くみこみ”な話(175): イチから全部作ってみよう(6)要求仕様フェーズにおける開

  • 小野和俊のブログ:罪悪感駆動開発(zaiakukan-driven development; ZDD)

    みなさんは罪悪感駆動開発(zaiakukan-driven development; ZDD)という言葉をご存知だろうか。私はつい先ほどまでこの概念を知らなかった。なぜなら先ほど自分で思いついたばかりだからだ。 仕事をしていく中で、やるべきことが山積みなのについネットサーフィンをしてしまい、「うわ、今日仕事全然進んでない、やばい」という罪悪感から、その後の仕事が妙に捗る、という経験をしたことがある人は少なくないだろう。 罪悪感駆動開発は、こうした危機感や罪悪感といった人間が来持っている感情を引き出すことで、より高い仕事の成果を上げていくことを志向する。 罪悪感を感じるポイントは人によって個人差があるが、一般に仕事中に罪悪感が高まりやすい充填行為として、次のようなプラクティスが広く認知されている。 (a) 昼寝 (b) ネットサーフィン (c) ゲーム (d) タイピングソフトでランキング

    小野和俊のブログ:罪悪感駆動開発(zaiakukan-driven development; ZDD)
  • 「コードの読まれ方が分かった」、工数見積もり精度向上に寄与

    「コードの読まれ方が分かった」、工数見積もり精度向上に寄与:奈良先端科学技術大学院大学 森崎修司氏らが発表 「ソースコードの読まれ方の傾向がまた1つ明らかになった。これで派生開発、保守開発の工数見積もりの精度が向上する」――奈良先端科学技術大学院大学 森崎修司助教らの研究グループは、2009年9月~11月にかけて行ったソースコードリーディングのオンライン・ハンズオン、2010年1月、2月に行ったイベント「ソースコードリーディングワークショップ」、ほか3回におけるハンズオンの分析結果を発表した。 総計126人に、保守/派生開発プロジェクトを模した形式で複数のソースコードを読んでもらい、それぞれにかかった時間を計測、分析したところ、「ソースコードの読解時間はソースコードの行数だけで予測することは難しい」「大規模な変更の場合、コードレビューの経験があるとソースコードの読解時間を短縮できる」ことな

    「コードの読まれ方が分かった」、工数見積もり精度向上に寄与
  • オブジェクト倶楽部 2009 夏イベントに登壇させていただきました - t-wada の日記(旧)

    日はオブジェクト倶楽部夏イベントにて 90 分もの長時間(!)喋らせていただきました。 会場にてお聞きくださった皆様、ありがとうございました。 講演の内容はというと、「創発的設計 (Emergent Design) 」というコンセプトについて講演をさせていただきました。自分は何を学んできたのか、何に学んできたのかを明かにし、いまの理解を立体化しました。「テスト駆動開発を当に厳格に行うならば3イテレーション程度でアーキテクチャが破綻する」という意見に対する私の考えの表明でもあります。 Emergent Design - ObLove 2009 summerView more documents from t_wada. テスト駆動開発者はテスト駆動開発という手段だけで開発を行っている、つまり先行設計をしない、という誤解に対して、そのようなことはないという (ごく真っ当な) 結論になってい

    オブジェクト倶楽部 2009 夏イベントに登壇させていただきました - t-wada の日記(旧)
  • Things to Do to Improve Code Quality - DZone

    As I mentioned a couple of posts ago, I was recently out in Oslo teaching a course on Lean software development. One of the points I make is: Quality is free (or at least cheaper) provided you invest in improving quality. This section of the course included an exercise were I ask the participants to think of things they could do to improve code quality. On this occasion the exercise went particula

    Things to Do to Improve Code Quality - DZone
  • GUI開発におけるコロンブスの卵 - KSCS

    先日、とあるUI技術がひっそりとデビューした。このUI技術 - KSCS - を手がけたコンサルタントは友人なので、以前彼の取り計らいでKSCSについて話を聞く機会があった。KSCSは「なるほど!」と唸らされるアイデアを用いていながら、デビューしたにも関わらず巷であまり話題になっていないようなので、このブログで皆さんに紹介しようと思う。 KSCSの凄いところは、ズバリその言語構造そのものである。プログラム言語の紹介と言えばやはりまずはHello Worldからだろう。というわけで以下のソースコードを見て欲しい。 K(_hello){ U{ R(#m,"???") Rb("Push"){ Bs{ #m?="Hello, world!"; } } } } 恐らくこのソースコードを見て、プログラマ諸氏は「ナンジャコリャァァァーーーッ?!」と思うのが素直な感想ではないだろうか。私も初めて見た時はさ

    GUI開発におけるコロンブスの卵 - KSCS