inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

배포 환경 DB 연결 질문 있습니다.

해결됨

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

안녕하세요. 배포를 하고 있는 중 에러를 만났는데 도저히 이해가 가지 않아서 여쭤봅니다. [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; 이렇게 모든 권한도 주었습니다. 그런데 계속 위의 에러가 발생하는데 이유를 도통 모르겠습니다. 어떻게 접근해야 할까요?

  • node.js
  • express
  • nestjs
  • typeorm
뱅준 댓글 2 좋아요 0 조회수 438

animator안의 animatorcontroller를 불러올수없어요

미해결

유니티 Addressable 을 이용한 패치 시스템 구현

상황은 이렇습니다. 어떤 캐릭터 프립펩이 있고 그 프리펩안에 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로 지정하면 원래 볼수없는건가요? 근데 이렇게 나오면 애니메이션 상태를 볼수없기때문에 디버깅이 너무 어려워지는데.. 제가 뭔가 잘못한게 맞겠죠?

  • C#
  • unity
술홍 댓글 2 좋아요 0 조회수 367

강의 자료 관련해서 글 남깁니다.

미해결

따라하며 배우는 NestJS

아마 해당 강의에서 다루는 주 내용이 아니라 그런 것 같긴한데, 강의자님 영상에서는 #10 프론트 엔드단 만들기와 #12 배포하기 강의자료가 존재하는데, 강의자료를 다운 받는 아래 링크에 존재하지 안흔데, 강의가 생성된 이후 의도적으로 제거하신 건가요? https://drive.google.com/drive/folders/1SbVMMPXVhEomuCJl-2fWAcTW4Do1OqJ2

  • postgresql
  • jwt
  • nestjs
  • typeorm
장건희 댓글 1 좋아요 0 조회수 500

랜덤 난수의 정수화

미해결

따라하며 배우는 자바스크립트 A-Z

Math.floor(Math.random() * num + 1) 처럼 알려주셨는데 대신Math.ceil(Math.random() * num) 으로 써도 되나요? 차이가 있을까요?

  • javascript
탱_ 댓글 1 좋아요 0 조회수 208

2.10 Date 객체와 날짜 강의에서 월이 하나씩 추가 됩니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 강의 듣다가 신기해서 질문드려요. 사진에서 보시면 1월로 입력했는데, 콘솔창에는 Feb으로 표시가 됩니다. 다른 달로 바꿔봐도 다음 달이 나오네요.. 그냥 자체 보정해서 (원하는 month - 1) 사용해야하는 건가요?? 아니면 , , 로 나누는 date는 잘 사용되지 않고, . - / 이 세가지를 사용하면 되는건가요?

  • javascript
  • react
  • node.js
김정수 댓글 1 좋아요 0 조회수 376

기출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 MinMaxScaler scaler = MinMaxScaler() cols = ['Age', 'FamilyMembers'] train[cols] = scaler.fit _transform(train[cols]) test[cols] = scaler. transform(test[cols]) from sklearn.preprocessing import LabelEncoder cols = ['Nationality'] for col in cols: le = LabelEncoder() train[col] = le.fit _transform(train[col]) test[col] = le.transfrom(test[col])

92200607 댓글 1 좋아요 0 조회수 81

rtm.start() 오류

미해결

날씨를 알려주는 나만의 SlackBot 만들기 (파이썬)

19번 라인 trm.start부분에서 계속 오류가 납니다

최예은 댓글 2 좋아요 0 조회수 301

AWS S3 : 버킷에 사진이 업로드가 안됩니다(2)

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

[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-native
  • typescript
  • nestjs
  • react-query
  • zustand
Lee rimi 댓글 1 좋아요 0 조회수 360

리액트 복습하기

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 선생님 강의에 따라서 투두 리스트까지 완강하였는데요. 복습시 이번에 만들어본 프로젝트를 보지 않고 만들 수 있을 때까지 연습해보는 식으로 나아가면 될까요??

  • javascript
  • react
  • node.js
윤토벤 댓글 1 좋아요 0 조회수 403

Invalid bound statement (not found): com.helloword.fitstStart.mapper.QuickMapper.findById 에 대한 질의 입니다.

미해결

1시간만에 끝내는 spring boot rest api 서비스 개발

[오류내용] 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 ms 2024-05-23T12:14:49.272+09:00 INFO 5380 --- [nio-8080-exec-1] c.h.fitstStart.service.QuickService : 111111 ...1 2024-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 cause org.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]

  • spring-boot
  • jpa
  • swagger
  • mybatis
kho65 댓글 1 좋아요 0 조회수 589

도커 컴포즈 오류입니다.

미해결

AWS 클라우드 서비스 인프라 구축 이해와 해킹, 보안

sudo docker-compose up -d 명령어 입력 시 docker.errors.DockerException: Error while fetching server API version: HTTPconnection.request() got an unexpected keyword argumet 'chunked' 오류 메세지가 나오는데 해결방법을 모르겠습니다..

  • 모의해킹
  • aws
태북이태북이 댓글 2 좋아요 0 조회수 585

스냅샷은 어느 영역에 있는건지궁금합니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

1차 캐시는 jvm heap 메모리 영역에 올라간다는 글을 보았는데요. 그렇다면 스냅샷은 어느 영역에 올라가는건지 궁금합니다 1차 캐시와 같은 영역인지 별도의 다른 영역에 존재하게 되는지..

  • java
  • jpa
japark720 댓글 1 좋아요 0 조회수 203

프로젝트 확장과 패키지 추가에 대하여 질문드립니다!

해결됨

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
  • android
  • firebase
  • dart
정태현 댓글 1 좋아요 0 조회수 258

redirect와 refresh 질문드려요

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

안녕하세요 선생님 ^^ 강의 듣고 있는중에 궁금한 것이 생겼습니다 1)gorouter 7버전에서듣고(4버전 건너뛰고) -> 프로젝트에 적용하기 단원보고 있는데요 갑자기 refresh라는 개념이 나와서요 7버전에서는 없었는데 .... refresh라는 기능 없이도 충분히 만들수 있나요? 아니면 7버전에서 refresh비슷한 기능이 있나요?? 2)redirect를 통해 이동한 페이지는 Appbar에서 뒤로가기가 없던데 이것이 redirect 특징인 건가요? 3)redirect를 사용해서 뒤로가기버튼이 없는 상태에, 만약에 context.pop을 하게 된다면 어디로 이동하게 되나요?

  • flutter
  • 하이브리드-앱
유하 댓글 1 좋아요 0 조회수 184

webClient 사용시 설정

해결됨

스프링 시큐리티 OAuth2

안녕하세요 security 사용시 궁금한점이 있어 문의드립니다. oauth2 client 의존성을 주가해서 securityConfig 설정까지 완료하였습니다. 그래서 oauth 사용하여 sns 로그인 까지 구현하였는데 webClient 사용해서 다른 api 와 통신시 /login 페이지로 빠져버리더라구요 아래는 해당 service 단이며 콘솔창에 service token 까지는 잘찍히는데 밑에부터는 /login 페이지로 빠지는것같습니다. 혹시 webClient 사용시 security 설정을 별도로 해줘야할까요? @Service class BusinessCardService( private val webClientConfig: WebClientConfig ) { suspend fun create() : String? { println("service create()") val requestAttributes = RequestContextHolder.getRequestAttributes() as ServletRequestAttributes val cookies = requestAttributes.request.cookies val tokenCookie = cookies?.find{ it.name == "Authorization" } val token = tokenCookie?.value println("service token : ${token}") val businessCard = webClientConfig.webClient().post() .uri("/v1/ocr") .headers { header -> header.setBearerAuth(token ?: "") header.set("Content-Type", "application/json") } .contentType(org.springframework.http.MediaType.APPLICATION_JSON) .retrieve() .awaitBodyOrNull<String>() println("businessCard : "+ businessCard) return businessCard } }

  • java
  • spring
  • spring-boot
  • oauth
호갱 댓글 2 좋아요 0 조회수 385

서비스와 컨트롤러의 역할 분담.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

강의 수강 후 개인 프로젝트를 진행중입니다. 코드 리팩토링에 관한 문제인데요. validation강의할 때 강사님께서 web과 domain 계층을 분리해서 domain은 web을 모르지만 web은 domain을 알아야 하는? 알아야 되는? 것이라고 설명하셔서 그것에 맞게 코드를 작성중입니다. domain계층엔 직접 데이터베이스와 연동하는 엔티티와 레포지토리, 서비스를 저장했습니다. 그리고 web계층엔 컨트롤러와 컨트롤러에서 주고받는 폼들(엔티티에 저장하기 위한)을 저장했구요 컨트롤러는 최대한 기능만 보이게 깔끔하게 유지하려고 하는데 폼 객체->엔티티, 엔티티->폼 객체를 작성하는 코드가 지저분해지더라구요. 무심코 리포지토리에 이 메서드를 넣었다가 domian은 web을 몰라야 한다는 말씀이 생각나서 이 코드들을 컨트롤러에 옮기려고 하는데 실무에서도 보통 폼->엔티티로 바꾸는 작업 혹은 엔티티->폼으로 바꾸는 작업은 컨트롤러 단에서 하는지 궁금합니다.

  • spring
  • mvc
김기홍 댓글 2 좋아요 0 조회수 280

렌더 질문이요!

해결됨

친절한 블렌더 - [LV.0] 입문 필수

오브젝트를 만들고 f12를 눌러서 렌더를 해봤는데요! 회색 배경만 나오고 오브젝트가 보이지 않아서요; 빛을 넣었는데도 안보이네요 ㅠ

  • blender
  • 3d-modelling
  • 3d-rendering
딘딘 댓글 1 좋아요 1 조회수 285

이번 실기셤 까지 듣고 싶어요.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요~! 수강기간이 얼마 안남았네요. 이번 실기시험까지는... 강의 연장 가능할까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
댓글 1 좋아요 0 조회수 336

데이터 핸들링을 위한 판다스 기초2 강의 중에서

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

데이터 핸들링을 위한 판다스 기초2 강의에서 import pandas as pddata = { "메뉴":['아메리카노','카페라떼','카페모카', '바닐라라떼', '녹차', '초코라떼', '바닐라콜드브루'], "가격":[4100, 4600, 4600, 5100, 4100, 5000, 5100], "할인율":[0.5, 0.1, 0.2, 0.3, 0, 0, 0], "칼로리":[10, 180, 420, 320, 20, 500, 400],}data = pd.DataFrame(data) data.to _csv('data.csv', index=False) 이렇게 데이터셋을 완성하였는데 그럼 data.loc[0], data.loc[2,'메뉴':'가격']이렇게 되야하는거 아닌지요? 강의에서 df.loc[0], df.loc[2,'메뉴':'가격'] 라고 되어있는데, data가 맞는건지 df 가 맞는건지 궁금합니다.실제로 다른건 다 앞에 df 를 해도 실행이 되는데 data.loc[2, ['메뉴', '칼로리']] 는 data 라고 해야만 실행이 되더라구요.강의에서는 df.loc[2, ['메뉴', '칼로리']] 로 해도 실행되긴 하는데...df.~~, data.~~ 중 어떤것이 맞는건지 궁금합니다 data.loc[2, ['메뉴', '칼로리']] df.loc[2,'메뉴':'가격']

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
crystal 댓글 1 좋아요 0 조회수 233

SSH연결 후 5초 뒤에 끊김

해결됨

해커를 위한 iOS 앱 모의 해킹 전문 과정

Putty나 MobaXterm으로 ssh를 연결 후 5초동안 입력을 하지 않으면 세션이 종료됩니다. 해결 방법 있을까요?

  • ios
  • 모의해킹
문동준 댓글 1 좋아요 0 조회수 530

인기 태그

인프런 TOP Writers

주간 인기글