전체 글
-
자바에서 객체지향프로그래밍이란?면접준비 2021. 7. 7. 23:13
Object Oriented Programming(객체 지향 프로그래밍) 실제 세계의 어떠한 객체(ex.자동차/냉장고)를 만들고 객체들 간의 유기적인 상호작용을 통해 프로그래밍을 하는 방법이다. 그러면 장점은 뭐가 있을까? 코드의 재사용에 용이하다(남이 만든 클래스를 가져와서 이용가능) 대형 프로젝트에 적합하다(클래스 단위로 모듈화 시켜 개발할 수 있으므로 대형 프로젝트에서 여러명이서/ 여러회사에서 개발이 필요할 경우 업무를 분담하는 것이 쉽다) 유지보수가 쉽다(메서드로 되어 있기 때문에 수정 접근이 쉽다) 단점 처리 속도가 느리다 객체가 많으면 용량이 커질 수 있다. 설계시 복잡하고 시간과 노력이 많이 소요된다. 특징 추상화 : 공통의 속성이나 기능을 묶어 이름을 붙이는 것 캡슐화 : 관련 기능과 특성..
-
Servlet면접준비 2021. 7. 6. 18:18
서블릿이 무엇일까? 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 즉 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술이고, 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주어야 할때 이 역할을 해주는 자바 프로그램이다. Servlet의 특징 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트 html을 사용해 요청에 응답한다 Java Thread를 이용해 동작한다. MVC 패턴에서 Controller로 이용된다 HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다 UDP보다 처리 속도가 느리다 HTML 변경 시 Servelt을 재 컴파일 해..
-
WebSocket이란 무엇일까? (채팅기능)Spring 2021. 7. 5. 23:12
WebSocket? 서버와 클라이언트 간에 Socket Connection을 유지해 언제든 양방향 통신 또는 데이터 전송이 가능하도록 하는 기술. Real-time web application 구현을 위해 널리 사용되어지고 있다. 웹 어플리케이션에서 기존의 서버와 클라이언트 간의 통신은 대부분 HTTP를 통해 이루어 졌으며 HTTP는 Request/response 기반의 Stateless protocol이다. 다시 말해, 서버와 클라이언트 간의 Socket connection 같은 영구적인 연결이 아니라 클라이언트 쪽에서 필요에 의해 request를 할때만 서버가 response를 하는 방식으로 진행되는 한방향 통신이다. 이럴경우 서버쪽 데이터가 업데이트 되더라도 클라이언트 쪽에는 새로고침을 하지 않는한..
-
D3.js 차트 컴포넌트D3 2021. 7. 4. 23:51
D3로 데이터를 시각화할 때의 핵심적인 절차 CSV나 JSON 포맷인 외부 파일에서 데이터 로딩하기 D3 스케일과 자바스크립트 내장 함수로 데이터를 포맷하고 변환하기 시각화에 사용할 값을 만드는 데 데이터 측정하기 데이터의 속성에 기초에 그래프를 생성하는 데 데이터 바인딩하기 요소로 여러 도형으로 구성된 복잡한 그래프 객체를 생성하는 데 하위 셀렉션 사용하기 셀렉션에 enter() 와 exit() 메서드로 요소를 생성, 변경, 삭제하기 D3는 엄청 많은 그래프 예제를 제공하며, 깃허브는 예제의 산실이다. 레이아웃 생성기나 컴포넌트와 대조적으로 D3 레이아웃은 파이 차트 레이아웃처럼 상당히 간단할 수도 있고, 힘-방향 네트워크 레이아웃처럼 복잡할 수도 있다. 레이아웃은 일련의 데이터, 그리고 생성기로 구성..
-
WebSocket을 이용한 채팅Spring 2021. 7. 2. 23:16
기본설정 1. pom.xml 에 dependency 추가 2. EchoHandler class 생성 package com.sp.ex; import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.socket.CloseStatus; import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSes..
-
Mapper에서 특정 문자를 포함한 쿼리 검색Spring 2021. 7. 1. 23:15
상품검색을 할 때 특정한 문자열이 포함된 문자열을 가지고 검색을 하려고 했는데 아무리 해도 계속 해서 에러가 났다. 검색을 통해 해결하였다. 를 통해서 부등호나, 다른 부호들이 모두 문자로써 표현되게 만들어 주었고 LIKE 뒤에 들어가는 부분을 '%'||#{productName}||'%' 이렇게 해줘야 cmd나 일반적인 쿼리를 작성할때 사용하는 SELECT * FROM PRODUCT WHERE PRODUCTNAME LIKE '상품이름'; 이렇게 하는것과 같은 결과값을 가져올 수 있다.
-
SMTP 프로토콜을 이용한 Spring 에서 메일 보내기 (gmail)Spring 2021. 6. 30. 19:29
1. pom.xml 에 dependency 추가 2. Biz / Service 부분에 메소드 추가하기 @Override public void sendEmail(UserDto dto) { // 네이버일 경우 네이버 계정, gmail일 경우 gmail 계정 final String user = "@gmail.com"; // 위의 계정 패스워드 final String password = ""; String msg = ""; msg += ""; msg += ""; msg += dto.getUserid() + "님의 임시 비밀번호 입니다. 비밀번호를 변경하여 사용하세요."; msg += "임시 비밀번호 : "; msg += dto.getPassword() + ""; //SMTP 서버 정보 설정하기 Propertie..
-
컨트롤러와 프론트(jsp) 값 전달하는 방법Spring 2021. 6. 29. 18:23
Spring 프레임워크의 컨트롤러와 JSP사이에서 값을 주고 받는 것은 웹프로그래밍에서 가장 기본적인 작업이다. 하지만 막상 코드를 작성하다보면 막히거나, 이해하지 못하는 부분이 생기기 마련이다. JSP(프론트영역)에서 Controller(백엔드)으로 데이터 전송하기 JSP에서 Controller로 데이터를 전달하는 방법에 대해서 알아보자. 프론트 영역에서 GET방식과 POST 방식 두가지로 이루어져 있는데 문제는 GET과 POST방식을 이용하여 Form-Action을 통해 구현하기도 하고 Ajax를 이용하거나 혹은 그냥 location.href를 통해서 바로 URL주소에 태워서 보내기도 한다. 여기에 jQuery까지 가세한다면 초심자 입장에서는 더욱더 복잡하게 느껴지기 때문에 정리가 필요하다. Form..