Skip to content

Instantly share code, notes, and snippets.

@naosim
naosim / analizeJava.js
Created Nov 21, 2022
javaのソースコードを解析する
View analizeJava.js
/*
Javaのファイルを漁ってクラス構成を分析する
---
# 実行環境 node.js
古いバージョンでも動くようにする。モダンな書き方はアロー式を使う程度にする
# 使い方
- ROOT_PATHを決める
- node analizeJava.js
@naosim
naosim / techplaylink.js
Created Jan 15, 2022
TechPlayから勉強会の情報を抜き取る
View techplaylink.js
@naosim
naosim / JsonTable.js
Created Oct 31, 2021
簡易テーブル
View JsonTable.js
class JsonTable {
constructor(data = {}, isSafetyMode = true) {
this.data = data;
this.isSafetyMode = isSafetyMode;
}
insert(id, obj) {
if(this.data[id]) {
throw new Error(`IDがすでに存在する: ${id}`);
}
this.data[id] = this.copyIfNeeded(obj)
@naosim
naosim / LocalFileJsonRepository.js
Last active Oct 31, 2021
FileSystemAccessAPIを使ってJSONの読み書きをする
View LocalFileJsonRepository.js
class LocalFileJsonRepository {
constructor(fileHandle = null) {
this.fileHandle = fileHandle;
}
async init() {
if(this.fileHandle) {
return;
}
[this.fileHandle] = await window.showOpenFilePicker();
}
@naosim
naosim / ChatWorkClient.js
Created May 11, 2021
GAS用チャットワーククライアント
View ChatWorkClient.js
/**
* 内部でUrlFetchAppを使っています
*/
class ChatWorkClient {
constructor(token) {
this.token = token;
this.baseUrl = 'https://api.chatwork.com/v2';
this.header = { 'X-ChatWorkToken' : token };
}
postMessage(roomId, message) {
@naosim
naosim / ApiEndPointAnalyzer.java
Last active Feb 20, 2021
Springフレームワークのエンドポイントを取得する 開発ドキュメント作成用ツール
View ApiEndPointAnalyzer.java
import org.assertj.core.api.exception.RuntimeIOException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
import org.springframework.core.type.filter.RegexPatternTypeFilter;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@naosim
naosim / deno-reversi-logic.ts
Last active Aug 4, 2020
deno-reversi-logic.ts
View deno-reversi-logic.ts
import * as board2d from 'https://raw.githubusercontent.com/naosim/deno-board2d/v1.2.0/src/mod.ts';
export {
Board,
BoardMutable,
Pos,
Direction,
X,
Y
} from 'https://raw.githubusercontent.com/naosim/deno-board2d/v1.2.0/src/mod.ts';
@naosim
naosim / othello1d_a.html
Last active May 1, 2020
1次元オセロのお題
View othello1d_a.html
<!DOCTYPE html>
<meta charset="utf-8" />
<script>
/**
* 1次元オセロの盤面に白の石を置く
*
* - 盤は配列で表現する
* - 白の石は'白'
* - 黒の石は'黒'
* - 空の場所はnull
@naosim
naosim / index.html
Created Feb 29, 2020
20200301 frappe-ganttつかってみた
View index.html
<!DOCTYPE html>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/frappe-gantt/0.3.0/frappe-gantt.min.css"></link>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.5.1/snap.svg-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/frappe-gantt/0.3.0/frappe-gantt.min.js"></script>
<svg id="gantt"></svg>
<script>
@naosim
naosim / toEntities.js
Created Nov 25, 2019
スプレッドシートの2次元配列をエンティティの配列に変換する
View toEntities.js
/**
* スプレッドシートの2次元配列をエンティティの配列に変換する
* - 2次元配列は0番目はヘッダー(カラム名の配列)行、1番目以降にデータが並んでいること
* - ヘッダー行のカラム名は空でないこと
* - カラム名は値の最初の行だけ採用される 例: "身長\n[cm]" → カラム名は"身長"になる
* @param {[['name', 'age'], ['mike', 30]]} ary2d - スプレッドシートのような2次元配列
* @return 例: [{name:"mike", age:30}, {name:"jiro", age:40}]
*/
function toEntities(ary2d) {
var headers = ary2d[0]