特定GitHubユーザでリモートリポジトリ設定

Git

GitHubユーザをglobalで設定する記事が多いですが、 私はリポジトリごとに変更したい場面がよくあって、メモします。 git init git config user.name ユーザ名 git config user.email メールアドレス git config user.name # 変わったか確認。 git config us…

ルータ設定(DMZ)せず、ngrokでリモートデスクトップを利用する。

今までリモートで作業するため、Google Remote Desktopを利用していました。 Googleアカウントさえあれば、リモートPCに簡単に接続できて、とても便利です。最近、老眼(?)があって文字が見にくくなったし、広い画面で作業したくなったので、大きいモニターを…

大量のデータを投入したら、analyzeしよう。

先日、JDBC経由でPostgreSQLのcopyコマンドで大量のデータ(数千万)を投入し、すぐselectしたら、selectが終わらないことが数回ありました。通常なら、同じデータ量でも1分以下で終わっていたので、おかしかったです。調査のため、該当select文を抽出し、psql…

JDBCでパラレルクエリが効かない問題の対処

PostgreSQLはパラレルクエリをサポートします。psqlコマンドで重いクエリを実行し、topコマンドで複数のpostgresプロセスが立ち上がっているのを見て、よし。これでオーケーとJavaでプログラムを作成しましたが、なぜか、Javaプログラム実行中、topコマンド…

Amazon Linux更新後、dovecotのAlready address in useエラー

AWS

yum update -y コマンドでAmazon Linux(2ではありません)を更新し、EC2 インスタンスを再起動したら、dovecotが下記のエラーを出して、起動しなくなりました。 Starting Dovecot Imap: Error: service(pop3-login): listen(*, 110) failed: Address already …

selectした値をテーブル名にして動的にupdateする即時実行PL/pgSQL

あとで使うためのメモです。 DBメンテナンス作業時、流用できると思います。 PL/pgSQLの文法はPascal/Dephiと似ていますね... /* テストテーブルを作成 */ drop table if exists hoge; create table hoge(col1 varchar, col2 varchar); insert into hoge (co…

長文を変数に入れたい場合、#defineを使う。

Velocityで長文を作って変数に入れたい場合、#defineを使いましょう。 #macroだと、Velocityにキャッシュされ、同じ結果が出てしまいます。次の例を見ましょう。 import java.io.IOException; import java.io.StringWriter; import org.apache.velocity.Velo…

双方向LSTMを使用したAttention付きseq2seq

「ゼロから作るDeep Learning―自然言語処理編」を読み終えました。 この本の後半に双方向LSTM(TimeBiLSTM)を使用してAttention付きseq2seqを作ってみてねとありましたので、作ってみました。まず、AttentionBiSeq2Seq, AttentionBiEncoder, AttentionBiDecod…

データ読み込みに関するメモ

今日はDL4Jでのデータ読み込みに関するメモです。 簡単に書きたいので、ソースとコメントのみにします。 // RecordReaderはある媒体からデータを読み込んで共通形式のデータ(List<Writable>)を生成するインタフェースです。 // CSV・正規表現・画像・JSON・XML・YAMLな</writable>…

sed簡単整理2 - パターンスペース・ホールドスペース -

パターンスペース及びホールドスペースに関してのメモです。 パターンスペース 下記のコマンドを sed -e 's/hoge/Hoge/; s/foo/Foo/' sed_test.txt 疑似コードに変えると、下記のような感じになります(100%同じではないと思いますが)。 while (input.next())…

sed簡単整理1 - 基本 -

sed

簡単な変換はsedで、複雑な変換はawkというようにしていましたが、 sedもawkぐらいのことができると分かったので、整理してみます。 sedはperlっぽくて私にはawkの方が使いやすかったですが、 少しいじってみたら、sedの方が簡潔でよかったです。 状況次第で…

JavaImporterの繰り返し生成時、with__noSuchProperty__ placeholderエラー

JDK 1.8.0_20で下記のJavascriptソースのようにJavaImporterインスタンスを繰り返し生成すると、 (実際のソースは違いますが、理解しやすさのため、ウェブからサンプルを持ってきました) /* ファイル名 : test.js 実行 : jrunscript test.js 期待値 : 出力な…

ダブルクリックで任意のパスワードを簡単にコピペ

Windowsでダブルクリックで任意のパスワードをコピペできる方法です。手順は以下の通りです。rubyが必要です。 Windowsのデスクトップに拡張子がcmdのファイルを一つ作成します。仮にget_passwd.cmdとします。 メモ帳でget_passwd.cmdの内容を以下にし、保存…

行列演算 API(ND4J)の簡単整理

Javaのディープラーニングライブラリー「Deeplearning 4 j(以下、DL4J)」で行列の演算を行う方法を整理します。今まで数冊のディープラーニングや数学の本を読んで ディープラーニングについて少しは分かった気はしますが、 数学が苦手なので、DL4で行列に関…

メソッド呼出時、引数にJSON(マップ)を渡せます。

Javaのテンプレートエンジン Velocityでメソッド呼出時、引数にJSONを渡せます。 色々いじってみて知りました。 方法は引数のところに{ "key1": "value1"....のように普段のJSONと同じく書けばいいです。 実際メソッドの引数に渡されるオブジェクトはMapです…

違うユーザのリモートリポジトリをPull・Push時、エラー対処

状況 まず、Eclipseのバージョンは古い(Mars, 2015年版)です。 EclipseのPackage Explorer上に複数のプロジェクトがあり、 それぞれのプロジェクトが属するGitHubのリモートリポジトリのGitHubユーザが違う場合、 (個人用と会社用を分けて使うなど) PullやPu…

awkについて簡単整理

awk

Linuxのテキスト処理ツールであるawkについて簡単に整理します。 awkはポイントさえ掴めば分かりやすいと思います。 awkは何者? テキストデータから行を読み込み、文字列操作を行うLinuxのツールです。 特定条件にマッチする行から列を抽出し、ある処理を実…

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

あまりないと思いますが、 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は複数のサーバがネットワークを作って、 大規模な動作をするのに適した仕組…