토이 프로젝트에서 OCR을 할 일이 생김
Go언어를 이용할거라 찾아봤는데 역시나 있음!
토이 프로젝트에서 OCR을 할 일이 생김
Go언어를 이용할거라 찾아봤는데 역시나 있음!
이전에 체인코드에서의 MVC패턴에 대해서 공부하고 앞으로의 프로젝트에서 적용하려고 정리했습니다.
그리고 실제로 프로젝트 투입 후 이렇게 저렇게 구조를 정리해본 결과를 한번 더 정리하려 합니다.
완성도는 올라간것 같지만 아직 손봐야될 부분이 생길수도 있다고 생각합니다.
1 | \GOPROJECT\SRC\MVC |
Golang을 처음 접하고 체인코드를 개발할때부터 시간에 쫓겨 의존성 라이브러리 관리를 govendor를 통해 했었음
이제는 1.11부터 Go modules가 도입되면서 govendor 개발자도 1.14부터는 Go modules를 사용하도록 권장하고있음
사실상 govendor는 deprecated 되어 앞으로는 사용하지 않을 것임
체인코드 개발시 런타임 에러로 인해 panic 발생으로 체인코드 도커가 내려가는 상황이 잦음
도커 명령어로 해당 에러가 무엇인지 확인해야 하고 체인코드는 다음 실행됐을때 다시 도커가 올라가면서 작업이 수행됨
이러한 방법은 에러 추적이 어려워짐
Go언어의 panic, recover를 공부하면서 이런 문제를 어느정도 보완할 수 있을것으로 생각
조금 더 확실하게 공부해서 앞으로 있을 체인코드 개발에 MVC에 가깝게 구조를 잡고 개발하기위해 정리
MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴입니다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있습니다. 이러한 “관심사 분리” 는 더나은 업무의 분리와 향상된 관리를 제공합니다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버) 가 있습니다.
데이터를 받아 비즈니스 로직을 처리
주로 DB와의 상호작용이 해당
1 | package main |
가볍게라도 꾸준히!
Windows10에 docker를 이용한 Hyperledger Fabric Samples를 구동하는 방법을 포스팅합니다.
체인코드를 개발하면서 Golang으로 유니크한 Random String을 생성할 필요가 있었습니다.
이 글에서는 난수를 사용해야할 때 주의점에 대해 설명합니다.