
연산자 우선 순위 괄호() NOT 연산자 비교 연산자, SQL 연산자 AND OR 비교 연산자 모든 자료형에 대해 적용 가능 NOT, AND, OR (우선순위: NOT > AND > OR) 다음 SQL문 중 실행 결과가 나머지 두 가지와 다른 것은? SELECT player_name, position, height FROM player WHERE position 'GK' AND height > 180; SELECT player_name, position, height FROM player WEHRE NOT(position = 'GK') AND height > 180; SELECT player_name, position, height FROM player WHERE NOT(position = 'GK' AN..

SELECT은 가장 많이 사용되는 SQL 문장으로, 테이블에서 정보를 검색하는데 사용된다. SELECT 문 예제 SELECT column_name FROM table_name; SELECT * FROM table_1; SELECT c1, c2 FROM table_2; 일반적으로, 모든 열을 포함한 테이블의 전체 정보가 필요하지 않은 경우 *(asterisk)를 사용하지 않는 것이 좋다. 쿼리 서버와 응용 프로그램 간의 트래픽이 증가하여 검색 결과가 느려질 수 있기 때문에 필요한 컬럼만 조회하는 것이 좋다. 모든 열을 포함한 테이블의 전체 정보가 정말 필요한 경우에만 *(asterisk)를 사용한다. SELECT DISTINCT SELECT DISTINCT column FROM table; SELECT D..

미션 2단계 - 로또 GitHub - oneny/java-lotto: 로또 게임 구현을 관리하는 저장소 로또 게임 구현을 관리하는 저장소. Contribute to oneny/java-lotto development by creating an account on GitHub. github.com 기능 목록 핵심 기능 로또 번호는 1 이상 45 이하 로또 티켓은 6개의 로또 번호를 가진다. 당첨 로또티켓과 비교하여 맞춘 개수에 따른 로또 순위들을 반환한다. 로또 순위들을 통해 수익률, 순위 당 몇 개씩 맞췄는지를 출력한다. LottoNumber 1 이상 45 이하의 숫자 그 외의 숫자가 입력되는 경우에는 IllegalArgumentException throw 정적 팩토리 메서드, 인스턴스 캐싱을 통해 같은..

TDD, 클린 코드 with Java - 로또 미션 GitHub - oneny/java-lotto: 로또 게임 구현을 관리하는 저장소 로또 게임 구현을 관리하는 저장소. Contribute to oneny/java-lotto development by creating an account on GitHub. github.com 한 사람이 LottoTicket 10장을 산 경우 60개의 LottoNumber 객체가 생성된다. 여기서 문제점은 LottoNumber는 1 ~ 45의 고정된 값인데에도 불구하고 같은 번호라도 새로운 인스턴스를 생성하고, 가비지 컬렉션 등 부담이 될 수 있다. 즉, 로또를 사려는 사람이 1만명인 경우 10장씩 사면 서로 다른 LottoNumber 인스턴스 60만개가 생성되는 것은 너..

로또 자동 LottoNumber public class LottoNumber { public static final int LOTTO_MINIMUM_NUMBER = 1; public static final int LOTTO_MAXIMUM_NUMBER = 45; private static final String ILLEGAL_LOTTO_NUMBER_MESSAGE = "올바른 로또 번호를 입력해주세요. 입력된 번호 : "; private final int number; public LottoNumber(int number) { this.number = validatedLottoNumber(number); } public int number() { return number; } private int valid..

2번째 미션 - 로또, TDD 로또 미션 이전에 자동차 경주 5단계까지 마무리했는데 스프링이나 DB 공부나 과제 미션 클리어하는데 집중한다고 제대로 블로그를 작성하지 못했다.. 지금부터라도 제대로 작성해보자! 이번 첫 단계인 문자열 사칙연산 계산기는 좋은 피드백도 많이 받아서 기분이 좋다ㅎㅎ 문자열 사칙연산 계산기 Operand 클래스 public class Operand { private static final Pattern NUMBER_PATTERN = Pattern.compile("^[0-9]*$"); private static final String ILLEGAL_NUMBER_MESSAGE = "양수를 입력해주세요."; private final String operand; // 양수만 입력가능하다..

함수형 인터페이스(Functional Interface) 함수형 인터페이스란? 함수형 인터페이스(Fuctional Interface)란, 하나의 추상 메서드(abstract method)만을 갖는 인터페이스를 말한다. 그리고 람다식은 이러한 함수형 인터페이스를 기반으로 작성이 가능하다. 왜 생겼을까? 위에서 말한 것처럼 함수형 인터페이스를 사용하는 이유는 람다식은 함수형 인터페이스로만 접근이 가능하기 때문이다. 사진에서 위 메서드는 Comparator의 추상 메서드이다. 그리고 아래는 람다식인데 람다식의 매개변수는 연관된 인터페이스의 메서드, 즉 추상 메서드에 의해 결정된다. 따라서 보는 것과 같이 Comparator의 경우, compare 메서드를 사용하기 때문에 두 개의 인수가 있고, 람다식을 사용할..

함수형 인터페이스에 대해 공부하던 중에,, 분명히 interface는 객체를 생성할 수 없다고 배웠는데 Consumer 인터페이스를 통해서 객체를 생성하고 있는 것에 대해 이해가 되지 않았다. 그래서 검색을 통해 찾아보니 인터페이스 익명 구현 객체라는 것을 통해서 구현을 할 수 있다는 것을 알게 되었다. 익명 클래스 익명 클래스는 내부 클래스(Inner class) 일종으로 단어 그대로 이름이 없는 클래스를 말한다. 익명, 이름이 없다는 것은 별로 기억되지 않아도 된다는 것이며, 나중에 다시 불러질 이유 즉, 재사용할 일이 없다는 뜻으로 프로그램에서 일시적(단발적)으로 한 번만 사용되고 버려지는 객체라고 볼 수 있다. 왜 생겼을까? 일회성의 구현 객체를 만들기 위해 소스파일을 만들고 클래스를 선언하는 것..
자동차 경주 피드백 Car public class Car { private int distance; public Car() { this.distance = 0; } public int distance() { return distance; } // 람다식으로 표현할 수 있도록 GameStrategy를 Funtional Inteface로 만들었는데 이 부분에 대해 따봉 받았다! // Predicate Interface와 고민했는데 movable 메서드로 좀 더 의도적으로 표현하기 위해 GameStrategy Interface를 만들었다. public void forward(GameStrategy racingStrategy) { if (racingStrategy.movable()) { distance++; }..
- Total
- Today
- Yesterday
- 비관적 락
- nginx configuration
- 구름톤챌린지
- mysql
- 넥스트스탭
- postgresql
- Kafka
- jvm 메모리 구조
- redis session
- Synchronized
- annotation
- spring webflux
- ip cidr
- 구름톤 챌린지
- 트랜잭션
- 람다
- amazon elb
- pessimistic lock
- transaction
- Java
- mdcfilter
- amazon subnet
- nginx
- sql
- NeXTSTEP
- 카프카
- 분산 락
- socket
- spring session
- TDD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |