묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Join 실습 질문
public class JoinMainV3 { public static void main(String[] args) throws InterruptedException { log("Start"); SumTask task1 = new SumTask(1, 50); SumTask task2 = new SumTask(51, 100); Thread thread1 = new Thread(task1, "thread-1"); Thread thread2 = new Thread(task2, "thread-2"); thread1.start(); thread2.start(); // 스레드가 종료될 때 까지 대기 log("join() - main 스레드 대기 시작"); thread1.join(); thread2.join(); log("main 스레드 대기 완료"); log("task1.result = " + task1.result); log("task2.result = " + task2.result); int sumAll = task1.result + task2.result; log("task1 + task2 = "+ sumAll); log("End"); } static class SumTask implements Runnable { int startValue; int endValue; int result = 0; public SumTask(int startValue, int endValue) { this.startValue = startValue; this.endValue = endValue; } @Override public void run() { log("작업 시작"); sleep(2000); int sum = 0; for (int i = startValue; i <= endValue; i++) { sum += i; } result = sum; log("작업 완료 result = " + result); } } }안녕하세요.위 코드는 강의실습에 사용된 코드입니다.개인적으로 thread1.join(), thread2.join() 에 대해 main쓰레드가 WAITING 상태인지를 확인하고 싶어아래와 같이 코드 중간 중간에 상태를 체크해봤습니다. log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread1.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread2.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); 결과는 모두 RUNNABLE로 나타나는데요.sleep시간을 늘려봐도 여전히 RUNNABLE상태가 나옵니다.코드의 어떤 부분을 수정해야지 WAITING상태를 확인할 수 있는지 궁금합니다~!
-
미해결핵심만 쉽게, 모두의 SQL 데이터 분석
함수 중첩: 단일행함수 문자타입 함수
함수 중첩 관련하여, upper, substr 같이 쓰는 예시를 보여주셨는데, 결과값이 똑같다면, 뭘 먼저 적용할지의 선택에 대한 기준이 혹시 있을까요? (그냥 떠올려 봤을 때 예를 들어 구글빅쿼리에서 실행 시, 같은 결과값이면, 이렇게 하는게 데이터 비용이 더 절약된다던가, 하는 건 없겠죠..?)
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
CreateDefaultSubobject() API질문
안녕하세요CreateDefaultSubobject() 함수가 필수적 포함 구현 방식에서 왜 사용해야 하는지 궁금합니다. 나중에 Object를 생성하는 방식과 CDO부터 생성하는 방식으로 나뉜다고 해도 컴포지션의 생성 API가 달라져야하는 이유가 궁금합니다.
-
미해결테스트 with Jest: 제로초에게 제대로 배우기
npx cross-env NODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules" jest 터미널 에러
명령어를 아래처럼 치면 이렇게 나와요. 어디가 문제일지 .. npx cross-env NODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules" jest 터미널내용: No tests found, exiting with code 1Run with --passWithNoTests to exit with code 0In C:\Users\hyesu\Desktop\works\jest-test 3 files checked. testMatch: /__tests__//*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x) - 0 matches testPathIgnorePatterns: \\node_modules\\ - 3 matches testRegex: - 0 matchesPattern: - 0 matchestoBe.jsexport default function sum(x, y) { return x + y; } package.json{ "name": "jest-test", "version": "1.0.0", "main": "index.js", "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "description": "", "devDependencies": { "cross-env": "^7.0.3", "jest": "^29.7.0" } }
-
미해결견고한 결제 시스템 구축
가상의 Checkout 기능 구현 중 질문
가상의 Checkout 기능 구현 문의 질문드립니다. (13:40~)R2DBC 를 사용해본 적이 없어서실습환경 제약으로 강의 흐름따라 코드만 보다가 궁금한게 있는데요. 1) save 인터페이스가 JDBC 처럼 반환값 Intger(or Long 등 Number) 가 기본일까요? 2) func save 반환값으로 Mono<Void> 반환하는데, JPA Repository 인터페이스의 save 처럼 save 된 객체( JPA의 Entity 에 해당 )에 대해 updated 값이 반영되게 되나요? 강의에선 따로 domain 과 DB dto(or entity) 구분을 안해서가령, updated_at 이나 created_at 컬럼 값을 갖는 경우, DB default timestamp 로 부여될 건데, call by value 로 DB 로 전달된 객체의 필드 값이 자동 갱신처리되기 때문에Mono<Void> 반환이 CRUD 의 일반적인 패턴인건지 궁금합니다.
-
해결됨38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
1-7. 4:30 에서 N*N이 아닌이유가 뭔가요?
1-7. 4:30 에서 N*N이 아닌이유가 뭔가요? 갑자기 26을 상수취급하는 이유를 모르겠어요.. 1-6에서는 N*N이었던 것 같은데요... 1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?어떤 알고리즘을 학습하고 계신가요?여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
-
해결됨삼각형의 실전! Vulkan 중급
VkImageLayout 열거형에 대해 질문드립니다.
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL 두 가지 열거형에서 데이터 전송 타겟과 소스의 의미가 이해가 가지 않는데요. 어떤 식으로 사용되는건지 예시를 혹시 알 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
인터페이스 클래스의 상속, Super키워드
안녕하세요.인터페이스 클래스를 사용하고자 할 때 강의 내용처럼 다중 상속으로 설계하는 것이 일반적인가요? 강의 내용 중 인터페이스를 사용해 가급적 축소된 다중상속의 형태라는 표현이 나오는데요, 이 말의 의미가 궁금합니다.또한 UTeacher나 UStudent에서 Super키워드가 왜 UPerson만을 가리키는지 궁금합니다. 단지 Super에 대한 모호성이 있는 상태라고 생각하고 있었는데 오개념인가요?
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-1)
파트1 PDF 강의 자료 다운로드
파트1 PDF 강의 자료 다운로드 받고 싶은데, 어디서 받을 수 있는지 모르겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
javx 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. import관련해서 문제가 생겼습니다.. jakarta는 아예 안됩니다.
-
해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL
END, 뒤에 * 붙이면 에러가 뜹니다
안녕하세요, 섹션3 조건문 type of triangle 문제에서 질문있습니다.END, 뒤에 *를 붙이면 꼭 에러가 뜹니다. 해커랭크 뿐만아니라 W3스쿨에서도 그러던데 확인 좀 부탁드립니다. 다른 분들도 유사한 질문을 하신 것 같은데, 확인되면 수업 노트 보기에서라도 확인할 수 있게 내용 추가 좀 해주시면 감사하겠습니다. SELECT *, CASE로 할 경우에는 정상 출력되긴 하더라고요.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
[사이드 프로젝트] 하이버네이트 No session 에러 질문 드립니다.(lazyinitializationexception)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]현재 회원 엔티티 시점 Member(회원) 1 : N Pet(반려견) 일대다 관계인 상태입니다.-Member(회원) 엔티티 -Pet(반려견) 엔티티 연관관계 설정해 둔 모습입니다. -이게 문제가 되고 있는 서비스 로직입니다. MemberRepository에서 회원의 role(역할)을 찾은 후,role(역할)이 CUSTOMER(고객)인 경우 해당 회원의 정보와 갖고 있는 List<>형태의 pet을 한 번에 갖고 와서 DTO로 변환 해서 반환하려고 합니다. 실제로 어떻게 리포지토리에서 조회하고 있는지 보여드리겠습니다. -role(역할)이 CUSTOMER(고객)인 경우 findByCustomerId()로 위와 같이 회원과 pet을 한 번에 조회하고 있습니다. (실제 쿼리문이 나가는 것을 봤을 때도 fetch join 쿼리로 나가서 pet이 프록시가 아닌 실 객체 데이터로 조회되는 것을 확인했고, 디버깅도 해봤는데 pet 컬렉션에 데이터가 있는 것도 확인했습니다.)다음으로 member 엔티티를 DTO로 어떻게 반환하는 지 보여드리겠습니다. -Pet(반려견)을 PetResponse라는 DTO로 다시 바꿔서 반환 시켜주려고 하고 있는 상황이고 -이게 PetResponse 입니다. 여기까지가 현재 저의 문제가 되고 있는 코드와 동작 방식입니다.현재 뜨고 있는 오류는 lazyinitializationexception 에러가 발생하고 있습니다. 알아보니 트랜잭션 주기 안에서 컬렉션을 조회하는 것이 아니라, 하이버네이트 세션이 끝난 후 영속성 컨텍스트가 사라진 상태에서 엔티티가 갖고 있는 컬렉션(pets)을 조회하게 돼서, 트랜잭션 내에 존재한 영속성 컨텍스트 내의 pets를 조회하는 것이 아닌 새로운 영속성 컨텍스트에서 조회를 하게 돼버려서 실 객체 데이터가 조회되는 것이 아닌 프록시 객체가 조회가 되고 있다는 내용으로 이해했습니다. 그래서 제가 여태 해본 방법으로는,서비스 레벨의 findById(long id) 메서드에서 member 정보만 따로 조회하고 pet만을 따로 각각 조회한 후 dto로 반환 해보기 (예: memberRepository.findByid()로 회원만 조회, petRepository.findbyCustomerId()로 pet만 따로 조회 후, new MemberResponse.GetCustomer()로 반환 -> 안됨.(X) 현재 메서드 레벨 위에 작성되어 있는 트랜잭션 어노테이션이 readOnly = true로 읽기 전용이면 pets를 초기화 할 수도 없을 수 있다길래 readOnly = true 옵션도 빼 보기 -> 안됨.(X)yml 설정 파일에 spring: jpa: open-in-view: true 옵션 설정 해보기 -> 안됨.(X)Member(회원) 엔티티에 읽기 전용으로 있는 List<> pets를 지연 로딩이 아닌 즉시로딩으로 바꾸기. -> 이 경우에만 됨.(O)Hibernate.initialize(member.getPets()); 을 사용해서 컬렉션 강제 초기화 하기 -> 안됨.(X) 현재 이렇게 까지 시도해 봤고 pets를 즉시 로딩으로 바꾸는 경우 말고는 아예 되지 않는 상황입니다. 보통 저와 같은 경우 간단하게 해결되는 문제던데 스택오버플로우와 구글의 힘을 빌려 검색해서 시도해 본 결과 해결되지 않았습니다.. 제가 어떤 실수를 하고 있는지, 뭐가 문제인지 봐주시면 감사하겠습니다.!!추가 설명이 필요하거나 깃허브 주소라도 필요하면 댓글로 남기겠습니다!
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
코드 공유 폴더가 비어 있습니다.
코드 공유를 하셨다고 하여 다운받아도 빈 zip파일이라고 뜨네요. 확인 부탁드립니다.
-
해결됨[2025 리뉴얼] 스스로 구축하는 AWS 클라우드 인프라 - 기본편
40달러 이상 과금....
해당강의랑 동일하게 실습진행 해였습니다... 그런데 2월달 결제된거 보니까 40달러 이상 결제가 되었더라고요.프리티어로 진행했는데 이렇게 과금되는경우가 있나요??
-
미해결개발자라면 알아야 할 redis 기본
MacOS에서 brew를 사용한 설치를 권장하지 않는 이유가 무엇인가요?
안녕하세요!brew를 통해 직접적으로 MacOS에 설치하는 것이 아닌 Docker Desktop을 설치하여 Docker Container 안에서 redis-server를 설치하라고 말씀해주셨는데 후반부에 말씀해주시는 redis-server 삭제 시 깔끔하게 제거되지 않을 가능성이 있기 때문에 brew를 통한 설치가 권장되지 않는다고 이해했는데 맞을까요?
-
해결됨유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
강의 : Addressables를 활용한 어셋 관리 및 로딩 처리 문의
현재 사용중인 기기 : 맥북SettingsUI 어드레서블 에셋 등록 시 폰트 리소스 렌더링 이슈강의와 차이점 : OpenGLES3 없음 -> OpenGLCore(Deprecated) 로 대체폰트 렌더링이 되지 않고 있습니다.해결 방법 아시는분 계시면 공유 부탁드립니다. 추가Mac Silicon Chips 은 Metal 사용Canvas Renderer 충돌로 보임플레이 시Material -> shader 옵션 변경 시 텍스트 전체 보임폰트 설정 시 해당 텍스트 보임대체 안폰트도 어드레서블 등록해서 리소스 관리할지
-
해결됨유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
세계 시간 API 서버 이슈로 대체할만한 API 아시는분 계신가요?
세계시간 API 서버 SSL Connection 에러로 호출이 되지않아 대체 API 를 찾고있습니다.대체 API 아시는 분은 공유 부탁드립니다.강의 예제 세계 시간 API : https://worldtimeapi.org/api/ip상태 체크 : https://status.worldtimeapi.org/
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
Routine Control Negative Response 질문입니다.
안녕하세요 강의 잘 듣고 있습니다.강의 복습 중에 궁금한 점이 있어 질문드립니다. PPT 40P에 나온 Routine Control Negative Response가7F 03 24 형태로 나왔는데 2번쨰 바이트가 서비스 ID인 0x31이 아닌 Sub Function인 거 같은데 Routine Control이 다른 서비스들과 다른 포맷을 사용하는 지 궁금합니다. 감사합니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
2.14 SSG 관련 질문
안녕하세요,강의 2.14에서 이전에 SSR로 만들었던 페이지를 SSG로 변경하는 것 관련하여 질문이 있습니다.SSG에서는 빌드타임에 페이지를 생성하기 때문에 쿼리스트링을 불러올 수 없어서 SSG로 만들고 싶다면 쿼리스트링 가져오는 부분은 클라이언트 사이드쪽에 코드를 추가해주면 가능하다고 하셨는데, 그럼 이 프로젝트의 검색페이지 같은 경우는 SSR를 사용하는게 나은지 SSG를 사용하는게 나은지 궁금합니다. 둘다 장단점이 있기 때문에 개발자의 판단에 달려있는걸까요? 쿼리스트링을 사용하는 페이지에서 어떤 경우에는 SSR로 만드는게 낫고 어떤경우에는 SSG로 만드는게 나을지 그 기준에 대해서도 궁금합니다.강의 너무 잘 듣고 있습니다. 감사합니다. ++다른 비슷한 질문에 답변 다신 것 읽어봤는데 SSG는 식당에서 반찬을 먼저 주는 것과 같다고 말씀하셔서 이해가 잘되었습니다. 근데 SSG의 단점이 최신 데이터의 반영은 어려운것이기 때문에 데이터가 잘 변경되지 않는 페이지에서 사용하는 것이 좋다고 하셨는데, 그럼 검색페이지의 검색결과가 계속 바뀐다고 가정하면 (책 데이터가 계속 추가됨) SSR을 사용하는게 나은가요? 아니면 그 부분은 어차피 클라이언트 사이드에서 쿼리스트링 추가해서 다시 새로 불러오기 때문에 SSG로 사용해도 무방한가요? 거의 다 이해한 것 같은데 조금 헷갈리네요 ㅎㅎ
-
미해결[React 2부] 고급 주제와 훅
dispatch 함수도 리렌더링 유발하지 않나요?
안녕하세요 선생님 const nextState = formReducer(state, {type : "VALIDATE", validate })로 nextState를 정의하셨는데 애초에 SET_TOUCHED_ALL 디스패치가 실행되면 리렌더링VALIDATE 디스패치가 실행되면 또 리렌더링 되어 onSubmit 함수가 정상 동작해야 될거 같은데.. 그렇게 생각하면 안되는 이유가 궁금합니다.!