분류 전체보기
-
5. [JPA] 양방향 연관관계와 연관관계 주인웹개발/Hibernate(JPA) 2020. 4. 1. 15:18
안녕하세요 현우입니다. 이번 포스팅은 [ 양방향 연관관계에 대한 이해 및 중요 TIP ] 입니다. 참고도서 http://acornpub.co.kr/book/jpa-programmig 자바 ORM 표준 JPA 프로그래밍 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것 www.acornpub.co.kr 양방향 매핑시에 무한루프 발생 위험 toString JSON 생성라이브러리 : lombok class Member ... ... ... @Override public String toStrig(){ return "Member{" + "id=":+ id + ", username='" + username +'\'' + ", team=" +team + '}'" } ..
-
4. [JPA] 연관관계 매핑웹개발/Hibernate(JPA) 2020. 4. 1. 15:06
안녕하세요 현우입니다. 이번 포스팅은 [ 연관관계 매핑에대한 이해 ] 입니다. 참고도서 http://acornpub.co.kr/book/jpa-programmig 자바 ORM 표준 JPA 프로그래밍 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것 www.acornpub.co.kr 객체지향 언어와 관계형 데이터베이스(RDBMS)의 연관관계 차이는 무엇일까요? 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾습니다. 객체는 객체 참조를 사용해서 연관된 객체를 찾습니다. 객체와 관계형 DB에는 이러한 큰 간격이 있습니다. 그렇타고 해서 연관관계를 맺지 않고 TEAM과 MEMBER을 조회한다면 어떻게 될까요? 쉽게 이해하기 위해 한가지 예를 들어보겠습니다...
-
Servlet 맵핑웹개발/Servlet & Jsp 2020. 3. 30. 20:24
1. Servlet 맵핑이란? 브라우저를 통해서 사용자가 해당하는 요청이 들어오면 여러 서블릿중에 적절한 서블릿을 응답 시키면된다. 브라우저가 정확하게 어떠한 서블릿에 요청을하는지 확인할 필요가 있는데 각 서블릿 마다 중복되지 않은 이름이 있어야 서블릿을 구분할 수 있다. full path는 복잡하고 보안에 취약하여 Servlet Mapping path를 사용한다. 2. Web.xml을 사용한 맵핑 request요청시 쉽게 찾을 수 있게 아래와같은 코드를 만든다 servletEx : 서블릿이름을 임의로 닉네임을 적용해준다. com.servlet.ServletEx : 실제 파일명을 풀패키지 까지 같이 적어준다 : 서블릿 이름은 위의 가명을 사용 url-pattern 은 매핑 이름 3. 어노테이션을 이용한 ..
-
간단하게 Servlet 맛보기웹개발/Servlet & Jsp 2020. 3. 30. 18:10
개발자는 java파일을 만들어주면 컴파일러들이 obj를 만들어준다. 이때 요청이 오면 웹컨테이너를 통해서 사용자에게 응답을 해 줄수 있다. 사용자가 일반적으로 브라우저를 통해서 서버에 데이터를 요청한다. 서버에있는 웹컨테이너는 사용자가 만든 자바 파일을 .class xxx.obj 파일로 만들어준다. 사용자에게 response를 해준다 Servlet 어떠한 내용을 출력시 PrintWriter 의 객체를 response로 부터 얻어내고 getWriter()을 이용하여 html 출력이 가능하다. 나머지는 서블릿생성시 자동으로 작성해 준다. @WebServlet Url을 매핑해준다. 보통 해당 서블릿 이름을 축약해서 사용한다 package com.testpjt; import java.io.IOException;..
-
간단하게 JSP 맛보기웹개발/Servlet & Jsp 2020. 3. 30. 17:48
1. 웹 컨테이너구조 WAS = Web Application Server 개발자는 .jsp 를 만드는 일만한다. 이때 자바파일, class파일 obj파일을 만드는 것은 JVM이다. 실제 서버에서 구동이되서 특정한 페이지에 작업이 이루어지게되며 그 결과물이 사용자에게 응답이 될때는 HTML 파일로 보여지게된다. 개발자가 jsp파일을 만들면 웹컨테이너에 Request해준다. xxx.jsp파일이 xxx_jsp.java 파일로 변경되고 이 자바파일은 javac 컴파일러에 의해 class 파일로 만들어지고 이class파일은 obj파일로 만들어진다. 이 실행된 결과물이 사용자에게 응답될때는 HTML로 응답이 되어진다. 2. JSP 파일 작성 HTML 파일의 위에 확장자를 JSP로 바꾸면 JSP파일이 된다. 기본뼈대..
-
웹 프로그램 개요웹개발 2020. 3. 30. 16:58
1. 웹프로그램이란 무엇인가? 집에서 혹은 학교 혹은 회사에서 본인의 본인의 개인 PC를 사용하는 것 외에도 서버와 스마트폰, 태브릿등의 브라우저가 내장되어있는 컴퓨터를 사용한다. 이때 그림과같이 컴퓨터가 연결되어있는것을 네트워크가 연결되어있다고 하고 서로의 데이터를 주고 받을때 인터넷 서비스가 연결되있다고 말한다. 웹프로그램이란 PC에서 어떠한 다른 서버, 다른 컴퓨터로 정보를 요청할때 이것을 'Request' 라 한다. 이럴때 서버혹은 다른 컴퓨터는는 요청한 PC를 대상으로 응답을 하게되는데 이를 'Response'라고 하는데 이러한 전체 흐름을 웹 프로그램 이라고 하며 이러한 과정들을 만드는 것을 웹프로그래밍 개발 이라고 한다. 2. 프로토콜과 IP란? 데이터를 요청하고 응답하는 통신과정에서 서로간..
-
5. Collection 프레임워크 (ArrayList vs LinkedList)프로그래밍언어/Java(초급) 2020. 3. 29. 17:51
자료구조란? 프로그램을 작성하는 과정에는 여러데이터가 필요 하다. 예를들어100명의 학생 성적을 처리한다고 할때 각각의 성적 값을 변수에 할당한다면100개의 변수가 필하고 이런경우 배열을 이용하면하나의 변수명으로 100개의 데이터를 처리할 수 있게 된다. 자료구조는 컴퓨터 프로그램에서 데이터를 처리하기 위해 만든 구조로Array, List, Map이 대표적인 형태 이며 이 외에 프로그램 언어에 따라Tuple, Dictionary등을 사용하기도 한다. 리스트(List) 배열과 유사한순차적인 자료구조를 제공 한다. 객체지향 프로그램언어에는 보통 List 자료구조가 기본적으로 제공되며 그렇지 않을 경우 직접 자료구조를 구현하거나 구현된 라이브러리를 사용해야 한다. 데이터 접근을 위해 인덱스를 사용해야 하는 점..
-
4. StringBuilder & StringBuffer 클래스 다루기프로그래밍언어/Java(초급) 2020. 3. 27. 02:26
앞에서 배운것 처럼 문자열 결합시 새로운 인스턴스가 계속해서 생겨나기 때문에 for 문을 돌면서 지속적으로 문자열을 결합하는 형태의 프로그램은 성능에 큰 영향을 미친다. 이 경우StringBuffer와StringBuilder클래스는 기본적으로 동일한 클래스 이며 문자열을 결합하는데 유용하다. 두 클래스의 차이는멀티스레드에 안전하게 처리되었는지의 차이로StrinfBuffer의 경우Thread safe로 멀티스레드 처리에 안전하지만 성능이 저하될 수 있다. 따라서 멀티스레드 처리가 없는 프로그램이라면 StringBuilder 유리하다고 할 수 있다. import java.util.*; public class StringBuilder { public static void main(String[] args) {..