Skip to content

Instantly share code, notes, and snippets.

View kawasima's full-sized avatar

Yoshitaka Kawashima kawasima

View GitHub Profile
@kawasima
kawasima / SheetHandler.java
Created March 5, 2015 07:17
POI Stream API Example
package sandbox;
import org.apache.poi.xssf.model.SharedStringsTable;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import java.io.IOException;
import java.util.ArrayList;
@kawasima
kawasima / 00-index.md
Last active December 28, 2017 06:45
2014しょぼちむアドベントカレンダー 18日め

しょぼちむアドベントカレンダー の18日目です。

私の知るsyobochimはこのまんまの奴です。

tweet

そしてこの後もことごとく呑みに行っても財布をもって来やしません。一応本人の言い訳としては、会社のロッカーに財布を入れているから忘れるんだ、とのこと。

そこで、財布を持たずに会社をでて、半径300mエリアから外にでると、「財布見せろ~」の警告するアプリを作りました。 (ほんとはAndroidアプリにしたかったのですが、Android端末持ってなかったのでWebアプリにしました。)

@kawasima
kawasima / 00-CodingChampionships.md
Last active December 28, 2017 06:45
Coding Championships in TIS architect club

TISアーキ部にて不定期開催されるCoding Championshipsの問題集です。

(def bonjovi ["ボ" "ン" "ジョ" "ヴィ"])
(defn print-bad-name [jovi-seq i]
(println (clojure.string/join "・" jovi-seq))
(println i "Bon Jovis")
(println "
_人人人人人人人人人人人人人人_
> You Give Love a Bad Name <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄"))
Element.prototype.item = function(name) {
return this.querySelector("[name=" + name + "]");
}
window.parentWindow = window.parent;
@kawasima
kawasima / gist:e3e2cdfefbc4dcc74e8f
Created September 17, 2014 14:22
core.async walkthrough の和訳
;; core.asyncの中心概念をウォークスルーします。
;; publicなAPIは、clojure.core.async のネームスペースに含まれています。
(require '[clojure.core.async :as async :refer :all])
;;;; チャンネル
;; データはキューのようなチャネルでやり取りされます。デフォルトのチャンネルは、
;; バッファリングされません。すなわちプロデューサーとコンシューマは、チャンネルを通して、
;; 値をやり取りするために待ち合わせします。
@kawasima
kawasima / FileScanner.java
Created July 22, 2014 02:57
ファイル到着トリガで処理を実行させる in Java
package sandbox.fileovserve;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
/**
@kawasima
kawasima / jetty-setuid-wrong.xml
Created June 13, 2014 02:13
Jetty9のjetty-setuidのデフォルトコンフィグがおかしい件
<!-- Jetty9 付属の設定ファイル -->
<Set name="RLimitNoFiles">
<Arg> <!-- SetにArgは間違い -->
<New class="org.mortbay.setuid.RLimit"> <!-- 古いクラスになってる -->
<Set name="soft">20000</Set>
<Set name="hard">40000</Set>
</New>
</Arg>
</Set>
@kawasima
kawasima / gist:45c60e0a0bb8cea84d63
Last active November 5, 2020 21:58
要件トレーニング
■曲目の演奏システムを作る
複数のアルバムとそれに含まれる曲が登録されている。
登録された曲またはアルバムを通常再生できる。
リピート機能とランダム再生機能をもつ。
設計ポイント
静的モデリングの設計力
プレイリストという考え方を見いだせるか?
1つの曲が複数のアルバムに含まれることがあることを考慮ができるか?
考えたうえで別の曲として扱う設計ならばよし。
@kawasima
kawasima / sql.clj
Created May 14, 2014 10:28
An example of FoundationDB SQL Parser
(ns sandbox.sql
(:import [com.foundationdb.sql.parser SQLParser]))
(defn parse [sql]
(let [parser (SQLParser.)]
(.. (.parseStatement parser sql)
treePrint)))
(parse "SELECT count(*) FROM A, (SELECT * FROM B) AS B")