Computer Science 3

웹 서버와 WAS의 차이?

웹 서버: 물리적인 서버 내에서 실행 중이며 웹 요청을 받을 수 있는 서버WAS: 프로그래밍 언어에 의해 특정 로직이 실행되는 웹 애플리케이션 서버 [웹 서버]보통 정적인 컨텐츠를 제공하는 것에 초점을 둔다.HTML ,CSS, 자바스크립트나 이미지 파일처럼 사용자가 요청한 컨텐츠를 정적인 형태 그대로 반환해주는 역할 nginx, apache가 대표적. [WAS]Web Application Server정적인 컨텐츠에 더해 사용자의 요청에 따라 어떠한 로직을 실행시킴 tomcat, undertow가 대표적.  WAS가 웹 서버의 역할도 할 수 있지 않을까?웹 서버는 WAS보다 범용성은 떨어지지만 정적인 컨텐츠만을 다루는 경우에 WAS보다 훨씬 더 좋은 성능을 보일 수 있다.

Computer Science 2024.10.26

DB Lock

[DB 락이 없다면?]데이터의 무결성이 깨질 수 있는 상황이 발생함. 예시세션1, 세션2가 각각 트랜잭션을 걸고 사용자A의 money 필드를 업데이트 하려고 한다. 초기값: 100 락이 없다면..1. 세션1이 +50을하여 150으로 만듦. 커밋은 하지 않음2. 세션2가 +100을 하여 200으로 만듦. 커밋은 하지 않음. 3. 세션1이 커밋을 한다. 150원이 되었다.4. 세션2가 커밋을 한다. 200원이 되었다.  => 결과가 250이 아닌 200이 되었다.  락이 있다면..1. 세션1이 +50을 하여 150을 만듦. 커밋은 하지 않음2. 세션2가 +100을 하려고 하는데 세션1이 락을 걸고 들어가서 접근하지 못하고 대기한다.3. 세션1이 커밋한다. 150이 반영된다.4. 세션2가 접근해서 +100을 ..

Computer Science 2024.10.07

빅오 (Big-O)에 대해..

목차빅오 표기법이란 입력 크기가 무한대로 향할 때 함수의 상한을 설명하는 수학적 표기방법 알고리즘은 궁극적으로는 컴퓨터로 구현되는데 컴퓨터의 빠른 처리 능력이라면 아무리 복잡한 알고리즘이라도 입력 크기가 작으면 금방끝나버린다. 그러므로 입력의 크기가 충분히 클 때에 관심을 갖는 것. [Big-O ?]빅오 표기법에서 "점근적"이라는 개념은, 입력 크기 n이 매우 커질 때(즉, 무한대에 가까워질 때) 알고리즘의 실행 시간이나 공간 사용량이 어떤 상한선에 점점 가까워지는 지를 표현하고자 할 때 사용하며 가장 흔히 쓰이는 것이 시간복잡도이다. 빅오를 표현할 때는 최고차 항만을 표기하며, 계수는 무시한다. 구체적인 실행시간이 아니라 실행시간의 추이만 살펴보기 때문이다.  O(1): 상수 시간 – 입력 크기에 상관..

Computer Science 2024.10.06