'2019/10/04'에 해당되는 글 2건

  1. 2019.10.04 [펌] quagga bgpd 데몬
  2. 2019.10.04 [scala] jackson, ujson

[펌] quagga bgpd 데몬

Cloud 2019. 10. 4. 13:26



https://www.quagga.net/


Quagga는 Unix 플랫폼, 특히 FreeBSD, Linux, Solaris 및 NetBSD에서 사용되는 OSPFv2, OSPFv3, RIP v1 및 v2, RIPng, BGP-4의 구현을 제공하는 라우팅 소프트웨어이다. Quagga는 Kunihiro Ishiguro가 개발한 GNU Zebra의 포크 버전이다.


Quagga 아키텍처는 기본 데몬 인 zebra로 구성되어 있으며 기본 Unix 커널에 대한 추상화 계층 역할을하며 Unix 또는 TCP 스트림을 통해 Zserv API를 Quagga 클라이언트에 제공합니다. 이러한 Zserv 클라이언트는 일반적으로 라우팅 프로토콜을 구현하고 라우팅 업데이트를 zebra 데몬과 통신합니다. 기존 Zserv 구현은 다음과 같습니다.





https://ixnfo.com/en/setting-up-bgp-in-quagga.html

Posted by 김용환 '김용환'

댓글을 달아 주세요

[scala] jackson, ujson

scala 2019. 10. 4. 11:58


scala 에서 json을 사용할 때 jackson을 바인딩하는 것다..

import java.util.TimeZone

import com.fasterxml.jackson.databind.{DeserializationFeature, ObjectMapper}
import com.fasterxml.jackson.databind.util.StdDateFormat
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper

object JasksonJsonUtil {
val mapper = new ObjectMapper() with ScalaObjectMapper
mapper.registerModule(DefaultScalaModule)
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)

val stdDateFormat = new StdDateFormat()
stdDateFormat.setTimeZone(TimeZone.getDefault)
mapper.setDateFormat(stdDateFormat)

def toJson(value: Object): String = {
mapper.writeValueAsString(value)
}
}


ujson이 좀 나은 것 같다.  


ujson에서는 scala 계에서 유명한 lihaoyi 라이브러리(com.lihaoyi:ujson)를 활용한다.




import org.scalatest.{FunSuite, Matchers}
import java.text.SimpleDateFormat
import java.util.Date

import ujson.Value

class JasksonJsonUtilTest extends FunSuite with Matchers {
test("JacksonJsonUtil.toJson") {
case class Model(name: String, date: Date)
val actual = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ") .parse("2019-10-04T10:14:27.783+0900")
val json: String = JasksonJsonUtil.toJson(Model("expire", actual))
UJson(json).get("date").str should be("2019-10-04T10:14:27.783+0900")
}

case class UJson(jsonString: String) {
val value: Value = ujson.read(jsonString)

def get(keys: String): Value.Value = {
var x = value
keys.split("[.]").foreach { key =>
x = x(key)
}
x
}
}
}


Posted by 김용환 '김용환'

댓글을 달아 주세요