괴발개발 성장기
반응형

분류 전체보기 220

RabbitMQ 를 Mac 환경에서 설치 및 실행

https://www.rabbitmq.com/install-homebrew.html The Homebrew RabbitMQ Formula — RabbitMQ The Homebrew RabbitMQ Formula Homebrew is a popular package manager for MacOS. RabbitMQ formula is available from Homebrew's core tap (out of the box). The formula will also install a recent supported Erlang/OTP version as a dependency. Before installing m www.rabbitmq.com 1) brew 업데이트하기 brew update 2) Rabbit..

[MySQL] 조인 해서 업데이트 시키기

# 배경 기부, 기부상태, 기부영수증 3개의 테이블을 조인해서 기부날짜 보고 기부영수증 상태 업데이트 하기 # donations 테이블 id member_id donation_date status deleted_at 회원아이디 기부날짜 기부상태 # statuses 테이블 id status receipt_available 기부상태 기부영수증가능 # donor_receipts 테이블 donation_id status 기부영수증상태 # 문법 update [테이블명1] a inner join [테이블명2] b on a.[조인된컬럼] = b.[조인된컬럼] set b.[컬럼명] = 변경할값 WHERE 조건; # 예시 UPDATE donor_receipts INNER JOIN donations on donor_rec..

Study/Mysql 2023.08.03

[Golang] Xorm에 AllCols() 이걸 사용할 때 bool 타입은 업데이트가 안된다.

# 배경 입사 초기에 데이터 Update를 하는데 다 바뀌는데 bool 타입의 값이 변경되지 않았다. 당시에는 경험도 지식도 없어서 해결하는데 많은 시간이 걸렸다. # 문제의 코드 _, err := common.GetDB(ctx).Where("id = ?", campaign.Id).AllCols().Update(campaign) AllCols() : 모든 컬럼을 업데이트 시켜준다. 그런데 bool 타입의 컬럼은 false 값만 된다. # 해결 방법 1) UseBool("컬럼명")을 적으면 bool 타입의 컬럼명을 작성한다. _, err := common.GetDB(ctx).Where("id = ?", campaign.Id).UseBool("컬럼명").AllCols().Update(campaign) 2) ..

Study/Go 언어 2023.08.02

[Error] no configuration file provided: not found 에러메시지

# 배경 docker compose up -d 위에 명령어를 치니까 에러 메시지 발생했다. # 에러 메시지 no configuration file provided: not found # 해결 docker compose up -d 이 명령어는 docker-compose.yml으로 정의한 컨테이너를 실행하는 명령어 이다. 그래서 docker-compose.yml 파일이 있는 곳에서 실행해야한다. 나는 XXX@XXX-MacBookAir ~ 여기에서 실행을 했다. (루트에서 실행) 그래서 docker-compose.yml 이 파일이 있는 폴더로 이동하여 실행을 하니까 명령어가 실행 되었다.

Study/Error 2023.08.01

[마무리] 비동기 프로그래밍 구조

회사는 로그를 따로 SNS를 통하여 DB로 저장한다. 그래서 그부분을 따로 추가 하지 않았다. 그리고 알림톡을 계속 시도하다가 실패하면 DB로 저장한다 (500번대에러) 저장된 DB를 5분 단위로 불러와서 있으면 다시 메시지를 보낸다. 이때 고루틴을 사용한다. go sqsConsumer.Consume(megCh) go service.LoopGetError(xormDb, errCh) 메시지는 메시지대로 돌고 DB는 DB대로 도는 구조로 만들었다. 현재 회사에서는 알림톡 서비스를 마무리했다. 내 깃에서는 전체적으로 구조를 잡았다. 비즈니스 모델에 따라 변경해서 만들면 될 것 같다. 끝!

[Amazon SQS] MissingRegion: could not find region configuration 에러 메시지

# 에러 로컬에서는 발생하지 않았다. aws에 올리고 나서 아래와 같은 에러 메시지가 발생했다. MissingRegion: could not find region configuration 지역을 설정하지 않았다고 한다. # 해결 과정 처음에 sess := session.Must(session.NewSessionWithOptions( session.Options{ SharedConfigState: session.SharedConfigEnable, })) 이 부분에 설정해야 한다는 것을 파악했다. 그래서 session.Options{} 이 부분을 속으로 들어가봤다. aws configure에 지역을 쳤던 기억이 있어서 session.Options{}안에 있는 Config aws.Config 안으로 들어가봤다..

[Golang] interface{} => struct 변환하기

# 배경 배열안에 map이 여러개 있다. map안에는 값이 여러개 있다. 배열안에 있는 map의 타입은 interface{} 이다. donationInfo 안에는 []interface{} 타입으로 값이 있다. donationInfo := dataHTML.Content["donationInfo"].([]interface{}) map[donationDate:20220328 donationId:279939 totalAmount:3076 totalQuantity:2] map[donationDate:20220316 donationId:279936 totalAmount:54834 totalQuantity:4] map[donationDate:20220316 donationId:279935 totalAmount:483..

Study/Go 언어 2023.07.22

[Git] 로컬 폴더와 git 연결하기

# 배경 강의를 듣는데 zip으로 다운 받아서 내 레파지토리에 올리라고 했다. 음... 보통 fork를 하는데 나에게 새로운 방식이다. # 하는 방법 1) 레파지토리 하나를 만들었다. 2) 로컬에 폴더 하나를 만들었다. - 나는 zip 파일을 해제했다. 3) 내가 만든 폴더(로컬)로 이동 한다. cd 폴더명 4) 만든 레파지토리에 Code 버튼을 누른다. 5) HTTPS 값을 복사한다. 6) .git 파일이 필요하다 git init 7) 내가 원하는 레파지토리랑 연결을 한다. git remote add [명칭] [복사한 https 주소] 8) 확인을 한다 git remote -v 그럼 명칭으로 만든 정보가 뜬다. 그리고 나서 git add . git commit -m "메시지" git push [명칭] ..

Study/GIT 2023.07.19

[Golang] 슬랙(Slack)으로 메시지 보내기

# 배경 우리 팀은 두레이라는 툴을 사용한다. 대부분은 슬랙을 많이 이용하는 것 같다. 그래서 에러 메시지를 슬랙으로 보내는 걸 공부해봤다. # 셋팅 2023.07.06 - [사이드 프로젝트/Amazon SQS] - [slack] 슬랙(slack)으로 에러 메시지를 받기 위해서 slack에서 설정하기 [slack] 슬랙(slack)으로 에러 메시지를 받기 위해서 slack에서 설정하기 1) https://api.slack.com/ 접속하기 Slack은 생산성 플랫폼입니다 Slack은 팀과 커뮤니케이션할 수 있는 새로운 방법입니다. 이메일보다 빠르고, 더 조직적이며, 훨씬 안전합니다. slack.com 2) 오른쪽 상단 pink1016.tistory.com 우선 슬랙에서 설정을 해야한다. # 토큰 값 설정..

Study/Go 언어 2023.07.14

[mac os] 자바 설치

# 배경 강의를 듣기 위해서 자바를 설치했다. go로 했으면 좋았는데... 이미 결제하고 한 강정도 들었는데 go로 하는 강의 나왔다. 아쉽다 ㅠㅠㅠ # 설치방법 $ brew install cask $ brew tap AdoptOpenJDK/openjdk $ brew install --cask adoptopenjdk11 $ java -version 끝! openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9) OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode) 결국 자바를 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

반응형