묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[오타 제보] 13. 스레드 풀과 Executor 프레임워크2
[오타 내용]대상 강의록: 13. 스레드 풀과 Executor 프레임워크2.pdf대상 위치: p.2 close() 부분오타 내용변경 전: close() 는 자바 19부터 지원하는 서비즈 종료 메서드이다변경 후: close() 는 자바 19부터 지원하는 서비스 종료 메서드이다
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
jwt 인증 질문입니다.
현재 connect 할때 토큰이 올바른지 확인하는데이후 메세지를 저장할때 보낸 유저를 판단할때 이메일 정보를 이용해 보낸사람의 이메일로 유저를 찾는데 이경우 잘못될 가능성이 높을것 같아 처음 connection을 할때 저장해 두고 이걸 이용해서 보낸 유저를 구분하고 싶은데 어떻게 하는게 좋을까요?
-
미해결
Homemade Studio 구인
Homemade Studio 팀에서 진행중인 프로젝트를 함께 할 팀원을 모집하고 있습니다.작업 및 회의는 전부 비대면으로 진행하고 있으며, 상황에 따라 변경 가능합니다.모집하고있는 인원은 총 2인이며 분야는 다음과 같습니다.디자이너- Figma 사용 가능하신 분- 개발자와 협업을 진행해보고 싶으신 분- 모바일 또는 앱 디자인 경험 및 배우고 싶으신 분- 기존에 제작되어있는 디자인을 이어서 작업하실 수 있는 분 (회의를 통해 디자인 변경 가능)프론트엔드 개발자- Next.JS 사용능하신 분- 같이 배우면서 성장하실 분- 팀 단위의 협업 가능하신분Homemade Studio 팀 소개- 백엔드 개발자- 프론트 엔트 개발자- iOS 개발자> 3인으로 구성되어 있으며 현재 앱과 웹 동시에 작업중입니다.팀에서 사용하고 있는 소통 방식 및 협업 툴- Slack, Figma, Github, Jira 아래 오픈채팅 링크로 문의 주시면 감사하겠습니다,링크: https://open.kakao.com/o/sn63qkih
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
8강 Spring Boot 프로젝트 세팅 2
8강 Spring Boot 프로젝트 세팅 2 강의를 반복해서 보고 있습니다.강의에서는 Multi Module 을 생성하기 위하여 Directory 를 생성하고, build.gradle 파일을 생성한 후 코드 입력settings.gradle 에 Module 정의를 하시고 계십니다. 인텔리제이에서는 프로젝트에 Module 을 추가하기 메뉴가 있습니다.인텔리제이 에서 프로젝트에 Module 을 추가하면, 강좌파일의 모듈처럼 생성이 되지 않습니다.project/module1, project/module2 이렇게 1단계 모듈만 작성이 가능합니다. 인터넷 검색자료에도 모듈작성이 1단계방식(에를들어 service-article, service-like)으로 되어 있습니다.계층구조가 강의 내용이 보기 깔끔하여 따라 해보려 하는데 잘 되지 않습니다 디렉토리를 2단계로 작성( project/service/article)하고build.gradle 파일을 직접 생성하면 "dependecies" 키워드도 자동안성이 되지 않습니다 인텔리제이 버전은 "IntelliJ IDEA 2024.3.3 (Ultimate Edition)","Build #IU-243.24978.46, built on February 11, 2025" 입니다인텔리제이가 버전업이 될때마다 메뉴라던가, 기능이 많이 바뀌기는 합니다만. 조금 답답합니다
-
미해결스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
댓글 최대 2 depth - CUD API 테스트 & 테스트 데이터 삽입 RestClient 호출시 null
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.댓글 최대 2 depth - CUD API 테스트 & 테스트 데이터 삽입 시 RestClient 호출시 null 발생 됩니다.혹시 어느 부분을 봐야 할까요?? > Task :service:comment:testCommentApiTest > create() FAILED org.springframework.web.client.ResourceAccessException at CommentApiTest.java:36 Caused by: java.net.ConnectException at CommentApiTest.java:36 Caused by: java.net.ConnectException at Utils.java:1041 Caused by: java.nio.channels.ClosedChannelException at SocketChannelImpl.java:2021 test completed, 1 failed> Task :service:comment:test FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':service:comment:test'. package kuke.board.comment.service.api; import kuke.board.comment.service.response.CommentResponse; import lombok.AllArgsConstructor; import lombok.Getter; import org.junit.jupiter.api.Test; import org.springframework.web.client.RestClient; public class CommentApiTest { RestClient restClient = RestClient.create("http://localhost:9001"); @Test void create() { CommentResponse response1 = createComment(new CommentCreateRequest(1L, "my comment1", null, 1L)); CommentResponse response2 = createComment(new CommentCreateRequest(1L, "my comment2", response1.getCommentId(), 1L)); CommentResponse response3 = createComment(new CommentCreateRequest(1L, "my comment3", response1.getCommentId(), 1L)); System.out.println("commentId=%s".formatted(response1.getCommentId())); System.out.println("\tcommentId=%s".formatted(response2.getCommentId())); System.out.println("\tcommentId=%s".formatted(response3.getCommentId())); } CommentResponse createComment(CommentCreateRequest request) { return restClient.post() .uri("/v1/comments") .body(request) .retrieve() .body(CommentResponse.class); } @Getter @AllArgsConstructor public static class CommentCreateRequest { private Long articleId; private String content; private Long parentCommentId; private Long writerId; } }
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
데이터 수집하기 코드가 강의자료 어디에 있나요?
강의 자료가 과제별로 안되어있어서 따라가기가 쉽지 않네요
-
해결됨[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스
가상 시뮬레이터 실행
강의에서 모든 부분이 잘 따라왔습니다.다만.. 마지막 안드로이드 가상 에뮬레이터가 작업표시줄 창에는 뜨지만 직접적으로 확인하지 못하고 있습니다. 클릭해도 아무 반응이 없고, 작업 표시줄에 있는 프로그램에 마우스를 올려보면 이렇게만 뜨고 있습니다. adb 설치도 다시 해보았고, 에뮬레이터에서 앱이 실행 중인지도 adb shell pm list packages | grep 명령어로 확인해보았습니다. 제가 놓친 부분이 있는 걸까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
closed list를 비교하는 부분이 궁금합니다.
24분 24초에 나오는 palyer.cpp, while문 안에 해당 코드에서closed list는 방문 유무만 체크를 하는데 최소 거리를 찾는것과 무슨 관계가 있는지 모르겠습니다.closed list에는 다른 경로와 값을 비교하는 부분(비용계산 하는부분)이 없는 것 같은데 어떻게 체크가 되는지 궁금합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
검증 방법 질문입니다.
프롬프트 작성 및 두번의 llm에다가 Query 결과문을 넣어서 한번 더 검증하게 한다는 것인가요 ?
-
해결됨웹 애니메이션을 위한 GSAP 가이드 Part.03
imagesLoaded 에 관해 질문드려요
섹션2. Basic TriggerPractice(3) 이 부분을 들었는데요,여기서 강사님 화면에서는 숫자 0에서 100% 올라가는 숫자카운팅이 보여지는데전 0% 에서 바로 100% 가 되어서요, 그 이후의 동작은 정상적으로 잘 되구요~소스를 완성본을 복사해봐도 동일하구요
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
Part 1 영상 안나옵니다
[완성본 미리보기] HTML+CSS 실전 퍼블리싱 제작(Part 1)계속 새로고침하고 나갔다 다시들어왔는데 우선 파트2는 나오는데 1이 안나옵니다
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
브랜치 주소가 표시되지 않습니다.
'각 강의 브랜치 주소는 챕터가 시작하는 화면 하단에 표시되어 있으니 참고하여 주시기 바랍니다.' 라고 하셨는데, 화면 하단에 어디에 있는지 모르겠습니다. 해당 화면에 대해서 스크롤도 안되고, 메모같은 것도 없어서 현재는 github 를 뒤지면서 보고 있는데, 명확한 가이드를 주실 수 있나요 ? 깃허브에 뒤져가면서 보더라도 숫자-내용basic-내용 형태의 브랜치들 밖에 없다보니 뭘 봐야할지 헷갈립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
화살 처리 관련 질문이 있습니다!
안녕하세요.제가 겪은 오류 관련해서 이미 예전 질문 글이 있었고 그와 관련해서 잡 캔슬이 얼마나 중요한지 알게 되면서 이것저것 정리하면서 생각해보다 보니까 문득 화살을 파괴할 때느 잡 캔슬을 하지 않았던 게 생각 나더군요.사용자가 상호작용을 할 때만 발사되는 거라서 몬스터나 비전큐브랑 같지 않다는 건 아는데요. 문득 이런 의문이 들었습니다. Arrow.Update()가 다음과 같습니다~public override void Update() { if (Owner == null || Room == null || Data == null || Data.projectile == null) return; int tick = (int)(1000 / Data.projectile.speed); Room.PushDelayed(tick, Update); Vector2Int destination = GetFrontCellPosition(); if (Room.Map.ApplyMove(this, destination, applyCollision: false)) { GameRoom room = Room; S_Move movePacket = new(); movePacket.ObjectId = Id; movePacket.PosInfo = PositionInfo; room.Broadcast(CellPos, movePacket); } else { GameObject target = Room.Map.Find(destination); if (target != null) { // 피격 target.OnDamaged(this, Data.damage + Owner.TotalAttack); } // destroy Room.Push(Room.LeaveGame, Id); } }제가 상상해낸 버그의 해결 방법은 이미 알고 있습니다. 다만 그런 상황이 가능할까 궁금하더라고요.화살을 파괴하는 일감인 (Room.LeaveGame, Id)가 잡큐에서 실행되기 전에 Update() 함수 초기에 예약해둔 일감 Room.PushDelayed(tick, Update)이 잡큐에서 먼저 실행되면 한 화살이 아직 파괴되기 전이므로 대미지가 두 번 이상 발생할 수 있는 상황이 올까? 싶었습니다. 저희가 GameLogic에서 일감들을 flush 하고 Job 클래스를 보면 JobTimer를 먼저 flush하니까요. 타이밍 이슈로 충분히 그럴 수 같은데? 생각이 들더라구요. 아직 재현된 이슈는 아닙니다. 가끔씩 화살이 몬스터를 뚫고 지나가기도 하는데 이런 타이밍 이슈와 관련이 있을까 하는 생각도 같이 들었습니다. 제 부족한 경험으로는 명쾌한 해답을 찾기가 어렵네요ㅠ
-
미해결Next + React Query로 SNS 서비스 만들기
cache: "force-cache" 질문이 있습니다.
const res = await fetch( `${process.env.NEXT_PUBLIC_BASE_URL}/api/posts/recommends?cursor=${pageParam}`, { next: { tags: ["posts", "recommends"], }, //cache: "force-cache", } );'/home'에서 포스팅 로딩 시또는 새로고침 시에 데이터를 최초 조회하는 시점에서cache: "force-cache"를 제거하면 포스팅이 노출되고포함하면 포스팅이 안 나오는 현상이 있는데어떤 이유인지 의심 가는 부분을 못 찾겠어서 질문 드립니다. cache: "force-cache" 주석처리데이터 존재 cache: "force-cache"빈 배열
-
해결됨대기업 근무하며 경험한 Redis를 야무지게 사용하는 방법 [이론편]
동영상 질문
원래 설명만하고 화면은 고정인가요?? 화면 하나만 띄우고 설명만 있는거 같아서 저만 그런가 하고요..
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
버퍼
샌드버퍼는 컨텐츠단에서 사용리시브버퍼는 서버단에서 사용하는 이유가 뭔가요 ?
-
미해결[2024 업데이트] UX/UI 시작하기 : Figma 입문 (Inflearn Original)
요소 위치 교체
43강 12:45~50 보면 말풍선과 시간의 위치를 교체하는데, 어떤 단축키를 사용해야할까요?
-
해결됨[플러터플로우] 실전! 앱 출시를 위한 끝장 노하우!
네이버 로그인 구현 관련 문의
안녕하세요! 이번에 카카오 로그인을 강의를 보고 적절히 구현할수 있게 되었습니다.다만 제가 생각하는 앱에 네이버 로그인도 같이 있으면 좋을것 같은데.. 혹시 어떤식으로 구현하면 좋을지 팁을 주실수 있을까요..? 추가적으로 플러터 플로우에 있는 app state의경우 원래는 영구저장이 안되지만, persist옵션을 선택하면 로컬에 저장이 가능하다고 하는데, 확신이 없어서요.. 혹시 제가 생각하는게 맞을까요??앱에 필요한 json형식의 데이터들을 로컬에 저장하고, 앱이 재시작해도 초기화 되지 않도록 구현하려고 합니다..!
-
해결됨아바타 커뮤니티앱 만들기 (React Native Expo)
db에 저장된 비밀번호 암호화
❗질문 작성시 꼭 참고해주세요현재 문제(또는 에러)와 코드(또는 github)를 첨부해주세요. 맥/윈도우, 안드로이드/iOS, Expo, Node 버전 등의 개발환경을 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. (일부만 자르거나 복사하지말아주세요.) 개발환경/코드에 대한 정보가 없을경우 답변이 어렵습니다.pgAdmin4에 저장된 유저 정보에 비밀번호를 보면 제가 임의로 입력한 비밀번호가 아닌 암호화?된 값이 저장되어있는데 이 부분은 올려주신 server 백엔드에서 진행된건가요? 프론트 부분에서는 없는것 같아서 여쭤봅니다. 프론트가 아닌 백엔드에서 암호화하는게 맞는것 같긴 한데, 혹시나 놓친 부분이 있는건가 싶어서 여쭙니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
업로드파일 조회/삭제 질문있습니다.
업로드파일 조회/삭제 7분 58초에 ResponseEntity를 컨트롤러에 넣는것은 15년전 방식이라고 말씀해주셨는데요.근데 ProductController에 아래 같이 있는데요. @GetMapping("/view/{fileName}") public ResponseEntity<Resource> viewFileGET(@PathVariable String fileName){ return fileUtil.getFile(fileName); }아래 코드를 Controller에 넣는게 15년전 방식인건가요?//파일 조회하는것 public ResponseEntity<Resource> getFile(String fileName) { Resource resource = new FileSystemResource(uploadPath+ File.separator + fileName); if(!resource.exists()) {//파일이 없을 떄 resource = new FileSystemResource(uploadPath+ File.separator + "default.jpeg"); } //http 헤더가 중요. 내가 보낸 타입을 알아야함. HttpHeaders headers = new HttpHeaders(); try{//마이 타입 headers.add("Content-Type", Files.probeContentType( resource.getFile().toPath() )); } catch(Exception e){ return ResponseEntity.internalServerError().build(); } return ResponseEntity.ok().headers(headers).body(resource); }