반응형

Dockerfile

FROM golang:alpine AS builder
ENV GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux \
    GOARCH=amd64

WORKDIR /build
COPY go.mod go.sum main.go ./
COPY Conf_Linux.json ./Conf.json
COPY dao ./dao
COPY model ./model
RUN go mod download
RUN go mod tidy
RUN go build -o main .
WORKDIR /dist
RUN cp /build/main .

FROM scratch
COPY --from=builder /dist/main .
ENTRYPOINT ["/main"]

docker no cache build

docker build --no-cache -t aru_collector .

docker root 그룹 추가 및 적용

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
반응형

golang으로 작업할 때

 

공유 자원을 defer로 정리하는 경우가 있는데

이러면 버퍼가 풀 날 수 있다

그럴 때는 걍 2번 닫으면 된다.

 

    db := e.PostgerSQL.Open()
    defer db.Close()

    accountInfo.Insert(db)
    db.Close()

'프로그래밍' 카테고리의 다른 글

이번에 작업한 도커파일  (0) 2022.11.28
golang docker 말기  (0) 2022.11.24
golang 간단한 pg 라이브러리  (0) 2022.11.02
golnag으로 pg에 간단히 insert 하는 법  (0) 2022.11.02
postgresql wsl2에 설치  (0) 2022.10.26
반응형
type PostgerSQL struct {
    ConnectionString string
}

func (s *PostgerSQL) Init(e *EndPoint) {
    s.ConnectionString = fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=disable", e.PostgreSQL.Host, e.PostgreSQL.USER, e.PostgreSQL.PASSWORD, e.PostgreSQL.DATABASE)
}

func (s *PostgerSQL) Open() *sql.DB {
    db, err := sql.Open("postgres", s.ConnectionString)
    if err != nil {
        log.Panic().Stack().Err(err).Msg("Open")
    }
    db.SetMaxOpenConns(200)
    db.SetMaxIdleConns(2)
    return db
}

'프로그래밍' 카테고리의 다른 글

golang docker 말기  (0) 2022.11.24
golang 공유 자원 사용하기  (0) 2022.11.03
golnag으로 pg에 간단히 insert 하는 법  (0) 2022.11.02
postgresql wsl2에 설치  (0) 2022.10.26
vscode perfoce 플러그인 연동  (0) 2022.10.21
반응형
func (a *Account) Insert(db *sql.DB) {
    now := time.Now()
    sql_statement := "INSERT INTO account (account_id, device_model, memory_size, created_at) VALUES ($1, $2, $3, $4);"
    _, err := db.Exec(sql_statement, a.AccountId, a.DeviecModel, a.MemorySize, now)
    if err != nil {
        sql_statement = "UPDATE account SET device_model = $1, memory_size = $2, created_at = $3 WHERE account_id = $4;"
        result, _ := db.Exec(sql_statement, a.DeviecModel, a.MemorySize, now, a.AccountId)

        row, err := result.RowsAffected()

        if row == 0 || err != nil {
            log.Panic().Stack().Err(err).Msg("Insert")
        }
    }
}
반응형
version: '3.3'
services:
  redis:
    image: 'redis:6.0.5'
    environment:
      ALLOW_EMPTY_PASSWORD: "yes"
    ports:
    - 6379:6379
    volumes:
    - /mnt/d/docker/Redis/Log:/data
    - /mnt/d/docker/Redis/redis.conf:/usr/local/etc/redis/redis.conf
  mysql5.7:
    image: mysql:5.7.28
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: coral
    ports:
    - 3306:3306
    volumes:
    - /home/mysql5.7/Data:/var/lib/mysql
    - /home/mysql5.7/:/etc/mysql/
  postgreSQL:
    image: postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: "test"      
    ports:
    - 5432:5432
    volumes:
    - /home/postgreSQL:/var/lib/postgresql/data

docker ps 로 이미명 찾자

 

# docker exec -it 4f85072fd34a bash

디비에 들어가자

 psql -U postgres

계정 생성

postgres=#  CREATE USER test PASSWORD 'test' SUPERUSER;

사용하자

 
반응형

git을 쓰다가 퍼포스 넘어오면 

 

파일 추가를 체크 안해주서 좀 귀찮다

 

이걸 vscode 플러그인이 해줘서 좀 적어둔다.

 

  • "p4 client -S 스트림"으로 워크 스페이스 생성
  •  "p4 sync {//위치}"로 파일 받기
    • p4v에서 해도 상관 없음
  • 확장에서 설정한 클라이언트 명 설정

  • 출력에서 잘 되는지 확인

요래 하면

 

 

이렇게 잘 표시된다.

반응형

On UNIX and OS X

$ export P4CLIENT=bruno_ws

On Windows

$ set P4CLIENT=bruno_ws
반응형

https://stackoverflow.com/questions/59322295/can-i-get-files-from-depot-without-a-stream-in-perforce-p4

 

Can I get files from "Depot" without a "Stream" in Perforce P4?

So I've been reading the helix-core documentation for the p4 command line tool because I cannot use the visual client on my current machine. I am trying to get a way to get the latest files from the

stackoverflow.com

 

p4 client
반응형

https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-vscode

 

WSL에서 VS Code 사용 시작

Linux용 Windows 하위 시스템 사용하여 코드를 작성하고 디버그하도록 VS Code를 설정하는 방법을 알아봅니다.

learn.microsoft.com

 

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

 

Remote Development - Visual Studio Marketplace

Extension for Visual Studio Code - An extension pack that lets you open any folder in a container, on a remote machine, or in WSL and take advantage of VS Code's full feature set.

marketplace.visualstudio.com

sudo apt-get update
sudo apt-get install wget ca-certificates
code .

반응형
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-6.0
sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-6.0

+ Recent posts