강사님 안녕하세요, 4-L 문제 숫자 배열 입력받는 부분을 split 으로 구현을 해보았지만 시간초과가 발생을 해서요.. http://boj.kr/45ac0094d780431c9678842e88c8c48a 강사님 풀이와 같이 개별 char 에 대해 순차적으로 판단하여 바로 바로 container 에 push_back 하는 것이 확실히 더 빠를 것 같다고 생각은 됩니다.. split 함수 로직 자체가 token 을 만들어가면서 input string 에 대해 1회 탐색을 하게 되는 것이라 그렇게 오래 걸릴까? 싶긴한데요. string 에서 int 로 변환시키는 stol 함수가 문제인걸까요?
[질문 내용] 여기에 질문 내용을 남겨주세요. 확인해보면 memberRepository 인스턴스는 모두 같은 인스턴스가 공유되어 사용된다. AppConfig의 자바 코드를 보면 분명히 각각 2번 new MemoryMemberRepository 호출해서 다른 인스턴스가 생성되어야 하는데? 어떻게 된 일일까? 혹시 두 번 호출이 안되는 것일까? 실험을 통해 알아보자. 라는 내용이 있는데요 이 부분에서 다른 인스턴스가 왜 생성이 되어야 하는지 이해가 가질 않습니다. AppConfig를 보면 @Bean public MemoryMemberRepository memberRepository() { return new MemoryMemberRepository(); } 이러한 코드가 있어서 스프링 컨테이너에 스프링 빈이 등록이 될때 memberRepository 도 등록이 되서 관리가 되므로 어디든 new MemoryMemberRepository를 호출해도 똑같은 인스턴스가 생성이 되어야 하는거 아닌가요? 감사합니다.
======CMD====== 19./deploy.sh 20======END====== 212023/03/05 13:19:14 Process exited with status 127 22err: bash: ./deploy.sh: No such file or directory deploy.sh 파일이 없다고 하는 것 같은데 확인해보면 잘 존재해 있습니다. #!/bin/bash source ~/.bash_profile cd ~/git/backfront/ git pull origin main cd frontend/ npm i npm run build cp -rf dist/* ../backend/public cd ../backend/ npm i pm2 stop web pm2 start bin/www --name web --update-env sleep 2 pm2 list 도와주십시오ㅠ
질문 1. TLS로 SendBuffer를 스레드별 전역변수로 지정했으면, SendBuffer 멤버필드인 buffer도 스레드별 전역변수가 아닌가요? 그런데 왜 _buffer는 공유자원처럼 다수의 스레드가 참조하는 건가요?(28:39 부분) 질문 2. 만약 _buffer는 TLS 여도 다수의 스레드가 볼 수 있다고 쳐도, 어차피 Send하는 부분은 그 스레드가 넣은 부분만(handler에서 close로 보내준 segment영역) 보내주기때문에 상관없는 것 아닌가요? (하지만 애초에 질문 1이 이해가 안됩니다.) 질문 3. 이전에 Session#2 강의 시작부분에 설명해주신 내용에서, SEssion의 receive는 OnRecvCompleted()메서드에 여러 스레드가 동시다발적으로 들어가는 경우는 없다. 라고 하셨는데, 해당 강의에서는 어떤 이유로 멀티스레드를 생각해야 하는 상황이 된건지 궁금합니다. 질문 4. Session 객체는 connect되는 client당 하나씩이니까 client와 연결 될 때 마다 새로운 session객체가 생성되어 다 따로 만들어지는 것이기 때문에 애초에 _sendQueue도 스레드별로 따로 아닌가요? 질문 5. _buffer는에서 읽기만 하는거니까..(30:03) 라고 하셨는데 읽는 부분이 어느부분인지, deq하는것을 읽는것이라고 표현하신건가요? 어떤 경우들을 말슴하시는건지 이해가 안되어 헷갈리는게 많습니다. 일단 질문은 더 있지만, 대표적인 질문들로 올려봅니다
- 카프카를 공부하시면서 생긴 질문들을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘 듣고 있습니다! 좋은 강의 올려주셔서 감사합니다. 빅데이터 아키텍쳐의 종류와 카프카의 미래 강의 9:00 전후의 카프카가 배치 데이터를 처리하기 위해 제공하는 기능에 대해서 질문이 있습니다. 슬라이드의 설명으로 이해하기에는 기존의 배치 데이터는 각 시점의 스냅샷 데이터이지만, 카프카는 변환 기록 로그를 남김으로써 기존의 배치 데이터 스냅샷을 매번 만들 필요 없이 로그로 특정 시점의 데이터를 만들 수 있다 라고 이해했습니다. 강의 내용으로는 카프카에서 배치 데이터를 가져오기 위해 기존의 배치 데이터 컨셉인 배치 데이터 스냅샷과, 변환 기록 로그 이렇게 둘 다의 정보를 사용해서 배치 데이터를 표현한다 라고 이해 했습니다. 1, 2번중 어떤게 더 적절하게 이해했는지 궁금합니다. 감사합니다!
안녕하세요. 해당 강의를 듣고 object가 무엇인지 이해가 잘 안 가서 구글에서 찾아 봤습니다. 각 블로그 마다 설명하는 내용이 차이가 있고 같은 단어 느낌으로 설명하는 내용도 있고 해서 제가 이해하기가 조금 혼란스럽습니다.. 혹시 가능하시다면 class, object, instance에 차이를 설명해주실 수 있나요? 강의에서 보니까 오브젝트(인스턴스)라고 자막을 적어주셨던데, 오브젝트랑 인스턴스는 같은 것인가요? 감사합니다.
오늘 강의 처음듣는데 아톰홈페이지가 안뜹니다 ㅠ 30일 무료 라고 해도 깃허브같은것만뜨는데 찾아보니 서비스가 종료됐대요 얼마전에,, vs code로 해도 상관없는건가요?ㄷㄷ ㅠ - 질문에 대한 답변은 강의자가 하는 경우도 있고, 수강생 여러분들이 해주시는 경우도 있습니다. 같이 도와가며 공부해요! :) - 작성하신 소스코드 자체의 오류보다는, 개념이나 원리가 이해되지 않는 부분을 질문해주시는게 좋습니다. 그대로 따라했는데 소스코드에서 버그가 나는 경우는 99%가 오타에 의한거라서, 완성된 소스랑 찬찬히 비교해보시면 직접 찾으실 수 있을 거예요. 개발자도구 console에 오류로 표시된 부분만 완성 코드에서 복사->붙여넣기를 해보시는 것도 방법입니다. - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요. 쇼핑몰을 운영합니다. 제가 궁금한게 있어서요.. 혹시 중국어만 삭제할 수 있나요? 예컨대 중국사이트에서 판매하는 상품을 국내에서 파는데요 중국어를 전부 지우고 번역해서 한국어로 하려고 하거든요.. 샘플 사진 보여드릴게요 이런 이미지인데 저 중국어를 모두 지우고 -> 아주 깔끔하게!! 한국어로 번역해서 채우고 싶은데.. 포토샵 주로 어떤 기능을 사용하는 게 좋을까요.? 혹시 별도 영상이 있다면 감사드리겠습니다!! jyss6367@naver.com
notion에 있는 '수업 프로젝트 설치할 것' 이후 yarn dev를 해보면 다음과 같이 Can't resolve '@styles.Home.module.css'가 뜹니다. _app.js에 있는 import문도 삭제하였는데, 해당 문제가 해결되지 않아 qqq폴더 안에 index.js도 실행이 되지 않습니다..! 혹시 어떻게 해결 가능할까요? 실행 위치는 codecamp, class, qqq 모두 해보았는데 같은 오류가 발생합니다! ㅠㅠ + import styles from ~~부분을 주석처리하고, return 안의 내용을 삭제시키니 동작하는데 삭제시켜둔 상태로 강의를 진행해도 괜찮나요?
http://mangosteen.tobesoft.co.kr/nexus/repository/tobesoft-snapshots/archetype-catalog.xml maven project 생성할때 이주소가 잘못되었는지 TOBESOFT를 선택해도 파일에 아무것도 안뜹니다. No archetypes available for this catalog. 이런오류만 뜹니다 여기서 막혀서 진도를 못나가고있습니다.
Projections을 이용한 조회 테스트를 하고 있던중 Projections.fields에 대해 궁금한점이 있습니다. Dto에 @AllArgsConstructor만 적용하고 Projections.fields를 사용하게 되면 해당 인스턴스를 만들지 못한다고 exception이 발생합니다. 영한님께서 강의에서 말쓴하신 Projections.fields의 특성은 getter, setter가 필요가 없고 생성자 또한 필요가 없다라고 하셨는데 이상하게 @AllArgsConstructor를 추가하면 exception이 발생합니다. ex @Getter @AllArgsConstructor public class ArticleFieldsDto{ private Long id; private String title; private LocalDateTime lastModifiedDate; private Long lastModifiedBy; } 예외 로그 com.querydsl.core.types.ExpressionException: com.mylaboratory.jpa_and_querydsl.projections.dto.ArticleFieldsDto at com.querydsl.core.types.QBean.newInstance(QBean.java:246) at com.querydsl.core.support.NumberConversions.newInstance(NumberConversions.java:86) at com.querydsl.jpa.FactoryExpressionTransformer.transformTuple(FactoryExpressionTransformer.java:51) at org.hibernate.sql.results.internal.RowTransformerTupleTransformerAdapter.transformRow(RowTransformerTupleTransformerAdapter.java:30) at org.hibernate.sql.results.internal.StandardRowReader.readRow(StandardRowReader.java:109) at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:198) at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:33) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:443) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:166) at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:91) at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31) at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.lambda$new$0(ConcreteSqmSelectQueryPlan.java:113) at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.withCacheableSqmInterpretation(ConcreteSqmSelectQueryPlan.java:335) at org.hibernate.query.sqm.internal.ConcreteSqmSelectQueryPlan.performList(ConcreteSqmSelectQueryPlan.java:276) at org.hibernate.query.sqm.internal.QuerySqmImpl.doList(QuerySqmImpl.java:571) at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:363) at org.hibernate.query.sqm.internal.QuerySqmImpl.list(QuerySqmImpl.java:1073) at org.hibernate.query.spi.AbstractSelectionQuery.getSingleResult(AbstractSelectionQuery.java:457) at org.hibernate.query.sqm.internal.QuerySqmImpl.getSingleResult(QuerySqmImpl.java:1103) at com.querydsl.jpa.impl.AbstractJPAQuery.getSingleResult(AbstractJPAQuery.java:214) at com.querydsl.jpa.impl.AbstractJPAQuery.fetchOne(AbstractJPAQuery.java:326) at com.mylaboratory.jpa_and_querydsl.projections.ProjectionsTest.projections_field(ProjectionsTest.java:70) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: java.lang.InstantiationException: com.mylaboratory.jpa_and_querydsl.projections.dto.ArticleFieldsDto at java.base/java.lang.Class.newInstance(Class.java:639) at com.querydsl.core.types.QBean.create(QBean.java:251) at com.querydsl.core.types.QBean.newInstance(QBean.java:222) ... 91 more Caused by: java.lang.NoSuchMethodException: com.mylaboratory.jpa_and_querydsl.projections.dto.ArticleFieldsDto.<init>() at java.base/java.lang.Class.getConstructor0(Class.java:3585) at java.base/java.lang.Class.newInstance(Class.java:626) ... 93 more 예외가 발생하지 않는 경우는 아래와 같습니다. @NoArgsConstructor, @AllArgsConstructor 모두 사용 @NoArgsConstructor, @AllArgsConstructor 모두 사용 X @NoArgsConstructor 만 사용
스프링 빈 등록 그림에서 memberService()을 예시로 들면 @Bean 어노테이션으로 인해 스프링 빈 저장소에 빈 이름으로 메소드 이름인 memberService가 저장이 되고 빈 객체는 memberService()가 리턴하는 값이 저장이 된다고 이해를 했습니다. 여기서 질문이 있는데요 저장된 빈 객체의 데이터 타입은 MemberService가 맞나요? 빈 객체가 MemberServiceImpl 이거 인데 데이터 타입은 MemberService가 맞는지 헷갈려서 질문을 했습니다. 빈 객체라는게 스프링 컨테이너에 등록된 스프링 빈이 맞나요? 감사합니다.
안녕하세요! 멀테스레딩 강의(Lock 구현 부분) 수강 중에 제가 제대로 이해가 안 가는 부분이 있어서 질문드립니다. 구체적으로 강의 코드에서 sleep_for와 yield의 내부적 동작?을 저는 yield(): lock이 잠겨있는 경우, system time slice에 상관없이 바로 context switching이 발생해, 해당 스레드가 다시 운영체제 스케줄링 큐에 들어가 운영체제가 다시 실행시켜 줄 때까지 대기 sleep_for(n): lock이 잠겨있는 경우, yield와 마찬가지로 컨텍스트 스위칭이 바로 발생하는데, n시간동안 해당 스레드가 sleep thread 큐에 저장되어 있다가, 그 다음에 스케줄링큐로 들어가서 이후에 다시 실행될때까지 대기 이해했는데, 이게 제대로 이해한게 맞을까요? 특히 sleep_for의 동작이 이해가 잘 안가는데, 스택오버플로우에서는 https://stackoverflow.com/questions/17325888/c11-thread-waiting-behaviour-stdthis-threadyield-vs-stdthis-thread sleep_for(n)의 경우 최소 n시간 이상을 block한다는데, 해당 스레드가 블록되었다는 말이 컨텍스트 스위칭이 되어있다는걸까요? 또 sleep thread queue는 운영체제에서 관리하는 개념일까요? (제대로 이해를 못해서 질문이 두서 없는 점 죄송합니다....)