묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 시큐리티 OAuth2
Spring Authorization Server 활용 sso 구축
Oauth를 활용해 자체 sso 서버를 구축하려고 하는데 궁금한 게 있어 문의 드립니다.먼저 구축할 예정인 환경은 아래와 같습니다.로그인 프론트 Authorization과 로그인을 함께 처리할 백엔드 authorization code 요청 시 로그인 여부를 확인해야 하는데 로그인 정보가 jwt 토큰으로 cookie에 담겨있다면, OAuth2AuthorizationEndpointFilter에서 확인을 해야하는지 OAuth2AuthorizationCodeRequestAuthenticationConverter에서 확인을 해야하는지 궁금합니다.
-
미해결만들면서 배우는 리액트 : 기초
변경된 api 사용시 text 안나오는 문제
변경된 api 주소를 사용하면 text가 안나오는데, 이럴 경우에는 이미지 위에 text가 나오도록 기능을 따로 만들어야 하나요?
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
문제 해결 파일 문의 드립니다.
안녕하세요 위의 그림과 같이 user profile 팝업에서 esc 누른경우 팝업이 없어지지 않고 별도 warning 뜨고 진행이 안됩니다. 해결방안을 알수 있을까요?
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.03
OneScroll Layout (1) 강의중 질문 드립니다.
안녕하세요, 쉬운 강의 덕분에 gsap 을 쉽게 접하고 사용할 수 있어서 감사합니다.근데 해당 부분 구현중에 범샘께서 작성하신 코드(ScrollTrigger-finished)에서 확인해보면1) section3 도달 후, section2로 스크롤을 올리는 경우2) section4 도달 후, section3에서 다시 section4 로 스크롤을 내리는 경우해당 2가지 경우에서 section03을 기준으로 스크롤이 위아래로 작동을 잘 하지 않습니다.if(currentPageIndex === 3) return;때문인 것 같은데, 스크롤을 자유롭게 올렸다 내렸다 하면서 페이지를 확인할 수 있도록 하려고 하는데 잘 안되네요.코드를 어떤 방식으로 수정해야할지 질문 남깁니다.감사합니다.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
화면 정중앙에 오게끔 할수있나요?
강의 내용은 아니지만 따로 뭔가를 더 하고싶어서 그런데화면은 잘 나왔는데 text-align: center;로 중앙배치 했지만 세로가 위쪽에있는데 세로도 중앙배치 하려면 어떻게 해야하나요?
-
미해결Practical Testing: 실용적인 테스트 가이드
테스트하기 어려운 영역 분리에서 질문이 있습니다.
public class GenerateUUIDAndTimestp { public static UUIDAndTimestpDto generateTidAndTimestp() { String uuid = UUID.randomUUID().toString(); // 하이픈 제거 String uuid2 = uuid.replace("-", ""); String epochTime = String.valueOf(System.currentTimeMillis() / 1000); return new UUIDAndTimestpDto(uuid2, epochTime); } } 안녕하세요. 학습 후 테스트를 적용해볼려고 하고 있는데요. 이런 식으로 UUID와 epochTime을 쉽게 사용할려고 유틸리티 클래스와 스태틱 메서드를 만들었습니다. 테스트를 위해 테스트 하기 어려운 부분을 분리하라고 하셨는데요. 해당 부분을 어떻게 테스트 해야할 지 모르겠습니다 ㅜㅜUUID야 인자로 뺄 수 있지만 System은 정적 클래스인데 인자로 빼기 어려운 부분과 쉽고 간편하게 사용할려고 만든 메서드인데 UUID나 System을 계속 인자로 넣어야 하나 하는 부분이 고민이 들게 만듭니다. 강의 잘 듣고 있습니다 감사합니다.
-
미해결ElasticSearch Essential
xlsx 파일 색인 중 CircuitBreakingException 발생
안녕하세요. Elasticsearch Essential 강의 수강 후 실무에서 Elasticsearch를 사용하는 중 질문이 생겨 문의드립니다.Java 17 기반 G1GC 사용 중(Elasticsearch 7.10 버전), Apache Tika를 이용해 각종 확장자 파일에서 텍스트를 추출하여 indexing 합니다.그런데 doc, txt, pdf, ppt, xlsx 파일 중 유독 xlsx 파일 색인(text 타입, fielddata=false)할 때만 CircuitBreakingException이 발생합니다. Full GC 를 강제로 발생시켜도 Heap이 비워지지 않고 하한값을 높이다가 Circuit Breaker 임계치까지 도달합니다.xlsx의 시트 내에 숫자 cell이 많은데 edgengram (min_gram = 1) 토큰화 결과, 너무 많은 역색인 트리 구조가 발생한 것이 원인일까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
랜더링된 HTML 에 대한 질문입니다
안녕하세요! NextJS 에 대한 Flow 설명중 질문이 있습니다 9:01 Timeline유저의 접속요청시 해당 페이지에 대한 내용만 랜더링하여 HTML 을 반환하는 걸까요? 그게 아니고 설명하신 모든 컴포넌트에 대한 렌더링이 이루어지는 것이라면 CSR 방식과 마찬가지로 HTML 반환이 늦어지지 않나 싶습니다또한 사전 렌더링이 NextJS 서버가 부팅시 이루어지는 행위인지 궁금합니다! (서버 부팅시 랜더링된 HTML 이 생성되는지)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: AWS로 시작하는 서버 운영
파트7의 게임서버를 AWS에 올리는 법 문의 드립니다.
루키스님 안녕하세요?이 강의 활용해서 파트7의 서버를 AWS에 올리는 연습을 해보려고 하는데 잘 안돼서 문의 드립니다. 일단 환경은 아래와 같이 만들었습니다로컬 컴퓨터에서 52.1.1.1로 핑까지는 잘 뚫리는데,게임 서버의 아래 코드가 private IP를 들고 있는 상태로 서버가 구동이 되는 것을 확인하였습니다.// 서버 Program.cs string host = Dns.GetHostName(); IPHostEntry ipHost = Dns.GetHostEntry(host); // ipHost.AddressList는 총 두개의 IP를 가지고 있음 // 1번은 Ipv6 16진수 Ip // 2번은 Ipv4 172.1.1.1 IPAddress ipAddr = ipHost.AddressList[0]; IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777); 첫 번째 시도는 ipHost.AddressList[1];로 바꿔보았는데 클라이언트 접속이 안됐습니다.// private IPv4인 172.1.1.1로 리스닝.. => 클라이언트가 못 찾음 IPAddress ipAddr = ipHost.AddressList[1]; 두 번째 시도는 ipAddr를 public IP로 하드코딩 하는거였는데 없는 Ip라면서 크래쉬 나는 것을 확인했습니다.// 서버가 52.1.1.1 못 찾겠다고 크래쉬 string ipAddressString = "52.1.1.1"; IPAddress ipAddress = IPAddress.Parse(ipAddressString); IPEndPoint endPoint = new IPEndPoint(ipAddress, 7777); 그래서 좀 찾아보니까 아래처럼 하니까 이건 또 접속이 되는 것을 확인했습니다.// 서버<--> 클라이언트 접속 성공 // 0.0.0.0으로 리스닝 되고 크래쉬도 안남 IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, port); 그러면 드리고 싶은 질문이제가 성공했던 IPAddress.Any 방식으로 리스닝 해도 괜찮을까요?(AWS로 뭔가 서비스하는 수준으로 하고 싶다고 하면)IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, port); 강의에서 쓰셨던 아래 코드 방식을 유지할 할 수 있는 방식이 있을까요?제가 public IP/private IP 사용 간에 놓친 부분이 있는지 궁금합니다. IPAddress ipAddr = ipHost.AddressList[0]; // 또는 IPAddress ipAddr = ipHost.AddressList[1]; // 또는 string ipAddressString = "52.1.1.1"; IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
useState
TypeError: Cannot read properties of null (reading 'useState') 현재 27강 듣고있는데 저런에러가 나오네요.. 어떤게 문제인가요ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
spring sync connection reset
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) Spring 환경설정 질문 입니다.2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네, 기존 Q&A에 없는 것 같습니다.3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용]안녕하세요. 초보 spring 입문자 입니다.강의 1. 프로젝트 환경설정 단계 질문입니다.강사님께서 말씀하신 스프링부트 스타터 사이트로 부터 해당 hello-spring 프로젝트 생성을 했습니다.이후 Intellij에서 project로 열면 spring library를 받아와야 할텐데 받질 못하고 있습니다. load Gradle project 를 누르면 hello-project:failed > Connection reset 알람이 뜨네요. 참고로 회사 사무실 PC 환경에서 발생하는 이슈이고,자택에서 사용시에는 잘 됩니다. 회사 방화벽 문제 일까요 ? 감사합니다.
-
미해결비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)
파라미터에 있는 값이 아닌 외부에 있는 값을 캐시 key에 넣을 수 있나요?
파라미터에 있는 값이 아닌 외부에 있는 값을 캐시 key에 넣을 수 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Spring boot로만 강의를 진행 하나요, 혹은 Spring 으로도 진행 하는걸까요?
안녕하세요~ 갑자기 궁금함이 생겨 질문 드립니다~영한님이 진행 해주시는 강의는 대부분 Spring boot로 진행 되는것으로 아는데, Spring으로 진행 하는 강의 가있나요?답변부탁드립니다.감사합니다.
-
미해결디지털포렌식전문가 2급 필기 핵심 요약집[전자책]
요약집 구입
오늘자 구매했습니다. 질문이 있어서요. 밑에 읽어보니 요약집 새로 수정해서 최신판(갱신) 올려주시나요??혹시 실기도 가르치시나요..?아울러 실기 무료 기초 강의도 듣겠습니다 감사합니다
-
미해결
intelliJ에서 프로젝트를 무한로딩하는 문제 (+generated 폴더 자동 생성)
intelliJ에서 프로젝트가 무한로딩됩니다. 그리고 generated폴더도 src/main/하위에 계속 생성이 되네요. 이전에는 없던 현상이었습니다.맥을 완전 초기화하고 java 다시 깔고 인텔리제이도 새로 깐 건데도 그래요.코드도 이 코드 저 코드 다 똑같습니다. 예전에 잘 되던 코드도 마찬가지로 무한로딩하네요. ㅠㅠ 아래 방법들을 시도해봤습니다. jdk 버전과 인텔리제이 버전 맞추기 (Temurin 21)커맨드 + 쉬프트 + a 누른 후 registry로 검색 -> awt.file.dialog.enable.filter 체크 해제 후 리붓Settings -> Build, Exe... -> Build and run using을 Gradle이 아닌 IntelliJ 로 바꿔보기. 반대로도 바꿔보기. Run tests using도 마찬가지.Gradle JVM 버전 맞춰주기 (Temurin 21)Repair IDE, Invalidate Caches다 해봤는데 여전히 무한로딩합니다. ㅠㅠ어떻게 하면 좋을까요 ㅠㅠ
-
미해결처음 시작하는 도커와 컨테이너
Bind Mount에서 마운트가 되지 않습니다. (파일/경로 동일)
1. 무엇을 하고 싶으신가요?강좌 bind mount에서 로컬과 도커 컨테이너간의 파일 또는 경로를 공유 (/usr/local/apache2/htdocs/) 를 하고자 하는데 계속 연결이 되지 않습니다. 2. 언제, 어떤 오류가 발생하시나요? [doyoung@dockers-m:/test]$ sudo docker run --rm --name httpd -p 8080:80 \> -v "$(pwd)"/index.html:/usr/local/apache2/htdocs/index.html:rw \> -d httpd:2.4a6223fce61285c77f71be99f448e28b4cdba768662030e240db12c6c3d827b55docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/test/index.html" to rootfs at "/usr/local/apache2/htdocs/index.html": mount /test/index.html:/usr/local/apache2/htdocs/index.html (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.[doyoung@dockers-m:/test]$ 3. 어떤 시도를 해보셨나요?로컬 index.html의 권한 변경 chmod 777 index.html 파일 경로 변경 /home/doyoung/~~~/~--> /test/ 4. 작성한 코드를 공유해주세요.sudo docker run --rm --name httpd -p 8080:80 \-v "$(pwd)"/index.html:/usr/local/apache2/htdocs/index.html:rw \-d httpd:2.4
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose 가 Docker Desktop 에서 빠진건가요? command not found 라고 뜨네요
m1 pro 사용 중이고 docker desktop 설치되어 있습니다. 찾아보니 docker desktop 설치 시 docker compose 도 같이 설치된다고 하던데.. 커맨드 자체가 없는거보니 뭔가 바뀐것 같네요. 아래처럼 수동으로 설치도 잘 안돼서 진행을 못하고 있습니다..
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
anconda 에서 LightGBM 3.3.2 이 Setup 후 OpenMP 라이브러리에 의존하는데, 해당 라이브러리가 MacOS에 설치되지 않았기 때문에 발생하는 문제
안녕하세요 강사님 강의 모두 결제해서 듣고 있는 13년차 직장인 겸 학생입니다. MAC OS 아나콘다 환경에서 현재 4.4.5가 기본으로 깔리는데 처음문제는 early_stopping_rounds=50 였습니다. 그래서 3.3.2로 버전을 맞춰서 import lightgbm 하는데 문제가 생겨서 몇시간동안 헤매대가 결국 해결책을 찾아서 공유합니다.1. . MacOS에서 OpenMP를 설치하고 LightGBM이 이를 참조할 수 있도록 설정해야 합니다.1. Homebrew 설치먼저 Homebrew가 설치되어 있는지 확인하세요. Homebrew는 Mac에서 패키지를 관리하는 도구입니다. Homebrew가 설치되지 않았다면, 아래 명령어로 설치할 수 있습니다/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. libomp 설치libomp는 OpenMP 라이브러리입니다. Homebrew를 통해 쉽게 설치할 수 있습니다. brew install libomp이 명령어는 libomp를 설치하여, LightGBM이 OpenMP에 접근할 수 있게 만듭니다.3. Anaconda 환경에서 환경 변수 설정설치된 libomp 경로를 Anaconda 환경에서 참조하도록 설정해야 합니다. ~/.bash_profile 또는 ~/.zshrc 파일에 다음을 추가하세요. export PATH="/usr/local/opt/libomp/bin:$PATH"export LDFLAGS="-L/usr/local/opt/libomp/lib"export CPPFLAGS="-I/usr/local/opt/libomp/include"**팁Homebrew를 통해 설치된 libomp의 경로를 확인하려면 다음 명령어를 터미널에 입력하세요:brew --prefix libomp그 후 터미널에서 다음 명령어를 실행해 환경 변수를 적용하세요: source ~/.bash_profile # 또는 ~/.zshrc 4. LightGBM 재설치pip uninstall lightgbmpip install lightgbm==3.3.2~ 끝 ~ 강사님 항상 업데이트 잘해주셔서 저도 도움이 되고자 올립니다.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
스텟 연동 관련해서 질문이 있습니다.
제가 기존에 개발해둔 아이템 시스템을 연동시키면서 아이템의 스텟을 정할때 Resources/Stat폴더를 참조하고 그걸 기반으로 Enum으로 해당 스텟들이 있는 스크립트 파일을 만든 다음에 아래에 있는 버튼을 눌러서 일일히 Enum 파일을 동기화시켰는데 너무 번거로운것 같습니다. 생성, 삭제, 수정할때마다 동기화시키면 작업할때마다 딜레이가 너무 커지는데 다른 방법이 있을까요if (dataType == typeof(Stat)){GUI.color = Color.yellow;// Data를 이름 순으로 정렬하는 Button을 그림if (GUILayout.Button($"Press it after you finish editing")){StatEnumSynchronizer.SyncStatEnum();EditorUtility.SetDirty(database);AssetDatabase.SaveAssets();}}아래는 해당 enum파일을 만드는 스크립트입니다.using System;using System.IO;using System.Linq;using UnityEditor;using UnityEngine;public static class StatEnumSynchronizer{private const string StatFolderPath = "Assets/Resources/Stat";[MenuItem("Tools/Sync Stat Enum")]public static void SyncStatEnum(){if (!Directory.Exists(StatFolderPath)){Debug.LogError($"Directory does not exist: {StatFolderPath}");return;}var statFiles = Directory.GetFiles(StatFolderPath, "*.asset", SearchOption.TopDirectoryOnly);var statCodeNames = statFiles.Select(file => AssetDatabase.LoadAssetAtPath<Stat>(file)).Where(stat => stat != null).Select(stat => stat.CodeName).Distinct().OrderBy(name => name).ToList();string enumPath = "Assets/Scripts/Enum/ItemStatusAttribute.cs";using (var writer = new StreamWriter(enumPath, false)){writer.WriteLine("public enum ItemStatusAttribute");writer.WriteLine("{");writer.WriteLine(" Default,");foreach (var codeName in statCodeNames){string enumName = SanitizeEnumName(codeName);writer.WriteLine($" {enumName},");}writer.WriteLine("}");}AssetDatabase.Refresh();Debug.Log("Stat Enum synchronized.");}private static string SanitizeEnumName(string name){return new string(name.Where(c => !char.IsWhiteSpace(c) && (char.IsLetterOrDigit(c) || c == '_')).ToArray()).Replace(" ", "_").Replace("-", "_").ToUpper();}}
-
미해결김영한의 실전 자바 - 기본편
객체 생성과 메서드 호출에 대한 메모리 관점 흐름에 대해 질문 있습니다.
메서드 프레임은 메서드 영역에 있는 메서드 코드를 기반으로 생성되나요?객체 생성과 메서드 호출에 대한 메모리 관점 흐름을 정리 해봤는데 맞게 정리한건지 궁금합니다. "객체 생성시 힙 영역에 객체 저장 -> 메서드 호출시 메서드 영역에 있는 호출한 메서드 코드를 찾음 -> 찾은 메서드 코드로 스택 영역에 메서드 프레임을 생성함"힙 영역에서 메서드 영역에 있는 본인의 메서드 코드를 어떻게 찾는지 궁금합니다.