반응형 전체 글75 [Design Pattern] 어댑터 패턴(Adapter Pattern) 어댑터 패턴이란? 어댑터를 다들 아실꺼라 생각한다. 어댑터는 기본적으로 이러한 친구들을 어댑터라 한다. 그렇다면 어댑터 패턴이란 무엇일까? 일반적으로 알고있는 어댑터와 비슷하다 생각하면 편할 듯 하다. 예시를 한번 들어보겠다. 비트코인 지갑을 컴퓨터에 연결할 수 있는 type-A의 USB에 저장해 놓았다. 그런데 나는 맥북밖에 없다;; 5분 뒤 비트코인이 반토막 날 것이라는 엄청난 비밀 정보를 들은 나는 지금 가격에 팔아야 하는데 지갑이 없으니 내가 비트코인을 가지고 있다는 것을 증명할 방법이 없다. 하지만 이를 가능하게 해줄 어댑터 라는 것이 있다. type-A의 USB를 type-C를 사용하는 맥북에 연결을 할 수 있게 해주는 위 사진의 어댑터 말이다. 정말 다행이다. 이렇게 실용적인 기기가 있다니!.. 2021. 8. 26. [Design Pattern] 싱글톤 패턴(Singleton Pattern) with Golang 싱글톤 패턴이란? 싱글톤 패턴(Singleton Pattern)은 GoF가 정의한 23가지 디자인 패턴 중 생성 패턴에 속한다. 불필요한 객체의 생성을 없애고 단 한 번의 객체 생성으로 전역에서 효율적으로 객체를 사용할 수 있게 돕는 유용한 패턴이라 할 수 있다. 장점 한번의 객체 생성을 통해 그 객체를 재활용하기 때문에 불필요한 메모리를 사용하지 않는다. 처음 객체의 초기화 이후에는 따로 객체를 생성하지 않기에 읽어 들이는 시간이 크지 않다. 전역인 하나의 인스턴스를 사용함으로 써 객체의 데이터를 공유하기가 간편하다. 단점 멀티 쓰레드를 사용하는 작업을 진행할 시에 초기화가 여러 번 일어날 수 있다. 멀티 쓰레드를 사용하는 작업을 진행할 시에 데이터 수정에서 데이터 레이스가 일어날 수 있다. Go에서의.. 2021. 8. 26. [Algorithm]BOJ_20056_마법사 상어와 파이어볼_Go 문제 링크 BOJ 20056 마법사 상어와 파이어볼 풀이 방법 어느정도 구현 문제에 대한 풀이방법을 깨우쳐 가는듯 하다. 다름이 아니라 해야할 것의 순서를 잘 지키는것.. \1. 맵의 필드에 하나 이상의 파이어 볼이 있을 경우 파이어 볼을 섞는다.(X) 이렇게 생각하는 순간 시간은 총알 같이 사라질것이다.. 모든 파이어 볼을 이동한다. 이동한 파이어 볼은 따로 모아둔다. 모든 이동한 파이어볼을 삭제한다. 모든 필드에 따로 모아둔 파이어볼이 있을 경우 파이어볼이 한 개 일 경우 파이어볼이 두 개 이상일 경우 조건에 맞게 조합한 후 따로 모아둔 필드에서 이동 할 파이어 볼 필드로 옮긴다. 따로 모아둔 파이어 볼을 삭제한다. package q20056 import ( "bufio" "fmt" "os" "str.. 2021. 8. 23. [Git]Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 오잉 이게 뭐시야.. 간만에 맥 쫌 사용해보려 했더니 패스워드 인증을 지원하지 않는다고..? 그것도 고작 4일전부터?? 왜 나한테 이런 시련을 주십니까.. 공부 안 하고 합법적 다른 짓할 수밖에 없잖아요.. 어쩔 수 없지.. 해결법을 찾아 나서야지^^ 너무 빨리 찾아버린 해결책.. (지금 나는 맥을 사용하고 있다) 구글링을 통해 git이 id와 password를 한번 입력하면 키를 생성하여 그 키를 통해 매번 로그인 작업을 하지 않고 간편하게 데이터를 주고받는다는 것을 알게 됐다. 우리는 이 '키'를 수정해.. 2021. 8. 17. [블록체인] UTXO란? 서론 현재 Go를 빠르게 익히기 위해 평소 관심만 가져왔던 Block Chain과 연계된 클론 코딩 강의를 듣고있다. 클론 코딩이라고 단순히 코드를 따라 쓰는 프로젝트에서 멈추지 않기위해 프로젝트 중 Go의 활용법이나 Block Chain기술들을 포스팅 하려 한다. 그리고 이 프로젝트로 Go와 Block Chain을 열심히 공부하여 Go를 통해 제작한 Block Chain의 원리를 간단히 알 수 있는 페이지도 만들어 볼 예정이다. 즐겁게 니콜라스의 강의를 들으며 블록체인을 만들어 가던 중 첫번째 벽에 부딪혔다. UTXO모델을 통해 유저간 트랜젝션을 기록하는 곳이 그 첫번째 벽이다. UTXO모델을 이해하지 못한다면 이후의 강의는 단순히 코드를 따라 치는 강의로만 남을 것 같아 이렇게 UTXO모델을 따로 공.. 2021. 8. 14. [Go] Json 활용 방법 JSON이란? JSON은 Key-Value 쌍의 형태로 인간이 보기에 알맞은 형태로 데이터 오브젝트를 표현해주는 표준 포맷이다. Value값에 사용할 수 있는 자료형으로는 수, 문자열, Bool, 배열, 객체, Null이 있다. 직렬화, 역직렬화란? 직렬화란 객체의 상태를 보관이나 전송 가능한 상태로 변환하는 것을 말한다. 직렬화된 상태의 객체를 다시 사용할 수 있는 객체로 변환하는 것을 역직렬화라 한다. GoLang에서 JSON을 사용하는 방법 기본 사용 방법 JSON을 사용하기 위해서는 기본적으로 데이터를 담을 수 있는 객체가 필요하다. 테스트에 객체로 사용할 구조체는 간단한 구조의 jsonTestStructure를 사용한다. type jsonTestStructure struct { TestNum i.. 2021. 8. 12. 이전 1 ··· 8 9 10 11 12 13 다음 반응형