레거시
-
보편적인 프로그래밍 개념 - 데이터 타입24년 11월 이전/Rust 2022. 3. 6. 20:00
개발 환경 이 문서에서 진행한 필자의 개발 환경은 다음과 같다. desktop: macbook pro 13 2020 cpu: Intel Core i7 4core memory: 32GB rustup v1.24.3 cargo v1.58.0 이 문서는 여러분이 cargo가 설치되어 있다고 가정한다. 만약 cargo를 설치하지 않았다면, 이 문서를 참고하여 설치 및 설정을 진행하길 바란다. cargo 설치가 되었다면 이번 장을 위한 프로젝트를 생성한다. # 프로젝트 생성 $ cargo new --bin datatypes # 프로젝트 디렉토리로 이동 $ cd datatypes 데이터 타입 rust에서의 모든 값들은 고정된 특정 "타입"을 갖는다. 이것은 rust는 컴파일 시에 모든 변수의 타입이 정해져야 함을 의..
-
보편적인 프로그래밍 개념 - 변수와 상수24년 11월 이전/Rust 2022. 2. 26. 19:46
개발 환경 이 문서에서 진행한 필자의 개발 환경은 다음과 같다. desktop: macbook pro 13 2020 cpu: Intel Core i7 4core memory: 32GB rustup v1.24.3 cargo v1.58.0 이 문서는 여러분이 cargo가 설치되어 있다고 가정한다. 만약 cargo를 설치하지 않았다면, 이 문서를 참고하여 설치 및 설정을 진행하길 바란다. cargo 설치가 되었다면 이번 장을 위한 프로젝트를 생성한다. # 프로젝트 생성 $ cargo new --bin variables # 프로젝트 디렉토리로 이동 $ cd varialbes let let은 rust에서 변수를 선언하기 위한 키워드이다. 변수를 선언하려면 이런 형태로 선언해야 한다. let 변수_이름: 타입 = ..
-
cargo 맛보기24년 11월 이전/Rust 2022. 2. 20. 20:48
개발 환경 이 문서에서 진행한 필자의 개발 환경은 다음과 같다. desktop: macbook pro 13 2020 cpu: Intel Core i7 4core memory: 32GB rustup v1.24.3 cargo vv1.58.0 이 문서는 여러분이 cargo가 설치되어 있다고 가정한다. 만약 cargo를 설치하지 않았다면, 이 문서를 참고하여 설치 및 설정을 진행하길 바란다. 또한 이 문서에서 진행하는 각 명령어는 MacOS, Linux 등의 OS는 잘 동작하겠지만 Windows는 동작하지 않을 수도 있다. 그 때는 "참고"절의 문서들을 참고하라. cargo란 cargo는 rust의 빌드 시스템 및 패키지 매니저이다. 대부분의 프로젝트는 이 도구를 통해서 관리된다. 왜냐하면 여러분이 작성한 코드..
-
rust 시작하기24년 11월 이전/Rust 2022. 2. 19. 21:05
개발 환경 이 문서에서 진행한 필자의 개발 환경은 다음과 같다. desktop: macbook pro 13 2020 cpu: Intel Core i7 4core memory: 32GB 각 명령어는 MacOS, Linux 등의 OS는 잘 동작하겠지만 Windows는 동작하지 않을 수도 있다. 그 때는 "참고"절의 문서들을 참고하라. rustup 및 cargo 설치 rustup이란 rust 버전 및 관련 도구들을 위한 커맨드라인 도구이다. rustc, rustfmt, cargo 등이 있다. rustc는 프로그래밍 경험이 있다면 gcc 등의 컴파일러라고 이해하면 편하다. 없다면, 내가 만든 rust 코드를 컴퓨터가 이해할 수 있는 언어로 변경해주는 도구라고 생각하자. rustfmt는 내가 작성한 코드를 포맷팅..
-
[Git] 삭제된 remote branch를 따라 로컬 브랜치 삭제하기24년 11월 이전/ETC 2022. 2. 2. 19:30
개요 이 문서는 merge/delete 된 원격 브랜치를 추적하여 로컬 브랜치 역시 제거하는 것에 대해 다룬다. 준비 사항은 다음과 같다. git github repository 로컬에 git clone 다음은 현재 내 Github Repository의 브랜치 상황이다. 현재는 두 개의 브랜치가 존재하고 있다. master kubernetes-in-action 하지만 내 로컬 브랜치의 상황은 다음과 같다 $ git branch -al ch02 ch03 ch04 ch05 ch06 ch07 ch08 ch09 ch10 ch11 ch12 ch13 * kubernetes-in-action master remotes/origin/HEAD -> origin/master remotes/origin/kubernetes-..
-
멀티 플랫폼 빌드를 위한 Docker Buildx24년 11월 이전/도커 2022. 1. 19. 19:30
개요 최근 Apple M1 기반의 맥북의 등장, AWS 그라비톤 서버군의 등장으로 ARM64 기반의 서버들을 지원하기 위한 도커 이미지 빌드가 필수로 되가고 있다. 따라서 이를 위한 방법으론 크게 2가지가 있다. docker build 서버를 프로세서 별로 1개씩 만들어둔다. docker buildx를 이용하여 멀티 플랫폼 빌드를 한다. 첫 방법은 매우 쉽지만 프로세스가 늘수록 서버의 대수도 늘어나야 한다. CI 배포 환경을 만들었다면, 해당 잡을 담당하는 리소스(ex: Gitlab의 gitlab-runner)가 선형적으로 증가할 것이다. 두 번째 방법은 쉬운데, 리소스 증가도 없다. 간단하게 더 많은 플랫폼들을 위한 이미지를 만들어 둘 수 있다. docker buildx는 docker 19 버전부터는 ..
-
Linux에서 Docker 설치하기 (Amazon Linux2)24년 11월 이전/도커 2022. 1. 17. 19:30
개요 이 문서에서는 Linux(Amazon Linux2) 서버에서 Docker를 설치하고 실행하는 것을 다룬다. 나의 개발 환경은 다음과 같다. instance type: t2.micro, t4g.nano os: Amazon Linux2 Docker 설치 터미널에 다음을 입력한다. # 패키지 업데이트 $ sudo yum update -y # docker 설치 $ sudo amazon-linux-extras install docker 그 후 docker --version 명령어를 다음이 출력된다. (작성일 22년 1월 17일 기준, 시간에 따라 출력문이 다를 수 있음.) $ docker --version Docker version 20.10.7, build f0df350 Docker 실행 이제 Docker..
-
[minikube] Exiting due to MK_USAGE: Docker Desktop has only xxxMB memory but you specified xxxMB레거시/트러블슈팅 2022. 1. 12. 19:30
문제 상황 현재 로컬 머신에서 minikube를 통해서 쿠버네티스 클러스터를 구성하고 있다. 개인적으로 10GB 이상의 메모리가 필요하여 쿠버네티스 클러스터를 재설치하는데 다음과 같은 에러가 발생했다. $ minikube start --memory=10Gb 😄 Darwin 11.3.1 의 minikube v1.24.0 ✨ 기존 프로필에 기반하여 docker 드라이버를 사용하는 중 ❌ Exiting due to MK_USAGE: Docker Desktop has only 3934MB memory but you specified 10240MB FAIL 문제 원인 문제 원인은 에러 로그에 명확히 명시되어있다. Exiting due to MK_USAGE: Docker Desktop has only 3934MB ..