[질문 템플릿] 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 에서 설정하지 못하는 것이 있어서 그런건가요? 말씀해주신 결과적인 사건들을 통해 위험하다 는 것은 알겠는데, 그 구체적인 이유를 설명하라고 한다면, 아직 정확하게 말 할 수 없을 듯 하여, 질문 남깁니다. 긴 글 읽어주셔서 감사합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Windows 11에서 플러터 설치중인데 flutter doctor시에 설치된 Windows 버전이 10 이상인지 확인할 수 없다고 나옵니다.. Unable to find bundled Java version 오류는 질문통해 해결완료했는데 해당 오류는 구글링을 해도 해결방법이 전혀보이질않습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 안녕하세요 테스트코드 작성중 궁금한게 생겨 질문드립니다. @Setter 어노테이션을 자주 사용하게 되면 어디서 변경될지 모르기때문에 사용을 하지말라고 알고 있는데 김영한 강사님께서는 테스트 코드 작성시 set을 사용하셔서요 테스트코드에서만 setter를 사용한다면 문제가 없을까요? 이에 관련하여 구글링을 해보았는데 테스트코드 한정으로 setter를 사용한다고 하는 분들도 있네요 저 같은경우는 테스트코드에서도 @Builder 어노테이션을 통해서 set을 대체하고 있는데요 아무래도 좀 귀찮은면이 있어서... 엔티티에 @Setter를 선언하고 테스트 코드에만 사용하는것이 더 좋을지 그래도 @Setter의 위험성을 생각해서 사용하지말고, @Builder를 사용하는것이 더 좋을지 질문드립니다. 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 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하는 것이 덜 부담될 것이라 생각했는데 왜 시간초과가 나는 것인가요? 여기서 시간초과가 날 것이라는 것을 사전에 미리 알 수 있는 방법이 무엇일까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 안녕하세요 . 중급 강의에서는 백앤드 처리가 되어있어서 그런데 개인적으로 앱을 개발하려면 백앤드에서 하는 일이 로그인시 아이디 비번 토큰 변환 회원정보 디비 저장, 회원정보 , 게시글 및 데이터들 데이터베이스에 작성 및 읽기 수정 삭제 토큰 + 데이터베이스 관련된 기능만 하는거일까요 ?? 예를들면 개인적으로 스프링 + 아파치 + mysql 로 구성해서 http 통신으로 데이터만 주고 받으면 앱출시 목적으로 구현이 가능한건가요 ? 웹은 어느정도 아는데 앱은 처음이라 많이 모자르네요
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! [질문] 이렇게 현재 시킨대로 셋팅했는데 코드팩토리님이 말씀하신 플러터 경로가 나오지 않습니다 ㅠ 그결과 역시 코드팩토리님과 동일하게 넘어가지지가 않아 질문 드립니다 ㅠㅠ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니요 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 이번에 백엔드 단기간 취업 목적으로 JPA 활용 1, 2 를 들어서 포트폴리오에 첨가할 프로젝트를 만들 계획이 있습니다. 부수적인 CS, 언어, 데이터베이스 등등의 지식이 뒷받침된다는 전제하에 만들 수 있나요? MVC 강의가 있던데 이것을 듣지 않는다면 불가능하거나 혹은 지장이 많나요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
수업 잘 듣고 있습니다. 내용 중 build 안에서 textStyle 을 선언해 사용하는데, build 안과 밖의 차이 를 알고 싶고 build 안에서는 계속 필요할 경우 rendering 되는데 위와 같은 경우는 밖으로 내는 것은 어떤가요? 물론 StatelessWidget이지만.. 궁금해 문의합니다.
stockservice 클래스의 decrease의 saveandflush를 synchronized를 위해 사용한 것은 이해가 갔습니다. 근데 jpa를 사용할 때 값을 update할 때 더티체킹에 의해서 update가 확인이 되어 repository를 통해 save를 하지 않아도 되는걸로 알고 있는데 실무에선 save나 saveandflush를 사용하지 않고 decrease 메서드만 사용해도 될까요?
안녕하세요 강의 잘 보고 있습니다. 다름이 아니라 강의를 보면서 따라서 하고 있는 도중에 api/v1/simple-orders로 접근을 하면 invalidDefinitionException이 발생합니다. 혹시 오타가 있나해서 몇번이고 다시 확인하고 orderRepository클래스도 붙여넣고 initDB클래스도 붙여넣었는데도 안되네요... 찾아보니까 jackson 라이브러리가 객체를 JSON타입으로 바꾸면서 생기는 오류라고 하는데 도움을 받을 수 있을까요? 아래는 압축한 파일일 있는 링크입니다. https://drive.google.com/file/d/1FGTNqcXxTkw2l-UeVN50kW6v12b4oGQj/view?usp=sharing
MemberService의 메소드를 보면 findMembers와 findOne같은 경우 Repository의 메소드를 (이름만 바꿔주는 식으로?) 한번 더 호출해주는 역할만 하고 join만 중복 회원 검증이라는 추가 적인 일을 하고 있는데요 이렇다면 굳이 Service단을 만들어서 코드를 입력해야하는 이유가 무엇인가요? findMembers가 필요하다면 그냥 findAll을 사용하면 되고, findOne이 필요하다면 findById를 사용하면 되지 않나요? 차라리 save 메소드에 중복회원을 검증하는 로직을 추가하는게 더 효율적이지 않나요?