1. 무엇을 하고 싶으신가요? 해당 실습을 조금 더 빠르고 간편하게 재현하고 싶어서 s3 bucket과 안에 오브젝트 파일을 생성하는 부분까지 테라폼 코드로 프로비저닝 하였습니다. 강의를 보며 결과까지 모두 확인을 하였고, 이제 위 리소스들을 전부 destroy 하고 싶습니다. 2. 언제, 어떤 오류가 발생하시나요? terraform apply를 할 경우, Role 3개와 버킷, 버킷 정책, 오브젝트 파일 총 6개의 리소스가 생성됩니다. terraform state list를 통해 관리 대상을 확인해보아도 6개의 리소스를 확인할 수 있습니다. 그런데 terraform destroy 명령을 수행할 경우 버킷을 제외한 5개의 리소스만 삭제 플랜에 출력되는 것을 확인하였고 이대로 진행할 경우 결국 empty한 s3 bucket만 남아 따로 cli 명령이나 콘솔에서 삭제를 해주어야합니다. 3. 어떤 시도를 해보셨나요? 내부 오브젝트 파일 때문이라는 가설을 세우고 force_destroy = true 속성을 true로 지정하였지만 버킷 내부 객체까지만 삭제되었고 버킷은 삭제되지 않습니다. 이후 권한 문제라는 가설을 세워보았지만 s3 액세스 정책을 deny 기반으로 ListBucket을 지정하였기 때문에 해당 가설도 기각하였습니다. 4. 작성한 코드를 공유해주세요. data "aws_caller_identity" "this" {} # IAM Role resource "aws_iam_role" "this" { count = 2 name = "thbins-${count.index}" path = "/dev/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } resource "aws_iam_role" "this2" { name = "thbins-2" path = "/" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { # AWS = "${data.aws_caller_identity.this.arn}" AWS = "arn:aws:iam::${data.aws_caller_identity.this.account_id}:root" } }, ] }) managed_policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] } # S3 variable "bucket_name" { description = "S3 bucket name (must be globally unique)" type = string } resource "aws_s3_bucket" "test" { bucket = var.bucket_name force_destroy = true # 버킷 안에 객체를 생성하기 때문에 해당 속성을 true로 지정한다. } data "aws_iam_policy_document" "test_bucket" { statement { sid = "Statement1" effect = "Deny" principals { type = "AWS" identifiers = ["*"] } actions = [ "s3:ListBucket", ] resources = [ aws_s3_bucket.test.arn, "${aws_s3_bucket.test.arn}/*", ] condition { test = "StringNotLike" variable = "aws:PrincipalArn" values = [ # 여기서 account_id를 하드코딩하지 않고 자동으로 맞춰줌 "arn:aws:iam::${data.aws_caller_identity.this.account_id}:role/dev/*", ] } } } resource "aws_s3_bucket_policy" "test" { bucket = aws_s3_bucket.test.id policy = data.aws_iam_policy_document.test_bucket.json } resource "aws_s3_object" "test_file" { bucket = aws_s3_bucket.test.id key = "test_success.txt" content = "This is a test file for IAM path-based S3 access demo.\n" # 선택: 텍스트 파일임을 명시 content_type = "text/plain" }
디바이스 선택시 Chrome(web)과 저의 실물 핸드폰 연결해서 했더니 안드로이드 스튜디오 코드는 잘 돌아갑니다. 하지만 BoardViewModel.dart 코드에서 설정한 url그대로 따라 쳤는데 swagger ui에서 계속 화면처럼 response body가 비어있습니다.. 계속나와서 혹시 전체 소스코드 공유 안될까요??
안녕하세요. Docker Containers간 통신 할 때 나타나는 에러 강의 를 듣고 있는데요. 강의중에서 컨테이너1 (노드 js 앱 + redis client) 컨테이너2(레디스서버) 라고 그림을 그려주셨는데요. 궁금한것이 레디스 서버는 왜 다른 컨테이너 안에 있나요? 하나의 docker file에 이미지 생성후 , 컨테이너를 만들어서 실행시킨건데 그러면은 하나의 container 안에 들어있는거 아닌가요?
안녕하세요...강의 잘 보고있습니다. 일단 로그인을 합니다.. 그런데 이때 각 소속회사별로 로그인을 합니다. (A회사로 로그인을 하면... 다음부터는 A회사의 정보만 조회를 해야 합니다.) 그런 경우 공지사항 계시판이 메인화면에 있는데.이때 공지 화면의 내용은 당연히 A회사의 공지사항만 나와야 하는데.. 서버 컴포넌트에 파라미터를 넘겨야 하는데. 어떻게 넘겨야 할까요? zustand같은 전역상태도 사용 못하고.. 쿠키를 이용해야하나요? 현재는 http:url/index?blngcocd=999 이런식으로 소속회사를 달고 다나는데... 이건 아닌거 같아서요?
킬구형 5장. 작전2: Run Squad 장악 작전 공부중인데, Process finished with exit code 0 이라는 문구 자체가 나오질 않아. 혹시나 싶어서 새 프로젝트 만들어서 시도해봐도 마찬가지고,, 윈도우 11, java 17에 org.springframework.boot:spring-boot-starter-batch:3.5.7 환경에서 개발중인데 혹시 버전이나 OS 문제일까?? 아니면 뭔가 설정을 빼먹은건지 모르겠네.. 혹시 몰라서 application.yaml 설정도 첨부해 spring: application.name: demo output.ansi.enabled: always datasource: url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 driver-class-name: org.h2.Driver username: sa password:
제로초님 안녕하세요 expo 프로젝트의 폴더 구조에 대해서 고민이 있습니다.!! 현재 src/app 폴더에서 페이지들을 관리하고 있고 각 페이지 내부에서만 사용하는 하위 컴포넌트들은 src/app/settings/_components/AccountSettingsSection.tsx 와 같이 _components 폴더 하위에 배치하고, named export를 통해 라우트로 잡히지 않게 하고 있습니다. 문제는 없지만 프로젝트를 실행시키면 WARN Route "./settings/_components/AccountSettingsSection/AccountSettingsSection.tsx" is missing the required default export. Ensure a React component is exported as default. 라는 경고 메시지가 app/ 내부에서 named export 한 모든 하위 컴포넌트를 대상으로 출력됩니다. Next.js처럼 _components 내부의 하위 컴포넌트들은 완전히 무시하도록 하고 싶은데 아무리 찾아봐도 무시할 방법이 없는 거 같습니다 ㅠ 제로초님께서는 어떤 방법으로 페이지 내부 하위 컴포넌트들을 배치하시는지 궁금합니다..!! 관리하기 용이한 폴더 구조가 있다면 추천해주실 수 있으신가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이 부분에서 Student student를 선언하고 new Student();를 안했는데 어떻게 바로 .name같은 거를 사용할 수 있는 건가요? 다른 부분에서는 꼭 객체를 먼저 생성해야 접근을 할 수 있는데 이 함수에서는 왜 가능한건가요? static void initStudent(Student student, String name, int age, int grade) { student.name = name; student.age = age; student.grade = grade; }
안녕하세요, 강의 잘 보고 있습니다. 저는 1년 차 백엔드 개발자 입니다. 미니 프로젝트에 프론트로 투입이 되어 zustand와 tanstack 학습을 위해 강의를 듣게되었습니다. 선생님께서 hook을 작성하실 때 함수를 각각 별도 파일로 분리하는 방식으로 진행하셨는데, 실무에서도 보통 함수마다 파일을 나누는 방식으로 진행하나요? 아니면 도메인 단위로 묶어서 하나의 파일안에 관련함수들을 관리하시는지 궁금합니다. 선생님 강의 덕분에 쉽고 재밌게 학습하고 있습니다. 감사합니다 : )