일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 바인드변수
- java
- mavenCentral
- Oracle
- 클라이언트
- springDataJPA
- 코딩
- 백준
- 서버
- 생성자
- 깃허브
- 카카오코딩테스트
- jcenter
- JavaScript
- HTML모드
- 인스턴스
- 메소드
- 자바
- 상속
- 컬렉션프레임워크
- 클래스
- Swing
- 멀티쓰레드
- JPA Auditing
- 사용자관리프로그램
- springboot
- 템플릿엔진
- socket
- Spring
- SwingCalendar
- Today
- Total
목록전체 글 (69)
프리 정보 컨텐츠
엔티티 (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는 인터페이스로서 자바 표준 명세서입니다. 여기..
최근 대부분의 회사는 TDD(Test-Driven Development)에 관해 요구하고 있습니다. 개인 프로젝트에서 TDD를 이용했던 경험이 없기 때문에 기본 개념과 방법에 대해서 작성해보고자 합니다. TDD 소개 가장 먼저 이해해야 할 것은 TDD와 단위 테스트는 다른 개념이라는 것입니다. TDD는 테스트가 주도하는 개발을 이야기하며 테스트 코드를 먼저 작성하는 것부터 시작합니다. Red : 항상 실패하는 테스트를 먼저 작성 Green : 테스트가 통과하는 프로덕션 코드를 작성 Refactor : 테스트가 통과하면 프로덕션 코드를 리팩토링 위의 TDD와 달리 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 말합니다. TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 ..
www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다. 풀이과정 Array.sort 오름차순 정렬을 사용하여 최대값을 배열의 마..
JAVA 이클립스에서 JDBC 드라이버 클래스를 등록하는 방법을 예시로 알아보자. package com.dao; public class Exam1 { public static void main(String[] args) { // OracleDriver 클래스 등록 // 없으면 예외 발생, 즉 등록되어 있지 않으면 예외 발생 // 클래스 풀네임으로 검사 try { Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("드라이버 등록 성공"); } catch (ClassNotFoundException e) { System.out.println("드라이버 등록 실패"); e.printStackTrace(); } } } 실행할 프로젝트안에 l..
두 개 이상의 테이블을 하나 이상의 조건을 걸어서 해당되는 조건을 가진 값들을 하나의 ROW로 가져오는 것을 JOIN이라고 한다. JOIN을 자주 쓰이는 INNTER, OUTER, FULL 세 개의 명령어에 대한 개념 정리를 해보자. INNTER JOIN 조건이 일치하는 값이 두 테이블에 모두 존재할 때 조회된다. 일종의 교집합이라고 생각하자. 사용하는 방법은 간단하다. SELECT * FROM TABLE1 T1 INNER JOIN TABLE2 T2 ON (T1.KEY = T2.KEY) 개념은 위와 같으며 아래의 예시들을 통해서 자세하게 알아보자. CREATE TABLE depart ( deptno number NOT NULL ,-- 부서번호(학과번호) dname varchar2(30) NOT NULL ..
자바 Socket 통신을 기반으로 멀티쓰레드와, Swing GUI를 활용해 네트워크 채팅 프로그램을 구현해보았다. 기본적인 Socket 통신이 어떻게 이루어지는지 개념정리는 아래 링크를 참고하자. 자바 Socket 클라이언트/서버 개념 및 통신구조 위의 페이지에서 설명하는 것에서 추가된 것은 쓰레드이다. 서버 서버는 클라이언트 상대용 Socket을 자바 ArrayList에 저장하고 현재 상대하고 있는 하나의 클라이언트에만 국한되는 것이 아니라 ArrayList에 보관 중인 모든 Socket을 꺼내서 글을 쓴다. 클라이언트 수시로 날아오는 메시지 처리를 위해 글을 읽는 부분을 쓰레드로 빼서 처리한다. 쓰레드를 활용하지 않으면 글을 쓰고 있을 때 상대방이 주는 메시지를 리얼타임으로 받지 못한다. 총 코드 다..