묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@GenerateValue(strategy=GenerationType.IDENTITY)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@GenerateValue(strategy=GenerationType.IDENTITY) 일 경우에만 pk값을 알 수 없어서 commit 전에 insert 쿼리를 날리는 것은 이해 했는데commit 시점에 진행될 작업들이 매번 flush를 호출해서 영속성 컨텍스트의 데이터가 commit 전에도 지속적으로 디비에 반영이 되는 걸까요 ?? 아니면 pk 값을 알기 위한게 목적이기 때문에 persist의 경우만 예외적인 건가요 ???
-
미해결누구나 쉽게 배우는 통계(SPSS보다 쉽게 R)
감사합니다. 또하나 질문 드립니다.
교수님 조언해주신 덕분에 잘해결하였습니다.진심으로 감사드립니다.혹시 다른 질문 하나만 드려도 될까요?Rcmdr에서 logistic regression 을 하려고 하는데 본 질문에 첨부되어있는 사진table 1처럼 multivariate logistic regression 에서 Adult (1)/ pediatric (2)로 나타낼수 있는 방법이 있을까요?고진선처 부탁드립니다!진심으로 감사드립니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
비가 안 오는 경우도 고려해야 되니까 ret=0아니고 1인건가요?
아무것도 잠기지 않는다는 말(a[][]가 모두 101 이상인 경우)이랑 비가 안오는거(d=0)랑은 다르잖아요무조건 비가 오는 게(1<=d<=100) 아닌가요? 비가 안 올 수 도 있는 게 상식이니까 그런가요문제 설명중 노트에 힌트라고 아무도 안 잠길 수 있다 라고 적어둔게 전혀 도움이 안 되는 문제 같네요 대놓고 비가 안 올 수 있다고 해야 하지 않나요
-
미해결실전! 스프링 데이터 JPA
스프링데이터 레포지토리 매개변수 질문
@Repository public interface LikeRepository extends JpaRepository<Like,Long> { Optional<Like> findByMemberAndCourse(Member member, Course course); Optional<Like> findByMemberIdAndCourseId(Long memberId, Long CourseId); } 스프링데이터 레포지토리에서 객체로 찾을때와 id로 찾을때가 있는것 같은데 어느상황엔 무얼써야하는지 혹은 어떤걸 추천하시는지 궁금합니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@OneToMany
'자바 ORM 표준 JPA 프로그래밍 - 기본편' -기본 문법과 쿼리 API- Order 클래스에는 @ManyToOne @JoinColumn(name = "PRODUCT_ID") private Product product; @ManyToOne을 작성해주는데 Product 클래스에는 @OneToMany를 작성하지 않는건가요??작성하지 않아도 실행이 잘되었습니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
[내용 문의]
4분 40초 호출이 안되어야 하는데, 저는 동일하게 내용을 기입하였는데 func1이 정상적으로 작동됩니다.
-
미해결C# WPF .NET Core(7.0)
소스프로그램 및 교육 교재
프로그램 소스코드와 교재는 어디서 구하나요?
-
미해결Practical Testing: 실용적인 테스트 가이드
캐시를 포함한 Service Layer 테스트 가이드
안녕하세요. 우빈님!캐시를 처음 적용해 보아서 캐시를 포함한 비지니스 로직을 어떻게 작성하는 것이 좋을까? 에 대한 고민이 있어 글 남깁니다...! AS IS@Transactional public UosRestaurantMenuResponse getUosRestaurantMenu(UosRestaurantInput input) { // 학식 조회 UosRestaurant findUosRestaurant = uosRestaurantRepository.findByCrawlingDateAndRestaurantNameAndMealType(input.getDate(), input.getRestaurantName(), input.getMealType()) .orElseThrow(() -> new UosRestaurantMenuException(UosRestaurantMenuException.NOT_FOUND_MENU)); // 조회수 증가 findUosRestaurant.increaseView(); return UosRestaurantMenuResponse.of(findUosRestaurant); } TO BE@Transactional public UosRestaurantMenuResponse getUosRestaurantMenu(UosRestaurantInput input) { // 캐시에서 학식 조회 Optional<CacheUosRestaurant> cacheUosRestaurant = cacheUosRestaurantRepository .findById(CacheUosRestaurant.createId(input)); // 캐시에 학식이 존재하면 if(cacheUosRestaurant.isPresent()) { // 조회수 증가 cacheUosRestaurant.get().increaseView(); CacheUosRestaurant saveCacheRestaurant = cacheUosRestaurantRepository.save(cacheUosRestaurant.get()); return UosRestaurantMenuResponse.of(saveCacheRestaurant); } // 학식 조회 UosRestaurant findUosRestaurant = uosRestaurantRepository.findByCrawlingDateAndRestaurantNameAndMealType(input.getDate(), input.getRestaurantName(), input.getMealType()) .orElseThrow(() -> new UosRestaurantMenuException(UosRestaurantMenuException.NOT_FOUND_MENU)); // 조회수 증가 findUosRestaurant.increaseView(); // 캐시에 저장 cacheUosRestaurantRepository.save(CacheUosRestaurant.of(findUosRestaurant)); return UosRestaurantMenuResponse.of(findUosRestaurant); } 캐시에 대한 로직이 추가될 때 위와 같이 하나의 서비스 레이어 메소드에 작성하는 것이 좋은걸까요?캐시에 대한 테스트 코드를 작성할 때 캐시를 사용할 때와 캐시를 사용하지 않을 때를 상황을 구분하여 작성하는 것이 맞을까요..?(그것이 좋겠죠....? -> 기존 비지니스 로직 테스트 코드를 수정하는것이 최선일까? 에대한 의문이 들어서 질문 드렸습니다.)스프링에서 CacheManager를 이용하여 @Cacheable 을 활용하는 방법이 있는데, CrudRepository를 사용하는 방법과 CacheManager를 사용하는 방법 중 어느 것이 더 좋은(?) 방법인지 말씀주시면 감사하겠습니다.4. 마지막으로 캐시를 사용할 때 깔끔하게 비지니스 로직을 작성할 수 있는 노하우 말씀주시면 감사하겠습니다.!!!다소 질문이 난해한데 너그럽게 이해해주시면 감사하겠습니다.ㅠㅠ좋은 강의 잘 듣고 있습니다. 다음 강의도 기대할께요^^!!감사합니다.
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
예외 발생시 스프링 트랜잭션 AOP는 예외의 종류에 따라 트랜잭션을 커밋하거나 롤백한다. 에 대해서 질문 있습니다.
[질문 내용] 강의를 보다가 의문점이 들었습니다. " 체크 예외인 Exception과 그 하위 예외가 발생하면 트랜잭션을 커밋한다. " 의 경우 RuntimeException도 Exception의 하위 예외인데 제가 이해한것이 맞다면 "체크 예외인 Exception과 RuntimeException를 제외한 하위 예외가 발생하면 트랜잭션을 커밋한다." 가 맞나요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
같은 ip인데 다른 네트워크일 수 는 없는거죠?
0.0.0.0~127.255.255.255는 넷id 앞 1개 쓰고128.0.0.0~191.255.255255 넷id 앞 2개 쓰고 그래서넷id 1자리(?) 쓰는 0.0.0.0은 있어도넷id 2자리(?) 쓰는 0.0.0.0은 없으니까 ip는 모두 서로 구별 되는 거죠? 질문이 이상하긴 한데
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
500 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]https://drive.google.com/file/d/1mu_pXERJk_lZC5yprE5sVQWm1RfNpIcp/view?usp=drive_link회원 목록이나 회원 등록 페이지를 들어가면 위와 같은 에러가 뜹니다. 이유를 못 찾겠어서 질문 글 남깁니다.
-
미해결[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
실행방법의 차이와 터미널 문구 설명부탁드려요
안녕하세요 선생님. 위와같이 실행했을때 터미널에 나오는 문구가 선생님과 차이가 좀 있는데 이유 알수있을까요?파워쉘에서 cmd로 변경한거같은데 문구가 다르네요(경로, 파일명은 당연히 다르니까 다른걸 알겠는데 ps나 뭐 이런게 선생님 설정과 다른걸까요?) 추가질문이 있습니다.1) 위에 실행버튼(우측 상단 삼각형)을 누르는것 말고 실행 방법이 F5가 있는것같아서 F5눌러서 실행하고 있는데 터미널에 나오는 문구가 또 다르네요(이렇게 나오고있습니다)실행버튼과 F5의 차이가 있나요?3) 쉬프트+엔터 실행코드 전체를 드레그 한 후 '쉬프트+엔터'로 실행하면 터미널이 아래와같은데, 이는 어떤차이 인가요?결과가 달라지는걸까요?다양한 실행방법이 있는것같은데 그 차이가 궁금합니다 선생님!ㅜㅜ
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
signup_page.dart 오류 질문있습니다.
프로필 이미지 업로드 기능 개발 강의 듣는 중위와 같은 오류가 나는데어디 부분을 확인해야 할까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 compare 함수 질문
안녕하세요 큰돌님. 120p string으로 이루어진 배열을 정렬한 코드에 대해 질문드립니다.제가 이해한 바로는 compare라는 함수는 문자열의 길이를 비교하는 함수입니다.if(a.size() == b.size()) return a < b; 는 문자열의 길이가 같으면 a b 크기를 비교합니다. 이 때 비교하는 기준은 아스키 코드입니다.만약 문자열의 길이가 같지 않으면 크기를 비교해서(아스키코드 기준) 바로 boolean 값을 반환합니다.111은 222와 아스키코드적으로 비교를 하게되는데.. 이때 1의 아스키코드는 49이고 2의 아스키 코드는 50입니다. 111이 a, 222가 b 이니까 a < b 는 T가 됩니다.111은 이제 33과 비교를 하게 됩니다. if문에 해당이 되지 않기때문에 바로 return a.size() < b.size() 를 하게 됩니다. a가 111, 33이 b이고 a의 size는 3, b의 size는 2입니다. 결과적으로 F가 됩니다.여기서 드리고 싶은 질문은F가 되면 순서를 바꾸는건가요? 그렇담 왜 33,222,111 가 되지 않는건가요?111과 33은 아스키코드순으로 비교할 필요가 없지 않나요? 자릿수가 다르니까 a < b를 할 필요가 없을텐데.. 왜 교안에는 아스키코드순으로 비교한다는 내용이 실려져 있는건가요? 없어도 되는 내용인것 같은데…. 실려져 있어서 제가 잘못 알고있는건지 너무 헷갈립니다…
-
미해결데이터 분석가, IT 엔지니어에게 필요한 MySQL 마스터 코스!
강의 오류
섹션5 상호 조인 내용이 없어요.외부 조인 내용만 반복됩니다
-
미해결데이터 분석가, IT 엔지니어에게 필요한 MySQL 마스터 코스!
강의 오류 (조인 부분)
수강 중 질문이 있으시면 댓글로 남겨주세요!!친절하게 답변해 드리겠습니다!! :)
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
질문있습니다!
안녕하세요!얼추 큰틀은 잡고 공부를 하던 중 궁금한 점이 있어 질문드립니다! 한국포렌식학회에서 제공하는 실습파일(3.3)에서 매체정보에 대해 기술하는 문제가 있습니다. 섹터 당 용량, 클러스터 당 섹터 수 등은 전부다 배운대로 하니 잘 맞는데 유독 디스크 전체 용량만 숫자가 계속 다르더라구요.. 총 용량(디스크 전체 용량) = NTFS = 총 섹터수 X 섹터당 용량 - 클러스터 용량(크기)FAT32 = 총 섹터수 X 섹터당 용량 - (4096X1024) 위의 공식이 배운 내용인데 이대로 계산하면 숫자가 조금씩 달라서 왜 그런지 궁금하여 질문남깁니다! 그리고 혹시 한국포렌식학회에서 제공하는 실습파일(3.3) 풀어보셨었는지 모르겠는데 위의 실습파일을 분석하던 중 0608_.hwp 와 923.hwp 이 두개의 파일 내부의 내용을 확인할 수가 없더라구요..(삭제된 파일이라 추출 후 헤더도 맞고 확장자도 맞게 열어도..) 이런경우 내부의 내용을 어떻게 확인하는지 알려주실 수 있을까요?(질문이 총 두가지인데 답변 남겨주시면 너무 감사하겠습니다!)
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
dfs를 호출 할 때 매개변수..?
안녕하세요! 강의 넘 잘 듣고 있습니다. 하루만에 거의 다들었네요,,ㅋㅋ질문이 있습니다혹시 dfs를 호출할 때 이런 '-'나 '|' 같은게 나오면매개변수로 '-' 나 '|' 를 추가해서 dfs함수에 넘겨도 되는건가요?저는 이렇게 할 때가 많은데 이렇게 하지 않고 오히려 dfs 함수 안에서 해결해주는 게 더 간단한 것 같기도 해서요.. 보통은 어떻게 하시나요? 전 4방 탐색을 하면서 이렇게 풀었었네요,, 한 방향만 탐색하는 팁 배워갑니다 ㅎㅎimport java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[] dr = {-1, 1, 0, 0}; static int[] dc = {0, 0, -1, 1}; static int N, M; static char[][] arr; static int ans; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); arr = new char[N+2][M+2]; for (int i = 1; i <= N; i++) { String str = br.readLine(); for (int j = 1; j <= M; j++) { arr[i][j] = str.charAt(j-1); } } for (int i = 1; i <= N; i++) { for (int j = 1; j <= M; j++) { if (arr[i][j] == '|') { dfs(i, j, '|'); ans++; } else if (arr[i][j] == '-'){ dfs(i, j, '-'); ans++; } } } System.out.println(ans); } private static void dfs(int r, int c, char shape) { int start = 0; int end = 0; if (shape == '|') { start = 0; end = 1; } else if (shape == '-'){ start = 2; end = 3; } arr[r][c] = '1'; for (int d = start; d <= end; d++) { int nr = r + dr[d]; int nc = c + dc[d]; if(arr[nr][nc] == shape) { arr[nr][nc] = '1'; dfs(nr, nc, shape); } } } }
-
미해결R로 하는 웹 크롤링 - 입문편
htmltab 패키지에서 url을 불러올 수 없습니다.
주식데이터 크롤링을 수강하고 있습니다. htmltab 패키지 설치 후 url를 정상적으로 입력을 했는데도 Error: Couldn't find a table. 이라는 메세지가 나옵니다. 무엇이 잘못되었을까요...
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
코드에 약간 오타가 있는거 같습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요. 백기선님수업을 잘 듣고 있습니다. 제 생각에 간단한(?) 오타같은게 있는거 같아서 제보드립니다. 혹시 오타가 아니라면 제가 잘못 이해한 부분을 말씀 부탁드리겠습니다.옵저버 패턴 3부 - 1:56초쯤 unregister 를 subject가 "디자인패턴"인 것에 대해서 user2 를 해지 해주었는데요.이미 user 2는 오징어게임에만 등록중입니다. 그래서 결과값도 user2 가 보낸 "옵저버 패턴 장, 단점 보는 중" 이 user1한테 가서 출력된거 같습니다.아마 user1을 해지하거나 user2를 오징어게임에 대해서 해지하려고 하지 않았나 싶습니다..