일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- socket
- JavaScript
- jcenter
- 깃허브
- mavenCentral
- 클라이언트
- 메소드
- HTML모드
- 카카오코딩테스트
- 서버
- 백준
- 상속
- JPA Auditing
- 바인드변수
- Swing
- 자바
- java
- 템플릿엔진
- Oracle
- 컬렉션프레임워크
- Spring
- 생성자
- 코딩
- 사용자관리프로그램
- SwingCalendar
- 멀티쓰레드
- springboot
- 클래스
- springDataJPA
- 인스턴스
- Today
- Total
목록java (17)
프리 정보 컨텐츠
JSP로만 개발을 해오다가 스프링 부트와 AWS로 혼자 구현하는 웹 서비스라는 책을 보며 JSP외에 Freemarker, Thymeleaf, Mustache 등을 알게되어 머스테치의 개념과 사용법에 대해서 알아보겠습니다. 서버 템플릿 엔진? 클라이언트 템플릿 엔진? 머스테치를 알아보기전에 먼저 템플릿 엔진에 대한 개념에 대해서 알아보고자합니다. 템플릿 엔진의 개념은 지정된 템플릿 양식과 데이터가 합쳐져 HTML문서를 출력하는 소프트웨어를 말합니다. JSP, Freemarker, React, Vue.js 결과적으로 모두 템플릿이나 서버 템플릿, 클라이언트 템플릿으로 구분합니다. 클라이언트 템플릿 엔진 Server(Java 코드 실행) -> JSON || XML 형식 변환 -> JSON + HTML(Java..
엔티티 (Entity) 에는 데이터의 생성시간과 수정시간을 포함합니다. 유지보수에 있어서 DB에는 삽입하기 전 갱신하기전에 날짜 데이터를 등록/수정하는 코드가 여기저기 들어가는 불편함을 해소하고자 JPA Auditing을 통하여 자동화하는 방법을 사용합니다. JPA Auditing을 통한 생성시간/수정시간을 자동화하는 방법에 대해서 알아보겠습니다. public class Posts extends BaseTimeEntity { // Do some code.. } 위에서 적어준 BaseTimeEntity를 상속받도록 변경해줍니다. 추가적으로 JPA Auditing 어노테이션을 모두 활성화할 수 있도록 main Application 클래스에 활성화 어노테이션 하나를 추가합니다. @EnableJpaAuditin..
JPA의 개념 JPA의 작동 개념은 위의 링크와 같습니다. JPA에 개념과 작동방식에 대해서 알아보았으니 직접적으로 JPA는 어떻게 사용하는지에 대해서 알아보겠습니다. 자바 모델 클래스에 @Entity 어노테이션을 달면 DB 테이블 엔티티로 맵핑되고, 자바 레파지토리 인터페이스에 @Repository 어노테이션을 달면 DB 테이블 CRUD 명령을 자동으로 생성해줍니다. 엔티티 구현 방법(Lombok 어노테이션 활용) 1. Lombok 어노테이션을 추가를 합니다. Getter/Setter 생성을 위해 Lombok 어노테이션 @Data를 달아줍니다. * 여기서 @Data는 @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor를 한..
JPA의 개념을 정리하기 앞서 IT 국비교육에서 스프링을 처음 배울 때는 MyBatis를 통하여 SQL 매퍼를 이용하여 DB의 쿼리를 작성했습니다. 하지만 실제 일일 구직 사이트를 팀프로젝트로 구축함에 있어 테이블이 10개 이상이 넘어갈수록 SQL을 만들고 유지보수해야만 했었습니다. 이를 보완할 수 있는 방법이 바로 기능과 속성을 한 곳에서 관리 할 수 있는 JPA라는 자바 표준 ORM(object Relational Mapping) 기술입니다. 자사 서비스를 개발하는 곳에서는 SpringBoot와 JPA를 전사 표준으로 사용한다는 사실을 접하고 개인적으로 SpringBoot 개발환경에서 JPA를 사용하는 방법과 개념을 알아보겠습니다. JPA 개념정리 JPA는 인터페이스로서 자바 표준 명세서입니다. 여기..
자바 Socket 통신을 기반으로 멀티쓰레드와, Swing GUI를 활용해 네트워크 채팅 프로그램을 구현해보았다. 기본적인 Socket 통신이 어떻게 이루어지는지 개념정리는 아래 링크를 참고하자. 자바 Socket 클라이언트/서버 개념 및 통신구조 위의 페이지에서 설명하는 것에서 추가된 것은 쓰레드이다. 서버 서버는 클라이언트 상대용 Socket을 자바 ArrayList에 저장하고 현재 상대하고 있는 하나의 클라이언트에만 국한되는 것이 아니라 ArrayList에 보관 중인 모든 Socket을 꺼내서 글을 쓴다. 클라이언트 수시로 날아오는 메시지 처리를 위해 글을 읽는 부분을 쓰레드로 빼서 처리한다. 쓰레드를 활용하지 않으면 글을 쓰고 있을 때 상대방이 주는 메시지를 리얼타임으로 받지 못한다. 총 코드 다..
자바로 서버와 클라이언트가 사용하는 채팅 프로그램을 만들기전 개념을 정리하고 사용법을 정리하고자 한다. Server-Client 개념 Client(클라이언트) - Server(서버) 연결형 프로토콜인 TCP (Transmission Control Protocol)를 통해서 클라이언트가 Request하면 서버가 Response로 주고 받는 역할을 합니다. TCP Socket 구현 과정 Server -> ServerSocket 생성 -> 접속 accept() -> 접속완료 후 Socket 반환 -> 스트림 생성 -> 데이터 송수신 Client -> Socket 생성 및 접속 -> 스트림 생성 -> 데이터 송수신 Server : accept -> read -> write -> close Client : con..
Swing을 사용하여 사용자 관리 프로그램에 대한 화면구성에 대한 코드에 대한 연습코드이다. JPanel을 어떻게 Top Down 방식으로 효율적으로 사용할 것인가에 대해서 생각하자. 후에 화면구성한 코드에 대한 이벤트처리도 다루어보도록 하자.
자바 컬렉션 프레임워크를 처음 접할 때는 언제 어떻게 쓰는지에 대해서 중점을 두어야 한다. 처음부터 이론 중심의 이해가 아닌 여러 번 빠르게 전체적 반복 학습하자. 기초적인 개념에 대해서 먼저 알아보자. 컬렉션 - 여러 객체를 모아 놓은 것을 의미 프레임워크 - 표준화된 체계적인 프로그래밍 방식 컬렉션 프레임워크 정의? 데이터를 저장하는 자료 구조와 알고리즘을 구조화하여 클래스로 구현한 것 컬렉션 프레임워크를 사용하는 이유? 컬렉션 프레임워크는 표준화하고 체계적이기 때문에 프로그래밍을 작성하는 방식이 비슷해서 다른 사람의 코드를 유지보수하기 쉬워서 사용한다. 대표적으로 스프링 프레임워크를 예로 들 수 있다. 객체를 다루기 위해 배열을 자주 다루었는데, 배열을 사용할 때의 비효율적인 문제를 해결하기 위해서..