Skip to content

Instantly share code, notes, and snippets.

@huydx
huydx / lifx.scala
Last active November 10, 2015 10:57
lifx.scala
import java.net.{NetworkInterface, InetAddress, DatagramPacket, DatagramSocket}
object Command {
case class Header(frame: Frame, frameAdress: FrameAddress, protocolHeader: ProtocolHeader, payload: Array[Byte])
case class Frame(size: Short, protocol: Short, addressable: Byte, tagged: Byte, origin: Byte, source: Int) {
val length = 64 //64 bit
}
case class FrameAddress(target: Byte, reserved: Byte, resRequired: Byte, ackRequired: Byte, blank: Byte, sequence: Byte) {
val length = 128 //128 bit
@huydx
huydx / 3nightclubs.scala
Last active August 29, 2015 14:27 — forked from oxbowlakes/3nightclubs.scala
A Tale of 3 Nightclubs
/**
* Part Zero : 10:15 Saturday Night
*
* (In which we will see how to let the type system help you handle failure)...
*
* First let's define a domain. (All the following requires scala 2.9.x and scalaz 6.0)
*/
import scalaz._
import Scalaz._

ActionFunction の紹介

この記事は Play framework Advent Calendar 2014 の7日目です。

昨日は @dorako321 さんの Play framework Advent Calendar 2014 6日目 位置情報を使ってみよう でした。

明日は @nazoking さんの play2.3 の sbt-web を使わず node で代替システムを作るための資料 です。

さて、そんなこんなで公式ドキュメントではまだ語られていない ActionFunction とそのサブトレイトについて紹介したいと思います。 (公式ドキュメントにも記載ありました https://www.playframework.com/documentation/2.3.x/ScalaActionsComposition#Different-request-types )

@huydx
huydx / sample.sbt
Created March 26, 2015 00:37
spray-client-example
name := "akka-train"
version := "1.0"
scalaVersion := "2.10.5"
libraryDependencies ++= {
val sprayVersion = "1.3.1"
val akkaVersion = "2.3.9"
Seq(
@huydx
huydx / foo.rb
Created March 18, 2015 12:10
foo.rb
#read_onlyコラムを追加
class Follow < ActiveRecord::Base
before_update :validate_read_only
before_create :set_read_only
def set_read_only
self.read_only = true
end
@huydx
huydx / interesting.scala
Last active May 12, 2020 05:52
scala interesting code
def twoPermutation[T](l: List[T)) = {
l flatMap { a =>
l flatMap { b =>
if (a==b)
Nil
else
List(a,b)
}
}
}
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKNgqnckJvQhAWY4LUmgxFoYzbY4bpjzb5qWPZ6CXN8VLr6c9/d6/AgGxx5gluYJkQZxuNdu+n7Dmn3K9zvMy4TkE5JppjIXEOuhsy4XApCkyDzlparuUNwqLs4H41Mb4d6nbSvIPIrVwmY60vjlbZBAo2qq44tVNYPWKPkbszunzx3YeFXNEpFlJwB+gCEcmxef+DtAsYJHQb8Iso+Kc3yxXfQOghcRy+Cd1kNHebATvGhwsxN4eXq8qtQLMv6l8CUHp99RGnliZQRzIAc8WPSS1XJCa7OSoQnB9SDeV3UZhvht4RDoSQCHjrW/NmlOYXgFq++0JWO+fKJ92MXV3R a13737@PC-5765
@huydx
huydx / ngg.js
Created January 5, 2015 11:30
ngg.js
function trace() {
"use strict";
var a = window.env || window.setting.env;
if ("STAGING" !== a && "PRODUCT" !== a) {
for (var b = [], c = 0; c < arguments.length; c++) b.push(arguments[c]);
window.console.log(b)
}
}! function() {
"use strict";
var a = new UAParser,
@huydx
huydx / sample.html.erb
Created December 8, 2014 10:27
sample.html.erb
<div ng-controller="BigScope">
<div class="a1">
</div>
.....
.....
<div class="a2">
@huydx
huydx / gist:6413251aa035f5ff2a8a
Last active August 29, 2015 14:09
Job Ready Tshirt
1- huydx M