묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
TreeSet활용
TreeSet이 중복되지 않는 것을 사용해서 풀어봤는데 설명해주신 내용과 어떤 차이가 있는지 궁금합니다. 코드입니다. public static String solution(int a, int[] arr){ String answer = "D"; TreeSet<Integer> set = new TreeSet<>(); for(int x : arr){ set.add(x); } if (set.size() == a){ answer = "U"; } return answer; }
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
스마트포인터에 관하여 질문이 있습니다.
안녕하세요 교수님. 스마트포인터로 파일읽기를 한 후, close()를 통해 파일을 닫는데 스마트 포인터를 통해서는 자동으로 파일을 닫는 행위는 할 수 없는건지가 궁금해서 질문남깁니다. (포인터 할당 종료만 가능한건지) 감사합니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
대시보드 접속 URL이 이게 맞나요?
자료에 있는 아래 링크로 접속 후 SKIP 했는데 위와같이 데이터가 표시되지 않는다고 나오네요 강의를 보니 아래 URL 말고 다른게 있는거같은데 혹시 어떻게 접속해야하나요 https://192.168.56.30:30000/#/login
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
boost asio 강의
안녕하세요 루키스님혹시 작년에 진행했던 javawork 님의 boost asio 강의는인프런에 판매하실 생각은 없으신 건가요??
-
미해결
버셀 배포시 에러
백엔드서버는 배포완료하였고 api주소도 변경하였는데 /book/에서 계속에러가나네요
-
미해결
문제집?
교재? 문제집을 따로 받을 수 있는건가요?메일로 받을 수있다고 적혀있는데 보내주시는거면 부탁드리고 구매면 링크좀 알려주시겠어요
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
제가 바보인건지 증감연산자를 몰루겠숩니다
https://inf.run/rkL2D20강 증감연산자 마지막에 "다음과 같이 증감 연산자를 단독으로 사용하는 경우에는 다른 연산이 없기 떄문에, 본인의 값만 증가한다. 따라서 전위이든 후위이든 둘 다 결과가 같다" 하면서++a;a++;의 코드를 보여주셨는데++a; 는 a=3인데 a++;은 a=4가 나왔습니다분명 둘 다 결과가 같다고 했는데 우째서 ++a;랑 a++; 코드 결과값이 다른건지 모르겠습니다 바보가 된 것 같숩니다 알려주세요
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
15강에서 발생한 문제에 대해서 질문이 있습니다!
SDK 설치시 FirebaseFirestoreSwift 체크가 표시되지 않습니다 ios18 버전부터 없어진걸까요?Firebase Storage 빌드를 하려면 프로젝트 업그레이드가 필요하다고 합니다 결제요금제로 업그레이드 하라고 나오는데 결제를 진행해야 하나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제 6번
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요이상치 제거를df = df[(df['age'] == df['age'].astype(int) ) & df['age'] >0]이렇게 하면 틀린건가요?round쓰는게 이해가 안가네요
-
해결됨코틀린 코루틴 완전 정복
실무에서 runBlocking 와 CoroutineScope 실무 사용에 대해
실무에서 코루틴을 사용해야할 때runBlocking 으로 코루틴 영역을 생성해야 할지 CoroutineScope로 생성해야 할지 또 어떻게 코루틴을 활용해야할지 감이 살짝 오시 않습니다.물론 호출부의 스레드를 블럭킹해야 한다면 runBlocking 일 것 같지만 보통 이렇게 사용한다라는 지향점이 궁금합니다. 실무에서 사용하기 위해 추천할만한 깃헙 레파지토리나 베스트프랙티스가 있을까요? - 학습 관련 질문을 남겨주세요. 질문을 상세히 작성하면 더 좋습니다.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결
vscode 관련 오류 한 번만 도와주세요 ㅠㅠ
맥에서 터미널 사용중이고 vscode에서 모듈 설치해서 여러가지 해보려고했는데 모듈에서부터 막혔습니다 ㅠㅠ아래는 제가 혼자 해결하려고 시도한 것들입니다vscode에서 가상환경 다시 설정하고 파이썬 버전 확인을 완료했습니다homebrew와 pip업데이트하고 pygame 정상 설치까지 확인했습니다혹시몰라서 뒤에 --pre도 넣어봤지만 그대로였습니다계속 이결과만 나옵니다 ㅠㅠ 도움 부탁드립니다 ㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-c 코드 질문이 있습니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요! 큰돌님 다름이 아니라 해당문제를 잘 못 풀겠어서 큰돌님 풀이를 봤는데요저는 맨처음에 문제를 풀때 좌표를 벗어나는지와 구멍인지를 for문 안에서 체크했는데요for(int i = 0; i < 4; i++){ // 해당 좌표만큼 이동한다 int ny = y + dy[i] * value; int nx = x + dx[i] * value; if(!in(y, x) || b[y][x] == 'H') continue; ret= max(ret, down(ny, nx) + 1); }이렇게 제출하니까 틀렸다고 떴습니다. 왜 for문 안에 넣으면 안되는 걸까요?아래는 제출한 전체 코드입니다.#include <bits/stdc++.h> using namespace std; int t,a,d[54][54]; string s; char b[54][54]; bool check[54][54]; const int dy[4] = {-1, 0, 1, 0}; const int dx[4] = {0, 1, 0, -1}; // 좌표 내에 포함하는 지 체크한다 bool in(int aa,int bb){ return(1<=aa && aa<=t && 1<=bb && bb<=a); } int down(int y,int x){ // 이미 갔던 곳이라면 순회를 하는 코드이니까 -1을 출력하고 main함수 종료 if(check[y][x]){ cout << -1 << "\n"; exit(0); } //현재 좌표로 이동한 횟수 -> 이미 해당 위치에 숫자가 있다면 int &ret = d[y][x]; if(ret) return ret; check[y][x] = 1; int value = (int)b[y][x] - '0'; for(int i = 0; i < 4; i++){ // 해당 좌표만큼 이동한다 int ny = y + dy[i] * value; int nx = x + dx[i] * value; // 좌표를 벗어나거나 구멍이면 return 0 -> 갈 수 없음 if(!in(y, x) || b[y][x] == 'H') continue; ret= max(ret, down(ny, nx) + 1); } // 원복을 해준다 check[y][x] = 0; return ret; } int main(){ cin >> t >> a; for(int i = 1; i <= t; i++){ cin >> s; for(int j = 1; j <= a; j++){ b[i][j] = s[j - 1]; } } cout << down(1, 1) << "\n"; }
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
로그아웃 코드 관련해서 질문드립니다
function useLogout(mutationOptions?: UseMutationCustomOptions) { return useMutation({ mutationFn: logout, onSuccess: () => { console.log("before storage empty: ", getEncryptStorage(storageKeys.ACCESS_TOKEN)); removeHeader('Authorization'); removeEncryptStorage(storageKeys.REFRESH_TOKEN); queryClient.resetQueries({queryKey: [queryKeys.AUTH]}); console.log("storage empty: ", getEncryptStorage(storageKeys.ACCESS_TOKEN)); }, ...mutationOptions, }); } 이게 강사님께서 쓰신 로그아웃 코드인데 removeEncryptStorage를 비동기 함수로 구현하셨었습니다.제가 로그아웃 버튼을 누르는데 'localhost:제가 만든 서버 포트':auth/logout 이런식으로 클라이언트에 요청했을 때로그를 살펴보니깐 LOG Access token after remove: {"_h": 0, "_i": 0, "_j": null, "_k": null}LOG Access token removed: falseLOG isLogIn: false //이건 Navigation/root/RootNavigator.tsx에 isLogin값이 false인지 true인지 확인하기 위해 콘솔로그 찍음이런식으로 출력되었었습니다.로그아웃 직후에 바로 로그인이 된 상태로 작동했습니다. removeEncryptStorage는 비동기 함수이기 때문에 await 없이 호출되면 로그아웃 관련된 비동기 작업이 완려되기 전에onSuccess내의 코드들이 실행된거 같습니다.function useLogout(mutationOptions?: UseMutationCustomOptions) { return useMutation({ mutationFn: async () => { removeHeader('Authorization'); await removeEncryptStorage(storageKeys.REFRESH_TOKEN); }, onSettled: () => { // 관련 쿼리 무효화하여 캐시 초기화 queryClient.invalidateQueries({queryKey: [queryKeys.AUTH]}); }, ...mutationOptions }); } 그래서 이런식으로 await async로 토큰 제거 작업이 완료된 후 까지 기다리게 만들어서 하니깐 로그아웃이 잘 작동되고서버 내에 db랑 연결된 users 테이블 내의 refresh_token도 사라진걸 확인할 수 있었습니다. 제가 혹시 놓친 부분이 있었는지 왜 이런 차이가 나는지 정확한 이유를 몰라서 질문 남깁니다.
-
해결됨김영한의 실전 자바 - 기본편
final 참조형 변수
[질문 내용]섹션9 final 변수와 참조 에서 final을 참조형 변수에 붙었을 때 참조 대상 자체를 다른 대상으로 변경하지 못한다는 점에서 이 참조형 변수는 싱글톤(singleton) 패턴이라고 동일시해도 되는 것인가요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
15:22에서 TopStudent 가 보이지 않는 문제가 있습니다.
출력로그까지 정상적으로 뜨는데, contents 폴더에서 TopStudent가 보이지 않습니다. TopStudent 가 나타나지 않는 이유가 궁금합니다.일단 코드를 강의코드와 비교하며 개인적으로 재검토를 하였는데, 제가 다시 놓친 무언가가 있는 것인지, 아니며ㅑㄴ 현재 버전에서는 보이지 않게 된 것인지 궁금합니다.DebugGame Editor로 실행하였으며, 출력로그 및 코드 내용은 다음과 같습니다.(출력로그)LogTemp: 저장할 파일 폴더 : ../../../../../../Users/qkrwo/Documents/Unreal Projects/UnrealSerialization/SavedLogTemp: 저장할 파일 전체 경로 : ../../../../../../Users/qkrwo/Documents/Unreal Projects/UnrealSerialization/Saved/RawData.binLogTemp: 변경할 파일 전체 경로 : C:/Users/qkrwo/Documents/Unreal Projects/UnrealSerialization/Saved/RawData.binLogTemp: [RawData] 이름 이득우 순번 16LogTemp: [ObjectData] 이름 이득우 순번 59LogTemp: [JsonData] 이름 이득우 순번 59LogTemp: 패키지가 성공적으로 저장되었습니다. (Student.h)// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "UObject/NoExportTypes.h"#include "Student.generated.h"/****/UCLASS()class UNREALSERIALIZATION_API UStudent : public UObject{GENERATED_BODY()public:UStudent();int32 GetOrder() const { return Order; }void SetOrder(int32 InOrder) { Order = InOrder; }const FString& GetName() const { return Name; }void SetName(const FString& InName) { Name = InName; }virtual void Serialize(FArchive& Ar) override;private:UPROPERTY()int32 Order;UPROPERTY()FString Name;};(Student.cpp)// Fill out your copyright notice in the Description page of Project Settings.#include "Student.h"UStudent::UStudent(){Order = -1;Name = TEXT("홍길동");}void UStudent::Serialize(FArchive& Ar){Super::Serialize(Ar); Ar << Name;Ar << Order;}(MyGameInstance.h)// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Engine/GameInstance.h"#include "MyGameInstance.generated.h"struct FStudentData{FStudentData() {}FStudentData(int32 InOrder, const FString& InName) : Order(InOrder), Name(InName) {} friend FArchive& operator<<(FArchive& Ar, FStudentData& InStudentData){Ar << InStudentData.Order;Ar << InStudentData.Name;return Ar;}int32 Order = -1;FString Name = TEXT("홍길동");};/****/UCLASS()class UNREALSERIALIZATION_API UMyGameInstance : public UGameInstance{GENERATED_BODY()public:UMyGameInstance();virtual void Init() override;void SaveStudentPackage() const;private:static const FString PackageName;static const FString AssetName;UPROPERTY()TObjectPtr<class UStudent> StudentSrc;};(MyGameInstance.cpp)// Fill out your copyright notice in the Description page of Project Settings.#include "MyGameInstance.h"#include "Student.h"#include "JsonObjectConverter.h"#include "UObject/SavePackage.h"const FString UMyGameInstance::PackageName = TEXT("/Game/Student");const FString UMyGameInstance::AssetName = TEXT("TopStudent");void PrintStudentInfo(const UStudent* InStudent, const FString& InTag){UE_LOG(LogTemp, Log, TEXT("[%s] 이름 %s 순번 %d"), InTag, InStudent->GetName(), InStudent->GetOrder());}UMyGameInstance::UMyGameInstance(){}void UMyGameInstance::Init(){Super::Init();FStudentData RawDataSrc(16, TEXT("이득우"));const FString SavedDir = FPaths::Combine(FPlatformMisc::ProjectDir(), TEXT("Saved"));UE_LOG(LogTemp, Log, TEXT("저장할 파일 폴더 : %s"), *SavedDir);{const FString RawDataFileName(TEXT("RawData.bin"));FString RawDataAbsolutePath = FPaths::Combine(*SavedDir, *RawDataFileName);UE_LOG(LogTemp, Log, TEXT("저장할 파일 전체 경로 : %s"), *RawDataAbsolutePath);FPaths::MakeStandardFilename(RawDataAbsolutePath);UE_LOG(LogTemp, Log, TEXT("변경할 파일 전체 경로 : %s"), *RawDataAbsolutePath);FArchive* RawFileWriterAr = IFileManager::Get().CreateFileWriter(*RawDataAbsolutePath);if (nullptr != RawFileWriterAr){*RawFileWriterAr << RawDataSrc;RawFileWriterAr->Close();delete RawFileWriterAr;RawFileWriterAr = nullptr; }FStudentData RawDataDest;FArchive* RawFileReaderAr = IFileManager::Get().CreateFileReader(*RawDataAbsolutePath);if (nullptr != RawFileReaderAr){*RawFileReaderAr << RawDataDest;RawFileReaderAr->Close();delete RawFileReaderAr;RawFileReaderAr = nullptr;UE_LOG(LogTemp, Log, TEXT("[RawData] 이름 %s 순번 %d"), *RawDataDest.Name, RawDataDest.Order);}}StudentSrc = NewObject<UStudent>();StudentSrc->SetName(TEXT("이득우"));StudentSrc->SetOrder(59);{const FString ObjectDataFileName(TEXT("ObjectData.bin"));FString ObjectDataAbsolutePath = FPaths::Combine(*SavedDir, *ObjectDataFileName);FPaths::MakeStandardFilename(ObjectDataAbsolutePath);TArray<uint8> BufferArray;FMemoryWriter MemoryWriterAr(BufferArray);StudentSrc->Serialize(MemoryWriterAr);if (TUniquePtr<FArchive> FileWriterAr = TUniquePtr<FArchive>(IFileManager::Get().CreateFileWriter(*ObjectDataAbsolutePath))){*FileWriterAr << BufferArray;FileWriterAr->Close();}TArray<uint8> BufferArrayFromFile;if (TUniquePtr<FArchive> FileReaderAr = TUniquePtr<FArchive>(IFileManager::Get().CreateFileReader(*ObjectDataAbsolutePath))){*FileReaderAr << BufferArrayFromFile;FileReaderAr->Close();}FMemoryReader MemoryReaderAr(BufferArrayFromFile);UStudent* StudentDest = NewObject<UStudent>();StudentDest->Serialize(MemoryReaderAr);PrintStudentInfo(StudentDest, TEXT("ObjectData"));}{const FString JsonDataFileName(TEXT("StudentJsonData.txt"));FString JsonDataAbsolutePath = FPaths::Combine(*SavedDir, *JsonDataFileName);FPaths::MakeStandardFilename(JsonDataAbsolutePath);TSharedRef<FJsonObject> JsonObjectSrc = MakeShared<FJsonObject>();FJsonObjectConverter::UStructToJsonObject(StudentSrc->GetClass(), StudentSrc, JsonObjectSrc);FString JsonOutString;TSharedRef<TJsonWriter<TCHAR>> JsonWriterAr = TJsonWriterFactory<TCHAR>::Create(&JsonOutString);if (FJsonSerializer::Serialize(JsonObjectSrc, JsonWriterAr)){FFileHelper::SaveStringToFile(JsonOutString, *JsonDataAbsolutePath);}FString JsonInString;FFileHelper::LoadFileToString(JsonInString, *JsonDataAbsolutePath);TSharedRef<TJsonReader<TCHAR>> JsonReaderAr = TJsonReaderFactory<TCHAR>::Create(JsonInString); TSharedPtr<FJsonObject> JsonObjectDest;if (FJsonSerializer::Deserialize(JsonReaderAr, JsonObjectDest)){UStudent* JsonStudentDest = NewObject<UStudent>();if (FJsonObjectConverter::JsonObjectToUStruct(JsonObjectDest.ToSharedRef(), JsonStudentDest->GetClass(), JsonStudentDest)){PrintStudentInfo(JsonStudentDest, TEXT("JsonData"));}}} SaveStudentPackage();}void UMyGameInstance::SaveStudentPackage() const{UPackage* StudentPackage = CreatePackage(*PackageName);EObjectFlags ObjectFlag = RF_Public | RF_Standalone;UStudent* TopStudent = NewObject<UStudent>(StudentPackage, UStudent::StaticClass(), *AssetName, ObjectFlag);TopStudent->SetName(TEXT("이득우"));TopStudent->SetOrder(36);const int32 NumofSubs = 10;for (int32 ix = 1; ix <= NumofSubs; ++ix){FString SubObjectName = FString::Printf(TEXT("Student%d"), ix);UStudent* SubStudent = NewObject<UStudent>(TopStudent, UStudent::StaticClass(), *SubObjectName, ObjectFlag);SubStudent->SetName(FString::Printf(TEXT("학생%d"), ix));SubStudent->SetOrder(ix);}const FString PackageFileName = FPackageName::LongPackageNameToFilename(PackageName, FPackageName::GetAssetPackageExtension());//UE_LOG(LogTemp, Log, TEXT("PakageFileName : %s"), *PackageFileName);FSavePackageArgs SaveArgs;SaveArgs.TopLevelFlags = ObjectFlag; if (UPackage::SavePackage(StudentPackage, nullptr, *PackageFileName, SaveArgs)){UE_LOG(LogTemp, Log, TEXT("패키지가 성공적으로 저장되었습니다."));}}UnrealSerialization.Build.cs 에서PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "Json", "JsonUtilities" });를 정상적으로 삽입하였습니다.
-
미해결
vagrant up 에러
vagrant up을 실행하면 vmware 실행을 실패했다고 나오는데 vmnet7만 빼고 실행이 되는데 어떻게 해야하나요..?(base) bomi@bomiui-MacBookPro k8s % vagrant upBringing machine 'cp-k8s-1.30.0' up with 'vmware_desktop' provider...Bringing machine 'w1-k8s-1.30.0' up with 'vmware_desktop' provider...Bringing machine 'w2-k8s-1.30.0' up with 'vmware_desktop' provider...Bringing machine 'w3-k8s-1.30.0' up with 'vmware_desktop' provider...==> cp-k8s-1.30.0: Checking if box 'sysnet4admin/Ubuntu-k8s' version '0.8.6' is up to date...==> cp-k8s-1.30.0: Verifying vmnet devices are healthy...The VMware "vmnet" devices are failing to start. The most commonreason for this is collisions with existing network services. Forexample, if a hostonly network space collides with another hostonlynetwork (such as with VirtualBox), it will fail to start. Likewise,if forwarded ports collide with other listening ports, it willfail to start. Vagrant does its best to fix these issues, but in some cases itcannot determine the root cause of these failures. Please verify you have no other colliding network services running.As a last resort, restarting your computer often fixes this issue.
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
임베딩 모델 실행 오류
가상환경에서 버전을 일치 시키고API키 환경변수로 설정했는데...openAI apiㅏkey 가 없다고 나옵니다.혹시 어느 부분에서 문제가 있을까요?
-
미해결
my sql work brench
안녕하세요 mysql work brench 다운로드 중 질문입니다.윈도우에서 mysql sever 9.1.0 버전 installer 설치했습니다.문제는 installer 설치 후 type and networking 단계에서 next 버튼이 비활성화 되어 있습니다.다른 설정으로 바꿔봐도 계속 비활성화 상태입니다.확인 부탁드립니다.
-
미해결자바 코딩테스트 - it 대기업 유제
송아지를 잡자
홀수 레벨만 본다고 했을 때 이전 홀수 레벨에서 방문한 노드를 이후 홀수 레벨에서는 왜 그냥 넘어가는 건가요?? 말씀하신 것처럼 송아지가 움직이니까 이전 홀수 레벨에서 만나지 않았더라도 이후 홀수 레벨에서 만날 수 있는 거 아닌가요??
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
여러 태그 제어하는 방법 강의 질문입니다
여러 태그 제어하는 방법 강의 질문입니다해당 강의에서 알려주신대로 gmarket 에서 작업하면 봇으로 인식해서진행이 안 됩니다.강의를 위해서 만드신 사이트 말고 실제 gmarket 같은 곳에서할 수 있는 방법을 알려주세요