묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[핵집] 2024 빅데이터 분석기사(필기)_과목 1~2
수업자료 통합본 공유 요청 드립니다 :)
안녕하세요. [핵집] 2023 빅데이터 분석기사(필기)_과목 1~2를 수강하고 있고, 3-4 및 실기도 신청 완료 했습니다. 보다보니 한과목별로 따로 따로 다운 받아야 하더라구요.필기 1~2 및 3~4 수업자료 통합본 발송이 가능할까요? 부탁 드립니다 :) 이메일 주소는 happyeris@naver.com 입니다.더위가 꺾이지 않네요~ 더위 조심하세요~ 감사합니다 :)
-
미해결실습으로 배우는 프로메테우스
Mac에서는 혹시..
mac에서 혹시 구성 가능한가요 ?버츄얼박스로 해도..되지 않아서 ..
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka jdbc source connector 설정시 db url을 찾을 수 없다고 하는데 질문드립니다.
마이크로서비스 양질의 내용을 수강중인 학생입니다.지금 kafka source connector와 mariadb를 연결하는 과정에서database url을 찾을 수 없다는 에러가 계속 발생중입니다.혹시 동일한 현상을 해결하신 선배님이 계시거나, 아시는분의 도움을 얻고자 글 올립니다. 일단 db는 정상 실행되고 있습니다.url/user/password/table name까지의 정보는 완전 일치합니다. 증상은 아래와 같습니다. data source 생성 과정 source connector 상태 정보url 정상 유무
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편
네이버 게임 라운지 게시글 댓글 크롤링
크롤링 하다가 막혔는데 어떻게 해결할 수 있을까요?? URL : https://game.naver.com/lounge/Viking_Rise/board/detail/2583518사용 코드import requests from bs4 import BeautifulSoup import openpyxl url = "https://game.naver.com/lounge/Viking_Rise/board/detail/2583518" response = requests.get(url) html = response.text soup = BeautifulSoup(html, "html.parser") comment_items = soup.select(".comment_item_text__1foPs") workbook = openpyxl.Workbook() sheet = workbook.active sheet.title = "Crawled Comments" sheet.cell(row=1, column=1, value="Comment Text") sheet.cell(row=1, column=2, value="Attributes") for index, comment_content in enumerate(comment_items, start=2): comment_text = comment_content.get_text(strip=True) comment_attributes = str(comment_content.attrs) sheet.cell(row=index, column=1, value=comment_text) sheet.cell(row=index, column=2, value=comment_attributes) workbook.save("crawled_comments.xlsx") print("Comment attributes have been crawled and saved to crawled_comments.xlsx")
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
SELF JOIN 리트코드 문제풀이
SELECT Employee.Name AS Employee FROM Employee INNER JOIN Employee AS Manager On Employee.ManagerID = Manager.ID WHERE Employee.Salary > Manager.Salary 코드에서 저는 = Magnager.ManagerID라고 생각을 했는데 왜 저렇게 구문이 되는지 정확하게는 이해가 안가서 문의드려요.SELF-JOIN 시 교차점으로 해서 되는거 같은데 정확히는 이해가 안되네요 ㅜ
-
미해결스프링 기반 REST API 개발
강의 자료가 404입니다 확인 부탁 드려요!
강의 자료가 404입니다 확인 부탁 드려요!
-
미해결실전! Querydsl
from절(QTeam.team)과 QMember.member차치
강의 7분16초에서List<Tuple> result = queryFactory .select(QTeam.team.name, QMember.member.age.avg()).from(QMember.member).join(QMember.member.team, QTeam.team).groupBy(QTeam.team.name).fetch();위 코드로 하면 성공하지만List<Tuple> result = queryFactory .select(QTeam.team.name, QMember.member.age.avg()).from(QTeam.team).join(QMember.member.team, QTeam.team).groupBy(QTeam.team.name).fetch();이렇게 코드를 작성하면 맨아래와 같은 에러가 발생합니다.하지만 제가 H2에서 위 코드를 SQL로 바꾸면 아래와 같이 된다고 생각해서select t.NAME, AVG(m.AGE) from Team t join Member m on m.TEAM_ID=t.ID group by t.NAME;이렇게 적어서 실행해보니원하는 결과대로 잘 나오긴하는데 왜 Querydsl에서는 이러한 에러가 발생하는지 궁금합니다.========================================org.hibernate.hql.internal.ast.InvalidPathException: Invalid path: 'member1.team' at org.hibernate.hql.internal.ast.util.LiteralProcessor.lookupConstant(LiteralProcessor.java:111) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.ast.tree.DotNode.resolve(DotNode.java:218) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:114) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:109) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:411) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.joinElement(HqlSqlBaseWalker.java:4007) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3793) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3671) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:746) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:602) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:339) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:287) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:276) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:192) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:162) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:636) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:748) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:114) ~[hibernate-core-5.6.10.Final.jar:5.6.10.Final] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311) ~[spring-orm-5.3.22.jar:5.3.22] at com.sun.proxy.$Proxy113.createQuery(Unknown Source) ~[na:na] at com.querydsl.jpa.impl.AbstractJPAQuery.createQuery(AbstractJPAQuery.java:132) ~[querydsl-jpa-5.0.0.jar:na] at com.querydsl.jpa.impl.AbstractJPAQuery.createQuery(AbstractJPAQuery.java:125) ~[querydsl-jpa-5.0.0.jar:na] at com.querydsl.jpa.impl.AbstractJPAQuery.fetch(AbstractJPAQuery.java:242) ~[querydsl-jpa-5.0.0.jar:na] at study.querydsl.QuerydslbasicTest.group(QuerydslbasicTest.java:215) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) ~[junit-platform-commons-1.8.2.jar:1.8.2] at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) ~[junit-jupiter-engine-5.8.2.jar:5.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) ~[junit-platform-engine-1.8.2.jar:1.8.2] at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) ~[na:na] at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) ~[junit-platform-engine-1.8.2.jar:1.8.2] at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) ~[junit-platform-engine-1.8.2.jar:1.8.2] at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) ~[na:na]
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
static과 테스트케이스
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 [질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemoryMemberRepositor클래스의 store 변수에 static이 없다면 @AfterEach가 없더라도 이전 데이터로 인한 오류(강의 11:50)가 발생하지 않았습니다. static은 클래스의 변수로 모든 인스턴스들이 공유하게 되어 static store는 @AfterEach가 없다면 오류가 발생하게 된다는 점을 이해했습니다.하지만 static이 없더라도 MemoryMemberRepositoryTest에서 MemoryMemberRepository 인스턴스를 생성했기 떄문에 인스턴스 고유의 store 변수를 가지게 되므로 각 테스트에서 서로 공유되어야 하지 않나요?디버깅을 통해 확인해본 결과 findAll()이후 findByName() 시에 store는 비어있는데 이유가 무엇인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Packet Generator#2 string부분
안녕하세요이 부분까지는 실행이 잘되는 것을 확인하였습니다.그 뒤에 PacketFormat 부분에서실행시키면 아래와 같이 string부분은 입력이 안됩니다. 제 코드에서 틀린부분을 못찾겠어서 선생님이 올려주신 정답 코드로 다시 실행을 해보았는데똑같이 string부분이 입력이 안되는데 혹시 어떤 부분이 잘못되었는지 알려주실 수 있으실까요? class PlayerInfoReq { public long playerId; public void Read(ArraySegment<byte> openSegment) { ushort count = 0; ReadOnlySpan<byte> s = new ReadOnlySpan<byte>(openSegment.Array, openSegment.Offset, openSegment.Count); count += sizeof(ushort); count += sizeof(ushort); this. playerId = BitConverter.ToInt64(s.Slice(count, s.Length - count)); count += sizeof(long); } public ArraySegment<byte> Write() { ArraySegment<byte> segement = SendBufferHandler.Open(4096); bool success = true; ushort count = 0; Span<byte> s = new Span<byte>(segement.Array, segement.Offset, segement.Count); count += sizeof(ushort); success &= BitConverter.TryWriteBytes(s.Slice(count,s.Length-count), (ushort)PacketID.PlayerInfoReq); count += sizeof(ushort); success &= BitConverter.TryWriteBytes(s.Slice(count, s.Length - count), this. playerId); count += sizeof(long); success &= BitConverter.TryWriteBytes(s, count); if (success == false) return null; return SendBufferHandler.Close(count); } }
-
미해결구성 관리 자동화 도구 - 앤서블(Ansible)
Packer와 Vagrant 중 현업에서 둘중 얼마나 더 많이 사용하는지 알고 싶습니다.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? 예(https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 네[질문 하기]안녕하세요 hashicorp 사에서 만든 이미지 빌드 툴 에서는Packer와 Vagrant 가 있는걸로 알고 있습니다.혹시 현업에서도 Vagrant를 사용하나요?Vagrant는 커밋이 너무 예전에 된거 같아서.Packer를 통해서 이미지 빌드를 자동화 하고, Vagrant로 동작 테스트 하는 고객사가 있는걸로 알고 있어서.실제 고객사에서는 어떻게 사용하는지 궁금합니다.
-
미해결
querydsl orderBy 적용 되지 않음
안녕하세요 ,원래 작성했던 코드에서 querydsl 로 변경하는 중 사용이 익숙하지 않아 질문 드립니다.아래는 원래 작성했던 코드입니다.@Override public Page<MemberDto> findAllMember(int pageNumber, int size) { Pageable pageable = PageRequest.of(pageNumber, size); List<MemberDto> MemberDtoList = memberRepository.findAllByState(MemberCode.S1) .get() .stream() .sorted(Comparator.comparingLong(o -> (o.getCapacity() - o.getCnt()))) .map(MemberDto::fromEntity) .collect(Collectors.toList()); 위 코드에서 https://www.inflearn.com/questions/94176/querydsl-sorting-%EC%A1%B0%EA%B1%B4%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4 이 질문을 참고해 아래와 같이 작성해 보았습니다. public Page<Member> findAllByState (MemberCode memberCode, Pageable pageable) { return applyPagination(pageable, queryFactory -> queryFactory .selectFrom(member) .where( member.state.eq(memberCode.S1)) .orderBy(member.capacity.subtract(member.cnt).asc()) ); } 하지만 제가 원했던 바와 다르게 생성 순으로 반환되고 있어 필드끼리 계산을 이용해 orderBy 하는 방법을 알고 싶습니다.참고로 orderBy 안 member.capacity.subtract(member.cnt) 는 member 클래스의 가능한 총 정원에서 실제member 의 수 만큼 제외한 것이며 , Long 타입입니다.
-
미해결
네이버 게임 - 라운지 쪽에서 댓글들을 크롤링해보는 단계에서 막혔어요ㅜ
URL : https://game.naver.com/lounge/Viking_Rise/board/detail/2583518사용 코드import requests from bs4 import BeautifulSoup import openpyxl url = "https://game.naver.com/lounge/Viking_Rise/board/detail/2583518" response = requests.get(url) html = response.text soup = BeautifulSoup(html, "html.parser") comment_items = soup.select(".comment_item_text__1foPs") workbook = openpyxl.Workbook() sheet = workbook.active sheet.title = "Crawled Comments" sheet.cell(row=1, column=1, value="Comment Text") sheet.cell(row=1, column=2, value="Attributes") for index, comment_content in enumerate(comment_items, start=2): comment_text = comment_content.get_text(strip=True) comment_attributes = str(comment_content.attrs) sheet.cell(row=index, column=1, value=comment_text) sheet.cell(row=index, column=2, value=comment_attributes) workbook.save("crawled_comments.xlsx") print("Comment attributes have been crawled and saved to crawled_comments.xlsx")
-
미해결스프링 핵심 원리 - 기본편
@Autowired에 대한 사용법이 궁금합니다.
// Test메서드 void AutowiredOption() { ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class); // ac 객체를 생성할 때 오른쪽 인자의 클래스에는 @Component가 자동으로 붙음 } // 등록 클래스 static class TestBean { @Autowired(required = false) // 이렇게 해야 예외 안남, 아예 메서드가 호출 안됨 public void setNoBean1(Member member) { // Member는 스프링 빈에 없음 System.out.println("setNoBean1 = " + member); } //null 호출 @Autowired public void setNoBean2(@Nullable Member member) { System.out.println("setNoBean2 = " + member); } //Optional.empty 호출 @Autowired(required = false) public void setNoBean3(Optional<Member> member) { System.out.println("setNoBean3 = " + member); } } 질문1. @Autowired가 붙은 메서드의 정보가 빈으로 등록이 되나요?(setNoBean1, 2, 3이란 이름의 빈이 등록되나요?)질문2. 빈 등록 방법 중에 @Configuration을 사용할 때는 @Bean을 메서드에 붙어야 한다고 알고 있는데 @Bean을 메서드에 붙여도 될까요?
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
kafka-console-consumer.sh 출력 순서 관련 질문
안녕하세요 강의 잘 듣고 있습니다. 강의[섹션 5 카프카 프로듀서 애플리케이션 개발 > 메시지 키를 가진 프로듀서 애플리케이션]에서의 질문 드립니다.. 질문 1.강의를 따라가며 실습을 그대로 진행해보고 있는데..아래와 같이 kafka-console-consumer 명령어에 --from-beginning 옵션을 주고 실행했을 때..보낸 순서대로 출력이 이루어지지 않는것으로 보여서 이유가 무엇인지 궁금합니다.. 질문 2.애플리케이션에서 key1-value1 을 먼저 send 하고key2-value2 를 send 하는 순서로 실행을하면..kafka-console-consumer 명령어로 실시간으로 출력되는 것을 보았을 때..key2 가 먼저 출력되고 key1 이 출력됩니다.. 이 경우 무엇이 잘못 된건지 궁금합니다. 실습환경Kafka 2.5.0코드는 3.4.1 kafka-producer 의 ProducerWithKeyValue 를 key value 값만 변경하였습니다. 감사합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
배포하고 나서는 visual studio code에서는 실행못하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. AWS로 배포하고나면 visual studio code에서 npm으로 로컬실행을 할 수 없을 까여?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인인증필터 return "redirect:" + redirectURL; 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 17:48초에 나오는 내용에 질문드립니다.return "redirect:" + redirectURL;위 경로대신 밑에 있는 경로를 썼는데 이상 없던데 이렇게 해도 무방한가요?return "redirect:/items";
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
브로커의 개수와 서버의 개수
하나의 서버에 하나의 브로커가 설치 되어 있다고 말씀해 주셨는데 복제 옵션이 3일 때, 적어도 3개의 서버를 실행되고 있어야 하는 건가요?
-
미해결입문강의 타입스크립트부터 ionic6 (앵귤러 기반)
회의실 상세 페이지 만들기 강의 중 type 에러
회의실 상세페이지 만들기 강의 듣고 있는데요.meeting-room-detail 스크립트 작성 시 room: Rooms 선언한 부분에서 계속 type에러가 발생합니다.room 은 이니셜라이저가 없고, 생성자에 할당되어 있지 않다는 오류가 떠서 type을 undefined로 선언을 해줬더니 아래 param 으로 id 를 받아오는 부분에서는 undefined 형식은 Rooms 형식에 할당할 수 없다는 에러 메시지가 계속 뜹니다.room!: Rooms 로도 해봤는데 그렇게 하면 null 형식은 Rooms 형식에 할당할 수 없다고 뜨는데, 어떻게 해결을 하면 될까요?
-
미해결홍정모의 따라하며 배우는 C언어
int (*pa)[4]와 int*pa의 차이
#include <stdio.h> int main() { float arr2d[2][4] = { {1.0f,2.0f,3.0f,4.0f},{5.0f,6.0f,7.0f,8.0f} }; float(*pa)[4] = arr2d; printf("%u %u \n", (unsigned)pa, (unsigned)(pa + 1)); printf("%u %u\n", (unsigned)arr2d[0], (unsigned)arr2d[1]); printf("%u %u\n", (unsigned)pa[0], (unsigned)(pa[0] + 1)); printf("%f\n", pa[0][0]); printf("%f\n", *pa[0]); printf("%f\n", **pa); printf("%f\n", pa[1][3]); printf("%f\n", *(*(pa + 1) + 3)); float* ptr = arr2d; printf("%u %u \n", (unsigned)ptr, (unsigned)(ptr + 1)); printf("%u %u\n", (unsigned)arr2d[0], (unsigned)arr2d[1]); printf("%u %u\n", (unsigned)ptr[0], (unsigned)(ptr[0] + 1)); printf("%f\n", ptr[0][0]); printf("%f\n", *ptr[0]); printf("%f\n", **ptr); printf("%f\n", ptr[1][3]); printf("%f\n", *(*(ptr + 1) + 3)); }강의 9:47에서 int(*pa)[4]가 나옵니다.강의 10:20에서 교수님께서 pa는 4개의 float자료형을 가진 배열에 대한 포인터라고 하셨습니다.저는 이것을 [4개의 float자료형을 가진 배열]의 배열에 대한 즉, 2차원배열에 대한 포인터라고 이해했습니다.float arr[4] = { 1.0f,2.0f,3.0f, 4.0f }; float(*pa)[4] = arr;Q1. 위처럼 (*pa)[4]에 1차원 배열도 넣을수 있는건가요? float(*pa)[4]에서 [4]가 헷갈리는것같습니다. 정확히 정의를 내리기가 힘듭니다. float(*pa)[4]란 무엇인가요?ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡpa는 어쨋든 그냥 단순한 포인터 변수 하나 라고 이해했습니다.그래서 똑같이float* ptr = arr2d; 포인터 변수를 하나 선언하고 거기에 2차원 배열([4개의 float자료형을 가진 배열]의 배열을 넣어줬습니다.저는 pa랑 ptr은 그냥 외형만 다를뿐 문법적으로 같은 포인터변수라고 이해했습니다.그런데 pa같은 경우printf("%f\n", pa[0][0]); printf("%f\n", *pa[0]); printf("%f\n", **pa); printf("%f\n", pa[1][3]); printf("%f\n", *(*(pa + 1) + 3));이중포인터처럼 사용가능한 반면ptr의 경우는printf("%f\n", ptr[0][0]); printf("%f\n", *ptr[0]); printf("%f\n", **ptr); printf("%f\n", ptr[1][3]); printf("%f\n", *(*(ptr + 1) + 3));이중포인터처럼 사용하면 밑줄이 뜨고 오류가 떳습니다.그림을 그려보니 ptr은 당연히 단순 포인터변수이기에 이중포인터처럼 사용은 불가능했습니다. Q2.그렇다면 어째서 pa는 포인터변수인데도 이중포인터처럼 사용이 가능한건가요? 또 pa와 ptr의 차이는 무엇인가요? 항상 감사합니다. 진짜 진짜 진짜 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
재귀함수로 구현한 조합 함수 관련 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. void combi(int a, vector <int> b) { if (b.size() == k) { print(b); return; } for (int i = a + 1; i < n; i++) { b.push_back(i); combi(i, b); b.pop_back(); } return; } 위의 함수에서 for문 다음의 return 함수를 없애도 함수의 동작에는 문제가 없고 더 빨리 동작하는데 return을 쓸 때의 이점이 있나요? 다른 코드들을 볼 때도 return;이 없어도 동일하게 동작하지만 return;이 있는 많은 예문들을 보게 되는데 return;을 코드에 추가하는 그 이유를 알고 싶습니다. 또한 return;을 넣는 순간 동작 시간이 약 0.08초에서 0.22초로 증가하게 되는데 그 이유를 알고 싶습니다.