[Spring Boot] 데이터베이스 Update 하는 법

[Spring Boot] 데이터베이스 Update 하는 법

데이터베이스 Update하기

웹 브라우저에서 회원 수정을 하는 경우를 생각하며,

@PutMapping을 이용해서 주소를 만들어줬다. 이때 적은 주소는 @GetMapping의 주소와 동일한데, 스프링부트에서는 알아서 Get, Put을 구별해준다.

첫 번째 방법 (Save함수 사용)

주소에서 id를 받아온다. 이 id는 데이터베이스에 저장 된 id값을 불러오기 위함이다.

자세히 보기
[Spring Boot] 데이터베이스 Select 하는 법과 에러체크

[Spring Boot] 데이터베이스 Select 하는 법과 에러체크

데이터베이스의 데이터를 Select할 때 잘못 된 인수가 들어가면 어떻게 해야할까


데이터베이스 Select하기

User table을 select하기에 앞서,

UserRepository라는 인터페이스 파일을 새로 만들고, 그 UserRepository는 JpaRepository를 상속하고 있다.

1
2
3
// 자동으로 bean등록이 된다. --> @Repository 생략가능
public interface UserRepository extends JpaRepository<User, Integer> {
}

그리고 select 기능을 넣어줄 클래스파일에 DI를 해주고,

자세히 보기
[프로그래머스] Lv2.주식가격

[프로그래머스] Lv2.주식가격

출처: [코딩테스트 연습 완주하지 못한 선수]


문제

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.


제한

  • prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
  • prices의 길이는 2 이상 100,000 이하입니다.
자세히 보기
[백준] 2503번 숫자 야구

[백준] 2503번 숫자 야구

출처: [백준] 2503번 숫자 야구


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 9137 4152 3430 45.923%

문제

정보문화진흥원 정보 영재 동아리에서 동아리 활동을 하던 영수와 민혁이는 쉬는 시간을 틈타 숫자야구 게임을 하기로 했다.

  • 영수는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 마음속으로 생각한다. (예: 324)
  • 민혁이는 1에서 9까지의 서로 다른 숫자 세 개로 구성된 세 자리 수를 영수에게 묻는다. (예: 123)
  • 민혁이가 말한 세 자리 수에 있는 숫자들 중 하나가 영수의 세 자리 수의 동일한 자리에 위치하면 스트라이크 한 번으로 센다. 숫자가 영수의 세 자리 수에 있긴 하나 다른 자리에 위치하면 볼 한 번으로 센다.
자세히 보기
[프로그래머스] [2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어

[프로그래머스] [2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어

출처: [2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어


문제

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.

다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.

  • 1478 → “one4seveneight”
  • 234567 → “23four5six7”
  • 10203 → “1zerotwozero3”
자세히 보기
[Spring Boot] JPA 즉시 로딩과 지연 로딩(FetchType.EAGER or LAZY)

[Spring Boot] JPA 즉시 로딩과 지연 로딩(FetchType.EAGER or LAZY)

블로그 프로젝트 진행 중 FetchType.LAZY와 EAGER이란 것이 나왔다.

하나의 게시물을 눌렀을 때, 화면에 필수적으로 나타나야 하는 것은

  • 작성자
  • 제목
  • 내용

위 3가지가 있었고 있었고, 댓글은 바로 보여지는 경우와 접혀있다가 눌렀을 때 보이는 경우로 나눌 수 있었다.


JPA의 기본 패치 전략

- @ManyToOne, @OneToOne: 즉시로딩(FetchType.EAGER)

자세히 보기
[Spring Boot] IntelliJ에서 Live Reload 설정하기

[Spring Boot] IntelliJ에서 Live Reload 설정하기

Live Reload

  • Live Reload라는 기능은 Spring Boot로 개발하면서 자바 소스를 수정하고 저장하면 자동으로 재시작을 해주는 기능이다.

1. spring-boot-devtools 의존성 추가하기

1
developmentOnly 'org.springframework.boot:spring-boot-devtools'

2. application.yml에 추가하기

1
2
3
4
5
6
7
8
9
spring:
devtools:
livereload: # view단이 바뀌었을 때 자동으로 리로드 설정
enabled: true
restart: # 컨트롤러,모델단(classpath에 있는 파일)이 바뀌었을 때 프로젝트 재시작 설정
enabled: false

freemarker:
cache: false

3. Intelli J 설정 수정하기

자세히 보기
[백준] 2841번 외계인의 기타 연주

[백준] 2841번 외계인의 기타 연주

출처: [백준] 2841번 외계인의 기타 연주


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 5543 2390 1881 42.605%

문제

상근이의 상상의 친구 외계인은 손가락을 수십억개 가지고 있다. 어느 날 외계인은 기타가 치고 싶었고, 인터넷에서 간단한 멜로디를 검색했다. 이제 이 기타를 치려고 한다.

보통 기타는 1번 줄부터 6번 줄까지 총 6개의 줄이 있고, 각 줄은 P개의 프렛으로 나누어져 있다. 프렛의 번호도 1번부터 P번까지 나누어져 있다.

자세히 보기
[백준] 4889번 안정적인 문자열

[백준] 4889번 안정적인 문자열

출처: [백준] 4889번 안정적인 문자열


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 2235 1068 890 46.793%

문제

여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 여기서 안정적인 문자열을 만들기 위한 최소 연산의 수를 구하려고 한다. 안정적인 문자열의 정의란 다음과 같다.

1
2
3
4
5
1. 빈 문자열은 안정적이다.
2. S가 안정적이라면, {S}도 안정적인 문자열이다.
3. S와 T가 안정적이라면, ST(두 문자열의 연결)도 안정적이다.

{}, {}{}, {{}{}}는 안정적인 문자열이지만, }{, {{}{, {}{는 안정적인 문자열이 아니다.
자세히 보기

2021년 07월 16일 금요일 IT뉴스

1. 구글코리아, ‘머신러닝 부트캠프’ 개최

구글코리아, ‘머신러닝 부트캠프’ 개최

[사진=구글]

머신러닝 부트캠프는 머신러닝 개발자 지망생들에게 교육과 취업 기회를 제공하고, 머신러닝 개발 인력 부족으로 어려움을 겪고 있는 국내 기업이 인력풀을 확보할 수 있도록 지원하는 프로그램이며, 지난해 진행한 프로그램에는 약 3천명의 개발자가 지원했으며 이중 코세라 딥러닝 특화과정을 수료한 150여명의 참가자는 머신러닝 자격증을 취득해 현재 다양한 산업군에서 머신러닝 개발자로 근무하고 있다.

올해 머신러닝 부트캠프에는 실습형 교육 과정이 새롭게 추가됐다. 참가자는 글로벌 인공지능 경진대회 플랫폼 캐글(Kaggle)의 과제 중 하나를 선택해 일정한 순위권에 오르는 것을 목표로 실습형 교육 과정을 경험, 프로젝트를 주도적으로 진행해 직접 성과를 내게 된다.


2. 개발자로 만족한다 39.2%···연봉 불만 1~3년차가 가장 높아

자세히 보기