読者です 読者をやめる 読者になる 読者になる

稼働中のサーブレットインスタンスを取得する。

あまりないと思いますが、 Tomcatでアプリケーション稼働中、あるサーブレットインスタンスが持つ情報を見たり修正したい時があるとします。 それができる画面や仕組みがアプリケーションにあればいいですが、ない時は困りますね。 以下の方法を使えば、稼働…

WebPushについて簡単整理

WebPushについて私なりに理解したことを最大限簡単に書いてみます。 WebPushとは ブラウザに対してサーバからプッシュ通知ができる技術です。 他のウェブページを見ていても通知が来ます。ブラウザによっては、ブラウザを立ち上げなくても通知が来ます。 専…

SPFとSenderIDで曖昧な部分を整理

SPF

SPFについてブログやドキュメントを読んでも何を言っているのか分からないところを整理しました。 実際に検証したところもあり、英文を探して分かったところもあります。 SPFとSenderIDはどのドメインを確認するか SPFはMAIL FROMコマンド(いわゆるEnvelope …

メールログの時間がずれる時の対処

メール送信と受信のため、PostfixとDovecotをインストールしましたが、 メールログ(/var/log/maillog)に出力される時間がサーバ時間と9時間もずれていました。 色々ググって試して失敗したりしましたが、ついに解決できましたので、メモします。以下のコマン…

セッションストアに関してメモ

最近、RoR(Ruby on Rails)を勉強しています。RoRでセッションデータはデフォルトでブラウザのクッキーに保存されます。 最初はServletのようにセッションIDだけ、ブラウザに送られて、実際のデータはサーバのメモリに保存されると思いました。しかし、そうで…

勉強メモ1

Rubyは以前遊びぐらいでしか触ったことがありませんが、 今回勉強したいと思い、学習を始めることになりました。ただ、以前のように分厚い本を買って、表紙(まえがき)から最後の隅々まで 読んで写経することはしないつもりです。時間を節約し、効率的に勉強…

webapps配下でないディレクトリにリソースを置く

Tomcatで、ウェブアプリで使われるリソースをwebapps配下でないディレクトリに置きたい場合あります。 例えば、リソース(画像やJSPなど)をアップロードしてウェブアプリの画面を動的に構成したい時です。 またお客様がウェブアプリ本体のソースを修正するこ…

機械学習の種類とR言語でのパッケージ

機械学習の種類とR言語でのパッケージをざっくりと整理してみました。 自分の理解に役に立つ形態で整理したため、書籍に出るようなまともなものとは違うところがあります。 また、間違った部分もありえますので、気付き次第、修正していくつもりです。 予測 …

Apache POIのExcelファイルで日本語セルの列幅を自動調整

Apache POIで列幅を自動で調整してくれる Sheet#autoSizeColumnメソッドがあります。数字や英語の場合、ちゃんと列幅を調整してくれるようですが 日本語の場合、Sheet#autoSizeColumnメソッドを呼び出しても、 幅がうまく調整されません。 幅が微妙に足りな…

JDKのJavascript(nashron)で外部のJavaクラスを呼び出す方法

自分が作ったクラスや外部のライブラリを呼び出して、 機能を作りたい時があります。 普通にJavaで作ってもいいですが、 コンパイルが必要ですし、 早く作りたいのにJavaの厳格な文法がちょっと面倒です。ScalaやGroovyなどを使って 軽くスクリプトを作るの…

Eclipseでマージしたくないファイルへの対処

Git

Eclipse + Git環境で、マージに対するメモです。マスタブランチからブランチX(Xはブランチの名前)へマージを行った時、 マージしたくないファイルだけと、 マスタブランチとブランチXとの間で、 違いが出てコンフリクトする場合があります。 例えば、環境フ…

ErlangとJavaをつなぐ

この記事では、ErlangとJavaの連携方法を説明します。 使い道 Erlangで出来ているプログラムを使いたいが、今Erlangが分かる人がいない。 でも、Javaが分かる人はいる。こういった状況でErlang + Javaが使えるのではないでしょうか。また、Erlangがネットワ…

Erlang 基礎ポイント7 - 分散処理

久しぶりのErlangですね。 今日は分散処理について勉強したいと思います。 Erlangで分散処理? 今までは一つのサーバで一つのErlangシェルを立ち上げて勉強しましたが、 実はErlangは複数のサーバがネットワークを作って、 大規模な動作をするのに適した仕組…

複数のファイルの名前を一気に変更するバッチスクリプト。

ファイル名が似ている複数のファイルの名前を変更したいが、 ファイルの数が多くて面倒なことがありますね。そういう時はツールをダウンロードして解決したり、 自分の得意なプログラミング言語で プログラムを作って解決したりします。解決する方法は色々あ…

ビルドツールGradleをEclipseで使うための手順

ビルドツールGradleをEclipseで使うための手順です。 Gradleは、AntやMavenのようにビルドを自動化するツールですが、 AntやMavenよりシンプルで便利な感じです。Eclipse 4.4(Luna) WTP 英語版を立ち上げたことを前提にして説明します。 日本語版でも問題な…

Erlang 基礎ポイント6 - 並行処理3

今日はErlangの並行処理で、モニタについて勉強します。 モニタとは あるErlangプロセスを監視したいが、リンクを作ると、お互いのErlangプロセスが 密接に関連するようになるので、気をつけなければなりません。 監視のことでプログアムに障害が起きたり、…

Javascriptでオブジェクトの出身(クラス)を調べる(instanceof演算子)

例えば、次のように配列を生成し、 instanceofに同じウィンドウのArrayクラスを指定すると、 結果はtrueになります。 // ChromeのJavascript Consoleで実行 > var a = [1, 2, 3, 4, 5]; undefined > a instanceof Array true しかし、instanceofに別ウィンド…

Erlang 基礎ポイント5 - 並列処理2

今日はErlangの並行処理における例外処理について勉強したいと思います。 並行処理での例外処理 Erlang 基礎ポイント4で並行処理プログラムの作成が可能になりました。 しかし、現在実行中のErlangプロセス(=Pといいます)から子Erlangプロセス(=Cといいます)…

Erlang 基礎ポイント4 - 並行処理1

今日はErlangで並行処理プログラムを作成する方法を勉強します。 並行処理 並行処理とは、一つのプログラムの中で複数の処理を同時に実行させることです。 Windows、LinuxなどのOSでは、複数のプログラムが複数のプロセスとして同時に実行されます。 Apache …

Erlang 基礎ポイント3 - case式, if式 例外

case式 Erlang 基礎ポイント2 - DukeLabでパターン集合について説明しました。 パターン集合の結果から処理を複数の関数に分けることができましたが、 関数の数が無駄に多くなる恐れがありますね。もちろん、プログラムの処理は可能な限り小さくした方が モ…

[WebSocket] [Java] WebSocketを試す

WebSocketとは HTML5仕様を構成する要素の一つで一方向通信しかできなかった既存のHTML通信とは違って、 JavascriptのWebSocket APIとサーバサイドのWebSocket機能でクライアントとサーバ間の両方向通信を可能にする技術だ。 WebSocketの特徴 WebSocketは、…

Erlang 基礎ポイント2 - プログラムの形式, 無名関数, パターン照合など

Erlangプログラムの形式 REPL環境でなく、ソースファイル(erlファイル)から実行するためには 以下の形式に従う。 -module(test). -export([func1/0,func3/1,func4/3]). func1() -> func2() + 5. func2() -> 3. func3(X) -> Y = X * 2, Y * 2. func4(plus, X,…

EclipseのMavenプロジェクトにびっくりマークが出る時の対処方法

EclipseのMavenプロジェクトのアイコンに びっくりマークが出る時がある。 なんらかの理由でプロジェクトのビルドパスが 間違っているよう。 その時は、Package Explorerで該当プロジェクトを選択し、 右ボタンをクリック→Maven→Update Projectを選択し、 OK…

Javascript 注意点

Javascriptを使うにあたって 注意すべきところをメモっておこう。 会社、家でJavascriptプログラミング時に 経験したのを書くつもりだ。 もちろん、全て汎用的な内容だし、本に書いてある内容も あるはずだ。 ---------------------------------------------…

Oracle 12CのPluggable Database

DBにも仮想化が到来した。 Oracle 12CのPluggable Database機能を利用すると、 一つの物理マシンだけで、複数の仮想DBをコンテナDBというものに まとめて管理できるそうだ。 詳しくは以下の記事を参照 http://www.publickey1.jp/blog/12/oracle_database_12c…

BeanShell その2

今回はBeanShellの使い方をメモっておく。 1)Beanshellのダウンロード先 : http://www.beanshell.org/download.html ここでbsh-X.XXX.jarをダウンロードする。 2)実行 BeanshellにはコンソールモードとGUIモードがある テキストモードの実行方法: java -jar …

BeanShell その1

BeanShellはJavaと似てる文法(70%ぐらいかな)を持つスクリプト言語だ。 つまり、プログラムソースをコンパイルせずにすぐ実行できるということだ。 BeanShellはJavaで作られていて、JVM上で動く。 今までJVM上で動く言語いくつかを見てきた。 例えば、JRuby…

Erlang 基礎ポイント1 - 紹介, 文法

1・2年ごとに新しい言語を勉強している。 Python・Scala・Lispに続けて、今年からはErlang. メインはJava・Javascriptだが、他の言語を接することで 問題解決やアイデア作りに役立っているを実感している。 これから数回に分けて勉強した内容を書くつもり。 …

ブログを始めます。

今までは、調べて分かった情報やメモなどを 別途ファイルや紙に書いて、非公開にしていましたが、 どこでもアクセスできる・考えをまとめられる・文章力を高められる といった長所から、ブログを書いてみようと思っています。 これからの情報だけでなく、今…