728x90
반응형

2024/03 4

[C/C++] 26495번 - Big Number

https://www.acmicpc.net/problem/26495 26495번: Big Number One of the professors at PLU has had a lot of trouble reading student programs. He just cannot read that small print. Your job is to write a program that will read a positive integer and rewrite the number in large block format. The block format for each d www.acmicpc.net 문제 0 ~ 9를 각 숫자로 이루어진 큰 수 아스키아트로 만들어 출력하는 문제이다. 단순히 손으로 아스키코드를 찍던지 머리..

CGI와 Servlet, 그리고 WS와 WAS

CGI와 Servlet에 대해 이야기하기 전에 먼저 WS와 WAS의 차이에 대해서 이야기하도록 하겠습니다. 일반적으로 웹서버라고 하면 WS와 WAS를 모두 통칭하는 경우가 많지만 이 글에서는 정적인 웹 페이지만을 반환하는 WS와 동적인 요청또한 처리할 수 있는 WAS를 분리해서 설명하도록 하겠습니다. Web Server (WS) WS의 정의는 다음과 같습니다. 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램 또는 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터 즉 웹서버란 HTTP 프로토콜에 따른 요청을 받아서 HTML과 같은 정적인 웹 페이지를 반환하는 프로그램이나 컴퓨터를 의미한다고 이해할 수 있습니다. 결론적으..

스프링 동시성 문제 해결법의 종류와 장단점

동시성 문제란 무엇인가?Concurrency problems occur when multiple transactions are being executed on the same database in unrestricted problems. 동시성 문제는 동일한 데이터베이스에서 여러 트랜잭션이 동시에 실행될 때 발생합니다. 즉, 동시성 문제는 동일한 데이터에 대해 여러 트랜젝션이 동시에 수행될 때 발생하는 문제입니다. 스프링에서 동시성 문제 해결의 분류스프링에서 동시성 문제를 해결할 수 있는 방법은 크게 3가지로 나눌 수 있습니다. 1. 코드단에서 지원하는 Lock을 이용한 Application 내부 스레드 동기화 2. MongoDB, Redis와 같은 인메모리 DB를 이용한 트랜젝션 동기화 3. DB자체에..

Develop(개발) 2024.03.17

스프링이 어떻게 여러 요청을 동시에 처리할 수 있을까?

스프링의 다중 요청 처리 우선 스프링은 멀티쓰레딩 환경입니다. 그렇기 때문에 동시에 발생하는 여러 요청에 대해서 여러 쓰레드로 나눠서 비동기로 요청을 처리할 수 있습니다. 그러면 스프링에서 멀티쓰레딩을 어떻게 지원할까요? 스프링 내장 서블릿 컨테이너 Tomcat 스프링은 기본적으로 설정된 서블릿 컨테이너로 내장 웹서버인 Tomcat을 사용합니다. 이 Tomcat에서 멀티쓰레딩을 지원하기 위한 쓰레드풀을 기본적으로 생성해서 관리합니다. 쓰레드풀이란 쓰레드를 생성하고 제거하는데 드는 컨텍스트 스위칭과 같은 오버헤드를 줄이기 위해 미리 쓰레드를 만들어두고 관리하는 패턴입니다. 이 쓰레드풀의 쓰레드들을 통해 비동기 요청을 처리합니다. Tomcat 쓰레드풀 기본 설정 server: tomcat: threads: ..

Develop(개발) 2024.03.10
728x90
반응형