묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
(강의 외 질문입니다) 점프를 하면 캐릭터가 바닥 밑으로 사라집니다.
수업 시간에 배운 걸 토대로 애니메이션도 설정을 해보았습니다. 이동하는 것도 점프하는 것도 되는데 점프하고 나서 착지를 하면 캐릭터가 바닥을 뚫고? 사라졌다가 다시 올라옵니다. 말로 설명하기가 애매해서 사진을 첨부하겠습니다.(영상이 첨부가 안되어서..)이렇게 점프를 하면착지하면서 바닥을 뚫어버립니다. 그 후 갑자기 뿅하고 나타납니다..어떻게 해결을 해야할 지 모르겠습니다..
-
미해결개발자에게 필요한 로그 관리
예외발생하면 printstacktrace()를 사용하시나요 ?
구글에 쳐보니 예외가 터지면 printstacktrace()는 지양하고 getStackTrace() 를 사용하라는데의견이 궁금합니다 !
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
count에 volatile을 붙이는 이유
문제가 되는 부분은 main 쓰레드와 work 쓰레드에서 flag 변경/확인 타이밍이 맞지 않아서인데 왜 count에도 volatile 키워드를 붙여주는 것인가요? flag에만 volatile을 붙인 경우에도 정상 동작하긴 합니다..
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
try catch
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요.현재 '데이터베이스와 연결' 3:57를 보고있는데요화면과 똑같이 작성한 후 알트+ 엔터로 선생님과 같이 Surround로 시작하는 try/catch를 적용하려는데 저는 위 화면처럼 try catch가 아닌 try with resource block이 나오는데저걸 누른 후에도이런식으로 이해하기 어려운 제안이 생기고 catch가 없이 나오는데요어떤 연유로 이런식으로 되는건지 궁금합니다지금 이대로 가면 강의와 제가 쓴 코드가 다를 것 같아 직접 쳐보려고 하는데 뭐가 어떻게 바뀌어서 이렇게 되는지 알려주세요그리고 받아적는 와중에도이렇게 되는데 누르면강의처럼 cath(SQLException e) {e.printStackTrace();}이렇게가 아니라이렇게 되네요 도대체 뭐가 어떻게 바뀐거고 뭐가 맞는건지 모르겠습니다 ㅠ이부분에서 런타임익셉션으로 떤진다고 하셨는데 정작 적은 건 IllegalStateException(e);인데저는 런타임 익셉션으로 나옵니다 ㅠ
-
미해결Next + React Query로 SNS 서비스 만들기
재게시 관련 궁금한 사항
재게시를 클릭하면 Reposts 부분과 count부분을 수정하고 unShift함수를 사용해서 pages[0]에 글정보를 추가하게 되는데 재게시를 클릭할 때 마다 pages[0]에 {user:{},Original:{}} 부분이 계속 추가되는게 맞나요 ?인피니트쿼리는 한 페이지당 최대 10개의 객체를 받아오는 것으로 알고있는데 인피니트 쿼리랑은 상관 없는건가요 ?
-
해결됨디지털포렌식 입문자를 위한 디지털포렌식 전문가 2급 실기 시험대비 강의(Encase/Autopsy)
MBR 분석 강의에서 궁금증이 있어서 질문드립니다^^
강의 35:00 이후에 MBR 파티션 테이블 구성중에 Starting LBA Addr 설명 해주시면서 데이터가 [ 00 08 00 00 ] 인데 이게 128번 섹터를 가리킨다라고 하셨는데 0x800 은 2048번 섹터인거 같은데 제꺼 USB로 실습할때도 제 데이터는 [ 38 00 00 00 ] 이였어서 0x38 = 56번 섹터 → 56 * 512 = 28,672 = 0x7000 해서 HxD 에서 0x7000 으로 이동하니깐 BR로 보이는 데이터가 나왔거든요! 그래서 2048번 섹터가 맞는거 같은데 제가 잘못이해한건지 아님 다른 이유가 있어서 128번 섹터가 되는건지 궁금합니다
-
해결됨Excel RPA로 데이터분석 자동화_웹스크래핑 편
이 강의를 실습과 활용하기에는 UiPath 무료 버전으로도 충분한가요?
선생님 안녕하세요.UiPath를 아직 해본 적이 없는데, UiPath는 요금제가 무료 버전과 유료 버전으로 나뉜다고 알고 있습니다.무료 버전은 개인이나 소규모 프로젝트에 적합하다고 들었는데,본 강의에서 다루는 내용을 실습하고 활용하기에는 UiPath 무료 버전으로도 충분한가요?이 강의를 배우고나서 실제 회사 실무에서 UiPath를 이용하려면 유료버전이 필수적인지가 궁금합니다.제가 말하는 회사 실무란 전사적인 업무 자동화 이런 건 아니고, 회사에서 담당 업무를 할 때 업무 효율 향상 정도 수준을 의미합니다. 이 정도 수준에는 UiPath 무료버전으로도 충분히 활용성이 좋은지요?향후 UiPath 활용을 위해 고민될 정도의 비용이 수반된다면, 오히려 처음부터 파이썬 등 다른 대안을 공부해 보려고 합니다. 감사합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ProductAdminEx | Switch 사용
package study.array.ex; import java.util.Scanner; public class ProductAdminEx { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] productNames = new String[10]; int[] productPrice = new int[10]; int productCount = 0; while (true) { System.out.println("1. 상품 등록 | 2. 상품 목록 | 3. 종료"); System.out.print("메뉴를 선택하세요 : "); int option = sc.nextInt(); sc.nextLine(); switch(option) { case 1: if(productCount != 10){ System.out.print("상품 이름을 입력하세요 : "); productNames[productCount] = sc.nextLine(); System.out.print("상품 가격을 입력하세요 : "); productPrice[productCount] = sc.nextInt(); productCount++; } else System.out.println("더 이상 상품을 등록할 수 없습니다."); break; case 2: if(productCount != 0) { for (int i = 0; i < productCount; i++) { System.out.print(productNames[i] + " -> " + productPrice[i]); System.out.println(); } } else { System.out.println("등록된 상품이 없습니다."); } break; case 3: System.out.println("프로그램을 종료합니다."); System.exit(0); } } } } 마지막 문제풀이때 for문을 사용하지 않고 switch문을 사용하여서 풀었는데 어떠한 상황에서 FOR문을 사용해야 더 개선된 코드인지 SWITCH문을 사용해야 더 개선된 코드인지 분별이 잘 안갑니다. 이런 문제풀이때는 어떤걸 사용해야 하나요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
FrontControllerV1 JSP 404 오류
FrontControllerV1에서 http://localhost:8080/front-controller/v1/members/new-form 접속해도 404 Not Found 오류가 뜹니다. 섹션 4에서 basic.html, index.html도 뜨지 않아서 resources/static 폴더 내부에 옮기니 잘 떴었습니다. 그런데 지금은 다시 webapp 폴더로 옮기고 나니 http://localhost:8080 으로 접속하면 "회원가입, 회원목록"들을 다루는 페이지가 떠야하는데 그 또한 안 뜨네요.. 그리고 질문&답변에서도 찾아보고 블로그들도 며칠동안 다 찾아봤는데도 해결이 안되어서 질문 남깁니다.. 코드는 구글 드라이브에 올려두었습니다!https://drive.google.com/drive/folders/1uQwA4Xl9kkChJB32kl-VGCZ2Xdg6YG-3?usp=drive_link
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ArrayExRef6 코드 질문있습니다.
[질문 내용]여기에 질문 내용을 남겨주세요.package study.array.ex; import java.util.Scanner; public class ArrayExRef6 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("입력받을 숫자의 개수를 입력하세요:"); int[] numbers = new int[scanner.nextInt()]; System.out.println(numbers.length +"개의 정수를 입력하세요:"); // 입력 for (int i = 0; i < numbers.length; i++) { numbers[i] = scanner.nextInt(); } int min, max; min = max = numbers[0]; // 가장 작은 정수 for (int number : numbers) { if(min > number) min = number; } // 가장 큰 정수 for (int number : numbers) { if(max < number) max = number; } // 출력 System.out.println("가장 작은 정수: " + min); System.out.println("가장 큰 정수: " + max); } } 선생님의 기존 코드와 비교했을때 이런 로직으로 짜는것은 가독성이나 효율성(비효율적인 반복문 사용)이 떨어지는 코드일까요??
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
image 3개
aws에 image push하면 영상에서는 하나가 뜨는데 저는 3개가 뜨네요 이렇게 동작해도 맞는건가요??
-
미해결실전! 스프링 데이터 JPA
트랜잭션 범위 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] @RestController @RequiredArgsConstructor public class MemberController { // 도메인 클래스 컨버터 private final MemberRepository memberRepository; @GetMapping("/members/{id}") public String findMember(@PathVariable("id") Long id){ Member member = memberRepository.findById(id).get(); return member.getUsername(); } @GetMapping("/members2/{id}") public String findMember2(@PathVariable("id") Member member){ return member.getUsername(); } @PostConstruct public void init(){ memberRepository.save(new Member("userA")); } } MemberController 에서 @PostConstruct 부분을 보면, save 메소드가 보입니다. 일반적인 경우를 생각해보면, 서비스 계층에 @Transactional 이 붙어있고, 트랜잭션이 걸려있는 메소드를 통해서 리포지토리의 save 를 호출하니 리포지토리에도 트랜잭션이 걸려있다고 할 수 있을 것 같습니다.그런데 위와 같은 경우에서는 리포지토리에 트랜잭션이 안 걸려있습니다. JpaRepository 의 상위 인터페이스나 클래스를 찾아가면서 save 에 트랜잭션이 걸려있는지 확인을 해보았으나 없었습니다. 그렇다면 트랜잭션이 걸려있지 않은데, 어떻게, 어떤 시점에 커밋이 이루어져서 db 에 반영이 된 것인지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바는 강의는 어느정도 학습해서 익히면 좋을까요 :?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]안녕하세요. 이번에 스프링을 듣고 있는 취준생입니다.자바 스프링으로 취업준비하기 위해 듣고 있는데스프링과 스프링부트 로드맵을 위주로 강의를 들으려고 하고 있습니다.근데 자바가 익숙치 않아서 김영한님의 자바강의를 보고 있는데자바는 어느정도 강의까지 들으면서 익혀야 스프링과 스프링부트 Jquery에 익숙하게 학습이 가능할까요? 너무 질문 수준이 낮아서 죄송합니다...
-
미해결웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
로컬 위치를 찾는 법
강의에서 보면 Mysql을 사용하는 DBMS서버가 물리적으로 WAS와 같은 서버에서 가동 중일 때 Mysql의 함수인 Load_flie 을 통해 로컬 파일의 내용을 확인하는 것을 보았습니다. 해당 강의를 보다 궁금한 사항이 생겨 질문 드립니다. 1. 로컬 파일의 위치(경로)를 해커의 입장에서 어떻게 찾는 건가요?해당 서비스가 Window인지 Linux인지는 어떻게 찾나요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
인터페이스로 File을 사용한다는 것
안녕하세요 강의 잘 듣고 있습니다. 감사합니다.강의에서 Hello World가 화면에 출력하는 예시를 들어 설명하신 부분에서 Device file 이라는 인터페이스를 통해서 User Process와 Kernal이 상호작용한다고 하셨습니다. 이때, Device File에 무엇을 읽고 쓴다는 것은 Memory 나 Disk에 적재하는 과정이 될 거 같다는 생각이 듭니다. 맞을까요?아래는 영상에서 설명한 예시에서 제가 생각한 과정입니다.Device File 에 "Hello world" 출력하라는 명령을 쓰기 위해 User -> Kernal -> H/W(Memory or Disk)"Hello World" 출력하기 위해서 Kernal -> H/W (영상에서 설명하신 부분)총 두 번 일어나는 것이 맞는건가요?뭔가 현대에는 최적화가 잘 되어서 1번으로 끝낼 수 있게 구성이 되어 있을 거라고 생각이 들긴 합니다.*구글링으로 찾아본 내용리눅스 파일의 종류엔 3가지가 존재일반 파일: 데이터를 담을 수 있음디렉토리 파일: 일반 파일을 담을 수 있음특수 파일 (Socket, Device File, Named Pipe)영상에서 언급해주신 Device File 은 특수파일에 해당Device File은 특수파일의 하위 집합으로 character device file, block device file 두가지 타입이 있음.특수 파일은 일반 파일과 달리 단순 운영체제와의 인터페이스로 데이터를 저장하는 행위는 하지 않음.그럼 왜 파일이라고 하는건가? 일단, 리눅스는 "모든게 파일이다." 라는 철학을 갖고 있음. 그렇다면 왜 모든 걸 파일로 정의했는가?=> 다양한 자원을 하나의 일관된 인터페이스로 추상화하여, 파일을 읽고 쓰는 방식으로 모든 자원(디스크, 장치, 네트워크 등)을 다룰 수 있도록 하기 위함질문을 드렸지만, 궁금해서 구글링을 해서 찾아 아래 부분에 찾은 내용을 정리했습니다.제가 찾은 내용이 좀 틀렸다면 정정해주시면 감사하겠습니다!
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
CPU모듈 Timing Analyze
안녕하세요. 강의 잘 듣고 있습니다.다름이 아니라 제공해 주신 CPU모듈의 타이밍 분석을 해보고 싶은데 알려주신 방법으로 타이밍 분석을 하면No paths to report 라고 뜨고 데이터가 나오지 않습니다. 어떻게 해결할 수 있을지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
BitConverter.TryWrtieBytes 부분이 잘 이해가지 않습니다.
ServerSession 클래스의 Write 함수의 일부입니다.// 최종적으로 패킷의 크기를 할당하기 위한 공간 확보 count += sizeof(ushort); success &= BitConverter.TryWriteBytes(s.Slice(count, s.Length - count), this.packetId); count += sizeof(ushort); success &= BitConverter.TryWriteBytes(s.Slice(count, s.Length - count), this.playerId); count += sizeof(long);BitConverter.TryWriteBytes(s.Slice(count, s.Length - count), this.packetId); 와 같이 스팬을 자를 때 왜 s.Length - count로 count 부터 남은 공간을 전부 자르는 건가요?ushort 크기를 사용할 것이기에 s.Slice(count, sizeof(ushort))로 사용할 공간만 잘라서 사용하는 것이 더 효율적인 것이 아닌가요? +추가이 이유가 강의에서 말씀해주셨던 누군가가 이상한 값을 할당해 정확한 크기가 전달되지 않을 가능성이 있어서 남은 공간을 모두 확인하려는 의도일까요??
-
미해결개발자를 위한 컴퓨터공학 2: 혼자 공부하는 네트워크
그래프
네트워크의 구조는 그래프의 형태를 띄고있다 라고 하셨는데,비유인가요 ? 실제로 기기간(노드)간의 메시지를 주고받을때 그래프 자료구조를 사용하는건가요 ?실제로 제 기기가 네트워크안에 있다면(연결 되었다) 라고 한다면 어딘가의 장비에 코드로써 제 기기(노드 ) 가 기존의 그래프에 추가된건가요 ?
-
해결됨자바스크립트부터 리액트까지 [PART4/4] 포기없는 리액트로 가는 길
회원가입부터 로그인까지 재생중 오류 30분쯤에서에서 계속 멈춤 왜 그렇까요 확인 부탁 드립니다
회원가입부터 로그인까지 재생중 오류 30분쯤에서에서 계속 멈춤 왜 그렇까요 확인 부탁 드립니다
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
환경설정문제
poetry 설치후 실행시 오류가 발생합니다.환경변수도 설정하였는데 이유를 못찾겠습니다.poetry 설치된 폴더 가보면 exe 파일은 미존재하던데 그것때문인건지... 환경설정이 되질 않아서 실습을 하지 못해서 답답하네요..