Home
Dohyun's Blog
Cancel

운영체제, 컴퓨터 구조, 인터럽트, 시스템 콜

운영체제 운영체제는 앞단에 어떤 인터페이스를 두느냐에 따라 GUI와 CUI로 나눌 수 있다. GUI(Graphical User Interface) 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스이다. windowOS, macOS 등 현대의 OS가 이를 대표한다. CUI(Character User Interface) 사용자가 키보드만을 이용...

MVC 프레임워크 제작(프론트 컨트롤러의 도입)

프론트 컨트롤러 서블릿을 컨트롤러, JSP를 뷰로하는 MVC 패턴을 만들어봤다. 공통 처리가 힘들어 반복되는 작업이 많은 문제가 있었다. 이를 해결하기 위해 프론트 컨트롤러를 도입해보자. 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다. 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아 호출한다. 공통 처리가 가능하다. ...

데이터베이스 정규화

정규화 과정 릴레이션 간의 잘못된 함수 종속관계로 인해 데이터베이스 이상 현상이 일어나는 것을 해결하는 과정 저장 공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 분리하는 과정 이상현상(anomaly)? 데이터베이스 설계를 잘못했을 때 불필요한 데이터 중복이 발생하여 릴레이션에 대한 데이터의 삽입, 갱신, 삭제 연산을 수행할 때 ...

서블릿, JSP 그리고 이 둘로 만드는 MVC 패턴

간단한 회원 관리 애플리케이션을 서블릿, JSP로 만들어보면서 이 둘의 한계를 알아보고 MVC패턴까지 구현해본다. 회원관리 - 서블릿 servlet/domain/member에 해당 클래스를 만든다. member에 대한 save, find 기능 등이 있는 memberRepository 클래스도 만든다. 웹 애플리케이션 만들기 서블릿으로 ...

조인(JOIN), DB 데드락 해결방법

조인 (join) 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어 하나의 결과물을 만드는 것을 말한다. MySQL에서는 JOIN 쿼리로, MongoDB에서는 lookup 쿼리로 이를 처리한다. 단 MongoDB에서는 lookup은 되도록 지양해야 한다. MongoDB는 조인 연산에 대해 관계형 DB보다 성능이 떨어진다고 여러 벤치마크 테스트에서 ...

데이터베이스, 엔진 그리고 인덱스에 대하여

RDBMS와 NoSQL의 차이 관계형 데이터베이스 (RDBMS) RDBMS는 행과 열을 가지는 표 형식의 데이터를 저장하는 형태의 데이터베이스를 가리킨다. SQL이라는 언어를 써서 조작한다. MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등이 있다. MySQL 대부분의 운영체제와 호환되며 현재 가장 많이 사용하는 ...

서블릿

서블릿 시작 스프링 부트 환경에서 서블릿을 등록하고 사용해본다. 참고 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 후 톰캣 서버를 실행하면 된다. 이러한 과정은 번거롭기 때문에 스프링부트를 사용해 톰캣 서버를 설치없이 편리하게 서블릿 코드를 실행한다. 스프링부트 서블릿 ...

트랜잭션

트랜잭션 데이터베이스에 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말한다. 데이터베이스에 접근하는 방법은 쿼리이므로, 즉 여러개의 쿼리들을 하나로 묶는 단위를 말한다. 커밋과 롤백 커밋은 여러 쿼리가 성공적으로 처리되었다고 확정하는 명령어이다. 트랜잭션 단위로 수행되며 변경된 내용이 모두 영구적으로 저장되는 것을 말한다. 커밋이 수행되...

데이터베이스 기본

데이터베이스 일정한 규칙, 규약을 통해 구조화되어 저장되는 데이터의 모음. DBMS (Database Management System) 데이터베이스를 제어, 관리하는 통합 시스템. DB 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. DB는 실시간 접근과 동시 공유가 가능하...

대규모 트래픽으로 인한 서버과부화 해결 방법

대규모 트래픽으로 인한 서버 과부화 해결 방법 서버 과부하? 서버가 리소스를 소진하여 들어오는 요청을 처리하지 못할 때 발생한다. 이 때 서버는 사용자의 웹 요청을 처리하지 못해 응답 없음을 보이게 된다. 어떤 주문의 할인 이벤트, 인기 있는 공연의 예매, 수강 신청 등등의 경우 발생할 수 있다. 모니터링을 통한 자원 할당 서버 과...