Skip to content

Instantly share code, notes, and snippets.

@danhyun
danhyun / Reader.java
Last active September 26, 2018 22:38
`Reader` and `TryReader` monads as demonstrated by Mario Fusco (@mariofusco) Devoxx 2015
public class Reader<R, A> {
private final Function<R, A> run;
public Reader(Function<R, A> run) { this.run = run; }
public <B> Reader<R, B> map(Function<A, B> f) {
return new Reader<>( r -> f.apply((apply(r))) );
}
public <B> Reader<R, B> flatMap(Function<A, Reader<R, B>> f) {
@danhyun
danhyun / paths.lua
Created November 6, 2015 16:53
Feed in a csv of host,path entries to wrk2
counter = 1
-- Initialize the pseudo random number generator - http://lua-users.org/wiki/MathLibraryTutorial
math.randomseed(os.time())
math.random(); math.random(); math.random()
function file_exists(file)
local f = io.open(file, "rb")
if f then f:close() end
return f ~= nil
@danhyun
danhyun / helloworld.rb
Last active August 29, 2015 14:27
sinatra vs ratpack
# $ gem install sinatra
require 'sinatra'
get '/hi' do
"Hello World!"
end
@danhyun
danhyun / build.gradle
Created August 11, 2015 22:40
build gradle with git and gradle window setup
apply plugin: 'idea'
idea {
project {
jdkName "1.8"
languageLevel "1.8"
ipr {
withXml { provider ->
def node = provider.asNode()
node.component.find { it.'@name' == 'VcsDirectoryMappings' }?.mapping[0].'@vcs' = 'Git'
@danhyun
danhyun / EmbeddedSpec.groovy
Created July 27, 2015 23:02
Registering Guice Modules via GroovyEmbeddedApp
package ratpack.groovy
import com.google.inject.AbstractModule
import ratpack.groovy.test.embed.GroovyEmbeddedApp
import ratpack.guice.Guice
import spock.lang.Specification
class EmbeddedSpec extends Specification {
def "GroovyEmbeddedApp with Guice Module"() {
given:
@danhyun
danhyun / .bashrc
Created June 24, 2015 15:13
bashrc
export JDK6="/c/Program Files/Java/jdk1.6.0_29"
export JDK7="/c/Program Files/Java/jdk1.7.0_71"
export JDK8="/c/Program Files/Java/jdk1.8.0_25"
export OPENJDK8="/c/Program Files/Java/zulu1.8.0_25-8.4.0.1-win64"
alias java6='export JAVA_HOME="$JDK6";export PATH="$JDK6/bin":$PATH'
alias java7='export JAVA_HOME="$JDK7";export PATH="$JDK7/bin":$PATH'
alias java8='export JAVA_HOME="$JDK8";export PATH="$JDK8/bin":$PATH'
alias zulujava8='export JAVA_HOME="$OPENJDK8";export PATH="$OPENJDK8/bin":$PATH'
@danhyun
danhyun / ratpack.groovy
Created June 23, 2015 17:11
Simple Ratpack Hello World groovy script
@GrabResolver(name="OJO", root="https://oss.jfrog.org/artifactory/repo")
@Grab("io.ratpack:ratpack-groovy:0.9.18-SNAPSHOT")
import static ratpack.groovy.Groovy.ratpack
ratpack {
handlers {
get {
render "Hello, World"
}
}
@danhyun
danhyun / Example1.java
Last active August 29, 2015 14:23
Using sessions in Ratpack - `0.9.17` + `0.9.18-SNAPSHOT`
import ratpack.exec.Operation;
import ratpack.exec.Promise;
import ratpack.guice.Guice;
import ratpack.handling.Context;
import ratpack.session.Session;
import ratpack.session.SessionKey;
import ratpack.session.SessionModule;
import ratpack.test.embed.EmbeddedApp;
import static org.junit.Assert.assertEquals;
@danhyun
danhyun / refactor.java
Last active August 29, 2015 14:20
jdk8 refactor
// before
private String getExpandValuesFromSet (Set<String> valueSet, Boolean surroundValueWithQuotes) {
StringBuilder expansionValuesString = new StringBuilder(" (");
Iterator<String> valueIterator = valueSet.iterator();
if (valueIterator.hasNext()) {
String value = valueIterator.next();
if (surroundValueWithQuotes) {
expansionValuesString.append("'" + value + "'");
@danhyun
danhyun / GraphViz.adoc
Last active August 29, 2015 14:16
GraphViz graph example
digraph git_objects {
     commit -> tree;
     tree -> file1;
     tree -> file2;
     tree -> file3;
     tree -> filen;
}