NAT-PNP 와 UPNP 를 이용한 홀펀칭 - (2) 이번글에서는 이더리움에서 extip와 UPNP를 어떻게 사용하는지 배워보도록 하자. 외부에서 192.168.10.11:80 서버와 통신하려면 그 사설 IP를 입력해바짜 아무 의미가 없다. 따라서 그 서버와 연결시켜주는 라우터를 통하게 되는데, 라우터의 공인IP인 193.24.171.247 로 보내되, 포트를 8028로 한다면 그것을 라우터는 192.168.10.11:80으로 포트포워딩해주는 것이다. 즉 8028 포트는 내부의 192.168.10.12:80 IP/PORT와 매핑되는데 이것을 수동으로 미리 해 놓는다면 외부에서 접속하는데 아무 문제가 없을 것이다. 이렇게 수동으로 미리 매핑되어 있으면 extip를 그냥 사용하면 되고, 미리 정해져 있지 ..
1. [이더리움에서 배우는 Go언어] chan chan 이란? 2. [이더리움에서 배우는 Go언어] 1급함수활용과 채널 3. [이더리움에서 배우는 Go언어] nat 옵션 이야기 - (1) nat 옵션 이야기 - (1)이번 시리즈에서는 네트워크 인프라의 내부에서 사설IP로 동작하여 공인IP가 없는 노드끼리 어떻게 통신 할 수 있는지에 대해서 알아 본다. 첫번째 글에서는 간략한 정의를 내려보며 이더리움에서 사용되는 옵션들을 살펴볼 것이며 두번째 글에서는 extip와 upnp를 구체적으로 살펴보려 한다. (참고로 nat-pnp는 upnp와 비슷하므로 생략) 홀펀칭홀펀칭(막힌 구멍을 뚫는) 필요한 이유는 피씨들이 모두 자신의 개인 고정 IP를 사용하는게 아니기 때문이다. 많은 경우 NAT라는 장비를 통해서 앞쪽..
1. [이더리움에서 배우는 Go언어] chan chan 이란? 2. [이더리움에서 배우는 Go언어] 1급함수활용과 채널 3. [이더리움에서 배우는 Go언어] nat 옵션 이야기 - (1) 1급함수활용과 채널지난 글에서는 채널에 채널을 보내는 chan chan 에 대해서 배워 보았는데요, 기억이 안난다면 이야기가 이렇습니다. 내가 (소비자) 먹을 준비됬으면 나의 주소와 함께 알려드릴께요. 당신은 (생산자) 만들면 내 주소로 피자를 보내주세요. 즉 생산자 주도적이 아니라, 소비자 주도적이다. 이번 글에서도 채널과 관련된 이야기를 해 보겠습니다. 이번에는 채널에 함수를 보내는 방식입니다. 이야기는 이렇습니다. 내가 피자만드는 방식(함수)를 알려줄께요. 그 방식대로 피자를 만들어서 보내주세요. 주소는 피자만드는..
chan chan 이란?블록체인을 비롯해서 서버쪽 개발 언어로 go 언어가 엄청나게 부상하고 있는데요. 이 글에서는 go 언어의 가장 큰 특징 중 하나인 고루틴/채널에 대하여 간단히 설명하며, 좀 더 고급기술인 채널 위에 채널을 얹는 문법을 이더리움 코드를 통해서 살펴봅니다.golang은 C,C++ 보다 실전적으로 고성능이라고 생각하는데, 그 근거가 바로 고루틴과 채널입니다. 물론 C++도 쓰레드가 있긴 하지만 코딩 할 때, 아~ 이 부분은 좀 시간 걸리겠는데 하더라도 쓰레드로 빼긴 부담스럽게 느껴지는게 사실이며, 많은 C++ 개발자들이 그러한 습관에 코딩을 하고 있습니다. 하지만 GO언어는 언어자체에서 경량쓰레드를 지원하므로, 너무나도 자연스럽게 쓰레드화하고, 채널을 통해서 그것의 결과에 해당하는 값을..
임백준님이 번역하신 "7가지 동시성 모델" 책에는 순차 프로세스 통신 (CSP) 이라는 내용이 있는데 Golang 에서 구현한 모델을 클로저언어로 래핑한 라이브러리를 이용해서 설명하고 있다. 역시 책에 나오는 내용 "미래는 불변이다", "미래는 분산이다" 라는 구절이 있다. 분산을 잘하기 위한 도우미로 "메세지 전달" 이 매우 중요한데, "액터" 나 "CSP" 처럼 메세지 전달을 기반으로 삼는 테크닉이 점점 더 중요한 역할을 하리라 예측하고 있다. 이번 번역 글 (중간 중간 동시성에 대한 개인적인 견해가 많이 들어가 있다) 에서는 Golang에서의 CSP 에 대해서 살펴본다. 학술적인 내용이 아니며 아주 기초적인 내용을 짧게 담고 있는데, 액터에 대해서 알고 있는 분이라면 통신하는 객체 자체(액터) 보다..
[요약번역] https://fabianlee.org/2017/05/21/golang-running-a-go-binary-as-a-systemd-service-on-ubuntu-16-04/1. SleepService 예제 만들기 package mainimport ( "time" "log" "flag" "math/rand" "os" "os/signal" //"syscall")func main() { // load command line arguments name := flag.String("name","world","name to print") flag.Parse() log.Printf("Starting sleepservice for %s",*name) // setup signal catching sigs ..
Golang 에서의 Map, Filter 등 Python 으로 코딩하다가 Golang 으로 바꿔보면 가장 크게 불편한점은 List Comprehension 의 부재라고 느꼈다. 나도 Newbie라 Golang 에서는 어떻게 리스트 조작을 할까 궁금해서 자료들을 찾아서 정리 해보았다. 기본 가장 기본적인것은 Python 이나 Scala등에서 제공하는 synthetic sugar 마법을 사용하지 않고, Golang 답게 직접 해당 함수를 만들어서 호출하는 것이다. 아래 예를 보자.func Map(vs []int, f func(int) int) []int { vsm := make([]int, len(vs)) for i, v := range vs { vsm[i] = f(v) } return vsm } func ..
현재 파이썬으로 짜여져 있는 IoT 데이터중계/분석 프로그램에서 일부분을 C 로 짜려고 하다가 C,C++ 보다는 Go 가 모든 면에서 좋다고 판단하여 관련 자료를 찾다가 이하 글을 번역하였습니다. 마이크로서비스를 넘어 서버리스 아키텍처가 유행하는 요즘, 보다 작은 모듈단위로 강력한 힘을 가질 수 있는 golang 은 구글의 막강한 지원을 등에 업고 큰 힘을 발휘하고 있는거 같습니다. 실제 언어 순위를 매기는 각종 지표에서도 Go 는 파죽지세로 위로 솟구쳐 올라가고 있습니다. 개인적으로는 쓸데없이 복잡하다고 느끼는 소위 객체지향 언어들에 대한 염증(사실 OOP디자인을 사용하는것도 때와 시기가 있는데..무조건 적용하려고 하면.. 부작용이 생기겠지요) 과 함께 스크립트 언어들이 떴는데, 그 스크립트 언어에 없..
- Total
- Today
- Yesterday
- 하이브리드앱
- 파이썬 데이터분석
- 블록체인
- 하이퍼레저 패브릭
- akka 강좌
- Adapter 패턴
- Play2 로 웹 개발
- 안드로이드 웹뷰
- Akka
- 엔터프라이즈 블록체인
- 파이썬 강좌
- play2 강좌
- 파이썬 동시성
- Actor
- 플레이프레임워크
- 파이썬 머신러닝
- play 강좌
- 그라파나
- Hyperledger fabric gossip protocol
- 주키퍼
- 스칼라 강좌
- 스칼라
- CORDA
- 파이썬
- 스위프트
- 이더리움
- Golang
- 스칼라 동시성
- Play2
- hyperledger fabric
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |