일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Actor
- CORDA
- Hyperledger fabric gossip protocol
- 스칼라 강좌
- Akka
- Play2
- 엔터프라이즈 블록체인
- 하이퍼레저 패브릭
- akka 강좌
- 스위프트
- 파이썬
- play 강좌
- 주키퍼
- 블록체인
- hyperledger fabric
- 안드로이드 웹뷰
- 파이썬 데이터분석
- play2 강좌
- Adapter 패턴
- 스칼라 동시성
- 플레이프레임워크
- 스칼라
- 파이썬 머신러닝
- 하이브리드앱
- 이더리움
- Play2 로 웹 개발
- 그라파나
- 파이썬 동시성
- Golang
- 파이썬 강좌
- Today
- Total
HAMA 블로그
토큰 이코노미와 토큰 디자인 패턴본 패턴들은 블록체인에 대한 깊이 있는 분석과 공유를 하고 있는 서울대학교 디사이퍼 학회의 글을 요약,정리한 글입니다. 한번 훑어 본 후에는 해당 링크로 가서 정독하는 것을 권장합니다. 장,단점 및 더욱 자세하게 나와 있습니다. Means of Exchange Token #1. Payment 패턴 => 토큰을 지불 한 만큼 서비스를 제공 받음. 쿠폰을 주면 만두 서비스 추가~ => 서비스의 성장과 토큰의 가치 성장이 연결되는 방식 => 소비자나 공급자나 토큰을 보유하고 있을 유인이 적다. 예: golem) 분산된 컴퓨팅 자원을 P2P로 공유할 수 있게 해주는 서비스를 제공하는 분산 컴퓨팅 네트워크로써, 이용자는 토큰을 이용하여 자원을 구입하고, 제공자는 그것에 대한 보상을..
하이퍼레저 패브릭 MSP MSP는 하이퍼레저 패브릭에서 각 피어와 사용자에 대한 인증/인가 작업에 대한 추상층입니다. 퍼블릭 블록체인과는 다른 콘소시엄 블록체인에서만 복잡하게 존재하는 모듈로써, 구현하는거 자체도 PKI의 복잡성을 그대로 물려받기 때문에 복잡하지만 실제 콘소시엄 블록체인을 구축하여 조직들간의 거버넌스 정책을 만들어 나가는 프로세스는 더욱 더 복잡하지 않을 까 싶습니다. 즉 새로운 조직을 어떻게 추가시키는지 같은? 현재 대부분의 패브릭 프로젝트에서 설립자 주도적 네트워크 구성을 하고 있는것으로 아는데 (즉 조직간 합의가 필요없음. 그냥 짱이 알아서 하는?) 진짜 조직별로 권한이 균등이 나누어져 있는 네트워크에서의 실제 사용사례에 대한 레퍼런스에 대한 공개가 기대됩니다.이 글에서는 하이퍼레저..
MSP는 하이퍼레저 패브릭에서 각 피어와 사용자에 대한 인증/인가 작업에 대한 추상층입니다. 퍼블릭 블록체인과는 다른 콘소시엄 블록체인에서만 복잡하게 존재하는 모듈로써, 구현하는거 자체도 PKI의 복잡성을 그대로 물려받기 때문에 복잡하지만 실제 콘소시엄 블록체인을 구축하여 조직들간의 거버넌스 정책을 만들어 나가는 프로세스는 더욱 더 복잡하지 않을 까 싶습니다. 즉 새로운 조직을 어떻게 추가시키는지 같은? 현재 대부분의 패브릭 프로젝트에서 설립자 주도적 네트워크 구성을 하고 있는것으로 아는데 (즉 조직간 합의가 필요없음. 그냥 짱이 알아서 하는?) 진짜 조직별로 권한이 균등이 나누어져 있는 네트워크에서의 실제 사용사례에 대한 레퍼런스에 대한 공개가 기대됩니다.이 글에서는 하이퍼레저 패브릭에서 사용되는 MS..
Go언어는 예외처리가 없으며, 에러에 대해서 가장 가까운 위치에서 명시적으로 체크하고 넘어가는 것을 권장하는 언어 이다. 이 행위를 강제하진 않기 때문에 좀 더 단순하나 문제가 발생 할 소지를 없애기 위해 에러 체킹을 강제화 하는 언어(OCaml,Scala등)에 비해 안정성은 좀 떨어진다고 말 할 수도 있겠다. 하지만 이런 것은 팀의 코딩컨벤션으로 항상 체크하고 넘어가면 되는 문제로 생각 할 수도 있을 것이다. 참고로 예외처리는 굉장히 어려운 주제이며 예외 처리에 대한 6가지 화두 이 글을 통해서 말한바 있다.Panic 예제func test () int { arr := [] int {} element := arr[5] return element } func main() { test() fmt.Printl..
CFT 는 분산시스템에서 노드가 비정상적인 충돌에 의해 문제가 생기더라도 나머지 시스템에서 서비스를 할 수 있게 하는 작동을 말한다면, BFT는 의도적 악의에 의한 문제까지도 해결하는 방식을 말한다. 블록체인 시스템에선 둘 모두 합의라는 방식을 거치게 되는데, 비트코인의 경우는 일반적인 CFT, BFT 보다는 훨씬 더 극한노동(?) 들어가는 신뢰 작업이 추가되는데 바로 POW이며, 콘소시엄형 블록체인 시스템(이라고 하고 하이퍼레저 패브릭) 에서는 보통 조직들이 이미 신원확인등에 의한 허가를 받은 상태에서 참여하기 때문에 악의적인 행위를 안한다고 치고 서비스를 하기에, 서버가 맛가는 경우에 대해서만 방어하는 CFT 기반의 오더링 알고리즘이 우선되고 있다. CFT의 대표격이며, 하이퍼레저 패브릭 2.0 버전..
예제로 이용된 재료는 이전에 만든 400라인의 go코드로 구현한 하이퍼레저 패브릭 [2]- 블록전파/Gossip 프로토콜 소스(앞으로는 gossip분산 서비스로 지칭)를 사용였는데 간단한 분산 네트워킹 예제이므로 도커/쿠버네이트 공부를 위한 좋은 재료가 될 것 입니다. 이 글은 그 예제의 연속성 상에서 기획된 글이며, 도커/쿠버네이트 내용을 한번 정도 읽어 봤다는 혹은 아래 참고 링크를 공부하면서 진행한다는 가정하에 실습을 위해 정리 한 포스트임을 알려드립니다. 각각의 기술에 대해 구체적으로 알고 싶은 분은 아래 레퍼런스를 참고 하시거나, 추가 구글링을 통해 확인 하십시요.도커아래 처럼 Dockerfile 을 만듭니다.# Start from a Debian image with the latest vers..
High Performance Go Workshop - 항상 가능한 최고로 단순하게 코드를 짜라. 컴파일러는 일반적인 코드에 대해 옵티마이즈 된다. - 짧은 코드는 빠른 코드이다. - 짧은 코드는 작은 코드이다,. CPU 캐쉬에 중요하다. - 할당에 주의를 기울이고, 필요없는 할당을 피하기 위해 노력하라. - 추측하지말고 보틀넥을 프로파일링 해봐라. Going Infinite, handling 1M websockets connections in Go
관련 기사: http://www.zdnet.co.kr/view/?no=20190212162100 관련 기술: SNI 를 이용한 HTTPS 모니터링 요즘 소위 https 차단(?) 문제로 시끄럽다. 이건 기술적으로는 아무 문제도 없는 것인데.. 내용 살펴보겠다는 것도 아니고..대중들은 이 기술에 대해 깊숙히 알 수는 없을 것이고, 그냥 먼가 자유를 침해 당한다고 판단하게 만드는 것 같다. 나쁜놈이 사용하면 큰일 나는 것으로...그러니 부정적인 여론 일색 일 수 밖에 없고 진짜 해야 할 논의 진행이 되질 않는다. 그럼 진짜 논의 해야 할 것은 무엇일까? 누구나 알지만 말하지 않는 것인데성인에게 포르노에 대한 개방을 할 때가 되지 않았냐는 거다. 이런것도 자유롭게 못보게 하니...빡칠수 밖에.. 결국 이런 중..
그거 정말 별거 없는데...ㅎㅎ 이렇게 쉬운 걸 쓸때없이 어려운 용어/사상/구분짓기로 떡칠을 해서, 오히려 개발자들에게 짐을 지우는게 아닌가 싶은.. 그냥 객체(모듈,개체,구조체등등) 이 있다고 할 때, 특정 역할을 외부에서 객체/포인터/함수등 무엇이든 주입받아서 해결하는 방식(근데 애들 관리가 힘들어 질 수도..숨박꼭질 하는 애들 종적찾기란..) 주입받는 방식은 기술,언어마다 다를 수도 있으며 생성자를 이용하던, 세터를 이용하던 채널을 이용하던 소켓이나 파이프를 이용하던, 설정파일에 적혀있던 리플렉션을 이용하던 뭐던간에 자신이 다 구현해서 하드코딩되는 것보다 유연해지겠지요. 이게 특정 프레임워크나 언어에서 유행했다고 해서, 그것이 정답 및 진정한 xxx 류가 될 수 없으며 그냥 유연하게 설계 하기 위한..
go언어에서 가장 재밌으며, 강력한 키워드인 select/채널의 다양한 패턴을 살펴봄으로써 우리의 코딩력을 향상시켜 보겠습니다. 이러한 go특유의 핑퐁스타일의 코딩에 빠져들면 헤어나오기 힘들겁니다 :-) switch 먼저 형제 관계에 있는 switch를 통해 몸풀기를 좀 하구요. 1. switch (1) // 일반 switch func main(){ i := "korea" switch i { case "korea": fmt.Println("korea") case "usa": fmt.Println("usa") case "japan": fmt.Println("japan") } } switch문은 보통 우리가 생각하는 듯 그러합니다. 2. switch (2) func main(){ t := time.Now()..