Skip to content

Instantly share code, notes, and snippets.

View yangbajing's full-sized avatar

Yang Jing yangbajing

View GitHub Profile
@yangbajing
yangbajing / PlayJsonTest.scala
Last active August 29, 2015 14:20
Play Json: Json.writes[T] 和 Json.obj 对 Option 的处理不一致
import org.scalatest.{ShouldMatchers, FunSpec}
import play.api.libs.json.Json
case class A(a: String, b: Option[String], c: Option[Int])
class PlayJsonTest extends FunSpec with ShouldMatchers {
implicit val __aWrites = Json.writes[A]
val result = """{"a":"a","c":1}"""
@yangbajing
yangbajing / document.detail.httl
Created December 11, 2014 07:08
#macro外面 #set 的变量在#macro内部读不到。
${extends("/_layout.httl")}
<!--#set(DocumentBean document)-->
<!--#macro(title)-->${document.title}&nbsp;-&nbsp;<!--#end-->
<!--#macro(main)-->
<div class="container">
<div class="row">
@yangbajing
yangbajing / WeixinQyClient.scala
Created December 9, 2014 15:11
spray-client示例
package net.yangbajing.weixin.qy.client
import java.lang.reflect.InvocationTargetException
import akka.actor.ActorRefFactory
import akka.util.Timeout
import com.typesafe.scalalogging.StrictLogging
import net.yangbajing.weixin.qy.message._
import net.yangbajing.weixin.qy.util.WeixinQYConf
import net.yangbajing.weixin.util._
@yangbajing
yangbajing / SessionMaster.scala
Created November 26, 2014 06:04
Session实现
package supermarket.site.services.session
import java.util.UUID
import java.util.concurrent.TimeUnit
import akka.actor.{Actor, Props, Terminated}
import akka.pattern.ask
import akka.util.Timeout
import com.typesafe.scalalogging.StrictLogging
import org.joda.time.DateTime
@yangbajing
yangbajing / gist:6128521
Last active December 20, 2015 12:09
使用lift restful 实现资源下载功能
package com.cqccn.iams.server
import java.util.Locale
import org.joda.time.{DateTimeZone, DateTime}
import org.joda.time.format.DateTimeFormat
import net.liftweb.common.Full
import net.liftweb.http.rest.RestHelper
import net.liftweb.http._
@yangbajing
yangbajing / gist:6128519
Created August 1, 2013 04:59
使用lift restful 实现资源下载功能
package com.cqccn.iams.server
import java.util.Locale
import org.joda.time.{DateTimeZone, DateTime}
import org.joda.time.format.DateTimeFormat
import net.liftweb.common.Full
import net.liftweb.http.rest.RestHelper
import net.liftweb.http._
@yangbajing
yangbajing / gist:6128454
Last active December 20, 2015 12:09
在 try finally 的finally块中访问try中定义变量的一种变通方式。
package demo
import java.io.{IOException, FileOutputStream}
object TryCatchFinally {
def trying[T, R](
in: => T,
func: T => R,
catchFunc: Throwable => R,
finallyFunc: T => Unit): R = {
package yangbajing.util.time
object Demo extends App {
val calendar = YCalendar(LocalDate.now.minusMonths(1))
for (month <- calendar.calendarFull) {
for (week <- month) println(week.mkString(" "))
println("----------------------------------------")
}
@yangbajing
yangbajing / gist:5369770
Last active December 16, 2015 03:29
tomcat jdbc poll
package yangbajing.persistence
import org.apache.tomcat.jdbc.pool.{PoolProperties, DataSource}
object JdbcDataSource {
def tomcat(
url: String,
driverClassName: String,
username: String,
@yangbajing
yangbajing / gist:5369719
Last active December 16, 2015 03:28
为squeryl 添加joda的DateTime和LocalDate支持。(注:version 0.9.6)
package yangbajing.persistence
import scala.language.implicitConversions
import java.sql.Timestamp
import org.joda.time._
import org.squeryl._
import org.squeryl.dsl._