タグ

2011年3月7日のブックマーク (15件)

  • Salesforce Consulting and Google Consulting Partner

    Explore how Wipro is helping companies get back to work safely With WORK.com solutions, we can help you build a resilient future despite the disruption of COVID-19.

    Salesforce Consulting and Google Consulting Partner
    ryoasai
    ryoasai 2011/03/07
    アメリカのSIerはインドとは別の意味で活気があるね。一品物のシステムを作るのではなく、クラウドと基幹をつなげるESBを提供しているみたい。正にSIをしているイメージ。
  • COBOL屋の呪縛 - masayang's diary

    今回の日出張ではいくつかのプロジェクトの状況をみてきた。で、思ったこと。 「COBOL時代のデータ構造を引きずることで、生産性や保守性が落ちている」 フラグだらけのマスター 物のコードをだすわけにはいかないので、すごく簡略化した例で説明したい。あるシステムを利用できるユーザのマスターテーブルがあるのだけど、そいつには「なんちゃらサービス利用可否フラグ」みたいなのがたくさんついているのね。 この方式の問題は以下の通り。 テスト負荷 フラグがあるということはそれをチェックするif文があるということ。 if文があればテスト件数は最低2件は増える。 入れ子になれば、4件、8件...と増えていく。andやorでも同じ。 コードの冗長性 「あるユーザがサービスAを使えるか」を調べる処理と「あるユーザがサービスBを使えるか」を調べる処理はほぼ同様になることは明らか。 「サービスAを使えるユーザ」を調

    COBOL屋の呪縛 - masayang's diary
  • SIerの悲しい現実 - カレーなる辛口Javaな加齢日記

    http://anond.hatelabo.jp/20080824080254 とりあえずメモ. SIerでお仕事してると、派遣とか常駐とか言う形で、色んな会社に行って、違う会社の人とお仕事するんだけど、「経験年数n年(n>3)です」っていう人達が、恐ろしく使えなくてびっくりすることがしばしば。 そんなもんらしい. そういう方たちは,こういうの存在さえしらない.=>http://d.hatena.ne.jp/JavaBlack/20070522/p1 でもそういう人達の方が,SIerとしては安上がりで重宝するようだ.お客や上司が気にするのは品質や生産性ではなく価格だけだから.そしてこの主も,おそらく遠からずSIerの存在を疑問に感じ,他の道を模索するようになるんじゃないかな.よほどのコンピューター馬鹿か,或いは当の馬鹿でなければ,SIerでプログラマを続けていくことなんて無理だろう.*

    SIerの悲しい現実 - カレーなる辛口Javaな加齢日記
  • 経験年数2年半のJavaプログラマがちょっと書くよ。

    はてな界隈では、Javaって、あんま人気無いみたいだけど、ちょっと書かせてよ。 SIerでお仕事してると、派遣とか常駐とか言う形で、色んな会社に行って、違う会社の人とお仕事するんだけど、「経験年数n年(n>3)です」っていう人達が、恐ろしく使えなくてびっくりすることがしばしば。 特に、Java 5以降の機能 拡張for構文Enum可変長引数辺りを全く知らなかったり。 って言うか、Javaの極々基的な知識である equals/hashCodeの実装Serializableの実装Iteratorの実装が全く出来ないんだよね…。 そういうのを知らなくても(出来なくても)業務をこなせちゃう(?)のが、Javaの言語特性だとは思わないけど、こういう人達だらけなんだよね…。 PMが新しい人を採用しようとして、ここら辺の知識を割りと厳し目にテストしたら、候補が10人居たのに全滅で、プロジェクトのスター

    経験年数2年半のJavaプログラマがちょっと書くよ。
  • オブジェクト指向プログラムでgetter/setterメソッドを使わなければならない10の理由

    オブジェクト指向プログラムで getter/setterメソッドを使わなければならない 10の理由 福盛 秀雄 fukumori at m.ieice.org JavaC++などのオブジェクト指向言語でプログラムを書いているときに、単純なメンバ変数を参照したり操作するために anObject.getX() [以後これをgetterメソッドと呼ぶ] とか anotherObject.setY(y) [以後これをsetterメソッドと呼ぶ] と書くのはなぜだろうと思ったことはないだろうか? int型の変数ひとつを操作するのになぜわざわざメソッドを定義するのだろう? 単純に代入を使えばいいじゃないか? この文章はそんなあなた(かつての僕も含む)が、getter/setterメソッドを使うべきである理由についてまとめたものである。 ということで早速論へ。 1. クラス内部のデータ表現を変えた場

    ryoasai
    ryoasai 2011/03/07
    GroovyでもScalaでもRooでも最近はプロパティを少ないコーディングで実現できるようにはなりつつありますね。通常の場合面倒でも純粋なpublicフィールドは良くないと思います。
  • メトリクスでソフトウェア品質を見える化する - プログラマの思索

    「現場で使えるソフトウェアテスト Java編」を読んで内容がとても素晴らしいのでメモ。 【1】「現場で使えるソフトウェアテスト Java編」の対象読者は、Java開発者。 内容は、Eclipseの下記のテスト用プラグインで、Javaプログラムのテストや品質を解説している。 【書で解説するEclipseプラグイン】 ・Checkstyle → コーディング規約チェック ・FindBugs → バグパターン検出 ・JUnit → 単体テストの作成/実行 ・TPTP → プロファイリング(非機能テスト) ・djUnit → カバレッジ計測 ・StepCounter → ソースコード行数測定 上記のプラグインのうち、全てを使いこなしている開発者はどれくらいいるのだろうか? 僕は、Checkstyle・FindBugs・JUnit・djUnitは使った事があるが、TPTPやStepCounterは

    メトリクスでソフトウェア品質を見える化する - プログラマの思索
  • Java Metrics – Everything you ever wanted to know about Java metrics…

  • ソフトウェアメトリクス - なんとなくな Developer のメモ

    メトリクス測定 最近、ありえないほど酷いソースコードの Java による Web システムに遭遇したので、いい機会だしソフトウェアメトリクスを測定してみた。(言うまでもなく、そのプロジェクトは火が噴いて大変な状態だった) ソースコードをわざと難読化しているとしか思えないくらい無意味に複雑な実装で、TDD(テスト駆動開発)などを実践しアジャイル開発に取り組んでいる者としては、あまりの世界観の違いに驚いてしまった。 アーキテクチャ自体が終わってる印象なので、当然の帰結とも捉えられるような気がするが、あまりにも・・・。 とにかく、Eclipse Metrics plugin を使ってメトリクスを計測してみたところ主な結果は以下の通りだった。 10以下が望ましいとされる VG(メソッドのサイクロマチック数)で 50以上が数十箇所、最高値は 90を超えてる MLOC(メソッド単位の行数)の最高値が約

    ソフトウェアメトリクス - なんとなくな Developer のメモ
  • Synopsysソフトウェア・セキュリティ | ソフトウェア・インテグリティ・グループ

    DevSecOpsに最適化されたオールインワンのAppSecプラットフォーム テストするアプリケーションは一つでも数千でも、いつでもどこでも一回の自動スキャンで。 Polarisプラットフォームを見る ソフトウェア脆弱性スナップショット webおよびソフトウェア・アプリケーションによく見られる10の脆弱性に関する3 年間の分析をご覧ください レポートを読む 7年連続でリーダーの1社に位置づけ シノプシスがGartner®にアプリケーション・セキュリティ・テスト・ベンダーのリーダーの1社として評価され続けている理由をご覧ください。 レポートを読む ソフトウェア・サプライチェーンのセキュリティ・リスクの現状 ソフトウェア・サプライチェーンのリスクを軽減する方法を調査する レポートを読むくはこちら

  • メトリクスとは何か

  • アーキテクチャ分析ツール Lattix

    ソースコード/モデル全体の構造分析・影響分析結果を階層構造で表示、システム構造の品質を定量評価するアーキテクチャメトリクス計測に対応 Lattixは、DSM( Dependency Structure Matrix )手法をソフトウェアに応用し、アプリケーションやデータベースに含まれる構成要素を分析し、その依存関係を表形式(マトリックス)に表示します。このマトリックスから、要素間の依存関係やコード修正の影響範囲、循環参照モジュール、階層構造の崩れといったアプリケーションの構造確認や問題点の把握が容易になります。 ソフトウェア品質保証 ソースコード解析 アーキテクチャ分析 ソフトウェア品質向上

  • GitHub - clarkware/jdepend: A Java package dependency analyzer that generates design quality metrics.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - clarkware/jdepend: A Java package dependency analyzer that generates design quality metrics.
    ryoasai
    ryoasai 2011/03/07
    名前のとおり依存関係を中心としたフリーの診断ツール
  • Javaプログラマであるかを見分ける10の質問-回答編 - やさしいデスマーチ

    想定を超えた反応がありましたので、予定はしていなかった回答編をお送りします。ですが、正確な解答を書いても面白くないので、これをネタに面談をした場合に、自分ならどんなポイントを持って選考するかをまとめてみました。 はじめに このエントリーの質問の意図は「優れたJavaプログラマ」を見つける事ではありません。「最低限のスキルを持った戦力が欲しい」という状況です。したがって、優れた指摘をしてくるのであれば超したことありません。設問について議論が発生するならば、この設問を投げる必要がなかったということです。 Javaを詳しく知っている人からすれば間違いでは?曖昧な質問では?と感じる設問があるのは確かです。しかし、優秀な人をテストしたい訳ではないのです。したがって、正確性とか厳密性については求めません。「だいたいあっている」ならば前提条件である「中堅プログラマの補充」の条件を満たすからです。 中堅プ

    Javaプログラマであるかを見分ける10の質問-回答編 - やさしいデスマーチ
    ryoasai
    ryoasai 2011/03/07
    この質問に対する答えを丸暗記される危険性はあるけど、このブログを読んでいること自体評価されるべきかな。
  • カスタムJavadocとJDK 7で新しく導入されたクラス・メソッド - torutkのブログ

    JDK 7で追加されるクラス・メソッドを一覧してみようと思いました。標準APIのソースコードはJDKと一緒にインストールされるので(src.zip)、これを展開し、Javadocコメントの@sinceタグに1.7とあるものを抽出すればいいというのが最初の発想です。 JDK 7のソースコードからJavadocコメントの@sinceタグ部分抜粋 新しく導入されたクラスは、クラスのJavadocに記載される@sinceタグに1.7と書かれています。以下は、JDK 7で新規追加されるクラス javax.swing.JLayer の例です。 package javax.swing; :(中略) /** * {@code JLayer} is a universal decorator for Swing components :(中略) * @since 1.7 :(中略) */ public fi

    カスタムJavadocとJDK 7で新しく導入されたクラス・メソッド - torutkのブログ
  • ちょっとしたJavaコードをScalaに書き直してみた - xuwei-k's blog

    元コードはの118ページ目 変数多いぅぉ・・・try catchやifが値を返せばretValとかいらないのに・・・ という「Javaコードを見るとscalaで書き直したい病」が発病したので(・ω・`) 元のJavaコード↓ @Override public int compare(Player o1,Player o2) { float o1A, o2A; int retVal; if(o1.getId() == o2.getId()) return 0; if(o1.hasRole(Player.Roles.Batter)){ try{ o1A = o1.asBatter().getAverage(); }catch(NotEnoughAtBatsException e) { o1A = 0.0f; } } else o1A = 0.0f; if(o2.hasRole(Player.R

    ryoasai
    ryoasai 2011/03/07
    if文などが値を返すというのは意味があるが、「式自体が値を返す」というのはトートロジーではないのかな。