Skip to content

Instantly share code, notes, and snippets.

View nobusue's full-sized avatar

Nobuhiro Sue nobusue

View GitHub Profile
@nobusue
nobusue / build.gradle
Created May 3, 2014 15:41
Gradle SSH Pluginをオフラインで利用する(Fabricぽいことしたい) ref: http://qiita.com/nobusue/items/e93e928b937c5c8eb4e6
remotes {
localhost {
host = 'localhost'
user = System.properties['user.name']
identity = file("${System.properties['user.home']}/.ssh/id_rsa")
}
}
task showPlatformVersion(type: SshTask) {
session(remotes.localhost) {
@nobusue
nobusue / native2ascii_imperfect.gradle
Created July 21, 2014 16:39
Gradleでのnative2asciiの代替(不完全版)
/* 行末に特定の日本語文字があると文字化けしてしまう・・残念 */
import org.apache.tools.ant.filters.EscapeUnicode
apply plugin: 'java'
processResources {
include '**/*.properties'
filter{ String line ->
//byte[] bytes = line.getBytes()
@nobusue
nobusue / gist:823fbebf56205d89de31
Created December 29, 2014 08:50
Gradle Tomcat Plugin利用サンプル(Gradle徹底入門より)
// build.gradle: Gradle2.2.1で稼働確認ずみ
// (1) Tomcatプラグイン利用のための設定
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-tomcat-plugin:2.0'
}
}
@nobusue
nobusue / CassandraInsertAndSelect.groovy
Created May 4, 2015 03:01
Cassandra Java Driverでデータのinsertとselectを行う
@Grapes(
@Grab(group='com.datastax.cassandra', module='cassandra-driver-core', version='2.1.5')
)
import com.datastax.driver.core.*
def cluster = Cluster.builder().addContactPoint('127.0.0.1').build()
def session = cluster.connect()
session.execute("INSERT INTO first_keyspace.first_table (name, value) VALUES ('foo', 'bar');");
session.execute("INSERT INTO first_keyspace.first_table (name, value) VALUES ('gee', 'baz');");
@nobusue
nobusue / ShowCassandraMetadata.groovy
Created May 4, 2015 02:41
localhostのCassandraにJava Driverで接続してクラスタ名やホスト名を取得
@Grapes(
@Grab(group='com.datastax.cassandra', module='cassandra-driver-core', version='2.1.5')
)
import com.datastax.driver.core.*
def cluster = Cluster.builder().addContactPoint('127.0.0.1').build()
def metadata = cluster.getMetadata()
println "Connected to cluster: ${metadata.getClusterName()}"
@nobusue
nobusue / Hex2BinDec.groovy
Created August 12, 2015 03:00
Groovyで16進->2進/10進変換
groovy -e "def b='10 49 4a 03'; println b.split(' ').collect{ Integer.decode('0x'+it) }.join(' '); println b.split(' ').collect{ Integer.toBinaryString(Integer.decode('0x'+it)).padLeft(8,'0') }.join('_')"
// g100pon #98 DerbyでGroovySQL
import groovy.sql.Sql
import groovy.grape.Grape
Grape.grab(group:'org.apache.derby', module:'derby', version:'[10.5.3,)',
classLoader:this.class.classLoader.rootLoader)
def sql = Sql.newInstance('jdbc:derby:memory:testdb;create=true',
'user', 'password', 'org.apache.derby.jdbc.EmbeddedDriver')
// g100pon #26 文字列を分割してListに変換
assert 'This is a pen'.tokenize() == ['This', 'is', 'a', 'pen']
assert '東京/大阪/名古屋/仙台'.tokenize('/') == ['東京', '大阪', '名古屋', '仙台']
// g100pon #44 DBとテーブル名を引数指定して標準入力から読み取ったCSV/TSVデータをinsert
import groovy.sql.Sql
import groovy.grape.Grape
if(args.size()<2){
println "Usage: groovy Text2DB.groovy <DB> <TABLE> < <CSV|TSV>"
System.exit(1)
}
// g100pon #40 XMLの読み書きを色んな方法で(DOMBuilder->XmlUtil)
import groovy.xml.XmlUtil
import groovy.xml.dom.DOMCategory
import groovy.xml.DOMBuilder
// DOMBuilderを使うとパースが簡単にできる
// パース結果のオブジェクトはDOM
def doc = DOMBuilder.parse(
new InputStreamReader(new FileInputStream('sample.xml'),'UTF-8') )