inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

현업에서 데이터베이스 스키마 자동 생성 기능을 운영 장비에서 사용하지 않는 이유

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 데이터베이스 스키마 자동 생성 부분 강의 관련해서 궁금한 점이 생겨 질문 드립니다. 강의에서 생성된 DDL은 개발 장비에서만 사용해야 하며, 운영 장비에서는 사용하면 안 된다. 라고 말씀해주셨습니다. 그리고, 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬 은 후 사용 이라고 강의 자료에 나와 있는데요. 그렇다면, 실제 현업에서는 운영 서버에 새로운 테이블을 create 하거나, 기존 테이블을 update(칼럼 추가 혹은 변경 등...) 하는 경우에 어떻게 하는지 궁금합니다. 강의 내용 + 서칭에 따르면, 로컬에서 DB 스키마 자동 생성 -> 검증 및 정제 -> 최종 스키마를 DB 툴을 이용해서 추출 -> 최종 스키마인 "create table ~~"을 테스트 DB에 적용(이 때, JPA 를 통해서가 아닌, 스키마 자체를 적용해야 함) -> QA 진행 , 검증 및 정제 -> 최종 스키마를 DB 툴을 이용해서 추출 -> 최종 스키마인 "create table ~~"을 테스트 DB에 적용(이 때, JPA 를 통해서가 아닌, 스키마 자체를 적용해야 함)을 운영 장비에 적용 하는 방식으로 진행하는 걸까요? (물론, 여건에 따라, 테스트 서버도 JPA DB 스키마 자동 생성 기능으로 처리할 수도 있을 듯 합니다.) create 뿐만 아니라, update 또한 운영서버에 적용하면 안되며, update 또한 테스트서버에 적용하는 것은 지양한다고 하셨습니다. 운영 서버의 소스코드가 (JPA DB 자동 스키마 생성기능을 통해) 테스트 서버, 운영 서버의 DB create, update 권한을 가진다는 것 자체에 대해 우려하시는 건가요? 아니면, DB 관련하여 컨트롤하는 기능 중, JPA 에서 설정하지 못하는 것이 있어서 그런건가요? 말씀해주신 결과적인 사건들을 통해 위험하다 는 것은 알겠는데, 그 구체적인 이유를 설명하라고 한다면, 아직 정확하게 말 할 수 없을 듯 하여, 질문 남깁니다. 긴 글 읽어주셔서 감사합니다.

  • JPA
  • jpa
  • spring
  • java
Seo Hyun Park 댓글 1 좋아요 1 조회수 1096

DAU, WAU, MAU를 SQL로 구하기-02 관련 질문드립니다.

미해결

다양한 사례로 익히는 SQL 데이터 분석

with temp_00 as ( select generate_series ('2016-08-02':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as dau from ga_sess a cross join temp_00 b where visit_stime >= (b. current_date - interval '1 days') and visit_stime < b. current_date group by b. current_date 위 SQL문에서 where visit_stime >= (b. current_date - interval '1 days') and visit_stime < b. current_date 이 부분이 이해가 가지 않습니다. current_date가 2016-08-02일 경우 visit_stime이 2016-08-02보다는 작아야 하고, 2016-08-01보다는 크거나 같다는 말인데.. 그럼 즉, 2016-08-01 00:00:00 ~2016-08-01 23:59:59 라는 건데요.. 그럼 이게 2016-08-01의 DAU가 아닌가요?.. select 절에서는 current_date로 group by를 해서 추출된 데이터는 2016-08-02의 DAU로 추출이 되더라구요.. 실제 csv파일로 받아서 보아도, 2016-08-01의 dau가 1569로 확인이 되는거 같기두 하구요.. with temp_00 as ( select generate_series ('2016-08-01':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as dau from ga_sess a cross join temp_00 b where visit_stime >= b. current_date and visit_stime < (b. current_date + interval '1 days') group by b. current_date with temp_00 as ( select generate_series ('2016-08-01':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as wau from ga_sess a cross join temp_00 b where visit_stime >= (b. current_date - interval '6 days') and visit_stime < (b. current_date + interval '1 days') group by b. current_date ; with temp_00 as ( select generate_series ('2016-08-01':: date , '2016-11-01':: date , '1 days':: interval ):: date as current_date ) select b. current_date , count ( distinct user_id) as mau from ga_sess a cross join temp_00 b where visit_stime >= (b. current_date - interval '29 days') and visit_stime < (b. current_date + interval '1 days') group by b. current_date ; 이렇게 구하는게 맞는거 아닌지 문의드립니다 !

  • DBMS/RDBMS
  • sql
  • dbms/rdbms
  • 퍼포먼스-마케팅
  • postgresql
  • 데이터-엔지니어링
  • 데이터 엔지니어링
  • 퍼포먼스 마케팅
cis3093 댓글 1 좋아요 0 조회수 1273

테스트코드에서 엔티티 set과 builder패턴 사용

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 안녕하세요 테스트코드 작성중 궁금한게 생겨 질문드립니다. @Setter 어노테이션을 자주 사용하게 되면 어디서 변경될지 모르기때문에 사용을 하지말라고 알고 있는데 김영한 강사님께서는 테스트 코드 작성시 set을 사용하셔서요 테스트코드에서만 setter를 사용한다면 문제가 없을까요? 이에 관련하여 구글링을 해보았는데 테스트코드 한정으로 setter를 사용한다고 하는 분들도 있네요 저 같은경우는 테스트코드에서도 @Builder 어노테이션을 통해서 set을 대체하고 있는데요 아무래도 좀 귀찮은면이 있어서... 엔티티에 @Setter를 선언하고 테스트 코드에만 사용하는것이 더 좋을지 그래도 @Setter의 위험성을 생각해서 사용하지말고, @Builder를 사용하는것이 더 좋을지 질문드립니다. 감사합니다.

  • java
  • 웹앱
  • 웹앱
  • JPA
  • jpa
  • spring
  • spring-boot
chl.cken 댓글 1 좋아요 0 조회수 772

메인 쿼리 집합 레벨 변경 관련 질문입니다.

미해결

데이터 분석 SQL Fundamentals

select * from nw.orders where (customer_id,order_date) in ( select customer_id, max (order_date) from nw.orders group by customer_id) 이 쿼리를 날려도 customer_id 레벨이 M이라 LACOR이라는 value가 중복이 되는 건가요? 강의에선 메인 쿼리 레벨이 1이고 서브 쿼리 레벨이 M일 때 메인 쿼리 레벨이 1로 유지된다고 했는데, 이 쿼리처럼 메인 쿼리 레벨이 M이고 서브 쿼리 레벨이 1일 때도 메인 쿼리 레벨은 M으로 유지된다고 이해해도 괜찮을까요?

  • DBMS/RDBMS
  • postgresql
  • dbms/rdbms
  • sql
이성훈 댓글 1 좋아요 0 조회수 338

각각 sort해서 계산하는 것과 계산한 뒤 모아서 sort하는 것

해결됨

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 3-2 공통 원소 구하기(two pointers algorithm) 문제입니다. public List<Integer> solution(int n, int[] arr1, int m, int[] arr2) { List<Integer> answer = new ArrayList<>(); Set<Integer> set = new HashSet<>(); for(int i= 0 ; i<n; i++) { set.add(arr1[i]) } for(int i= 0 ; i<m; i++) { if(!set.add(arr2[i])) answer.add(arr2[i]); } answer.sort((o1, o2) -> {if(o1 < o2) return -1; else if(o1 == o2) return 0; else return 1;}); return answer; } 위는 제가 수업 전에 작성한 코드입니다. 1. HashSet으로 중복된 것을 거르고 List로 넣은 후에 2. List를 오름차순으로 정렬 순으로 코드를 작성했는데 마지막 테스트 케이스에 시간초과가 발생했습니다. [ 질문 ] sort때문에 시간 초과가 나는 것 같은데, 강사님 방법처럼 갖고있는 모든 원소를 sort하는 것보다 중복된 원소만 모아둔 뒤 sort하는 것이 덜 부담될 것이라 생각했는데 왜 시간초과가 나는 것인가요? 여기서 시간초과가 날 것이라는 것을 사전에 미리 알 수 있는 방법이 무엇일까요?

  • 코딩-테스트
  • java
  • 코테 준비 같이 해요!
  • 공통원소구하기
khjung1654 댓글 1 좋아요 0 조회수 431

극초보 코린이 인텔리제이 빌드 직후 질문

미해결

인텔리제이 사용중인 코린이 입니다. 혼자 게시판 만들기 위해서 프로젝트를 생성하였는데 이렇게 왼쪽에 보시는것과 같이 빨간색이 뜨는데 왜뜨는지 해결방법이 무엇인지 도와주세요..ㅜㅜ

  • 스프링부트
  • springboot
  • spring
  • java
TAKE MUSIC 댓글 0 좋아요 0 조회수 356

질문드리겠습니다.

미해결

[개념반]배워서 바로 쓰는 SQL 쿼리

select substr(birthdate, 1, 7) as month, count(*) as cnt from Employees group by month; 위와같은 쿼리를 이용하여 문제를 푸는 도중 처음에는 groupby month 를 사용하지 않았습니다. 그 결과 month 의 컬럼에는 1968-12 이 출력되어 나왔는데 제일 최근 년도도 아니고, 오래된 년도도 아니고 왜 이친구가 대표로 출력되어 나오는건가요..?

  • sql
skyjoon2 댓글 1 좋아요 0 조회수 403

백엔드 뉴비입니다. 뷰도 만들고 싶은데 SSR말고 CSR 하는게 좋을까요?

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

백엔드 뉴비입니다. 뷰도 만들고 싶은데 SSR말고 CSR 하는게 좋을까요? 혼자 프로젝트 연습중인데요! 타임리프보다는 Vue.js같은 걸 하는게 나중에 협업할때 좋을 것 같아서요. 이왕 공부하는거 타임리프보다 Vue.js 공부할까요? 정말 고민이에요..

  • 웹앱
  • 웹앱
  • JPA
  • spring-boot
  • jpa
  • java
  • spring
pmsuk7028 댓글 1 좋아요 0 조회수 855

Analytic SQL 관련 질문

미해결

데이터 분석 SQL Fundamentals

안녕하세요. 권철민 선생님. 저는 SQL을 업무에서 활용하고 싶은 직장인입니다. 선생님 강의로 SQL을 열심히 공부하고 있고 지금은 Analytic SQL을 수강 중인데요. 제 궁극적인 목표는 회사 데이터베이스에서 SQL로 데이터를 가져와 판다스 등으로 처리한 뒤 머신러닝으로 결과를 도출하는 것이라서 'Analytic SQL이 내게 필요할까?' 라는 생각이 들고 있습니다. 왜냐하면 다양한 계산들은 판다스에서 더 수월히 수행할 수 있을 것 같아서요. 혹시 제가 아직 지식이 부족하여 그런 것이고 제가 모르는 Analytic SQL의 장점이 있다면 조언 부탁드립니다.

  • DBMS/RDBMS
  • postgresql
  • dbms/rdbms
  • sql
디에고시메오네 댓글 1 좋아요 0 조회수 420

flutter doctor 실행 했을 때 안드로이드스튜디오 - java 관련 경고가 나타납니다.

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

flutter doctor 실행 했을 때 안드로이드스튜디오 - java 관련 경고가 나타납니다. 에러가 아닌 경고라서 진행에 문제가 없을 것으로 생각이 됩니다만 해결하고 싶어서 구글에 검색을 해봐도 해결 방법을 모르겠습니다.

  • flutter
  • Flutter
  • 클론코딩
  • 클론코딩
  • m1세팅
  • 안드로이드스튜디오
  • java
김재민 댓글 1 좋아요 0 조회수 584

JPA 강의를 듣고 프로젝트를 만들 수 있나요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니요 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 이번에 백엔드 단기간 취업 목적으로 JPA 활용 1, 2 를 들어서 포트폴리오에 첨가할 프로젝트를 만들 계획이 있습니다. 부수적인 CS, 언어, 데이터베이스 등등의 지식이 뒷받침된다는 전제하에 만들 수 있나요? MVC 강의가 있던데 이것을 듣지 않는다면 불가능하거나 혹은 지장이 많나요?

  • spring-boot
  • 웹앱
  • JPA
  • spring-boot
  • java
  • jpa
  • 웹앱
  • spring
ngh 댓글 1 좋아요 1 조회수 1056

맥북 환경에서 SQL

미해결

데이터 분석 SQL Fundamentals

안녕하세요, 제가 맥북을 사용하고 있고, PostgreSQL과 Dbeaver 두가지 모두 다운받았는데 이 두개가 연동(?)이 안되는 것 같아요 ㅠㅠ 인터넷 검색해보니 도커를 다운받아야한다는데 제 컴퓨터엔 도커도 설치가 안되네요.. 윈도우 기반으로 설명해주셔서 명강의를 어떻게 들으면 좋을 지 고민이라 여쭤봅니다.

  • postgresql
  • sql
  • dbms/rdbms
  • DBMS/RDBMS
이지현 댓글 1 좋아요 0 조회수 391

stockservice 함수의 saveandflush 질문이 있습니다

해결됨

재고시스템으로 알아보는 동시성이슈 해결방법

stockservice 클래스의 decrease의 saveandflush를 synchronized를 위해 사용한 것은 이해가 갔습니다. 근데 jpa를 사용할 때 값을 update할 때 더티체킹에 의해서 update가 확인이 되어 repository를 통해 save를 하지 않아도 되는걸로 알고 있는데 실무에선 save나 saveandflush를 사용하지 않고 decrease 메서드만 사용해도 될까요?

  • java
  • spring
  • 동시성
  • 동시성
정발산 댓글 1 좋아요 1 조회수 642

api/v1/simple-orders로 api호출을 하면 자꾸 InvalidDefinitionException이 발생합니다.

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요 강의 잘 보고 있습니다. 다름이 아니라 강의를 보면서 따라서 하고 있는 도중에 api/v1/simple-orders로 접근을 하면 invalidDefinitionException이 발생합니다. 혹시 오타가 있나해서 몇번이고 다시 확인하고 orderRepository클래스도 붙여넣고 initDB클래스도 붙여넣었는데도 안되네요... 찾아보니까 jackson 라이브러리가 객체를 JSON타입으로 바꾸면서 생기는 오류라고 하는데 도움을 받을 수 있을까요? 아래는 압축한 파일일 있는 링크입니다. https://drive.google.com/file/d/1FGTNqcXxTkw2l-UeVN50kW6v12b4oGQj/view?usp=sharing

  • java
  • spring-boot
  • jpa
  • JPA
  • spring
이상민 댓글 1 좋아요 0 조회수 1240

서비스와 리포지토리의 차이

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

MemberService의 메소드를 보면 findMembers와 findOne같은 경우 Repository의 메소드를 (이름만 바꿔주는 식으로?) 한번 더 호출해주는 역할만 하고 join만 중복 회원 검증이라는 추가 적인 일을 하고 있는데요 이렇다면 굳이 Service단을 만들어서 코드를 입력해야하는 이유가 무엇인가요? findMembers가 필요하다면 그냥 findAll을 사용하면 되고, findOne이 필요하다면 findById를 사용하면 되지 않나요? 차라리 save 메소드에 중복회원을 검증하는 로직을 추가하는게 더 효율적이지 않나요?

  • java
  • spring
  • mvc
  • MVC
  • spring-boot
댓글 1 좋아요 0 조회수 655

static 선언 이유

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

static을 붙여서 생성하면 클래스 변수기 때문에 인스턴스를 생성하지 않고 바로 사용할 수 있을 때 붙인다고 알고 있는데 sequence와 store에 static을 붙인 이유가 무엇일까요?

  • MVC
  • mvc
  • spring-boot
  • spring
  • java
댓글 1 좋아요 0 조회수 861

쿼리 질문

미해결

데이터 분석 SQL Fundamentals

안녕하세요~ 아래 문제에서, join nw.shippers d on b.ship_via = d.shipper_id >> 왜 ship_via = shipper_id 인지 잘 이해가 안됩니다. 두 키 값이 같은 키 값인걸까요? [문제] -- Berlin에 살고 있는 고객이 주문한 주문 정보를 구할것 -- 고객명, 주문id, 주문일자, 주문접수 직원명, 배송업체명을 구할것. select a.customer_id, a.contact _name, b.order_id, b.order_date , c.first_name||' '||c.last_name as employee_name, d.company _name as shipper_name from nw.customers a join nw.orders b on a.customer_id = b.customer_id join nw.employees c on b.employee_id = c.employee_id join nw.shippers d on b.ship_via = d.shipper_id where a.city = 'Berlin'; 그리고 회사에서 DB2를 사용하는데, 현재 강의에서 알려주시는 postgres2 와 많은 차이가 있는지도 문의 드립니다..!

  • sql
  • postgresql
  • dbms/rdbms
  • DBMS/RDBMS
jinsun4u 댓글 1 좋아요 0 조회수 398

날짜 관련 질문

미해결

데이터 분석 SQL Fundamentals

안녕하세요! -- 고객명 Antonio Moreno이 1997년에 주문한 주문 정보를 주문 아이디, 주문일자, 배송일자, 배송 주소를 고객 주소와 함께 구할것. 이 문제에서, 1997년에 주문한 주문 정보 where절 작성할 때 where b.order_date between '19970101' and '19971231' 이렇게 작성해도 1997년 주문 정보가 추출이 되는 거 같은데, 강의에서 between to_date('19970101', 'yyyymmdd') and to_date('19971231', 'yyyymmdd') 이렇게 to_date라고 쓰신 이유가 따로 있을까요?!

  • DBMS/RDBMS
  • sql
  • dbms/rdbms
  • postgresql
jinsun4u 댓글 1 좋아요 0 조회수 311

질문드리겠습니다.

미해결

[개념반]배워서 바로 쓰는 SQL 쿼리

or조건을 이용하여 검색하는 경우는 where in을 사용하는데요 and 조건을 이용하여 검색하는경우는 and를 사용하지않고 어떻게 사용해야하나요?

  • sql
skyjoon2 댓글 1 좋아요 0 조회수 444

질문드리겠습니다.

미해결

[개념반]배워서 바로 쓰는 SQL 쿼리

선생님은 SELECT * FROM customers WHERE Country = "Mexico" or ContactName = "Yang Wang"; 위와같이 customers를 소문자로 저는 SELECT * FROM Customers WHERE Country = "Mexico" or ContactName = "Yang Wang"; 이렇게 C를 대문자로 사용하였습니다. 제가 소문자로 문구를 바꾼다면 Table 'northwind.customers' doesn't exist 테이블이 존재하지 않는다는데 이유가 무엇일까요?

  • sql
skyjoon2 댓글 1 좋아요 0 조회수 424

인기 태그

인프런 TOP Writers

주간 인기글