谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

続けて、JavaとNode.jsとGoで外部ライブラリを使わないベンチマークをしてみた。

前回の記事では、DynamoDBを呼び出す処理の簡単なベンチマークを行いました。 http://d.hatena.ne.jp/cero-t/20160101/1451665326 ライブラリを伴ったときの初回起動ではJavaが不利な感じの結果になりましたが、ライブラリを使わなければどのような差が出る…

AWS LambdaでJavaとNode.jsとGoの簡易ベンチマークをしてみた。

あけましておめでとうございます! 現場でいつも締め切りに追われデスマーチ化している皆様方におかれましては、年賀状がデスマーチ化していたのではないかと憂慮しておりますが、いかがお過ごしですか。 エンジニアの鑑みたいな僕としましては、年始の挨拶…

JMXで情報を取得する時のベンチマーク

JMHを使って、JMX経由でMBeanの情報を取る際のパフォーマンスを測定してみた。 ベンチマークのソースコードはこちら。 https://github.com/cero-t/Benchmarks/blob/master/src/main/java/ninja/cero/benchmark/JmxBenchmark.java ベンチマーク環境はMacBook …

Mac用Elasticsearch + Kibanaインストールメモ

Elasticsearch + KibanaのMac用インストールメモ。 "USER" を自分のアカウントに置き換える必要あり。 cd /opt sudo -s curl -L -O https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.1.1/elas…

[Java]Stream APIをつくろう

最近、上司からのパワハラではなく、部下からの「部下ハラ」というものがあると聞きますが、 それって要するにバックプレッシャー型ハラスメントでありリアクティブであるよなと思うこの頃ですが、 皆さんいかがお過ごしでしょうか。 さて、順調な滑り出しか…

アメリカのプリペイドSIM事情 2015年版

JavaOne参加レポートを書かずに、SIMレポートを書く [twitter:@cero_t] です。 参加レポートは会社ブログの方に書くと思うので、そちらを待っててくださいね! ということで日本から持ち込んだSIMフリー端末をアメリカで使う場合、 どうするのが良いねんって…

DynamoDBでTomcatのセッション共有をするとハマるかも

AWS

AWSを仕事で使い始めて1年半、 ようやく頭がクラウド脳に切り替わってきた [twitter:@cero_t] です。 好きなAWSサービスはKinesisです。まだ使ってませんけどね! さて、今日のテーマは「AWSでTomcatのセッション共有」です。 EC2上で動くTomcatのセッション…

DevLove関西で「プレゼンの技術」を発表してきました。

発表スライド プレゼンの技術 1 -考え方編- http://www.slideshare.net/shintanimoto/1-51670126 以前、社内向け勉強会に行った「プレゼンの技術」の修正版です。 内容はほぼ完全に同じですが、一部スライドの順番を変えて 違和感なく話せるようにしました。…

Spring Boot + MOA その2 - Service Interfaceで呼び出しを明確にするよ?

前回のエントリーでは、Spring Bootで@RestControllerアノテーションを使ったサーバを作り、 RestTemplateでクライアントを作ることで、リモートサービス呼び出しを実装しました。 http://d.hatena.ne.jp/cero-t/20150618/1434645164 しかしこの方法は、クラ…

Spring Boot + MOA その1 - Spring BootでMicroserviceのクライアント/サーバを実装している途中の話

最近のアーキテクチャ界隈の話題と言えば、Microservice。 MSAと略すかMOAと略すか、みたいな議論もあるようですが、 CEROMETAL的にはMOAを一押しせざるを得ない状況です。 MOAMETAL - google画像検索 いいとして。 システムをMicroservice的に設計すると、…

Bootiful SQL Templateという名前にしてMavenリポジトリで公開しました。

年末に作ったSqlTemplateですが、自分の仕事でも使いたいっていうか使ってるので、 ソースコードを多重管理しなくて済むよう、Mavenリポジトリで公開することにしました。 こんな指定で使えます。 <dependencies> <dependency> <groupId>ninja.cero.bootiful-sqltemplate</groupId> <artifactId>bootiful-sqltemplate-c</artifactid></dependency></dependencies>…

SqlTemplateっていうJdbcTemplateのラッパーを作ってみました。

「SQLが書きたいんや!」という想いのもと、 Spring Bootと組み合わせて簡単に使える、 JdbcTemplateのラッパーライブラリを勢いで作ってみました。 GitHubに置いています。 https://github.com/cero-t/sqltemplate JdbcTemplate / NamedParameterJdbcTempla…

MyBatisをやめて、JdbcTemplateを使うわ。

以前のエントリーで、DBアクセスにはMyBatisを選んだと書きました。 http://d.hatena.ne.jp/cero-t/20141212/1418339302 そしたら渋谷JavaのLTで [twitter:@yukung] さんに拾ってもらっちゃいました。 http://www.slideshare.net/yukung/j-ooq-shibuyajava9 …

僕のOptional<>の使い方がカッコワルイ。

昨日、Spring MVCのOptionの使い方がカッコイイという話で、こんなコードを書きました。 @RequestMapping("/") public String hello(@RequestParam("name") Optional<String> name) { if (name.isPresent()) { return "Hello, " + name.get(); } else { return "Hell</string>…

Spring MVCのOptional<>の使い方がカッコイイ。

Spring Bootの1.2.0正式版がリリースされ、中で使っているSpringも4.0から4.1になりました。 SpringMVCも4.1になったわけですが、一つ興味深い変更がありました。 それが@RequestParamのOptional対応です。 SprinMVCでは、クエリ文字列の値をメソッドの引数…

BootのO/RマッパーにMyBatisを使いたい。

DBアクセス層に何を使うかって、本当によく話題になりますよね。 「これで間違いないでしょ」っていう鉄板の選択肢がないから、だと思うわけですが 「SQLを書きたい日本人」な僕としては、消去法的にMyBatisを使っています。 消去法って言うからには、消えた…

Spring Bootの始め方。

実案件でSpringを使って開発しようと思い、 おもむろにSTSを使って「New」-「Spring Project」を選んだところ なぜか、Spring3系しか選べない。 やっぱり最新のSpring4系を使いたいですよね? よん よん よ よ よん♪ ですよね? どうやら「New」-「Spring St…

なぜ僕はCaliperではなくJMHを選んだのか。

今日、会社のblogのほうにJMHのエントリーを書きました。 そう、今日のテーマはマイクロベンチマークです。 Javaのマイクロベンチマークツール「JMH」 - Taste of Tech Topics Javaのマイクロベンチマークに興味がある人は、 GoogleのCaliperというマイクロ…

JavaOne参加者はセッション資料がダウンロードできるようになったみたい。

ログインしてSchedule Builderからセッションを見ると、資料がダウンロードできる。 ログインしないで見られるContent Catalogでは資料がダウンロードできない。 そんなわけで、参加者の皆さんは資料をダウンロードして きちんとレポートを書きましょう(笑)

俺様とJavaOne 2013(後編)

いよいよJavaOne最終日です。 最終日はCommunity Keynoteと、いくつかのセッションを行なうだけで 夕方ぐらいには閉幕してしまいます。 Day 5 : 子供のプログラミング、どうしていますか? Community Keynote 最終日、最初のセッションはコミュニティキーノ…

俺様とJavaOne 2013(中編)

JavaOne 3日目、自分のセッション当日は やっぱり直前まで資料準備&練習でバタバタしていました。 この性格、死ぬまで治らない予感! Day 3 : 解析ツールのセッションは人気 3日目、僕のセッションは夜7時半からなので、 朝イチにあった面白そうなセッショ…

俺様とJavaOne 2013(前編)

さて、いよいよ本題のセッションレポートに入りましょう。 Day 1 : 新情報のないKeynote 今年のJavaOneの目玉は、何と言っても、KeynoteがMoscone Centerで開催されることです。 Moscone Centerで開催されるのは、実に2009年以来の4年ぶり。 Open Worldとの…

俺様とJavaOne 2013(前哨編)

今回は初めてスピーカーとして参加するJavaOne 2013ですが 案の定、準備が終わらずホテルでガリガリと資料作成をしています (^^; そんなわけで、あまりセッションレポートなどは書けないのですが、 多少はセッション会場にも行っていますので 簡単ですが、こ…

参加予定&行きたかったセッション一覧

JavaOne2013で参加予定のセッション一覧をメモ。 参加できないけど、行きたいセッションも一緒に記載。 スピーカーセッション BOF7862 -- What and How Java Troubleshooters Think: Eight Years of Troubleshooting Java 予約済みのセッション UGF10501 -- …

iPhone4S + gevey + GL07SのSIMで通話、通信、テザリング確認

最近、SIMフリー端末界隈(?)で話題のemobile GL07Sを購入しました。 http://emobile.jp/products/gl07s/ GL07SはSoftbankの電波を掴めるようになったemobile端末の第一号で、 emobileのリーズナブルな契約のまま、Softbankの電波が掴めます。 どのぐらい…

定義的プログラミング

定義的プログラミングっていう言葉を思いついたから、メモしとく。 イメージ的にはこんなん。 Before: 普通の処理コード public Dto process(Map<String, String> input) { Dto dto = new Dto(); dto.userName = input.get("ユーザ名"); dto.password = input.get("パスワー</string,>…

JJUGナイトセミナー「from old Java to modern Java」

先日のJJUGナイトセミナーで 「from old Java to modern Java」という話をしてきました。 公式サイト : http://www.java-users.jp/?p=551 togetter : http://togetter.com/li/521481 Java以前のCライクな書き方から、J2SE 1.4、5.0・・・からJava SE 8まで …

JavaOne talk accepted!!

まさか突然こんな日が来るとは・・・ はい、JavaOne2013 SFのCall for papersに応募していた BoFがacceptされました!(><)ノ 応募した内容はJavaOne Tokyo 2012と同じく、 "What and How Java Troubleshooters Think: Eight Years of Troubleshooting Ja…

若作りするためのJavaコード

このエントリーは Java Advent Calendar 2012 の10日目として書きました。 なんか色々あって、公開が2日ぐらい遅れてしまってごめんなさい(><) 前日は、Hideki Kishida (@quicy) さんの「Xtend の Lambda とストリーム処理」です。 http://legacy-style.…

ITエンジニアの英語の接し方

エンジニアもすなるAdvent Calendarといふものを俺様もしてみむとてするなり と言ったかどうか分かりませんが、自社の後輩が始めた全く流行らないAdvent Calendar、 ちょっと私も責任を感じて書いてみることにしました。 新人/若手向け、これだけは知っとけ…