본문 바로가기

전체 글

(272)
문제1 , 수 정렬하기 N개의 수가 주어졌을때 이를 오름차순 정렬하는 프로그램을 작성하시오. 제한시간 2초 입력 1번째 줄에 수의 개수 N(1
1.핵심이론 , 시간복잡도 시간복잡도는 알고리즘 선택에 기준이 된다. 시간복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 수행시간은 1억번 연산을 1초로 간주하고 예측한다. 시간복잡도의 유형 3가지 1.빅오메가 , 경우의 수가 최선일때의 연산횟수를 나타낸 표기법 2.빅 세타 , 경우의 수가 보통일때의 연산횟수를 나타낸 표기법 3.빅 오 , 경우의 수가 최악일때 연산횟수를 나타낸 표기법 다음은 0과 99 사이의 무작위값을 찾아 출력하는 코드이다. public class example1{ public static void main(String[] args){ int findNumber = (int)(Math.random() * 100); for(int i=0; i
7월 14일 HttpServletRequest 기본 사용법 1.서블릿 사용 @webServlet(name = "reqeustHeaderServlet" , UrlPatterns="/request-header") public class requestHeaderServlet extends HttpServlet{ @Override protected void service (HttpServletRequest req , HttpServletResponse resp) throws servletException{ super.servie(req, resp); } } HTTP 요청데이터 - 개요 3가지 방법 1.GET- 쿼리 파라미터 /url * ?username=hello&age=20 메시지 바디없이 URL의 쿼리파라미터에 데이터를 포함해서 전달 ex) 검색 , 필터 , 페이징..
7월 11일 HTTP servletRequest Http요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만 매우 불편하다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신 HTTP요청 메시지를 파싱한다, 그리고 그 결과를 HttpServletRequest 객체에 담에서 제공한다. ex) Post /save Http/1.1 Host : localHost:8080 content-type : application / x-www-form-urlencoded username = kim&age =20 추가 부가기능 임시 저장소 기능 해당 HTTP 요청시 시작부터 끝날 때 까지 유지되는 임시 저장소 기능 저장 : request, setAttribute(name , value) 조회 : request, getAttribute(nam..
7월9일 서블릿 사용 @ServletComponentScan // 서블릿 자동등록 서블릿등록 @WebServlet(name = "helloServlet" , urlPatterns = "/hello") public class HelloServlet extends HttpServlet{ @override protected void service (HttpServletRequest req , HttpServletResponse resp){} HTTP 요청을 통해 매핑된 URL이 호출되면 서블릿 컨테이너는 다음 메서드를 실행한다. protected void service } 팁 . log로 HTTP 요청보기 ( 운영에선 사용하면 안됨) application.properties logging.level.org.apache.coyote..
7월6일 어노테이션 기반의 스프링 MVC 등장 @Controller 스프링 부트의 등장 스프링 부트는 서버를 내장한다 과거에는 서버에 WAS를 직접 설치하고 , 소스는 war파일을 만들어서 설치한 WAS에 배포 스프링 부트는 빌드 결과 (jar)에 WAS 서버 포함 -> 빌드 배포 단순화 web servlet - spring mvc web reactive - sprimg flux 최신기술 - 스프링 웹 플러스 (web flux) 특징 -비동기 논 블로킹 처리 -최소 쓰레드로 최대 성능 - 쓰레드 컨텍스트 스위칭 비용 효율화 -함수형 스타일로 개발 -동시 처리 코드 효율화 -서블릿 기술 사용x 그런데 웹 플럭스는 기술적 난이도가 매우 높음 아직은 RDB지원 부족 일반 MVC의 쓰레드 모델도 중분히 빠르다. 실무에서는 아직 많이 사용되지 않음. JSP ..
7월5일 HTML , HTTP , API , CSR , SSR 정적 리소스 고정된 HTML파일 CSS , JS 이미지 영상 등을 제공 주로 웹 브라우저 HMTL 페이지 동적으로 필요한 HTML 파일을 생성해서 전달 웹브라우저 HTML해석 WAS가 요청에 의해 동적으로 HTML 생성 , JSP , 타임리프 등 HTML API HTML이 아니라 데이터를 전달 주로 JSON형식 사용 다양한 시스템에서 호출 JSON{"주문번호" : 100 , "금액" : 5000} 반환 데이터만 주고받음 ,UI화면이 필요하면 클라이언트가 별도처리 앱 , 웹클라이언트 , 서버 to 서버 API사용하는 경우의수 앱 클라이언트 , HTTP API 앱클라이언트 to 서버 웹 클라이언트 , HTTP API 웹클라이언트 to 서버 주로 JSON 형태의 데이터 통신 UI 클라이언트 접점 -앱 클라이언..
7월4일 동시요청 , 멀티 쓰레드 Client의 요청에 was가 응답한다. 이때 servlet을 쓰레드가 호출하게 된다. -애플리케이션 코드를 하나하나 순차적으로 실행하는것은 쓰레드 -자바 메인 쓰레드를 처음 실행하면 main이라는 이름의 쓰레드가 실행된다. -쓰레드가 없다면 자바 애플리케이션 실행이 불가능 -쓰레드는 한번에 하나의 코드라인만 수행한다. -동시 처리가 필요하면 쓰레드를 추가로 생성 단일 요청 , (쓰레드를 하나만 사용) 쓰레드 하나가 생성되어 요청을 처리 다중요청 쓰레드가 하나뿐이라면 처리가 지연되게 된다. 이 경우 어떤 응답도 받을 수 없다. 1.쓰레드를 추가로 생성해주는 방법 장점 -동시 요청을 처리할 수 있다. -리소스(CPU , 메모리)가 허용될때 까지 처리 가능 -하나의 쓰레드가 지연 되어도 나머지 쓰레드는 정상..