Steamworksに日本語の法人名で登録する方法
例えば「株式会社あいう」だと、「Aiu, Inc.」などの英語名で登録することになるが、それだと税務審査のところで、登記上の法人名と一致していないという理由でリジェクトされます。
そこで再審査では、法人番号公表サイトの英語表記のページを提出したところ通過しました。
No tests were executed!
「No tests were executed!」のこれまで経験した解決パターン
パターン1:
pom.xmlに以下を追加
<build> <!--<sourceDirectory>src</sourceDirectory>--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> </plugin> </plugins> </build>
パターン2:
プロジェクトをgit cloneからやりなおす
確実に解決するが面倒
パターン3:
mvn のコマンドをsurefire:testからtestに変更
巨大テーブルに高速でカラム追加する方法
最後のカラムの後ろに追加するかしないかで1万倍くらいの差がでてびっくりした。
こんなの知らなかった。
ALTER TABLE `test1` ADD `new_column_yyy` VARCHAR(32) NULL DEFAULT NULL AFTER `last_column_xxx`
法人代表者の住所変更時に必要な手続き
法人設立、法人銀行口座開設、法人本店移転の手続きメモ
法人設立
法人設立の手続きはfreeeの法人設立サービスを使ったので、フォームに必要な事項を入力すると勝手に書類が生成された。
意外と簡単。
メモ:
- 登記の事業目的は、むやみにたくさん記述すると銀行口座開設の審査に落ちやすくなる
- 仮想通貨関連の事業目的を書くと銀行口座開設の審査に落ちやすくなるので、仮想通貨という言葉を使わない抽象的な書き方にする
- バーチャルオフィスだと銀行口座開設の審査に落ちやすくなる
自分の場合、バーチャルオフィス+仮想通貨関連の事業目的があったのでどの銀行も口座開設できず。
バーチャルオフィスだけでなく、シェアオフィスやレンタルオフィスも同様に審査が厳しくなり、その時点で開設できないという銀行も多い。銀行員によると、これらの物件では賃貸借契約を結ばないため、実体性がないと見なされるとのこと。
そこで事業目的の変更と、バーチャルオフィスから貸し事務所へ本店を移転。
本店移転
必要な書類
本店移転手続きの方法(会社住所変更の登記手続方法)と税務署や年金事務所などの関連手続の方法
社長ひとりの会社なら従業員はいないので、労働基準監督署とハローワークへの提出書類は不要。
市長村役場に提出する書類のうち、「事業所等変更届」は東京の場合不要。「特別徴収義務者所在地・名称等変更届」は特別徴収義務者でない場合は不要。
登記変更の手続きは、面倒だけど難しくない。法人税の確定申告とは違って専門的な知識は必要ない。
これらの変更手続きの後に再度、銀行口座開設を挑んだところ開設できた。
payara5 で java.lang.NoSuchMethodError: sun.security.ssl.SSLSessionImpl
追記 2019-08-01 :最新のpayara5ではこの問題は起きなくなっていた。
ssl通信を行おうとするとエラー
java.lang.NoSuchMethodError: sun.security.ssl.SSLSessionImpl.
(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/String;IZ)V
解決方法
TLS fails with jdk 8u191 · Issue #3284 · payara/Payara · GitHub
1) go to path : $JDK_HOME$ /jre/lib/
1.1) copy this file : /jsse.jar2) go to path : $PAYARA5_INSTALL$/glassfish/lib/
2.1) backup : grizzly-npn-bootstrap.jar3) open "jsse.jar" with an archive editor
3.1) go to path (in archive) : sun/security/ssl
3.2) extract folder "ssl"4) open "grizzly-npn-bootstrap.jar" with an archive editor
4.1) merge the "ssl" folder extracted from the "jsse.jar" archive with the "ssl" folder
into "grizzly-npn-bootstrap.jar", overwriting the files with the same name5) restart payara.
and normally everything works properly
上にある2つのjarを両方解凍し、jsse.jarの方のsslフォルダの中身をgrizzly-npn-bootstrap.jarの方のsslに上書きコピー。
zip圧縮して拡張子をjarに変えて元の場所に配置。
で再起動。
で直った。
JDKバージョンを変えると良くなるという報告がいくつかあったが自分は治らなかった。
巨大な配列のソートの計算量を減らす
要件:100万レコードからなる{ID,SCORE}の中からTOP N件をSCORE降順で得たい。
普通にやる
HashMap<String, Double> items = new HashMap<>(); for (int i = 0; i < 1000000; i++) { items.put(String.valueOf(i), r.nextDouble()); } List<Entry<String, Double>> entries = new ArrayList<>(items.entrySet()); long t10 = System.currentTimeMillis(); Collections.sort(entries, new Comparator<Entry<String, Double>>() { //比較関数 @Override public int compare(Entry<String, Double> o1, Entry<String, Double> o2) { //return o1.getValue().compareTo(o2.getValue()); //昇順 return o2.getValue().compareTo(o1.getValue()); //降順 } }); long t11 = System.currentTimeMillis(); System.out.println((t11 - t10) + "ms");
TOP Nだけを常時監視する
System.out.println("#### sort only for top N"); int TOP_N = 1000000; double[] items2 = new double[TOP_N]; long t20 = System.currentTimeMillis(); for (int i = 0; i < TOP_N; i++) { items2[i] = r.nextDouble(); } List<Integer> topIndexes = sortedTopNIndex(items2, 1000); long t21 = System.currentTimeMillis(); System.out.println((t21 - t20) + "ms"); public static List<Integer> sortedTopNIndex(double[] arr, int n) { List<Integer> indexes = new ArrayList<>(); double minInTopN = -1.0; int len = arr.length; loop1: for(int i=0; i<len; i++){ double val = arr[i]; if (val > minInTopN){ int indexesLen = indexes.size(); for (int j=0; j<n && j<indexesLen; j++){ int index = indexes.get(j); double topVal = arr[index]; if (val < topVal){ indexes.add(j, i); if (indexes.size() > n){ indexes.remove(0); } minInTopN = arr[indexes.get(0)]; continue loop1; } } indexes.add(i); if (indexes.size() > n){ indexes.remove(0); } minInTopN = arr[indexes.get(0)]; continue loop1; } } return indexes; }
結果
普通にやる:1301ms
TOP Nだけを常時監視する:94ms