gist に置いてある markdown ファイルをスライドショーできないかなーと思ったのでそんなサイトを作ってみました。 https://chibat.github.io/reveal.js/ 例えば gist の https://gist.github.com/chibat/6cb633f9e3afba2d16fe4484de4dce52 の場合、raw ファ…
以前から、Go言語(golang)をちょっとやってみたりしてたんですが、実用的なものを作ってみたいと思い、 Healthcheck Notifier というものを作ってみました。 一つのソースファイルでできているとてもシンプルなものです。 Healthcheck Notifier Webアプリケ…
OpenAPI Specification と Swagger Godegen に至るまで辿った道。CORBA, RMI, SOAP, Thrift, gRPC, REST, WADL, OpenAPI Specification などの話
小ネタです。 ローカル開発環境でメール送信のテストをしたいけど適当な SMTP サーバがない場合に、Gradle から モック SMTP サーバを起動する方法です。 build.gradle repositories {jcenter()} configurations {tools} dependencies {tools 'com.github.tn…
フロントエンドの開発は、TypeScript や flow によりタイプセーフに行えるようになってきています。 そうなるとバックエンドとフロントエンドの通信もタイプセーフにしたくなってくるはずです。 Swagger を使えばそれが実現できそうです。 Swagger により An…
SpringFox の required の挙動を変えたいと思い、試みました。 まずは、状況説明から。 RequestParam アノテーションだけ付けた場合 @GetMapping("/foo") public String foo(@RequestParam Integer id) { return "bar"; } 上記のような場合、id は必須になり…
Angular2 公式の VS Code エクステンションが開発されているようなので試してみました。 インストール 絶賛開発中ということで、Visual Studio Marketplace には公開されていません。 以下のURLから、最新の ngls.vsix をダウンロードします。 https://githu…
Gradle で git のリビジョン, ビルド日時 を プロパティファイルに入れ込む方法です。 間違ってたら、ご指摘くださいmm build.gradle buildscript { repositories { jcenter() } dependencies { classpath 'org.eclipse.jgit:org.eclipse.jgit:4.5.0.20160…
最近、Visual Studio Code と Vim extension がいい感じになってきたなーと。 デフォルトのキーバインディングを変更したいと思い設定してみました。 英語化 キーバインディングの設定のその前に。。 VS Code は多言語対応もされており、日本語OSでは、メニ…
小ネタです。 Kotlin とかの smart cast, TypeScript とかの Type Guard のようなことを Java でできないかなと。 変数の型をチェックしたら、自動でキャストされているみたいなやつです。 普通に書くと if (pet instanceof Bird) { ((Bird)pet).fly(); } el…
Java で if 式っぽいことができないかなーと思い考えてみました。 Java で if 式っぽい事をやってみた。これ、キャストなしで、できないかなー。 #教えて pic.twitter.com/EqUh8wes8F— トモフミ (@tomofummy) 2016年4月17日 キャストをなくすには、1個 stati…
最近あまりブログ書くネタもなく。 4月1日ということで、初心にかえって Java の Socket クラスで HTTP Hello, World. import java.io.BufferedOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.ServerSocket; impo…
たまには技術ネタじゃない記事を。 play.google.com Google Play Music で定額課金して音楽を聴いてます。 初期の特典として月額780円を課金しています。現在だと980円ですかね。 3,500万曲聴き放題です。 気に入っております。 Google Play Music のサービ…
はじめに REST API をタイプセーフに呼び出したいのです。 その実現のため WADLとかを追いかけてたんですが、Swagger は完全にノーマークでした。 WADLは、実質終わっているような。 昨年(2015年11月)、Microsoft, Google, IBM などにより Open API Initiati…
React の Example 達を TypeScript で書き直してみるという試みをしていました。 コードは、以下です。 github.com github page で動作が確認できます。 React + TypeScript Examples TypeScript が、Version 1.6 で React の JSX に対応しました。どんなも…
サーバサイドは Java、クライアントサイドは TypeScript で書いてて、TypeScript のコンパイルも Gradle でやってました。 (こういうパターンは他の人はどうビルドしてるんでしょう?ちなみにJS系のビルドツールは使ったことがありません) で以前以下のエ…
なんと Mithril 本が出ていました。凄い。 Mithril は、JavaScript のフレームワークです。 TypeScript のコードを見ていて型宣言に _mithril が使われていたのですが、アンスコで始まっているということはプライベート的な意味合いなので使わないほうが良い…
前回のエントリの続きといった感じです。 自分は、今のところ Webアプリは、サーバサイド Java、クライアントサイド TypeScript で作りたいと思っています。 実際 TypeScript を利用していて、タイプセーフになってないと思う部分がありました。 サーバから…
サーバサイドを Java、クライアントを TypeScript で作った場合、タイプセーフに通信できないかという試みです。 考えられる選択肢としましては、 Thrift とか、いっそサーバサイド Scala, クライアント Scala.js にするっていうのもあるとは思います。 今回…
Java7 も本日、EOLを迎えました。 ということで、Java8ベースの Selva という Webフレームワークを作ってみました。 github bintray(jcenter) Overview まずは、最小の コード例 package io.github.chibat.selva.example; import io.github.chibat.selva.App…
Java の template engine で Rythm っていうのがあるんです。 HTMLのテンプレートに限らず、色々な用途でも使えそうです。 Rythm Template Enginerythmengine.org 試してみました。 まずは、Java 。 mainメソッドを持った Model クラスです。 package app; i…
wadl2ts というWADLを読み込んで REST Client になる TypeScript のソースコードを吐き出すツールを作ってみました。 というか作り始めようとしました。簡単なサンプルレベルが動いたので記事にしようかと。ソースは github に上げています。 wadl2ts wadl2t…
「Thrift いいよー」みたいな話が聞こえてきて、調べてました。 なんか聞いたことあるなと思ったら、Hive の stack trace でよく見かけたわーと思い Hive でも利用されていることを知りました。 Thrift って何かというと wikipedia からの引用だと Apache Th…
最近、'API'っていうと、RESTでJSONをレスポンスするような事を指してる人が多いと思います。 しかし、呼び出し側のコードも提供せず、'API'を名乗るのは如何なものかと思うんですよね。 SOAPやRMIやCORBAとかは、APIといってもいいかもしれないけど。 REST…
小ネタ。 bootstrap の tooltip が最前面に表示されず、tooltipの全体が表示されないことがありました。 HTMLの場合は、 <a href="#" data-toggle="tooltip" data-container="body" title="first tooltip"> hover over me </a> JSの場合は、 $('your element').tooltip({ container: 'body' }) こんな感じで、'body'を指定すると最前面に表示され…
小ネタ。 bootstrap の popoverを使っていて、親要素のスタイルを引き継いでしまい、意図しない感じになる場合があった。 この場合、明示的にスタイルを指定する必要がある。 .popover-title { font-weight: normal; } .popover-content { font-weight: norm…
Spring に RestTemplateという便利なRESTクライアントがあるんですが、呼び出すAPIサーバ毎にプロキシサーバを変えたいと思いまして。 システムプロパティいぢらずに済ませたい。ということでコードは、以下の感じです。 import java.net.InetSocketAddress;…
先日に引き続き、Gradle から TypeScript のコンパイルができないかなと考えていたところ、以下の2つのGradleプラグインがありました。 https://github.com/jzarnikov/gradle-typescript-plugin https://github.com/sothmann/typescript-gradle-plugin 試し…
eclipse + Gradle で開発しているJava Web アプリに、TypeScriptを導入してみたいと思いまして、まずgradleでTypeScriptプラグインの設定ファイルを吐き出すよう試みました。 以下の2つのファイルを用意します(node.js, TypeScript, eclipeのTypeScriptプラ…
Java SE 8 からバンドルされる JavaScript エンジンが Rhino から Nashorn に変わります。 そこで シェルスクリプトから Nashorn を試してみました。 準備 以下のように jdk に含まれる jjs のシンボリックリンクを作成しておきます。 ln -si /usr/local/jav…