묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
다양한 의존관계 주입 방법에서 @Autowired시 객체 참조값 상이
생성자가 하나 일 때는 @Autowired가 없어도 자동으로 의존 관계가 주입 되어 객체가 생성된다는 것을 알고, 실제로 확인도 했습니다.궁금한 사항은, @Autowired가 있을 때는 고정으로 동일한 객체를 가져오는데 (지웠다 넣어도 619bfe29가 유지)memberRepository = hello.core.member.MemoryMemberRepository@619bfe29@Autowired를 삭제하면 다음과 같은 고정적인 객체 참조값을 가져옵니다. (넣었다 지워도 12dae582가 유지)memberRepository = hello.core.member.MemoryMemberRepository@12dae582새로 만들어지는 것이 아닌, @Autowired에 유무에 따라 다르지만, 왜 동일한 객체 참조 값을 유지할까요?
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
이벤트 vs 함수 차이
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이벤트 경우에 시작되는 지점은 알 수 있지만 끝나는 시기를 모른다는 의미를 잘 모르겠습니다. 일단 실행되면 끝날 때까지 이벤트 함수에 머무는 것이 아니라 비동기적으로 처리하는 건가요? 딜레이를 이벤트에서는 사용가능하지만 함수에서는 사용하지 못 하는 게 함수는 점유율을 100% 다 가져가서 다른 코드가 실행될 여지를 빼았기 때문인가요? 반대로 이벤트는 점유율이 왔다갔다 왕복하면서 실행이 되는 건가요?
-
해결됨Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
안녕하세요. 강의자료랑 기출문제 부탁드리겠습니다.
kimyh03160@naver.com 입니다.그리고 윈도우용 배치파일 다운로드 링크 접속이 안되네요. 확인 부탁드립니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
프로세스
프로세스란, 프로그램이 실행중인 상태이며, 이 프로그램이 실행이되는과정이 제가 생각하고있는게 맞는지 궁금하여 글 남겨드립니다먼저 프로그램은 실행되기전까지는 데이터 덩어리에 불과하며,실행되지 않는 프로그램은 보조기억장치(하드디스크)쪽에 보관되어있다가 프로그램이 메모리에 적재된 후CPU가 메모리에 적재되어있는 해당 프로그램에 명령어와 데이터를 가져와 연산을 하면 프로그램이 실행되어 프로세스가 되는것인가요? 지금 헷갈리는것이 프로그램이 메모리에 적재되어 실행이되면 프로세스가 된다고하셧는데이 "실행" 이라는 부분이 너무 애매해서 헷갈립니다CPU를 거쳐서 "실행"이된다는건지 아니면 메모리에 적재가되면 "실행"이 되는건지 궁금하여 글남겨드립니다. 그리고 제가 작성한 부분중에 잘못알고있는 부분이 있는건지도 확인차 글 남겨드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
클라연동 질문드립니다.
안녕하세요 루키스님 강의를 따라하면서 클라를 콘솔이 아니라 winapi를 이용해 연동에 성공했는데요.(싱글톤으로 서버 세션을 만듬)일단 연결이 된걸 확인했으나 클라에서 창을 닫고 나가면 deque헤더에서 액세스위반 크래쉬가 나더라구요.그래서 디버깅을 열심히 해보니 클라가 나갈때 CoreGlobal의 소멸자가 호출되고 그중에 SendBuffer매니저를 지워줄때 문제가 생기더라구요. 그래서 혹시몰라 CoreGlobal 에 delete 하는 부분을 없애봐도 프로그램이 종료 되면SendBufferManager::PushGlobal함수 호출 ->SendBufferManager::Push 함수 호출 되고 나가는 과정에서 Lock이 문제가 발생했습니다..아무리 제가 찾아도 문제를 못찾겠어서 기존에 만들어주신 더미클라이언트에선 콘솔을 닫을때 코어글로벌 소멸자호출을 확인하니까 아예 호출이 안되는걸 확인했고 이 문제를 해결하려고 여러방면으로 시도를 해봤는데 잘 되지않아서 질문드립니다..서버를 열지않은상태에서 클라를 닫을때 크래쉬가 안나는걸 봐선 클라문제는 아닌거같은데 어떻게 해결하는게 좋을까요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
빌드된 결과물..이 없어요
my-third-pipeline에서메이븐으로 빌드한 결과물은 왜 작업공간이 안나올까요?이게 보이질 않네요 ㅠ
-
해결됨[왕기초] 후디니 게임 이펙트 만들기
export 오류에 관해 질문드립니
초심자에게 빛줄기와 같은 강의입니다 감사합니다 다만 문제가 생겼는데 export 따라하는 과정에서 vat abc fbx 방법들이 후디니 프리버전에선 지원하지 않는다고 오류(FBX export Apprenticeis not supported in houdini.)가 뜨는데 학생이나 인디버전 사용하면 해결 될까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost:8080/servlet/members로 가면 문제가 생깁니다.
localhost:8080/servlet/members 주소를 입력해서 들어가면 이상한 파일이 다운로드가 되고메인id username age1 김 102 spring 20이 나오지 않고localhost:8080/servlet/members/save주소로 넘어가게 됩니다..
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
강의목록 03-05 좋아요 count 멜론 사이트 접근 오류
안녕하세요. 강의 03-05 에서 좋아요 수를 검색하는 Action 에서 오류가 나서 문의 드립니다. 어드민 화면에서 Update Like count 액션을 실행하면 아래 와 같은 에러 페이지가 노출됩니다.강사님 코드를 복사해서 붙여서 해봐도 같은 현상이라서 이것저것 찿아봤지만 도무지 해결이 않되네요. postman에서 도 접근이 않되는데, 브라우저에서 해당 url로 접속하면 데이터가 보이기는 합니다.여기저기 구글링 해보고 이리저리 변경도 해 봤지만.. 해결이 되지않아 질문을 올립니다.제 pc가 회사에 있는 pc라 혹시 로컬 환경이 문제일수 있나 싶기도 하지만, 우선 확인 요청드립니다. 감사합니다.
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
Rolled back transaction for test 로그 출력
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요.강의 중에 강사님께서는 @Transactional 애노테이션을 사용하면 Rolled back transaction for test 로그가 뜨는데 저는 뜨지 않습니다. [제 로그]저는 강사님께서 올려주신 코드를 사용하지 않고 따로 start.spring.io를 통해 최신 버전을 사용하고 있습니다.[버전정보]자바 버전: 17스프링 부트 버전: 3.2.5[질문 사항]강의 중간에 로깅 단계를 바꾸는 작업이 있었는데 제가 그 부분을 놓친 것인지, 아니면 스프링 부트의 버전이 달라지면서 transaction 로그를 출력하지 않도록 바뀐 것인지것인지, 아니면 application.properties 등에 다른 설정을 해야하는 것인지 궁금합니다!
-
해결됨블렌더 입문 : UX/UI 디자이너를 위한 3D 아이콘으로 배우는 블렌더!
원형 페이스 선택 후 i로 줄였을 때 전체가 줄어들지 않고 각각 삼각형 모양으로 줄어들어요
왜 이러는 걸까요 ㅠㅠ
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
FormLogin, HttpBasic를 모두 비활성화해도 로그인 이후에 Redirect가 발생하나요?
안녕하세요. 강사님. 강의 외적인 내용이지만, 질문 좀 드리겠습니다.JWT로 로그인하는 스프링 서버를 만들었는데요.클라우드에 올린 서버가 포스트맨의 POST 형식의 로그인 요청을 수행한 뒤, 동일한 url의 GET 요청으로 Redirect 되는 현상을 발견했습니다.스프링 서버를 로컬에서 띄우는 경우에는 발생하지 않습니다. 강의를 전부 듣지는 않았지만, FormLogin, HttpBasic를 모두 비활성화해도 로그인 이후에 Redirect가 발생하나요? Redirect를 안하고 싶은 경우는, 어떻게 설정하면 될까요?JwtFilter의 doFilter 로직에 AuthenticationSuccessHandler 구현체를 만들어서 처리하면 되는 것까지 확인했습니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
오늘부터 수강합니다!
강의자료 부탁드릴게요 감사합니다!hl5gno@naver.com
-
해결됨김영한의 실전 자바 - 중급 1편
Long에서 더하기
해당 코드에서 Long은 final변수로 알고 있는데 for문 안에서 더하기가 어떻게 가능한가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
쿠키와 https
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]좋은 강의에 항상 감사드립니다. 쿠키의 한계 중에서, 민감한 정보(예를 들어서 클라이언트의 비밀번호)를 쿠키에 포함하게 될 경우, 네트워크를 감청하는 다른 사용자에게 노출될 수 있다고 배웠습니다. 그런데 혹시 https 메시지를 이용하게 되면, https요청과 응답이 모두, 클라이언트와 서버 둘만이 알아볼 수 있도록 암호화 되서 송수신이 될 텐데, 쿠키에 비밀번호를 노출시켰다고 한들 네트워크를 통한 감청은 예방되지 않나요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
Runtest 오류
안녕하세요 Main method 강의의 3분 40초쯤에 실행하면 테스트전달값입니다 라는 문구가 뜨질않고 전강의 07클래스로 넘어가면서 괄호 오류가 있다는 알람이 뜹니다. 07 클래스를 전체 주석처리를 하고 실행하면 1행은 out 2행은 src라고 3번 반복 표시되는데 제가 뭘잘못한걸까요..
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
배포 환경 DB 연결 질문 있습니다.
안녕하세요. 배포를 하고 있는 중 에러를 만났는데 도저히 이해가 가지 않아서 여쭤봅니다.[Nest] 1 - 05/23/2024, 2:56:25 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... Error: Access denied for user '유저'@'호스트 서버 IP' (using password: YES)제가 지금 만난 에러인데요. 현재 배포하고 있는 서버와 DB로 켜놓은 서버가 각각 다른 서버입니다.데이터베이스 사용자에 당연히 프로젝트에서 연결 해둔 유저를 추가해두었고, 배포하고 있는 서버의 접근도 허용해뒀습니다. 또한, GRANT ALL PRIVILEGES ON . TO '유저'@'호스트 서버 IP' IDENTIFIED BY '비밀번호'; flush privileges;이렇게 모든 권한도 주었습니다. 그런데 계속 위의 에러가 발생하는데 이유를 도통 모르겠습니다. 어떻게 접근해야 할까요?
-
미해결유니티 Addressable 을 이용한 패치 시스템 구현
animator안의 animatorcontroller를 불러올수없어요
상황은 이렇습니다.어떤 캐릭터 프립펩이 있고그 프리펩안에 animator 컴포넌트를 넣어두었습니다.그리고 그 animator컴포넌트안에 animatorcontroller를 만들어서 넣어놓은 상황입니다. animatorcontroller안에는 여러가지 애니메이션을 넣어둔상태입니다. 이상태에서 캐릭터 프리펩을 addressable에 할당했습니다.animatorcontroller파일도 addressable에 할당했습니다.두개를 같은 어드레서블 그룹에 넣은후에어드레서블을 빌드한후에 서버에 올렸고using System.Collections;using System.Collections.Generic;using System.Linq;using UnityEngine;using UnityEngine.AddressableAssets;using UnityEngine.UI;public class DownManager : MonoBehaviour{ [Header("UI")] public GameObject waitMessage; public GameObject downMessage; public Slider downSlider; public Text sizeInfoText; public Text downValText; [Header("Label")] public AssetLabelReference prefabLabel; public AssetLabelReference materialLabel; public AssetLabelReference animationLabel; public AssetLabelReference textureLabel; private long patchSize; private Dictionary<string, long> patchMap = new Dictionary<string, long>(); void Start() { waitMessage.SetActive(true); downMessage.SetActive(false); StartCoroutine(InitAddressable()); StartCoroutine(CheckUpdateFiles()); } IEnumerator InitAddressable() { var init = Addressables.InitializeAsync(); yield return init; } #region Chek Down IEnumerator CheckUpdateFiles() { var labels = new List<string>() { prefabLabel.labelString, materialLabel.labelString, animationLabel.labelString, textureLabel.labelString}; patchSize = default; foreach (var label in labels) { var handle = Addressables.GetDownloadSizeAsync(label); yield return handle; patchSize += handle.Result; } if (patchSize > decimal.Zero) { //Down waitMessage.SetActive(false); downMessage.SetActive(true); sizeInfoText.text = GetFileSize(patchSize); } else { downValText.text = " 100 % "; downSlider.value = 1f; yield return new WaitForSeconds(2f); LoadingManager.LoadScene("MainLobby"); } } private string GetFileSize(long byteCnt) { string size = "0 Bytes"; if (byteCnt >= 1073741824.0) { size = string.Format("{0:##.##}", byteCnt / 1073741824.0) + " GB"; } else if (byteCnt >= 1048576.0) { size = string.Format("{0:##.##}", byteCnt / 1048576.0) + " MB"; } else if (byteCnt >= 1024.0) { size = string.Format("{0:##.##}", byteCnt / 1024.0) + " KB"; } else if (byteCnt > 0 && byteCnt < 1024.0) { size = byteCnt.ToString() + " Bytes"; } return size; } #endregion #region DownLoad public void Button_DownLoad() { StartCoroutine(PatchFiles()); } IEnumerator PatchFiles() { var labels = new List<string>() { prefabLabel.labelString, materialLabel.labelString, animationLabel.labelString, textureLabel.labelString}; foreach (var label in labels) { var handle = Addressables.GetDownloadSizeAsync(label); yield return handle; if (handle.Result != decimal.Zero) { StartCoroutine(DownLoadLabel(label)); } } yield return CheckDownLoad(); } IEnumerator DownLoadLabel(string label) { patchMap.Add(label, 0); var handle = Addressables.DownloadDependenciesAsync(label, false); while (!handle.IsDone) { patchMap[label] = handle.GetDownloadStatus().DownloadedBytes; yield return new WaitForEndOfFrame(); } patchMap[label] = handle.GetDownloadStatus().TotalBytes; Addressables.Release(handle); } IEnumerator CheckDownLoad() { var total = 0f; downValText.text = "0 %"; while (true) { total += patchMap.Sum(tmp => tmp.Value); downSlider.value = total / patchSize; downValText.text = (int)(downSlider.value * 100) + " %"; if (total == patchSize) { yield return new WaitForSeconds(1f); // 지연 시간 추가 LoadingManager.LoadScene("MainLobby"); break; } total = 0f; yield return new WaitForEndOfFrame(); } } #endregion}이렇게 다운로드를 받았습니다. 그리고나서 using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.AddressableAssets;using UnityEngine.ResourceManagement.AsyncOperations;public class GameManager : MonoBehaviour{ public GameObject _player; public Dictionary<string, string> stateNameMap = new Dictionary<string, string>(); private IEnumerator CreateCharacter() { var initializeOperation = Addressables.InitializeAsync(); yield return initializeOperation; if (initializeOperation.Status == AsyncOperationStatus.Succeeded) { Debug.Log("Addressables initialized successfully"); LocalPlayerLoad(); } } private void Start() { StartCoroutine(CreateCharacter()); } public void LocalPlayerLoad() { Addressables.InstantiateAsync("Assets/Project/Asset/Prefab/Human.prefab", new Vector3(0, 0, 0), Quaternion.identity).Completed += callback => { if (callback.Status == AsyncOperationStatus.Succeeded) { _player = callback.Result; } }; }}이렇게 Human이라는 프리펩을 불러왔는데 animator창을 열고 불러와진 Human캐릭터를 하이어라키에서 선택을하면 현재 애니메이션의 상태가 보여야하는데 이런식으로 나오는겁니다.. 이건 animatorcontroller를못불러온건가요? 아니면 addressable로 지정하면 원래 볼수없는건가요? 근데 이렇게 나오면 애니메이션 상태를 볼수없기때문에 디버깅이 너무 어려워지는데.. 제가 뭔가 잘못한게 맞겠죠?
-
미해결따라하며 배우는 NestJS
강의 자료 관련해서 글 남깁니다.
아마 해당 강의에서 다루는 주 내용이 아니라 그런 것 같긴한데, 강의자님 영상에서는 #10 프론트 엔드단 만들기와 #12 배포하기 강의자료가 존재하는데, 강의자료를 다운 받는 아래 링크에 존재하지 안흔데, 강의가 생성된 이후 의도적으로 제거하신 건가요?https://drive.google.com/drive/folders/1SbVMMPXVhEomuCJl-2fWAcTW4Do1OqJ2
-
미해결따라하며 배우는 자바스크립트 A-Z
랜덤 난수의 정수화
Math.floor(Math.random() * num + 1) 처럼 알려주셨는데 대신Math.ceil(Math.random() * num) 으로 써도 되나요? 차이가 있을까요?