일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Undo
- db버퍼캐시
- Spring
- 멀티쓰레드
- socket
- java
- DBA
- 생성자
- springboot
- 깃허브
- 친절한 sql튜닝
- 오라클
- DB
- 메소드
- Oracle
- 백준
- 인덱스
- 서버
- 자바
- 친절한 SQL 튜닝
- 인스턴스
- 컬렉션프레임워크
- 상속
- SQLP
- 카카오코딩테스트
- 인덱스 튜닝
- 클라이언트
- Swing
- SQL
- 클래스
- Today
- Total
목록전체 글 (89)
프리 정보 컨텐츠
아래와 같이 springboot gradle 프로젝트를 작업 중에 build.gradle 설정을 해주었습니다. 문득 mavenCentral() 과 jcenter() 두 개의 차이점은 무엇이고 왜 설정해주는 것인가에 대한 근본적인 이유에 대해서 궁금증이 생겨서 정리를 해봐야겠다는 생각이 들었습니다. buildscript { ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentral() jcenter() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply ..

스프링과 스프링부트를 통해서 프로젝트를 하던 경험 중 메이븐, 그래들로 각각의 프로젝트를 했던 경험이 있는데 자세한 개념없이 절차에 의해서만 했던 경험이 있기에 간단한 정리를 통해 알아보겠습니다. 메이븐(Maven)이란?? 메이븐은 아파치 메이븐(Apache Maven)이라 불리는 자바용 프로젝트 관리 도구이다. 그래들과 메이븐은 빌드 관리 도구라고 일컫으며, 프로젝트내에 작성한 java코드와 xml, properties, jar파일들을 JVM이나 WAS가 인식할 수 있도록 해주는 빌드 과정이라 말할 수 있다. 즉, 프로젝트 생성, 테스트 빌드, 배포 및 외부 라이브러리를 간편한 설정을 통해 설정하고 도와주는 도구이다. 그래들(Gradle)이란?? 그래들은 그루비를 이용한 빌드 자동화 시스템이며 메이븐과..

AJAX(Asynshronous Javascript And Xml)는 자바스크립트의 라이브러리 중 하나로 비동기식(웹 페이지를 리로드하지 않고 데이터를 불러오는 방식) 자바스크립트와 XML의 약자로 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용하여 전체페이지를 새로고침 할 필요없이 필요한 일부분의 데이터만을 갱신할 수 있게 도와줍니다. AJAX는 왜 사용할까요? AJAX는 왜 사용하는걸까요? 간단하게 이해하자면 카카오, 네이버의 트래픽이 많은 통신량을 관리할 때 리소스들을 관리하기 위함입니다. 페이지가 전환될 때마다 모든 파일을 다운받고 모든 요청을 주게된다면 웹 페이지의 속도는 느려지기 때문에 클릭해서 원하는 내용만 요청을 받아와 부분적으로 변경할 때 AJAX를 사용하므로 AJAX를 사..

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는 인터페이스로서 자바 표준 명세서입니다. 여기..

최근 대부분의 회사는 TDD(Test-Driven Development)에 관해 요구하고 있습니다. 개인 프로젝트에서 TDD를 이용했던 경험이 없기 때문에 기본 개념과 방법에 대해서 작성해보고자 합니다. TDD 소개 가장 먼저 이해해야 할 것은 TDD와 단위 테스트는 다른 개념이라는 것입니다. TDD는 테스트가 주도하는 개발을 이야기하며 테스트 코드를 먼저 작성하는 것부터 시작합니다. Red : 항상 실패하는 테스트를 먼저 작성 Green : 테스트가 통과하는 프로덕션 코드를 작성 Refactor : 테스트가 통과하면 프로덕션 코드를 리팩토링 위의 TDD와 달리 단위 테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 말합니다. TDD와 달리 테스트 코드를 꼭 먼저 작성해야 하는 ..