본문 바로가기 메뉴 바로가기

HAMA 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

HAMA 블로그

검색하기 폼
  • 전체 (687)
    • 주인장 (9)
    • 잡동사니 (2)
    • 소프트웨어 사색 (81)
    • Rust (0)
    • tech shard (비공개) (0)
    • 그래픽스 (3)
    • 데브옵스 (5)
    • 데이터 가시화 (d3.js , Plotly, Gr.. (18)
    • 디자인패턴 (10)
    • 무들 (moodle) (17)
    • 보안 (6)
    • 뱅킹 & PG (5)
    • 블록체인 (55)
    • 알고리즘,자료구조 (4)
    • 서버 &컨테이너 & 도커등 (2)
    • 오픈소스, 미들웨어 (9)
    • 임베디드 (4)
    • 인터프리터 (4)
    • 하이브리드앱 (9)
    • 아이폰 (IOS) (10)
    • 안드로이드 (14)
    • 운영체제 (1)
    • 아마존 AWS & 클라우드 (5)
    • 테스트 (1)
    • 통계 & 머신러닝 & 딥러닝 (39)
    • Angular & React (3)
    • Akka (27)
    • CUDA (1)
    • Flask (5)
    • Go (17)
    • HAMA (3)
    • Hadoop (7)
    • Haskell (1)
    • IoT (32)
    • IoT 데이터 분석 (NILM) (10)
    • IoT 전기자동차 (4)
    • IDE & 기타 툴(tool) (3)
    • Javascript (12)
    • Java (31)
    • Kotlin (10)
    • Math (1)
    • Netty, Java IO (8)
    • Network (7)
    • NoSQL (7)
    • Node.js (1)
    • OpenMP,PPL (4)
    • OpenCV, Halcon (1)
    • OpenGL , WebGL (0)
    • PlayFramework2 (35)
    • Amp,CUDA,OpenCL,TensorFlow (1)
    • Python (37)
    • RDBMS (PostgreSQL) (11)
    • Scala (51)
    • Spark (5)
    • Spring (9)
    • UI , UX 디자인 (6)
    • VTK (1)
    • Vert.x (13)
    • WAS & 웹서버 (3)
    • Zookeeper (2)
    • C++ (비공개) (4)
      • 문법 (1)
      • TR1 (0)
      • Algorithm (0)
      • container (0)
      • Date Time (0)
      • Exception (0)
      • FileSystem (0)
      • Flyweight (0)
      • function (0)
      • Functor & binder (0)
      • Geometry (0)
      • Graph (0)
      • IO Stream (0)
      • InterProcess (0)
      • Interator (0)
      • Lamda (0)
      • Localization & UTF-8 (0)
      • log (0)
      • Math, numeric (0)
      • memory&pool (0)
      • meta class (0)
      • metwork & ASIO (0)
      • PropertyTree (0)
      • Regex (0)
      • Signal (0)
      • Singleton_template (0)
      • smartptr (0)
      • speed (0)
      • spirit (0)
      • string (0)
      • system (0)
      • thread & concurrent (0)
      • tokenizer (0)
      • util (0)
      • Timer (0)
    • Meeting (0)
    • OpusM (0)
  • 방명록

전체 (688)
[코틀린 코딩 습작] Tuple

class Tuple(vararg elements: Any) { val elements: Array init { this.elements = elements as Array } fun get(index: Int): Any { return elements[index] } fun size(): Int { return elements.size } override fun hashCode(): Int { return Arrays.deepHashCode(elements) } override fun equals(o: Any?): Boolean { if (this === o) return true if (o == null || javaClass != o.javaClass) return false val other = ..

Kotlin 2021. 6. 7. 11:51
[코틀린 코딩 습작] Visitor

상황은 다음과 같다. 어느 온라인서점에는 멤버별로 금,은,동의 등급이 있으며, 각 멤버에게 등급별로 베네핏을 주려고 하며, 베네핏의 종류는 A,B,C가 있다. 멤버는 각 베네핏을 모두 합친 만큼의 베네핏을 받을 수 있다. 원래 베네핏에 대한 로직은 더 복잡해 질 수 있지만, 예제에서는 10,20,30점으로 굉장히 단순화 하였다. code1) enum class GRADE { BRONZE, SILVER, GOLD } class Member(val grade: GRADE) { fun calcBenefit(): Int { var total = 0 when(grade) { GRADE.BRONZE -> { // discount benefit total += 10 // coupon benefit total += 2..

Kotlin 2021. 5. 20. 14:35
[코틀린 코딩 습작] Intercepting Fillter

컨베이어 공장에서 자동차가 완성 될 때 단계별로 조금씩 완성되어 가는 모습을 볼 수 있다. 이런 비슷한 경우는 소프트웨어 개발에서도 흔하며, 그 결과로 관련 패턴들도 매우 다양하게 있지다. Gof의 Chain of Responsibility패턴은 모든 과정을 거치는게 아니라, 처리 할 수 있으면 처리하고, 못하면 다음 녀석에게 넘기는 "의도"를 말한다. 그리고 이 글의 제목이기도 한 Intercepting Filter의 경우는 (웹개발자 라면 친숙한 HTTP가 호출되어서 최종 컨트롤러 까지 갔다가[inbound], 다시 HTTP리턴을 해주는[outbound] 모습을 상상해 보자) 단계별로 모든 처리를 진행해서 타겟까지 호출되고, 타겟에서 최종 처리된 결과를 역순의 단계로 다시 돌아오는 모형에서 중간 중간..

Kotlin 2021. 5. 15. 19:10
[코틀린 코딩 습작] Annotation & Reflection

Dynamic Proxy & Reflection 1 class Tuple3 (val name:String, val age: Int, val rate: Double){ fun size(): Int { return 3 } fun getValue(index: Int): Any?{ return when(index) { 0 -> name 1 -> age 2 -> rate else -> null } } } class RemoteService{ fun action(req: Any?): Tuple3 { //do something return Tuple3("tom", 1, 1.2) } } /// data class Row(val name: String, val age: Int, val rate: Double) inter..

Kotlin 2021. 5. 15. 19:08
[코틀린 코딩 습작] Future

import jdk.nashorn.internal.ir.Block import java.util.concurrent.locks.ReentrantLock import kotlin.concurrent.thread import kotlin.concurrent.withLock class Future { lateinit var result: String var isDone = false val lock = ReentrantLock() val condition = lock.newCondition() fun get() : String { if(isDone) return result // (1) lock.withLock { condition.await() } return result } fun set(result: S..

Kotlin 2021. 5. 15. 19:06
[코틀린 코딩 습작] Double Dispatch

interface Account { } class EthreumAccount(val gas: Int) : Account{ } class FabricAccount(val org: String) : Account { } class BlockChain(val networks : Map) { fun send(account: Account) { when(account) { is EthreumAccount -> { val gas = account.gas val network = networks.get("eth") println("send to ${network} with gas: ${gas}") } is FabricAccount -> { val org = account.org val network = network..

Kotlin 2021. 5. 15. 19:05
[코틀린 코딩 습작] recursive types bound

아래와 같은 이런 타입 시그니처 본 적이 있나요? Entity 처음 이런 모습을 보았을때, "머야 이 퐝당한 코드" 같은 생각이 드는건 어쩌면 당연합니다. 그리고 이것에 대해 알아 보기 위해 구글링등을 하기 시작 했을테고, 결국 이 블로그를 찾아 왔을 지도 모르겠네요. 그렇다면 잘 찾아 왔습니다. 도대체 이것은 뭘 까요? 보통 우린 interface Entity이 정도로만 써 왔지 않습니까? 하지만 알고보면 매우 간단하니깐 겁먹지 말고 , 간단한 예를 통해서 이해해 봅시다. 이것을 이해하기 위한 기본적인 부분들도 설명을 하니깐 걱정마세요. 1. 인터페이스 먼저 코틀린에서의 인터페이스를 살펴 봅시다. interface MyInterface { fun bar() } 일반적으로 내용이 없는 메소드들을 선언합니..

Kotlin 2021. 5. 11. 10:37
InfluxDB , Telegraf, Grafana 모니터링 설치 (2021년 8월기준)

* 해당 글은 리눅스 기준 입니다. (CentOS 7버전, Ubuntu18에서 잘됨) InfluxDB 2.x 설치 (docs.influxdata.com/influxdb/v2.0/get-started/?t=Linux) 아래 2가지 방식 중에 패키지로 서비스로 시작하는것을 추천한다. 파일로 받아서 실행 하기) curl -s https://repos.influxdata.com/influxdb2.key | gpg --import - wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.4-linux-amd64.tar.gz 3. tar xvzf influxdb2-2.0.4-linux-amd64.tar.gz 4. cd influxdb2-2.0.4-linux..

데이터 가시화 (d3.js , Plotly, Grafana, Kibana 등) 2021. 3. 9. 10:58
이전 1 2 3 4 5 6 ··· 86 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • play 강좌
  • Play2 로 웹 개발
  • Hyperledger fabric gossip protocol
  • hyperledger fabric
  • CORDA
  • 스칼라
  • 이더리움
  • 플레이프레임워크
  • 파이썬 머신러닝
  • 스칼라 동시성
  • 파이썬
  • 블록체인
  • 주키퍼
  • 엔터프라이즈 블록체인
  • 스칼라 강좌
  • Play2
  • 하이브리드앱
  • 스위프트
  • Actor
  • Akka
  • 하이퍼레저 패브릭
  • akka 강좌
  • 그라파나
  • Golang
  • 파이썬 강좌
  • play2 강좌
  • 파이썬 동시성
  • Adapter 패턴
  • 안드로이드 웹뷰
  • 파이썬 데이터분석
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바