목록분류 전체보기 (119)
이것저것
모든 경우를 다 해본다 = 모든 방법을 다 한번씩 시도해본다. 가능한 방법의 개수(경우의 수)를 새봐야한다 방법의 개수가 많지 않을 때만 사용 가능하다. 방법의 수를 새본다. 새보고 시간 제한을 넘지 않을 것 같은 경우만 사용 문제의 가능한 경우의 수를 계산해본다. 직접 계산을 통해서 구한다. 대부분 손으로 계산 가능한 모든 방법을 다 만들어본다. 하나도 빠짐없이 만들어야한다. 대표적으로 그냥 다 해보는 방법, for문 사용, 순열 사용, 재귀호출사용, 비트마스크 사용이 있다. 각각의 방법을 이용해 답을 구해본다. 경우의 수 N 명의 사람이 한줄로 서는 경우의 수 → N! N 명의 사람 중에서 대표 두명을 뽑는 경우의 수 → (N)(N-1)2 N 명의 사람 중에서 반장 1 부반장 1을 뽑는 경우의 수 (..
매 순간 최선의 경우만을 골라간다 (나중은 생각하지 않는다!) 동전 거스름돈 문제 10,50,100,500 원 동전들을 무한하게 갖고 있다. 손님에게 800원을 거슬러주려고 할 때, 동전을 최소한으로 주는 방법은? ⇒ 금액을 큰 것부터 주면 좋다. (800 - 500 - 100 - 100 -100) Greedy 이다. 100, 400, 500 원 동전들을 무한하게 갖고 있다. 손님에게 800원을 거슬러 주려고 할 때, 동전을 최소한으로 주는 방법은? ⇒ Greedy Algorithm이 먹히지 않는다. (400+400 = 800, 동전 두개씀) 문제가 그리디 문제인지 판별하는 것이 어렵다! 정당성 증명 (두 가지 조건 만족하면 Greedy) 1. 탐욕적 선택 속성 모든 경우를 볼 필요없이 항상 최선의 경우..
swap 메모리는 쉽게 말하여 가상메모리이다. (하드디스크의 용량을 메모리인 것처럼 os를 속이는 기법?) RAM 용량이 차면, swap 메모리가 자동으로 늘어난다. 하드 디스크의 디스크 공간을 swap 메모리로 사용하기 때문에 속도가 느려진다. 메모리와 하드디스크의 속도 차이는 엄청나다. (메모리가 훨씬 빠름) 보통 swap 메모리는 기본 RAM 용량의 2배정도를 잡는 것을 권장한다. 그래서, OS에서 실제 물리적 메모리를 다 땡겨다 쓰고 swap 메모리를 가져다 쓸 때는 데이터 처리 속도가 느려질 수 밖에 없다. (swap 메모리가 부족하다는 것은 현재 시스템이 어느 정도 부하가 있다는 뜻.)
Network Proxy란? 대리(Proxy) : 남을 대신하여 일을 처리함 Proxy Server는 대신 처리하는 서버 클라이언트와 서버간의 중계 서버로 통신을 대리 수행하는 서버 Forward Proxy 일반적으로 이야가하는 Proxy 캐싱 : 클리이언트가 요청한 내용을 캐싱 ex) Client가 서버에게 오늘 날씨가 어떤지에 대한 request를 보낸다 서버는 오늘 비가 올거라는 response를 Client에게 보낸다. Forward Proxy에 오늘 비가 올거라는 response 를 캐싱해둠으로써 다른 Client가 request했을 때 빠르게 응답 가능 전송 시간 절약 불필요한 외부 전송 X 외부 요청 감소 → 네트워크 병목 현상 방지 익명성 : 클라이언트가 보낸 내용을 감춤 Server가 응..
Web Server 클라이언트로부터 HTTP 요청을 받아 HTML 문서나 각종 리소스를 전달하는 컴퓨터 Client : 주문을 하는 고객 Web Server : 주문을 받는 사람 손님은 HTTP 요청을 보낸다 (뭐뭐 페이지를 달라~) 서버는 클라이언트의 요청을 기다리고, 요청에 대한 데이터를 만들어서 응답 (정적 컨텐츠로 한정) WAS 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 sw 프레임워크 Web Server + Web Container HTML 과 같은 정적인 페이지에서 처리할 수 없는 비즈니스 로직이나 DB 조회같은 동적인 컨텐츠를 제공 Web Server 와 WAS 차이 Web Server는 정적인 컨텐츠를 다루고, WAS는 정적이고 동적인 컨텐츠를 모두 다룬다. Q : 그..
GET 과 POST 의 공통점 GET 과 POST 모두 서버에 무엇인가를 요청할 때 사용하는 방식 GET 과 POST 의 차이점 GET GET 방식은 요청하는 데이터가 http request message 의 Header 부분의 url에 담겨서 전송된다. 때문에 url 상에 ? (query string) 뒤에 데이터가 붙어 request를 보내게 되는 것이다. POST POST 방식의 request는 http message 의 body 부분에 데이터가 담겨서 전송된다. (때문에 바이너리 데이터를 요청하는 경우는 POST 방식으로 보내야한다.) GET은 가져오는 것이다. 서버에서 어떤 데이터를 가져와서 보여준다거나 하는 용도이지 서버의 값이나 상태 등을 변경하지 않는다. (SELECT 적 성향) POST는..
Model 평범한 자바 객체, POJO 도메인 객체 또는 DTO 로 화면에 전달할 또는 화면에서 전달 받은 데이터를 담고 있는 객체 (@Entity) DB와 강하게 연관되어있음 (매핑) VIew HTML, JSP, THYMELEAF... (정적or 동적컨텐츠) 데이터를 보여주는 역할 다양한 형태 : HTML, JSON, XML 등 Controller UserController, ArticelController... 사용자 입력을 받은 모델 객체의 데이터를 변경하거나 뷰에 전달하는 역할 ex) 입력값 검증, 모델 객체 변경, 변경된 모델 개체 뷰에 전달 MVC 흐름 View 에서 Request가 들어오면 controller로 들어와 model에 보내면 model 이 데이터를 처리하고 서버(controlle..