묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨블렌더 입문 : 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) 으로 써도 되나요? 차이가 있을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
2.10 Date 객체와 날짜 강의에서 월이 하나씩 추가 됩니다.
안녕하세요. 강의 듣다가 신기해서 질문드려요. 사진에서 보시면 1월로 입력했는데, 콘솔창에는 Feb으로 표시가 됩니다. 다른 달로 바꿔봐도 다음 달이 나오네요.. 그냥 자체 보정해서 (원하는 month - 1) 사용해야하는 건가요??아니면 , , 로 나누는 date는 잘 사용되지 않고, . - / 이 세가지를 사용하면 되는건가요?
-
미해결
기출3회 작업형 2 피처 엔지니어링 전 수치/범주형 데이터 분리
기출 3회 작업형 2에서 피처엔지니어링 전 df.select_dtypes(exclude = "o").copy() .... 로 트레인 데이터와 테스트 데이터를 수치와 범주형으로 나눈 후수치형 MinMaxScaler범주형 원핫인코딩으로 각각 피처링을 하셨는데이때 수치형을 보면 cols = ["A", "B"...]로 오브젝트형을 지정하셨더라구요. 피처엔지니어링때 cols =[ ] 를 별도 지정하더라도 위 데이터를 나누는 과정이 필수일까요?? 아래처럼 해도 되면 concat도 필요없을거 같아서요.예) df.select_dtypes(exclude = "o").copy() << 이과정없이from sklearn.preprocessing import MinMaxScalerscaler = MinMaxScaler()cols = ['Age', 'FamilyMembers']train[cols] = scaler.fit_transform(train[cols])test[cols] = scaler.transform(test[cols]) from sklearn.preprocessing import LabelEncodercols = ['Nationality']for col in cols:le = LabelEncoder()train[col] = le.fit_transform(train[col])test[col] = le.transfrom(test[col])
-
미해결날씨를 알려주는 나만의 SlackBot 만들기 (파이썬)
rtm.start() 오류
19번 라인 trm.start부분에서 계속 오류가 납니다
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
AWS S3 : 버킷에 사진이 업로드가 안됩니다(2)
[Nest] 27666 - 2024. 05. 23. 오후 12:23:25 ERROR [ExceptionsHandler] ENOENT: no such file or directory, stat '/Users/제이름/MatzipApp/server/uploads/index.html'Error: ENOENT: no such file or directory, stat '/Users/제이름/MatzipApp/server/uploads/index.html' 아까 올린 문제는 제가 지역을 잘못봐서 .env 파일에서 수정해서 해결했습니다. 다시 실행해보니 이번엔 저런 오류가 뜨는데욥실제로 저런 디렉토리랑 파일이 서버 하위에 없긴 합니다.. 구글링해도 도저히 답이 안나와서 다시 한번 질문 드립니다!
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
리액트 복습하기
안녕하세요. 선생님 강의에 따라서 투두 리스트까지 완강하였는데요. 복습시 이번에 만들어본 프로젝트를 보지 않고 만들 수 있을 때까지 연습해보는 식으로 나아가면 될까요??
-
미해결1시간만에 끝내는 spring boot rest api 서비스 개발
Invalid bound statement (not found): com.helloword.fitstStart.mapper.QuickMapper.findById 에 대한 질의 입니다.
[오류내용]SERVICE에서 MAPPER까지 값은 1로 잘 넘어 오는데MAPPER에서 XML로 넘어가는 부분에서 오류가 납니다.[오류 SCRIPT]2024-05-23T12:14:49.232+09:00 INFO 5380 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms2024-05-23T12:14:49.272+09:00 INFO 5380 --- [nio-8080-exec-1] c.h.fitstStart.service.QuickService : 111111 ...12024-05-23T12:14:49.275+09:00 ERROR 5380 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.helloword.fitstStart.mapper.QuickMapper.findById] with root causeorg.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.helloword.fitstStart.mapper.QuickMapper.findById at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:229) ~[mybatis-3.5.14.jar:3.5.14]
-
미해결AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안
도커 컴포즈 오류입니다.
sudo docker-compose up -d 명령어 입력 시docker.errors.DockerException: Error while fetching server API version: HTTPconnection.request() got an unexpected keyword argumet 'chunked' 오류 메세지가 나오는데 해결방법을 모르겠습니다..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
스냅샷은 어느 영역에 있는건지궁금합니다.
1차 캐시는 jvm heap 메모리 영역에 올라간다는 글을 보았는데요. 그렇다면 스냅샷은 어느 영역에 올라가는건지 궁금합니다 1차 캐시와 같은 영역인지 별도의 다른 영역에 존재하게 되는지..
-
해결됨Flutter로 SNS 앱 만들기
프로젝트 확장과 패키지 추가에 대하여 질문드립니다!
안녕하세요, 강의를 모두 수강하고 개인적으로 프로젝트를 더 확장해보고 싶어서, 개인 공부를 시작하게 되었습니다.그러다가 프로젝트에 외부 패키지를 추가해야 하는 경우가 생겼는데, 이 때 패키지 버전은 어떻게 지정해야 하는 지 궁금합니다.puspeck.yaml에서 예를 들면, 패키지 버전 앞에 붙이는 ^가 어느 정도 범위를 지정해줘서 해결하는 것으로 알고 있습니다.그렇다면,google_maps_flutter나 location 같은 외부 패키지를 추가 설치할 때, 버전을 어떻게 지정해야 충돌이 나지 않을까요?프로젝트가 코틀린 버전 1.7.10, gradle 버전 7.5 인것으로 아는데, 충돌 없이 더 최신 버전으로 변경 할 수 있을까요?왜냐하면 강의에서 제공하는 프로젝트에서 최신 버전의 google_maps_flutter와 location 패키지를 설치하고, 사용하려고 하니 아래와 같은 에러가 발생했습니다.그래서, 코틀린 버전을 1.9로 올리고, 그에 맞게 gradle 버전을 수정한 다음, 기존 파일을 지운 다음에, Sync를 맞추니까 Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.10 같은 에러가 발생합니다. 그래서 인터넷에서 찾아보니, 저장되어 있는 캐시 때문에 아직 1.7.10 버전으로 인식한다고 해서, .gradle 파일이랑 이것저것 삭제하고 다시 빌드했는데도, 변경된 코틀린 버전을 인식을 못하고 계속 무한루프에 빠지는 등 상황 해결이 되지 않았습니다. 어떻게 해야 할까요? 추가 설치하고 싶은 외부 패키지를 일일히 버전을 낮춰야 하나요? 아니면, 안드로이드로 컴파일하는 코틀린 버전을 상승시킬 수 있는 방법은 없는걸까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
redirect와 refresh 질문드려요
안녕하세요 선생님 ^^강의 듣고 있는중에 궁금한 것이 생겼습니다 1)gorouter 7버전에서듣고(4버전 건너뛰고) -> 프로젝트에 적용하기 단원보고 있는데요 갑자기 refresh라는 개념이 나와서요 7버전에서는 없었는데 .... refresh라는 기능 없이도 충분히 만들수 있나요?아니면 7버전에서 refresh비슷한 기능이 있나요?? 2)redirect를 통해 이동한 페이지는 Appbar에서 뒤로가기가 없던데 이것이 redirect 특징인 건가요? 3)redirect를 사용해서 뒤로가기버튼이 없는 상태에, 만약에 context.pop을 하게 된다면 어디로 이동하게 되나요?