목록전체 글 (88)
Zero To One
1. MVC 패턴이란? - 모델 (Model), 뷰(View), 컨트롤러 (Controller)로 이루어진 디자인 패턴 - 애플리케이션의 구성 요소를 3가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발 가능 - 장점 : 재사용성, 확장성 - 단점 : 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해짐 2. 구성요소 2-1. 모델 - 데이터와 비즈니스 로직을 관리 - 앱이 포함해야할 데이터가 무엇인지를 정의한다. (데이터베이스, 상수, 변수 등) - 뷰 (View)에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신한다 2-2. 뷰 - 레이아웃과 화면을 처리 - 뷰는 항목이 사용자에게 보여지는 방식을 정의하며, 표시할 데이터를 모델로부터 받는다 - 모델이 가..
1. 배경 마구잡이 다운로드로 인해 파일을 정리할겸 쉘스크립트를 만들어서 정리하면 어떨까...생각해보았습니다. 2. 코드 열심히 찾아보면서 어떻게든 해보았다. 다운로드폴더에 들어가서 .zip 확장자로 되있는 파일들을 보여주고, y or n 를 입력한다. y를 입력하면 .zip의 모든 파일을 삭제되고, n을 입력하면 나간다. #!/bin/bash cd /home/jaehyeok/Downloads find . -type f -name "*.zip"; while true; do read -p "Do you want to delete *.zip?(y/n) " yn case $yn in [Yy]* ) sudo find . -type f -name '*.zip' -exec rm {} \; break;; [Nn]* ..
디버깅이란? : 코드에 어디서 문제가 초래되었는지 예상하면서 문제가 되는 부분을 찾아 버그를 찾은다음 잡아나가는 과정 우리가 예상하는 (원하는) 문제나 목표를 정확하게 정의하고, 현재 어떻게 버그가 발생하는지의 갭을 매꾸어 나가는 과정 갭(Gap)을 매꾸는데 있어서, unit testing, integration testing, control flow analysis, log ifle analysis/print logs, interactive debugging, memory dumps, profiling이 포함된다. Visual Studio에서 디버거를 사용하는 법 보고자 하는 코드라인에 숫자 옆에 빨간색으로 표시한다. 왼쪽 벌레표시를 누르고 Run current file을 선택하고 run and deb..
1. buffer : 메모리에서 고정된 사이즈의 메모리 덩어리, 배열의 형태, byte of data const buf = Buffer.from('Hi'); console.log(buf) // 48 : H, 69: i -> 유니코드 console.log(buf.length) // 2 console.log(buf[0]); //72 : H , 배열로 접근하면 아스키코드로 나옴 console.log(buf[1]); //105 : i console.log(buf.toString('utf-8')); // Hi, 문자열 형태로 변환 // creat buffer const buf2 = Buffer.alloc(2); //사이즈가 2개인 버퍼를 만듬, 메모리에서 가용가능한 덩어리를 찾아서 초기화 시켜줌 const buf..
1. os 정보 : 다양한 운영체제에서 내 서버가 동작하고 있는 환경에 대한 정보를 얻어올 수 있다. const os = require('os') console.log(os.totalmem()); console.log(os.freemem()); console.log(os.type()); console.log(os.userInfo()); console.log(os.cpus()); console.log(os.homedir()); console.log(os.hostname()); 출력 결과 > node app.js 16507834368 10154803200 Linux { uid: 1000, gid: 1000, username: 'jaehyeok', homedir: '/home/jaehyeok', shell: ..
1. 사건의 발단 Look for vision이라는 AWS 서비스를 사용했었다. vison 기술을 이용해서 제품의 결함을 탐지하는 기술이다. 거두절미하고 환불하는 과정을 말씀드리겠습니다. 2. 지원센터 우측 상단 오른쪽에 ? 표시가 있다. 누른다음 지원센터를 클릭한다. create case를 누르고 해당그림과 같이 설정한다. 이후 할것은? 싹싹 빌면된다. 소문으로는 일생에 한번만 가능하다고 한다. 필자와 같은 경우는 6/22부터 문의를 넣었고 6월29일에 요금이 삭제되었다. 2. 왜 이런 문제가 발생했는가? 2-1. 필자는 계정이 두개이다. 2-2. 리소스가 완전히 삭제된줄 알았다. 2-3. 분명 무료라고 했다. 계정이 두개였다. 이 문제가 발생한 계정이 B라고 칭하겠다. 평소에는 A계정을 사용한다. 그..
0. 아키텍쳐 1. 배경 프로젝트를 하면서 Dev환경에는 ECS(EC2)를 사용했고, Staging,Production 환경에서는 EKS를 사용했습니다. 둘다 컨테이너 서비스이지만 두개의 차이점은 명확했습니다. Network 할당 방법, LoadBalancer 분산방법 등 여러가지의 차이점이 존재하나, 프로젝트를 진행하면서 가장 시간을 많이 들인 부분인 Auth-Server와 Redis를 서로 어떻게 연결할 것인가에 대해 알아보도록 하겠습니다. 여기서 Auth-Server는 Redis를 호스트로 하는 서버입니다. 2. 처음엔 이렇게 생각했습니다 1. ECS 상에서는 하나의 작업정의 안에 2개의 컨테이너 즉, Auth-Server와 Redis를 같이 넣어주면 될 것이다. 2. EKS 상에서는 하나의 파드안..
ArgoCD를 설치하는 법은 ArgoCD 홈페이지를 참고하길 바랍니다. https://argo-cd.readthedocs.io/en/stable/getting_started/ Getting Started - Argo CD - Declarative GitOps CD for Kubernetes Getting Started Tip This guide assumes you have a grounding in the tools that Argo CD is based on. Please read understanding the basics to learn about these tools. Requirements Installed kubectl command-line tool. Have a kubeconfig fil..