Gradle Wrapper The recommended way to execute any Gradle build is with the help of the Gradle Wrapper (in short just “Wrapper”). The Wrapper is a script that invokes a declared version of Gradle, downloading it beforehand if necessary. As a result, developers can get up and running with a Gradle project quickly without having to follow manual installation processes saving your company time and m..
Gradle Overview Gradle is an open-source build automation tool that is designed to be flexible enough to build almost any type of software. The following is a high-level overview of some of its most important features: High performance, JVM foundation, Conventions, Extensibility, IDE support... etc 그레이들은 빌드 자동화 툴로 주목받는 오픈 소스 제품이다. 간단하게 빌드 스크립트 작성 기존 자원을 최대한 활용하며 단계적으로 그레이들 이전 가능 앤트, 메이븐 같은 기존 툴의..
인스턴스화를 막으려거든 private 생성자를 사용하라 정적 멤버만 담은 유틸리티 클래스는 인스턴스로 만들어 쓰려고 설계한 것이 아니다. 하지만 생성자를 명시하지 않으면 컴파일러가 자동으로 기본 생성자를 만들어 준다. 실제로 공개된 API들에서도 이처럼 의도치 않게 인스턴스화할 수 있게 된 클래스가 종종 있다. 인스턴스화를 막는 법 private 생성자를 추가하면 클래스의 인스턴스화를 막을 수 있다. (컴파일러가 기본 생성자를 만드는 경우는 오직 명시된 생성자가 없을 때 뿐이니..) 추상 클래스로 만들어서 인스턴스화를 막을 수 없다. 하위 클래스를 만들어 인스턴스화 하면 그만이다.. 또한, 이를 상속해서 쓰라는 뜻으로 오해할 수 있으니.. 그렇다면 더욱 큰일이다. public class UtilityCl..
다음을 포함한 데이터베이스에서의 기본적인 데이터 입출력을 다룬다. 컬렉션에 새 도큐먼트 추가하기 컬렉셔네서 도큐먼트 삭제하기 기존 도큐먼트 갱신하기 연산(operation)을 수행할 때 안전성과 속도 중 맞는 수준 선택하기 3.1 도큐먼트 삽입 삽입은 몽고DB에 데이터를 추가하는 기본 방법이다. 컬렉션의 insertOne 메서드를 사용한다. db.movies.insertOne({"title": "STand by Me"}) 3.1.1 insertMany 여러 도큐먼트를 컬렉션에 삽입하려면 insertMany로 도큐먼트 배열을 데이터베이스에 전달한다. 코드가 삽입된 각 도큐먼트에 대해 데이터베이스로 왕복하지 않고 도큐먼트를 대량 삽입(bulk insert)하므로 훨씬 효율적이다. insertMany는 여러 ..
몽고DB는 매우 강력하면서도 진입장벽이 낮다. 몽고 DB의 기본 개념을 소개한다. 몽고DB 데이터의 기본 단위는 도큐먼트이며, 이는 관계형 데이터베이스의 행과 유사하다(하지만 더 다양한 자료 표현이 가능하다.) 같은 맥락에서 컬렉션(collection)은 동적 스키마(dynamic schema)가 있는 테이블과 같다. 몽고DB의 단일 인스턴스는 자체적인 컬렉션을 갖는 여러 개의 독립적인 데이터베이스를 호스팅한다. 모든 도큐먼트는 컬렉션 내에서 고유한 특수키인 "_id"를 가진다. 몽고 DB는 몽고 셸(The mongo Shell)이라는 간단하지만 강력한 도구와 함께 배포된다. mongo 셸은 몽고DB 인스턴스를 관리하고 몽고DB 쿼리 언어로 데이터를 조작하기 위한 내장 자원을 제공한다. 또한 사용자가 다..
private 생성자나 열거 타입으로 싱글턴임을 보증하라 싱글턴(singleton)이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. 싱글턴의 전형적인 예로는 함수와 같은 무상태(stateless) 객체나 설계상 유일해야 하는 시스템 컴포넌트를 들 수 있다. 한번의 객체 생성으로 재사용할 수 있기 떄문에 메모리 낭비를 방지할 수 있다. 클래스를 싱글턴으로 만들면 이를 사용하는 클라이언트를 테스트하기가 어려워질 수 있다. 싱글턴 인스턴스를 가짜(mock) 구현으로 대체할 수 없기 때문이다. 또한 멀티 쓰레드 환경에서 동기화 문제가 발생할 수 도 있다. 싱글턴을 만드는 방식 필드 방식의 싱글턴 public class Elvis { public static final Elvis INSTANCE = ..
외부 API를 테스트할 때 실제 API를 호출해서 테스트 코드를 작성할 수도 있겠지만 그렇게 되면 다양한 응답값에 대한 테스트의 어려움이 있을 수 있고 외부 API 상태에 따라 테스트 코드가 실패하는 경우가 발생할 수 있다. 그런 경우 MockWebServer를 이용하여 WebClient를 Mocking해서 다양한 테스트 케이스를 작성할 수 있다. MockWebServer A scriptable web server for testing HTTP clients Motivation This library makes it easy to test that your app Does The Right Thing when it makes HTTP and HTTPS calls. It lets you specify wh..
몽고 DB 몽고 DB는 강력하고 유연하며 확장성 높은 범용 데이터베이스이다. - 보조 인덱스(secondary index) - 범위 쿼리(range query) - 정렬(sorting) - 집계(aggregation) - 공간 정보 인덱스(geospatial index) 1.1 손쉬운 사용 몽고 DB는 관계형 데이터베이스가 아니라 도큐먼트 지향 데이터베이스다. 관계형 모델을 사용하지 않는 주된 이유는 분산 확장을 쉽게 하기 위함이지만 다른 이점도 있다. 도큐먼트 지향 데이터베이스에서는 행 개념 대신에 보다 유연한 모델인 도큐먼트(document)를 사용한다. 내장 도큐먼트와 배열을 허용함으로써 도큐먼트 지향 모델은 복잡한 계층관계를 하나의 레코드로 표현할 수 있다. 이 방식은 최신 객체 지향 언어를 사용..
- Total
- Today
- Yesterday
- 슬랙봇
- 뱅크샐러드
- update set multiple
- 업데이트 쿼리
- update query set multiple
- update set multi
- 그레이들
- 다중 업데이트
- gradle
- 슬랙
- Slack
- 이펙티브자바
- vue.js
- java
- update query multi row
- update query mutiple row
- multiple row update
- 뱅크샐러드 유전자
- 슬랙 /
- MSSQL
- springboot https
- 뱅셀 유전자
- effectivejava
- 싱글턴
- spring-boot-starter-data-redis
- 몽고DB 완벽가이드
- visual studio code
- 이것이 자바다
- SpringBoot
- update query
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |