본문 바로가기

전체 글159

GoLand : import한 패키지의 내용이 Unresolved될 때 해결 방법 import한 패키지를 사용했을 때 Unresolved 표시가 되는 현상이 있었다. ex. computepb "cloud.google.com/go/compute/apiv1/computepb" 위 패키지를 사용한 computepb.Instance 구조체에서 Unresolved 표시 ex. 동료분이 공유해주신 원인은 패키지 파일이 너무 커서 인덱싱을 해오지 못해 그런 것이라고 한다. GoLand를 완전히 기본 설정으로 사용하고 있는 중이었고 GoLand 설정을 통해 해결할 수 있었다. 1. GoLand 상단 Help > Edit Custom Properties... 클릭 2. 아래처럼 idea.properties 파일이 새로 뜨면 아래처럼 입력해주면 된다. #---------------------------.. 2023. 4. 12.
Go언어로 AWS Price List API(Bulk API) 사용하는 예제 AWS는 가격을 쿼리할 때 Bulk API와 Query API를 제공하고 있는데, AWS Price List Bulk API : AWS 서비스의 가격을 대량으로 쿼리해 JSON 또는 CSV 파일로 반환한다. AWS Price List Query API : AWS SDK 또는 AWS CLI를 통해 AWS 서비스, 제품, 요금에 대한 특정 정보를 쿼리할 수 있다. (특정 제품 또는 가격에 대한 정보) AWS의 모든 리전에서 서비스별 가격 정보가 담긴 CSV 파일을 다운로드 받는 것이 목적이기 때문에 Bulk API를 사용해보기로 했다. 사용 방법은 단순하다. 요금 내역을 다운로드 할 수 있는 url를 웹 브라우저에 실행하기만 해도 AWS 서비스에 대한 가격정보가 담긴 제안파일을 다운로드할 수 있다. 제안 인.. 2023. 2. 24.
2022년 Backend Developer Roadmap 기본으로 돌아가서 재정비하는 시간을 틈틈히 가져보려 한다.로드맵을 보면 이 중에서도 딱 필요한게 보임...특히 OS랑 Go, Git, caching, Kubernetes, Testing - CI/CD, WebSocket 쪽을 봐야겠군...걍 다 보는 것 같다. 힘내자🔥 참고 The 2022 RoadMap For Backend Developer 2022 Roadmap for backend developer. How to become a backend developer in 2022? Top required skills to become a backend developer. Backend Developer roadmap 2022 www.decipherzone.com 2022. 8. 23.
🚨 Apple Mac M1 | redis | "delete error : ERR AUTH <password> called without any password configured for the default user. Are you sure your configuration is correct?" 이슈 docker로 비밀번호 설정을 하지 않은 도커 이미지를 실행시켰다. docker run -d --platform linux/amd64 --name redis -d -p 6379:6379 redis redis-server 이후 웹서버에서 redis에 캐시동작을 요청할 때마다 delete error : ERR AUTH called without any password configured for the default user. Are you sure your configuration is correct? 이슈가 발생하고 있었다. M1 맥북이 아닌 인텔맥 유저인 분들에게서는 나오지 않는 이슈였다. 셀장님이 이미 같은 이슈를 겪은 M1 유저들이 있다고 찾아주신 링크 👇🏻 https://github.com/redi.. 2022. 7. 14.
🐥 왕주니어 개발자 2022년 6개월어치 회고 (1) : 2021.11 ~ 2022.05 회고해야지 해야지 하고서는 이제야 쓰는 나 제법 기특하다. 원래는 달마다 기록하려 했지만 매일 노션으로 업무 일지를 쓰니 괜찮다고 미룬 합리화 킹👑 다 쓰고 보니 회고가 아니라 푸념에 가까운 것 같기도 하다. 허허 모르겠다ㅎ 경험한 것들 Envoy Proxy Kubernetes를 이용한 배포, 운영 경험 Golang을 이용한 서버 개발 테스트와 상용화를 위한 여러 phase와 사용처에 따른 region들 온라인 코드리뷰를 통한 리팩토링, 리팩토링 JIRA를 통한 애자일 개발 경험 좋은 동료들 취직 2년간의 취직활동 끝에 드디어 최종 합격했다. 현업에서의 개발에 대한 감이 없어서 어리바리한 느낌 그대로... 갑자기 고3 때 봤던 미생의 장면들이 속속들이 머릿속을 스쳐 지나갔다. 맹함이 마치 장그래 같다는 .. 2022. 6. 1.
[Go] 채널과 컨텍스트 [Tucker의 Go 언어 프로그래밍] 책을 참고 채널이란 고루틴끼리 메시지를 전달할 수 있는 메시지 큐로, 채널을 사용하면 뮤텍스 없이 동시성 프로그래밍이 가능하다. 컨텍스트는 고루틴에 작업을 요청할 때 작업 취소나 작업 시간, 추가 데이터 등을 설정할 수 있는 작업 명세서 역할을 한다. → 채널과 컨텍스트를 사용해 특정 데이터를 전달하거나, 특정 시간 동안만 작업을 요청하거나, 작업 도중에 작업 취소를 요청할 수 있다. 01 채널 채널 인스턴스 생성 var messages chan string = make(chan string) chan string은 string 타입의 메세지를 전달하는 채널 타입이다. 채널에 데이터 넣기 messages 2022. 3. 6.
[Go] 고루틴(Goroutine) [Tucker의 Go 언어 프로그래밍] 참고 고루틴 고루틴은 Go 언어에서 관리하는 경량 스레드이다. 함수나 명령을 동시할 때 사용한다. 여러 고루틴을 갖는 프로그램을 코딩하는 것을 동시성 프로그래밍이라고 한다. 고루틴을 이용하면 여러 작업을 동시에 수행할 수 있다. 고루틴은 Go 언어에 내장된 기능으로 외부 라이브러리에 의존하지 않고 동시성 프로그래밍을 구현할 수 있다. 멀티코어 환경에서 CPU를 더 효율적으로 사용해 빠르게 작업을 완료할 수 있다. 고루틴은 기존 OS 스레드에서 발생되는 컨텍스트 스위칭에 따른 성능 손실을 최소화해서 효율적으로 사용한다. 고루틴 간 메모리 간섭으로 인해 발생하는 문제점에 주의해야 한다. Go 언어에서는 CPU 코어마다 OS 스레드 하나만 할당해서 사용하기 때문에 컨텍스.. 2022. 3. 6.
[Go] 인터페이스(Interface) [Tucker의 Go 언어 프로그래밍] 책을 참고 인터페이스 인터페이스란 구현을 포함하지 않는 메서드 집합이다. 인터페이스만 가지고 메서드를 호출할 수 있어 추후 프로그램 요구사항 변경 시 유연하게 대처할 수 있다. 인터페이스를 이용하면 메서드 구현을 포함한 구체화된 객체가 아닌 추상화된 객체로 상호작용할 수 있다. type DuckInterface interface { Fly() Walk(distance int) int } 인터페이스 타입의 변수 선언이 가능하고 변수의 값으로 사용할 수 있다. 인터페이스에 포함된 메서드 집합의 유의사항 메서드는 반드시 메서드명이 있어야 한다. 매개변수와 반환이 다르고 이름은 같은 메서드는 있을 수 없다. 인터페이스에서는 메서드 구현을 포함하지 않는다. package m.. 2022. 3. 5.
[go/gin/gorm] Basic REST API 만들기 튜토리얼 (4) 이전 포스트 (1) : https://dev2som.tistory.com/152 이전 포스트 (2) : https://dev2som.tistory.com/153 이전 포스트 (3) : https://dev2som.tistory.com/154 저번 편에 이어서 gorm 패키지를 이용해 DB에 데이터를 바인딩할 수 있는 REST API를 만들어보려 한다. 우선 패키지 구조 go project를 만들어주고 다음 구조로 디렉터리와 go 파일들을 생성한다. models 패키지 : DB에 저장될 데이터의 구조체와 DB에 연결하는 코드가 들어있다. controllers 패키지 : HTTP 요청에 따라 호출되는 핸들러 함수들이 들어있다. main.go package main import ( "github.com/gin.. 2021. 12. 21.