학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의에서 order 테이블을 조회하면 id값이 4, 11로 나오는데 저는 1, 2로 나옵니다. 아무리 생각해봐도 4, 11로 나올 이유가 없어보이는데 왜 4,11로 나오는지 궁금합니다
리슨 서버 환경이라고 가정했을 때, 해당 액터(캐릭터, 폰, 플레이어컨트롤러 등) 가 서버 소유인지 클라 소유인지, 지금 local controlled 인지 구별하기 위해서 제공하는 노드가 이렇게 되어 있는 것 같은데요. 액터 역할은 로컬역할과 리모트 역할이 있고 종류는 Authority/autonomous/Simulated 가 있죠? 근데 저 사진에서 Authority와 Remote 라는 것은 무엇을 의미하는 것인가요???? (역할의 구별과 종류가 혼용되어 있어 이해가 어렵습니다....) 제가 이해하기로는 모든 액터는 서버에서 Authority 이기 때문에 네트워크가 서버일 경우 로컬역할/리모트 역할 구별없이 무조건 Authority 핀이 실행될 거 같고, Remote가 실행되는 경우는 현재 네트워크가 클라이언트이며 로컬역할이 autonomous 일때만 실행될 거 같은데 맞나요?? 그렇다면 네트워크가 클라이언트이고 로컬역할이 simulated일 때만 실행되게하는 것은 어떻게 해야 하나요?? Switch Has Authority 노드의 정확한 동작 이해가 필요합니다....
아래 질문한 사람입니다. ^^ 답변 감사드립니다. 추가적으로 ctrl k + o 개요 번호모양 없음 지정하는 방법과 스타일의 커서 위치로 스타일 바꾸기가 가능할까요!? 요렇게 해봤는데 제가 바꾸고자 하는 스타일을 지정하는 방법을 모르겠습니다. ㅠ hwp.open(hwpx_file, arg="suspendpassword:false; forceopen:true; versionwarning:false") print('---------------------') print(hwp.find(src=contents[1], direction='AllDoc'), hwp.current_page) print('---------------------') print(hwp.find(src=contents[1], direction='AllDoc'), hwp.current_page) print('---------------------') #hwp.HAction.Run("StyleShortcut3") hwp.hwp.HAction.GetDefault("StyleChangeToCurrentShape", hwp.hwp.HParameterSet.HStyleItem.HSet) hwp.hwp.HAction.Execute("StyleChangeToCurrentShape", hwp.hwp.HParameterSet.HStyleItem.HSet)
yarn add --dev husky 명령어를 사용후, npx husky install 명령어를 사용했는데 husky - install command is DEPRECATED 라는 오류가 계속해서 발생합니다. .git도 생성되어 있는데 어떻게 해결해야할지 모르겠어서 질문합니다
안녕하세요. 강사님 05:00 분에 WAR를 설명하십니다. WAR : 정적리소스(HTML) + 클래스파일 이라고 설명하십니다. JAR 도 WAR와 마찬가지로 위와같이 HTML, 클래스파일을 갖을 텐데요. 강사님께서는 HTML을 WAR설명때만 언급을 하십니다. WAR 와 JAR가 갖는 파일들에 대해 차이점을 구별하지 못하고 있습니다. 단순 내부구조가 복잡하거나 단순한 걸로 구별을 해야할까요?
퀘스트 시스템에 같은 코드네임의 퀘스트의 누적 클리어 횟수를 넣어주려고 하는데 어떻게 해야할까요 저장할때 가져오는 퀘스트는 클론이라 퀘스트에 정수 변수를 만든다음 추가하는 방식이 불가능하고 퀘스트가 저장될때마다 private JArray CreateSaveDatas(IReadOnlyList<Quest> quests, string key) { // 기존 데이터 로드 JArray saveDatas = LoadExistingSaveData(key); // 기존 세이브 파일에서 JArray 로드 foreach (var quest in quests) { Debug.Log("before " + quest); if (quest.IsSaveable) { Debug.Log("after " +quest); QuestSaveData saveData = quest.ToSaveData(); // 기존 데이터에서 같은 codeName 찾기 var existingData = saveDatas.FirstOrDefault(item => item["codeName"]?.ToString() == saveData.codeName); // 누적 퀘스트 카운트 계산 saveData.questClearCount = GetQuestClearCount(saveDatas, quest.CodeName); if (existingData != null) { saveData.questClearCount++; // 기존 데이터 갱신 existingData["questClearCount"] = saveData.questClearCount; } else { // 새 데이터 추가 Debug.Log("처음"); saveDatas.Add(JObject.FromObject(saveData)); } // 현재 퀘스트의 카운트 업데이트 quest.questClearCount = saveData.questClearCount; } } return saveDatas; } private JArray LoadExistingSaveData(string key) { if (File.Exists(saveFilePath)) { // 파일에서 JSON 데이터를 읽어옵니다. string jsonString = File.ReadAllText(saveFilePath); var root = JObject.Parse(jsonString); // 저장된 특정 경로 데이터(JArray)를 반환 if (root[key] != null) { return (JArray)root[key]; } } // 기존 파일이 없거나 해당 키가 없으면 빈 JArray 반환 return new JArray(); } private int GetQuestClearCount(JArray saveDatas, string codeName) { // JArray에서 해당 codeName을 가진 항목 찾기 var questData = saveDatas.FirstOrDefault(item => item["codeName"]?.ToString() == codeName); // 항목이 존재하고 "questClearCount"가 있을 경우 반환 if (questData != null && questData["questClearCount"] != null) { return (int)questData["questClearCount"]; } // 항목이 없거나 "questClearCount"가 없는 경우 기본값 반환 Debug.LogWarning($"Quest with codeName '{codeName}' not found or questClearCount is missing."); return 0; }기존의 세이브파일에서 참조해서 추가하는 방식으로는 다른요소로 저장할때마다도 추가가 됩니다. 계속 어떻게 수정해야할지 고민중이긴한데 어떻게 해야할지 모르겠습니다. 저장할 퀘스트의 id를 퀘스트DB에 있는 id와 비교해서 원본 퀘스트를 찾은 다음 그 퀘스트를 가져와서 원본 퀘스트의 변수를 수정해주는 방식이 좋을까요
npm install 후, 빌드를 하려고하면 다음과 같은 오류가 뜹니다. > Task :app:configureCMakeDebug[arm64-v8a] FAILED C/C++: CMake Error at C:/practice1/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:42 (add_library): C/C++: Syntax error in cmake code when parsing string C/C++: C:\practice1\node_modules\react-native\ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp C/C++: Invalid character escape '\p'. C/C++: Call Stack (most recent call first): C/C++: CMakeLists.txt:31 (include) 경로 구분 문제인건 알곘는데 Globs.cmake에서 수정을 아무리해도 실행을 하면 다시 원래대로 돌아가요. 뭐가문제일까요?
안녕하세요 비슷한 이유로 queryDSL 에서 불편함을 가지고 있어 jOOQ 에 관심이 생겼습니다. 마침 이렇게 좋은 강의 만들어주셔서 정말 감사합니다. 다름이 아니라 kotlin 을 주로 사용해서 kotlin 으로 jOOQ 사용시 컴파일 단계에서 힙메모리 부족 현상이 생기는데 혹시 kotlin 으로 힙메모리 부족 현상을 겪으신 적 있으신가요 만약 있으시면 해결하신 지혜를 얻고 싶어 글 남깁니다 gradle 설정은 아래와 같이 했습니다 해결과정 동안 힙메모리 설정 추가하여 늘려봐도 메모리 부족 현상이 발생하네요 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile val jooqVersion: String by extra("3.19.5") plugins { kotlin("jvm") version "1.9.25" kotlin("plugin.spring") version "1.9.25" id("org.springframework.boot") version "3.4.0" id("io.spring.dependency-management") version "1.1.6" id("nu.studer.jooq") version "9.0" } group = "com.example" version = "0.0.1-SNAPSHOT" java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-jooq"){ exclude(group = "org.jooq", module = "jooq") } implementation("org.jooq:jooq:$jooqVersion") // jOOQ implementation(project(":jOOQ-custom")) jooqGenerator (project(":jOOQ-custom")) jooqGenerator("org.jooq:jooq:$jooqVersion") jooqGenerator("org.jooq:jooq-meta:$jooqVersion") implementation("org.jetbrains.kotlin:kotlin-reflect") runtimeOnly("com.mysql:mysql-connector-j") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testRuntimeOnly("org.junit.platform:junit-platform-launcher") } kotlin { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") } } tasks.withType<Test> { useJUnitPlatform() } val dbUser: String = System.getProperty("db-user") ?: "root" val dbPassword: String = System.getProperty("db-password") ?: "passwd" jooq { version.set(jooqVersion) configurations { create("sakilaDB") { generateSchemaSourceOnCompilation.set(true) jooqConfiguration.apply { logging = org.jooq.meta.jaxb.Logging.WARN jdbc.apply { driver = "com.mysql.cj.jdbc.Driver" url = System.getenv("DB_URL") ?: "jdbc:mysql://localhost:3306/sakila" user = dbUser password = dbPassword } generator.apply { name = "org.jooq.codegen.KotlinGenerator" database.apply { name = "org.jooq.meta.mysql.MySQLDatabase" excludes = "sys" } generate.apply { isDaos = true isRecords = true isFluentSetters = true isJavaTimeTypes = true isDeprecated = false } target.apply { directory = "src/generated" } strategy.name = "com.example.jooq.custom.generator.JPrefixGeneratorStrategy" } } } } } sourceSets { main { java { srcDirs("src/main/kotlin", "src/generated") } } }
제가 만든 UnrealMemory 이름의 프로젝트에 있는 여러 소스파일들을 UnrealMemory2 라는 이름의 새로운 언리얼엔진 프로젝트를 만들어 해당 소스폴더에 붙여넣은 후, UNREALMEMORY2_API로 전부 바꾸고 UnrealMemory2 프로젝트를 개별 빌드하면 아래와 같이 오류없이 빌드가 성공하나, (12>Unhandled exception: System.IO .IOException: The process cannot access the file 'F:\LeeProject\UnrealMemory2\Intermediate\Build\Win64\x64\UnrealGame\DebugGame\UnrealMemory2\MyGameInstance.cpp.obj.rsp' because it is being used by another process. 12> at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 664 ========== 모두 다시 빌드: 12 성공, 0 실패, 0 건너뛰기 ==========) , 그 후 ctrl+shift+space 를 누르면 다음과 에러가 뜹니다. 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 MSB3073 ""C:\Program Files\Epic Games\UE_5.4\Engine\Build\BatchFiles\Build.bat" UnrealMemory2 Win64 DebugGame -Project="F:\LeeProject\UnrealMemory2\UnrealMemory2.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 9). UnrealMemory2 C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 44 그리고 에디터가 실행되는지 테스트해보기 위해 f5 를 누르면, 콘솔창이 뜨고 다음과 같은 내용이 출력됩니다. Global options: -Help : Display this help. -Verbose : Increase output verbosity -VeryVerbose : Increase output verbosity more -Log : Specify a log file location instead of the default Engine/Programs/UnrealBuildTool/Log.txt -TraceWrites : Trace writes requested to the specified file -Timestamps : Include timestamps in the log -FromMsBuild : Format messages for msbuild -SuppressSDKWarnings : Missing SDKs error verbosity level will be reduced from warning to log -Progress : Write progress messages in a format that can be parsed by other programs -NoMutex : Allow more than one instance of the program to run at once -WaitMutex : Wait for another instance to finish and then start, rather than aborting immediately -RemoteIni : Remote tool ini directory -Mode= : Select tool mode. One of the following (default tool mode is "Build"): AggregateClangTimingInfo, AggregateParsedTimingInfo, Analyze, ApplePostBuildSync, Build, ClRepro, Clean, Deploy, Execute, FixIncludePaths, GenerateClangDatabase, GenerateProjectFiles, IOSPostBuildSync, IWYU, InlineGeneratedCpps, JsonExport, PVSGather, ParseMsvcTimingInfo, PipInstall, PrintBuildGraphInfo, ProfileUnitySizes, Query, QueryTargets, Server, SetupPlatforms, Test, UnrealHeaderTool, ValidatePlatforms, WriteDocumentation, WriteMetadata -Clean : Clean build products. Equivalent to -Mode=Clean -ProjectFiles : Generate project files based on IDE preference. Equivalent to -Mode=GenerateProjectFiles -ProjectFileFormat= : Generate project files in specified format. May be used multiple times. -Makefile : Generate Linux Makefile -CMakefile : Generate project files for CMake -QMakefile : Generate project files for QMake -KDevelopfile : Generate project files for KDevelop -CodeliteFiles : Generate project files for Codelite -XCodeProjectFiles : Generate project files for XCode -EddieProjectFiles : Generate project files for Eddie -VSCode : Generate project files for Visual Studio Code -VSMac : Generate project files for Visual Studio Mac -CLion : Generate project files for CLion -Rider : Generate project files for Rider C:\Program Files\Epic Games\UE_5.4\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe(프로세스 17220)이(가) 1 코드(0x1)와 함께 종료되었습니다. 디버깅이 중지될 때 콘솔을 자동으로 닫으려면 [도구] -> [옵션] -> [디버깅] > [디버깅이 중지되면 자동으로 콘솔 닫기]를 사 용하도록 설정합니다. 이 창을 닫으려면 아무 키나 누르세요... binaries 와 save, derivedcaches, intermediate 폴더를 삭제하고 시도하였으며, .uproject로 generate Vs project files 를 실행해도 동일하게 콘솔창이 뜨게 됩니다. 정상적으로 에디터를 실행하기 위해선 어떤 방법이 필요한지 알고싶습니다.
싱글톤을 정적멤버로 생성하는 경우 싱글톤 인스턴스가 필요없는 경우도 무조건 싱글톤 클래스를 호출해 인스턴스를 만들어서 자원낭비가 일어날 수 있다고 배웠습니다 그런데 제가 좀 더 알아보니 클래스 로딩은 클래스를 실제로 사용하기 전까지는 로딩을 하지 않는다고 하더라고요 대신 정적 멤버 중 하나만 불러오더라도 다 불러와진다는 것을 알게됐습니다. 실제로 싱글톤 클래스를 사용하기 전까지 초기화가 되지 않는다는 점과 싱글톤 클래스를 사용하면 싱글톤을 생성하기 위해 사용할 확률이 높기 때문에 자원낭비가 되지 않을 것 같다고 생각했습니다 이 부분이 좀 헤갈리는 것 같아서 질문올립니다!
탐색 보고서에서 페이지 위치로 필터링을 한 후 새 사용자수, 재방문자 수, 참여시간등의 값을 구했을 때 정확히 어떤 기준으로 필터링 되는지 궁금합니다. 예를 들어 새 사용자수의 경우, A 페이지로 필터링을 하면 아래 중 어떤 것이 정확한지 궁금합니다. 서비스의 새 사용자 중 A 페이지를 방문한 적이 있는 사용자 A 페이지를 처음 방문한 사용자 (서비스의 새 사용자일수도, 재방문자일수도 있음) 참여시간도 마찬가지로 아래 중 어떤 것인지 궁금합니다 A 페이지에 방문한 적이 있는 사용자의 서비스 전체 참여시간의 평균 A 페이지에서의 참여시간의 평균
수업 잘 듣고 있습니다. GrideLayout에서 btn3에서 layout.addWidget(btn3, 1, 0, 1, 2) 라고 되어 있는데 왜 1, 2인가요? 1, 1은 없이 바로 1,2로 넘어가는게 이해가 잘 안됩니다. [1, 0] [1, 1] [1, 2] 이렇게 그리드가 형성되는 거 아닌가요?