Skip to content

Instantly share code, notes, and snippets.

View 9SQ's full-sized avatar
🏠
Working from home

Keiichiro 9SQ

🏠
Working from home
View GitHub Profile
@9SQ
9SQ / Csv2array.java
Last active August 29, 2015 14:05
カンマ区切りで渡された引数を配列に
public class Csv2array {
public static void main(String[] args) {
if (args.length < 1) {
System.out.println("Usage: java -jar Csv2array.jar [username(comma separated username)]");
System.exit(-1);
}
String[] split = args[0].split(",");
String[] usernameArray = new String[split.length];
for (int i = 0; i < usernameArray.length; i++) {
@9SQ
9SQ / gist:69de80d78d8b58a14750
Created August 15, 2014 16:45
PubSubHubbub subscriber (購読確認)
private static final String verifyToken = "this_is_test";
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String hubMode = request.getParameter("hub.mode");
String hubChallenge = request.getParameter("hub.challenge");
String hubVerifyToken = request.getParameter("hub.verify_token");
if (hubMode != null && !hubMode.isEmpty() && hubChallenge != null
&& !hubChallenge.isEmpty() && hubVerifyToken != null && !hubVerifyToken.isEmpty()) {
if (hubVerifyToken.equals(verifyToken)) {
@9SQ
9SQ / Callback.java
Last active August 29, 2015 14:05
Yo APIからのcallbackでコマンド等を実行
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@9SQ
9SQ / Sent.java
Created August 17, 2014 00:02
カンマ区切りusername宛にYoを送信
package sent_yo;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
@9SQ
9SQ / SaxHandler.java
Created August 18, 2014 19:35
PuSHで来た気象庁XMLをSAXでパース
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.xml.bind.DatatypeConverter;
import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;
public class SaxHandler extends DefaultHandler {
boolean entryFlag; // <entry></entry>内であることを記憶するフラグ
@9SQ
9SQ / openlayers_test1.html
Last active August 29, 2015 14:07
OpenStreetMap(EPSG:3857)の上にVector Layer(EPSG:4326)を乗せる (OpenLayers 3)
<!doctype html>
<html lang="ja">
<head>
<link rel="stylesheet" href="http://openlayers.org/en/v3.0.0/css/ol.css" type="text/css">
<style>
.map {
height: 500px;
width: 100%;
}
</style>
@9SQ
9SQ / Uploader.java
Created October 15, 2014 19:52
multipart/form-dataで受けたデータを保存&Paramsも取得 (Tomcat7/Servlet3.0)
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@9SQ
9SQ / openlayers3_test2.html
Created October 15, 2014 20:24
OpenLayers3でOSMにPointとPolygonを重ねる
<!doctype html>
<html lang="ja">
<head>
<link rel="stylesheet" href="http://openlayers.org/en/v3.0.0/css/ol.css" type="text/css">
<style>
.map {
height: 500px;
width: 100%;
}
@9SQ
9SQ / raspi_lps25h.py
Created May 1, 2015 09:40
Raspberry PiとLPS25Hで気圧取得
import sys
import wiringpi2
from time import sleep
wiringpi2.wiringPiSetup()
i2c = wiringpi2.I2C()
lps25h = i2c.setup(0x5C)
whoami = i2c.readReg8(lps25h,0x0F)
if whoami != 0xBD:
print "error"
@9SQ
9SQ / RCS620mod.cpp
Created July 3, 2015 18:20
RC-S620/SでTargetとして動作させる(特定のカードをエミュレート)
// add under "int RCS620S::initDevice(void){...}"
void RCS620S::tgInitTarget(const uint8_t* idm, const uint8_t* pmm, const uint8_t* rfu)
{
uint8_t response[RCS620S_MAX_RW_RESPONSE_LEN];
uint16_t responseLen;
uint8_t command[RCS620S_MAX_RW_RESPONSE_LEN] = {0x00};
uint8_t start[2] = {0xd4, 0x8c}; // command code & sub command code
uint8_t activated[1] = {0x02}; // Activated limit
uint8_t params106[6] = {0x00, 0x04, 0x00, 0x00, 0x00, 0x40}; // 106kbpsParams(6byte)