묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
ModuleNotFoundError: No module named 'pprint' 에러
안녕하세요파이썬 사용 중 제목과 같은 에러가 발생하는데, 따로 건드린 설정 등은 없습니다. 에러는 pip --version, python -m pip install --upgrade pip 등을 사용할 때 발생하고 일반 파이썬 파일 실행 시엔 발생하지 않습니다. (ppirnt 라이브러리 사용시엔 실행x)에러가 발생하는 파이썬 디렉터리에 보니 pprint_1.py 로 되어 있어 pprint.py로 변경하니 에러는 해결되었습니다.혹시 이렇게 파이썬 기본 라이브러리명이 변경되는 경우가 있나요??
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
영상이 보이지 않습니다.
안녕하세요 🙂 유튜브에서 도커 강의를 보다가 강의가 너무 좋아서 인프런으로 넘어온 학생입니다. 다름이 아니라 리전 선택하기 강의에서부터 몇개의 강의들이 영상이 보이지 않고 음성만 나와서 문의드립니다. 감사합니다 :)
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
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 타입)로 조회하면 크게 달라지는 코드가 있거나 주의해야하는 부분이 있는지여쭤보고 싶어서 문의글 남깁니다.
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
Spring boot 서버를 ec2에 배포하기
안녕하세요 선생님 aws 독학으로 공부 중인데 강의가 매우 큰 도움이 되네요 질문드리기 전에 우선 감사하다는 말씀부터 드립니다.제 질문은 7-1,7-2 ec2에 배포하기에서 깃허브에서 코드를 clone 시키는 등 CLI 명령어를 사용하여 배포하시던데 os가 리눅스가 아닌 윈도우 사용자는 윈도우 CLI 명령어를 사용해서 배포해야하나요??
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
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이렇게 하면 해결 되는것 같아요 저도 엄청 꼬였는데 이 코드면 해결되네요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이 10 13번문제
외부서비스는 EC2인스턴스에 대한 연결을 시작할수없고 이문제를 해결하기위한방법을물어봤는데 왜D가정답이죠?? 원인아닌가요D는?
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
모듈 vs 리소스
안녕하세요콘솔에서 리소스를 생성하는건 익숙하지만, 테라폼은 이제 막 시작한 경우라면 1, 2번 중 어떤게 더 테라폼 동작 구조를 파악하면서 이해할 수 있는지 궁금합니다.모듈 사용없이 각각의 리소스.tf 을 생성하고 타 리소스에서 참조가 필요한 항목들만 output으로 출력하여 배포처음부터 모듈 형태로 작성하여 배포aws 콘솔로만 주로 작업을 했다보니 리소스들의 옵션은 문서를 보면 어느정도 이해할 수 있는 정도이고, 테라폼 사용 경험은 폴더 분리 없이 한 폴더 내의 resource.tf (ecs.tf, ecr.tf) 를 모두 생성하고 배포해본 정도만 있습니다. 모듈은 경험x
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
git action run command timeout
인스턴스 생성시 전부 프리티어로 생성을 했었는데git action run command timeout 발생했습니다혹시나 다른분들도 이런상황이라면aws ec2 메모리 용량 증설에 대해서 검색해보세요15분이 기다려도 안되던데 바로 적용이 되네요
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
Ec2 인스턴스로 요청이 안됩니다.
안녕하세요.EC2 인스턴스 및 보안 그룹 설정 후 git clone, Jar 빌드 후 run까지 되는데외부에서 IP주소:port로 요청을해도 요청이 들어오지 않아 질문드립니다.curl 을 해봐도 커넥션 타임아웃이 발생하는데따로 확인해야하는 부분이 있을까요?강의랑 다르게 한것은 AWS 에서 우분투 에서 깃 클론 후 ./gradlew 명령어가 없다고 나와서 따로 wget으로 설치 후 환경변수 설정했습니다.감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
scp로 EC2에 jar 전송 중 scp timeout로 인한 실패 문제입니다
[실습] 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 - 에서 발생하는 오류입니다,, ```- name: SCP로 EC2에 빌드된 파일 전송하기 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: project.jar target: /home/ubuntu/instagram-server/tobe해당 yml로 설정 하고서도 반복해서 timeout으로 연결이 실패하네요,, 직접 script로 ec2 내부에서 동작하는 실습까지는 모두 작동했었습니다 따로 에러를 구글링해보았지만 유의미한 해결책이 보이지 않아 올려봅니다
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
수업자료 질문-Case 2 - 일반 웹 프로젝트 구조에 CI/CD 적용하기 (S3, Cloudfront)
전체적인 흐름 이미지를 보면 3번과 4번에서 캐시무효화 명령 및 캐시 무효화를 하는 설명이 작성되어 있습니다. 깃헙 액션에서 3번을 수행하는것 까진 이해가 되는데 4번은 누가 하는건지 모르겠습니다. 제가 찾아본바로는 3번만 수행하면 유저가 다음 요청시 cloudfront가 새로 s3에서 데이터를 받아오고 해당값을 캐싱하는것으로 이해했습니다.https://jscode.notion.site/Case-2-CI-CD-S3-Cloudfront-bbd22542211046feac5f04a3955ddf71
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
s3 bucket 생성 에러
안녕하세요 너무 질문을 자주 올리는거 같아 민망하네요 ㅎㅎ..강의 수강 중 궁금한 점이 있어 질문드립니다. s3 배포 시 제약조건?멀티 프로바이더 부분에서 s3 배포 시, 서울 리전에만 배포가 안됩니다. (still creating 무한루프)제가 배포하려는 코드는 아래와 같습니다.# provider.tf provider "aws" { region = "ap-northeast-2" } provider "aws" { alias = "apne3" region = "ap-northeast-3" } # main.tf resource "aws_s3_bucket" "apne2" { bucket = "tf-apne2-hb" } # 오사카 리전 resource "aws_s3_bucket" "apne3" { bucket = "tf-apne3-hb" provider = aws.apne3 }서울 리전에 배포할 때 해당 버킷명을 사용할 때만 배포가 안되며, 다른 버킷명이나 다른 리전에 배포하면 잘 배포가 됩니다. 콘솔에서 위와 동일하게 생성해보면 "the ap-northeast-2 location constraint is incompatible for the region specific endpoint this request was sent to." 와 같은 에러가 떨어지는데 처음보는 경우라 혹시 알고 계신게 있는지 궁금해서 질문 남깁니다. vpc 배포 후 provider 변경 resource "aws_vpc" "apne2" { cidr_block = "10.0.0.0/16" } resource "aws_vpc" "apne3" { cidr_block = "10.0.0.0/16" }위처럼 배포 시 서울 리전에 vpc가 2개 생성됐습니다.이후 apne3 vpc 리소스에 provider = aws.apne3을 추가한 후 plan 해보면 서울 리전에 vpc가 삭제되고 오사카 리전에 생기는게 아닌, 서울 리전에도 남고 오사카 리전에도 새로 추가가 됩니다.tfstate 파일에서도 provider와 속성값들이 변경은 되는데 기존 리소스는 왜 삭제되지 않는지 궁금합니다. 추가로 제가 질문을 거의 매일 남기는거 같아서 좀 죄송스럽습니다. 차라리 큰 챕터가 끝낼따마다 궁금한걸 정리한 후 한번에 질문드리면 더 나으실까요??
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
S3 권한 문제 어떻게 해결해야 할까요 ㅠㅠ?
S3 에 프로젝트 파일 업로드하기부분 해결하려고 세시간 넘게 삽질했는데... 잘 되지 않아서 결국 질문 드립니다... ㅜㅜ 제공해주신 수업 자료 참고해서 여러 번 반복하고, 구글에 물어보고 했는데 정확히 어떻게 해결해야 맞는지 모르겠습니다ㅠㅠ 어떻게 해야 할까요..?Run aws s3 cp --region ap-northeast-2 ./`$GITHUB_SHA.tar.gz s3://cicd/$GITHUB_SHA.tar.gz upload failed: ./db57ef8b92927c241fb3b672c2dc0ad8c20c6d79.tar.gz to s3://cicd/db57ef8b92927c241fb3b672c2dc0ad8c20c6d79.tar.gz An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied Error: Process completed with exit code 1.
-
해결됨[2024] 실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)
terraform import 관련 질문
안녕하세요콘솔에서 배포한 aws 리소스들을 테라폼으로 관리하려고 한다면, 배포된 모든 리소스들을 하나씩 import한 후 plan해보면서 변경점을 찾아 코드화시키는 방법밖에 없을까요?리소스가 많으면 이런 작업도 공수가 꽤나 들어갈 것 같은데 다른 방법이나 툴같은게 있는지 궁금합니다. 찾아보니 terraformer로 가져올 수 있는거 같은데, 얘를 사용해도 일부 커스텀이 좀 필요한 것 같아 보입니다.실제 업무에서는 어떤 식으로 해결하는지 궁금하여 질문드립니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간연장 요청드립니다
회사일이 바빠 강의를 수강하지 못했습니다.가능하다면 수강 기간 연장 가능할까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수업 듣는 도중에 계정에 관한 질문이 있습니다!
제가 착각하거나 잘못 본 것일수도 있는데 선생님 수업 중에 실습하실때 계정이 root계정으로 보이는것 같은데 듣기로는 root계정은 놔두고 따로 사용자계정을 사용하는것이 안전하다고 알고 있습니다! 만약 root계정을 사용하셨다면 굳이 사용자 생성안하고 실습해도 상관없는지 여쭙고 싶습니다! 저는 오른쪽 상단 계정이름이 사용자이름@xxxx-xxxx-xxxx로 되어있는데 선생님은 계정이름만 보여서 제가 착각한걸까요?