본문 바로가기

scala

scala 로 kafka topic, partition 정보 가져오는 방법 아래 링크에 코드가 정리 되어 있다. https://gist.github.com/starblood/c35a4f70345cbbb5ad20d74d9fbe3f21 더보기
Reactive Manifesto Reactive Programming 이 붐이다. 우리나라는 어떻게 진행되고 있는 지 몰라도 해외에서는 이 패러다임이 대세인 것이다. 특히 미국에서. 오늘은 그래서 이 프로그래밍 패러다임이 도대체 어떤 것을 표방하는 지 알아보도록 하자.일단 google 에서 "Reactive Manifesto" 라는 키워드로 검색을 해보면 아래 사이트가 메인으로 뜬다. http://www.reactivemanifesto.org 해당 사이트에 가보면 "The Reactive Manifesto" 라는 글귀가 보이면서 소개가 나온다.이 사이트에 소개된 글을 한국어로 번역해 보면 나도 도움이 될 거 같아서 번역을 해볼까 한다. (더 좋은 번역이 있거나 제안이 필요할 경우 댓글을 남겨주길 바란다.) 다양한 도메인에서 소트웨어 관.. 더보기
slick 3.x 의 connection 개수 조정하기 Scala 관련 프로젝트를 진행하다가 RDB (Relational Database) 작업을 하기 위해서 Slick 을 많이 사용하는데,Slick 의 connection pooling 기능을 설정하는 방법에 대해서 간단하게 소개하고자 한다. DBCP 와 같은 third-party library 를 사용하는 것도 가능하지만, Slick 3.x 부터는 기본으로 HikariCP 를 사용하도록 변경 되었다. 아래 URL 에서 관련 문서를 살펴보면Slick 의 Database 관련설정 load 아래의 항목을 볼 수 있다.maxConnections (Int, optional, default: numThreads * 5): The maximum number of connections in the pool. 이 변수로 .. 더보기
collection 에서 lazy 방식의 view 를 생성하는 방법 scala 에서는 java 와 마찬가지로 collection 을 생성함과 동시에 메모리에 모든 element 를 올릴 수 있는 방법을 제공한다. 아래의 코드는 바로 그 방법scala> 1 to 10res1: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 아래의 코드는 lazy 방식의 view 를 생성scala> (1 to 10).viewres2: scala.collection.SeqView[Int,scala.collection.immutable.IndexedSeq[Int]] = SeqView(...) 그러므로 Collection type 의 view method 를 호출하게 되면 eager 방식(실행과 동.. 더보기
scala sbt 에서 git branch 표시하기 어떤 개발자가 자신의 sbt console 에 git branch 를 표시하는 방법을 연구해서 공개했다. 아래 링크에서 확인할 수 있다.http://www.whiteboardcoder.com/2016/03/sbt-customize-shell-prompt-with-git.html 아래 그림은 내 sbt console 에 적용된 모습니다.이쁘게 잘 나온다. 더보기
Scala 병렬 계산을 위한 Blitz library Scala 로 병렬 프로그래밍을 하고자 할때, primitive 값들 위주의 parallel operation 을 진행하고자 한다면, scala blitz library 를 사용하는 것이 훨씬 빠르다. import scala.collection.par._ import scala.collection.par.Scheduler.Implicits.global object Blitz extends App { val array = (0 until 100000).toArray // JVM JIT optimization 을 고려하여 충분히 해당 expression 들을 수행한뒤(1000번) body 를 수행 val seqtime = warmedTimed(1000) { array.reduce(_ + _) } val pa.. 더보기
slick maven setting I have been working on developing Database CRUD application in Scala nowadays. As you know, writing CRUD application in Java or Scala is very tedious and needs a lot of boilerplate codes.So before knowing Slick, I have to implement all the DB connection and CRUD codes manually. But, I come to know there is a convenient component called 'Slick' which does such jobs. So I chose Slick for my DB app.. 더보기
scala download Scala 2.10.3 download http://www.scala-lang.org/download/2.10.3.html You can find scala compiler and libraries and documentation. 더보기
Setting up logback in Java and Scala project Logback is promising log library I think, So in this time, I am going to set up logback in Java and Scala project using maven. Setting up logback is quite straitforward and simple. At first, you have to download maven dependencies.Things to remember you have to, org.slf4j library and ch.qos.logback libraries version should match each other. Otherwise, you have error message during executing prog.. 더보기
Coursera Functional Programming Principles in Scala certificate 없는 시간 쪼개어 가며 공부했던 성과를 얻었다.뿌듯하다. 내 자신이 자랑스럽다고 느껴진다. ^^ 다른 분들도 저와 같은 즐거움을 느껴 보시길~ 더보기