본문 바로가기

전체 글12

[42blind] TDD와 Github action 도입 한 줄 요약 현재까지의 개발 프로세스에 문제점을 느끼고 해결 방안으로 TDD를 도입하기로 결정했습니다. 테스트를 자동화하기 위해 github action workflows를 추가했으며, 런타임 환경이 추가됨에 따라서 환경변수를 정의하는 .env 파일을 분리했습니다. TDD 도입 Github action workflows 추가 OS: ubuntu-22.04 DB: mysql 8.0.35 (default) Engine: Node.js 20.11.0 Test: Jest ^29.5.0 환경변수(.env) 분리 .env.prod: 프로덕션 환경 .env.local: 로컬 개발 환경 secrets.ENV_TEST: github action 테스트 환경 개발 프로세스 문제점 1. 지금 API 테스트 가능한가요? 프론.. 2024. 2. 5.
[혼공컴운] 레지스터와 캐시 메모리의 차이가 무엇인가요? 레지스터 레지스터는 CPU가 연산을 위해 명령어와 데이터를 저장하는 위한 임시 저장 장치이다. CPU 안에는 목적에 따라 여러가지 레지스터들이 존재한다. ﹒프로그램 카운터(PC, Program Counter) ﹒명령어 레지스터(IR, Instruction Register) ﹒메모리 주소 레지스터(MAR, Memory Address Register) ﹒메모리 버퍼 레지스터(MBR, Memory Buffer Register) ﹒플래그 레지스터(FR, Flag Register) ﹒범용 레지스터 ﹒필요에 따라 누산기, 기억 레지스터, 주소 레지스터, 색인 레지스터 등의 기능을 수행 ﹒스택 포인터(SP, Stack Pointer) ﹒베이스 레지스터(BR, Base Regiester) 레지스터의 이름은 제조사마다 .. 2023. 11. 30.
[Linux] SSH가 무엇인가요? shell 쉘(shell)은 kernel을 제어하기 위한 인터페이스이다. kernel을 마치 껍데기처럼 감싸고 있다는 의미에서 shell이라는 이름이 붙었다. 커널(Kernel)은 쉘로부터 명령(cat, ls 등)을 받아 CPU, I/O, 메모리 등 다양한 리소스에 접근한다. 쉘은 bash, zsh 등 여러가지 종류가 있다. bash는 기존의 Bourne Shell을 대체하기 위해 만들어진 Unix용 쉘이다. 대부분의 리눅스 운영체제에서 기본으로 채택하고 있다. zsh은 bash, ksh, tcsh의 기능을 결합하여 만든 쉘로 bash보다 다양한 기능을 지원한다. 현재 macOS에서 기본으로 채택하고 있다. ssh ssh(Secure Shell)는 네트워크 상의 다른 컴퓨터에 원격으로 시스템에서 명령을 .. 2023. 11. 28.
[Linux] 접근 통제 방법 DAC와 MAC 접근통제(Access Control) 접근 통제란 디렉터리나 파일, 네트워크 소켓 같은 시스템 자원을 적절한 권한을 가진 사용자나 그룹이 접근하고 사용할 수 있게 통제하는 것이다. 시스템 자원은 객체(Object), 자원에 접근하는 사용자나 프로세스는 주체(Subject)라고 부른다. DAC(Discretionary Access Control) 임의 접근 통제(DAC)는 시스템 객체에 대한 접근을 사용자나 또는 그룹의 신분을 기준으로 제한하는 방법. 즉, 자원의 소유자가 자원에 대한 다른 사람들의 권한을 직접 제어하는 방법이다. 객체에 적용된 DAC 접근 통제는 퍼미션 정보를 통해 확인할 수 있다. 권한을 저장하는 방법에는 대표적으로 ACL(Access Control List), CL(Capability.. 2023. 11. 28.