Skip to content

Instantly share code, notes, and snippets.

View akr4's full-sized avatar

UEDA Akira akr4

  • Tokyo, Japan
View GitHub Profile
lazy val slopeOne = new RecommenderBuilder {
def buildRecommender(model: DataModel) = new SlopeOneRecommender(model)
}
val model = new FileDataModel(new File("data/ml-100k/ua.base"))
@akr4
akr4 / gist:1480650
Created December 15, 2011 10:32
netty WordCount Server https://gist.github.com/1477900 用の build.sbt
scalaVersion := "2.9.1"
resolvers ++= Seq(
"jboss.org" at "http://repository.jboss.org/nexus/content/groups/public/"
)
libraryDependencies ++= Seq(
"org.jboss.netty" % "netty" % "3.2.7.Final"
)
@akr4
akr4 / gist:1297970
Created October 19, 2011 10:57 — forked from seratch/gist:1297691
#daimonscala 19-2 "Apache access_log(combined) parser"
object LogParser {
import java.net._
import org.joda.time.DateTime
import org.joda.time.format.DateTimeFormat
case class Access(
ipAddress: InetAddress,
ident: String,
user: String,
@akr4
akr4 / gist:1297895
Created October 19, 2011 10:12 — forked from seratch/gist:1295847
#daimonscala 19-1 "JSON parser"
// obj ::= "{" [members] "}".
// arr ::= "[" [values] "]".
// value ::= obj | arr | stringLiteral | floatingPointNumber | "null" | "true" | "false".
// values ::= value { "," value }.
// members ::= member { "," member }.
// member ::= stringLiteral ":" value.
object Main {
import util.parsing.combinator._
@akr4
akr4 / gist:1286364
Created October 14, 2011 06:02
useragentutils example
public class UserAgent {
private nl.bitwalker.useragentutils.UserAgent ua;
private UserAgent(nl.bitwalker.useragentutils.UserAgent ua) {
this.ua = ua;
}
public boolean isFirefox7Plus() {
if (ua.getBrowser().getGroup() == Browser.FIREFOX) {
@akr4
akr4 / gist:1280844
Created October 12, 2011 10:23
hosts parser
import scala.util.parsing.combinator._
/**
* <hosts> ::= { <line> }
* <line> ::= <entry> | [ <comment> ] <eol>
* <entry> ::= <ip-address> <hostnames> [ <comment> ] <eol>
* <ip-address> ::= <ipv4-address> | <ipv6-address>
* <ipv4-address> ::= "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
* <ipv6-address> ::= ...
* <hostnames> ::= <hostname> { <hostname> }
@akr4
akr4 / gist:1247635
Created September 28, 2011 10:49
Scala99 P46, P47, P49, P50
package s99
object P46 {
def and(a: Boolean, b: Boolean): Boolean = a && b
def or(a: Boolean, b: Boolean): Boolean = a || b
def nand(a: Boolean, b: Boolean): Boolean = ! and(a, b)
def xor(a: Boolean, b: Boolean): Boolean = or(a, b) && !and(a, b)
def nor(a: Boolean, b: Boolean): Boolean = ! or(a, b)
def impl(a: Boolean, b: Boolean): Boolean = a
def equ(a: Boolean, b: Boolean): Boolean = a == b
// simple query
db.inTransaction { q =>
q.select("select * from emp") { row =>
User(row.id, row.name)
}
}
// many to one
dbinTransaction {
q => for(p <- q.select("select * from emp limit 3") { r =>
@akr4
akr4 / gist:1183503
Created August 31, 2011 13:09
flatMapSublists?
def flatMapSublists[A,B](ls: List[A])(f: (List[A]) => List[B]): List[B] = {
def sublists[A](ls: List[A]): List[List[A]] = {
ls match {
case Nil => List(List())
case x :: xs => ls :: sublists(xs)
}
}
sublists(ls).flatMap(f)
}