묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
컴포넌트 스캔 방식을 이용하면 @Bean 어노테이션을 쓸 필요가 없는건가요
컴포넌트 스캔 방식 말고, AppConfig와 같은 설정파일에 수동으로 직접 빈을 등록하는 경우 @Bean 어노테이션을 써서 스프링 컨테이너에 빈을 직접 등록했는데, 컴포넌트 스캔 방식을 활용하면 이런 @Bean 어노테이션을 쓸 필요가 없는것이지요?? 그럼 @ComponentScan 과 @Bean 이 두개의 어노테이션은 표기만 다른것이지 결국 똑같은 일?(빈 등록)을 하는 녀석들인건가요 ..! (너무 기본적인 질문같아서.. 죄송합니다)
-
미해결게임 프로그래머 취업 전략 가이드
이번 강의를 듣고 생긴 질문들 입니다.
안녕하세요. 저는 전문대 소프트웨어공학과를 올해 졸업하고 현재 Rookiss님 강의 들으면서 취업을 준비하고 있는 취준생입니다.항상 강의 잘 듣고 있습니다 (_ _) 제가 취업하고자 하는 게임들이 대부분 모바일 쪽이다 보니 유니티와 C#을 잡고 공부를 시작했습니다. C#은 프로그래머스 코딩 테스트 기준 3단계 기본 문제들 정도에 알고리즘을 구현할 수 있을 정도로 연습했고, 포폴 또한 유니티로 작업하려고 생각중 입니다. 근데 이번 강의를 보니 생각이 좀 많아졌습니다. 1. 유니티 포폴이 언리얼에 비해 상대적으로 불리한가요? 2. 혹시 유니티를 다루는 회사라도 언리얼과 C++로 작업한 포폴이 이점으로 작용하나요 ? 3. 지금이라도 C++과 언리얼 공부를 처음부터 다시 시작하는게 좋을까요? 하던 유니티 마저 준비하고 취업을 하고 나서 천천히 하는게 좋을까요? 강사님께 시원하게 답변 듣고 싶어서 질문 남깁니다.
-
미해결자바스크립트 중급 강좌
마지막 부분에 질문 있습니다.
const user = { name:"Mike", showName: function(){ console.log(`hello, ${this.name}`); }, }; let fn = user.showName; // this가 지워진다. 왜?? // 왜 바로 fn()하면 this.name이 발동이 안되지? // fn(); // error. Cannot read properties of undefined (reading 'name') 마지막 부분에 바로 fn();을 하면 this.name을 하지 못해 오류가 나는데, 왜 let fn으로 할당을 할 때 this가 지워지는 지 궁금합니다. 답변해주시면 감사하겠습니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
수업 흐름과 동일하게 했는데 연결 거절 됩니다.
[질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 ]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기] 수업과 동일한 흐름으로 진행했습니다. 근데 해당 IP로 연결 거부를 당해서 nginx를 띄울 수 없습니다. 세부정보보기에서 하라는 것들을 진행해봤는데 안되네용..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
3~4분에 나오는 getmapping코드에서 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 강의를 다 보고 시간이 지난 후 코드를 보며 복습중인데 이해가 가지 않는 점이 있어서 질문드립니다. 3분~4분 내용인 getmapping("items/{itemId}/edit")에서 form.setId, form.setName ... 등등 값을 넣고 난 이후에 form의 데이터를 사용하려면 itemService.saveItem(form)을 해야지 form의 데이터가 저장된다고 생각하였는데 save를 안하고 set만으로도 db에 저장이 되는 건지 궁금합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
제대로 입력을 하셨는데 경로가 출력이 안되신다면 읽어주세요.
source ~/.zshrc 라고 입력하고 실행하시면 zshrc에 입력된 경로를 로딩하게 됩니다. 그리고 나서 다시 echo $PATH 입력하시면 경로가 잘 출력되실겁니다.
-
미해결초보를 위한 쿠버네티스 안내서
host path에 대해 질문이 있습니다.
host path를 지정하게 되면 node의 디렉토리와 저장소를 공유한다고 이해했습니다. 하지만 실제 k8s 클러스터에는 여러개의 노드가 있을 수 있다고 생각하는데, 만약 pod이 처음 생성된 노드말고 다른 노드에 재 생성되었을 경우 데이터가 데이터가 보존이 되나요?!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ErrorPage
스프링 부트가 ErrorPage를 자동 등록해주면 BasicErrorController("/error")이 실행 되면 이후 new ErrorPage("/error")도 실행 되면서 템플릿에 있는 error디렉토리에 있는 파일들이 실행되는건가요? ErrorPage가 뷰템플릿을 찾아주는 역할을 하는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 서비스 테스트 Dependency Injection
[질문 내용]백엔드 개발의 회원서비스테스트 마지막 부분에서 @BeforeEach로 매번 memberRepository와 memberService를 새로 생성하여 연결하는데, @AfterEach를 그대로 사용할거라면 아래와 같이 초기에 한번만 memberService를 생성할 때 memberRepository를 이용하면 되지 않나요? MemoryMemberRepository memberRepository = new MemoryMemberRepository();MemberService memberService = new MemberService(memberRepository);
-
미해결실전! 스프링 데이터 JPA
개발하고 있는 프로젝트에 Querydsl을 적용해보려고 테스트 중입니다.
1. build.gradle에 설정 후 Q파일 생성까지 완료 2. 환경 설정 검증용 엔티티 생성 후 테스트 프로그램 완료 3. 테스트 실행 후 에러 발생 E:\workspace\ECS-server\ecs\build\generated\querydsl\com\weni\ecs\domain\QEduAcnt.java:16: error: cannot find symbol public class QEduAcnt extends EntityPathBase<EduAcnt> { ^ symbol: class EduAcnt 4. 에러를 찾을 수 없어서 해당 파알을 삭제 후 테스트 프로그램 실행 @Testvoid contextLoads() { JPAQueryFactory query = new JPAQueryFactory(em); QHello qHello = QHello.hello; //Querydsl Q타입 동작 확인 List<Hello> result = query .selectFrom(qHello).fetch(); System.out.println("result = " + result);} 5. 테스트 성공 Hibernate: select hello0_.id as id1_7_ from Hello hello0_ 2022-06-30 21:58:16.019 INFO 30456 --- [ Test worker] jdbc.sqltiming : select hello0_.id as id1_7_ from Hello hello0_ {executed in 2 msec} 2022-06-30 21:58:16.036 INFO 30456 --- [ Test worker] jdbc.resultsettable : |-------| |id1_7_ | |-------| |1 | |2 | |3 | |-------| result = [com.weni.ecs.domain.Hello@133fb509, com.weni.ecs.domain.Hello@bb0ca30, com.weni.ecs.domain.Hello@6e6d544] Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings BUILD SUCCESSFUL in 15s 6 actionable tasks: 4 executed, 2 up-to-date 오후 9:58:16: Execution finished ':test --tests "com.weni.ecs.domain.QuerydslApplicationTests.contextLoads"'. 6. 다시 테스트를 실행하면 다시 생성된 Q파일떄문에 또 에러 발생합니다. import java.math.BigDecimal; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Id; import javax.persistence.Column; import javax.persistence.PostLoad; import javax.persistence.PrePersist; import javax.persistence.PostPersist; import javax.persistence.PreUpdate; import javax.persistence.PostUpdate; import javax.persistence.PreRemove; import javax.persistence.PostRemove; // import org.springframework.beans.BeanUtils; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.EqualsAndHashCode; import lombok.ToString; import lombok.Builder; @Entity @Table(name="EDU_ACNT") //--PRIMARY @Getter @NoArgsConstructor // (access = AccessLevel.PROTECTED) // AccessLevel.PUBLIC @EqualsAndHashCode // (of = {"email","name"}, callSuper = true, onParam = @__(@NonNull)) @ToString //(exclude = "password") // exclude 속성을 사용하면, 특정 필드를 toString() 결과에서 제외 public class EduAcnt { @Id // Integer @Column(name = "ACNT_NO", nullable = false) private Integer acntNo; //--null @Column(name = "BALANCE", precision = 18, scale = 0, nullable = false) private BigDecimal balance; //--null @Builder public EduAcnt(Integer acntNo, BigDecimal balance) { this.acntNo = acntNo; this.balance = balance; } //---------------------------------------------------- // Load/Persist/Update/Remove(조회/신규/수정/삭제) // Entity Pre/Post(이전/이후) 처리에 대한 정의(PreLoad는 없음) // * DB의 Trigger와 비슷한 JPA기능 //---------------------------------------------------- @PostLoad public void onPostLoad() { } @PrePersist public void onPrePersist() { } @PostPersist public void onPostPersist() { } @PreUpdate public void onPreUpdate() { } @PostUpdate public void onPostUpdate() { } @PreRemove public void onPreRemove() { } @PostRemove public void onPostRemove() { } }
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
형제 인접선택자
형제 인접 선택자에 조금만 더 핵심적으로 설명해주실 수 있을까요? div.tab-inner 안에 들어가는 태그들이 다 형제선택자라고 알고있었습니다 형제선택자와 인접선택자의 정확한 구별법을 잘 모르겠어요 따라서 css를 이용할때 ~ + 를 적절하게 사용하지 못하는 것 같아서요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트를 생성할 때 에러가 뜹니다.
테스트를 생성하고 위 사진처럼 assert에 에러가 뜨고 마우스를 대보면 cannot resolve symbol'Assert' 라 뜹니다. 나머지 에러들도 같은 말이 뜨는데 왜 그러는 것일까요 ㅠ
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
학습 데이터와 검증 데이터의 학습 차이
8:21초의 학습 데이터는 가중치를 줄이는 방향으로 계속 업데이트 하기 땜에 logloss가 계속 줄어드는데 검증은 그렇지 않다 라고 말씀하셨는데 검증 데이터는 가중치를 줄이는 방향으로 업데이트를 안하나요? 학습 데이터가 검증데이터에 대해 어떤식으로 받아들이는지 과정을 모르겠습니다
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
실습자료 다운로드 관련
안녕하세요. 실습자료 재다운로드를 위해, 다운로드 링크 접속 및 비밀번호 입력하여 로그인 창은 넘어갔으나, 더이상 반응이 없고 빈 화면인채로 계속 대기 중입니다. 혹시 브라우저 문제여부 확인을 위하여 chrome, edge, explorer에서 전부 해보았지만 전부 동일한 현상이 발생합니다. 혹시 해결 방법 조언 주실 수 있을까요?
-
미해결언리얼4 블루프린트로 안드로이드 게임 만들기
몬스터 만들기 1
몬스터 만들기 1 강의에서 플레이어가 미사일을 쏘고 몹이 미사일에 충돌에 맞아도 충돌 효과가 나오질 않네요.. 어디부분이 잘못됬는지 잘 모르겠습니다..
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
early_stopping_rounds
early_stopping_rounds가 50이고 검증데이터가 46개, n_estimators가 400이라면 검증 데이터 46개를 사용해 약한 학습기로 가중치를 부여하며 오류 개선 -> 400회 반복 -> 가중치가 50회 이상 떨어지지 않으면 조기 중단 제가 이해한 내용이 맞을까요? 여기서 검증 데이터와 학습 데이터 간에 연결 고리를 모르겠습니다
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
H2 버전 1.4 이상 사용하시는 분들
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. strategy 를 IDENTITY가 아닌 SEQUNCE로 사용하시면 됩니다. 또는 application.properties에 h2 url뒤에 ;MODE=MySQL 하시면 됩니다. H2 버전이 높아서 IDENTITY가 안먹힌다네요
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Receive 에 관해 질문 드립니다.
안녕하세요. 정말 신입 서버의 교과서 같은 강의라서 잘 보고 있다가 문득 궁금한 점이 생겨 질문 드리게 되었습니다. 제가 이해하기로는 TCP 는 Stream 방식이라서 100 byte 의 데이터를 send 하는 경우, 한 번에 받는다는 보장이 없어 20, 30, 50 이렇게 끊어서 받는 경우가 충분히 있을 것 같은데.. 현재 강의해서 제작된 RecvBuffer 를 사용함과는 무관하게 해당 현상을 해소하는 부분이 아직 안 보이는 것 같은데 이 부분은 따로 처리를 해야되는 부분인가요? 추후에 OnRecevie 함수 내부에서 처리를 하게끔 만드는 것인지, 아니면 해당 현상에 관련된 작업은 굳이 안해도 되는 것인지 궁금하여 질문드려봅니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JPA로 테이블 생성
안녕하세요. JPA 강의를 듣다가 문득 궁금한 게 생겼는데, 실제로 JPA로 테이블 생성을 해봤는데 테이블의 컬럼 위치도 이상하고 여러가지로 조금 익숙지가 않더라고요. 실무에서는 새로운 프로젝트 같은 경우에는 실제로 JPA로 테이블 생성을 많이 하나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
lambda NoSuchKey 에러
안녕하세요 바쁘실텐데 질문 드려 죄송합니다. lambda함수에서 NoSuchKey 라는 에러가 아주아주 종종 한 번씩 발생이 됩니다. 어떤 특정 파일만 그런 것도 아니고 매번 그런 것도 아니라 무슨 상황에서 에러가 발생하는지 찾지를 못하겠습니다... lambda/index.js const AWS = require("aws-sdk"); const sharp = require("sharp"); const s3 = new AWS.S3(); exports.handler = async (event, context, callback) => { const Bucket = event.Records[0].s3.bucket.name; // react-nodebird-s3 const Key = decodeURIComponent(event.Records[0].s3.object.key); // original/12312312_abc.png console.log(Bucket, Key); const filename = encodeURIComponent( Key.split("/")[Key.split("/").length - 1] ); const ext = Key.split(".")[Key.split(".").length - 1].toLowerCase(); const requiredFormat = ext === "jpg" ? "jpeg" : ext; console.log("filename", filename, "ext", ext); try { const s3Object = await s3.getObject({ Bucket, Key }).promise(); console.log("original", s3Object.Body.length); const resizedImage = await sharp(s3Object.Body) .resize(400, 400, { fit: "inside" }) .toFormat(requiredFormat) .toBuffer(); await s3 .putObject({ Bucket, Key: `thumb/${filename}`, Body: resizedImage, }) .promise(); console.log("put", resizedImage.length); return callback(null, `thumb/${filename}`); } catch (error) { console.error(error); return callback(error); } }; cloudwatch log 어디가 문제일까요ㅠㅠ