일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 무선 디버깅
- Linux
- AnimatedPositioned
- openrc
- Android
- version 2
- module upgrade
- log
- Flutter
- 옵션 패턴
- user-secrets
- opentelemetry
- golang
- sqlc
- 맥미니
- SQL Server
- DotNet
- go
- IDX Project
- otel
- option pattern
- elasticSearch
- rc-service
- mysql
- 윈도우즈 터미널
- shared_preload_libraries
- pg_stat_statements
- docker
- User
- vscode
- Today
- Total
목록Dev (48)
CATCHV Blog
docker container의 기본 계정이 root가 아닌 경우가 있다 이런 경우 아래의 commnad로 root로 로그인 할 수 있다. docker exec -u 0 -it mycontainer bash
Go gin으로 개발중 https를 테스트하는데 인증서가 없어서 문제가 되었다. 로컬 개발이라 도메인도 없는 상황!!! dotnet에 개발 인증서를 만드는 기능이 포함되어 있다.(localhost) 아래의 명령어로 인증서(pem, key) 파일을 만들 수 있다. dotnet dev-certs https -ep ./certificate.crt --trust --format PEM --no-password Go gin TLS 서버 실행 srv.ListenAndServeTLS("./cert/certificate.crt", "./cert/certificate.key") 크롬에서 접속시 안전한 사이트로 표시됨.
go에서 빌드를 하는 경우 바이너리 실행파일을 생성합니다. 그런데 바이너리 실행파일은 OS(windows, mac, linux)별 아키텍쳐(x86, x64, arm64)별로 다른 구조 및 라이브러리 참조가 다르기 때문에 빌드시에 어떤 타켓으로 빌드 할 지 결정이 필요합니다. go build 시에는 go env에 저장된 환경변수 파일에 따른 정보로 빌드가 됩니다. GOARCH='arm64' GOHOSTARCH='arm64' GOHOSTOS='darwin' GOOS='darwin' 1. Windows 바이너리 컴파일 # Windows x64 빌드 GOOS=windows GOARCH=amd64 go build # Windows x86 빌드 GOOS=windows GOARCH=386 go build 2. Mac..
go의 모든 파일은 package로 시작해야 합니다. package main package handler package에 입력되는 이름은 main을 제외하고는 모두 파일을 포함하는 디렉토리명을 사용합니다. 이런 구조라면 error_handler, login_handler 등의 같은 디렉토리에 포함되는 파일은 모두 package handler로 시작합니다. package handler package main은 특별한 package로 프로그램의 시작시점인 func main을 포함 할 수 있습니다. package main또한 여러개의 파일이 존재할 수 있으나 같은 패키지에는 같은 이름의 함수가 한 개만 존재해야 하므로 main 함수는 하나만 선언 할 수 있습니다.
go를 사용하다보면 go get으로 가지온 module이 업데이트 되어 일부 충돌이 발생하는 경우가 있습니다. 이런 경우 go module을 모두 upgrade 하는 방법입니다. go get -u go mod tidy 이러면 일부만 업데이트 된 모듈이외의 전체 모듈이 upgrade 진행됩니다.
go로 백앤드를 개발하는데 fiber를 기반으로 개발하고 있습니다. fiber는 middleware라는 파이프라인 구조로 되어 있어서 순서가 중요한 경우가 발생합니다. asp.net core도 동일한 구조로 되어 있어서 아래의 그림과 참조 URL을 보면 이해가 편합니다. https://learn.microsoft.com/ko-kr/aspnet/core/fundamentals/middleware/?view=aspnetcore-7.0 ASP.NET Core 미들웨어 ASP.NET Core 미들웨어 및 요청 파이프라인에 대해 알아봅니다. learn.microsoft.com golang으로 fiber + otel(opentelemetry) middleware + recover middleware 사용시 아래의 ..
golang gorm MySQL TIME data type import "gorm.io/gorm/schema" type CustomTime struct { time.Time } func (CustomTime) GormDataType() string { return "time" } func (CustomTime) GormDBDataType(db *gorm.DB, field *schema.Field) string { return "time" } // 사용 방법 type TypeTest struct { Col6 CustomTime }
1. flutter upgrade시에 에러 > flutter upgrade Your flutter checkout has local changes that would be erased by upgrading. If you want to keep these changes, it is recommended that you stash them via "git stash" or else commit the changes to a local branch. If it is okay to remove local changes, then re-run this command with "--force". 작업하다보면 flutter 소스를 debug를 하게 되는데 이걸 수정하거나 건드려서 문제가 생기는 것입니다. 2. 해결..
아이폰과 다르게 안드로이드는 무선 디버깅을 지원합니다. Flutter로 개발중인데 Visual Studio code를 사용하고 하고 있습니다. 설정 방법 1. 기기 설정 설정 - 개발자 옵션 - 무선 디버깅을 활성화합니다. 활성화하면 IP주소 및 포트가 나오고 연결이 될 경우 연결된 기기에 목록이 나타납니다. IP와 포트는 연결 vscode에서 연결시 사용됩니다. 1. Visual Studio plugin 설치 Android ADB WLAN을 설치한다. 2. VS code 기기 연결 vscode에서 ctrl + shift + p를 누르고 Android adb wlan connect를 메뉴를 선택합니다. Android 11 wireless ADB 를 선택합니다. 기기 설정에 나온 IP를 입력합니다. 기기 ..