질문이 있어 남깁니다. 30. 회원 애플리케이션 기능 추가 강의 중 Activate 메서드를 작성하면서 설명해주신 Spring Data Jpa 사용시 save를 사용해야 한다고 공식문서에 나와있다고 하셨는데 해당 문서에 대한 링크를 알수있을까요? save를 안티패턴이라고도 설명을하고 불필요한 오버헤드 발생에 대해서는 어떻게 생각하시나요? 강의의 내용 처럼 JpaRepository가 아닌 Repository를 사용 하는경우에는 필수적으로 save를 해야 하나 JpaRepository의 경우는 Jpa 자체에서는 save라는 것이 없기 때문에 새로운 엔티티를 생성할때만 사용을하고 업데이트의 경우는 생략을 해야하는 것일까요?
'c:/Users/swu/threads-clone/node_modules/@faker-js/faker/tsconfig.json' 구성 파일에서 입력을 찾을 수 없습니다. 지정된 '포함' 경로는 '["src/**/*"]'이고 '제외' 경로는 '["node_modules"]'이었습니다. 처음에 오류가 발생해서 npm uninstall @faker-js/faker 로 한 번 지웠다가 다시 npm i @faker-js/faker 로 설치했는데 이런 오류가 발생합니다 ㅜㅜ 지웠다가 설치해서 이런 오류가 발생하는 걸까요?
LOG key: Xo8WBi6jzSxKDVR4drqm84yr9iU= ERROR [Error: invalid android_key_hash or ios_bundle_id or web_site_url] key는 잘 받아오는데 로그인이 안됩니다.. const onKakaoLogin = async () => { try { console.log("key: ", await getKeyHashAndroid()); const result = await kakaoLogin(); console.log(result); const user = await me(); console.log(user); // TODO: save the token to server } catch (error) { console.error(error); } }; 현재 사용 중인 코드입니다.
안녕하세요. 좋아요가 없는 경우 팩토리 메소드로 좋아요 객체를 생성하고 영속시키는 부분은 이해가 되었습니다. 그런데 비관적 락의 select for update 를 할 때 데이터가 없으면 row 도 없으니까 락이 안잡히지 않나요? row가 존재해야만 락이 생성되는게 아닌지 궁금합니다. 그리고 이 경우 신규 데이터를 생성할때 0으로 초기화 하고 1을 증가시켜 저장할 때 여러 요청이 있게 되면 다시 경쟁 상태에 놓이게 되는게 아닌가요?
reactive kakao login docs를 보고 설치하고 강의따라 kakako core,user 설치했는데, 아래와같은 에러가 계속 발생합니다 > Configure project :react-native-reanimated Android gradle plugin: 8.8.2 Gradle: 8.13 [Incubating] Problems report is available at: file:///Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/android/build/reports/problems/problems-report.html FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:processDebugResources'. > Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'. > Could not find com.kakao.sdk:v2-common:2.20.1. Searched in the following locations: - file:/Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/node_modules/react-native/android/com/kakao/sdk/v2-common/2.20.1/v2-common-2.20.1.pom - https://dl.google.com/dl/android/maven2/com/kakao/sdk/v2-common/2.20.1/v2-common-2.20.1.pom - https://repo.maven.apache.org/maven2/com/kakao/sdk/v2-common/2.20.1/v2-common-2.20.1.pom - https://www.jitpack.io/com/kakao/sdk/v2-common/2.20.1/v2-common-2.20.1.pom - https://central.sonatype.com/repository/maven-snapshots/com/kakao/sdk/v2-common/2.20.1/v2-common-2.20.1.pom Required by: project :app > project :react-native-kakao_core > Could not find com.kakao.sdk:v2-user:2.20.1. Searched in the following locations: - file:/Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/node_modules/react-native/android/com/kakao/sdk/v2-user/2.20.1/v2-user-2.20.1.pom - https://dl.google.com/dl/android/maven2/com/kakao/sdk/v2-user/2.20.1/v2-user-2.20.1.pom - https://repo.maven.apache.org/maven2/com/kakao/sdk/v2-user/2.20.1/v2-user-2.20.1.pom - https://www.jitpack.io/com/kakao/sdk/v2-user/2.20.1/v2-user-2.20.1.pom - https://central.sonatype.com/repository/maven-snapshots/com/kakao/sdk/v2-user/2.20.1/v2-user-2.20.1.pom Required by: project :app > project :react-native-kakao_user * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.13/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 6s 33 actionable tasks: 5 executed, 28 up-to-date Error: /Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/android/gradlew app:assembleDebug -x lint -x test --configure-on-demand --build-cache -PreactNativeDevServerPort=8081 -PreactNativeArchitectures=arm64-v8a exited with non-zero code: 1 Error: /Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/android/gradlew app:assembleDebug -x lint -x test --configure-on-demand --build-cache -PreactNativeDevServerPort=8081 -PreactNativeArchitectures=arm64-v8a exited with non-zero code: 1 at ChildProcess.completionListener (/Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/node_modules/@expo/spawn-async/src/spawnAsync.ts:67:13) at Object.onceWrapper (node:events:622:26) at ChildProcess.emit (node:events:507:28) at maybeClose (node:internal/child_process:1101:16) at Process.ChildProcess._handle.onexit (node:internal/child_process:305:5) ... at spawnAsync (/Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/node_modules/@expo/spawn-async/src/spawnAsync.ts:28:21) at spawnGradleAsync (/Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/node_modules/@expo/cli/src/start/platforms/android/gradle.ts:134:28) at assembleAsync (/Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/node_modules/@expo/cli/src/start/platforms/android/gradle.ts:83:16) at runAndroidAsync (/Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/node_modules/@expo/cli/src/run/android/runAndroidAsync.ts:62:24) node_modules 모두 삭제하고 설치해도 똑같습니다 npx expo install --fix 로도 호환이 안맞춰지는 것 같습니다. 패키지는 설치되어있는 것 확인했습니다. 제 진행중인 코드 입니다.
안녕하세요 강사님, 강의 정말 잘 듣고 있습니다! 기존에는 항상 커버링 인덱스를 활용하셨었는데, comment_v2 인피니트 스크롤에서는 서브쿼리를 빼고 바로 전체 데이터를 조회하시더라구요. 혹시 특별한 이유가 있을까요? 커버링 인덱스를 일부러 포기한 구조인지, 아니면 path 기반 설계에서는 서브쿼리 자체가 필요 없어졌기 때문인지 궁금합니다.
강의 00:30 경에 List<Child> childList 가 나오는데요, 이거는 엔티티라고 하시고 이후에 값 타입 컬렉션을 코드를 보면 Set<String> favoriteFoods , List<Address> addressHistory 는 값 타입 컬렉션이라고 하시죠. 그런데 아무리봐도 엔티티와 값타입의 차이점이 뭔지 모르겠습니다. 값 타입 컬렉션의 테이블 구조가 위와 같은데 일반 1:N 엔티티 구조에서도 위와 비슷할 것같구요.. 강의 2분 55분 정도부터 언급하시는데 별도의 id 를 넣으면 엔티티라고 하시는데, 그렇다면 엔티티와 값타입의 차이점은 단지 별도의 id 유무인가요? 클래스 관점에서나 테이블 관점에서 둘의 차이점이 궁금합니다. 엔티티는 별도의 pk(id)가 존재하고, 값 타입은 엔티티처럼 별도의 하나의 pk는 존재하지는 않고 그저 여러 필드?컬럼?값들을 묶어서 pk로 구성하는 건가요? 이것이 맞다면 id차이 하나로 엔티티 따로 값 타입 컬렉션 따로 개념이 나뉘고 값 타입 컬렉션에는 별도의 어노태이션을 사용하고 삽입, 삭제, 변경의 방법도 다를 정도인건가요? id차이로 이렇게까지 나눌 이유가 있는건가요?
5번째 계단으로 오는 방법의 수가 8인 이유가 제가 이해한 게 맞는지 궁급합니다. i - 2번째 계단에서는 두 칸 점프 즉 +2가 붙는 경우를 고려한거고 i - 1번째 계단에서는 한 칸 점프 즉 +1이 붙는 경우를 고려한건가요? 5번째 계단을 구할 때 3번째 계단까지 오는 경우의 수는 3이고 이 3개의 경우에 전부 +2가 붙어서 5가 되고 4번째 계단까지 오는 경우의 수는 5인데 이 5개의 경우 전부 +1씩해서 5가 되어서 3 + 5 = 8이 되는 로직이 맞는지 질문드립니다.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int cnt = 0; public static void dfs(int sum, int n) { int[] arr = {1, 2}; for (int i = 0; i < arr.length; i++) { sum += arr[i]; if (sum == n) { cnt++; sum -= arr[i]; } else { if (sum < n) dfs(sum, n); sum -= arr[i]; } } } public static void main(String[] args) throws Exception { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(bufferedReader.readLine()); dfs(0, n); System.out.println(cnt); } } dp를 잘 몰라서 자력으로 dfs 방식으로 풀었는데 그닥 좋지 않은 접근일까요...?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 회원, 부서 테이블을 생성하다 고민이 생겨 해당 강의를 다시 복습해봐도 어떻게 하는게 좋을지 모르겠어 질문하게 되었습니다. 먼저 회원테이블은 회원 ID (PK) 부서 ID (FK, 부서테이블PK) , NULL 부서 테이블은 부서 ID (PK) 부서생성자 ID(FK, 회원테이블PK), NOT NULL 로 구성되어 있는 상황입니다. 필드의 개수를 최대한 간략히 나타내었는데, 이러한 상황에서 1. 중간테이블을 만드는게 나을지 ( 이 경우 유저ID, 부서ID, type{소속 or 생성}), 2. 회원테이블의 부서ID와 부서테이블의 회원ID에 각각 ManyToOne을 걸어주는게 나을지 더 좋은 방법을 찾기가 어려워 질문드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] libs폴더로 이동 후 java -jar SpringRecture-0.0.1-SNAPSHOT.jar 실행했을 때 발생하는 오류인데 뭐가 문제인가요?