Skip to content

Instantly share code, notes, and snippets.

@nobeans
nobeans / test1.groovy
Last active December 19, 2015 23:59
G*Workshop/MOP #jggug
String.metaClass.getLanguage = { "Groovy" }
String.metaClass.getLang = { "Groovy" }
assert "JGGUG".language == "Groovy"
assert "JGGUG".lang == "Groovy"
@taichi
taichi / Archives.groovy
Last active December 17, 2015 17:19
wildfly alpha1 + arquillian-remote + arquillian-managed on Gradle without maven resolver. production codes are java and test codes are groovy.
package jp.example
import jp.example.ExampleApplication
import jp.example.log.Debug
import org.jboss.shrinkwrap.api.ShrinkWrap
import org.jboss.shrinkwrap.api.asset.ClassLoaderAsset
import org.jboss.shrinkwrap.api.spec.WebArchive
import com.google.common.collect.ObjectArrays
@Grapes([
@Grab('org.spockframework:spock-core:0.7-groovy-2.0'),
@GrabExclude('org.codehaus.groovy:groovy-all')])
import spock.lang.*
class HelloSpock extends Specification {
def "おーるどどーなってんの?"() {
setup:
def list = [1, 2, 3]
@yujiorama
yujiorama / gist:5558689
Last active December 17, 2015 05:29
Compile-time Metaprogramming - AST Transformation (http://docs.codehaus.org/display/GROOVY/Compile-time+Metaprogramming+-+AST+Transformations) 勝手訳です。

AST 変換

新たなフィーチャーを実装するために Groovy の構文を拡張する、ということがよいアイデアに思えることもある (複数回の代入がいい例だ)。 だけど、ほとんどの場合文法規則にキーワードを追加することはできないし、新しい概念を表現するための構文を作ることもできない。 でも AST 変換を使えば文法規則を変えることなく革新的なアイデアに挑戦することができる。

Groovy コンパイラが Groovy スクリプトや Groovy クラスをコンパイルするとき、ソースコードはいくつかの過程を経てメモリ上に完全構文木 (Concrete Syntax Tree) を構築してそれを抽象構文木 (Abstract Syntax Tree) に変換する。 AST 変換はコンパイルプロセスによって AST がバイトコードに翻訳される前に開発者が介入できるようにするためのものだ。

AST 変換によって非常に柔軟で強力で実行時性能のペナルティの無いコンパイル時メタプログラミングが言語レベルで可能になった。

@nobeans
nobeans / build.gradle
Last active December 16, 2015 14:29 — forked from vvakame/build.gradle
import groovy.xml.MarkupBuilder
apply plugin: "java"
apply plugin: "war"
apply plugin: "eclipse"
// maven-publish, maven2Gradle, build-dashboard
// checkstyle, findbugs, jdepend, pmd
@studio3104
studio3104 / ProvisioningFrameworksCasualTalks01.md
Last active December 16, 2015 10:08
Provisioning Frameworks Casual Talks vol.1

Provisioning Frameworks Casual Talks vol.1

ChefとかPuppetとかの勉強会です
次回があるかはわかりませんが、今回はChef成分多めになっております

インターネット情報

Twitterハッシュタグ #pfcasual
IRCチャンネル #chef-casual@freenode

mocha.sinon = {
test: function(fn) {
var sandbox = sinon.sandbox.create();
if (fn.length >= 2) {
return function(done) {
var origOnError = window.onerror;
window.onerror = function() {
sandbox.restore();
@japboy
japboy / jade-ftw.md
Last active October 23, 2023 11:18
Jade について。

Jade FTW

こんにちは。今回は現実逃避を兼ねて Jade の素晴らしさをお伝えしたいと思います。

Jade とは何か

[Jade][0] は JST (JavaScript Templates) の一つであり、HTML を書くための[軽量マークアップ言語][1] である [Haml][2] に影響を受けた JavaScript テンプレートエンジンでもあります。

@okapies
okapies / promises-are-functional.md
Last active August 14, 2023 11:44
翻訳: ”命令型のコールバック、関数型のプロミス: Node が逸した最大の機会” by James Coglan

命令型のコールバック、関数型のプロミス: Node が逸した最大の機会

Original: "Callbacks are imperative, promises are functional: Node's biggest missed opportunity" by James Coglan

Translated by Yuta Okamoto (@okapies)

Note

  • 訳者は JavaScript や Node.js に関する専門知識がほとんどありません。識者のツッコミをお待ちしております。「◯◯が分からない」等も歓迎です。
  • 元記事から構成を一部変更しています。また、関数型プログラミングに関する記述のうち、議論の骨子に絡まないものは省略しています。
@yamashiro
yamashiro / matome.md
Last active December 15, 2015 08:29
java-ja.ddd の資料、ブログ記事などのまとめ