본문 바로가기

분류 전체보기

[모던 자바 인 액션] chapter 3. 람다 표현식(2) [목차] chapter 1. 자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가? chapter 2. 동작 파라미터화 코드 전달하기 chapter 3. 람다 표현식(1) chapter 3. 람다 표현식(2) (이전 내용 요약) 유연한 구조를 가져가기 위한 전략 : 동적 파라미터화 → 함수형 인터페이스 → 익명 클래스 → 람다 표현식 → 형식 추론 3.6 메서드 참조 메서드 참조는 자바 8 코드의 또 하나의 새로운 기능. 람다 표현식이 단 하나의 메소드만을 호출하는 경우에 해당 람다 표현식에서 불필요한 매개변수를 제거하고 사용할 수 있도록 해준다. 메서드 참조를 이용하면 기존의 메서드 정의를 재활용해서 람다처럼 전달할 수 있다. 람다 표현식보다 더 가독성이 좋으며 자연스러울 수 있다. // 기존의 ..
[그림으로 공부하는 IT 인프라 구조] 제 1장. 인프라 아키텍처를 살펴보자 인프라(Infra)란 무엇일까? 인프라를 우리말로 하면 ‘기반'이란 뜻이고, 아키텍처는 직역하면 ‘구조'라는 의미다. 인프라 아키텍처는 IT 인프라의 구조를 의미한다. 인터넷 검색 시스템이나 항공 회사 티켓 발권 시스템, 편의점 계산대 등 모두가 이용 방법이나 사용자가 다르지만 IT 인프라 위에서 동작하고 있고, 이 인프라 아키텍처는 거의 같은 구조를 가진 채 움직이고 있다. 이번 장에서는 현재 IT 업계에서 주류가 되고 있는 인프라 아키텍처에 대해 알아본다. 궁극의 아키텍처와 최적의 아키텍처는 존재하는 것일까? → NO. 아키텍처나 설계 요소에는 반드시 장점과 단점이 공존한다. 시스템에 따라 가장 중요한 장점은 살리고, 단점을 최소화하도록 설계하는 것이 중요하다. 집약형과 분할형 아키텍처 IT 인프라는..
[알고리즘] Java로 정렬 알고리즘 구현해보기 선택 정렬 [알고리즘] 선택 정렬(selection sort)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io // 선택 정렬 private static int[] selectionSort(int[] numbers) { // 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그다음 작은 데이터를 선택해 두 번째 데이터와 바꾸는 과정을 반복 // 시간복잡도 O(n^2) // 공간복잡도 O(1) for (int i = 0; i < numbers.length; i++) { int minIndex = i; for (int j = i + 1; j < numbers.length; j++) { if (numbers[..
[프로그래머스] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) - 헤비 유저가 소유한 장소 (MySQL) 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr 문제 설명 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 나타냅니다. ID는 기본키입니다. NAME TYPE ID INT NAME VARCHAR HOST_ID INT 문제 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다...
[프로그래머스] Summer/Winter Coding(2019) - 우유와 요거트가 담긴 장바구니 (MySQL) 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 문제 설명 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가격을 나타냅니다. NAME TYPE ID INT CART_ID INT NAME VARCHAR PRICE INT 데이터 분석 팀에서는..
[프로그래머스] SQL 고득점 Kit - String, Date 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 https://programmers.co.kr/learn/courses/30/parts/17047 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 루시와 엘라 찾기 (level 2) WHERE - IN을 이용하면 해당 데이터를 ()안에 있는 값들에 포함되어 있는지를 찾는다. SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ("Lucy", "Ella", "Pickle", "Rogan", ..
[프로그래머스] SQL 고득점 Kit - JOIN 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 없어진 기록 찾기 (level 3) JOIN을 사용할 때는 ON을 통해서 두 테이블이 조인될 기준 컬럼을 지정해줘야 함을 잊지말자. 또한 두 테이블의 컬럼을 구분하기 위해서 각 테이블을 AS를 통해 이름을 지정해줘야 한다. SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS AS OUTS LEFT JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID 있었는데요 없었습니다 (level 3) LEFT JOIN은 앞 테이블을 기준으로 한 J..
[프로그래머스] SQL 고득점 Kit - IS NULL 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이름이 없는 동물의 아이디 (level 1) WHERE 구문에서 IS NULL이라는 키워드를 통해 NULL에 대한 조건 처리가 가능하다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 이름이 있는 동물의 아이디 (level 1) WHERE 구문에서 IS NOT NULL이라는 키워드를 통해 NULL이 아닌 데이터에 대한 조건 처리가 가능하다. SELECT ANIMAL_..