본문 바로가기
반응형

전체 글280

[C++] constexpr이란? const와 constexpr의 차이 ( const vs constexpr ) constexpr 이란? 1. 컴파일 시간 상수를 만드는 키워드 2. 컴파일 시간에 결정되는 상수 값으로만 초기화 할 수 있다. 3. constexpr 은 C++11에 처음 나왔으며 C++14 에서 개선된 기록이 있다. C++에서 const와 constexpr의 차이 ( const vs constexpr ) 상수에는 아래 2가지가 존재한다. 1. 컴파일 시간에 알 수 있는 상수 2. 컴파일 시간에 알 수 없는 상수(런타임에 알 수 있는 상수) 컴파일 시간에 알 수 있는 상수를 컴파일 시간 상수 (compile-time constant)라고 하고, 컴파일 시간에 알 수 없는 상수 즉 실행시간에 알 수 있는 상수를 런타임 상수(runtime constant)라고 한다. const는 컴파일 시간에 알 수 있는.. 2024. 1. 8.
[Github] Git CLI와 GitHub CLI, git CLI vs gh CLI git CLI와 gh CLI, Git CLI vs Github CLIGit CLI  Git CLI 호스팅 위치에 관계없이 모든 git 저장소를 사용하는 기본 인터페이스이다.Git Cli는 로컬 및 원격 Git 기반 리포지토리에서 작업하는 데 사용된다. 사용되는 주요 기능은 새로운 변경 사항 추적, commit, merge, branch, pull, push이다.예를 들어 git 명령은 git으로 시작합니다.git clonegit addgit commitgit pushgit pullGit 기반 리포지토리로 작업하는 경우 Git CLI가 있어야 한다. git CLI가 설치되어 있는지 확인하는 방법 git — version Git CLI 설치는 아래 링크를 참고하자.https://gitscm.com/downl.. 2024. 1. 7.
[AWS] EC2 인스턴스에 Docker 파일 실행(Frontend, Backend) 1. AWS EC2 인스턴스 생성 2. EC2 인스턴스에 .pem등 key파일을 이용하여 ssh 접속(사전에 .pem 파일 사용권한 400 필요) 3. EC2 인스턴스에 Docker 설치 2023.09.13 - [DevOps 관련/Docker] - [Docker] 우분투(AWS EC2)에 Docker 설치하기 [Docker] 우분투(AWS EC2)에 Docker 설치하기 1. 웹사이트의 자동 설치 스크립트 사용 $ curl -s https://get.docker.com | sudo sh # or $ sudo wget -q0- https://get.docker.com | sh https://get.docker.com 페이지에 있는 우분투 사용자를 위한 설치스크립트로 설치한다. 2 kfdd6630.tisto.. 2024. 1. 3.
[Docker] Docker run 옵션 Docker 컨테이너 생성과 동시에 실행할 때 docker run [이미지 이름 = REPOSITORY] 위 옵션 자리에 들어갈 수 있는 옵션은 아래와 같다. -i, --interactive 표준 입력(stdin)을 활성화하며, 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지한다. 보통 이 옵션을 사용하여 Bash 에 명령을 입력한다. -t, --tty TTY 모드(pseudo-TTY)를 사용한다. Bash를 사용하려면 이 옵션을 설정해야 한다. 이 옵션을 설정하지 않으면 명령을 입력할 수는 있지만, 쉘이 표시되지 않는다. --name [컨테이너 이름] 컨테이너 이름을 설정한다. -p, --publish 호스트와 컨테이너의 포트를 연결한다. (= 포트포워딩) : ex) -p 80:80 .. 2024. 1. 2.
[NestJS] NestJS에서 cors error 해결 src/main.ts에서 아래 코드 내용을 추가한다. import { NestFactory } from '@nestjs/core'; async function bootstrap() { const app = await NestFactory.create(AppModule); ... app.enableCors({ origin: [ "http://[client 주소 (frontend 주소)]", ], credentials: true, }); ... } bootstrap(); 2023. 11. 13.
[Svelte, Sveltekit] Client의 Svelte에서 cors error 해결 vite.config.js 혹은 vite.config.ts 파일을 아래내용을 추가한다. ... server: { cors: { origin: "http://[api 호출 주소 (backend 주소)]", credentials: true, }, ... 2023. 9. 15.
[Docker & Svelte + SvelteKit] 도커 이미지 최적화 일반적인 도커파일 방식 # 빌드에 필요한 모든 파일 COPY package.json . COPY package-lock.json . COPY pnpm-lock.yaml . COPY svelte.config.js . COPY vite.config.ts . # 빌드에 필요한 모든 폴더 COPY . . RUN npm i RUN pnpm install —frozen-lockfile RUN pnpm build EXPOSE 3000 CMD ["node", "build"] 위 방식에서 node_module을 포함한 docker 이미지를 만드는데 필요한 것을 다단계로 나누어 배포한다. FROM node:18-alpine AS builder WORKDIR /app COPY package*.json . RUN npm ci.. 2023. 9. 14.
[Docker] 우분투(AWS EC2)에 Docker 설치하기 1. 웹사이트의 자동 설치 스크립트 사용 $ curl -s https://get.docker.com | sudo sh # or $ sudo wget -q0- https://get.docker.com | sh https://get.docker.com 페이지에 있는 우분투 사용자를 위한 설치스크립트로 설치한다. 2. 우분투 패키지 이용 $ sudo apt-get update $ sudo apt-get install docker.io $ sudo ln -sf /usr/bin/docker.io /user/local/bin/docker 위 2줄은 apt-get 업데이트 및 docker.io 설치 마지막 줄은 /user/bin/docker/io파일을 docker 바이너리로 링크해서 사용하는 명령어이다. 설치가 완료.. 2023. 9. 13.
[Docker] Mac에서 AWS EC2에 도커올리기 arm기반 아키텍처에서 amd 기반 아키텍처로 도커파일만들기 MAC OS는 기본적으로 arm기반 아키텍처이기 때문에 m1 노트북으로 도커파일을 빌드하여 도커이미지를 생성하면 platform이 linux/arm64으로 된다. 일반적으로 Amazon linux 운영체제를 사용하는 AWS EC2는 linux/arm64가 아닌 linux/amd64 이기 때문에 MAC에서 빌드한 이미지를 EC2 에서 사용하려면 빌드 단계에서 --platform 옵션으로 linux/arm64로 지정해줘야 한다. 현재 생성된 도커이미지의 아키텍처 확인 $ docker image inspect | grep Architecture linux/amd64 로 빌드하기 $ docker build --platform linux/amd64 -t.. 2023. 9. 12.
[Docker] Sveltekit 빌드 시 build폴더 생성 안될 때 (Dockerfile 오류) svelteKit에서 dockerfile을 사용해 docker 파일을 만들려고할 때 생기는 이슈 일단 svelte.config.js 파일에서 별도로 빌드 경로를 지정해 주지 않는이상 .svelte-kit 에만 빌드 파일이 만들어진다. dockerfile에서 sveltekit예제를 보면 node build/index.js 명령어를 치는데 build폴더가 존재하지 않아 명령어가 실행되지 않는다. svelte에서는 svelte.config.js 파일의 어댑터를 노드로 설정을 해야한다 그래 어댑터가 오토로 되어 있어서 자동으로 build파일을 생성해준다. 하지만 svelteKit 프로젝트를 node서버에 올리기 위해 build 폴더가 필요하기 때문에 아래 명령어를 실행해준다. npm i -D @sveltejs/.. 2023. 9. 11.
반응형