묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
LING #1 에서.. 서버 GC문제
요즘도 여전히 LINQ는 GC문제를 야기할 가능성이 있어 UNITY에서는 피하는 편입니다. 서버의 경우 GC를 끄고 점검때 재부팅하는식으로 뭐 좀 쌓이든 비효율적이든 대충 뭉개고 갔었었고요. 유니티는 뭐 저사양 기기도 생각해야 하니 여전히 저럴 것이고서버에서 최신 사양의 C# 버전을 택했을때 LINQ가 메모리 문제를 야기할 가능성은 없나요... 음...애초에 저런거 일일이 잡느니 램증설각이 보이긴 하네요
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드립니다.
Map과 for문으로 풀이를 했는데, 코드리뷰 부탁드립니다. function solution(arr) { let sumSet = new Map(); for (let i = 0; i < arr.length; i++) { let sum = 0; for (let j = 0; j < String(arr[i]).length; j++) { sum += Number(String(arr[i])[j]); } sumSet.set(arr[i], sum); } let maxVal = 0; let maxKey = 0; for (const [key, value] of sumSet) { if (value > maxVal) { maxKey = key; maxVal = value; } else if (value === maxVal) { if (key > maxKey) { maxKey = key; maxVal = value; } } } return maxVal; } console.log(solution([128, 460, 603, 40, 521, 137, 123]));
-
미해결실전! 스프링 데이터 JPA
Controller에서 Repository 참조
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. 잘 보고 있습니다.컨트롤러에서 Repository에 바로 의존성이 있는 방식으로 사용하는 예제를 알려주셨는데 간단한 예시를 들어주시느라 사용하신 패턴이신가요? 아니면 어차피 페이징 기능은 레포지토리 단의 간단한 메서드로 충분히 수행되므로 서비스 레이어를 통한 매핑이 불필요해서 그러신건가요??
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
강의 내용과는 상관없지만 강의에 사용하는 PC 사양 알 수 있을까요??
PC가 오래돼서 그런지 느린것 같아서 새로 구입하려고 하는데,강의에서 사용하는 PC사양이 어느 정도인지 궁금해서 질문 남깁니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코랩에서 코딩 자동 입력 해제
이렇게 자동으로 코딩이 되는거 없앨 수 없나요?직접 혼자서 적어보려는데 자동입력이 되어 공부가 잘안되는거같습니다..
-
미해결실전! Querydsl
fetchjoin 미적용 쿼리
@PersistenceUnit EntityManagerFactory emf; @Test public void fetchJoinNo() { em.flush(); em.clear(); Member findMember = queryFactory.selectFrom(member).where(member.name.eq("kim")).fetchOne(); boolean loaded = emf.getPersistenceUnitUtil().isLoaded(findMember.getCart()); assertThat(loaded).as("패치조인미적용").isFalse(); } // select // m1_0.member_id, // m1_0.city, // m1_0.street, // m1_0.zipcode, // m1_0.cart_id, // m1_0.member_login_id, // m1_0.member_login_pw, // m1_0.name // from // member m1_0 // where // m1_0.name=? // -> 분명히 fetch join 미적용인데 select 절에 연관 entity 가 같이 조회되는 이유를 모르겠습니다. 현재 Cart 엔티티는 member 와 @OneToOne 관계이고 @FetchJoin.LAZY 로 설정되어 있습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
잔차 제곱합 구하는 문제
시험에서 단순선형회귀든 다중선형회귀든잔차 구할 때, model.resid 구하는 함수로 구해도 되나요?(단순선형회귀 강의에서 잔차를 실제값에서 예측값빼는식으로 구하지 않고)
-
미해결배달앱 클론코딩 [with React Native]
wifi 환경에서 axios 통신이 로컬서버에서 안됩니다.
안녕하세요 강사님 강사님의 리액트 네이티브 강의를 보면서직접 자신만의 리액트 네이티브 프로젝트도 직접 다뤄보면서 하고 있는 학생입니다.https://github.com/Dongrang072/carPoolTeamProject-server이게 로컬 서버의 코드이고 https://github.com/Dongrang072/carpoolTeamProject이게 프론트의 코드입니다 axios 통신에 현재 문제가 있습니다.동일한 코드인데도 wi-fi로 인터넷이 연결되는 노트북의 환경에서는 http:10.0.0.2로 접속이 안되고,로그캣을 보니 두 요청이 확연하게 달랐는데모든 api를 axios로 요청 시에 와이파이 환경에서만 되질 않았습니다 이건 랜선에서 연결된 pc에서 로컬 서버와 통신 시 요청에서 성공했을 때의 로그캣 로그이고 이건 와이파이 환경의 노트북에서 로컬 서버와 통신했을 시에 생기는 로그캣 로그입니다 혹시나 해서 프로젝트 루트 폴더의 androidManifestxml의 파일에 누락된게 있나 봤는데 <manifest xmlns:android="http://schemas.android.com/apk/res/android"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/> <application android:usesCleartextTraffic="true" android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:theme="@style/AppTheme" > <!-- Google Maps API Key --> <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/GOOGLE_MAPS_API_KEY"/> <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest> 이상은 없는 것 같습니다....혹시 방화벽의 문제인가요? 노트북으로 실행시에 직접 ipConfig로 내부 ip(ip4)를 이용해서 api를 호출해봤는데도 여전히 network 오류가 뜹니다 LOG Verification code response: <HTML> <HEAD> <TITLE>GiGA WiFi home</TITLE> <LINK REL="shortcut icon" HREF="icon.ico" TYPE="image/x-icon"> <LINK REL="icon" HREF="icon.ico" TYPE="image/x-icon"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script language='JavaScript' type='text/javascript' src='/script/jquery.js?version=Aug252023180743'></script> <script language='JavaScript' type='text/javascript' src='/script/jquery-migrate-1.2.1.min.js?version=Aug252023180743'></script> <script language='JavaScript' type='text/javascript' src='/script/mcr_common_new.js?version=Aug252023180743'></script> <script language='JavaScript' type='text/javascript' src='/script/mcr_common.js?version=Aug252023180743'></script> <script language='JavaScript' type='text/javascript' src='/script/mcr_common_kt.js?version=Aug252023180743'></script> <script language='JavaScript' type='text/javascript' src='/script/mcr_jq_util.js?version=Aug252023180743'></script> <style type="text/css"> <!-- a { font-style:normal; font-weight:normal; text-decoration:none; } body { margin-left: 10px; margin-top: 10px; margin-right: 10px; margin-bottom: 10px; background-color: #ffffff; } .table { border-top-width: 2px; border-top-style: solid; border-top-color: #333333; } .font100 { FONT-FAMILY: "돋움", "arial"; FONT-SIZE: 14px; LINE-HEIGHT: 14pt; COLOR: #000000 } .font101 { FONT-FAMILY: "돋움", "arial"; FONT-SIZE: 12px; LINE-HEIGHT: 12pt; COLOR: #666666 } --> </style> <script language="JavaScript" type="text/javascript" src="/script/jquery.js"></script> <script language="JavaScript" type="text/javascript" src="/script/captcha.js?version=Aug252023180743"></script> <script type="text/javascript" src="/lang/b28n.js"></script> <script type="text/javascript"> Butterlate.setTextDomain("main"); redirectTopWindow(); var UserPrivilege = getUserPrivilege(); var Privilege = parseInt(UserPrivilege, 10); function redirectTopWindow(){ if( top != self ){ var URL = "http://" + window.location.host; top.location.replace(URL); } } var captcha; function CheckAll() { if("8899" == window.location.port){ if( captcha.validate( $("input[name='captchatext']").val() ) == true ){ if(document.Login.UserID.value == "") { alert("사용자ID를 확인해 주세요."); document.Login.UserID.focus(); return false; } if(document.Login.Password.value == "") { alert("비밀번호를 확인해 주세요."); document.Login.Passw직접적으로 front내의 src 파일의 api/auth.ts 내의 이메일 post 관련 함수를 const sendVerificationCode = async (email: string): Promise<string> => { try { console.log('Sending verification code request:', email); const response = await axiosInstance.post("http://10.0.0.2/mail/send-code", { email: email.trim() // 이메일을 서버에 전달 }); console.log('Verification code response:', response.data); return response.data; // 반환된 인증 코드 반환 } catch (error: any) { console.error('Verification code error:', { email, error: error.message, response: error.response?.data }); throw new Error( error.response?.data?.message || '인증 코드 전송에 실패했습니다.' ); } }; http://10.0.0.2를 명시했더니 res data를 console.log로 찍으니 이렇게 나왔습니다 json으로 받아야 하는데 왜 res가 html 형식으로 받아진건지 모르겠습니다 덤으로 smtp로 설정했던이메일 인증 코드는 실제 이메일에 오지 않은 상태입니다. html 로그 관련은 인프런에서 질문 글에 1만자 이하로 제한되어있어서 어느정도 삭제했습니다
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
Next.js SSR 방식에 대해 질문 드립니다.
안녕하세요 강의 잘 듣고 있습니다. SSR 의 동작방식에 대해 문의 드립니다. 1) 프로젝트에 초기 접속할때는 '/' 페이지에 대한 HTML 반환 후 js bundle 반환 => 하이드레이션 2) '/search' 로 이동하면 '/search' 페이지에 대한 HTML 반환 후 캐싱된 js bundle 과 결합하여 하이드레이션저는 대충 위 과정으로 이해하고 있었는데, 페이지에 따라 js bundle을 추가로 요청하는 경우도 있다고 해서 헷갈리는 것 같습니다. 초기 접속과 이후 새로운 페이지를 요청할때 HTML 응답과 js bundle 응답이 어떤식으로 동작하는지 설명 부탁 드립니다!
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
c++파일의 삭제에 관하여 질문드립니다.
안녕하세요. 교수님 파일명 변경에 관하여 질문드리고 싶습니다. Character를 만들때 이름을 MyABCharacter로 잘못지은 바람에, MyABCharacter를 ABCharacter로 수정하고 싶어 visual studio에서 삭제를 했습니다. 그러나 언리얼 에디터의 C++ classes에서는 MyABCharacter가 사라지고 있지 않아 질문드립니다. 어떻게 해야할까요? 추가적으로 이런 상황에서 파일의 이름을 변경하고 싶을때는 어떻게 해야하는지 질문드립니다. 에디터에서 auto로 제공하고 있는 기능이 있는지 궁금합니다.
-
미해결리눅스 IPC 프로그래밍 - 이론과 실습
POSIX named semaphore 자원이 제대로 해지되지 못한 상태로 프로세스가 종료됐을 때 해당 semaphore 재사용 방법
안녕하세요. 커리어를 위해 해당 업무를 수강하는 개린이(개발자 어린이)입니다.구현 중 해결되지 못한 사항이 있어 질문 남깁니다.현재 구현하고 있는 상황은 두 개의 프로세스(A.exe, B.exe)가 임계영역에 접근하기 위해 posix named semaphore를 사용해 동시성을 지키고 있는 예제를 만들었습니다. named semaphore를 1개 만들어 두 개의 프로세스에 번갈아 소유권을 넘겨 임계영역에 접근하는 예제입니다. 따라서 두 프로세스의 코드는 동일합니다. 같은 이름으로 만들어진 named semaphore가 있다면 EEXIST 에러를 조건문으로 걸어 이미 생성된 named semaphore를 사용하도록 예외처리를 해놓은 상태입니다.여기서 하나의 프로세스(B.exe)가 named semaphore의 소유권을 가지고 있던 상태에서 갑작스러운 상황에 비정상적으로 종료된다면, 즉 named semaphore의 자원을 정상적으로 sem_post(sem) 하지 못한 상태에서 프로세스가 종료되는 상황에서 다시 해당 프로세스를 동작시켰을 때, 기존에 사용됐던 named semaphore가 정상 동작하지 않는 것을 확인했습니다. 제가 생각했을 땐 비정상적으로 프로세스가 종료되면서 메모리 어딘가에 해당 named semaphore 주소값이 있고 그 주소값을 가져오지 못해 생기는 메모리 낭비의 영역인 것 같습니다.이런 경우에, 프로세스가 비정상적으로 종료된 경우에 같은이름으로 선언된 naemd semaphore를 재사용하는 방법이나 예외처리나 파라미터 flag 값들이 있다면 지식을 나눠주시면 감사하겠습니다.
-
해결됨Readable Code: 읽기 좋은 코드를 작성하는 사고법
강의 배운 거를 프로젝트에 적용하고 있는데 궁금한 게 있어요!
public class MetricService { // 생략 private Map<String, Double> parseNetworkUsage(String line) { Map<String, Double> networkUsageMap = new HashMap<>(); Matcher matcher = NETWORK_PATTERN.matcher(line); if (matcher.find()) { String[] parts = line.split("\\s+"); if (parts.length >= 10) { long receivedBytes = parseLongSafely(parts[RECEIVED_BYTES_INDEX]); // 수신된 바이트 long transmittedBytes = parseLongSafely(parts[TRANSMITTED_BYTES_INDEX]); // 송신된 바이트 networkUsageMap.put(METRIC_MAP_NETWORK_REC, convertBytesToMB(receivedBytes)); networkUsageMap.put(METRIC_MAP_NETWORK_SENT, convertBytesToMB(transmittedBytes)); } } return networkUsageMap; } private double convertBytesToMB(long bytes) { return bytes / BYTES_TO_MB_DIVISOR; } private long parseLongSafely(String value) { try { return Long.parseLong(value); } catch (NumberFormatException e) { return 0L; } } }위는 MetricService 클래스고, 여기에 명령어 결과값을 파라미터로 받아서 네트워크 사용량을 파싱하는 parseNetworkUsage()가 있어요. 그리고 가독성을 위해 추출한 유틸성 메서드인 convertBytesToMB과 parseLongSafely 메서드가 있습니다. 제가 궁금한 거는 convertBytesToMB, parseLongSafely와 같은 유틸성 메서드는 MetricService 클래스 안에 둬야할지 아니면 무조건 유틸 클래스로 빼야하는지 궁금합니다! 재활용이 여러 번 되면 뺄 거 같은데.. 단 한 번만 사용이 되서 유틸 클래스로 빼기도 애매하고, 그렇다고 MetricService 클래스와는 관심사가 다르다고 생각해서 여기둬도 괜찮을까라는 생각이 자꾸 드네요.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
GameFeatureAction_AddInput #1 강의를 수강한 후 궁금한 점이 생겼습니다.
안녕하세요 언제나 좋은 배움의 기회를 제공해주셔서 감사드립니다.특히 지금 수강하고 있는 Lyra 클론 코딩을 통해 모범적이고 체계적인 언리얼 엔진 코드 구조를 배울 수 있어 너무 기쁩니다.GameFeatureAction_AddInput #1 를 수강한 후에 제 나름대로 엔진 Subsystem을 사용하는 이유를 아래와 같이 정리하였습니다.혹시 틀린 부분이 있는지 궁금합니다. 첫번째로, GameFeature 플러그인 별로 생성된 GameFeatureSubsystem이 자신의 플러그인의 Action을 활성화하는데GameFeature 플러그인끼리의 전환이 빈번한 상황에서 이전에 사용한 플러그인이 비활성화되면 해당 플러그인의 SubSystem도 비활성화되고 Action 역시 비활성화된다.이런 경우에 FGameFeatureActivatingContext는 비활성화된 Action을 참조하게 되므로 문제가 발생한다.두번째로, FGameFeatureActivatingContext는 플러그인마다 존재하므로 모든 플러그인에 대해 바인딩을 할 수 없으므로 EngineSubsystem의 Context를 사용하는 것이 합리적이다. 위와 같이 정리하였는데 틀린 부분이 있는지 알고 싶습니다.다시한번 언제나 좋은 배움의 기회를 제공해주셔서 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
만약 할인 정책 변경 시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.7분쯤부터 말씀해주신 객체 지향 설계가 잘 돼있다라는 말이 만약 할인 정책이 정률로 바뀌는 경우 RateDiscountPolicy라는 구현체를 구현해서 OrderService에서 생성하기만 하면 다른 것들을 바꿀 필요가 없다는 말씀이신가요?? 제가 이해한게 맞는지 궁금해요
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
ConstructorHelpers에서 찾고자 하는 것이 오브젝트인지, 클래스인지 보는 방법이 있나요??
안녕하세요, 생성자도우미에서 경로로 애셋을 찾을 때, 오브젝트인지 클래스인지 구별하는 어떻게 확인하는지 궁금합니다. 임의로 타입정보 같아서, 위 정보를 참조 해 왔는데 Object로 가져와 지는걸 보니 아닌 것 같습니다. 감사합니다.
-
미해결
val의 기능
자바 18강 산술연산자 듣고 있습니다.val는 왜 쓰는 건가요??int val이 뭔지 궁금합니다 선생님
-
미해결Flutter 초급 - Http통신, 상태관리
ListenableBuilder가 안되요..material import 했는데도 자동완성이 안뜨고 빨간줄이 뜨네요 ..
왜그럴까요 ..??
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
theme useMaterial3 적용 안됨.
로그인 화면 구성하기 강의에서theme useMaterial3 true로 동일 코드 적용해도컬러가 안바뀝니다.코드 위치를 변경 해 봐도 잘 안되는데, 코드 어떻게 수정하면 동일한 색상 테마로 적용될까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
skeleton UI 적용 시점
안녕하세요 현재 6.4)스켈레톤 UI 적용하기 강의를 듣고나서 궁금한점이 있어 질문 남깁니다. 서버쪽 데이터요청이 오래 걸리는 경우 Suspense를 통해 Skeleton UI를 보여주고 이후 데이터가 적용 된 컴포넌트를 보여주는거로 알고 있습니다.그래서 사용자경험이 조금 오를 것 같긴한데, 만약 데이터 요청이 빠른 경우(0.5초만에 데이터처리가 이뤄진 경우)에는 오히려 UX 관점에서 불편하지 않을까 싶어서 이럴땐 어떻게 처리하는게 좋을 지 질문 남깁니다!예시) 책 검색 -> 책 리스트의 skeleton UI 가 잠깐 보였다가(0.5초 등장) -> 책 리스트 나타남 (이와 같은 과정이 이뤄지면 오히려 사용자 경험이 떨어지지 않을까 싶어 궁금합니다)
-
미해결
재생속도 이제 소수점 단위로 못하나요?
어제까지만 해도 0.9배속으로 시청 가능했는데 2배,3배만 가능해서 질문했습니다.