Skip to content

Instantly share code, notes, and snippets.

@uemuraj
uemuraj / SNSMobilePushGcmServlet.java
Created May 28, 2014 12:55
Amazon SNS Mobile Push を使ってみる
package info.sierra1337.aws.sns;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@uemuraj
uemuraj / jmardb-export.groovy
Created May 31, 2014 14:41
気象庁防災情報XMLデータのエクスポート。指定した日付から昨日まで。
#!/usr/bin/env groovy
@Grab('postgresql:postgresql')
@GrabConfig(systemClassLoader=true)
import java.sql.*
import java.text.*
import java.util.zip.*
import javax.xml.*
import javax.xml.transform.*
import javax.xml.transform.stream.*
@uemuraj
uemuraj / init-naz-test.js
Last active August 29, 2015 14:02
jjs にグローバルな関数を追加します。
load('init-naz.js');
cp('http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar', 'ivy-2.3.0.jar');
unzip('http://archive.apache.org/dist/ant/ivy/2.3.0/apache-ivy-2.3.0-bin.zip', '.');
@uemuraj
uemuraj / java-extend.js
Created June 8, 2014 02:45
Java のクラスを拡張する場合。元のクラスのインスタンスを参照するには、この書き方しかないのかなあ...
var File = Java.type("java.io.File");
function extendFile(spec) {
var ExtendFile = Java.extend(File);
var file = new ExtendFile(spec) {
toPath: function() {
return java.nio.file.Paths.get(Java.super(file).toURI());
@uemuraj
uemuraj / GmailApiQuickstart.java
Last active August 29, 2015 14:05
サンプルコードを動くように整えたもの。
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
@uemuraj
uemuraj / SSLServerSocketSupports.java
Created August 21, 2014 06:07
サーバとして使用可能な SSL 接続パラメータを出力します。
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.Provider;
import java.security.Provider.Service;
import java.security.SecureRandom;
import java.security.Security;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLServerSocket;
@uemuraj
uemuraj / put_attr.h
Created October 13, 2014 06:36
C++ リハビリ勉強中。コンソール出力において属性(文字色や背景色)を指定可能なマニピュレーターを実装してみる。
#pragma once
#include <iostream>
using namespace std;
//
// コンソール出力において属性(文字色や背景色)を指定可能なマニピュレーターを実装します。
//
@uemuraj
uemuraj / javase-checksum.groovy
Last active August 29, 2015 14:07
Java SE のチェックサムのページを md5sum コマンド用ファイルに変換する
def pattern = ~/<td>(?<filename>((jdk)|((server-)*jre))-.+)<\/td><td>(?<checksum>\p{XDigit}+)<\/td>/
args.each {
def url = new URL(it)
def out = new File(new File(url.path).name.replaceFirst(/\.html$/, '.txt'))
url.eachLine {
def matcher = pattern.matcher(it)
@uemuraj
uemuraj / hello.js
Last active August 29, 2015 14:10
PhantomJS のテスト用に作成。特に意味なし。
var page = require('webpage').create();
page.open('http://www.oracle.com/technetwork/java/javase/downloads/index.html', function() {
var links = page.evaluate(function() {
var buffer = [];
for (var i = 0; i < document.links.length; i++) {
buffer[i] = document.links[i].href;
@uemuraj
uemuraj / setenv
Created March 25, 2015 04:36
Amazon EC2 API Tools を使用する時の環境変数の設定、覚え書き
#!/bin/bash
export AWS_ACCESS_KEY=XXXXXXXXXXXXXXX
export AWS_SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export EC2_HOME=/opt/ec2-api-tools-1.7.3.0
export EC2_URL=ec2.ap-northeast-1.amazonaws.com
export PATH=$PATH:/opt/ec2-api-tools-1.7.3.0/bin
# プロキシが必要なら...
export "EC2_JVM_ARGS=-Dhttp.proxyHost=xxxxx -Dhttp.proxyPort=9999 -Dhttps.proxyHost=xxxxx -Dhttps.proxyPort=9999"