본문 바로가기

전체 글96

운영체제 - 프로세스와 스레드 프로세스(Process)란?프로세스는 프로그램을 실행 시켜 정적인 프로그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태를 말한다. 즉, 컴퓨터에서 작업 중인 프로그램을 의미한다. 프로세스 상태생성 상태(create) : 프로세스의 생성준비 상태(ready) : 지금 당장 cpu를 할당받아서 실행할 수 있는 상태실행 상태(running) : 프로세스가 CPU를 차지하여 명령어들 실행대기 상태(blocked)지금 당장 실행할 수 없는 상태(이벤트를 기다리고 있는 상태)주로 입출력 장치 사용을 요청했을 때 일어남입출력 작업이 완료됐을 때까지 대기상태임.종료 상태(terminated) : 프로세스의 실행 종료 준비 -> 실행디스패치 : 준비 큐 맨 앞에 있는 프로세스가 프로세서를 점유하는 것다중 프로그래.. 2025. 3. 10.
운영체제 - 메모리 영역 메모리 영역프로그램이 실행되기 위해선 먼저 프로그램이 메모리에 로드되어야 한다. 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고, 각각의 메모리 공간은 상호작용하며 프로그램을 실행한다. 메모리 공간(RAM)은 크게 코드, 데이터, 스택, 힙 영역으로 나뉜다.코드 영역(텍스트 영역)작성한 소스코드가 저장되는 영역으로 텍스트 영역이라고도 부른다.실행 가능한 코드. 기계어(0, 1)로 이루어진 명령어함수, 제어문, 상수 등이 여기에 지정된다.Read-only 영역. 프로세스가 함부로 변경할 수 없고 변경 시 오류를 발생시킨다.데이터 영역프로그램의 시작과 동시에 할당되고 프로그램이 종료되면 메모리가 소멸된다.전역변수, 정적변수, 배열, 구조체 등이 저장*Data(GVAR)영역 : 초기화.. 2025. 3. 10.
컴퓨터 구조 - 기본, 명령어 컴퓨터 구조란 무엇일까?모든 프로그램은 컴퓨터 부품이 실행한다. : 성능&용량&비용프로그램을 이루는 두 정보(0과 1로 이루어진 정보) : 명령어, 데이터명령어 : 컴퓨터를 동작시키는 실질적인 정보데이터 : 명령어의 대상(재료)컴퓨터 네 가지 핵심 부품CPU : 명령어 해석, 실행 담당하는 장치내부 구성 : 레지스터(저장장치, 여러개), ALU(계산기 회로), 제어 장치(명령어 해석, 제어 신호)메인 메모리 & 캐시 메모리 : 실행 중인 프로그램 저장하는 장치(전원이 꺼지면 삭제)주소보조기억장치 : 보관할 프로그램 저장하는 장치(전원이 꺼져도 저장 유지)HDD, SSD, ...입출력장치 : 컴퓨터 내외부와 정보를 주고받는 장치모니터, 키보드, 스피커, ... 명령어고급 언어로 작성된 소스 코드는 내부적으.. 2025. 3. 2.
HTTP Basic 인증 방식 HTTP Basic 구성인증 프로세스가 실패했을 때, 특정 비즈니스 로직을 수행하도록 구현하려면 어떻게 해야 할까?인증 과정에서 클라이언트로 반환하는 값의 일부를 설정하기 위해서는 어떻게 해야 할까?[SecurityFilterChain을 설정]HttpSecurity를 파라미터로 받음HttpSecurity의 httpBasic을 설정이 방식을 활용하면 인증 방식과 관련된 일부 구성을 설정할 수 있음 HttpSecurity기본 HTTP Basic 설정을 하기 위해서는 Customizer.withDefaults()를 사용하면 됨만약 realm 이라고 하는 인증 영역을 설정하고 싶은 경우에는 httpBasic의 속성을 활용하면 됨.        => 401 Unauthorized가 되게끔 API를 호출하면 Bas.. 2025. 1. 1.
PasswordEncoder 와 암호처리 PasswordEncoder 인터페이스PasswordEncoder 인터페이스를 통해 스프링 시큐리티에서 사용자 암호를 검증하는 방법을 알 수 있음인증 프로세스에서 암호가 유효한지 확인하는 과정을 거침암호에 대한 인코딩을 수행할 수 있음인터페이스에는 두 개의 메소드과 하나의 default 메소드가 정의되어 있음 encode(CharSequence rawPassword)주어진 암호의 해시를 제공암호화를 수행matches(CharSequence rawPassword, String encodedPassword)인코딩된 문자열이 원시 암호와 일치하는지 검증upgradeEncoding(CharSequence encodedPassword)기본적으로 false를 반환true를 반환하도록 메소드를 재정의하면 보안 향상을.. 2024. 12. 31.
UserDetails 사용자 관리를 위한 인터페이스 소개UserDetailsService와 UserDetailsManager 인터페이스를 이용하여 사용자 관리를 수행함(CRUD 기능)UserDetailsService는 사용자 이름으로 사용자를 검색함(Read)UserDetailsManager는 사용자 추가, 수정, 삭제 작업을 수행함(Create, Update, Delete)두 인터페이스의 분리는 5대 객체 지향 프로그래밍 원칙(SOLID) 중 I에 해당하는 Interface Segregation Principle에 해당함인터페이스 분리 원칙 : 사용하지 않는 인터페이스에 강제로 의존해서는 안됨따라서, read와 write 관련 인터페이스를 분리햐두었기 때문에 프레임워크의 유연성이 향상됨사용자를 인증하는 기능한 필요하면 Us.. 2024. 12. 31.