Skip to content

Instantly share code, notes, and snippets.

@ikikko
ikikko / gist:13316
Created September 27, 2008 11:46 — forked from szsk/gist:3883
SBM Comments Viewer
// ==UserScript==
// @name SBM Comments Viewer
// @namespace http://white.s151.xrea.com/wiki/index.php?script/SBMCommentsViewer
// @description Show social bookmark's comments at the bottom of your browser.
// @include *
// ==/UserScript==
/*
Last Modified: 2007.11.01
@ikikko
ikikko / Regexp.groovy
Created October 10, 2010 16:24
g100pon #59 正規表現(基本編)
// g100pon #59 正規表現(基本編)
def target = 'The rain in Spain stays mainly in the plain!'
def pattern = /\b\w*ain\b/ // '*ain'で終わる単語
// ========== パターン検索 ==========
// String.eachMatch
def eachMatch = ''
target.eachMatch(pattern) {match ->
eachMatch += match + ' '
@ikikko
ikikko / Ustream.groovy
Created October 10, 2010 18:47
g100pon #8 Ustream API
// g100pon #8 Ustream API
// Ustream Developer Network : http://developer.ustream.tv/
// 本来なら http://developer.ustream.tv/apikey/generate で
// APIキーを取得する必要があるはずだが
// キーを指定しなくともAPIを使用することができた
def key = 'yourDevKey'
// Ustream APIのパラメータ
def format = 'xml' // [ xml | json | html | php ]
@ikikko
ikikko / ClassLoader.groovy
Created October 11, 2010 04:26
g100pon #95 クラスパスの動的な変更
// g100pon #95 クラスパスの動的な変更
// 追加したいJarファイルとクラス名を指定する
def jarName = '*****.jar'
def className = '*****'
def loader = this.class.classLoader.rootLoader
loader.addURL(new File(jarName).toURL())
loader.URLs.each{ println it }
@ikikko
ikikko / OperatorOverload.groovy
Created October 11, 2010 04:56
g100pon #63 演算子オーバーロード
// g100pon #63 演算子オーバーロード
// 文字列の'+'でも数値とみなして加算するためのカテゴリ
class StringCalculationCategory {
static def plus(String self, String operand) {
try {
return self.toInteger() + operand.toInteger()
} catch (NumberFormatException e) {
return (self << operand).toString()
}
@ikikko
ikikko / pom.xml
Created January 16, 2011 18:54
slim3 archetype +alpha
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ikikko</groupId>
<artifactId>guestbook-ajax</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<properties>
<slim3.version>1.0.6</slim3.version>
<appengine.version>1.4.0</appengine.version>
<generated.src>.apt_generated</generated.src>
@ikikko
ikikko / RepoArtifactExtractorScript.groovy
Created January 19, 2011 16:49
Mavenリポジトリのアーティファクトを抽出します http://d.hatena.ne.jp/ikikko/20110101/1293905247
@Grab(group='net.sourceforge.nekohtml', module='nekohtml', version='1.9.14')
@GrabExclude(group='xml-apis', module='xml-apis')
@GrabConfig(systemClassLoader=true)
@Grab(group='org.apache.poi', module='poi', version='3.7')
import org.apache.poi.hssf.usermodel.HSSFWorkbook
import org.apache.poi.ss.usermodel.CellStyle
import org.apache.poi.ss.usermodel.Font
import org.apache.poi.ss.usermodel.Hyperlink
@ikikko
ikikko / WordFooterConverter.groovy
Created February 24, 2011 01:46
Wordのヘッダ・フッタを複数ファイル一括変更します
@Grab(group='org.codehaus.groovy.modules.scriptom', module='scriptom', version='1.6.0')
@Grab(group='org.codehaus.groovy.modules.scriptom', module='scriptom-office-2K3-tlb', version='1.6.0')
import org.codehaus.groovy.scriptom.*
import org.codehaus.groovy.scriptom.tlb.office.word.*
def docDir = 'C:/Documents and Settings/ikikko/workspace/WordFooterConverter/doc'
def headerText = '【へっだーのてきすと】'
def footerText = '【ふったーのてきすと】'
@ikikko
ikikko / ReplaceJenkinsSetting.groovy
Created March 1, 2011 10:17
Jenkins上のAntプロパティを一括置換します
def VIEW = 'XXXXXXXX'
def REPLACE = 'XXXXXXXXX'
// ジョブ群
def items = hudson.model.Hudson.instance.getView(VIEW).items
items.each {
print "${it.name} : "
// ビルド環境 > Configure release build
@ikikko
ikikko / BacklogApiClient.groovy
Created March 20, 2011 18:55
Backlog APIのGroovyクライアントサンプルです。
@Grab(group='org.codehaus.groovy', module='groovy-xmlrpc', version='0.7')
@Grab(group='jivesoftware', module='smack', version='3.1.0')
import groovy.net.xmlrpc.XMLRPCServerProxy
// 設定内容
def SPACE = 'demo'
def USER_ID = 'demo'
def PASSWORD = 'demo'