Skip to content

Instantly share code, notes, and snippets.

View seraphy's full-sized avatar

seraphy seraphy

View GitHub Profile
@seraphy
seraphy / Makefile
Last active May 26, 2023 21:50
python3による、2つ以上のファイルの突き合わせ結果を出力するコンソールツール
.PHONY: test install uninstall
DESTDIR = ~
PREFIX = /bin
TARGET = crosscheck
SOURCE = crosscheck.py
test:
@echo "[Running tests]"
python3 ${SOURCE} -t 2 -s 1 data1.txt data2.txt
@seraphy
seraphy / hyperv_androidemu.md
Last active August 19, 2023 09:13
Hyper-VでサクサクAndroidエミュレータを使おうと思ったらハマったはなし

AndroidエミュレータはHyper-Vに対応しているはず

Android EmulatorはHyper-Vが有効なマシンでは動かない、という話は、今となっては昔の話...のはず。

プライバシーとセキュリティが糞雑魚な情弱御用達コミュニティサイトであるQiitaの「Hyper-VでサクサクAndroidエミュレータを使おう」という記事を読んで、なにも難しいことはなさそうだし、VirtualBoxをやめてHyper-Vに移行してもいいかな、と思った。1

ところが、試してみたところ、私の環境では、なかなかうまくゆかずハマってしまった。

Footnotes

  1. Docker for Windowsを試したくなったため

@seraphy
seraphy / springbootmakerawjar.md
Created March 27, 2020 00:30
SpringBootでpackage作成時の、uber-jarと、raw-jarの二つの作成方法についてメモ

概要

SpringBootでpackageを作成すると、依存関係のjarを内部に取り込んだuber-jar形式の実行可能jarになり、且つ、この依存jarを内部に含むjarを成果物する。

これはこれで便利なのだが、標準では、Mavenのローカルリポジトリに登録されるのも、このuber-jarになる。

これは、他のプロジェクトから参照する場合に問題になる。

※ uber-jarを参照しても、uber-jarはネストしたjar構造になっているため、通常のjavaコードから直接参照するのは難しい。(クラスパスにuber-jarを指定してもクラスは発見できない。)

@seraphy
seraphy / python3macbook2007.md
Created March 27, 2020 00:28
2019年2月時点での、13インチの白MacBook 2007 Lateに、Git + Python3 + Jupyter + Sphinx でPython3勉強環境を作るまでの手順を示す。

概要

2019年2月時点での、13インチの白MacBook 2007 Lateに、Git + Python3 + Jupyter + Sphinx でPython3勉強環境を作るまでの手順を示す。

このマシンは2007年に購入したもので、その後、アップデートやクリーンインストールを経て、数年前まではhomebrewとdockerが動いていたが、いまでは動かなくなっている。

環境を作るのに苦労したので備忘録として残す。(次は、もう無理じゃないかという予感がある...)

これはadhocに調査・試行した履歴であり、抜け漏れ考慮不足、認識誤り等々あると思うが、今後のために備忘録として残すものである

@seraphy
seraphy / detectjavadefchartsets.md
Last active March 21, 2022 06:30
Javaのデフォルトの文字コードの決められ方の調査

(結論) Javaのデフォルトの文字コードは決まっていない。

Javaのデフォルトの文字コードは決まっていない。実行時の環境により都度かわる。それが結論。

JVMバージョンによって文字コードが変わるわけではない

以下のようなコードをWindows7/10のEclipse(Pleiades 2018.12)で実行した場合、

String[] names = {
@seraphy
seraphy / launch4jheadcustom.md
Last active March 27, 2020 00:22
Launch4jのjava起動部(head)をカスタマイズする方法

本稿の概要

Launch4jはjavaを起動するexeを作成する。

このjava起動部のコードは「head」と呼ばれる部分であり、これはMinGWのgccでコンパイルされている。

Launch4jのツールでexeを作成する際には、このコンパイル済みの*.o, *.aファイルをリンクしてexeが作成される。

この*.o, *.aファイルは何も指定しなければ標準のものが使われるが、明示的に自分がビルドしたものに差し替えることができる。

@seraphy
seraphy / UnwrappingObservableList.java
Last active March 31, 2020 07:06
JavaFXのObservableListの要素をアンラップしたリストとしてアクセスするための読み込み専用の監視可能リスト
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.collections.ObservableListBase;
import javafx.collections.WeakListChangeListener;
@seraphy
seraphy / WebSocketExample.java
Last active August 9, 2019 01:49
ソケットを直接使って、簡単なHTTP/1.1と、WebSocketのサーバーの実装例。
package jp.seraphyware.example.java8learn.websocket;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
@seraphy
seraphy / requirements.txt
Last active July 27, 2019 02:29
Tensorflow(python3.6)で一次関数を学習させ一次関数を近似させる例
numpy
matplotlib
pandas
tensorflow
@seraphy
seraphy / mybatis_exmple.java
Created July 17, 2019 05:38
MyBatisの設定をプログラム上から行う実装例。Spring-Bootのuber-jarの場合は明示的にPathMatchingResourcePatternResolverでmapping.xmlを探索してマッピングする必要がある。
private SqlSessionFactory createFactory() {
DataSource dataSource = getDataSource();
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("production", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
// configuration.addMappers("jp.seraphyware.example.dao.mapper");
// ↑ Spring-BootのUber-jarの場合では、この方法ではスキャンできない