Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 前置き Java において、メソッドへの引数はプリミティブ型だろうが参照型だろうが値渡しで渡されるのですが、いつまでたっても参照渡しという人が後をたちません。悲しい。 その理由 「参照渡し」と主張する人は、以下の二点のどちらか(あるいは両方)について誤解していることが多いように思われます。 Java における「参照」とは何かがわかっていない そもそも「値渡し」と「参照渡し」が何なのかわかっていない なので、その二点について説明してみます。 説明 Java における「参照」とは JLS - 4.3.1 より An object is a
以前embulkのjava pluginをbundlerっぽくgithubからインストールして実行できるラッパーを作った - Qiitaという記事を書いた。 要はJava製のプラグインをgithubから直接インストールしてリリース前のものを使いたいというものだ。 で、コマンドをラップするgemを作ってみたのだが、DSLの挙動をちゃんと制御するのは面倒だしコマンドをラップするのは色々とポータビリティが悪い。 しかし、ある時天啓が降りてきた。 「Bundlerを弄ればいいや」と。 で、ソースコード読んで、gemspecの判別がどうなってるのかとモンキーパッチを当てるのにちょうど良い場所を探して試してみた所、とてもシンプルなハックで上手くいった。 Gemfile上でBundlerにモンキーパッチを当てるというダーティさに目を瞑れば割と便利ではないだろうか。 こんな風に書く。 require 'b
AngularJS + JavaEE7 でログイン・ログアウトと、認証の処理について実装してみたときのメモ。 動作確認は GlassFish 4.0 上で実施。 GitHub サンプル 認証処理を入れた場所 次の2カ所で、ログインしているかどうかのチェックを入れている。 REST のリクエストがあったとき ページ遷移のとき REST のリクエストがあったときのチェック Filter でチェック Filter を作成して、そこでチェックを行っている。 package sample.angular.filter; import java.io.IOException; import javax.inject.Inject; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.Fi
Vert.xとは、公式ページより JVM上にリアクティブアプリケーションを構築するためのツールキットです @timfox氏が中心となって、現在2015年6月22日を目標にversion 3が開発されています。この投稿含め何回かに分けてVert.x 3の動くサンプルを実装していこうと思います。 概要 「サービス」はversion 3から導入された概念です。 サービスは任意の機能を実現するVerticleです。 以下にシンプルなサービスの例を示します、このhoge-serviceはデプロイメントされたときにhogeをログ出力するだけのサービスです。 サービスを実現するHogeServiceVerticle.javaの中身は以下の通りです: package com.example.hogeservice.services; import io.vertx.core.AbstractVerticl
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? C言語のライブラリをRubyから使おうとすると、その間をつなぐグルーコードに悩まされることに、往々にしてなりますが、JRubyからJavaのライブラリを呼ぶのは、それよりは楽です。 なお、この記事は適宜追加していく予定です。 まずはrequire まずは、require 'java'と書くと、JRubyのJavaサポートが発動します。また、CRubyでネイティブの.soをrequireできるのと同様に、JRubyでは.jarファイルをrequireすることもできます(なお、JRuby向けなjarをrequireすればそのままJRuby側
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 暇を持て余しているJava廃人はClojureで遊ぼう 準備 ClojureDocs (API、サンプルコード参照) Clojure Japanese Documentation (日本語ドキュメント。詳しく知りたいときに) Light Table (エディタ、実行環境) Leiningen (Mavenのようなもの。あとでいい) Light Table 動作確認 プロキシ環境の場合、環境変数HTTP_PROXYとHTTPS_PROXYを事前に設定 新しいファイルを作成 ctrl-space コマンドバーが開く syn Syntax設定
注意事項 今なら素直にSpacemacsを使ったほうが手軽に環境構築できます。 この記事はある程度当時の状況を網羅したもので、今でも利用されているパッケージはあまり変わっていないので、そういう意味では参考になりますがセットアップ方法や設定などはかなり変わってきているので、参考にならない部分も多いです。 Spacemacsを僕の好みに合わせて設定したものを、以下に解説と合わせてのせているので参考にしてみてください。 SpacemacsでClojureを書くために僕が行った設定 はじめに Clojure の開発環境というのはどんどん新しくなっていくので、最近の開発環境事情について解説しようと思います。 この記事は次の記事の置き換えを狙ったもので、出来るだけ新しい情報を提供することを目的としています。 EmacsでモダンClojure開発環境構築 また何か間違っているという場合は気軽に編集リクエ
最近はGoやScalaでサービスを開発したり、既存のシステムを置き換えたりする事例が増えてきてますよね。私も仕事ではruby/railsがメインなのですが、新しくアプリケーションを開発するにあたって別の言語・フレームワークを検討する機会があり、少しだけScala(とJava)のフレームワークPlayを触ったので、**Railsでいう◯◯はPlayではどうやるの?**という点をまとめたいと思います。 ちなみに、この記事を書いてる時点で筆者のScala歴・Play歴は10時間くらいですので、「Play Framework入門」と銘打ったものの、「Play Framework紹介」に近いかもしれませんwご了承ください。 サンプルコード 以下ではこちらのコードから色々抜粋して貼り付けてます。 https://github.com/suzan2go/hello_play 公式のScalaToDoLi
紹介 この投稿は、Advent Calendar 2015 .. NextGen DistributedComputing system をキッカケにして初めています! Advent Calendar1日目の記事です。 方針について Spark、SparkStreamingが初めての方でも順を追っていただければスムーズに理解できるよう書きたいと思います。 開発はScalaベースです。Spark処理を書くためにScalaガッツり使いこなせないと分からないわけではないですが、 基本的なことは必要かと思います。 Scala基礎を習得するためには下記リンク先を参照することをお勧めいたします。 https://gist.github.com/scova0731/2c405ea55488d804b366 SparkStreamingの紹介 SparkStreamingとは Sparkコアの拡張モジュー
最近、Fluentd + ElasticSearch + Kibana を組み合わせてログの収集・可視化をやっている取り組みをよく見ます。 私もちょっと触ってみたいなーと思っていたのですが、ElasticSearchよりSolrの方がまだ少しは知っていたので、Fluentd + Solr (可視化部分はまた後日) やってみました。 Solrは、Apacheだから(?)同じApache仲間のFlumeと連携させる記事はよく見ますが、Fluentdとの連携はあまり見ないので色々不安でしたが、Fluentdのプラグインを作ってくださっている方がいたので助かりました。 環境 CentOS 6.6 (32bit) Fluentd 0.12.15 プラグイン: fluent-plugin-out-solr 0.0.8 Apache Solr 5.3.1 Oracle JDK 8 Update 65 F
Elasticsearch導入前に気を付けておきたいこと はじめに Elasticsearchを仕事で使うことになったので導入前に考えるであろうことを調査・検証し、まとめてみました。 記載されている内容はほぼ公式ドキュメントから引っ張ってきています。それぞれの章にリンクを付けてありますので、記載されていること以外に気になる部分があればそちらを参照されるとよいと思います。 インストールについて ここで設定している内容はすべてansibleのスクリプトに落としてあります。 5分あればcurl,javaのインストール、Elasticsearchのインストール・初期設定、プラグインのインストールが終わるはずです。 https://github.com/uzresk/ansible-elasticsearch2 環境 CentOS6.7 Java1.8.0_45 Elasticsearch 2.1.
環境 Windows7(Fiddler2を起動しているホストになるマシン) Nexus5(3G回線を再現したいリモートの端末) 上記2つを同じWi-Fiで接続しています。 当然のことながらWi-Fiは3G回線よりも高速でないとFiddler2で3G回線は再現できません。 Fiddler2をダウンロード http://fiddler2.com/get-fiddler インストールしてFiddler2を起動したら… Fiddler2側の設定 リモートからのコネクションを許可する Tools -> Fiddler Options -> Connections -> Allow remote computers to connect にチェック (Connectionsタブ内にある Fiddler listens on port: 8888 がリモートからアクセスする際に指定するポートになる) A
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Apache Solr Apache Solr は デフォルトでJettyがサーブレットとしてついています。 Tomcatに変える人もいるようですが、Jettyもなかなか性能がいいようなので、 Jettyについて調べたことのメモです。 Jetty とは Jetty は、100%Javaで開発されたJava Servletコンテナ/Webサーバである。WebSocketなどのプロトコルもサポートする。Jetty はオープンソースプロジェクトとして開発され、Apache 2.0 License でリリースされている。JBoss、Apache
TL;DR アドホック多相は型クラスじゃなくても実現できる。 Haskell, Rust, Scalaでは後付けで拡張できるけど、それはアドホック多相の本質ではない。 アドホック多相(Ad hoc polymorphism) ウィキペディアは辞書ではないのはわかっていますが、それでも 英語版WikipediaのAd hoc polymorphismのページを参考に挙げておきます。 ざっくりまとめると 型階層上は関連性のない複数の型の引数に適用できる、多相的な関数 引数の型に応じて、個別の(アドホックな)実装にディスパッチされる と、それだけのこと。 「引数の型によって別の実装にディスパッチされるって、それメソッドのオーバーロードと何が違うの」ってことなんですけど、特に違いはありません。同じです。とはいえ、プログラミング言語によって、実現方法や使い勝手は違います。そのあたりのことを、いくつか
最新の Om Next はまだ alpha 版ですが、公式ドキュメントも充実してきたので少し触ってみようと思います。 Om Next とは? まず、Om についてですが、Om は React の ClojureScript ラッパーです。ClojureScript の開発者でもある David Nolen を中心に開発しています。David は Twitter や Clojure の Slack でよく発言しており、いつ開発しているのか不思議ですが、ClojureScript, Om 共に細かくバージョンが上がっていきます。 さて、Om Next ですが上記でも触れたように現状はalpha版(1.0.0-alpha25)です。現行の Om との違いはいろいろとあるのですが、一番の違いは Cursors をなくしたことでしょうか。Cursors はアプリケーション状態と Component
DBUnitを使用した結合試験データの積み込み 先日JBehaveを使った試験の自動化について書きましたが(JBehave+Maven+Eclipseを使った結合試験の自動化)、データベースの準備はテキストでやっていくのはきついので、DBUnitでデータを積み込みます。 準備 データをExcelで定義する 以下のルールを守るだけです。 1ファイルに複数のテーブルの情報を定義できるため、シナリオ試験のデータをまとめるのにちょうど良いです。 1テーブル1シート 1ファイルには複数のテーブルの情報を定義できる シートの名前はテーブル名にする 1行目はカラム名を記入する xls形式で保存 例)Excelでのデータ定義 pom.xmlの修正 DBUnitを使うための依存情報を追加します。 apache poiはかならず3.2を使います。 ... <dependencies> ... <depende
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く