전체 글 81

[SQL] 프로그래머스 문제 풀이 - 동물의 아이디와 이름

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SELECT ANIMAL_ID, NAMEFROM ANIMAL_INSORDER BY ANIMAL_ID - ORDER BY : SELECT 구문의 가장 마지막에 위치하며 특정 기준으로 정렬하여 데이터를 조회한다. - ORDER ..

[SQL] 프로그래머스 문제 풀이 - 동물 수 구하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요. SELECT COUNT( * )FROM ANIMAL_INS - 개수를 셀 때는 COUNT 함수를 사용한다.- COUNT 함수는 조회되는 데이터의 개수를 리턴해주는 명령어로 기본적으로 COUNT (*) 형태를 띈다. ( *은 모두 조회)

[Spring_4기 본캠프] Spring 입문 - 회원관리 서비스 개발 | Day 33

1. 회원 서비스 개발  public Long join(Member member) { // 같은 이름이 있는 중복회원 X //ctrl + alt + v 단축키로 자동으로 optional 입력해줌. 반환이 Optional memberRepository.findByName(member.getName()).ifPresent(m -> { //ctrl + alt + n 메서드 체이닝 -> 변수 선언과 동시에 로직을 수행한 후 바로 리턴하는 구조, 변수 선언이 불필요 throw new IllegalStateException("이미 존재하는 회원입니다."); }); memberRepository.save(member); ..

[SQL] 프로그래머스 문제 풀이 - 중복 제거하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. SELECT COUNT(DISTINCT NAME)FROM ANIMAL_INSWHERE NAME IS NOT NULL - COUNT 함수는 조회되는 데이터의 개수를 리턴해주..

[SQL] 프로그래머스 문제 풀이 - 역순 정렬하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요. SELECT NAME, DATETIMEFROM ANIMAL_INSORDER BY ANIMAL_INS DESC; - ORDER BY : SELECT 구문의 가장 마지막에 위치하며, 구문을 특정..

[SQL] 프로그래머스 문제 풀이 - 이름이 있는 동물의 아이디

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. SELECT ANIMAL_IDFROM ANIMAL_INSWHERE NAME is not null - is not null 은 입력값을 확인하여 NULL이면 true, NULL이 아니면 false를 ..

[Spring_4기 본캠프] Spring 입문 - 회원관리 예제 테스트해보기 | Day 32

1. 간단한 회원 관리 프로그램을 만들어 테스트 해보자. package hello.hello_spring.repository;import hello.hello_spring.domain.Member;import org.junit.jupiter.api.Assertions;import org.junit.jupiter.api.Test;class MemoryMemberRepositoryTest { // 잘 작동하는지 테스트 MemberRepository repository = new MemoryMemberRepository(); @Test public void save() { Member member = new Member(); member.setName("커비"); ..

[Spring_4기 본캠프] Spring 입문 - 백엔드 개발 | Day 31

1. Spring 이틀 차, 소감은?- 강의에서 입력하는 코드를 그대로 따라 치고, 웹페이지가 변한 모습을 보면 신기해하고 그러고 있다.내가 지금 뭘 하는건지, 이해를 하고 있는건지 알 수 없었다. 배우는 느낌이 아니라고 해야할까? 2. 회원 관리 서비스를 개발해보자1) 비즈니스 요구사항 정리 - 데이터 : 회원ID, 이름- 기능 : 회원 등록, 조회- 데이터 저장소 미정 (가상의 시나리오)   → 아직 데이터 저장소가 선정되지 않아 인터페이스로 구현클래스를 변경할 수 있도록 설계  → 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고민중인 상황으로 가정  → 개발을 진행하기 위해 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용  - 컨트롤러 : 웹 MVC의 컨트롤러 역할..

[Spring_4기 본캠프] Spring 입문 - build terminal 오류 트러블 슈팅 | Day 30

>> Spring 입문 첫 날, 3시간 동안 머리 깨진 경험  우선 트러블 슈팅을 하기 전 나와 같은 경험을 현재 진행형으로 하고 계신 분들을 위해 파훼법부터 빠르게 정리하고자 한다. ./gradlew build 불가능터미널 (필자는 windows 운영체제, git bash 를 사용중) 에서 ./gradlew build 명령어를 입력했지만 내 경로에 java 명령을 찾을 수 없다는 오류가 발생했다. 내 JAVA_HOME 환경을 자바 설치 위치랑 맞춰달라는 말 같았다.자바의 버전 확인을 위해 java -version, javac -version 등 자바의 버전 확인을 원하는 명령을 모두 쳐봤지만 bash에서 자바 자체를 찾지 못하는 듯했다. env:JAVA_HOME 명령어도 먹히질 않았다.이후 인터넷 검색..

[Spring_4기 본캠프] 상속 & 다형성과 캐스팅 | Day 29

1. 상속 : 기존 클래스의 필드와 메서드를 새로운 클래스에서 물려받는 것. (extends 키워드를 이용)◆ 부모클래스 : 새로운 클래스에 필드와 메서드를 물려주는(상속해주는) 클래스 = 상위 클래스◆ 자식클래스 : 부모클래스가 상속을 해주는 클래스 = 하위 클래스- 자식 클래스는 부모 클래스의 기능을 상속받아 사용할 수 있지만 부모 클래스는 자식클래스에 접근할 수 없다.- 자바는 다중 상속을 지원하지 않아 부모 클래스는 하나만 가질 수 있다. 물론 부모 클래스도 부모를 가질 순 있다.  2. 상속과 메모리 구조- 부모 클래스로부터 상속을 받아 새로운 객체를 생성하면 상속 관계에 있는 부모 클래스까지 함께 포함해 인스턴스를 생성한다.즉, 참조값은 하나지만 실제로 그 안에는 두 가지 클래스 정보가 공존하..