본문 바로가기

분류 전체보기321

마이크로 서비스 아키텍처 (MSA) MSA란 소프트웨어 개발 기법 중 하나로, 어플리케이션 단위를 목적으로 나누는 것 Monolithic vs MSA MSA가 도입되기 전, Monolithic 아키텍처 방식으로 개발이 이루어졌다. 한 덩어리에 해당하는 구조로 이루어진 Monolithic은 모든 기능을 하나의 어플리케이션에서 비즈니스 로직을 구성하여 운영한다. 따라서 개발을 하거나 환경설정에 있어서 간단한 장점이 있어 작은 사이즈의 프로젝트에서는 유리하지만 시스템이 점점 확장되거나 큰 프로젝트에서는 단점이 존재한다. 빌드/테스트 시간 증가 : 한가지 수정사항이 있어서 시스템 전체를 빌드해야 한다. 즉 유지보수가 힘들다. 작은 문제가 시스템 전체에 문제를 일으켜서 만약 하나의 서비스 부분에 트래픽 문제로 서버가 다운되면 모든 서비스 이용이 불.. 2023. 2. 13.
백준 4344번 평균은 넘겠지 문제 자체는 어렵지 않지만 아직도 자바스크립트가 어렵다... 파일 입출력 때문에 런타임에러가 도대체 얼마나 났는지 모르겠음; const fs = require("fs"); //let inputArr = fs.readFileSync(__dirname + '/input.txt').toString(); VSCode용 input 받기 const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let inputArr = fs.readFileSync(filePath).toString(); // console.log("inputArr", inputArr); inputArr = inputArr.split("\n"); let caseCoun.. 2023. 2. 12.
데브옵스 DevOps 소프트웨어 개발자와 정보기술 전문가 간의 소통 협업 및 통합을 강조하는 개발 환경이나 문화 목적 : 소프트웨어 제품과 서비스를 빠른 시간 안에 개발 및 배포 소프트웨어 제품이나 서비스를 알맞은 시기에 출시하기 위해 개발과 운영이 상호 의존적으로 대응해야 한다는 의미 애자일 기법 실질적인 코딩을 기반으로 일정한 주기에 따라 지속적으로 프로토타입을 형성하고 필요한 요구사항을 파악하며 이에 따라 즉시 수정사항을 적용하여 결과적으로 하나의 큰 소프트웨어를 개발하는 적응형 개발 방법 지속적 통합 통합 작업을 초기부터 계속 수행하여 지속적으로 소프트웨어의 품질 제어를 적용하는 것 2023. 2. 12.
Blocking/Non-Blocking 과 Synchronous/Asynchronous Blocking/Non-Blocking 호출된 함수가 호출한 함수에게 제어권을 건네주는 유무의 차이 함수 A, B가 있고 A 안에서 B를 호출했다고 가정했을 때 호출한 함수는 A이며, 호출된 함수는 B가 된다. 현재 B가 호출되면서 B는 자신의 일을 진행해야한다, 즉 제어권은 B에게 주어진 상황이다. Blocking : 함수는 B는 할일을 마칠 때까지 제어권을 가지고 있고 A는 B를 기다려야 한다. NonBlocking : 함수 B는 할일을 마치지 않았어도 A에게 제어권을 바로 넘겨준다. A는 B를 기다리면서도 다른 일을 진행할 수 있다. 호출된 함수에서 일을 시작할 때 바로 제어권을 리턴해주느냐 할일을 마치고 제어권을 주느냐에 따라 블록과 논블록으로 나눠진다. Synchronous/Asynchronou.. 2023. 2. 11.