묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
context 해석은 어떻게 해야하는건가요?
concrete 는 구현체라고 해석을 해서 이해를했는데 context 는 문맥 이라는 한글뜻이 와닿지가 않습니다. 어떻게 이해를 해야할까요?
-
미해결스프링 핵심 원리 - 고급편
템플릿메서드 포함 실제 개발 할 때 적용 위치
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 영한님 강의 전부 수강하고 있는 수강생 입니다. 실제로 개발 할 때는 보통 디렉토리 구조가 controller / service / repository / domain 으로 나누어져 있는데 실제 저런 패턴을 적용 해야 하는 위치 는 대두분 서비스단으로 생각이 됩니다. 그럼 하나의 서비스 클래스 파일에서 중복을 피하려고 템플릿메서드 패턴을 적용 할 때 추상클래스와 그 하위 오버라이딩 된 클래스들의 파일 위치를 해당 패턴을 사용하 는 서비스와 같은 위치에 둬야 할까요? 아니면 따로 디렉토리를 생성해서 모든 서비스의 패턴적용을 위한 클래스 들을 모아둬야 할까요? 사실상 어디에 둬도 실제 개발엔 문제가 없고 정답이 없는 얘 기라고 생각되나 영한님의 개인적인 견해가 궁금해서 여쭤봅 니다!
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
Axios로 API요청할때 url주소
아래 코드에서 url: `http://localhost:3000/restaurants?category=${param}`, 인데, 이 url은 어디서 확인 가능한걸까요? 제가 /restaurants이 부분을 다른 param으로 정한 것 같애서요! async function getData(category){ let param = category; if (!param) { param = ""; } const dataSet = await({ method: "get", url: `http://localhost:3000/restaurants?category=${param}`, headers:{}, data: {}, }); console.log(dataSet) }
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
Row 컴포넌트 생성하기 base_url not defined
안녕하세요 선생님 Row 컴포넌트 생성하기에서 base_url 을 가져오지 못한다는 에러가 나오는데 어떤게 문제인건가요 ? import React, { useEffect, useState } from 'react' import axios from "../api/axios" const Row = ({ title, fetchUrl, id, isLargeRow}) => { const [movies, setMovies] = useState([]) useEffect(()=> { fetchMovieData() },[]) const fetchMovieData = async ()=> { const request = await axios.get(fetchUrl) setMovies(request.data.results) } return ( <section> <h2>{title}</h2> <div className="slider"> <div className="slider__arrow-left"> <span className="arrow"> {"<"} </span> </div> <div id={id} className="row__posters" > {movies.map((movie) =>( <img key={movie.id} className={`row__poster ${isLargeRow && "row__posterLarge"}`} src={`${BASE_URL}${isLargeRow ? movie.poster_path : movie.backdrop_path}`} loading="lazy" alt={movie.name} /> ))} </div> <div className="slider__arrow-right"> <span className="arrow"> {">"} </span> </div> </div> </section> ) } export default Row
-
미해결그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법
코호트 vs 세그먼트
안녕하세요, 이 강의를 통해 그로스해킹을 배워나가고 있는 입문자입니다. 17분 즈음, GA에서 코호트에 세그먼트를 추가하는 내용이 나오는데, 혹시 코호트와 세그먼트의 차이는 무엇인가요? 검색해본 결과 코호트는 '특정 기간 및 공통된 이벤트로 구획되어 진다'고 나와있지만 이해가 잘 되지 않아 문의드립니다 !
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
조건부연산
이렇게 하면 Cannot execute LESS OR EQUAL TO from Expression "user.age <= 20". Left is "user.age", right is "20" (template: "basic/condition" - line 10, col 8) 왜 이런 오류가 나는 지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문드립니다.
수업 내용에있어서 제대로 이해했는지 질문드립니다. 이번 시간에 한 내용은 API를 사용할 때, json 형태로 오류 페이지를 보내야하기 때문에 if ("application/json".equals(acceptHeader)) { Map<String, Object> errorResult = new HashMap<>(); errorResult.put("ex", ex.getClass()); errorResult.put("message", ex.getMessage()); String result = objectMapper.writeValueAsString(errorResult); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); response.getWriter().write(result); return new ModelAndView();}다음과 같은 로직이 추가 된거라고 이해하면 된건가요?? 이전에 만들어둔 MyHandlerExceptionResolver는 html 형태의 오류 페이지만 반환이 가능한거라 json 형태로 오류 페이지를 반환하기 위해 새롭게UserHandlerExceptionResolver를 추가한건가요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
index.html
localhost:8080/ 으로 접속하면 현재 프로젝트의 index.html 화면을 보고싶은데 이전 프로젝트들의 index.html 화면이 나옵니다 ㅠㅠ 어떻게 해야하나요
-
미해결[2026 신규] 데이터분석 준전문가(ADsP) 자격증
영상이 잘못 올라간거 같습니다.
(5)과 동일한 영상이 재생 되네요.
-
해결됨배달앱 클론코딩 [with React Native]
네이버맵 onPress 미작동 관련
package.json "dependencies": { "patch-package": "^6.4.7", "react": "18.0.0", "react-native": "0.69.1", "react-native-nmap": "^0.0.66", }, npm 삭제 후 다시 설치하거나, gradle.build의 naver map의 사용 버전을 수정하면서 그동안 문제를 해결해왔는데, 간혹 앱을 다시 빌드할 때 문제가 재발생하여 문제 공유드립니다. 일단, 터미널이나 flipper에서는 특별한 에러가 띄어지지 않았지만, 안드로이드 logcat에서는 다음과 같이 에러가 뜹니다. E/unknown:ReactEventEmitter: Unhandled SoftException com.facebook.react.bridge.ReactNoCrashSoftException: Cannot find EventEmitter for receivedTouches: ReactTag[2131296490] UIManagerType[2] EventName[topTouchStart] at com.facebook.react.uimanager.events.ReactEventEmitter.receiveTouches(ReactEventEmitter.java:103) at com.facebook.react.uimanager.events.TouchEvent.dispatchModern(TouchEvent.java:192) at com.facebook.react.uimanager.events.EventDispatcherImpl$DispatchEventsRunnable.run(EventDispatcherImpl.java:370) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27) at android.os.Looper.loop(Looper.java:223) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228) 2021년도에도 같은 이슈로 깃헙에 있더라구요... https://github.com/QuadFlask/react-native-naver-map/issues/125 일단은 open된 이슈인 걸로 보여, 미해결 문제로 보이기는 하는데, 혹시 해결 되신분들 있으시면 답변 부탁드립니다(저도 근본적인 문제 해결되면 내용 공유하겠습니다).
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
안녕하세요 교수님 질문드리겠습니다!
1. figsize(22, 6)은 무엇을 의미하는지 궁금합니다! 2. 8:10 코드에서 for 문을보면 ncols의 range가 8이라 순회를 시작하게되면 axs[i].set_title(class_names[labels[i]]) 에서 classname의 label 수가 10인걸 모두 돌 수 없다고 생각하는데 밑에 출력에는 다 나오는것 같습니다. 어떻게 이게되는지 궁금합니다! 답변해주시면 감사하겠습니다 :)
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
앱 실행 방법
제 컴퓨터에서 강의 자료에 들어있는 앱을 실행해보고 싶은데 자꾸 오류가 뜨네요 어떤걸 바꿔야지 실행 가능할까요?? 일단 파이어베이스에 앱 등록은 마친 상태입니다. 오류 코드 밑에 첨부하겠습니다! Execution failed for task ':app:processDebugGoogleServices'.> File google-services.json is missing. The Google Services Plugin cannot function without it. Searched Location: C:\inflearn\project_data10\MySoleLife\app\src\debug\google-services.json C:\inflearn\project_data10\MySoleLife\app\src\google-services.json C:\inflearn\project_data10\MySoleLife\app\google-services.json * Try:Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Exception is:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugGoogleServices'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:200) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:198) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)Caused by: org.gradle.api.GradleException: File google-services.json is missing. The Google Services Plugin cannot function without it. Searched Location: C:\inflearn\project_data10\MySoleLife\app\src\debug\google-services.jsonC:\inflearn\project_data10\MySoleLife\app\src\google-services.jsonC:\inflearn\project_data10\MySoleLife\app\google-services.json at com.google.gms.googleservices.GoogleServicesTask.action(GoogleServicesTask.java:119) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:555) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:540) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:523) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:108) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:260) at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:34) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:34) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26) at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67) at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34) at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43) at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73) at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54) at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44) at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54) at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:42) at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159) at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72) at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24) at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92) at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28) at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:187) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
여기까지
session#3 까지는 어찌어찌 따라온것같은데 #4에서 어질어질 해졌습니다. 그냥 이해는 못하고 따라 치고 있습니다..ㅠ 이럴 때는 그냥 끝까지 듣고 복습하는게 좋을까요? 이금 복습하고(처음부터?) 이해하고 다음 수업을 듣는게 좋을까요?? (_ㅇ_)
-
미해결입문자를 위한 게임 프로그래머 개론
서버 프로그래머에 대한 질문이 있습니다
https://www.inflearn.com/questions/617657 서버 프로그래머로 신입 채용 되려면 스펙이 뒷받침 되어야 한다고 하셨는데 여기서 말씀하신 스펙이 무엇인지 궁금합니다! (포트폴리어, 학벌, 학력 등등이 있겠지만,,,,, 조금 자세히,,,(?) 알고 싶은 마음에 질문남겨봅니다!) 지금 대학교 2학년이고 서버 프로그래머를 목표로 공부하고 있고, 4학년 때 프로카데미 등록할 계획이여서 여쭙습니다 (혹시 스펙이 학교라면 세종대학교 소프트웨어학과인데 역시 힘든 길인가요? 1년 휴학후 편입에만 몰두하는 방법도 있는데 그 방법은 어떻게 생각하시나요..?)
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
포인터계산
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #include <iostream>using namespace std; int main(void){ int number = 1; int* ptr = &number; cout << &ptr << endl; cout << ptr << endl; cout << *ptr << endl; //*ptr += 1; //*ptr++; cout << *ptr << endl; }/* *ptr++;008D19AB mov eax,dword ptr [ptr]008D19AE add eax,4008D19B1 mov dword ptr [ptr],eax *ptr += 1;006419AB mov eax,dword ptr [ptr] 006419AE mov ecx,dword ptr [eax] 006419B0 add ecx,1 006419B3 mov edx,dword ptr [ptr] 006419B6 mov dword ptr [edx],ecx */ 궁금증이 생겨 여러 실험하면서, 어셈블리를 구경해봤습니다. ++, +=1 은 동일하게 1을 더할 때 사용한다고 배웠는데, 위와 같은 차이가 발생한 이유는 무엇인지 궁금합니다. (강의서 설명해주신 것처럼 1증가니까, 바구니 크기만큼 해서 4가 증가한 것으로는 이미 이해를 했습니다. ) (연산자 우선순위 상 문제가 있을 수도 있을 것으로 생각하여, 찾아봤습니다. *가 1순위, ++은 그 다음, +=은 제일 마지막이었습니다. 어떠한 경우든 *가 선이기 때문에 ++, += 의 영향은 없을 것이로 판단하였습니다. 이 생각에 오류가 있는지 궁금합니다.) 2. 저것의 결과는 *ptr++의 경우, -858993460이라는 수가 나왔는데, 이 이유를 잘 모르겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
busrefresh 에러
안녕하세요. postman으로 busrefresh 전송할때 에러나서 어떻게 해결할 수 있을지 질문 드립니다. 127.0.0.1:8000/actuator/busrefresh 혹은 127.0.0.1:8000/user-service/actuator/busrefresh 로 전송하면 500 Internal Server Error 로 응답 받으면서 "org.springframework.messaging.MessageHandlingException: error occurred in message handler [org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint@5c20f1e]; nested exception is org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect, failedMessage=GenericMessage [payload=byte[202], headers={id=673f43aa-6af0-73de-d386-1b08af6ed560, contentType=application/json, target-protocol=amqp, timestamp=1660318593074}]\r\n\tat org.springframework.integration.support.utils.IntegrationUtils.wrapInHandlingExceptionIfNecessary(IntegrationUtils.java:191)\r\n\tat org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:65)\r\n\tat org.springframework.cloud.stream.binder. 해당 에러메세지를 trace 값으로 내려받고 있습니다. user-service에서도 로그를 보면 Connection refused: connect 로그가 찍힙니다. application.yml에 management endpoint 부분에 busrefresh도 추가했습니다. 해당 설정에서 busrefresh를 제외한 다른 값들은 문제 없지 잘 작동하고 있습니다.
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
텔넷 접속안되요
사설 아이피, 공용 아이피 2개가 생성됐는데 디폴트는 공용 아이피로잡혀 있습니다 강의 대로 텔넷도 설치하고 포트도1521로 해서 연결 시도 하였으나 연결이 안되네요.. 그래서 서버 아이피로 해서 핑으로 찔러도 연결이 안되어 있습니다..ㅠㅠ
-
미해결앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해
DispatchQueue main 동작 방식
안녕하세요. 강의를 보다가 병렬큐에서의 동작 방식은 이해를 했지만 메인큐 즉 serial큐에서의 동작 원리가 정확하게 이해가 되지 않아서 질문을 남깁니다. 1. 메인스레드에서 main.async를 사용하게되면 현재 메인스레드에서 작업중인 태스크를 메인큐로 보냈다가 이걸 다시 메인스레드로 비동기로 할당한다는건데 동작 방식이 결국 후순위로 미룬다는 의미인거 같아서 조금 헷갈리네요.. 메인스레드에서 main.async를 사용한다는 것은 오래 걸리는 작업은 나중에 해~ 이런 의미로 사용하는걸까요? 이러한 동작방식은 defer를 사용하는 것과 유사해보입니다! 2. DispatchQueue.main.async { for i in 0..<20 { print(i) } } //2번 작업 for i in 60..<80 { print(i) } //3번 작업 DispatchQueue.main.async { for i in 20..<40 { print(i) } } //4번 작업 for i in 40..<60 { print(i) } 이러한 코드를 테스트 했을 때 동작 순서가 2 -> 1 -> 4 -> 3으로 예상을 했습니다. 그 이유는 1번 작업이 메인 큐로 갔을 때 다음 스레드가 진행되고 메인스레드에 2번 작업이 1번작업 뒤에 바로 할당된다고 생각을 했습니다. 하지만 동작 방식은 2 -> 4 -> 1- > 3으로 하는 것을 확인했습니다. 메인 스레드에서 비동기로 호출 했을 때 기존에 메인스레드에 있는 작업들의 동작 속도가 너무 빨라서 메인큐에서 메인스레드로 할당하기 전에 작업이 끝나서 그런건가라고 생각을 하고 sleep을 줘도 순서는 동일했습니다. 다음과 같이 main스레드에서 비동기를 처리하게 되면 파일에 선언된 코드들이 다 순차적으로 실행되고 나중에 비동기로 넘긴 태스크들이 메인스레드에 할당되는 것인지도 궁금합니다. 3. URLSession은 비동기적으로 작동하는 것으로 알고있는데 이것 또한 메인스레드에서 동작하고 있는 것이 맞나요? 혹시 제가 이해한 개념 중 오개념이 있다면 말씀해주시면 감사하겠습니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
WebConfig에서 등록하는건 항상 글로벌로 적용되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]WebConfig에서 등록하는 fomatter는 항상 글로벌로 적용되나요? 특정 Controller class에만 적용되게 하거나, Annotation 기반 formatter처럼 특정 method에만 적용되게 할 순 없는건가요?
-
미해결풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
update가안되네요...뭐가문제인지..
중간에 영상이 씹혀서그런지... 댓글보고 수정해도 update가안되네요.. 진짜 한 10번은 돌려본것같은데.... 깃허브가도 브랜치도없고.. 완성된거밖에...... 일단 요렇게 add하면 정상으로 작동하여 담깁니다. update하면 이렇게뜨는데... 반환값이이상하여 핸들러를 암~~만 쳐봣는데 .... 도저희 못찾겟네요,.. github 주소첨부합니다...제발도와주십시요.... https://github.com/MaJunghan/ViteReactQuery invalidQueries로 update치면 잘되긴합니다..