본문 바로가기
728x90
반응형

분류 전체보기166

[Cloud] 컨테이너 오케이스트레이션 툴 Docker Swarm vs Kubernetes 현재 저희 회사에서는 MSA로 독립적인 배포 가능한 서비스를 준비하고 있습니다. 오케스트레이션 관리를 위해 swarm을 쓸지 kubernetes를 쓸지에 대한 논의가 나와 한 번 정리해 보자는 생각이 들었어요. Container Orchestration 우선 오케스트레이션이란 무엇일까요? 컨테이너의 배포, 관리, 확장, 네트워킹의 자동화입니다. 회사에서는 수백 또는 수천개의 컨테이너와 호스트가 있을 것이고 배포하고 관리하는 입장에서는 오케스트레이션을 필요한거죠. 컨테이너에 MSA를 구현하면 스토리지, 네트워킹, 보안과 같은 서비스를 간편하게 오케스트레이션 할 수 있습니다. 오케스트레이션 = 컨테이너 배포 관리 자동화라고 생각하면 좋을 것 같습니다. 이때, 오케이스레이션 도구로 Docker Swarm과 K.. 2022. 6. 22.
[Docker] Compose 생성하면 container? app! ※ 여기에서는 compose를 생성하는 작업은 보여드리지 않습니다. Docker Compose란? Docker Compose는 여러 개의 container를 실행시키는 툴입니다. 즉, 여러분이 docker-compose.yml에 services에 적어둔 대로 여러개의 container가 생기는거죠. container? app! docker-compose.yml를 잘 작성하여 실행시켜주니 잘 만들어진 것을 확인할 수 있습니다. Docker Desktop에서 보면 이렇게 구성되어져 있는 것을 볼 수 있는데요. 2개의 container가 하나의 '무언가'에 속해있습니다. 저는 처음에 '무언가'가 또 다른 컨테이너라고 생각했는데..아니었습니다! '무언가'는 바로 app이었습니다. 즉, 하나의 app 안에 두개.. 2022. 6. 15.
[Docker] Hub push error 해결 Docker Hub에 push를 할려고 하는데 2가지 오류를 만나게 되었다. 결국 해결하여 솔루션에 대해 공유하기 위해 포스팅 시작합니다. 문제 해결을 하고 싶은 분들은 2번부터 보시면 됩니다. 1. An image does not exist locally with the tag 우선 왜 이 녀석을 만났는지 말하자면 docker hub에 레포를 생성한 후에 그 아래에 있는 커맨드가 나온다. 나온 커맨드를 그대로 가져다 쳐봤지만 존재하지 않는다는 오류 메시지만 나왔다. 도대체 무엇이 문제인지는 다른 사람들의 글을 보다가 눈치채게 되었다. docker images 명령어를 이용해서 이미지를 불러오면 만들어놓은 이미지를 볼 수 있다. 근데 여기에서 주목해야 하는 점은 레포(Repository)의 이름이다! 눈.. 2022. 6. 13.
[TypeScript] Optional Chaining - 옵셔널 체이닝 옵셔널 체이닝이란 null이나 nudefind인 값이 반환되면, 즉시 중단하고 undefined를 반환하는 문법입니다. 아마도 객체의 내부를 사용할 때 Object is possibly 'null'.ts(2531) 이라는 오류를 접하게 되었습니다. null 값 처리 중 가장 나은 방법이 옵셔널 체이닝이라는 것을 알게 되었어요. 처음 보는 문법이라 정리해보았습니다! const plusRoute = groupRouter?.route 옵셔널 체이닝은 객체 뒤에 ?를 사용하면 됩니다. 그렇다면 ?는 무슨 역할을 해주는 걸까요? 처음엔 선택적 프로퍼티라고 생각했어요. 하지만..! 선택적 프로퍼티랑 아예 다르더라고요. (당연함..이름도 다름 ㅎ..) const plusRoute = groupRouter ? grou.. 2022. 6. 7.
[MongoDB] lean() 메서드로 JavaScript Object 만들기 JavaScript로 객체를 합치는 방법을 찾고 있었습니다. 가장 간단한 방법인 Spread Operator를 이용했지만 생각과 다른 결과값이 나와 당황했어요. { "result": 100, "data": { "$__": { "activePaths": { "paths": { ... }, "states": { "ignore": {}, "default": {}, "init": { ... }, "modify": {}, "require": { ... } }, "stateNames": [ "require", "modify", "init", "default", "ignore" ] }, "skipId": true, "strictMode": true, "selected": { ... }, "fields": { ... .. 2022. 5. 30.
npm 명령어 모음 npm 설치 npm i npm dev 설치 npm i --sava-dev npm 삭제 npm uninstall 2022. 5. 30.
[NodeJS] API 문서 툴 Swagger 사용해서 API 문서 자동화 (+ swagger-autogen) 회사를 다니면서 프론트와 백엔드가 협업하기 위해서 가장 필요한 요소가 API 문서라는 것을 알았습니다. 클라이언트-서버 간의 통신을 정리하는 것이 API 문서입니다. 근데 이걸 아주 조금이라도 잘못 쓰거나 누락시키면 큰일이 됩니다. 그렇기 때문에 API 문서를 작성해주는 툴들이 존재하고 그중에서 가장 유명한 Swagger입니다. Swagger를 찾아보니 일일이 주석을 작성해야해서 굳이 이걸 써야 하는가에 대해 고민했습니다. 귀찮은 것을 싫어하는 개발자답게 좀 더 찾아보니 swagger를 자동 생성해주는 라이브러리가 있더라고요! swagger-autogen을 이용해서 한 번 API 문서를 자동으로 만들어보도록 하죠. 1. 서버(nodemon 포함)를 멈추고 라이브러리 설치 - 매우 중요 ⭐️⭐️⭐️⭐️⭐️.. 2022. 5. 26.
[정보] 프로토타입과 프로토타이핑이란? 프로토타입 본격적인 상품화에 앞서 성능을 검증하고 개선하기 위해 간단히 핵심 기능만 넣어서 제작한 기본 모델을 말한다. 시제품, 견본품이라고 생각하면 된다. 특히 IT 산업에서 활용도가 높다. 프로토타이핑 본격적으로 제품 개발과 생산에 들어가면 도중에 중단하거나 최소하는 것이 쉽지 않기에 사전에 프로토타입을 제작하고 검증 과정을 거쳐 위험 부담을 최소화한다. 예상 고객에게 프로토타입을 사용해보게 하고 피드백을 받아 제품 개선 시 반영하는 것이 프로토타이핑이다! 대부분 프로토타이핑은 피그마, 오븐 등 툴을 이용하여 UI/UX 적 측면에서 기획하고 설계한다. 2022. 3. 22.
Notion API - 데이터 불러오기 노션 API를 쓸 수 있다는 정보를 얻자마자 바로 써보기로 결정했다. 순서대로 실행주면 노션 API를 사용할 수 있을 것이다. 1) API 발급 받기 https://www.notion.so/my-integrations Notion – 메모, 작업, 위키, 데이터베이스를 위한 올인원 워크스페이스 매일 쓰는 여러 업무용 앱을 하나로 합친 새로운 도구. 당신과 당신의 팀을 위한 올인원 워크스페이스예요. www.notion.so 위 주소를 클릭해서 API를 발급 받아주면 된다. 새 통합 만들기를 클릭 후 정보를 기입해주면 끝. 2) 데이터베이스 만들기 노션에서 간단한 데이터 베이스를 만들어준다. 3) 워크페이스와 공유하게 만들기 데이터베이스에 입력한 데이터들을 가지고 올려면 워크페이스와 공유가 되어야 한다. 해.. 2022. 3. 21.
728x90
반응형