목록2024/11 (4)
백엔드 개발자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DIiyz/btsKZu3Tglg/8Kys3j3cU2Enfd1lYj3igk/img.png)
프로세스 (Process)1. 간단한 정의프로세스는 프로그램을 실행해서 메모리에 올라와 CPU 할당을 받을 수 있는 상태라고 할 수 있다.프로그램을 실행하면 OS는 프로그램을 메모리에 적재하고, 이를 위한 프로세스 제어 블록(PCB)을 초기화한다. 그리고 Ready Queue에 추가되어 CPU 할당을 받을 수 있는 준비 상태가 된다.2. 메모리 구조2.1. 코드 영역실행할 프로그램의 명령어(코드)가 저장된 영역이다.예를 들어, 함수 정의, 루프, 조건문 등의 실제 기계어 코드가 여기에 포함된다.읽기 전용(Read-Only)으로 설정되어 보통 변경되지 않는다.2.2. 데이터 영역전역 변수와 정적 변수 등이 저장된다.초기화된 변수는 초기화 데이터 세그먼트에 저장되며, 초기화되지 않은 변수는 BSS(Block..
다양한 공격 기법1. Cross-Site Scripting (XSS)공격대상 : 사용자 => 사용자가 서버를 신뢰한다는 점을 악용.XSS는 공격자가 악성 스크립트를 웹 애플리케이션에 삽입하여 사용자의 브라우저에서 실행되도록 만드는 공격이다. 이를 통해 공격자는 사용자의 세션 쿠키를 탈취하거나, 브라우저에서 악성 명령을 실행하여 데이터 노출, 계정 탈취 등을 유도할 수 있다.XSS는 주로 다음과 같은 방식으로 발생한다:Stored XSS: 공격자가 서버에 악성 스크립트를 저장하고, 다른 사용자가 이를 로드하면서 실행된다.Reflected XSS: 사용자가 클릭한 URL에 포함된 악성 스크립트가 브라우저에서 즉시 실행된다.DOM-based XSS: 클라이언트 측 코드에서 DOM 조작을 통해 악성 스크립트가 ..
동기(Synchronous)- 작업을 순차적으로 실행한다.- 호출자가 작업 완료를 기다리며, 작업이 끝난 후에만 다음 작업을 진행한다.- 코드가 단순하고 직관적이지만 앞 작업이 완료될때까지 기다려야 한다.비동기(Asynchronous)- 호출자가 작업을 요청한 후 결과를 기다리지 않고 다른 작업을 수행한다.- 예: 네트워크 요청에서 비동기 콜백을 설정하여 응답 도착 시 처리.- 호출자가 대기하지 않으므로 효율적이지만 콜백과 상태 관리로 코드가 복잡해질 수 있다.동기와 비동기는 작업의 흐름과 실행 순서를 설명하는 개념이다. 동기는 실행 시점이 일치하기 때문에 작업이 끝나는 동시에 다른 작업이 시작된다.반면 비동기는 실행 시점이 다를 수 있다.기본적으로 JAVA에서는 동기이다. 예를 들어 어..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCUBXV/btsKAYQoCcH/Y2VtFJSKHiHjCfbZ5htoRK/img.png)
1. 트랜잭션(Transaction)이란?트랜잭션은 데이터베이스에서 수행되는 하나의 작업 단위로, 데이터베이스의 상태를 일관성 있게 유지하고, 여러 작업을 하나의 원자적 작업으로 묶어 처리할 수 있도록 한다. 즉, 트랜잭션 내에서 여러 쿼리가 실행되며, 그 결과가 모두 성공적으로 처리되거나, 아무것도 처리되지 않은 상태로 롤백되어야 한다.하나의 논리적인 작업 단위라고 할 수 있다.A가 B에게 돈을 송금한다.라는 작업은 A의 계좌를 확인하고, 돈을 인출하고, B의 계좌를 확인하고, 돈을 더하는 작업으로 이루어질 수 있을 것이다.실제 작업과 다를 수 있지만 간단하게 나타내면 이렇게 표현할 수 있을 것이다.이런 트랜잭션은 다음과 같은 ACID 속성을 만족해야 한다:Atomicity (원자성): 트랜잭션은 모든..