makotan _at_ gmail dot com

httpステータスコードを拡張するとき

httpステータスコードは100から599まで中が抜けた状態で色々あるなぁ〜とぼーとして、最上位の桁(100の位)をbitに分割してみた 各bitをxyzとして z = 継続フラグ y = 成功フラグ x = 失敗フラグ と仮に名前を付けると https://ja.wikipedia.org/wiki/HTTP%E3…

C30K問題とC60K問題

だいぶ前にTomcatのフロントにnginx入れなかったら、入れないの??どうして??って質問されたのを思い出してふと書いてみる その時は「必要ないから」ってだけ答えて詳しく説明してないけどw 歴史 ずっと昔 Apache - Axx - Tomcat 方式 ApacheをHTTPのネ…

macにapple watchでログイン

やってみた とりあえず、macとapple watchは最新にバージョンアップ 2段階認証してたので、解除して2ファクタ認証を有効にする ↑一番ハマったところ mac側でapple watchログインを有効にする 最初にこれをやろうとするとエラーメッセージと一緒に2ファクタ認…

なんとなく最近気にしてること

まわりで騒がしいあれやこれやとは全く違ってて 例外とエラーの扱い方 nullとnullの扱い方 良いログとは これらをしっかり作り込むのはなかなか難しい〜 そろそろ固まってきた様な気はするけど、まだまだ

たった10年生まれるのが早かっただけ

今日、ぼーっとtwitterみてたらふと思った。 たった10年。されど10年 http://projects.spring.io/spring-statemachine/ 全部手書きか可能なのにするとして、今の言語仕様を使うときっとこう作るなぁ〜って思う方法だったw

CTK 開発をぼんやり想像してみた

Amazonが新規サービスを作る際にプレスリリースを先に作るという話とか RestfulAPIがかなり多用されてきてる感じとか マイクロサービスはサービス間もAPIベースでとか そういうのをぼんやり見てて・・・ふと思いついた APIを作成する前にCompatibility Test …

今日見つけたサービス

指定の外国株を日本円で簡単に購入出来ます!ってサービス このサービスはなかなか良いなぁ〜って思って見てた なので、一般的な証券会社と比べてみた その1 株の取引はその会社との相対取引、普通の証券会社は取引所取引(外国株であっても外国の取引所を通…

Reactorはじめました

世の中では同様の物としてRxJavaとかakkaが流行ってるのは知ってるけど敢えて外したw RxJavaはあんまり惹かれるタイプじゃなかった akkaはあれやるならElixirで本家を楽しんだ方が良いな〜と見てて思った(Javaで頑張って複雑度が増してね?って) ということ…

DIとAOPが面倒になってきたのでまとめを更新

プロダクト DIコンテナ 通信部分 Annotation 特徴 Spring MVC Spring Servlet 独自Annotation オールインワン JAX-RS CDI/Spring Servlet JavaEEのAnnotation CDIかSpringとの組み合わせが事実上必須、複数の実装から選べる Ninja Guice Servlet Annotation…

DIとAOPが面倒になったのでjooby

ほんと偶然見つけたまだ1.0にもなってないもの Scalable, fast and modular micro web framework for Java. Jooby keeps it simple but yet powerful. 思いっきりfullstackを目指して絶賛開発中 モジュールの数も既に相当量が用意されてる GuiceがDI機能とし…

DIとAOPが面倒になったのでRatpack

だいぶ前にWebFramework探ししてた頃にも見つけててすっかり忘れてたRatpack Handler形式で実装するタイプなのでテストとかのAPIを作るのにはとっても楽で良いかもしれない メインで使おうとすると、周辺ライブラリの量でちょっと残念な感じになりそうな気が…

DIとAOPが面倒になったのでLagom

このシリーズ終わりにしようと思ったらいくつか見つけてしまったので、チョット復帰 Lagom Framework - The Reactive Microservices Framework ここ最近の流行キーワード満載系ですね といいつつ、これPlayをベースに作ってるの特徴はPlayとよく似てる Cassa…

SIerのガンは営業だという仮説

例えば、ある企業が社内に必要なシステムを独自開発したいと考えたとする。 Aパターン 知り合いの会社、知らない会社などに声をかけて説明をして提案を受ける 提案内容から取捨選択して一つの会社に決めて開発する ここでエンジニアは営業の裏方さんで登場す…

言語からVMの戦いへ

ってタイトル書いてみたかっただけなので、あとはいつも通りな感じ 10年くらい前はJavaとRubyとPHPの3大勢力+独自規格のC#で争ってた感じだったのが いまや、いくつあるんだ??位の状態になってきた(といってもSQLがデータ処理のDSLの地位を完全に確立して…

DIとAOPが面倒になったは良いけど、結局どれにするんだ?

OSSとしては出尽くした気はするのでまとめてみた プロダクト DIコンテナ 通信部分 Annotation 特徴 Spring MVC Spring Servlet 独自Annotation オールインワン JAX-RS CDI/Spring Servlet JavaEEのAnnotation CDIかSpringとの組み合わせが事実上必須、複数の…

DIとAOPが面倒になったのでVert.x

1.0の頃に追いかけてて、HTTPなRESTサーバを作るにはちょっと面倒だったイメージから除外してたんだけど改めてhttp://vertx.io/ nettyベースで独自のAPIで任意の言語が使えて、Don’t call us, we’ll call you. Don’t block me! っていうもの servletにのっか…

DIとAOPが面倒になったのでRESTX

コメントで太一におしえてもらったやつhttp://restx.io/ Servletベースで、黒魔術無しで、JAX-RS準拠っと。 このスペックはJAX-RS準拠の中ではいちばんかも知れない restxのshell上でゴソゴソすると色々作れるし ただ・・・v0.34なのにアクティブさが無い。…

DIとAOPが面倒になってから

DIとAOPが絡む黒魔術テクニックが巻き起こす面倒な事が多くなり始めた頃 ScalaとかPlayとか良いかなぁ〜って思ったらあっち方面は純粋主義を持ち出してきそうな人が多くて怖かったので避けたw まぁそれ以上にコンパイル速度問題とかコンパイル速度が遅いと…

DIとAOPが面倒になったわけ

そういえば書いてなかったなぁ〜と DIとAOPといえば最近EOFが公式ページで告知されたSeasarが最初だったわけです で、ProxyベースAOPから時代はバイトコードを操作するAOPへ進化し、さらにバイトコードを操作するMockツールが登場し、APTが消え、AnnotationP…

DIとAOPが面倒になったのでここまでのまとめ

nettyのMSF4JとServletのSparkFrameworkの比較はなかなか難しいものがある 何に悩むってMSF4JはJAX-RSって仕様を基準にしてるよなぁ〜 あと数年したら「まだJAX-RS???」ってなりそうな気もしててその時の脱出プランが必要かなとw まぁその時はマイクロサ…

DIとAOPが面倒になったのでJodd

WebFrameworkだけの場合はDIに依存した体にはどうしてもDIな機能が欲しい ただし、こっちが要求しない限り黒魔術を使わない素直で良い子が希望 って深夜にネットを徘徊して見つけたJodd http://jodd.org/ 個別のComponentがばらばらにあって、好きなのを組み…

DIとAOPが面倒になったのでSparkFramework

ビッグなデータを扱うあれとは違う方のSpark http://sparkjava.com/ これはJettyを通信モジュールとして内部に抱え込んで好き勝手するタイプのやつ Jettyを抱え込んでるだけにそこを切り離してTomcat等の上にも乗っけれるらしい もちろんJAX-RSもDIもない世界…

DIとAOPが面倒になったのでMSF4J

コメントでcero_tに教えて貰ったやつ http://wso2.com/products/microservices-framework-for-java/ みてみたらnetty & JAX-RSの組み合わせ とはいえ、DIコンテナのサポートの口とか全くないんだなぁ・・・ 黒魔術が嫌いなだけでDIは嫌ってないw でもFeatur…

DIとかAOPが面倒になったのでNinja

そういえば、昔Spring MVCが嫌いで触ってたNinjaってどうだったっけ・・・ Ninja is a full stack web framework for Java. 足回りは・・・Guice オールインワンだし、黒魔術は少なめだし仕組み全部判ってるから良いんだけど 欲しいのはRestサーバをチョコっ…

DIとかAOPが面倒になったのでJAX-RS

DIとかAOPを使うと黒魔術満載になってnot魔術師のまこたんの能力を超えそうなので、JAX-RSってどうなんだっけ〜って調べてみた JAX-RSの〜足回りには〜CDI! CDIコンテナを自由に組み合わせ出来るの・・・か? CDIちょっと試したらやっぱり黒魔術が登場して…

「メールにファイルをパスワード付きzipして添付ファイル付けて後からメールでパスワード送る」方法の代わりを考えた

送信したい人 受信したい人(ML含む) サーバ 送信したい人、受信した人は全員サーバにアカウントを作成 メールアドレスを入力 メールアドレスを承認 アクセスキーを取得 アクセスキーは各自個別のキーなので秘密にする 送信したい人は アップロード画面にメー…

DIとかAOPが面倒になってきた。

正確に言うとDIとかAOPを使う事で、Javaのバイトコード処理とかProxyが自動的にプログラム内に入り込んだりする事に起因する色んな事が面倒になってきた。 POJOに見せかけてるけど、実際にはそんなクラスは使われなくて黒魔術によってくみ上げられたものが動…

実行時のエラーを出してみる

前にテストコードで書いたこれがちょっとイマイチ・・・って気もしてて return when (nextNodes.size) { 0 -> throw ToNextStatusException("zero match") 1 -> checkNode(data , nextNodes.first().toNode) else -> throw ToNextStatusException("many matc…

ことりんでJsonを扱う変な方法

ちょっとした定義を追加するだけ 素直にmapperで変換した方が楽だと思う。 operator fun <T> JsonNode.getValue(thisRef: Any?, property: KProperty<*>): T = when(property.returnType) { String::class.defaultType -> this[property.name].asText() as T In</t>…

Springの小ネタ

ことりんでSpringを使うときにはなにもしないと @Autowired constructor(val xxxx : Xxxxx) みたいに書く必要がある Javaっぽくかけないかなぁ〜って遊んでみた結果 @SpringBootApplication @ComponentScan(basePackages = arrayOf("com.makotan.kotlin")) o…