묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
리타게터 익스포트 후 얼굴이...?
리타게팅 중에는 문제 없고 애니메이션도 잘 연동되는데..문제는 익스포트 한 후입니다.. Face Attach 부분이 UE4 마네킹에는 없어서 그런건지 어떤지 어떤지 모르겠네요. 근데 리타게터에선 이상없던게 어째서 익스포트 후에 이렇게 바뀔까요? 다양한 방법으로 시도해보고 있습니다만 아직 혼자 해결하지 못해서 질문 남겨봅니다.
-
미해결실습으로 배우는 핵심 네트워크 기술
강의 블로그 게시물 비밀번호
안녕하세요. 강의 잘 듣고 있습니다.다름이 아니라, 수강 중에 강사님 블로그를 방문했는데 일부 게시물에 비밀번호가 걸려 있더군요. 해당 게시물의 비밀번호를 공유받을 수 있을까요?
-
미해결김영한의 실전 자바 - 중급 2편
섹션4 강의 문의 입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님 강의 항상 잘 보고있습니다 🙂이번 강의에서 ArrayList 클래스를 직접 사용하지 않고, 별도로 클래스를 구현하여 기능을 설명해 주셨는데요.이전 강의에서는 직접 구현한 뒤 해당 클래스를 함께 활용하셨던 것으로 기억하는데,이번에는 ArrayList를 전혀 사용하지 않고 직접 구현만 하신 점이 궁금해서 문의드립니다.혹시 ArrayList를 사용하지 않아도 충분히 개념을 설명할 수 있어서 그렇게 진행하신 걸까요?아니면 별도로 구현하는 것이 ArrayList의 내부 구조를 더 잘 이해하는 데 도움이 되기 때문일까요? 강의 정말 유익하게 보고 있으며, 많은 걸 배워가고 있습니다!제 질문이 혹시 의도를 제대로 파악하지 못한 것이라면 너그럽게 이해해 주시면 감사하겠습니다. 😊
-
해결됨실전! Redis 활용
Stale Cahe Invalidation 방법에 대한 질문 요청 드립니다
강사님 안녕하세요. 해당 강의 부분 듣고 궁금한 점이 하나 생겨서 질문 요청 드립니다.제가 특정 rdb의 데이터를 레디스에 캐싱 후 데이터 조회마다 사용하고 데이터의 변경이 있을 경우에 레디스에 반영해주는 방법을 사용하곤 했는데, 개발자가 인지 못한 db 데이터의 수정이나 오염이 있을 경우 강의에서 말씀해주신 것 처럼 정합성이 깨지고 문제가 발생할 것 같은데 이에 대한 방법으로 어떻게 처리하시는 걸 선호하시나요? 주기적인 배치를 통한 데이터 정합성 검사? db에서 데이터의 변경이 있었는지 version 같은 컬럼을 두고 확인?해당 문제에 대한 처리 방법이 좋을지 강사님의 의견이 궁금합니다!
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
회사보안 문제로 허깅페이스 hub.pull 이 불가능한데
혹시 다른 방법으로 prompt를 생성할 방법이 있을까요?
-
미해결[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]
sklearn v1.5.1
from sklearn.metrics import root_mean_squared_error from sklearn.metrics import root_mean_squared_log_error y_pred = [11, 22, 33, 44] y_true = [10, 20, 30, 40] print("RMSE: ", root_mean_squared_error(y_true, y_pred)) print("RMSLE: ", root_mean_squared_log_error(y_true, y_pred))
-
미해결Practical Testing: 실용적인 테스트 가이드
하위 레이어가 상위 레이어를 알고 있는 경우에 대해 질문 있습니다.
안녕하세요. 하위 레이어가 상위 레이어를 알고 있는 경우는 좋지 않다고 하셨는데 만약에 도메인을 순수하게 유지하고 싶어서도메인 엔티티와 jpa 엔티티를 분리하고, service와 jpaRepository에 DIP를 적용하게 되면service에서는 repository 인터페이스를 사용하고,repository 인터페이스를 구현하는 repositoryImpl에서 jpaRepository를 사용하게 될 것 같습니다.이 경우에 repositoryImpl에서는 jpa 엔티티 -> 도메인 엔티티로 변환을 하고, 도메인 엔티티를 service로 반환해주어야 할 것 같은데이렇게 되면 하위 레이어인 infrastructure(persistance) 레이어에서 상위 레이어에 있는 도메인 엔티티에 대한 의존성이 생긴다고 생각하는데 이런 경우는 상위 레이어에 의존성이 생겨도 상관 없는 경우인가요??테스트 강의와 무관한 질문을 드려서 죄송합니다 ㅠㅠ
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
DMA 컨트롤러
DMA 컨트롤러가 메모리를 직접 접근해서 사용할때, CPU가 사용하고 있는 메모리를 건드릴 수도 있나요? 2 .반대로도 가능한지 궁금합니다. ( CPU가 사용하고 있는 메모리를 DMA 컨틀롤러가 접근할 수 있는지 )
-
미해결
UnrealInsight 질문이요
보시면 전에 했던 것들이 계속 남아있네요. 어떻게 초기화하죠?
-
해결됨
spring cloud gateway에서 load balancing
https://www.inflearn.com/community/questions/487783/spring-cloud-gateway-amp-spring-cloud-load-balancer-%EC%A7%88%EB%AC%B8?srsltid=AfmBOoroscC0EG50YWUDqmgSBoxbGx8lo0JYvHvfdvEwmK-5hlUs6HmE Spring Cloud Load Balancer와 Spring cloud Gateway의 차이점에 대해서 궁금해서 알아보던 중에 위의 질문을 보게되었습니다 강사님께서 LB에 대한 처리를 eureka(service discovery)에서 하고있다고 하셨는데 제가 알기로는 eureka에서는 따로 로드밸런싱 기능이 없고 서비스의 인스턴스를 요청하면 모든 인스턴스 목록을 리턴하고 이걸 받은 클라이언트측에서 받은 리스트 중 선택하는걸로 알고 있습니다. 그리고 강의에서 gateway에도 로드밸런싱 기능이 있다고 말씀하셨는데 그럼 gateway에서 로드밸런싱을 하는게 맞는것 같아서요..! 이 부분이 헷갈려서 질문드립니다.정리하자면eureka에서 로드밸런싱을 한다는게 하나의 서비스에 대해서 로드밸런싱이 아닌 여러 서비스 중 요청한 서비스를 찾아서 리턴하는 개념으로 로드밸런싱을 하고 있다고 한건지 그게 아니라면 자체적으로 eureka에서 로드밸런싱 기능을 제공하는게 맞는지 eureka에서 로드밸런싱 기능을 제공하는게 맞다면, gateway에 로드밸런싱 기능이 있는데 그럼 이건 eureka와 연동되는 경우에는 사용하지 않을텐데 (eureka에서 이미 로드밸런싱을 한 이후이므로) 어떠한 경우에 gateway에서 로드밸런싱을 사용하는지위의 사항이 궁금합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Camera #3 에서 질문입니다. 카메라가 캐릭터 position으로 이동됩니다.
using UnityEngine; public class CameraController : MonoBehaviour { [SerializeField] Define.CameraMode _mode = Define.CameraMode.QuaterView; [SerializeField] Vector3 _delta = new Vector3(0f, 0f, 0f); [SerializeField] GameObject _player = null; void Start() { } void LateUpdate() { if (_mode ==Define.CameraMode.QuaterView) { RaycastHit hit; if (Physics.Raycast(_player.transform.position, _delta, out hit, _delta.magnitude, LayerMask.GetMask("Wall"))) { float dist = (hit.point - _player.transform.position).magnitude * 0.8f; transform.position = _player.transform.position + _delta.normalized * dist; } else { transform.position = _player.transform.position + _delta; transform.LookAt(_player.transform); } } } public void SetQuaterView(Vector3 delta) { _mode = Define.CameraMode.QuaterView; _delta = delta; } } 대체 어디가 잘 못 된건지 모르겠습니다 ㅠ
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
Buffer Cache를 통한 데이터 Access 에서 DBA 정보를 어떻게 알아내는지 궁금합니다.
Buffer Cache 개념 및 Buffer Cache Access 메커니즘의 이해 강의 6분 30초 쯤 나오는 내용에 질문이 있습니다.Select * from customer where id = '005'위의 쿼리가 있을 때 아래와 같은 설명이 있습니다."설명에서는 Data Dictionary 등의 내부 정보를 통해서 Custormer 테이블의 id='005' 데이터가 있는 Block의 DBA 정보를 알아냄" 그런데 이 내용이 이해가 되지 않습니다.조건 값으로 어떻게 Block 3에 있는지 알 수 있는지요?풀스캔을 제외하고 바로 찾으려면 인덱스의 ROWID 값을 이용해야 하지 않나요?
-
미해결Practical Testing: 실용적인 테스트 가이드
경계값 테스트 작성 시 질문 있습니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요. 경계값을 테스트할 때는 하나의 테스트 메서드 안에 모두 작성하는게 맞는건가요?상품 등록시 상품 번호의 증가로 예를 들면한 자리 -> 한 자리 ( 1 -> 2 )한 자리 -> 두 자리 ( 9 -> 10 )두 자리 -> 세 자리 ( 99 -> 100 ) 이런 식으로 작성할 수 있을 것 같은데, 이렇게 경계값에 대한 모든 경우를 한 메서드에 작성하는게 맞는 것 같긴한데, 경계값이 많아지면 좀 알아보기 힘들 것 같아서 여쭤봅니다..
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
웹 크롤링 대상중 웹에디터(smart_editor2) 안의 텍스트를 크롤링하는 방법
수업을 적용하며 크롤링 연습을 하고 있는데, 웹 크롤링 대상중 웹에디(smart_editor2) 안의 텍스트를 크롤링하는 방법이 궁금합니다.셀레니움을 활용하여 적용하고 있는데 웹에디터는 접근이 잘 안되고 접근이 된것 같은데 텍스트가 출력되지 않습니다 어떠헥 해야 할지 모르겠어서 질의 드려요 외부 접근되지 않는 사이트이고 아이디 비번은 마스킹 처리한 코드는 아래와 같습니다. 결국 아래 부분이 문제인것 같은데 에디터 내 텍스트 추출 방법을 몰라 문의드려요 try: driver.switch_to.frame("iframe4dummy") # 🔹 iframe 내부로 이동 # 🔹 iframe 내부에서 특정 클래스("se2_inputarea")를 가진 body 태그 찾기 # 🔹 iframe 내부의 `body` 태그에서 텍스트 가져오기 body = driver.find_element(By.CSS_SELECTOR, "body") answer = body.text.strip() print("✅ HTML 에디터 내용:", answer) # 🔹 다시 원래 페이지로 복귀 driver.switch_to.default_content() except Exception as e: print("❌ iframe 전환 실패 또는 body 태그를 찾을 수 없습니다:", str(e)) from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from urllib.parse import urlencode # URL 파라미터 추가용 import time import random import openpyxl import requests from bs4 import BeautifulSoup from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC newscralling =[] import pyautogui import pyperclip #크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager # #브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service = service) # 웹페이지 해당 주소 주소이동 driver.implicitly_wait(2) #웹페이지가 로딩 될때까지 5초 대기 driver.maximize_window() driver.get("https://OOO") #아이디 입력창 id = driver.find_element(By.CSS_SELECTOR, ".submitLogin.text:nth-of-type(1)") id.click() pyperclip.copy("id") pyautogui.hotkey("ctrl", "v") time.sleep(0.3) # id.send_keys(Keys.TAB) # #비밀번호 입력창 직접입력 # time.sleep(7) pw = driver.find_element(By.CSS_SELECTOR, ".login ul li:nth-of-type(2) input") pw.click() # pw.send_keys("비밀번호") pyperclip.copy("pass") pyautogui.hotkey("ctrl", "v") #로그인 버튼 login_btn = driver.find_element(By.CSS_SELECTOR, ".btnLogin") login_btn.click() time.sleep(1) params = { "counselProcStatus": 2, "page": 1, "pageSize": 2 } #SSL인증 비활성화에 대한 경고메시지 삭제 import urllib3 urllib3.disable_warnings() qna_list_url = "https://OOO"+ urlencode(params) driver.get(qna_list_url) html = driver.page_source soup = BeautifulSoup(html, 'html.parser') articles = soup.select(".boardListStyle table tbody tr") import openpyxl from datetime import datetime wb = openpyxl.Workbook() ws = wb.active ws.title = "온라인상담_접수중" ws.append(["date", "category", "title", "quest", "answer", "man", "status"]) crowling = [] for article in articles: title = article.select_one(".alignLeft a").text date = article.select_one(".boardListStyle table tbody td:nth-of-type(4)").text category = article.select_one(".boardListStyle table tbody td:nth-of-type(2)").text status = article.select_one(".boardListStyle table tbody td:nth-of-type(7)").text link = 'https://OOO/'+ article.select_one(".alignLeft a").attrs['href'] title_link = f'=HyPERLINK("{link}", "{title}")' #상세 페이지 요청 driver.get(link) time.sleep(2) # 페이지 로딩 대기 detail_html = driver.page_source detail_soup = BeautifulSoup(detail_html, 'html.parser') quest = detail_soup.select_one(".con_txt").text try: driver.switch_to.frame("iframe4dummy") # 🔹 iframe 내부로 이동 # 🔹 iframe 내부에서 특정 클래스("se2_inputarea")를 가진 body 태그 찾기 # 🔹 iframe 내부의 `body` 태그에서 텍스트 가져오기 body = driver.find_element(By.CSS_SELECTOR, "body") answer = body.text.strip() print("✅ HTML 에디터 내용:", answer) # 🔹 다시 원래 페이지로 복귀 driver.switch_to.default_content() except Exception as e: print("❌ iframe 전환 실패 또는 body 태그를 찾을 수 없습니다:", str(e)) #answer = detail_soup.select_one(".se2_input_area.husky_seditor_editing_area_container iframe").text man = detail_soup.find('th', string="작성자").find_next_sibling().text crowling = ws.append([date, category, title, quest, answer, man, status]) driver.back() # 브라우저에서 '뒤로 가기' 실행 print(date, category, title, quest, answer, man, status) now = datetime.now().strftime("%Y%m%d_%H%M%S") filename = f"온라인상담_{now}.xlsx" wb.save(filename)
-
해결됨오라클 SQL 데이터베이스
(HTTP code 500) server error - Ports are not available 에러가 나옵니다.,
학습 관련 질문을 남겨주세요. 자세하게 남겨주면 더 좋습니다. 안녕하세요 docker 설치하고 말씀하신 이미지 다운받아 실행하니 이미지와 같이 포트를 허용할수 없다는 에러가 나옵니다.gpt보며 이거저거 해보았는데 방법이 잘못되었는지 해결이 되지 않습니다. 혹시 어떻게 하면 되는지 알려주시면 감사하겠습니다.
-
미해결실전! Querydsl
프로젝트 세팅시 궁금한게 있습니다 !
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]plugins { id 'java' id 'org.springframework.boot' version '3.4.2' id 'io.spring.dependency-management' version '1.1.7' } group = 'study' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //test 롬복 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } 프로젝트 세팅하면서 두 가지 궁금한게 있습니다. 강의 교안에 나와있는것처럼 세팅을 완료하였는데, "Gradle -> Tasks -> other -> compileQuerydsl" 여기서 compileQuerydsl이 보이지 않습니다. compileJava를 하면 Q도메인이 생성되는데, 이러면 문제 없는게 맞을까요 ?Q도메인을 보면, 아래와 같이 javax.annotation.이 생성되는데, 이건 jakarta가 아니어도 상관 없는것일까요? package study.querydsl.entity; import static com.querydsl.core.types.PathMetadataFactory.*; import com.querydsl.core.types.dsl.*; import com.querydsl.core.types.PathMetadata; import javax.annotation.processing.Generated; import com.querydsl.core.types.Path; /** * QHello is a Querydsl query type for Hello */ @Generated("com.querydsl.codegen.DefaultEntitySerializer") public class QHello extends EntityPathBase<Hello> { private static final long serialVersionUID = 1910216155L; public static final QHello hello = new QHello("hello"); public final NumberPath<Long> id = createNumber("id", Long.class); public QHello(String variable) { super(Hello.class, forVariable(variable)); } public QHello(Path<? extends Hello> path) { super(path.getType(), path.getMetadata()); } public QHello(PathMetadata metadata) { super(Hello.class, metadata); } } 감사합니다.
-
미해결Amazing JavaScript - 입문
export 선언 위치
일반적으로 어떤 프로그래밍 언어이든 사용하고자 하는 변수나 함수가 먼저 선언되고 그 이후에 사용이 가능한데 export 예시를 보여주신 것처럼 export는 해당 파일에서 가장 아래 쪽에서 선언을 해야 하는 게 맞나요?
-
미해결홍정모의 따라하며 배우는 C++
안녕하세요 혹시 제가 이해한게 맞을까요
void printColorName(Colors color){ if (color == Colors::BLACK) std::cout << "Black" << std::endl; else if (color == Colors::WHITE) std::cout << "White " << std::endl; else if (color == Colors::RED) std::cout << "Red" << std::endl; 여기서 매개변수가 Colors color인데enum타입의 클라스 Colors의 오브젝트를 color라는 이름으로 매개변수를 받는다음에 if문이 실행되는거 맞죠? 그 오브젝트가(attribute가) 될 수 있는거는 BLACK,WHITE RED GREEN,BLUE만 가능하구 매개변수로 줄 떄, Colors::BLACK이렇게 줘야하구요
-
미해결Airflow 마스터 클래스
dag_run 주기적으로 삭제
안녕하세요 강사님! 실습중에 궁금한게 생겨서 질문드립니다! dag이 실행될때 저장되는 dag_run 데이터는 주기적으로 삭제해도 airflow 스케줄 실행에 문제가 발생하진 않나요?? postgres도 EC2 내부에 docker-compose로 띄워놔서 혹시나 주기적으로 지워주면 리소스를 줄일 수 있을까 해서요!
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Infinity Blade: Warriors를 다운 에러
4강 수업을 위해 Infinity Blade: Warriors를 다운받으려고 하는데 fab으로 바뀌어서 검색이 되지 않습니다. 자료다운을 통해 Github에서 언리얼에디터파일을 다운받았으나 에디터가 실행은 되나 Animation폴더 내 애셋 전체가 에러가 나면서 실행되지 않습니다. 또한 Animation폴더를 다른 언리얼에디터 프로젝트로 migration하거나 직접 content폴더내로 이동해도 계속 에러가 납니다. Infinity Blade: Warriors 파일을 다운 받도록 도와주세요~