전체 글 63

[컴퓨터 구조] ARM 프로세서

프로세서(Processor)란? 메모리에 저장된 명령어들을 읽어와 실행하는 유한 상태 오토마톤(Finite State Automaton)역할컴퓨터 시스템의 두뇌로서 하드웨어 전체를 제어하고 데이터를 처리 ARM : Advanced RISC MachineRISC(Reduced Instruction Set Computing) 설계를 기반으로 한 진보된 프로세서 구조진보된 RISC 기기의 약자로 ARM의 핵심은 RISC이다.RISC : Reduced Instruction Set Computing (감소된 명령 집합 컴퓨팅)단순한 명령 집합을 가진 프로세서가 복잡한 명령 집합을 가진 프로세서보다 훨씬 더 효율적이지 않을까?로 탄생함명령어가 단순하므로 하드웨어 구조가 간결해지고, 처리 속도가 최적화됨 ..

Computer Science 2026.03.09

[컴퓨터 구조] 캐시 메모리(Cache Memory)

캐시 메모리▶ 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리속도가 빠른 장치(CPU)와 느린 장치(메모리) 사이의 속도 차이로 발생하는 병목 현상 완화하기 위해 사용하는 고속 메모리웹 브라우저 캐시 파일은 하드디스크와 웹페이지 사이의 병목 현상을 완화CPU가 데이터를 필요로 할 때, 상대적으로 느린 주기억장치(RAM)에 접근하기 전, 먼저 캐시 메모리에서 데이터를 찾아 속도를 향상시킨다CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상계층 구조: CPU 내부에 위치하며 속도와 용량에 따라 L1, L2, L3 캐시로 나뉘며, L1캐시 부터..

Computer Science 2026.03.09

[컴퓨터 구조] 컴퓨터 구성및 중앙처리장치(CPU) 작동 원리

하드웨어▶ 컴퓨터를 구성하는 기계적 장치로 시스템 버스를 통해 데이터를 주고받음 시스템 버스하드웨어 구성 요소를 물리적으로 연결하여 CPU, 메모리, 주변 장치 간에 데이터, 주소, 제어신호를 주고받기 위한 공동 통로종류데이터 버스 (양방향)CPU와 기타 장치 사이에서 실제 명령어와 데이터를 전달기억장치와 입출력장치의 명령어와 데이터를 중앙처리장치로 보내거나, 중앙처리장치의 연산 결과를 기억장치와 입출력장치로 보내는 '양방향' 버스주소 버스 (단방향)CPU가 데이터를 보낼 정확한 위치(기억장치 주소)를 전달데이터를 정확히 실어나르기 위해서는 기억장치 '주소'를 정해주어야 함중앙처리장치가 주기억장치나 입출력장치로 기억장치 주소를 전달하는 통로이기 때문에 '단방향' 버스임제어 버스 (양방향)주소 버스와 ..

Computer Science 2026.03.09

[MSA] MSA(Microservices Architecture) 란?

MSA 란? Microservices Architecture (MSA)MSA는 하나의 애플리케이션을 여러 개의 독립적인 서비스로 분리하여 개발, 배포, 유지보수를 용이하게 하는 소프트웨어 아키텍처 스타일각 서비스는 특정 비즈니스 기능을 수행하며, 서로 독립적으로 배포되고 확장될 수 있음서비스 간의 통신은 주로 HTTP/HTTPS, 메시지 큐 등을 통해 이루어짐주요 특징독립적인 배포 가능성: 각 서비스는 독립적으로 배포할 수 있으며, 다른 서비스에 영향을 주지 않고 업데이트할 수 있음작은 팀 구성: 각 서비스는 작은 팀이 독립적으로 개발하고 관리할 수 있음기술 스택의 다양성: 각 서비스는 적절한 기술 스택을 자유롭게 선택할 수 있음 모놀리틱 아키텍처 & MSA 비교 정의장점단점Microservices Ar..

Spring/MSA 2025.10.29

배포 개념 정리6 ) 컨테이너 기반의 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Docker)

배포 개념 정리5 ) 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Github Actions, SCP, Code Deploy)배포 개념 정리4 ) 개인 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Github Actions)CI/CD 구축 방법 (Github Actions)장점git pull을 활용해서 변경된 부분의 프로젝트 코드에 대해서만 업데이트 하기 때문에 CI/banasu0723.tistory.com이전 과정은 위의 글 참고 전체적인 흐름1) GitHub에 코드 푸시 (git push)개발자가 로컬에서 코드를 작성하고 GitHub에 푸시, 이때 GitHub Actions가 트리거됨2) GitHub Actions가 Docker Image 생성GitHub Actions의 Workflow가 ..

Spring 2025.05.27

배포 개념 정리5 ) 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Github Actions, SCP, Code Deploy)

배포 개념 정리4 ) 개인 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Github Actions)CI/CD 구축 방법 (Github Actions)장점git pull을 활용해서 변경된 부분의 프로젝트 코드에 대해서만 업데이트 하기 때문에 CI/CD 속도가 빠르다.대부분의 CI/CD 방식들은 전체 프로젝트를 통째로 갈아끼우banasu0723.tistory.com이전과정은 위 글 참고 ! 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Github Actions, SCP) 서버 종료및 프로젝트 폴더 삭제 ( 8080포트에서 작동하고 있는 서버 종료 ) 2. Github Actions (deploy.yml) 코드 수정name: Deploy To EC2on: push: branche..

Spring 2025.05.19

배포 개념 정리4 ) 개인 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Github Actions)

CI/CD 구축 방법 (Github Actions)장점git pull을 활용해서 변경된 부분의 프로젝트 코드에 대해서만 업데이트 하기 때문에 CI/CD 속도가 빠르다.대부분의 CI/CD 방식들은 전체 프로젝트를 통째로 갈아끼우는 방식을 사용한다.CI/CD 툴로 Github Actions만 사용하기 때문에 인프라 구조가 복잡하지 않고 간단하다.단점빌드 작업을 EC2에서 직접 진행하기 때문에 운영하고 있는 서버의 성능에 영향을 미칠 수 있다.Github 계정 정보가 해당 EC2에 저장되기 때문에 개인 프로젝트 또는 믿을만한 사람들과 같이 진행하는 토이 프로젝트에서만 사용해야 한다.주로로 개인 프로젝트나 토이 프로젝트에서 CI/CD를 심플하고 빠르게 적용시키고 싶을 때 적용한다. CI/CD 실습하기사전 학습 ..

Spring 2025.05.19

배포 개념 정리3 ) CI/CD 기본 개념 / Github Actions 기본 개념

CI/CD란?Continuous Integration, Continuous Deployment 라는 의미로 테스트(Test), 통합(Merge), 배포(Deploy) 의 과정을 자동화하는 걸 의미한다.자동화를 하지 않는다면, 새로운 기능에 대한 코드를 작성한 뒤에 Commit → 브랜치에 Merge → 배포(직접 컴퓨터 서버(ex. AWS EC2)에 접속해서 새로운 코드를 다운받아 실행) 이 과정을 반복해야 한다. CI/CD를 구축할 때 사용할 툴Github Actions ✔️ ( 사용하는 이유 : 현업에서도 많이 사용하면서, 무료로 사용할 수 있고, 빌드용 서버가 따로 필요없음 )JenkinsCircle CITravis CI등등 Github Actions 란?로직을 실행시킬 수 있는 일종의 컴퓨터C..

Spring 2025.05.10

배포 개념 정리2 ) EC2 접속 & Spring Boot 서버를 EC2에 배포하기

EC2 접속하기 ✔️ [Ubuntu] 자주 사용하는 명령어 정리1. $pwd : 현재 작업 중인 디렉터리를 확인할 때 사용하는 명령어2. $ls : 현재 디렉토리 내의 파일과 디렉토리 목록을 보여주는 명령어3. $cd : 디렉토리를 변경하는 명령어- cd .. : 상위 디렉토리르로 이동- cd ~ : 홈 디렉토리로 이동 탄력적(Elastic) IP 연결하기 ✔️ 탄력적 IP가 필요한 이유EC2 인스턴스를 생성하면 할당받는 IP 는 임시적인 IP로, 인스턴스를 잠깐 중지시켰다가 다시 실행시켜보면 IP가 바뀌어있다. (IP 개수가 부족해기 때문)→ 따라서 다시 실행시켜도 바뀌지 않는 고정 IP를 할당받아야한다. 1. 왼쪽 카테고리에서 탄력적 IP를 눌러준다. 2. 탄력적 IP 주소 할당을 눌..

Spring 2025.05.09

배포 개념 정리1 ) EC2개념 및 셋팅하기

배포(Deployment)란 ? 다른 사용자들이 인터넷을 통해서 사용할 수 있게 만드는 걸 의미우리가 만든 웹 페이지나 서버를 다른 사람들이 사용하도록 인터넷에 배포하는 것 ! 주소 : localhost ( 다른 컴퓨터에서는 접근이 불가능한 주소 )↓ 배포 주소 : IP(ex. 124.16.2.1) 이나 도메인(ex. www.naver.com) 과 같은 고유의 주소 ( 다른 컴퓨터에서 접속 가능한 주소 ) IP란?네트워크 상에서의 특정 컴퓨터를 가리키는 주소ex) 13.250.15.132Port란?한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소ex) 13.250.15.132:3000 (3000 은 포트 번호) ✔️ 브라우저 창에 포트 번호를 입력하지 않는 이유?주소창에 도메인 주소를 입력해..

Spring 2025.05.09