묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 중급 1편
지역변수와 캡처 변수의 값이 달라지는게 문제인 이유?
지역클래스가 접근하는 지역 변수는 사실상 final이어야 하고,그 이유는 '지역 변수의 값과 캡처된 변수의 값이 서로 달라지는 문제가 발생하기 때문' 이라는 것은 이해했습니다! 그런데 지역 변수의 값과 캡처된 변수의 값이 서로 달라지는게 왜 문제인가에 대해서 의문이 남아서 질문 드립니다 ㅠㅠ 제가 의문을 가지는 부분을 말씀드리면캡처된 지역변수를 가지고 있는 지역클래스의 인스턴스를 생성 후 사용하는 시점에서는 어차피 원래 지역변수가 있던 스택은 제거된 상태이고,그래서 값이 서로 같고 다름을 떠나서 아예 없는건데 애초에 동기화 문제 자체를 신경쓸 필요가 없는것 아닌가요??
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계와 연관관계의 주인 주의점 및 정리 강의에서 질문입니다~
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 강의에서 마지막에 “처음 JPA로 설계할 때, 무조건 단방향 매핑으로 설계를 완료”하는 것이 좋다고 해주셨는데,여기서 얘기하는 단방향 매핑이 1:N 연관관계에서 N쪽에서만 연관관계를 맺는 걸 말씀하신 걸까요?@ManyToOne@JoinColumn(name=“TEAM_ID”)private Team team;이런식으로요~
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
리액트를 선택한 이유
'수익형 웹사이트 사이트' 강의에서여러가지 프론트엔드 프레임워크 중,리액트를 선택하신 이유를 알고 싶습니다.
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
ELB 셋팅하기 기본 네트워크 매핑 IP 풀
안녕하세요현재 가용 영역 및 서브넷을 다 체크하는데지금 위에 ip풀 - 신규라고 있는데 이 부분은 체크빼야되죠??구글링해보니 이 옵션이 "IPAM (IP Address Manager)" 기업용 관리기능이라고 나와있더라고요.
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
이미 로컬에 mysql/redis가 설치되어 있을 때 포트매핑
안녕하세요! 도커는 처음 접해보는데 강의 정말 잘 듣고 있습니다! 이미 로컬에 DB가 설치가 되어 있는 상태면 강사님께서는 호스트의 DB들을 죽인? 후 포트 매핑을 하셨는데 혹시 호스트 포트 번호를 다르게 매핑 해도 되나요?예를 들어서 docker -run -p 3307:3306 -d mysql 이런 식이거나 docker -run -p 6380:6379 -d redis 이렇게요!
-
해결됨블렌더 그리스펜슬 베이직 클래스
브러쉬 추가하기
3.0 에서 사용하던 브러쉬를 4.4 에 추가해서 사용할수 있을까요?
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
InterruptedExceptionThreadStopExample 질문입니다.
InterruptedExceptionThreadStopExample 를 돌리면 강의 로그에서는============= 중단 스레드가 작업 스레드를 중단 시켰습니다.인트럽트 상태 1 : true=============형태가 찍히는데 제 로컬에서는=============중단 스레드가 작업 스레드를 중단시켰습니다.인트럽트 상태 2 : false=============가 찍히는데 이건 확률적으로 로그가 찍히는 걸까요? 답변 부탁 드립니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
테이블 설계관련 문의
안녕하세요.예전부터 목록 조회 관련 궁금한게 있었는데 어떻게 설계하는게 좋은지 몰라서 문의드립니다.강의의 예제처럼 하나의 테이블에 대해서 게시글 목록을 보여주는 기능들은 어떻게 해야하는지 잘 이해가 됩니다. 근데 보통 개발을 하다 보면 리스트를 보여주는 경우가 많잖아요.그런 ux들을 보면 3~4개 이상의 테이블을 join하고, 여러 테이블에 대한 필터링도 하고, 여러 테이블의 여러 컬럼에 대해서도 정렬까지 하고, 페이지네이션까지 해야 하는 경우가 많았던 것 같습니다.거기에 N:M구조를 join하는 경우가 있다면... 이런 기능들을 구현하려면 아무리 머리를 굴려도 full scan이 발생할 수 밖에 없을 거 같은데요.필터링이나 정렬이 각각 다른 테이블 기준으로 선택이 된다면 속도가 나올 수 없어 보입니다. 대책을 생각해보면그냥 원래 느리니까 db 성능을 믿고 그냥 join해서 보여줄수도 있고, 아니면 전체를 join 한 새로운 테이블을 만들기도 하는건지 궁금하네요. 근데 만약 새로운 테이블을 만들었더라도 N:M구조가 있었다면 또 1:N 구조가 여전히 남아있을테니 또 성능이 좋지 않을것이기에 생각이 많아지네요.
-
해결됨한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지
Promise 객체 출력
영상 [4:12]에서 console.log()로 delay(3000)의 반환값인 Promise 객체를 출력했는데 어떻게 "3초가 지났습니다."라는 문구가 출력되는 건가요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
게임 서버 취준생 고민입니다.
안녕하세요 작년 8월에 인서울 하위권 수준 컴공을 졸업한 26살 취준생입니다. 요즘 진로 관련 고민이 많아, 현실을 객관적으로 파악하고 선택을 해야 할 것 같아서 질문드립니다.게임 서버 프로그래밍 분야에 늦게 관심이 생겨서 작년부터 공부를 시작했습니다.작년에 루키스님 C++ 게임 서버 강의를 보고 채팅 서버를 만들었습니다. 6개월 정도가 걸렸는데 저의 C++ 실력이 너무 부족하다는 생각을 많이 했습니다.그래서 이후에 C++ 관련 공부 (간단한 2D 게임, asio 네트워크 프로그래밍, 알고리즘 등) 등을 했습니다. 공부를 끝내고 올해 2월 정도부터 게임 서버 강의를 다시 보면서 2D MMO 서버를 목표로 프로젝트를 진행하고 있습니다.현재 고민은 다음과 같습니다.취준 기간이 너무 길어지고 있는 것 같아서 지금 제가 잘 하고 있는 건지 의문이 듭니다.요즘 채용 공고를 보니 게임 서버 신입, 특히 C++ 쪽은 정말 절망적일 수준으로 공고가 없어서 계속 준비하는 게 맞나 생각이 듭니다.서버 신입은 보수적이라 학교 같은 기본적인 스펙이 중요하다고 하셨는데 뛰어난 스펙을 가진 상황이 아니라서 열심히 해도 경쟁력이 있을까 의구심이 듭니다.지금이라도 방향을 바꿔서 그나마 수요가 있는 웹 개발쪽으로 가는 것도 방법일까요?취준 기간이 길어지니 이런 부정적인 생각만 늘어나네요. 확실한 정답은 없겠지만 루키스님이 의견 주시면 도움이 많이 될 것 같습니다. 현실적인 답변 부탁드립니다. 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Network error: Connection refused
wsl ubutu에서 Network error: Connection refused가 나오면 어떻게 해야 하나요?==================
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-B번 질문 있습니다!
3-B번 보물섬 문제를 풀다가. 각 육지마다 BFS를 하는 것보다, 한 컴포넌트에서 BFS_1로 임의의 한 점에서 가장 먼 점을 찾고, 찾은 가장 먼 점에서 BFS_2로 또 가장 먼 점을 찾으면, 해당 컴포넌트에서는 가장 먼 점의 길이를 구할 수 있다고 생각하고 풀이하였는데 틀린 이유를 잘 모르겠습니다...이렇게 풀면 틀린 이유가 있을까요??항상 수업 너무 잘 듣고 있습니다. 감사합니다!#include <bits/stdc++.h> using namespace std; int n, m; string a; char mapp[54][54]; bool visited[54][54]; int dis[54][54]; int dy[] = {0,-1,0,1}; int dx[] = {1,0,-1,0}; queue<pair<int,int>> q; queue<pair<int,int>> q2; int max_val = 0; pair<int,int> bfs_1(int y, int x){ visited[y][x]=1; q.push({y,x}); pair<int,int> here; while(q.size()){ here = q.front(); q.pop(); for(int i=0;i<4;i++){ int ny = here.first + dy[i]; int nx = here.second + dx[i]; if(ny<0||nx<0||ny>=n||nx>=m) continue; if(visited[ny][nx]) continue; if(mapp[ny][nx]=='W') continue; visited[ny][nx] = 1; q.push({ny,nx}); } } return here; } int bfs_2(int y, int x){ dis[y][x] = 1; q2.push({y,x}); pair<int,int> here; while(q2.size()){ here = q2.front(); q2.pop(); for(int i=0;i<4;i++){ int ny = here.first + dy[i]; int nx = here.second + dx[i]; if(ny<0||nx<0||ny>=n||nx>=m) continue; if(dis[ny][nx]>0) continue; if(mapp[ny][nx]=='W') continue; dis[ny][nx] = dis[here.first][here.second] + 1; q2.push({ny,nx}); } } return dis[here.first][here.second]; } int main(){ cin >> n >> m; for(int i=0;i<n;i++){ cin >> a; for(int j=0;j<a.length();j++){ mapp[i][j] = a[j]; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(mapp[i][j]=='W') continue; if(visited[i][j]) continue; pair<int,int> ret_1 = bfs_1(i,j); int max_dis = bfs_2(ret_1.first, ret_1.second) -1; max_val=max(max_val,max_dis); } } cout << max_val; return 0; }
-
미해결Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
Webflux의 Non-Blocking 특성에 대해 문의 드립니다.
WebFlux의 Non-Blocking의 장점이"여러 작업에 대해서 단일 스레드로 이벤트 루프 방식으로 Blocking 없이 여러 작업을 번갈아 가며 처리 가능하다"라고 이해를 했습니다. 강의의 예제도 보았고 또 여러 예제를 만들어 돌려 보아도,단일 스레드로 여러 subscribe() 요청을 번갈아가면서 처리하는 것을 확인하지를 못하였습니다. 물론 publishOn이나 subscribeOn, parallel을 이용 혹은flatMap과 delayElements를 사용하여 별도의 스레드를 띄워 구현한다면여러 스레드가 병렬로 동시에 여러 요청의 작업을 처리 할 수 있다는 것은 알고 있습니다.하지만 이 방법은 결국 다수 스레드를 생성하여 각각의 스레드가 각각의 작업을 처리 하는 구조가 되어Tomcat기반의 동기 MVC 방식에서의 Blocking 멀티스레드와 별반 차이를 체감하지 못하였습니다. 예를 들어 reactor.netty.ioWorkerCount=1 로 설정하고Rest API "/api/stream" 를 만들어 클라이언트 A가 GET 호출로 구독 시클라이언트 B는 A가 연결을 끝날때 까지 대기하였습니다. (Blocking MVC와 동일 동작)(기대한 것은 단일 스레드로 클라이언트 A와 B의 요청을 번갈아가며 처리) 또다른 테스트로main메소드에서 퍼블리셔에 대해 2개의 subscriber가 거의 동시 구독하였을 경우먼저 시작한 subscriber의 처리가 다 끝나고 그다음 subscriber가 처리 진행하였습니다.(물론 스케줄러나 delayElements, webclient 등 내부적으로 별도 스레드를 띄우면 병렬 처리 됨)[제가 테스트한 결과 1 - 단일 스레드 순차 수행][main] WebFluxExample - main - A1 시작[main] WebFluxExample - main - A2 완료[main] WebFluxExample - main - A3 완료[main] WebFluxExample - main - A 체인 최종 결과: A1 -> A2 -> A3[main] WebFluxExample - main - B1 시작[main] WebFluxExample - main - B2 완료[main] WebFluxExample - main - B3 완료[main] WebFluxExample - main - B 체인 최종 결과: B1 -> B2 -> B3[제가 테스트한 결과 2 - 멀티 스레드 병렬 수행][main] DEBUG reactor.util.Loggers - Using Slf4j logging framework[boundedElastic-1] WebFluxExample - boundedElastic-1 - A1 시작[boundedElastic-2] WebFluxExample - boundedElastic-2 - B1 시작[boundedElastic-1] WebFluxExample - boundedElastic-1 - A2 완료[boundedElastic-2] WebFluxExample - boundedElastic-2 - B2 완료[boundedElastic-1] WebFluxExample - boundedElastic-1 - A3 완료[boundedElastic-2] WebFluxExample - boundedElastic-2 - B3 완료[boundedElastic-1] WebFluxExample - boundedElastic-1 - A 체인 최종 결과: A1 -> A2 -> A3[boundedElastic-2] WebFluxExample - boundedElastic-2 - B 체인 최종 결과: B1 -> B2 -> B3 [원하는 결과 - 단일 스레드 병렬 수행][동일스레드] WebFluxExample - 동일스레드- A1 시작[동일스레드] WebFluxExample - 동일스레드- B1 시작[동일스레드] WebFluxExample - 동일스레드- A2 완료[동일스레드] WebFluxExample - 동일스레드- B2 완료[동일스레드] WebFluxExample - 동일스레드- A3 완료[동일스레드] WebFluxExample - 동일스레드- B3 완료[동일스레드] WebFluxExample - 동일스레드- A 체인 최종 결과: A1 -> A2 -> A3[동일스레드] WebFluxExample - 동일스레드- B 체인 최종 결과: B1 -> B2 -> B3하여 진정한 Webflux의 Non Blocking, 즉 단일 스레드로 (동시 병렬이 아닌) 여러 작업을 번갈아가며 처리하는 것이 가능하다면 처리하는 예제와 결과를 보여주시면 감사하겠습니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
리눅스
안녕하세요! 수강전 질문 드립니다재성님 로드맵에서 도커 배우기 전에 리눅스를 배워야한다고 나와있는데 제가 아직 리눅스를 다뤄본적이 없어서 먼저 리눅스를 배우거 오는 것이 좋을까요??
-
해결됨TypeScript로 시작하는 LangChain - LLM & RAG 입문
슬라이드
안녕하세요. 강의 잘 듣고 있습니다.혹시 사용하신 슬라이드를 받아볼수 있을까요?감사합니다.
-
미해결Atlassian Jira 사용법 기초
컴포넌트 관련 질문드립니다
안녕하세요 저도 선생님처럼 칸반보드에 똑같이 실습하고 있는데, 아무리 프로젝트를 새로 설정해도 컴포넌트를 입력할 수 없다고(존재하는 컴포넌트가 없다고)나옵니다. 어떻게 해야 하는지 ㅜㅜㅜ 알려주세요
-
미해결원고 생성기 프로그램 개발 강의 (Chatgpt api)
원본 소스 코드를 다운 받으면 그 안에 파일이 여러 개 있는데 모든 게 합쳐져 있는 최종 코드 같은 건 없는 건가요?
원본 소스코드를 다운로드 하면 그 안에 각 강의 시간에 배운 코드들이 다 있습니다. 하지만 그 소스들이 다 합쳐져 있는 최종 코드 같은 건 없는 것 같습니다. 예를 들면 main.py 안에는 long_article.py에 배운 글을 길게 작성하는 코드가 빠져 있잖아요. 결국 최종적으로 원고 생성기 프로그램은 배운 것들을 각자 알아서 합쳐서 만들라는 것인가요? 제가 이해한 것이 맞는지 궁금합니다.
-
미해결개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
뮤텍스 락
뮤텍스 락으로 설명하신 내용은 스핀락 아닌가요?스핀락은 프로세스를 블로킹하지 않고 계속해서 CPU를 사용하여 busy-waiting이 일어나지만 뮤텍스 락은 대기 큐에서 블로킹 된 상태로 대기하여 busy-waiting이 일어나지 않는 걸로 알고 있습니다
-
미해결3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
도와주세요
지브러쉬로 만들고 맥스에서 리토폴로지하고 섭페에서 색도입혔습니다 그런데 섭페 익스포트를 보면 노말맵같은거 추출만있는데요 aaa급 퀄리티의 모델링을 완성하기위해서는 이다음에 섭페에서추출한거를 어디에다 집어 넣어야하나요 지블은 면수가 너무많으니 안될거고 그렇다고 리토폴로지한거는 퀄리티가 떨어질것같은데 저는 섭페에서 색입힌모델링통째로 에셋에서 파는거같이 익스포트되는건줄알았는데 아닌것같아 너무 막막합니다
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
서버 컴포넌트의 등장 배경에 대한, 추가적인 질문이 있습니다.
강의 이외에, 추가적으로 서버 컴포넌트에 대해 궁금증이 생겨 여러 블로그를 참고 하는 와중, 하나 헷갈리는 개념이 있어 여쭤 보려고 합니다. <알고 싶은 내용>서버 컴포넌트의 등장 배경 중 "waterfall 문제" 라는 내용이 알맞는 내용인 지 궁금합니다. <과정>제가 참고했던 여러 블로그에서 공통적으로 언급한 내용 중 하나가 "서버 컴포넌트의 등장 배경 중 하나로 클라이언트 컴포넌트의 waterfall 문제 " 라는 내용이 있었습니다.그리고, 위의 문제는 서버 컴포넌트 도입 이후, 데이터 요청을 서버에서 사전에 처리하여 해결되었다고 간단히 설명하고 마치는 내용이었습니다. <제가 헷갈리는 부분>그렇다면 waterfall 문제는 결국, 서버 컴포넌트 이전의 SSR 방식으로도 해결 수 있는 문제가 아닐까? " 라는 의문이 들었습니다.이유는 SSR 방식 역시 서버에서 데이터를 미리 가져와 HTML을 생성한 후 클라이언트에 전달하기 때문에, 서버 컴포넌트가 waterfall 문제를 해결했다면 기존 SSR 방식으로도 해결할 수 있지 않을까 하는 생각이 들었습니다. <결과>위의 내용을 알아보기 위해 아래의 내용을 바탕으로 검색을 해봤지만, 확실한 대답을 찾지 못해 질문을 남겨봅니다.SSR 렌더링 방식에서 waterfall 문제가 발생하는 지의 여부SSR과 RSC의 차이