전체 글

공부하거나 삽질한 내용을 정리하는 블로그입니다.
컨테이너들은 다른 컨테이너의 OS와 별도의 자신만의 자원(DRAM 영역), CPU시간을 사용하도록 되어 있으며, 디스크와 같은 persistent storage를 사용하지 않고 기본적인 in-memory 파일시스템을 사용한다. 컨테이너가 run 명령에 의해 시작된 뒤에 우리가 작업을 하며 만들어지는 파일들은 우리에게 익숙한 persistent 장치(디스크)에 저장되는 것처럼 사용되지만 실제로는 in-memory 파일시스템에 쓰여지고 있는 것이기 때문에 컨테이너가 종료되면 같이 사라진다. 그래서 동일한 이미지로부터 컨테이너를 다시 만들어보면 이전에 저장했다고 생각한 데이터가 없게 된다. 컨테이너 볼륨 (Container volume) 이러한 단점을 해소하기 위해 제공되는 기능이 컨테이너 볼륨 (Contai..
Dockerfile(도커 파일)? -> 도커 이미지를 만들기 위해 실행되는 명령들을 모아 둔 텍스트 파일 앞에서 공부했던 도커 컨테이너 작업 과정은 image --run--> container --(exec)--> 컨테이너 내부로 들어옴 --(작업)--> exit --> commit --> 컨테이너 이미지 생성 의 순으로 이루어졌다. 이 명령들을 dockerfile에 기재하여 저장함으로써 컨테이너 이미지를 생성하는 일련의 과정을 자동화할 수 있다. ==> 명령어들을 하나하나 입력해가며 컨테이너를 수동으로 생성하는 방법 대신 dockerfile을 작성하고 build 커맨드만 사용하여 컨테이너를 생성함으로써 훨씬 간편하게 컨테이너 사용이 가능해진다. @@다시 한 번 정리하면 Dockerfile은 docker..
리액트 네이티브 공부를 시작해야 하는데 3일동안 환경세팅만 붙잡고 있다가 아무것도 못했다. 결국 문제가 있어 보이는 nvm, node.js, npm, cocoapod, react-native-cli 모두 삭제하고 최신 LTS버전으로 설치 후 프로젝트를 생성 및 실행해보니 된다. 모두 삭제하고 다시 설치하는 과정에서 사용했던 명령어들을 정리해보았다. [ nvm, node, npm 삭제 ] 터미널에 아래 명령어들 입력 sudo npm uninstall npm -g sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.* sudo rm -rf /usr/local/include/node /Users/$USER..
리액트 네이티브 환경 세팅 중 이것저것 문제가 많다. 이번에는 vscode에서 터미널을 켤 때마다 해당 메세지가 뜬다. nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local" 매번 nvm use [버전] 명령어를 사용해서 원하는 node.js 버전을 선택해줘야 된다. 터미널에 rm -R /usr/local/bin/npm /usr/local/lib/node\_modules/npm/bin/npm-cli.js rm -R /usr/local/bin/npx /usr/local/lib/node\_modules/npm/bin/npx-cli.js 라고 입력해주면 더이상 이 메세지가 뜨지 않는것 같다. 근데 일단 나는..
졸업프로젝트를 위해 리액트 네이티브 공부를 하고 있다. 강의를 하나 들으며 초기 개발 환경 세팅을 해놨었다. 하지만 nvm 버전을 다시 확인하기 위해 nvm --version 커맨드를 입력했더니 없는 커맨드라고 뜬다. .bash_profile에 환경변수 초기화 설정을 해 준 것이 터미널을 새로 켤때마다 적용이 안되며 원상복구가 되는 것이었다. .bash_profile 파일 내용이 바뀐건 아니지만 터미널을 새로 켤 때마다 source ~/.bash_profile을 해주어야 적용이 되기 때문에 상당히 귀찮게 한다. [원인] 구글링 해 본 결과 원인은 zsh에 있었다. 터미널 테마의 변경으로 bash가 아니라 zsh쉘이 된 것으로 인해 생긴 문제이다. zsh는 터미널이 실행될 때 ~/.bash_profile이..
도커 (Docker) 앞서 설명한 컨테이너 엔진(Container engine)을 만든 대표적인 회사로서 우리가 일반적으로 말하는 도커(docker)는 docker 사의 컨테이너 엔진을 지칭하는 것이다. (=>컨테이너를 실행시키는 플랫폼) 컨테이너 엔진 (Container Engine)? -> '컨테이너' 라고 불리는 소프트웨어 패키지 들을 배포하기 위해 OS 레벨에서의 가상화를 제공해주는 서비스 플랫폼이라고 생각하면 되겠다. 우리는 텍스트파일 형식의 도커 파일을 빌드하여 컨테이너 이미지(Container Image)를 만들 수 있고, 컨테이너는 컨테이너 이미지를 통해 실행될 수 있다. 이 컨테이너 이미지를 Docker Hub로부터 pull 할 수도 있고, Docker Hub로 push할 수도 있다. D..
컨테이너화 (Containerized) 현재 전 지구적으로 서비스되는 소프트웨어들은 거의 100%가 모두 컨테이너화(Containerized) 되어 있는 프로세스가 실행 중에 있는 것이라고 봐도 무방하다. 소프트웨어의 개발 및 운영(DevOps)에 있어서 몇 가지 issues가 있었다. 개발(Dev) 환경과 운영(Ops) 환경의 불일치 가볍게 실행 가능한 SW 패키지의 필요성 기존의 가상 머신(Virtual Machine)은 Infrastructure 전체를 추상화한 것이었고, 같은 OS의 가상 머신들 간에도 app에 따라 다른 라이브러리와 의존성을 갖게 되었다. 가상 머신 이미지들은 너무 무겁고 메모리 사용량이 많았기 때문에 단위 시간 내에 많은 수의 프로세스 실행이 가능한 시스템의 필요성을 느끼게 되..
· Git
vscode로 작업한 과제나 공부 내용 등을 깃허브와 연동시켜 바로바로 저장하기 위해 vscode와 깃허브를 연동해보자. 1. 먼저 연동시키고자 하는 폴더를 vscode에서 열어준다. 나는 리액트 네이티브를 공부하기 위해 노마드코더 사이트에서 강의를 들으며 만들었던 NomadWeather 프로젝트 폴더를 vscode에서 열어주었다. 2. 좌측에 있는 branch 아이콘을 클릭하고 '분기 게시'를 눌러준다. 3. public으로 선택하면 하단에 다음과 같은 팝업이 나온다. 4. 깃허브 홈페이지로 가면 해당 폴더의 원격 저장소가 추가된 것을 확인 가능 5. vscode에서 프로젝트의 내용을 수정하게 되면 vscode에 변경 사항이 일어난 소스파일이 생긴다. 6. 변경사항 목록에 있는 파일에서 +를 눌러주면 ..
· Git
깃허브에 대해 설명하기에 앞서 Remote repository(원격 저장소)에 대해서 알 필요가 있다. 이전 글에서 설명했듯이 깃(git)을 사용하면 로컬의 작업 폴더를 저장소로 지정하여 작업 기록을 저장할 수 있다. git init으로 로컬에서 저장소를 지정하는데 remote repository는 말 그대로 이 저장소를 로컬이 아닌 원격으로 두는 것이라고 생각하면 된다. 깃허브(Github)는 바로 이 원격 저장소를 서비스를 제공해주는 회사이다. 원격 저장소가 곧 깃허브가 되는 것은 아니다. 깃허브와 깃은 엄연히 다른 것이고, 깃의 원격 저장소를 제공하는 서비스들 중 하나가 깃허브인 것이다. 현재 깃허브를 사용할 때에는 의무적으로 token key를 사용해야 하며 push 등의 작업을 할 때 본인의 깃..
너무 늦은 감이 있지만 지금이라도 지금까지 공부한 내용, 혹은 공부하고 있는 내용들을 정리하기 위해 블로그를 개설했다. 기억력이 금붕어라 아무리 열심히 공부를 해도 몇달이 지나버리면 귀신같이 까먹어버리기에 기록의 중요성을 느끼고 있다… 역시 인간은 기록의 동물이다. 제발 꾸준히 정리해보자 제발ㅋㅋ
kybeen
기록하레이