다른 수강생분들에게도 문제 해결에 도움을 줄 수 있도록 좋은 질문을 남겨봅시다 :) 1. 질문은 문제 상황을 최대한 표현해주세요. 2. 구체적이고 최대한 맥락을 알려줄 수 있도록 질문을 남겨 주실수록 좋습니다. 그렇지 않으면 답변을 얻는데 시간이 오래걸릴 수 있습니다 ㅠㅠ ex) A라는 상황에서 B라는 문제가 있었고 이에 C라는 시도를 해봤는데 되지 않았다! 3. 먼저 유사한 질문이 있었는지 꼭 검색해주세요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 유사한 질문있는지 검색해보고 싶은데 뭐라 검색해야 될지 몰라서... 바로 질문드립니다 windows intellij 로 ctrl + alt + v 사용 많이 하시던데 알려주셔서 저도 잘 쓰고 있습니다 감사합니다 그런데 querydsl을 배우는 중에는 queryFactory .selectFrom(member) .where(member.username.eq( "member1" ) .and(member.age.eq( 10 ))) .fetchOne() ; 이렇게 예쁘게 엔터 넣어서 쓰고 ctrl + alt + v 를 누르면 Member findMember = queryFactory .selectFrom(member).where(member.username.eq( "member1" ).and(member.age.eq( 10 ))).fetchOne() ; 이렇게 한 줄로 바뀝니다 강의 영상에서는 엔터가 그대로 들어가고 Member findMember = queryFactory .selectFrom(member) .where(member.username.eq( "member1" ) .and(member.age.eq( 10 ))) .fetchOne() ; 이렇게 예쁜 형태를 유지하는 걸로 보이네요 어떤 설정을 바꾸면 되는 알 수 있을까요 항상 감사합니다
방식 1. class NoticeBoard(models.Model): title = models.CharField( verbose_name = ' 제목 ' ) files = models.ForeignKey(Files , on_delete =models.CASCADE) class Files(models.Model): file = models.FileField( upload_to = 'files/%Y/%m/%d' ) 방식 2. class NoticeBoard(models.Model): title = models.CharField( verbose_name = ' 제목 ' ) class Files(models.Model): post = models.ForeignKey(Files , on_delete =models.CASCADE) file = models.FileField( upload_to = 'files/%Y/%m/%d' ) 저는 오히려 방식1처럼 주체가 되는 곳에 외래키 설정을 해줘야 나중에 보기도 쉬운거같은데 방식2를 추천하는 이유가 있을까요?
안녕하세요, 맥북 사용 중이고 클라이언트 환경세팅 중인데요. import React from ' react '; import ReactDOM from ' react-dom '; import App from ' ./app '; ReactDOM . render ( < React.StrictMode > < App /> </ React.StrictMode > , document . getElementById ( ' root ' ) ) ; 이런 에러가 뜹니다. 'App' cannot be used as a JSX component. ts(2786) Its return type 'void' is not a valid JSX element. 이렇게 나옵니다. 구글에서 찾아봤는데도 해결이 돼지 않아서 문의드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 안녕하세요. 먼저 좋은 강의 만들어주셔서 정말 감사합니다. 수업과 직접적인 관련이 있는 것은 아니지만, 궁금한 것이 있어서 여쭤봅니다. attemptAuthentication 함수에서 유저가 요청한 로그인 정보가 맞는 지를 확인하고, 인증이 정상적으로 됐을 때, successfulAuthentication 함수가 실행된다고 하셨는데, 만약 로그인 정보가 올바르지 않을 때는 null 이 리턴되고, 어디로 넘어가나요?? 실패를 했을 때 어디로 가서 처리를 해줘야 하는지 궁금합니다. UsernamePasswordAuthenticationFilter 에 getFailureHandler 함수와 setAuthenticationFailureHandler 함수가 있던데, 경고문을 alert 하고 다시 로그인 화면으로 보낸다던지 하는 처리가 무조건적으로 필요한건가요?? 아니면 Spring Security config 에서 처리가 가능한가요??
문제14번 보기C 관련 질문입니다. 보기C 해설에 보면 Endpoint 연결은 VPC 외부인 온-프레미스와 연결을 할 수 없다고 나와있는데요. S3 VPC interface endpoint 를 구성하여 내부 온프렘간 통신이 가능한 것으로 알고 있습니다. 다만, 온프레미스 라우팅 테이블을 업데이트 하여 선호하는 다음 홉으로 직접 연결을 선택하세요. 이 부분이 잘못 된것 같은데요. 다음 홉을 endpoint로 지정하지 않고, dcg나 vgw로 지정해야하지 않을까요?? 확인 부탁드립니다!
상속도 하고 인터페이스도 만드는 걸 보다보니 헷갈려서 그러는데요. 인터페이스를 만들고 그 인터페이스를 extends해서 구현하는 건가요 ? 구현을 하려면 extends하고 그 인터페이스를 쓰려면 implements 하는건가요 ? 인터페이스를 extends하고 implements하기도 하는 것같은데 두개의 차이를 잘 모르겠습니다. package interfaceex; public interface MyInterface extends X,Y{ void myMethod(); } 강의에서 X,Y는 인터페이스인데 X,Y를 상속 하는 것부터 이해가 안가네요... implements 해야하지않나요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ========== 안녕하세요. 최범균 강사님. 예제 4번 관련해서 질문이 있습니다. 예시로 들어주신 캡슐화 코드를 사용한다면 verifyEmail() 메서드를 호출하기 전에 isEmailVeritifed() 메서드로 한 번 확인하는 로직은 불필요 것인지 궁금합니다. if (!,mem.isEmailVeritied() { mem.verifyEmail(); } 감사합니다. :)
캐싱이 매번 deserlizeUser로 데이터 조회하지 않도록 객체를 만들어 거기에 유저의 데이터를 저장해서 사용하는 걸로 보입니다. 그렇다면 단순히 유저의 id만 저장해야 하나요 아니면 팔로잉테이블, 좋아요 테이블 등 전부 가져와야 하는 건가요? let cash = {}; passport . deserializeUser (( id , done ) => { if (! cash ) { User . findOne ({ where : { id }, include : [{ model : User , attributes : [ 'id' , 'nick' ], as : 'Followers' , }, { model : User , attributes : [ 'id' , 'nick' ], as : 'Followings' , }], }) . then ( user => done ( null , user )) . then ( cash => cash = req . user ) . catch ( err => done ( err )); } else { done ( null , cash ); } }); 이렇게 간단하게 코드를 짜봤습니다. cash객체를 선언하고 cash가 NULL이면 . then ( user => done ( null , user )) 이 코드에서 user 데이터를 req.user에 저장하기에 그 아래에 바로 cash = req.user로 데이터를 집어 넣습니다 그다음 cash가 NULL이 아니면 cash를 done합니다 그러나 Cannot read properties of undefined (reading 'length') 이러한 오류가 발생하는데 res . locals . followerCount = req . user ? req . user . Followers . length : 0 ; 오류가 난 코드는 이 코드 입니다. 실은 간단히 쳐본거라 접근방법이 틀린것 일수도 있지만 캐싱에 저장할 데이터가 너무 모호해서 질문 올립니다. 다른 스스로 해보기는 앞에서 한 작업에서 응용하는 거라 접근방법이 어느정도 다가오는데 캐싱하기는 제가 하는 접근이 맞는지 틀린지조차 애매합니다;;
안녕하세요. 올려주신 강의를 참고하면서 AWS 인프라를 직접 구축해보고 있습니다. 강의에서는 VPC, IAM 리소스를 다뤘는데 여기에 더 나아가 EC2 리소스도 테라폼으로 작성해보고 있습니다. 지금까지는 퍼블릭 서브넷 안에 한 개의 우분투 서버를 띄워 봤습니다. 그런데 이 인스턴스의 security group에 룰을 추가하는 정도의 간단한 작업도 (aws_security_group 리소스 안에 inline으로 ingress 룰을 추가했습니다) terraform apply 하면 EC2 인스턴스를 완전히 종료 시켰다가 새로 생성하더라고요. 실제 서비스에서라면 돌아가던 서버가 완전히 날라가는 꼴이 되는 것 같은데 현업에서는 어떤 식으로 이 문제를 처리하나요? ec2.tf: resource "aws_instance" "ubuntu" { # Canonical, Ubuntu, 22.04 LTS, amd64 jammy image build on 2022-04-20 ami = "ami-063454de5fe8eba79" instance_type = "t2.micro" key_name = aws_key_pair.ec2.key_name security_groups = [aws_security_group.ec2_security_group.id] subnet_id = data.terraform_remote_state.vpc.outputs.public_subnet_id root_block_device { volume_size = 20 } tags = { "Name" = "Ubuntu" } }