Skip to content

Instantly share code, notes, and snippets.

View nicholasren's full-sized avatar

Xiaojun Ren nicholasren

View GitHub Profile
#settings
set :user, 'deployer'
set :domain, ENV['on'] == 'prod' ? '<prod ip>' : '<qa ip>'
set :deploy_to, '/var/www/example.com'
set :repository, 'git@github.com:your_company/sample.git'
set :branch, 'master'
task :provision do
# add nginx repo
#!/usr/bin/env ruby
require "fileutils"
def build_file_content prj_name
<<-EOS
name := \"#{prj_name}\"
version := \"0.1\"
scalaVersion := \"2.10.1\"
def solveRPN(expression: String):String = {
expression.split(" ").foldLeft(List[String]()) {
(stack:List[String], e:String) =>
e match {
case "*" =>
stack match {
case List(z) => List(z)
case x :: y :: ys => (y.toInt * x.toInt).toString :: ys
}
case "+" =>
@nicholasren
nicholasren / blocking-with-future.scala
Created May 11, 2014 10:19
solving nested future problem
val fa = callToRemoteServiceA();
val fb = callToRemoteServiceB();
val fc = callToRemoteServiceC(fa.get());
val fd = callToRemoteServiceD(fb.get());
val fe = callToRemoteServiceE(fb.get());
val executor = new ThreadPoolExecutor(4, 4, 1, TimeUnit.MINUTES, new LinkedBlockingQueue[Runnable]())
@nicholasren
nicholasren / function-as-first-class-citizen.java
Created May 19, 2014 14:51
scala the language matters training
//-------------------------------------------//
// function as parameter java implementation //
//-------------------------------------------//
class UerFetcher implement Callable<User> {
private String userId;
@Autowired
private UserService userService;
@nicholasren
nicholasren / high-order-function.scala
Last active August 29, 2015 14:01
scala the language matters training
//-------------------------------------//
// readFile is a high order function //
// which can take another function //
// as parameter //
//-------------------------------------//
def using[T](f: File)(handler: FileInputStream => T): T = {
val resource = new java.io.FileInputStream(f)
try {
handler(resource)
@nicholasren
nicholasren / function-composition.scala
Last active August 29, 2015 14:01
scala training example- function composition
val userFetcher: String => User = {
//...
}
val commentFetcher: User => List[Comment] = {
//...
}
val userCommentFetcher : String => List[Comment] = userFetcher andThen commentFetcher
@nicholasren
nicholasren / pattern-matching.scala
Created May 19, 2014 15:32
scala training example - pattern matching
case class Option[T]
case class Some(t: T) extends Option[T]
case class None extends Option[T]
val possibleNumber = Some(1)
val numbers = possibleNumber match {
case Some(x) => x
case None => 0
}
@nicholasren
nicholasren / biz-logic-in.java
Last active August 29, 2015 14:01
scala training example - monad
//in post controller
User user = null;
try {
user = userService.findById(userId)
} catch (UserNotFoundException e) {
throw //handling exception
}
@nicholasren
nicholasren / duck-typeing.scala
Created May 20, 2014 01:08
scala training example - structural types
trait Quack {
this: { def quack(): Unit } =>
}
class Duck extends Quack {
def quack() = {
println("Quack, Quack...")
}
}