묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Real MySQL 시즌 1 - Part 2
에피소드 17번에서 skip locked 질문이 있습니다.
일단 이 강의를 통해서 너무나 좋은 정보를 많이 얻어가서 감사할 따름입니다. Ep.17 강의 마지막의 정리 부분에서 "SKIP LOCKED는 데이터 큐잉 후 배치잡 처리"에 유용하게 사용 가능하다고 하셨는데, 이해가 잘 되지 않아서요. 사례를 조금만 더 설명해주시면 감사하겠습니다.
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
docker 빌드가 이루어지지 않고있어요 ㅜㅜ
혼자서 해결해보려고하는데 해결할수가 없네요 저런 에러만 나오고 알방법이 없어서 이렇게 질문드려요 깃허브링크까지 있어요 꼭 해결하고싶어요!!https://github.com/Minzion0/portfolio
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
후하 제머리로는 좀 어렵네요 mysql 설치
mysql 설치가 커뮤니티보고 다해봐도 다안돼네요 ㅠㅠ혹시 2024년 버전 해결방안 있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
git 질문있습니다.
강의내용 7:31초.gitignore 파일을 만들떄 자동저장 or 수도저장 할건지 물어보는 부분에서 don't ask again 클릭후 add으로 눌러버려서 수동으로 저장으로 다시 바꾸고 싶은데 어떻게 해야하나요?죄송해요 구글링해도 안나와서 이런 사소한 질문 죄송합니다!
-
해결됨Real MySQL 시즌 1 - Part 1
prepardStatement 질문있습니다.
11강 Prepared Statment 강의를 듣다가 제일 마지막에 server-side preparedstatment는 메모리 부작용이 많으니 client-sid preparestatment를 권장한다고 하셨는데.. client-sid preparestatment를 사용하면 mysql 서버측에서는 statement로 받아들이잖아요. 그러면 바인드 변수값이 아니라 상수값으로 인식하니까동일한 컨넥션 내에서 파싱트리도 공유가 안될테고.. 그런 단점이 있는데도 client-sid preparestatment가 유리한건가요?? 계속 오라클 기준으로 생각해서 그런지 해깔리네요..오라클은 oltp에서 바인딩 변수가 아니라 상수로 사용하면 literal sql로 인식해 커서 공유가 안되니까 항상 바인드 변수를 사용하라고 권장하니까 statment 보다 preparestatment를 자주사용하잖아요.. 두설없이 말씀드려서 죄송합니다. ㅠㅠ 해깔리네요 너무
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
h2 데이타베이스 연결 문제
Database "mem:library" not found, either pre-create it or allow remote database creation (not recommended in secure environments)이런 식으로 mem:library 를찾을수없다고 뜹니다 무엇이문제일까요?구굴링해도 안뜹니다 혹시 h2 데이타베이스를 설치해야하는건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
user 오류
NON_KEYWORDS=USER을 추가해도 이렇게 뜨는데 어떻게 해야할까요?
-
해결됨Real MySQL 시즌 1 - Part 1
lateral table 질문입니다.
질문1오라클에서는 인라인뷰가 복잡해서 pushdown 기능이 작동 잘 안할때 Lateral Derived Table를 쓰는 것으로 알고 있는데, mysql에서는 Lateral Derived Table 자주 사용하나요?? 질문2Lateral Derived Table가 결국 메인 테이블의 조인 조건을 ㅇ인라인뷰 안으로 넣는 것이잖아요. 스칼라 서브쿼리도 마찬가지 인데, Lateral Derived Table과 스칼라 서브쿼리 중 어떤게 더 효율적일까요?.? (만약 스칼라 서브쿼리 반환 레코드 값이 한개일 경우) 감사합니다
-
해결됨200억건의 데이터를 MySQL로 마이그레이션 할 때 고려했던 개념과 튜닝 방법
안녕하세요, 멀티컬럼인덱스 개념 후반부 내용이 이해가 가지 않아 질문 드립니다.
멀티컬럼인덱스 개념 5:53분 경부터 설명해주신 내용이 이해가 가지 않는데요,EXPLAIN SELECT hash_email, one_field, two_field FROM test1 WHERE two_field = 3;여기서 idx_col1_col2 인덱스를 타서 two_field = 3인 데이터들의 primary key 목록을 가져올 수 있으니 그를 통해 실제 데이터를 조회하면 hash_email 값도 가져올 수 있는 것 아닌가요?왜 풀스캔을 하는 건지 이해가 가지 않아 질문드립니다.실행 계획 type의 종류를 찾아보니 이런 동작 자체가 없는 것 같기도 하고..아리송하네요
-
해결됨Google Authenticator, QR, Cron을 활용하여 자동화 만들기
프로젝트 구조 질문.
안녕하세요 혹시 이 프로젝트구조에서 network 폴더 부분을 eCommerce 강의에서 사용하신 router 폴더와 다르게 이름을 지으신 이유가 있으실까요? 기능은 비슷한거 같아서 질문 드립니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
궁금한게 또 있습니다!!
강의 04:40초 부분인데요 public void saveUser(UserCreateRequest request) { User u = userRepository.save(new User(request.getName(), request.getAge())); throw new IllegalArgumentException(); }이부분에서 예외를 주고 서버를 띄어서 확인을 했는데저렇게 "서버 내부 오류입니다" 라고 뜨는 것은 예외를 던져주면 자동으로 저렇게 뜨게 설정되어있는 건가요?아니면 이렇게 예외를 던지면 ui에서 이렇게 띄어줘 라고 설정을 해주신건가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
D-Day 앱 만들기에서 에러가 나옵니다ㅠㅠ
하나는 "NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null" 이런 에러인거 같은데....대체 어디서 잘못된걸까요. 에러가 여러개 인건가요?FAILURE: Build completed with 2 failures.1: Task failed with an exception.-----------* What went wrong:Execution failed for task ':app:checkDebugAarMetadata'.> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction > 5 issues were found when checking AAR metadata:* Try:> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Exception is:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:checkDebugAarMetadata'. Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction Caused by: java.lang.RuntimeException: 5 issues were found when checking AAR metadata: 1. Dependency 'androidx.appcompat:appcompat-resources:1.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 2. Dependency 'androidx.appcompat:appcompat:1.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 3. Dependency 'androidx.core:core-ktx:1.13.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 4. Dependency 'androidx.core:core:1.13.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 5. Dependency 'androidx.annotation:annotation-experimental:1.4.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). ==============================================================================2: Task failed with an exception.-----------* What went wrong:Execution failed for task ':app:mergeExtDexDebug'.> Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Failed to transform appcompat-resources-1.7.0.aar (androidx.appcompat:appcompat-resources:1.7.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for DexingNoClasspathTransform: C:\Users\abc14\.gradle\caches\transforms-3\c494794d48d9429ce3837ff3d9162578\transformed\appcompat-resources-1.7.0-runtime.jar. > Error while dexing. > Failed to transform appcompat-1.7.0.aar (androidx.appcompat:appcompat:1.7.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for DexingNoClasspathTransform: C:\Users\abc14\.gradle\caches\transforms-3\d251d80cfc588f74172158875c7b2196\transformed\appcompat-1.7.0-runtime.jar. > Error while dexing.* Try:> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Exception is:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeExtDexDebug'. Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: [CIRCULAR REFERENCE: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null]Cause 2: org.gradle.api.internal.artifacts.transform.TransformException: Failed to transform appcompat-1.7.0.aar (androidx.appcompat:appcompat:1.7.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. Caused by: org.gradle.api.internal.artifacts.transform.TransformException: Execution failed for DexingNoClasspathTransform: C:\Users\abc14\.gradle\caches\transforms-3\d251d80cfc588f74172158875c7b2196\transformed\appcompat-1.7.0-runtime.jar. Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing. at com.android.builder.dexing.D8DexArchiveBuilder.getExceptionToRethrow(D8DexArchiveBuilder.java:189) Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\abc14\.gradle\caches\transforms-3\d251d80cfc588f74172158875c7b2196\transformed\appcompat-1.7.0-runtime.jar:androidx/appcompat/app/ActionBarDrawerToggle$1.class Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Suppressed: java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: [CIRCULAR REFERENCE: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null]
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
질문있습니다!
10:49초 에 질문이 있습니다.userRepository.findById(request.getId()) 를 하면 왜 optional<User>가 나오는 건지 알수있나요?
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Id 대신 name을 사용하는 이유
강의에서 사용자는 Id로 조회하고, 도서는 name으로 조회하는데 별도의 이유가 있을까요?실제 구현한다면 동일한 도서명이 있을 것 같기도 하고, 일관성을 위해 강의를 참고하며개인적으로 두가지 다 Id로 조회하도록 구현하고 있었습니다. Dto나 Repository 등에서 타입과 이름만 잘 변경해주면 문제가 없을꺼라고 생각했는데중간에 제가 잘못 설계한 곳이 있는지 도서 대출시 BookRequestLoan에 값이 계속 안넘어옵니다. 혹시 Id (long 타입)로 조회하면 크게 달라지는 코드가 있거나 주의해야하는 부분이 있는지여쭤보고 싶어서 문의글 남깁니다.
-
해결됨장래쌤과 함께하는 쉽고 재미있는 SQL 이야기
Join 질문
안녕하세요 선생님, 질문 드립니다 A테이블과 B테이블을 조인해서 B테이블에만 있는 값을 가져오려고하는데요 두 테이블 간의 조인 key 값은 있지만 데이터 수는 다릅니다 예시로 A테이블에 10개의 데이터를 가지고있고 B테이블에 3개 데이터를 가지고있으면 A 의 10개 값에 B 값을 붙이려고합니다 안나오는 값은 null 이 되더라도 A 의 모수를 살리고싶은데 조인을 어떻게해도 같은거만 가져오는건지 3개만 반환이되서요.. A의 모수를 살리면서 B 값만 (마치 브이룩업처럼) 붙이는 방법을 알고싶습니다
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
44강) grep으로 임시 비밀번호가 안뜨는 경우
sudo cat /var/log/mysqld.log | grep "temporary password”이걸로 수정해서 진행해보세요! 출처) https://www.fedoralinux.or.kr/forums/topic/21405
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
mysql 질문이요!
저는 Developer Default가 없는데 그냥 server only로 해도 상관없을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
GPG 체크 오류
만약 GPG체크오류가 계속 해서 뜬다면 이것을 시도해보세요다운로드한 패키지들을 dnf 명령어를 사용하여 설치합니다. 먼저, 패키지들을 다운로드합니다:wget https://repo.mysql.com/yum/mysql-8.0-community/el/9/x86_64/mysql-community-client-8.0.37-1.el9.x86_64.rpmwget https://repo.mysql.com/yum/mysql-8.0-community/el/9/x86_64/mysql-community-client-plugins-8.0.37-1.el9.x86_64.rpmwget https://repo.mysql.com/yum/mysql-8.0-community/el/9/x86_64/mysql-community-common-8.0.37-1.el9.x86_64.rpmwget https://repo.mysql.com/yum/mysql-8.0-community/el/9/x86_64/mysql-community-icu-data-files-8.0.37-1.el9.x86_64.rpmwget https://repo.mysql.com/yum/mysql-8.0-community/el/9/x86_64/mysql-community-libs-8.0.37-1.el9.x86_64.rpmwget https://repo.mysql.com/yum/mysql-8.0-community/el/9/x86_64/mysql-community-server-8.0.37-1.el9.x86_64.rpm dnf 명령어를 사용하여 GPG 체크 없이 패키지를 설치합니다:sudo dnf install ./mysql-community-client-8.0.37-1.el9.x86_64.rpm --nogpgchecksudo dnf install ./mysql-community-client-plugins-8.0.37-1.el9.x86_64.rpm --nogpgchecksudo dnf install ./mysql-community-common-8.0.37-1.el9.x86_64.rpm --nogpgchecksudo dnf install ./mysql-community-icu-data-files-8.0.37-1.el9.x86_64.rpm --nogpgchecksudo dnf install ./mysql-community-libs-8.0.37-1.el9.x86_64.rpm --nogpgchecksudo dnf install ./mysql-community-server-8.0.37-1.el9.x86_64.rpm --nogpgcheck MySQL 서비스 시작 및 상태 확인sudo systemctl start mysqldsudo systemctl status mysqld이렇게 하면 해결 되는것 같아요 저도 엄청 꼬였는데 이 코드면 해결되네요
-
해결됨Real MySQL 시즌 1 - Part 1
RATERAL 사용할 때 마지막에 ON TRUE 가 있는 것도 있고 없는 것도 있는데 차이가 어떤 것인가요?
RATERAL 사용할 때 마지막에 ON TRUE 가 있는 것도 있고 없는 것도 있는데 차이가 어떤 것인가요?
-
미해결Google Authenticator, QR, Cron을 활용하여 자동화 만들기
OpenSource를 통해HTML 파일에서 원하는 데이터 추출하기편 버그
section 5 : OpenSource를 통해HTML 파일편 에서 11분 21초에 보시면 터미널에서 578,000원 데이터를 못 가져오고 있습니다. 실제로 실습에서도 실행한 결과. 동일한 카드셀렉터와 inner셀럭터 그리고 태그가 같더라도 일부 금액을 못 읽어오네요.