Xiaojun Ren nicholasren
-
ThoughtWorks
- Melbourne, Australia
- Sign in to view email
- http://nicholas.ren
View range_of.py
#!/usr/bin/env python | |
# range_of.py 10.0.0.0/8 | |
import sys | |
# Get address string and CIDR string from command line | |
(addrString, cidrString) = sys.argv[1].split('/') | |
# Split address into octets and turn CIDR into int | |
addr = addrString.split('.') |
View push_daemon_v1.java
package com.thoughtworks; | |
import org.apache.http.HttpEntity; | |
import org.apache.http.client.HttpClient; | |
import org.apache.http.client.methods.HttpPost; | |
import org.apache.http.entity.StringEntity; | |
import org.apache.http.impl.client.HttpClients; | |
import java.io.IOException; | |
import java.lang.String; |
View realtime-searching.scala
package actors | |
import akka.actor._ | |
import scala.concurrent.{Future, ExecutionContext} | |
import scala.concurrent.duration._ | |
import ExecutionContext.Implicits.global | |
import java.io.{PrintWriter, FileOutputStream} | |
import rx.lang.scala.Observable | |
import rx.lang.scala.Observable._ |
View Duplication.java
import java.util.Arrays; | |
import java.util.List; | |
import java.util.function.BinaryOperator; | |
public class Duplication { | |
public static void main(String[] args) { | |
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); | |
Integer product = Math2.sum(numbers); | |
System.out.println(product); | |
} |
View duck-typeing.scala
trait Quack { | |
this: { def quack(): Unit } => | |
} | |
class Duck extends Quack { | |
def quack() = { | |
println("Quack, Quack...") | |
} | |
} |
View biz-logic-in.java
//in post controller | |
User user = null; | |
try { | |
user = userService.findById(userId) | |
} catch (UserNotFoundException e) { | |
throw //handling exception | |
} |
View pattern-matching.scala
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 | |
} |
View function-composition.scala
val userFetcher: String => User = { | |
//... | |
} | |
val commentFetcher: User => List[Comment] = { | |
//... | |
} | |
val userCommentFetcher : String => List[Comment] = userFetcher andThen commentFetcher |
View high-order-function.scala
//-------------------------------------// | |
// 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) |
View function-as-first-class-citizen.java
//-------------------------------------------// | |
// function as parameter java implementation // | |
//-------------------------------------------// | |
class UerFetcher implement Callable<User> { | |
private String userId; | |
@Autowired | |
private UserService userService; | |
NewerOlder