タグ

ブックマーク / backpaper0.github.io (29)

  • Springのproxyとfinalメソッド、それからnull — 裏紙

    SpringのRepositoryとComponentアノテ、動きに違いがあるのか、、 Repositoryだとフィールドがnullになってハマった — こざけ (@s_kozake) 2018年2月17日 ようやく🍥Repositoryでフィールドの値がnullになる原因が分かった、、 メソッドをfinal指定してました サブクラスベースのProxyではメソッドやクラスにfinalをつけてはいけないとあれほど_:(´ཀ`」 ∠): — こざけ (@s_kozake) 2018年2月19日 ここら辺、どこか詳しい資料ありますか? CGLIBを用いてサブクラスベースのProxyを実現している状況で、メソッドをfinalにした場合、内部でどのような状況になってnullのインスタンスを見るようになったかという まあ、そもそもfinal切るなって話なのですが — こざけ (@s_kozake)

    bufferings
    bufferings 2018/02/22
    いいなー
  • SpringでOAuth 2.0・OpenID Connect 1.0を使う

    bufferings
    bufferings 2017/11/25
    めもめも。
  • 「Java本格入門」を読んだ — 裏紙

    せろさん に献して貰いました。 ありがとうございます! Java格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで:書籍案内|技術評論社 このJavaの入門書ではありますが「格」と付いているだけあって、 コレクションの実装に踏み込んでどの場面でどの実装を使うべきか Map#computeIfAbsent の現場あるあるな使い方 正規表現関連のオブジェクト( Pattern 、 Matcher )と String のメソッドの使い分け など、実践的な内容が含まれています。 また、Java 8を前提として書かれてはいますが、 ファイル操作に関してはJava 6までのやり方( java.io )とJava 7以降のやり方( java.nio.file )が、 日時操作に関してはJava 7までのやり方( java.util.Date 、 java.util.Ca

    bufferings
    bufferings 2017/04/18
    さすが。
  • 世界の中心で愛を叫んだうらがみ — 裏紙

    これは ・夫を愛してるITエンジニア Advent Calendar 2016 の1日目です。 Twitterでのノリと勢いで作ったんですが、早い段階で埋まった上に その2 も作られて、なんだかんだですごく楽しみなAdvent Calendarになりました。 書くことは特に定めておらずフリースタイルとなっています。 みなさん、それぞれの形で惚気て頂ければと思います。 距離感 も私と同じくプログラマです。 だけど私と異なり、家でまでコードを書くようなプログラマではありません。 たぶん、まったくの別業界の人よりは私のようなプログラマに理解があり、それでいて私の趣味には干渉しないぐらいの距離感が心地良く感じています。 週末は二人で出かけることが多いですが、「今週末は勉強会に行きたい!」と言っても「良いよ」と返してくれて、別々に行動することもままあります。 もちろん、友達と遊びたいと言って

    bufferings
    bufferings 2016/12/04
    うらがみさんがしゃべってるぽくて癒し
  • 東京でDoma勉強会やったぞ!!! #doma_tokyo — 裏紙

    スライド 私のスライドはこちら。 2、話させて頂きました。 Domaの主要な機能を私なりに紹介した発表と、ドメインクラスで型最高!という発表です。 Domaの紹介 ドメインクラスの話 がくぞさんのスライドはこちら。 collect検索の活用方法、なるほど感すごかったです。 真似させてもらいます! とあるDoma2の使い方 そして、中村さんのスライドはこちら。 Doma開発のスタンス、我々ユーザーとの向き合い方に感動しました!! Domaの開発で大切にしている10のこと 「LTやってよ!」ってさらっと無茶振りしたのに見事に応えてくれた 多田さん と やんくさん もありがとうございました! Doma2とMVC1.0でJava EE Webアプリを作ろう! Doma2 with Kotlin TLへのリアクション 内容については、他の方々のブログにお任せするとして、ここからは当日のTLから幾つ

    bufferings
    bufferings 2016/07/12
    うらがみさんの喜びが伝わってくる。いいね。Domaのドメインクラス使ってると、String型とかで何でも入ってしまうのは面倒になるよね。
  • Concurrency Utilities in Java 8

    Concurrency Utilities in Java 8

    bufferings
    bufferings 2016/06/22
    2年前かっ!裏紙さんの2年前に到達したっ!(ポジティブ
  • JJUG CCC 2015 Fallに行ってきた #jjug_ccc — 裏紙

    JAX-RSネタで登壇してきた GH-1のタイポっぽいけどGlassFishっぽくて良いな! pic.twitter.com/jfu08S7JMW — うらがみ (@backpaper0) 2015, 11月 28 http://www.java-users.jp/?page_id=2064#AB-1 というわけで登壇させて頂きました。 JAX-RS入門および実践 ペース配分が甘くて最後のテストコードのパートをまるごと省略してしまい、聴講してくださった皆様には大変申し訳なく思っています。 おそらく関Javaで再演しますが、その際はしっかり最後まで話せるよう練習しておきます。 また、懇親会で「物足りなかった」というご意見を頂きました。 確かに、できる限りJAX-RSをご存知ない方にもJAX-RSを知って頂きたく、最大公約数的な内容にしたので物足りないと感じた方はいらっしゃるだろうなと思いまし

    bufferings
    bufferings 2015/12/01
    "大好きラブ!"いただきました!!٩(ˊᗜˋ*)و
  • JAX-RS入門および実践

    bufferings
    bufferings 2015/11/29
    関西で再演を約束してくれたので、関西のみんな楽しみに待ってようねー!!
  • 関西Java女子部主催「Javaでwebアプリケーション入門」をお手伝いしてきました #javajok — 裏紙

    こんばんは! Eclipseへのインポート手順を解説していた @backpaper0 です! 表題の通り、Javaのハンズオンイベントをお手伝いしてきました! http://javajok.connpass.com/event/22044/ http://irof.hateblo.jp/entry/2015/11/16/235913 一緒にやった @irofさん のレポート 会場は楽天株式会社大阪支社のカフェテリアをお借り致しました。 @bufferingsさん 、休日なのにいつも笑顔でお付き合いくださりありがとうございます! なお、会場提供くださった楽天株式会社大阪支社では11月21日(土)に Rakuten Technology Conference 2015 というイベントのサテライトが行われるそうです。 http://bufferings.hatenablog.com/entry/

    bufferings
    bufferings 2015/11/16
    うらがみさんの優しさよ(ノ)'ω`(ヾ) "なお、会場提供くださった楽天株式会社大阪支社では11月21日(土)に Rakuten Technology Conference 2015 というイベントのサテライトが行われるそうです。"
  • Spring Bootでカラフルなバナーを表示してみた — 裏紙

    gradle build java -jar build/libs/spring-boot-rich-banner-sample.jar ではじぶーと https://t.co/Z0kQb1fUGR pic.twitter.com/8wWuHiJwM6 — うらがみ (@backpaper0) 2015, 10月 7 というわけでカラフルなバナーを表示するBannerクラスを書いてみました。 どうやってんのか ターミナルの背景色を変更してスペースを2つ出力、を繰り返して絵を描いています。 スペースを2つ出力することで正方形になって良い感じにドット絵っぽくなります。 背景色を変えるには

    Spring Bootでカラフルなバナーを表示してみた — 裏紙
    bufferings
    bufferings 2015/10/09
    なんかおもしろいー
  • Java 8徹底再入門やった #kanjava — 裏紙

    【Date and Time APIJava 8徹底再入門【ラムダ式ハンズオン】(大阪,7/11) - connpass 東京から @khasunuma さんを講師にお迎えして JSR 310: Date and Time API の解説をして頂きました。 またイベントの後半は @bitter_fox さんにラムダ式・Stream APIのハンズオンを行って頂きました。 会場は楽天株式会社大阪支社のカフェテリアをお借り致しました。 @bufferings さん、いつもご協力ありがとうございます。 お二人とも初歩的な部分から丁寧にお話・ハンズオンをして頂いたので参加された方々は Date and Time API と ラムダ式・Stream API の基礎を身に付けることが出来たのではないでしょうか。 はすぬまさん、きつねさん、当にありがとうございました!

    bufferings
    bufferings 2015/07/13
    おつでしたー!
  • Streamのcollectメソッドを学ぶ — 裏紙

    collect メソッドの概要 端的に述べると collectメソッド は Stream<T> を R に変換する操作です。 より詳しく述べると、 Stream の各要素( T )を中間コンテナ( A )に折り畳んだ後に最終的な結果( R )に変換する操作です。 括弧内のアルファベットは Collector が持つ3つの型変数に対応しています。 T : Streamの要素の型 A : ミュータブル な中間コンテナの型 R : 最終的に返される結果の型 例えば Stream<Character> を単純に繋げて String にする場合は、 Stream の各 Character ( T )を StringBuilder ( A )に append した後に String ( R )に変換する、 という流れになります。 Collector インターフェースの説明 collectメソッド は引

    bufferings
    bufferings 2015/07/12
    3年前の記事を2年前にブックマークしたのを今読んで「ほう・・・」ってなってる。(ありがとう
  • Visitorパターンについて考えた — 裏紙

    ポリもーなんとかでなんとかする 例えば数値を表すNumNode、足し算を表すAddNode、それらのインターフェースとなるNodeがあるとします。 で、計算を実装する場合Nodeにcalcメソッドとか定義してNumNodeとAddNodeで実装します。 package visitor; public interface Node1 { int calc(); } class NumNode1 implements Node1 { public final int value; public NumNode1(int value) { this.value = value; } @Override public int calc() { return value; } } class AddNode1 implements Node1 { public final Node1 left; p

    bufferings
    bufferings 2015/06/06
    ダブルディスパッチ!わかり易かったー。ŧ‹”ŧ‹”ŧ‹”ŧ‹”(๑´ㅂ`๑)ŧ‹”ŧ‹”ŧ‹”ŧ‹”
  • Javaでフィボナッチ数を求める関数を末尾再帰最適化する

    Javaでフィボナッチ数を求める関数を末尾再帰最適化する

    bufferings
    bufferings 2015/03/29
    分からんけど面白かった。
  • Spring Bootキャンプをやった #kanjava_sbc — 裏紙

    @making さんを講師にお迎えしてSpring Bootを土台にしてプログラミングを楽しむハンズオンを開催しました。 【脱初心者】Spring Bootキャンプ【ハンズオン】 - connpass Spring Bootキャンプ ハンズオン資料 はじめてのSpring Boot 会場は楽天株式会社大阪支社のカフェテリアをお借り致しました。 @bufferings さん、ご協力ありがとうございました。 今回のハンズオンではカメラで撮った写真をSpring MVCに投げてOpenCVで画像変換をしました。 変換部分はJMSで非同期処理しクライアントとサーバー間はSTOMPというプロトコルをWebSocket上で利用して通信しました。 Spring Bootの関係無さ感すごい!!! しかし、このように色々な技術を使ったWebサービスのハンズオンを特にややこしい設定もせず 約2時間半で進める事

    bufferings
    bufferings 2015/03/08
    おつつー。
  • Spring BootのサンプルをJAX-RSにしてみた — 裏紙

    先日写経したSpring BootのサンプルがSpring MVCで書かれていたのでJAX-RS、 というかJersey MVCにしてみました。 Spring Bootをやってみた ソースコードは先日と同じ場所に置いてあります。 https://github.com/backpaper0/spring_boot_sample tag作りました。 https://github.com/backpaper0/spring_boot_sample/releases/tag/jaxrs やったこと まず Spring Bootのドキュメント を参考にしてpom.xmlの編集とJerseyConfigクラスを作成しました。 次に Jerseyのリファレンス を参考にしてTemplateProcessorの実装クラスを作成しました。 そして各ControllerクラスをSpring MVC仕様からJA

    bufferings
    bufferings 2015/03/08
    めもめも。
  • HttpServerとJAXBでAPIを組込む — 裏紙

    前に小酒さんとJavaのプロセス間通信についてお話しました。 http://togetter.com/li/441590 んで、私も監視というかAPIというか、そんな感じのアレを簡易で良いのでサクッと組込む必要が出てきました。 という訳で HttpServer とJAXBでサクッと組込もうと思います。 ほい、サンプルコード。 import com.sun.net.httpserver.HttpContext; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; import java.io.IOException; import java.io.OutputStream; import

    bufferings
    bufferings 2014/12/17
    ちょいめも。HttpServer
  • Jersey 2.14でパラメータの受け取りにOptionalが使えるようになった — 裏紙

    Jersey 2.14がリリースされたようです! https://jersey.java.net/release-notes/2.14.html で、注目は [JERSEY-2612] です。 この対応のおかげで@QueryParamなどのパラメータをOptionalで定義する事が可能になります。 ただしParamConverterを書く必要はありますが。 ParamConverterってなんやねん!って方は JAX-RSでパラメータの受け取り方をいろいろ試す の後半を読んでくださいませー。 リクエストパラメータをOptionalで受け取るコード例 適当ですがサクッちょとサンプル書きました。 https://github.com/backpaper0/sandbox の jersey-optional-example ディレクトリ リソースクラスをこちらにも掲載します。 ちょー簡単な例です

    bufferings
    bufferings 2014/12/15
    雰囲気は分かった。Optionalが分かってないけど!
  • BeanValidationの相関バリデーションとそもそもの話 — 裏紙

    BeanValidationで相関バリデーションするときに新しいメソッド作って@AssertTrueを使うよ! っていう話があったので、それについて思う事を書きます。 なお、以下はWebアプリケーションでリクエストパラメータをPOJOにマッピングして BeanValidationを行うという流れを想定しています。

    bufferings
    bufferings 2014/12/05
    ŧ‹”ŧ‹”ŧ‹”ŧ‹”(๑´ㅂ`๑)ŧ‹”ŧ‹”ŧ‹”ŧ‹”
  • JAX-RSを始める #javaee — 裏紙

    Mavenの場合 まず、 mvn archetype:generate してください。 それから出来たpom.xmlを編集します。 次のdependencyManagement要素を追加してください。 <dependencyManagement> <dependencies> <dependency> <groupId>org.glassfish.jersey</groupId> <artifactId>jersey-bom</artifactId> <version>2.13</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> それからjersey-bomのpom.xmlを見ながら好きなものを選んでdependency要素に追加します。