Skip to content

Instantly share code, notes, and snippets.

@ryoppy
ryoppy / git_branch_sort_by_update_time.sh
Last active August 29, 2015 13:55
ブランチを更新日時順に並べるワンライナー。git branch sort by update time.
for cid in $(git branch -av | grep -v "> origin" | awk '{print $2}'); do; git show --pretty="%ct@%cn@%s" $cid | head -1; done | sort | gawk -F "@" '{print strftime("%c", $1) " : " $2 " : " $3}'
@ryoppy
ryoppy / gulpfile1.coffee
Last active August 29, 2015 14:05
coffee, stylus, livereload
gulp = require('gulp')
coffee = require('gulp-coffee')
stylus = require('gulp-stylus')
nib = require('nib')
livereload = require('gulp-livereload')
wait = require('gulp-wait')
paths =
coffee:
in : ['js/**/*']
@ryoppy
ryoppy / gulpfile2.coffee
Last active August 29, 2015 14:05
coffee, file-include, watch (could be resolved an unexpected react)
gulp = require('gulp')
fileinclude = require('gulp-file-include')
coffee = require('gulp-coffee')
runSequence = require('run-sequence')
app = 'app'
paths =
fileinclude:
in : ["#{app}/**/*.coffee", "!#{app}/.tmp"]
def interval2seq(in: Interval): Seq[DateTime] = {
@tailrec
def f(t: DateTime, acum: Seq[DateTime]): Seq[DateTime] = if (in.contains(t)) f(d.plusDay(1), t +: acum) else acum.reverse
f(in.start, Nil)
}
@ryoppy
ryoppy / transform.scala
Last active August 29, 2015 14:06
play2 scala form
"foo" -> mapping(
"msg" -> text.transform[String](toLF, identity)
)(Foo.apply)(Foo.unapply)
def toLF(a: String): String = a.replaceAll("(\r\n|\r)","\n")
trait Foo[T] {
def bar(list: Seq[T]): Unit
}
object Foo {
def bar[T: Foo](list: Seq[T]): Unit = implicitly[Foo[T]].bar(list)
implicit val FooInt = new Foo[Int] {
def bar(list: Seq[Int]): Unit = println("Int " + list)
}
implicit val FooDouble = new Foo[Double] {
@ryoppy
ryoppy / not_concurrent.scala
Created December 10, 2014 12:03
並列で動いてない例
scala> def sleep = { Thread.sleep(2000); println("done"); 1 }
sleep: Int
scala> for { a <- Future(sleep); b <- Future(sleep) } yield { println(a + b) }
res19: scala.concurrent.Future[Unit] = scala.concurrent.impl.Promise$DefaultPromise@52621501
scala> done
done
2
scala> class Person
defined class Person
scala> class Bob extends Person
defined class Bob
scala> class Alice extends Person
defined class Alice
scala> class School[+A]
@ryoppy
ryoppy / unit_converter.scala
Created December 14, 2014 11:44
単位変換する何かを作りたかったが、どうも微妙なのでボツ
case class Base(n: BigDecimal) {
def toMicro: Micro = Micro(n * 1000000)
}
case class Micro(n: BigDecimal) {
def toBase: Base = Base(n / 1000000)
}
sealed abstract class Converter[From, To] extends (From => To)
object Converter {
def apply[A, B](a: A)(implicit c: Converter[A, B]): B = c(a)
scala> def fid[F[_], A](a: F[A]): F[A] = a
warning: there was one feature warning; re-run with -feature for details
fid: [F[_], A](a: F[A])F[A]
scala> fid(List(1))
res0: List[Int] = List(1)
scala> fid(Option(1))
res1: Option[Int] = Some(1)