Skip to content

Instantly share code, notes, and snippets.

Avatar

seraphy seraphy

View GitHub Profile
@seraphy
seraphy / hyperv_androidemu.md
Last active Jul 22, 2020
Hyper-VでサクサクAndroidエミュレータを使おうと思ったらハマったはなし
View hyperv_androidemu.md

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

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

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

[^1]: Docker for Windowsを試したくなったため

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

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

概要

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

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

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

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

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

概要

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

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

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

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

@seraphy
seraphy / detectjavadefchartsets.md
Last active Mar 30, 2020
Javaのデフォルトの文字コードの決められ方の調査
View detectjavadefchartsets.md

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

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

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

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

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

本稿の概要

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

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

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

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

@seraphy
seraphy / UnwrappingObservableList.java
Last active Mar 31, 2020
JavaFXのObservableListの要素をアンラップしたリストとしてアクセスするための読み込み専用の監視可能リスト
View UnwrappingObservableList.java
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 Aug 9, 2019
ソケットを直接使って、簡単なHTTP/1.1と、WebSocketのサーバーの実装例。
View WebSocketExample.java
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 Jul 27, 2019
Tensorflow(python3.6)で一次関数を学習させ一次関数を近似させる例
View requirements.txt
numpy
matplotlib
pandas
tensorflow
@seraphy
seraphy / mybatis_exmple.java
Created Jul 17, 2019
MyBatisの設定をプログラム上から行う実装例。Spring-Bootのuber-jarの場合は明示的にPathMatchingResourcePatternResolverでmapping.xmlを探索してマッピングする必要がある。
View mybatis_exmple.java
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の場合では、この方法ではスキャンできない
@seraphy
seraphy / CustomSerializeExample.java
Created Jun 25, 2019
データポイントのような大量データを効率よくJSONで扱う実装例。簡略化した文字列でJSON表現とする方法と、リストをバイナリにして単一のbase64文字列にする方法。
View CustomSerializeExample.java
package jp.seraphyware.example.java8learn.json;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
You can’t perform that action at this time.