JRuby からHacker News にデータ連携

加藤龍彦
加藤龍彦
デジタルマーケティング
リアルタイムHacker News に連携するシンプルなJRuby アプリケーションを作成します。



JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for API を使用すると、JRuby からリアルタイムHacker News へのデータ連携を簡単に実装できます。ここでは、Hacker News に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

Hacker News のデータにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for API\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にHacker News に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

HackerNews への接続

HackerNews API(Firebase 製)は、認証が不要なパブリック API です。認証情報なしですぐに接続してデータをクエリできます。

以下の接続プロパティを設定して接続を確立してください:

  • AuthScheme:None に設定します。

接続文字列の例:

Profile=C:\profiles\HackerNews.apip;AuthScheme=None

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Hacker News JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.api.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はHacker News の一般的なJDBC 接続文字列です。

jdbc:api:Profile=C:\profiles\HackerNews.apip;AuthScheme=None

Hacker News のデータへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: APISelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for API 2018/lib/cdata.jdbc.api.jar'

url = "jdbc:api:Profile=C:\profiles\HackerNews.apip;AuthScheme=None"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT ,  FROM TopStories")
while (rs.next) do
  puts rs.getString(1) + ' ' + rs.getString(2)
end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でHacker News を表示できるようになります。

jruby -S APISelect.rb

SQL-92 クエリをHacker News に書き込むと、Hacker News を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

はじめる準備はできましたか?

API Driver で Hacker News のライブデータに接続

Hacker News に接続