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

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)
  • 방명록

Go (17)
안전하게 사용하는 Golang

1. 메모리에서의 안전요소 https://medium.com/a-journey-with-go/go-memory-safety-with-bounds-check-1397bef748b5 Go: Memory Safety with Bounds Check ℹ️ This article is based on Go 1.13. medium.com https://insanitybit.github.io/2016/12/28/golang-and-rustlang-memory-safety Golang and Rustlang Memory Safety - InsanityBit I recently read an excellent blog post by Scott Piper about a tool he has released called S..

Go 2020. 6. 16. 09:26
Go 언어에서 포인터는 언제 사용 해야 하나?

C++ 에서 최적화를 언급 할 때 "객체복사가 최대한 일어나지 않게 한다" 가 주요 화두를 차지 한다. ("알고리즘"을 개선하라도 중요하긴 하지만) 이에 따라서 RVO 같은 개념도 생겨나고, 아예 RVO를 믿지 못하고 매개변수에 리턴 받을 포인터를 전달하는 형태를 취하기도 한다. 마찬가지로 Go에서도 아래 처럼 *peer,Proposal 같은 포인터를 넘겨 주면서 객체복사에 대한 낭비를 줄이는데 // GetProposal returns a Proposal message from its bytes func GetProposal(propBytes []byte) (*peer.Proposal, error) { prop := &peer.Proposal{} err := proto.Unmarshal(propBytes..

Go 2019. 10. 11. 18:57
go microservices

Create Versatile Microservices in Golang — Part 1Create Versatile Microservices in Golang — Part 2 (Docker and go-micro)Create Versatile Microservices in Golang — Part 3 (docker-compose and Datastores)Create Versatile Microservices in Golang — Part 4 (Authentication With JWT)Create Versatile Microservices in Golang — Part 5 (Event Brokering With go-micro)Create Versatile Microservices in Golang ..

Go 2019. 2. 28. 13:56
[Golang] recover 는 언제 사용하나?

Go언어는 예외처리가 없으며, 에러에 대해서 가장 가까운 위치에서 명시적으로 체크하고 넘어가는 것을 권장하는 언어 이다. 이 행위를 강제하진 않기 때문에 좀 더 단순하나 문제가 발생 할 소지를 없애기 위해 에러 체킹을 강제화 하는 언어(OCaml,Scala등)에 비해 안정성은 좀 떨어진다고 말 할 수도 있겠다. 하지만 이런 것은 팀의 코딩컨벤션으로 항상 체크하고 넘어가면 되는 문제로 생각 할 수도 있을 것이다. 참고로 예외처리는 굉장히 어려운 주제이며 예외 처리에 대한 6가지 화두 이 글을 통해서 말한바 있다.Panic 예제func test () int { arr := [] int {} element := arr[5] return element } func main() { test() fmt.Printl..

Go 2019. 2. 22. 19:51
고성능을 위한 GO

High Performance Go Workshop - 항상 가능한 최고로 단순하게 코드를 짜라. 컴파일러는 일반적인 코드에 대해 옵티마이즈 된다. - 짧은 코드는 빠른 코드이다. - 짧은 코드는 작은 코드이다,. CPU 캐쉬에 중요하다. - 할당에 주의를 기울이고, 필요없는 할당을 피하기 위해 노력하라. - 추측하지말고 보틀넥을 프로파일링 해봐라. Going Infinite, handling 1M websockets connections in Go

Go 2019. 2. 13. 14:51
[이더리움에서 배우는 Go언어] select 의 거의 모든 패턴들

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()..

Go 2019. 2. 8. 11:05
[이더리움으로 배우는 GO언어] 자료구조 & 컬렉션

[이더리움으로 배우는 GO언어] 자료구조 & 컬렉션 이번 글에서는 사실 이더리움하고 크게 상관없이 go 자료구조 기본에 대해서 알아 봅니다.Array var a [5]int // [0 0 0 0 0] a[4] = 100 // [0 0 0 0 100]5개의 비어있는 배열 생성과 값 삽입 b := [5]int{1, 2, 3, 4, 5} // [1 2 3 4 5] 5개 요소가 들어있는 배열 생성 a2 := [...]string{"USA", "China", "India", "Germany", "France"} b2 := a2 // a copy of a is assigned to b b2[0] = "Singapore" fmt.Println("a is ", a2) // [USA China India Germany ..

Go 2019. 1. 15. 13:14
[이더리움에서 배우는 Go언어] 강력하게 밀착된 컴포지션

컴포지트(composite) 디자인 패턴과 이름이 헷갈린 컴포지션은 UML 측면에서는 연관(Aggregation) 하고도 헷갈리기도 하는데 이 글에서는 컴포지션과 연관을 구분하지 않겠다. 컴포지션이란 간단히 말해 내가(객체)가 가지고 있어야 하는 특성을 외부에서 가져오는 것을 말하는데, 가져오는 방식이 상속을 통하는 방법과 다르게 외부에서 주입되는 방식이다. 상속의 경우는 폴리모피즘이 반드시 필요하면 제한적으로 사용하되, 컴포지션을 통해서 객체를 구축하는 방식을 추천한다. 이 글에서는 Golang에서 컴포지션을 어떻게 지원하는지 살펴 볼 것이다. 자바/C++ 보다는 훨씬 깊숙히 임베디드 되는 모습을 보게 될 것이란 것을 미리 귀뜸해 둔다.먼저 자바의 컴포지션을 살펴보자. abstract class For..

Go 2019. 1. 10. 10:47
이전 1 2 3 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 스칼라 강좌
  • 파이썬 강좌
  • akka 강좌
  • play 강좌
  • 그라파나
  • 이더리움
  • Golang
  • 스위프트
  • 파이썬 동시성
  • Hyperledger fabric gossip protocol
  • 파이썬 머신러닝
  • 블록체인
  • Akka
  • 플레이프레임워크
  • play2 강좌
  • 파이썬
  • 안드로이드 웹뷰
  • 엔터프라이즈 블록체인
  • Actor
  • 스칼라 동시성
  • hyperledger fabric
  • CORDA
  • 하이브리드앱
  • Play2 로 웹 개발
  • 스칼라
  • 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

티스토리툴바