본문 바로가기

전체 글100

동기 비동기, 싱글스레드 멀티스레드 스레드 : 프로세스 내에서 실제로 작업을 처리하는 주체 싱글스레드, 동기 작업 요청이 여러개 들어오면 하나의 스레드가 하나의 요청에 대한 결과가 나와야지 그 다음 요청을 처리하는 방식 멀티스레드, 동기 작업 요청이 들어온 만큼 스레드를 만들어서 처리한다. 100개의 작업이 들어오면 100개의 스레드를 만들어서 처리하는 방식. 싱글스레드, 비동기 여러 작업 요청이 들어오면 스레드 하나에서 작업을 받는다. 그리고 요청이 들어온 순서와 관계없이 먼저 처리된 요청에 대해서 작업을 완료한다. 멀티스레드, 비동기 여러 작업 요청이 들어오면 여러개의 스레드에서 비동기적으로 작업을 처리한다. 예를 들어, 100개의 작업 요청이 들어오면 스레드를 4개 정도만 만들어서 비동기로 처리한다면, 1개의 스레드당 작업을 25개씩.. 2021. 1. 29.
Servlet 서블릿은 URL 요청을 처리하는 프로그램 이라고 생각하면 된다. 웹 애플리케이션 서버를 직접 구현할 경우 1. TCP/IP 연결 대기, 소켓 연결 2. HTTP 요청 메시지 텍스트를 파싱해줘야하고 읽는다. 3. POST 방식인지, 어떤 URL인지 파악해줘야한다. 4. Content-type을 확인한다. 5. Content-type에 따라서 HTTP Body의 내용을 사용할 수 있도록 파싱한다. 6. URL에 따라서 프로세스를 실행한다. ex) /save 라면 저장 프로세스를 실행 7. 비즈니스 로직을 실행. 데이터베이스에 데이터에 대한 요청을 실행해준다. 8. 실행한 비즈니스 로직의 결과를 HTTP 응답 메시지로 생성해준다. 9. TCP/IP에 응답 메시지를 전달하고, 소켓을 종료해준다. 근데 서블릿을 .. 2020. 6. 14.
Java 환경변수 설정이 필요한 이유 운영체제는 하드웨어를 사용할 수 있게 해주는 프로그램이다. 운영체제가 아닌 프로그램(어플리케이션)도 운영체제를 거쳐 결국 하드웨어를 통해 동작하게 되는 것인데, 운영체제가 없으면 하드웨어를 사용할 수 없으니 어플리케이션도 사용이 불가능해지는 것이다. 환경 변수를 설정하는 것은 운영체제가 컴퓨터의 어떤 경로에서든지 파일을 인식하도록 하는 것이다. 즉 자바 환경 변수를 등록하는 것은 컴퓨터의 어떤 경로에서든 운영체제가 자바를 인식하도록 하는 것이다. 근데 환경 변수를 설정할 때 jdk의 bin 디렉토리 경로까지 등록한다. 그 이유는 bin에 실행파일이 있기 때문이다. 어떤 특정 프로그램을 정상적으로 실행시키려면 많은 파일들이 필요할텐데, 그 많은 파일들이 적용된 프로그램을 실행시키는 파일은 한개이다. 자바에.. 2020. 6. 14.
font-family : CSS font-family는 글꼴이다. 다양한게 있는데, 쉼표를 써서 나열한 것은 브라우저에서 지원이 안되면 다음 폰트를 적용하도록 하는 기능이다. font-family: sans-serif, monospace /* 브라우저에서 sans-serif를 지원하지 않으면 monospace를 적용하라는 뜻 */ 2020. 6. 11.
color - CSS rgb값, rgba값, 16진수 값 등을 이용해서 color를 지정할 수 있다. rgb, rgba는 최대값이 255이고, 16진수로 표현하면 앞에 #을 붙이고 rgb 값을 변환해주면 된다. 255를 변환하면 ff 가 된다. color: rgb(255, 0, 0) /* red: 255, green: 0, blue: 0 값을 준 것이다. */ color: rgba(255, 0, 0, 100) /* red: 255, green: 0, blue: 0, alpha: 100 값을 준 것으로 alpha 값을 주면 희미해진다. */ color: #ff0000 /* 255를 16진수 값으로 바꾸면 ff가 된다. 순서대로 두개씩 끊어서 red: 255, green: 0, blue: 0 값이다. */ 2020. 6. 11.
WAS Web Application Server 를 WAS(와스)라고 한다. 먼저 서비스를 제공하는 것은 서버, 그 서버에게 서비스를 요청하는 것은 클라이언트라고 한다. 웹 서버와 웹 브라우저가 대표적인 서버와 클라이언트의 관계이다. 다음은 DBMS와 클라이언트의 관계이다. DBMS는 다수의 사용자들이 데이터베이스 안의 데이터에 접근할 수 있게 해주는 소프트웨어이다. DBMS가 등장하기 전에 개발자들은 파일에 데이터를 저장하고 읽어들이는 기능을 모두 구현해야 했다. 이런 불편함을 개선하기 위해 DBMS가 등장하게 되었다. DBMS는 보통 서버 형태로 서비스를 제공하기 때문에 이런 DBMS에 접속해서 동작하는 클라이언트 프로그램이 많이 만들어졌다. 근데 이런 방식의 문제점은 클라이언트의 로직이 많아지고 클라이언트.. 2020. 6. 9.