안녕하세요! 강의를 보다가 궁금증이 생겨서 질문 남깁니다. @Inheritance(strategy = InheritanceType.JOINED) @Inheritance(strategy = InheritanceType.SINGLE_TABLE) 영한님께서 InheritanceType.JOINED 전략을 쓰다가 성능이 잘 안나온다 싶으면 InheritanceType.SINGLE_TABLE 만 바꾸면 구조를 다 바꿀 수 있는 것이 JPA의 장점이라고 했습니다. 근데 실제로 서버를 운영하고 있는 상황에서 저렇게 바꿔도 기존의 데이터와 테이블에 영향이 없는지 궁금합니다.
회원가입 후 로그인 된 상태로 home으로 이동하게 되는데 여기서 useSession정보가 업데이트 되지않아서 Props로 session정보를 넘겨주는 방식으로 사용하셨는데 다르게 처리하는 방법도 있을까요 ? 예를 들면 로그인 모달에서 했던 것 처럼 서버액션을 사용하지 말고 클라이언트 컴포넌트에서 fetch 를 처리한 후 replace(/home) 시키는 방법이요 !
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 영한님께서 내부 클래스에서 외부 클래스의 private 필드에 접근할 수 있다고 말씀해주셨는데. 외부 클래스의 메소드의 경우도, 중첩 클래스의 private 필드나 private 생성자에 접근할 수 있나요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Launching lib/main.dart on sdk gphone64 x86 64 in debug mode... Running Gradle task 'assembleDebug'... /Users/yoonjoochu/Documents/workspace/android/app/src/debug/AndroidManifest.xml Error: uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library [:webview_flutter_android] /Users/yoonjoochu/Documents/workspace/build/webview_flutter_android/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 19 Suggestion: use a compatible library with a minSdk of at most 19, or increase this project's minSdk version to at least 21, or use tools:overrideLibrary="io.flutter.plugins.webviewflutter" to force usage (may lead to runtime failures) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugMainManifest'. > Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library [:webview_flutter_android] /Users/yoonjoochu/Documents/workspace/build/webview_flutter_android/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 19 Suggestion: use a compatible library with a minSdk of at most 19, or increase this project's minSdk version to at least 21, or use tools:overrideLibrary="io.flutter.plugins.webviewflutter" to force usage (may lead to runtime failures) * 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 . BUILD FAILED in 4s ┌─ Flutter Fix ─────────────────────────────────────────────────────────────────────────────────┐ │ The plugin webview_flutter_android requires a higher Android SDK version. │ │ Fix this issue by adding the following to the file │ │ /Users/yoonjoochu/Documents/workspace/android/app/build.gradle: │ │ android { │ │ defaultConfig { │ │ minSdkVersion 21 │ │ } │ │ } │ │ │ │ Following this change, your app will not be available to users running Android SDKs below 21. │ │ Consider searching for a version of this plugin that supports these lower versions of the │ │ Android SDK instead. │ │ For more information, see: https://flutter.dev/to/review-gradle-config │ └───────────────────────────────────────────────────────────────────────────────────────────────┘ Error: Gradle task assembleDebug failed with exit code 1 분명 https://pub.dev/packages/webview_flutter 여기선 minsdk를 19로 설정하라고 하는데 왜 오류가 날까요??
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Launching lib/main.dart on sdk gphone64 x86 64 in debug mode... Running Gradle task 'assembleDebug'... /Users/yoonjoochu/Documents/workspace/android/app/src/debug/AndroidManifest.xml Error: uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library [:webview_flutter_android] /Users/yoonjoochu/Documents/workspace/build/webview_flutter_android/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 19 Suggestion: use a compatible library with a minSdk of at most 19, or increase this project's minSdk version to at least 21, or use tools:overrideLibrary="io.flutter.plugins.webviewflutter" to force usage (may lead to runtime failures) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugMainManifest'. > Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library [:webview_flutter_android] /Users/yoonjoochu/Documents/workspace/build/webview_flutter_android/intermediates/merged_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 19 Suggestion: use a compatible library with a minSdk of at most 19, or increase this project's minSdk version to at least 21, or use tools:overrideLibrary="io.flutter.plugins.webviewflutter" to force usage (may lead to runtime failures) * 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 . BUILD FAILED in 8s ┌─ Flutter Fix ─────────────────────────────────────────────────────────────────────────────────┐ │ The plugin webview_flutter_android requires a higher Android SDK version. │ │ Fix this issue by adding the following to the file │ │ /Users/yoonjoochu/Documents/workspace/android/app/build.gradle: │ │ android { │ │ defaultConfig { │ │ minSdkVersion 21 │ │ } │ │ } │ │ │ │ Following this change, your app will not be available to users running Android SDKs below 21. │ │ Consider searching for a version of this plugin that supports these lower versions of the │ │ Android SDK instead. │ │ For more information, see: https://flutter.dev/to/review-gradle-config │ └───────────────────────────────────────────────────────────────────────────────────────────────┘ Error: Gradle task assembleDebug failed with exit code 1 pixel 7 pro api 35를 실행하고 프로젝트를 실행하려고 하는데 위와 같은 오류가 나요. 현재 제 맥북엔 자바가 깔려있지 않은데 자바를 깔아야할까요?
OAuth 2.0 Client Fundamentals 섹터에서 ClientRegistrationRepository 이해 및 활용 강의와 자동설정에 의한 초기화 과정 강의 사이에 AuthenticationEntryPoint 강의가 있어야 할 것 같습니다. 강의 자료에서 순서는 그러한데 강의는 없는 것 같아 문의드립니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
동영상을 선택하고, 다음 화면으로 넘어가는데 잠시 검은 색 화면(Homescreen의 backgroundcolor)이 나오다가 다음과 같은 오류가 나오면서 에뮬레이터가 꺼집니다. FATAL in unbox_VkPipeline, err code: 4300000000: Unbox 0000000000000000 failed, not found. initializeController() async { videoPlayerController = VideoPlayerController.file( File( widget.video.path, ), ); await videoPlayerController.initialize(); setState(() {}); } @override Widget build(BuildContext context) { return Center( child: AspectRatio( aspectRatio: videoPlayerController.value.aspectRatio, child: VideoPlayer(videoPlayerController), ), ); } } 해당 문제인거 같아서, 수정해봤는데 여전히 안되네요 ㅠㅠ android/app/src/main/AndroidManifest.xml <meta-data android:name="flutter.embedding.android.enable-vulkan" android:value="false" /> 플러터 버전은 3.27.4로 사용했습니다. video_player: ^2.8.2 image_picker: ^1.0.7 코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
✅ 모든 질문들은 슬랙 채널에서 답변드리고 있습니다. 💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 💡 평일중에는 퇴근 이후(저녁 7시)에 답변을 받아보실 수 있고, 주말중에는 상시 답변드리고 있습니다. 안녕하세요? 질 좋은 강의 잘 듣고 있습니다. 코드를 치면서 신경쓰이는 부분이 있어서 질문드립니다. vscode에서 @material-tailwind/react component를 가져왔을 때 뜨는 빨간줄 없앨 수는 없나요?
안녕하세요? 항상 재미있는 수업 감사드리며 수업을 너무 잘 듣고 있는 와중 오타로 의심되는 단어가 있어 문의를 드립니다 섹션10 강의에 사용되는 PDF 파일인 9.컬렉션 프레임워크- Map 파일 5페이지 키와 값 목록 조회 부분에 Entry 는 키-값의 쌍으로 이루어진 간단한 객체이다. Entiry 는 Map 내부에서 키와 값을 함께 묶어서 저장할 때 사용한다. 에서 초록색으로 칠이 된 단어가 오타라고 생각 되어 문의 드립니다 감사합니다.
사내 환경에서 외부 인터넷은 프록시를 통해 접속 가능합니다. 백엔드 서버 구축시 npm install 수행시 prisma engine을 다운로드 받을수 없다는 메시지가 나옵니다. Downloading Prisma engines for Node-API for windows [ ] 0%Error: request to https://binaries.prisma.sh/all_commits/acc0b9dd43eb689cbd20c9470515d719db10d0b0/windows/schema-engine.exe.sha256 failed, reason: 엔진을 수작업으로 다운로드 받아 참조 할수 있는 방법이 없을까요
제공 해주신 코드에서 ITEM에는 왜 @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>(); 이거에 해당하는 코드가 없을까요? @OneToMany(mappedBy = "item", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>(); 이런 코드가 있어야 1대 다 관계에서 매핑과 주인관계를 결정해줄 수 있지 않나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @transactional을 repository가 아닌 service에 다는 이유가 궁금합니다. transaction 단위가 단순히 db와 왔다갔다하는 것이 아니라, 하나의 비지니스 로직을 의미하기 때문일까요(transaction의 개념을 잘 몰라서 헷갈리는 듯 합니다.)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의에서 컬렉션을 페치 조인했을때 컬렉션의 요소 만큼 결과 리스트가 증가한다 하였습니다. 하지만 아래와 같이 코드를 실행했는데 결과는 한번만 출력이 됩니다. 찾아보니 JPA에서 내부적으로 중복을 없애준다는데 맞는 이야기 인가요?? package jpashop.jpql; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.EntityTransaction; import jakarta.persistence.Persistence; import java.util.List; public class Main { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); //트랜잭션 생성 EntityTransaction tx = em.getTransaction(); //트랜잭션 시작 tx.begin(); try { Team teamA=new Team(); teamA.setName("팀A"); em.persist(teamA); Team teamB=new Team(); teamB.setName("팀B"); em.persist(teamB); Member member1=new Member(); member1.setUsername("member1"); member1.setAge(10); member1.setTeam(teamA); em.persist(member1); Member member2=new Member(); member2.setUsername("member2"); member2.setTeam(teamA); member2.setAge(15); em.persist(member2); Member member3=new Member(); member3.setUsername("member3"); member3.setTeam(teamB); member3.setAge(20); em.persist(member3); em.flush(); em.clear(); String query="select t From Team t join fetch t.members where t.name='팀A'"; List<Team> result = em.createQuery(query, Team.class) .getResultList(); for (Team t:result){ System.out.println("member= " +t.getName()+"|members="+t.getMembers().size()); for (Member m:t.getMembers()){ System.out.println("- member ="+m); } } tx.commit(); }catch (Exception e){ e.printStackTrace(); tx.rollback(); }finally { em.close(); } emf.close(); } } String query= "select t From Team t join fetch t.members" ; String query= "select t From Team t" ; 두 결과 사이즈를 찍어도 동일하게 2가 나옵니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 스프링컨테이너는 그러면 단순히 브라우저에서 받은 요청을 컨트롤러에 매핑시켜주어 스프링컨테이너에 등록되어 있는 빈? 이라는 것과 매칭 시켜 존재한다면 viewResolver에 연결시켜 화면을 띄워주고 없다면 오류를 발생시켜 주는 역할인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. File로 문자 파일 읽기를 복습하다가 I/o스트림 의 '스트림'의 뜻를 몰라서 질문을 드립니다. 9:30 초 부분에서 "I/O 스트림이 아니라 람다와 스트림에서 사용하는 스트림이다"라고 하였는데 , 람다와 스트림에서 사용하는 스트림은 아직 배우지를 않아서 모른다 치더라도, I/O 스트림은 저의 생각으로는 여기까지 공부했다면 알아야 하는것 아닌가 라는 생각에 갑자기 멍해지더라고요. 혹시 I/O스트림의 정확한 정의와 뜻을 알켜주실수있으신가요? 아니면 어느 부분을 복습 해야지 I/O스트림에 대해서 정확히 알 수 있을까요? 답변 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 버그인지 궁금합니다..영상보고 차근차근 따라하다가 해결아닌 해결을 했는데 이게 정상적인건지 궁금합니다. 처음에 첫번째 사진과 같은 스프링부트 프로젝트를 설정하고 build.gradle을 오픈하니 2,3번째 사진과 같은 에러가 발생했습니다. 해결전 설정은 아래와 같았습니다. 이전에 이걸로 질문글 올렸는데 java 버전을 17버전으로 설치해보라고 하셔서 jdk 17버전으로 설치했습니다. 설치후 Project Structure에서 sdk를 변경해주었습니다. 그리고 build.gradle 파일에서 다음과 같이 전 후 languageVersion = JavaLanguageVersion.of(21) 을 languageVersion = JavaLanguageVersion.of(17) 로 변경까지 해준 후에야 gradle 파일을 리로드하니까 되더라구요. 그런데 여기서 이제 궁금한것은 다시 설정을 이렇게 바꾼후에 build.gradle 파일을 리로드해도 되더라구요? 심지어 아래 사진처럼 Setting -> Build -> BuildTools -> Gradle에 있는 Gradle JVM이 지금 JAVA_HOME으로 되어있는데 jdk 22버전으로 되어있습니다. 또한 JAVA_HOME 경로또한 아래와 같습니다. 보시다시피 jdk 22버전 경로가 저장되어있죠. 그러니까 전부 jdk 22버전으로 되어있는데 jdk 17버전 설치 후 build.gradle에 있는 languageVersion = JavaLanguageVersion.of(17) 이것만 17버전으로 바뀌었을뿐인데 정상적으로 로드가 되는건가요? JAVA_HOME같은 경로도 17버전 폴더로 모두 변경해야 동작할줄 알았는데요..