1. 요구 사항 수집, 분석 및 분류시스템 요구 사항의 정의: 클라이언트를 위해 만들어야 할 항목을 파악하고 정리하는 과정입니다.대규모 시스템 설계의 특성:일반적인 요구 사항과의 차이: 메서드, 알고리즘, 클래스 등을 구현하는 일반적인 요구 사항과 달리, 대규모 시스템은 추상화 단계와 범위가 다르며, 설계해야 하는 솔루션도 다릅니다.추상화 수준: 추상화 단계가 높아질수록 문제 해결을 위한 자유도와 경우의 수가 다양해지며, 문제의 범위가 넓어져 시각적인 구현이 어려워집니다.기술적 제한: 기존 코드를 기반으로 메서드나 알고리즘을 수행할 경우, 입력 값과 결과 값을 알고 있어야 하고, 사용할 프로그래밍 언어에도 제한이 있습니다.2. 요구 사항의 모호성 및 그 원인모호성의 원인:엔지니어의 요구 사항 구상 부족:..
소프트웨어 아키텍처 동기 (Motivation)소프트웨어 아키텍처 설계를 잘하면 시스템 구조가 커지더라도 성능 영향을 덜 받게 되고 기능을 추가할 때 확장성이 용이합니다. 반대로 아키텍처를 잘못 설계하게되면 성능 저하와 확장성의 문제가 생기고 이것을 개선하기위해 아키텍처를 다시 설계해야 하기 때문에 재설계 비용이 발생합니다.구조의 중요성: 우리가 개발하는 모든 소프트웨어는 특정한 구조를 가지고 있습니다. 시스템의 기능을 수행하도록 코드를 작성하는 방법은 무한하지만, 설계 방식에 따라 소프트웨어는 서로 다른 특성을 지니게 됩니다.성능과 규모 영향: 소프트웨어 아키텍처는 시스템의 성능과 규모에 직접적인 영향을 미칩니다. 예를 들어, 새 기능을 쉽게 추가할 수 있는지, 오류나 보안 공격에 대한 대응 방법 등에..
node.js환경에서 실행되는 프로그램을 만들었는데 그것을 실행 파일로 만들어야해서 일렉트론을 사용했다. 파일을 패키징할때 일렉트론은 electron-forge를 추천하고 있었다. 그러다 생긴 App threw an error during load Error: Cannot find module './module' 에러 발생... 번들링 문제인거 같아서 계속 찾아보고 config 파일을 수정해봤지만 계속 오류가 발생했다..그러다가 로그를 찬찬히 뜯어봤더니 다음과 같은 경고문이 있었다.Vite의 Node API에서 CommonJS (CJS) 빌드가 더 이상 지원되지 않는다고 한다. Node.js 환경에서 require로 모듈을 로드해 사용하고 있었는데 CommonJS 방식을 ES Module 방식으로 모두 ..
32비트 환경 운영체제 64비트 환경 운영체제라는 말을 들어봤을거다. 32비트 환경 운영체제는 32비트 아키텍쳐에 대응되는 운영체제를 말하고, 64비트 환경 운영체제는 64비트 아키텍쳐에 대응되는 운영체제를 말한다. 그렇다면 32비트와 64비트 아키텍쳐란 뭘까? 그것을 알아보자.기본개념비트(Bit)란?컴퓨터가 처리하는 이산 데이터의 양을 나타내는 가장 작은 단위이며 0과 1 이진법을 사용해 나타낸다.32비트와 64비트 아키텍처란?32비트 아키텍쳐: 한 번에 32비트 데이터 양을 처리할 수 있는 CPU구조64비트 아키텍쳐: 한 번에 64비트 데이터 양을 처리할 수 있는 CPU구조메모 주소 지정 능력 32비트 시스템: 이론적으로 최대 4GB의 RAM을 지원한다. 이는 2^32개의 메모리 주소를 사용할 수 있..