묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
가상메모리 용량 질문
가상 메모리가ram + hdd 면 가상 메모리의 용량은ram + hdd 이하로 제한되나요?RAM 4기가 / HDD 32기가라면 총 가상메모리의 공간은 36기가 이하라고 생각하면 될까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UTF-8 형식 저장하기 연구 적용하기
여러가지 실험 결과 언리얼 C++ 프로젝트를 만들때 파일을 OS의 기본 인코딩을 따라가기 때문에 OS 인코딩 방식을 바꾸면 모든 파일이 자동적으로 UTF-8 방식으로 저장된다는 걸 깨달았습니다. 윈도우 11 기준으로 다음 단계를 거치면 UTF-8로 일일이 파일을 고처 수정하지 않아도 됩니다.윈도우 시작 버튼 > 설정 창 열기"시간 및 언어"으로 이동합니다.시스템Beta: 세계 언어 지원을 위한 Unicode UTF-8 사용 체크 후, 확인이제 윈도우를 재부팅하고 C++ 프로젝트를 생성하면 모든 파일이 UTF-8로 저장됩니다. 아무도 모르는 꿀팁인거 같아서 올립니다.윈도우 10 버전:https://whatsupkorea.tistory.com/376
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
질투심이 ~~일때
로 보는 건 그런가 보다 싶은데왜 질투심으로 보석을 나눠야 하는지 이해가 안 갑니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
회원가입 과제 코드
회원가입 과제는 따로 정답 코드가 없는건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
서버
http://practice.codebootcamp.co.kr/graphql서버에 문제가 있나요? 어제는 잘 되었는데 안들어가지네요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
EC2 서버 패킷 이슈
안녕하세요 루키스님!저는 강의에서와 달리 움직임 방식을 int 단위가 아닌 float 단위로 움직일 때마다 C_Move 패킷을 보내게 설계했습니다(아마 이러면 패킷을 쏘는 양이 더 많을 것 같아요!)해당 로직을 로컬 서버에서 작동을 시키고 클라이언트를 저의 로컬 ip에 접속하게 하면 패킷이 밀림 없이 잘 동작하지만 ec2에 서버를 올리고 클라를 ec2 IP에 접속 시키고 동작시키면 패킷이 밀려서 그런진 몰라도 플레이어가 이동하다가 트레이서 현상이 발생합니다. 총알을 쏘면 트레이서를 하지는 않지만 버벅거리면서 나가구요.기본적으로 Move 로직이 강의와 마찬가지로 클라에서 움직이고 서버에 위치를 통보하는 방식입니다. 이 방식이 패킷이 밀림으로써 클라는 나가 있지만 서버에서의 반영으로 인해 위치가 다시 트레이서 되는 건가 보다 싶어서움직임 로직을 바꿨습니다. 클라에서 움직인다고 인풋을 주면 패킷을 서버로 보내고 서버에서 움직임을 바꾼 후에 클라에 반영이 되게 바꿔봤습니다! 하지만 이 방식도 로컬에선 잘 동작하지만 ec2 서버에서는 버벅거리더라구요...ec2 인스턴스의 유형을 높은 걸로 해도 똑같고 최적화를 많이 했다고 생각했는데도 계속 버벅거리네요... 혹시 방법이 있을까요... 차이는 로컬 서버냐 ec2 서버냐의 차이인거 같은데, 애초에 물리적인 거리가 있기 때문에 이런걸까요...
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-D 불! 질문있습니다.
어느 부분에서 틀렸는지 잘 모르겠습니다.제가 놓친 부분이 강의에서 INF로 초기화하는 거라고 생각해서 보고 수정했었지만 똑같았습니다.그래서 원래 썼던 코드로 공유합니다.http://boj.kr/b143a73e068a49a9b8687b692265b563
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
date를 인식 못하는 문제
엔티티@Entity() @ObjectType() export class Reservation { @PrimaryGeneratedColumn('uuid') @Field(() => String) reservationId: string; @Column({ nullable: false }) @Field(() => Date) startDate: Date; @Column({ nullable: false }) @Field(() => Date) endDate: Date; @Column({ nullable: false }) @Field(() => Int) usersNumber: number; @Column({ nullable: false }) @Field(() => Int) lengthOfStay: number; @Column({ nullable: false }) @Field(() => Int) price: number; @ManyToOne(() => Member) @JoinColumn({ name: 'memberId' }) @Field(() => Member) member: Member; @ManyToOne(() => Campground) @JoinColumn({ name: 'campgroundId' }) @Field(() => Campground) campground: Campground; @ManyToOne(() => Tent) @JoinColumn({ name: 'tentId' }) @Field(() => Tent) tent: Tent; @DeleteDateColumn() deletedAt: Date; } 데이터 생성 DTO@InputType() export class CreateReservationInput extends OmitType( Reservation, ['reservationId', 'member', 'campground', 'tent'], InputType, ) { @Field(() => String) memberId: string; @Field(() => String) campgroundId: string; @Field(() => String) tentId: string; } 위 코드에 graphQL 요청시 에러가 발생합니다.mutation { createReservation ( createReservationInput: { startDate: "2023-01-01" endDate: "2023-06-06" usersNumber: 5 lengthOfStay: 10 price: 5 memberId: "lhw3542" campgroundId: "d35d3972-5c07-47d7-94a2-23c784f0a27e" tentId: "3ae33a7c-c898-4b66-b110-02b4f8c96398" } ) { reservationId startDate endDate usersNumber lengthOfStay price member { memberId } campground { campgroundId } tent { tentId } } } Field 'startDate' doesn't have a default value날짜 형식을 읽지 못하는 것 같은데 무엇이 잘못된 걸까요?아래와 같이 DTO에 직접 써줘도 인식을 못하고 있습니다. @Field(() => Date) startDate: Date; @Field(() => Date) endDate: Date;
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
join한 테이블 조회시 컬럼이 겹치는 문제
아래와 같은 코드에서 memberID를 조건으로 데이터를 조회하면 join된 campground와 member 각각에 member 컬럼이 다 있어 조건으로 넣어준 memberId를 어디서 찾아야 하는지 typeORM에서 인식하지 못하는 것 같습니다. 때문에 아래와 같은 에러가 나오는거 같습니다. 어떻게 해결해야 할까요?result = await this.dibsRepository.find({ where: { member: { memberId }, }, relations: ['campground', 'member'], });QueryFailedError: Column 'memberId' in where clause is ambiguous
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
실무에서의 test DB 구성 방식이 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]기존 질문 답변을 모두 읽어 보았지만, 실무에서의 테스트 db 세팅 방법의 정확한 방향이 잡히지 않아 질문드립니다.테스트 db 환경을 로컬로도 구축하신다는 의미가 예를 들어 mysql을 사용하는 경우 로컬 mysql db에 실운영 mysql db 스키마를 등록하고 이를 test db로 사용하신다는 의미로 이해해도 될까요??h2 임베디드 db 만을 신뢰하여 통합테스트와 같은 테스트를 실행하기에는 test의 신뢰도가 떨어진다는 내용들을 봐서 실제 사용하는 db를 쓰는 것이 맞을 것 같기는 한데 위와 같은 방식으로 하면 배보다 배꼽이 더 커질 것 같아 걱정입니다.배민과 같은 좋은 기준을 가진 회사의 방식이 궁금하고 이를 적용하고 싶은데 답변만으로 어려우시다면 추후 테스트 코드 강의에 이를 반영하여 주시길 바라는 마음에서도 질문 남겨봅니다.(테스트 코드 강의 나오면 바로 구매할께요!)
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
선생님 혹시 폴더/파일 다 만드는 건가요??
선생님 혹시 .json 폴더안에 작성한 .html, .css, .js 파일 넣으면 될까요 ??
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
회원가입 로그인 페이지 꾸미기 - 1 오류 질문 합니다.
제가 몇 일 전 amd로 프로그램을 짜다가 auth와 java가 인식이 안돼 는 것을 보고 인 텔 로 피시를 옮겨서 하는중인데 에뮬레이터가 초반에 스 플 래시 xml은 실행이 되지만 auth 파일을 만들고 나서 튕김 현상이 생겼습니다.E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.mysolelife, PID: 3542이게 오류 메세지입니다.
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
pyspark - collect error
안녕하세요! 좋은 강의 잘 듣고 있습니다.제공해주신 연습 예제부터 차근차근 실습해보고 더 큰 데이터로 학습 해보고자 컬럼수 10개 / 큰 용량의 csv파일로 학습중입니다. 변수만 바꾸고 코드를 동일하고 학습하고 있습니다.코드의 마지막 줄인results = avg_by_count.collect() print(results)이 부분에서 에러가 나서 어떻게 해결해야 하는지 질문드립니다. === 이것저것 검색해보다가 pyspark / python 버전이 안맞으면 에러가 날 수 있다고 보고 버전도 확인해봤습니다.print(sc.version)# 3.3.2print(sc.pythonVer)#3 .10print(sc.master)#local[*] 아래는 에러 전문입니다.1197 sock_info = self.ctx._jvm.PythonRDD.collectAndServe(self._jrdd.rdd()) 1198 return list(_load_from_socket(sock_info, self._jrdd_deserializer)) File /usr/local/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/java_gateway.py:1321, in JavaMember.__call__(self, *args) 1315 command = proto.CALL_COMMAND_NAME +\ 1316 self.command_header +\ 1317 args_command +\ 1318 proto.END_COMMAND_PART 1320 answer = self.gateway_client.send_command(command) -> 1321 return_value = get_return_value( 1322 answer, self.gateway_client, self.target_id, self.name) 1324 for temp_arg in temp_args: 1325 temp_arg._detach() File /usr/local/spark/python/lib/py4j-0.10.9.5-src.zip/py4j/protocol.py:326, in get_return_value(answer, gateway_client, target_id, name) 324 value = OUTPUT_CONVERTER[type](answer[2:], gateway_client) 325 if answer[1] == REFERENCE_TYPE: --> 326 raise Py4JJavaError( 327 "An error occurred while calling {0}{1}{2}.\n". 328 format(target_id, ".", name), value) 329 else: 330 raise Py4JError( 331 "An error occurred while calling {0}{1}{2}. Trace:\n{3}\n". 332 format(target_id, ".", name, value)) Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 10.0 failed 1 times, most recent failure: Lost task 1.0 in stage 10.0 (TID 11) (b4b9f5895184 executor driver): org.apache.spark.api.python.PythonException: Traceback (most recent call last): File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 686, in main process() File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 676, in process out_iter = func(split_index, iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 540, in func return f(iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 2554, in combineLocally merger.mergeValues(iterator) File "/usr/local/spark/python/lib/pyspark.zip/pyspark/shuffle.py", line 253, in mergeValues for k, v in iterator: File "/usr/local/spark/python/lib/pyspark.zip/pyspark/util.py", line 81, in wrapper return f(*args, **kwargs) File "/tmp/ipykernel_35939/1438163465.py", line 11, in parse_line ValueError: invalid literal for int() with base 10: '61.760999927297242' at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.handlePythonException(PythonRunner.scala:552) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:758) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:740) at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.hasNext(PythonRunner.scala:505) at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37) at scala.collection.Iterator$GroupedIterator.fill(Iterator.scala:1211) at scala.collection.Iterator$GroupedIterator.hasNext(Iterator.scala:1217) at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460) at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:140) at org.apache.spark.shuffle.ShuffleWriteProcessor.write(ShuffleWriteProcessor.scala:59) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:52) at org.apache.spark.scheduler.Task.run(Task.scala:136) at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:548) at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1504) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:551) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Driver stacktrace: at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:2672) at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:2608) at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2$adapted(DAGScheduler.scala:2607) at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62) at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49) at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:2607) at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1(DAGScheduler.scala:1182) at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1$adapted(DAGScheduler.scala:1182) at scala.Option.foreach(Option.scala:407) at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:1182) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:2860) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2802) at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2791) at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:49) at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:952) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2238) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2259) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2278) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2303) at org.apache.spark.rdd.RDD.$anonfun$collect$1(RDD.scala:1021) at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151) at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112) at org.apache.spark.rdd.RDD.withScope(RDD.scala:406) at org.apache.spark.rdd.RDD.collect(RDD.scala:1020) at org.apache.spark.api.python.PythonRDD$.collectAndServe(PythonRDD.scala:180) at org.apache.spark.api.python.PythonRDD.collectAndServe(PythonRDD.scala) 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 py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) at py4j.Gateway.invoke(Gateway.java:282) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182) at py4j.ClientServerConnection.run(ClientServerConnection.java:106) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: org.apache.spark.api.python.PythonException: Traceback (most recent call last): File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 686, in main process() File "/usr/local/spark/python/lib/pyspark.zip/pyspark/worker.py", line 676, in process out_iter = func(split_index, iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 3472, in pipeline_func return func(split, prev_func(split, iterator)) File "/usr/local/spark/python/pyspark/rdd.py", line 540, in func return f(iterator) File "/usr/local/spark/python/pyspark/rdd.py", line 2554, in combineLocally merger.mergeValues(iterator) File "/usr/local/spark/python/lib/pyspark.zip/pyspark/shuffle.py", line 253, in mergeValues for k, v in iterator: File "/usr/local/spark/python/lib/pyspark.zip/pyspark/util.py", line 81, in wrapper return f(*args, **kwargs) File "/tmp/ipykernel_35939/1438163465.py", line 11, in parse_line ValueError: invalid literal for int() with base 10: '61.760999927297242' at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.handlePythonException(PythonRunner.scala:552) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:758) at org.apache.spark.api.python.PythonRunner$$anon$3.read(PythonRunner.scala:740) at org.apache.spark.api.python.BasePythonRunner$ReaderIterator.hasNext(PythonRunner.scala:505) at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37) at scala.collection.Iterator$GroupedIterator.fill(Iterator.scala:1211) at scala.collection.Iterator$GroupedIterator.hasNext(Iterator.scala:1217) at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460) at org.apache.spark.shuffle.sort.BypassMergeSortShuffleWriter.write(BypassMergeSortShuffleWriter.java:140) at org.apache.spark.shuffle.ShuffleWriteProcessor.write(ShuffleWriteProcessor.scala:59) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99) at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:52) at org.apache.spark.scheduler.Task.run(Task.scala:136) at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:548) at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1504) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:551) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ... 1 more ㅠㅠ혹시 해결방법을 아신다면 답변 부탁드립니다..감사합니다.!!!!
-
미해결스프링부트 시큐리티 & JWT 강의
어떻게 자동으로 home으로 넘어가지나요?
로그인후 어떻게 바로 home주소로 넘어가나요?저는 로그인후 home을 직접쳐야 넘어가지던데
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원서비스테스트 강의에서 fail();이 동작안합니다
요런 에러가 뜹니다 package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemoryMemberRepository;import org.junit.jupiter.api.AfterEach;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import static org.assertj.core.api.Assertions.*;import static org.junit.jupiter.api.Assertions.*;class MemberServiceTest {//MemberService memberService = new MemberService(); //MemoryMemberRepository memberRepository = new MemoryMemberRepository(); MemberService memberService; MemoryMemberRepository memberRepository; // 동작하기 전에 MemberService에 넣어줌 @BeforeEach public void beforeEach(){// DI memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); }@AfterEach public void afterEach() {memberRepository.clearStore(); }@Test void 회원가입() {// given Member member = new Member(); member.setName("hello"); //member.setName("spring"); // when Long saveId = memberService.join(member); // then Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); }@Test void 중복_회원_예외() {// given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); // when //try-catch 방법 try {memberService.join(member2); fail(); } catch (IllegalStateException e){assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); }/*memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2));//예외가 발생해야 한다. assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다.");*/ }@Test void findOne() {}}해당 소스 입니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
상속관계 매핑 관련 질문 드립니다.
안녕하세요.먼저 항상 좋은 강의를 내주셔서 정말 감사합니다제가 요번에 실무에서 처음 JPA를 경험을 하게 되었고, 운이 좋게 특정 도메인의 테이블 설계도 진행을 하게 되었습니다.고민을 하던 중, 이전 JPA 강의에서 상속 관계 매핑을 본적이 있어서 해당 부분을 적용을 하여 먼저 테스트를 해보는 중 정말 어떻게 풀어가야 할지 모르는 부분이 있어서 질문을 드리게 되었습니다.상단 캡쳐 화면 처럼 테이블 생성 후, 각각 서브 타입의 Repository 를 만들어서 클라이언트에 넘어온 DTYPE을 통한 분기를 통해서 필요한 서브타입의 Repository 를 이용하여 조회 및 저장을 하는 방식으로 하였습니다. 그런데 해당 테이블이 다른 업무에도 많이 사용이 될 테이블이라 코드가 복잡해질 걱정이 되었습니다.해당 부분을 어떤 방식으로 풀어나가야 할지를 모르겠습니다. 해당 부분을 실무에 적용을 하게 될 때 복잡하게 될 거 같으며 이 부분을 어떻게 실무에서 녹여야 할지를 모르겠습니다. 영한님의 경우 상속 관계 매핑을 실무에서 어떻게 사용을 하시는지 궁금합니다. 연관된 테이블들 중 공통적인 부분이 있고, 서로 다른 컬럼이 있을 때, Inheritance 를 통한 상속 관계 매핑 말고 다른 쉬운 방법으로 풀 수 있는 방법이 있는지 궁금하여 질문 드립니다.두서 없는 글 읽어주셔서 감사합니다.항상 영한님의 강의를 통해서 정말 많은 도움을 받고 있습니다. 감사합니다좋은 하루 보내세요!!
-
미해결따라하며 배우는 NestJS
도와주세요 ㅠㅠ!!
안녕하세요. 현재 typeorm 버전을 0.2로 낮춰서 진행하려고 했지만,아래 오류가 발생하여 진도를 나가지 못하고 있습니다! 왜 자꾸 파이프를 못 찾는다고 나오는지 검색해도 안되서 글 등록합니다 ㅠㅠ 도와주세요! [Nest] 19044 - 2023. 05. 25. 오후 10:31:03 ERROR [ExceptionHandler] Cannot read properties of undefined (reading '__pipes__') TypeError: Cannot read properties of undefined (reading '__pipes__') at C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:147:152 at Array.forEach (<anonymous>) at C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:147:39 at Array.forEach (<anonymous>) at DependenciesScanner.reflectInjectables (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:146:27) at DependenciesScanner.reflectDynamicMetadata (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:124:14) at C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:114:18 at Array.forEach (<anonymous>) at DependenciesScanner.reflectControllers (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:112:21) at DependenciesScanner.scanModulesForDependencies (C:\nestStudy\nestjs-board-new-app\node_modules\@nestjs\core\scanner.js:84:18)
-
미해결홍드로이드의 To-Do 리스트 앱 만들기
kapt 추가 이후 오류 발생.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.이러한 오류가 발생하는데 이를 해결하기 위해서는 어떻게 해야하나요?
-
미해결웹 게임을 만들며 배우는 React
Td와 Tr 컴포넌트에 memo를 씌우지 않아도 되나요?
timer 때문에 Table 전체가 리렌더링되는 문제를 해결하기위해강의에서는 Table과 하위컴포넌트 Tr, Td 모두에 memo를 씌우셨고하위컴포넌트가 다 memo가 돼있어야지 상위컴포넌트도 memo를 적용할 수 있게 된다고 말씀하셨는데요제가 Tr Td에 memo를 없애고Table에만 적용해봤더니그래도 리렌더링되지 않길래이렇게 해도 되는지 궁금해서 질문드립니다 import React, { useReducer, createContext, useMemo, useEffect } from 'react'; import Table from './Table'; import Form from './Form'; // 중략 const MineSearch = () => { const [state, dispatch] = useReducer(reducer, initalState); const { tableData, halted, timer, result } = state; const value = useMemo(() => ({ tableData: tableData, halted: halted, dispatch }) , [tableData, halted]); useEffect(() => { if (!halted) { const timer = setInterval(() => { dispatch({ type: INCREMENT_TIMER }); }, 1000); return () => { clearInterval(timer); } } }, [halted]); return ( <TableContext.Provider value={value}> <Form /> <div>{timer}</div> <Table /> <div>{result}</div> </TableContext.Provider> ); }; export default MineSearch;import React, { useContext, memo } from 'react'; import Tr from './Tr'; import { TableContext } from './MineSearch'; const Table = memo(() => { const { tableData } = useContext(TableContext); return ( <table> {Array(tableData.length).fill().map((tr, i) => <Tr key={i} rowIndex={i} />)} </table> ); }); export default Table;import React, { useContext, memo } from 'react'; import Td from './Td'; import { TableContext } from './MineSearch'; const Tr = ({ rowIndex }) => { const { tableData } = useContext(TableContext); return ( <tr> {tableData[0] && Array(tableData[0].length).fill().map((v, i) => <Td key={i} rowIndex={rowIndex} cellIndex={i} />)} </tr> ); }; export default Tr; import React, { useContext, useCallback, memo, useMemo } from 'react'; import { TableContext, CODE, OPEN_CELL, CLICK_MINE, FLAG_CELL, QUESTION_CELL, NORMALIZE_CELL } from './MineSearch'; // 중략 const Td = ({ rowIndex, cellIndex }) => { const { tableData, dispatch, halted } = useContext(TableContext); const onClickTd = useCallback(() => { if (halted) { return; } switch (tableData[rowIndex][cellIndex]) { case CODE.OPENED: case CODE.FLAG: case CODE.QUESTION: case CODE.FLAG_MINE: case CODE.QUESTION_MINE: return; case CODE.NORMAL: dispatch({ type: OPEN_CELL, row: rowIndex, cell: cellIndex }); return; case CODE.MINE: dispatch({ type: CLICK_MINE, row: rowIndex, cell: cellIndex }); return; default: return; } }, [tableData[rowIndex][cellIndex], halted]); const onRightClickTd = useCallback((e) => { e.preventDefault(); if (halted) { return; } switch (tableData[rowIndex][cellIndex]) { case CODE.NORMAL: case CODE.MINE: dispatch({ type: FLAG_CELL, row: rowIndex, cell: cellIndex }); return case CODE.FLAG: case CODE.FLAG_MINE: dispatch({ type: QUESTION_CELL, row: rowIndex, cell: cellIndex }); return; case CODE.QUESTION: case CODE.QUESTION_MINE: dispatch({ type: NORMALIZE_CELL, row: rowIndex, cell: cellIndex }); return; default: return; } }, [tableData[rowIndex][cellIndex], halted]); return ( <RealTd onClickTd={onClickTd} onRightClickTd={onRightClickTd} data={tableData[rowIndex][cellIndex]} /> ) }; const RealTd = memo(({ onClickTd, onRightClickTd, data }) => { console.log('RealTd rendered'); return ( <td onClick={onClickTd} onContextMenu={onRightClickTd} style={getTdStyle(data)} > {getTdText(data)}</td> ); }); export default Td;
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
네이티브 쿼리로 특정 값만 가져오기
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]네이티브 SQL 소개란에 String sql="select ID,AGE,TEAM_ID,NAME FROM MEMBER WHERE NAME='kim'";List<Member> resultList=em.createNativeQuery(sql,...으로 되어있는데 저희가 JPQL에서는 SELECT m.username,m.age 를 DTO로 활용해서 그 결과를 얻었지 않습니까?혹시 native query라서 되는지 확인해보았는데 Member member=new Member(); member.setUsername("lee"); member.setAge(25); Member member1=new Member(); member1.setUsername("kim"); member1.setAge(30); em.persist(member);em.persist(member1); List<Member> members=em.createNativeQuery("select USERNAME,AGE from MEMBER",Member.class).getResultList(); for (Member member2 : members) { System.out.println(member2.getAge()+member2.getUsername()); }Native QUery에 대한 예제가 잘 못된건가요??