권한 설정을 할 때 한 번 쯤 봤을 거다. 이게 단순히 ID나 코드명처럼 식별자로 부여한 임의의 숫자가 아니다.각 숫자는 권한(Permission)을 의미한다.맨 앞자리는 소유자의 권한을, 중간은 그룹에 대한 권한을, 마지막은 나머지에 대한 권한을 의미한다.각자리는 r

Hyper-V, VMware, VirtualBox 이러한 프로그램들이 전부 하이퍼버이저다.단일 물리 컴퓨터에서 여러 OS를 실행할 수 있게 해주는 소프트웨어다.가상 머신을 할당하고 관리한다. 리소스 분배 역시 하이퍼바이저의 몫이다.하이퍼 바이저 Type1과 Type2가
객체지향 프로그래밍 관련 얘기들을 주워 듣다 보면 SOLID라는 말을 한번 쯤 들어봤을 것이다. 나는 정보처리기사 준비를 하면서 처음 봤었던 것 같다.SOLID란 현대의 객체지향 프로그래밍을 위한 OOP의 5가지 설계 원칙이다. 일종의 가이드라인이다.S-(SRP, S

운영체제에서 사용하는 Virtual File System(VFS) 은 쉽게 말해 운영체제와 실제 파일 시스템 사이에 존재하는 미들 계층이다. 예를 들어 어제 객체 지향 프로그래밍에서 배운 DIP(Dependency Inversion Principle) 개념처럼, 운영체
동일한 입력값에 대해 항상 같은 결과를 반환하며 외부 상태를 변경하지 않는 함수이다.즉, 외부 변수를 참조하지 않고, 또 외부 변수를 참조해서 직접 변경하지도 않아야 한다.만약 외부의 값을 참조하고자 한다면, 그 값은 상수여야 한다.결국 상수 혹은 매개변수만을 이용한

레이스 컨디션은 dead lock(교착 상태), starvation(기아)과 함께 병행 처리의 문제 중 하나로, 공유 리소스에 대한 상호배타 미보장에 의해 발생한다.(dead lock은 유효한 진행 미보장과 starvation은 유한대기 미보장에 의해서 발생한다.)레이

TCP와 UDP의 대용량 전송 TCP와 UDP는 Transport Layer의 프로토콜이다. Transport Layer는 데이터그램 단위로 데이터를 송수신한다.(TCP의 데이터그램은 세그먼트라고 표현하나, 여기서는 데이트그램으로 통칭하겠다.) 한 개의 데이터그램의

JSON Web Token이다.인증 방식 중에 하나로, Cookie based session management(세션 인증 방식)를 대체하기 위해 등장했다. (물론 JWT도 쿠키에 저장되기는 한다. session을 안 쓸 뿐이다.)JWT는 서버의 무상태성을 유지하면서,

개발을 하다보면 환경 변수를 많이 사용하게 된다. 이는 주로, 기밀성 유지 혹은 컴포넌트가 의존성 제거를 통해 결합도를 낮추기 위해 사용된다.특히 배포 시 필요한, API 키값이나, 다른 API의 주소 등의 값들을 환경 변수로 저장하고 사용하게 된다. 별도의 파일로 관

참조 지역성 원리는 데이터에 대한 참조가 지속적으로 일어날 때, 이전에 참조한 데이터와 시간적으로 공간적으로 인접한 데이터가 연속적으로 참조될 확률이 높다는 것이다. 즉, 최근에 접근한 데이터의 주변에 반복해서 접근할 가능성이 높다.이를 근거로 CPU는 특정 데이터에

JPA는 1차 캐시를 통해 Repeatable Read 레벨의 트랜잭션 격리 수준을 어플리케이션 레벨에서 제공한다.이 Repeatable Read가 무엇일까?아니 트랜잭션 격리 수준이 무엇일까?트랜잭션 격리 수준은 동시에 실행하는 여러개의 트랜잭션들을 어느 정도로 시간