목록BackEnd (18)
매일 매일 미라클 코딩
해쉬구조: key->value . '검색'에 특화된 제일 빠른 구조. 정렬은 하지 않는다. 모든것, 아무리 긴 것도 다 64bit 로 변환하는 해쉬 알고리즘을 사용한다. 대신 저장하는데 오래걸리고 워낙 큰값도 64bit로 변환하다보니 동일한 해쉬값나올수 있다(충돌). Map: (Key, Value) Key를 Hash화하여 정렬 후 value를 저장 키에 해당하는 값을 찾는 구조로 검색속도가 빠르다. key값은 중복이 없지만 다른 key에 같은 value가 존재 가능하다 ex) 위도 경도 입력해 독도 찾기 Set: 집합 Value를 Hash화 하여 정렬 후 저장 - value를 찾아내는 구조 - 값의 중복을 허용하지 않는다 HashSet, TreeSet : Data의 중복을 허용하지 않음 HashMap, ..
서블릿이란? 웹 프로그래밍 기술로 , 클라이언트의 요청에 따른 결과를 다시 전송해주는 역할을 하는 자바 프로그램. 사용자가 요청한 시점에 페이지를 생성해 전달하는 '동적'페이지 구현에 필요함 ex) 로그인 시 아이디와 비밀번호를 입력하고, 로그인 버튼을 누른다 -> 이 때 클라이언트의 아이디와 비밀번호를 확인하고, 다음 페이지를 띄워주는 역할을 수행하는 것이 바로 서블릿(Servlet). 서블릿의 특징 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트 html을 사용하여 요청에 응답한다. Java Thread를 이용하여 동작한다. MVC 패턴에서 Controller로 이용된다. HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다..
WAS(Web Application Server) 🎀서블릿 컨테이너🎀 우리가 서버에 서블릿을 만들었다고 해서 스스로 작동하는 것이 아니고 서블릿을 관리해주는 것이 필요한데, 그러한 역할을 하는 것이 바로 서블릿 컨테이너. 서블릿 컨테이너는 클라이언트의 요청(Request)을 받아주고 응답(Response)할 수 있게, 웹서버와 소켓으로 통신한다. Apache Tomcat - app 웹서버 / 서블릿컨테이너 두가지 역할 모두 있음 > 대표적인 예로 톰캣(Tomcat)은 실제로 웹 서버와 통신하여 JSP(자바 서버 페이지)와 Servlet이 작동하는 환경을 제공해 준다. Tomcat 은 서블릿 컨테이너와 CGI 규칙으로 통신한다 서블릿 컨테이너와 Java가 어떻게 상호작용하는가가 중요. 주로 상속과 DI(d..
✔프론트 컨트롤러 도입 전 - 각각의 컨트롤러에서 직접 사용자 요청을 받고, 화면생성 View 위임(RequestDispatcher) Model 호출(sql.connection) - 다른페이지로 보내기 위해 리다이렉트 // req.sendRedirect("list") ✔ 프런트 컨트롤러의 도입 컨트롤러가 하는 일 중에서 공통, 또는 반복적으로 하는 작업을 추출하여 클래스로 정의하고 컨트롤러 작업 전에 공통작업을 먼저 수행하도록 한다. 컨트롤러 공통작업 • JSP로 실행을 위임하는 코드 • 다른 페이지로 리다이렉트 시키는코드 • 파라미터를 값 객체로 만드는 코드 … 등등 ✔ 컨트롤러 = 프론트컨트롤러(공통작업) + 페이지컨트롤러(특정페이지작업) • 페이지 컨트롤러의 코드가 간결해짐 • 페이지 컨트롤러는 서..