Skip to content

Instantly share code, notes, and snippets.

View akr4's full-sized avatar

UEDA Akira akr4

  • Tokyo, Japan
View GitHub Profile
@akr4
akr4 / gist:978105
Created May 18, 2011 06:57
jquery-ui.dialog のタイトルバーを非表示にする
.ui-dialog-titlebar {
display: none;
}
@akr4
akr4 / gist:1094761
Created July 20, 2011 11:00
Scala 練習問題 #daimonscala
import scala.annotation.tailrec
class StringSupport(s: String) {
def reverseOrder: String = s.toList.foldLeft(Nil: List[Char])((result, c) => c :: result).mkString
def reverseCase: String = s.toList.foldRight(Nil: List[Char])((c, result) => c match {
case c if c.isUpper => c.toLower :: result
case c if c.isLower => c.toUpper :: result
case c => c :: result
}).mkString
@akr4
akr4 / gist:1151256
Created August 17, 2011 10:12 — forked from seratch/gist:1149214
S-99 blank
// *** S-99: Ninety-Nine Scala Problems ***
// http://aperiodic.net/phil/scala/s-99/
//
// wget http://www.scala-tools.org/repo-releases/org/scalatest/scalatest_2.9.0-1/1.6.1/scalatest_2.9.0-1-1.6.1.jar
// scala -cp scalatest-*.jar s99.scala
import org.scalatest.matchers.ShouldMatchers._
// P01: Find the last element of a list.
def last[T](list: List[T]): T = { // TODO }
@akr4
akr4 / gist:1167075
Created August 24, 2011 01:11
JPA で大きなデータをループする。あとセッションキャッシュをなんとかする必要がある。
package akr.emp.service;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
@akr4
akr4 / gist:1183290
Created August 31, 2011 10:52 — forked from seratch/gist:1167860
S-99 P21-P28 blank
// *** S-99: Ninety-Nine Scala Problems ***
// http://aperiodic.net/phil/scala/s-99/
//
// wget http://www.scala-tools.org/repo-releases/org/scalatest/scal.test_2.9.0-1/1.6.1/scalatest_2.9.0-1-1.6.1.jar
// scala -cp scalatest-*.jar s99-21-28.scala
import org.scalatest.matchers.ShouldMatchers._
import scala.annotation._
class NotImplementedYet extends RuntimeException
@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)
}
// 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: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
@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: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) {