일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인코딩
- 어노테이션
- 디코딩
- Override
- final
- final 클래스
- 라우터
- 기본 생성자
- 메소드 재정의
- router
- 자바
- import
- 노드
- Arrow function
- Anonymous Functions
- 자바의 특징
- 생성자
- 유니코드
- package
- annotation
- Super
- 화살표 함수
- 즉시 실행 함수
- 클래스
- node
- final 메소드
- 문자집합
- 객체지향 #객체지향 특징
- 익명함수
- 패키지
- Today
- Total
목록분류 전체보기 (66)
개인 공부 블로그
서블릿 등록 및 사용 방법 서블릿은 톰캣 같은 웹 애플리케이션 서버(WAS)를 직접 설치하고 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린다음 톰캣 서버를 실행하면 된다. 스프링 부트를 사용하면 톰캣 서버를 내장하고 있어 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있음. 서버에서 처리해야 하는 업무웹 애플리케이션 서버를 처음부터 끝까지 내가 다 만들어야 된다면 우선 HTTP 메시지를 쭉 다 풀어헤쳐야함. 서버에서 TCP/IP 연결을 대기하도록 코드를 짜 놓는다, 소켓 연결HTTP 메시지는 단순 텍스트. 파싱해서 읽기 Content-Type에 맞게 바디 내용 파싱 비즈니스 로직 실행 HTTP 응답 메시지 생성 TCP/IP에 응답 전달, 소켓 종료이렇게 하면 개발자가 해야되는 것이 너무 많..
MVC 컨트롤러의 단점1. forward 중복 View로 이동하는 코드가 항상 중복 호출되어야 함. RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); 2. ViewPath 중복String viewPath = "/WEB-INF/views/new-form.jsp"; 3. 공통 처리가 어렵다. 기능이 복잡해질 수록 컨트롤러에서 공통으로 처리해야 하는 부분이 더 많이 증가할 것. 공통 메서드로 뽑으면 될 것 같지만, 해당 메서드를 항상 호출해야하고 호출하는 것 자체도 중복이다. 이러한 공통 기능을 처리하는 문제를 해결하기 위해 프론트 컨트롤러 패턴을 도입하면 깔끔하게..
JSP에서 제공하는 문법. 조건,반복문 등의 문법과 데이터 포맷팅, 문자열 함수 등을 제공한다. c:url url에 자동으로 ContextPath를 붙여준다. c:url을 사용하면 ContextPath가 변경되어도 url을 변경할 필요가 없음. c:out 어떤 값이든 문자열로 바꿔 출력해준다. 값이 이스케이프 문자일 때 문자 그대로 출력되는데 escapeXml = false로 설정하면 이스케이프 문자의 기능대로 출력된다. - escape 문자 : 원래의 의미를 벗어나는 문자
form의 action에 절대경로(/로 시작)로 하면 contextPath + action url 이렇게 됨. 상대경로( /로 시작x)를 사용하면 폼 전송시에 현재 URL이 속한 계층 경로 + action이 호출된다. 예) -> 현재 계층 경로가 /mvc/members/ 일 때 결과 : /mvc/members/save 만약 절대경로( /save) 를 사용하면 결과 : localhost:8080/save 보통은 절대경로로 하는 것이 좋다. 출처 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
Model View Controller. 하나의 서블릿이나 JSP로 처리하던 것을 컨트롤러와 뷰 영역으로 역할을 나눈 것을 말한다. 하나로 되어 있던 것을 두개로 쪼게고 그 사이에 데이터 전달을 모델이라는 것을 통해서 전달한다. 컨트롤러 : HTTP 요청을 받아서 파라미터를 검증하고 비즈니스 로직을 실행. 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다.모델 : 뷰에 출력할 데이터를 담아둔다. 뷰에서 필요한 데이터를 모두 모델에 담아 전달해주는 덕분에 뷰는 비지니스 로직이나 데이터 접근을 몰라도 되고 화면 렌더링 하는 일에 집중할 수 있다.뷰 : 모델에 담겨있는 데이터를 사용해 화면을 그린다. 대부분은 HTML을 생성. 모델에서 데이터를 다 찾아서 조작하면 된다. 모델 덕분에 뷰 로직이 비지니스 로직이..

복잡도는 알고리즘의 성능을 나타내는 척도이다. 시간 복잡도 : 알고리즘을 위해 필요한 연산의 횟수. 특정한 크기의 입력에 대하여 알고리즘이 얼마나 오래 걸리는지를 의미 공간 복잡도 : 알고리즘을 위해 필요한 메모리의 양 시간 복잡도 알고리즘 문제를 풀 때 단순히 복잡도라고 하면 보통은 시작 복잡도를 의미. 시간 복잡도를 표현할 때는 빅오(Big-O) 표기법을 사용한다. 시간 복잡도 분석은 문제 풀이의 핵심이다. 공간 복잡도 시간 복잡도와 마찬가지로 빅오 표기법을 사용. 코딩 테스트 문제는 대부분 리스트(배열)을 사용해서 풀어야 한다. 고전적인 프로그래밍 언어에서 정수형 자료형인 int(4 Byte)를 기준으로 리스트 크기에 따른 메모리 용량을 확인해보면 int a[1000] : 4KB int a[1000..
문자 집합과 인코딩 문자집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음. 컴퓨터는 문자집합에 있는 문자만 이해할 수 있다. 인코딩과 디코딩 인코딩 : 문자집합에 속한 문자를 컴퓨터가 이해할 수 있는 0과 1로 변환하는 과정 디코딩 : 0과 1로 표현된 문자 코드를 사람이 읽을 수 있는 문자로 변환하는 과정 문자집합의 종류 아스키 코드 초창기 문자 집합 중 하나. 알파벳, 아라비아 숫자, 일부 특수 문자를 포함. EUC-KR 아스키 코드로 표현 가능한 문자의 수는 턱없이 부족했음. 그래서 등장한 한글 인코딩 방식이 EUC-KR이다. - 초성, 중성, 종성의 조합으로 완성된 하나의 글자에 고유한 코드를 부여하는 완성형 인코딩 방식을 사용 - 한글 한 글자에 2바이트 크기의 코드를 부여함 - 모든 한글..

컴퓨터 구조를 알아야 하는 이유 - 문제 해결을 위한 다양한 실마리를 찾을 수 있다. - 개발한 프로그램의 성능, 용량, 비용을 고려할 수 있다. - 컴구조를 이해하면 컴퓨터를 미지의 대상에서 분석의 대상으로 인식하게 된다. 컴퓨터 구조 지식 1. 컴퓨터가 이해하는 정보 2. 컴퓨터의 네 가지 핵심 부품 컴퓨터가 이해하는 정보 - 컴퓨터는 0과 1로 표현된 정보만을 이해한다. - 0과 1로 표현되는 정보에는 데이터와 명령어가 있다. 데이터 : 컴퓨터가 이해하는 정적인 정보. 숫자, 문자, 이미지. 동영상 등 명령어 : 데이터를 움직이고 컴퓨터를 작동시키는 정보 컴퓨터는 명령어를 처리하는 기계이다. 명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료이다. 컴퓨터의 4가지 핵..
복잡한 인터넷 망으로 데이터를 보내려면 최소한의 규칙이 필요. 실생활에 주소가 있는 것처럼 네트워크 상에서도 주소가 있는데 이것이 IP 이다. 인터넷 프로토콜 역할 - 지정한 IP주소 (IP Adress)에 데이터 전달 - 패킷 (Packet) 이라는 통신 단위로 데이터 전달 IP 패킷 정보 - 메시지를 그냥 보내는 것이 아니라 IP 패킷으로 만들어서 인터넷 망에 던진다. - 패킷 안에는 출발지 IP, 목적지IP, 기타 정보 등을 가지고 있고 IP 프로토콜 규약을 따르고 있어서 출발지, 목적지 등을 이해함 IP 프로토콜의 한계 - 패킷을 받을 대상이 없거나 서비스 불능 상태여로 패킷 전송 (비연결성) - 중간에 패킷이 사라지거나 패킷 순서 보장이 안됨 (비신뢰성) - 같은 IP를 사용하는 서버에서 통신하..
웹 서버, 웹 애플리케이션 서버 웹 상에서는 모든 것을 HTTP 기반으로 데이터를 주고 받는다. 웹 서버 (Web Server) HTTP 프로토콜로 서로 응답을 주고 받을 수 있고, 정적 데이터들을 제공하는 것 - 정적 리소스 : 보통 특정 폴더 디렉토리에 html, css, js, 이미지, 영상 같은 파일들을 두면 서버가 그 파일을 서빙해주는 것. 웹 애플리케이션 서버 (WAS) - HTTP 기반으로 동작 - 웹 서버 기능 포함 (정적 리소스 제공 기능) - 프로그램 코드를 실행하여 애플리케이션 로직 수행 - 동적 HTML, HTTP API (JSON) - 서블릿, JSP, 스프링 MVC 웹서버는 정적인 파일을 서빙하기 때문에 이 html을 특정 사용자마다 다르게 보여주는 것과 같은 것들을 할 수 없음..