괴발개발 성장기
반응형

전체 글 219

[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) 결국 자바를 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

[slack] 슬랙(slack)으로 에러 메시지를 받기 위해서 slack에서 설정하기

1) https://api.slack.com/ 접속하기 Slack은 생산성 플랫폼입니다 Slack은 팀과 커뮤니케이션할 수 있는 새로운 방법입니다. 이메일보다 빠르고, 더 조직적이며, 훨씬 안전합니다. slack.com 2) 오른쪽 상단에 "Your apps" 클릭한다 3) "Create an App" 버튼을 클릭한다 4) "From scratch" 클릭한다 5) App Name : 앱 이름을 정해서 쓴다. Pick a workspace to develop your app in 에는 알림받고 싶은 workspace를 등록한다 (예시는 회사 채널) 그리고 "Create App" 버튼 클릭을 한다. 6) Basic Information 이 페이지에서 밑으로 내리면 Display information에서 설정..

[MySQL] update 할 때 나오는 에러 메시지

MySQL Workbench에서 업데이트 할 때 조건이 없으면 데이트를 보호하기 위해서 에러가 난다. # 에러 메시지 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect # 해결방법 1) Update 문 전에 아래 코드를 실행한다. set sql_safe_updates=0; update members set name ='지니'; 2) update문에 조건을 넣는다 update members set name ='지니' where ..

Study/Mysql 2023.07.05
반응형