タグ

2014年8月20日のブックマーク (13件)

  • intro-to-aop

    複雑なアプリケーションではロギング、 トレーシング 、メトリクスといったサポートの機能により、関数にすぐ負荷がかかってしまいます。これらのコードブロックはあらゆるコードベース上でそれぞれ少し変形して繰り返し使用されるのですが、これを 横断的関心事(cross-cutting concerns) と言います。 アスペクト指向プログラミング (AOP)は、アスペクトと呼ばれるモジュール内にコードブロックを引き入れて、 関心の分離 (separation of concerns)を手助けします。 AOPの実装 Phoneクラス ^(1) 不自然な例だというのは承知の上で、 dial メソッド1つを使って簡単なPhoneクラスを構築してみました。 function Phone() {}; Phone.prototype.dial = function (friend) { var start =

    intro-to-aop
  • 『霧島、火消しやめるってよ』これ書いたらエンジニアをやめるべきコード9選 - paiza times

    2014年7月30日より開催中のpaizaオンラインハッカソン(略してPOH![ポー!])Lite「天才火消しエンジニア霧島 もしPMおじさんが『丸投げ』を覚えたら」ですが、たくさんのご参加ありがとうございます。引き続き開催中ですので、まだチャレンジしていない方は是非チャレンジください。 今回の物語では、主人公霧島京子の発注元にあたる1次請けSIerPM火村氏に、いかにアホなコードを書かせるかという事で色々悩んだのですが、ネタとしては面白いが可読性が悪すぎてヒントにならないという事でお蔵入りしたコードを紹介ます。 ■しょうもなさ過ぎてお蔵入りに… 今回は、これまでのオンラインハッカソンVol.1、Vol.2よりも難易度を下げて、より参加しやすい形を目指して、タイトルもPOH Liteとしました。物語の中で提示される元受PMの火村氏が書いたコードを読めば「愚直な解き方はある程度分かる」とい

    『霧島、火消しやめるってよ』これ書いたらエンジニアをやめるべきコード9選 - paiza times
  • JavaTechnology Slot Online | Cara Daftar bermain Slot Online

    Dapatkan Peluang Menang Slot Online Lebih Besar Di Bandar Teraman Karena banyaknya pilihan situs judi di internet. Penting bagi seorang pemula khususnya untuk memilih sebuah bandar judi terpercaya. Karena berbagai

    JavaTechnology Slot Online | Cara Daftar bermain Slot Online
    hatehate331000
    hatehate331000 2014/08/20
    enum
  • 列挙型を使った処理を共通化する (Java) - とあるソフトウェア開発者のブログ

    Javaで複数の列挙型(enum)に対して同じような処理を書く場合に、どのように共通化するかを考えました。この記事では、列挙型で共通のインターフェースを実装しても対処できないような場合について扱います。例えば、values()のようなstaticメソッドが関わる場合です。対象バージョンはJava SE 6です。(たぶん5でも動きます。) 2010/08/13追記 記事のタイトルを「列挙型を使った処理の共通化」から「列挙型を使った処理を共通化する」に変更しました。(前者だと、「『列挙型を使った処理』の共通化」と「列挙型を使った『処理の共通化』」のように2種類の解釈ができて紛らわしいため。) 共通化されていない場合 はじめに共通化されていない場合のコードを示します。main()を呼び出すと、2種類の列挙型(Size、Color)に対して、クラス名とメンバ一覧を出力します。printSizeVa

    列挙型を使った処理を共通化する (Java) - とあるソフトウェア開発者のブログ
  • FTPサーバリターンコードの一覧 - Wikipedia

    FTPサーバリターンコードの一覧(えふてぃーぴーサーバリターンコードのいちらん)では、FTPにおいてサーバのリターンコードを示す。 リターンコード[編集] コード 解説

  • break文の使い方

    break 文は for 文や while 文などの繰り返し処理の他に switch 文で使用されるもので、 break 文が実行されると繰り返し処理を強制的に終了し次の処理へ移ります。ここでは break 文、およびラベル付き break 文の使い方について解説します。 ※ ここでは繰り返し処理で使用する break 文について解説しています。 switch 文での利用については「switch文を使った条件分岐」を参照されてください。

    break文の使い方
  • JUnit(JUnit4)の概要~利用方法【ユニットテスト - テスト】 @みっちーわーるど

    前提 このページに記載している内容は2011/01/23に書かれたものです。 掲載している画面や方法が将来的に変更されている場合があります。 また、解説に使っている eclipse のバージョンは 3.6.1 です。 eclipseのバージョンによって若干異なる部分があるかもしれません。 「初心者にも分かる JUnit(JUnit4)」を目指して頑張って解説します。 特徴 ・JUnit3の改良版 ・eclipseと連携していて簡単にテスト実行&失敗したテストの理由を表示 ・JUnit3の以下の問題点を改良 ・テストメソッドの名称が固定 →メソッドにアノテーションを付加することで対応 ・例外が発生するテストが複雑 →アノテーションで期待する例外を記述することで対応 ・テスト前後処理のバリエーションが少ない →テストクラス前後処理など、いくつかのバリエーションが追加された ・JUnit3と同じ

  • Seasar2再学習めも - yukungのブログ

    久しぶりに時間が取れたので, Seasar 2 徹底入門 SAStruts/S2JDBC 対応 作者: 竹添直樹出版社/メーカー: 翔泳社発売日: 2010/04/20メディア: 大型購入: 10人 クリック: 270回この商品を含むブログ (33件) を見るを読んでSeasar2を再学習したのでそのメモ。 S2Containerの初期化 SingletonS2ContainerFactory#init() app.diconの内容でコンテナを初期化する コンポーネントの取得 S2Container#getComponent()で取得 できるだけ型を指定して取得するほうが吉 DIの設定 自動バインディングをうまく利用することでdiconファイルの記述量を減らすことができる インタフェースを実装していないコンポーネントをDIする場合や,同じインタフェースを実装した複数のコンポーネントが登録

    Seasar2再学習めも - yukungのブログ
  • Java Streamメモ(Hishidama's Java8 Stream Memo)

    概要 Stream系クラス Stream系メソッド Stream生成 [/2018-10-01] メソッド Stream [/2021-03-21] BaseStream プリミティブStream [/2021-03-21] onClose [2015-12-13] Streamの例 [/2021-03-21] 概要 JDK1.8で導入されたStreamは、複数の値(オブジェクト)に対して何らかの処理(変換や集計)を行う事を分かりやすく記述できる。 import java.util.stream.Stream; Streamの値の持ち方はjava.util.Listのようなイメージ。 しかしStreamの操作は一度しか行えないので(ScalaのTraversableOnce相当)、java.util.Iteratorの方が近いかも。 つまり複数の値を保持し、順次処理していく。 なお、Str

  • Java8でListをある程度まとめて並列処理 - Qiita

    List<Map<String, Object>> rows = new ArrayList<>(); // データ入れる rows.parallelStream().forEach(row -> { LOG.info("something to do."); LOG.info(row); }); すげー簡単に書けるんですが、これだと1つずつスレッド作られる感じ。 DB処理でトランザクションである程度まとめたいとか、そういうのをやりたい。 ある程度まとめて並行処理する List<Map<String, Object>> rows = new ArrayList<>(); // データ入れる for (int start = 0; start < rows.size();) { int end = start + 100; if (end > oldRows.size()) { end =

    Java8でListをある程度まとめて並列処理 - Qiita
    hatehate331000
    hatehate331000 2014/08/20
    Java8
  • Stream APIの主なメソッドと処理結果のOptionalクラスの使い方

    連載目次 前回の「ラムダ式で領を発揮する関数型インターフェースとStream APIの基礎知識」では、ラムダ式を使うことで領を発揮する汎用的な関数型インターフェースとStream APIの概要を見てきました。 今回は、前回に引き続きStream APIについて見ていき、主なメソッドとその使い方を学んでいきましょう。 Streamの生成 Stream APIを使うには、Streamのインスタンスを生成しなければいけません。まずは、そのStreamインスタンスを生成する方法を見ていきましょう。 配列やCollectionなどからのStreamの生成 Streamは配列やCollectionなどから作成可能です。まずは配列やCollectionからStreamのインスタンスを生成する主なメソッドを見てみましょう。下記のものが主なメソッドです。 呼び出し元クラス/インターフェース メソッド 概

    Stream APIの主なメソッドと処理結果のOptionalクラスの使い方
  • IBM Developer

    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 Developer
  • Java 8を使ってみる(使用編・Stream編1)

    Java 8には、Streamというクラスが追加されています。 面倒くさい説明を少々しますので飛ばす人はこちらへ→スキップ StreamはC#でいうIEnumbleに準ずるもので、中間処理を実行しても実際の絞り込みは 実行されず、終端処理を呼び出された際に実行されるというものです。 下の例のような記述ができます。 int sumOfRedWeights = blocks.stream().filter(b -> b.getColor() == RED) .mapToInt(b -> b.getWeight()) .sum(); ここでは、blocksをgetColor()==REDで絞り込み(filter)、 getWeight()を抽出して(mapToInt)合計しています(sum)。 中間処理のfilter、mapToIntでは絞込は行われず、 終端処理のsumが呼ばれる際に遅延的に実