분류 전체보기 (81) 썸네일형 리스트형 Maven vs Gradle 취준생일때 강경 spring boot , Gradle, JPA 파였다가회사에서 Spring, Maven , MyBatis 를 쓴다는 사실을 깨닫고 .. 울면서 적는 .. MavenXML 기반의 구성 파일(pom.xml) Gradle구성파일 대신 스크립트를 사용하여 빌드 SMTP와 POP3/ IMAP 메일 프로토콜하면 떠오르는 3가지 .. SMTP - 메일을 보내는 역할만 하는 대표적인 프로토콜 POP3 (Post Office Protocol 3)클라이언트가 메일 서버에서 메일을 받아오는 프로토콜, 메일 서버에 저장된 메일을 사용자 컴퓨터로 가져와서 확인할 수 있게 해줌 IMAP(Internet Message Access Protocaol)POP3와 마찬가지로 사용자가 메일 서버에서 메일을 내려받는 프로토콜 중 하나중앙 서버에서 동기화가 이루어지기 때문에 모든 장치에서 똑같은 내용이 보이게 됨 소켓 소켓은 네트워크에서 동작하는 프로그램의 종착점ip주소와 포트번호로 이루어져 있음서버와 클라이언트가 양방향 통신을 할 수 있게 해주는 소프트웨어 장치양방향 통신을 위해 클라이언트와 서버 둘다 소켓을 생성하여 연결해줘야 함일반적인 웹 환경은 클라이언트의 요청을 받으면 응답 후 바로 연결을 종료하는 비연결 동기 소켓 방식이다 웹소켓은 클라이언트의 요청에 응답한 후에도 연결을 그대로 유지하는 연결 지향 방식 웹소켓은 http가 아닌 ws 프로토콜을 사용주요 애너테이션@ServerEndpoint@OnOpen@OnMessage@OnClose@OnError ServletRequest, ServletResponse, HttpServletRequest, HttpServletResponse HttpServletRequest, HttpServletResponse는 각각 ServletRequest, ServletResponse에 Http 관련 기능을 추가한 하위 타입이다.session 내장 객체나 http 전송방식 같은 http 개념을 활용하려면 형변환 해줘야 한다. 필터와 리스너 필터 - 클라이언트의 요청을 가장 먼저 처리하는 역할리스너는 웹 컨테이너에서 발생하는 이벤트 감지 필터 활용 예시 - 한글 인코딩 처리리스너 활용 예시 - 웹 어플리케이션이나 세션의 시작과 종료 이벤트를 먼저 감지하여 최종 리소스에서 이벤트 별로 특정한 처리를 일괄로 수행 필터 기능을 구현하려면 servlet.Filter 인터페이스를 구현해야함init() - default 메소드 o, 웹 컨테이너가 필터를 초기화 할 때 한번 호출, 매개변수로 web.xml에 정의한 초기화 변수doFilter() - default 메소드 x, 클라이언트의 요청을 리소스에 적용할 때 마다 호출, 전처리(req), 다음필터 호출(chain), 후처리(resp) , doFilter()를 호출하지 않으면 요청 과정이 멈춰버린.. JspWriter과 PrintWriter JSP와 서블릿 학습중 JSPWriter과 PrintWriter을 사용하게 되었다 JSPWriterpublic static void alertBack(String msg, JspWriter out) { try { String script = "" + ""; out.println(script); } catch (Exception e) {} } PrintWriterpublic static void alertBack(HttpServletResponse resp, String msg) { try { resp.setContentType("text/html;charset=UTF-8").. 쿼리 문자열의 특수문자 허용, relaxedQueryChars Tomcat 서버의 설정 옵션 중 하나로 http 요청에서 허용할 수 있는 쿼리 문자열의 특수 문자를 지정하는데 사용기본적으로 URL 쿠리 문자열에는 RFXC 표준에 따라 제한된 문자만 허용됨 설정하지 않는 경우 java.lang.IllegalArgumentException 발생 web.xml 설정하는 게 좋은가?해당 옵션은 보안이나 호한성 문제를 일으킬 수 있음 request user-agent User-Agent는 웹 클라이언트가 서버에 요청보낼 때 자신을 식별하는 문자열 ex)Chrome Chrome-IE WOW64Windows on Windows라는 뜻FireFox FireFox- apsharing certbot 인증서 갱신 어느날 메일이 날라왔다 프로젝트를 배포하고 그냥 두지 않는 편인데 (비용문제 ..ㅠㅠ)apsharing은 DB를 안써서 그런지 적은 비용이 들어서 그냥 계속 두고 있었다.그러니 인증서를 갱신해보자 1. 해당 프로젝트를 설치한 서버로 들어가기2. 도커 로그인 하기 3. nginx 서버 실행하기 4. certbot renew 실행하기 생각보다 매우 간단하다 람다식 람다식자바는 람다식을 익명 구현 객체로 변환한다익명 구현 객체란 이름이 없는 인터페이스 구현 객체를 말한다익명구현 객체를 람다식으로 표현하려면 인터페이스는 단 하나의 추상 메소드만 가진다인터페이스가 함수형 인터페이스임을 보장하기 위해서는 @FunctionalInterface 어노테이션을 사용한다(선택사항)메소드 참조메소드를 참조해서 매개변수의 정보 및 리턴 타입을 알아내 람다식에서 불필요한 매개변수 제거 정적 메소드를 참조할 경우클래스::메소드 인스턴스 메소드인경우참조변수:: 메소드 매개변수의 메소드인 경우클래스:: 메소드 생성자인 경우클래스 :: new 이전 1 2 3 4 ··· 9 다음