묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[12:42] 구두 설명과 pdf 설명이 다른 부분의 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.[12:42]에서 "main 스레드는 TIMED_WATING 상태에서 RUNNABLE 상태로..." 설명과 함께 마우스 포인터로 가리키신 pdf 에서는 work 스레드 라고 표기되어 있습니다. 설명에 혼란이 있어서 제가 인터럽트 호출 부분을 다음과 같이 이해한 게 맞는지 확인 부탁드립니다..!0. work 스레드 동작main() 스레드 안에서 thread.start(); 호출(work 스레드 호출)한다.1. main() 스레드 동작Thread.sleep(4000)을 호출하여 TIMED_WAITING 상태로 들어간다. (4초 대기)2. thread.interrupt() 호출4초 뒤 main() 스레드가 깨어나고(RUNNABLE 상태), 바로 아래 코드인 thread.interrupt() 호출한다. -> 이때 work 스레드는 Thread.sleep(3000)으로 인해 TIMED_WAITING 상태였는데, main() 스레드의 인터럽트 신호로 인해 InterruptException이 발생하여 RUNNABLE 상태로 즉시 변경된다.3. InterruptException 처리work 스레드는 catch 블록에서 InterruptException 예외 처리 수행한다. 인터럽트 호출했다고 InterruptException 예외가 반드시 나는 것은 아니다. 설명에서 InterruptException 예외 발생한 이유는 main() 스레드에서 4초 대기 후 work() 스레드 인터럽트 호출할 때, work 스레드 상태가 TIMED_WAITING 였기 때문이다. work 스레드는 인터럽트 호출로 인해 TIMED_WAITING -> RUNNABLE 상태로 즉시 변경되고, work 스레드의 인터럽트 상태는 초기화 되어 false를 반환한 것이다.이렇게 이해하면 될까요..?!
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
바둑돌에 조합을 구하는 dfs는 설명이 어딨나요
관련 강의는 없는데..
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
Prepared Statement 대응방안 궁금사항 질문있습니다!
Session 10 . 대응방안에서 실습[9-1] Prepared Statement 취약한 소스코드와 안전한 소스코드 강의 10분 49초 부분에서 궁금 사항이 있습니다. 만약 num 파라미터 값을 Integer num = Integer.parseInt(request.getParameter("num"))Integer 형 변환하여 처리하였으나, String sql = "SELECT * FROM ex_member WHERE num = " + num; SQL 구문 자체는 Prepared Statement를 적용하지 않았을 때 이 부분도 취약한걸까요? 결국 인젝션 공격을 위해 문자열은 들어갈 수 밖에 없을 것 같은데 형 변환에서 모두 에러 발생되므로 공격이 불가할 것 같은데 맞을까요?
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
[GA4] 구매 이벤트 관련 문의
안녕하세요. GA4에서 구매 이벤트를 (purchase) 값으로 잡아서 트래킹하고 있는데요. 현재 구매 이벤트 경우, 할인 쿠폰과 같은 금액 디스카운트는 잡지 않고 있습니다. (할인 쿠폰 적용 전 금액을 잡고 있어요) GA4에서 할인쿠폰을 적용한 매출을 따로 잡고 싶다면, 혹시 어떻게 해야하는지 여쭙고 싶습니다. 추가적으로 할인 금액이 상황에 따라 다를 경우에는 어떻게 설정을 할 수 있을 지도 문의드려요! (예를들어 할인 금액이 상이한 할인 쿠폰팩 발송 과 같은 이벤트 진행 시)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@Pattern 사용시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@Pattern을 @NotBlank와 쓰면 에러 메세지가 같이 나오고 @NotNull와 같이 쓰면 순서가 @Pattern의 에러먼저 적용 됩니다. 순서를 설정하고 하나만 나오게 하려면 validator를 따로 만들어야만 가능한가요? 아니면 스프링에서 따로 제공하는 기능이 있을까요?
-
미해결[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
temp1 선언
강의 메인 함수에서int main() { NewTime temp1; NewTime temp2(3, 30, 2); temp2.print(); return 0; }로 작동을 하고 temp1(); 로 선언하면 아래 에러가 나옵니다.note: remove parentheses to default-initialize a variable 22 | NewTime temp1();
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
Layer1> "HIT_TEXT" 풀에 반환시
Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.UnityEngine.Transform:set_parent (UnityEngine.Transform)Object_Pool:Return (UnityEngine.GameObject,System.Action`1<UnityEngine.GameObject>) (at Assets/00_Scripts/Mng/Pool_Mng.cs:66)Base_Mng/<Return_Pool_Coroutine>d__8:MoveNext () (at Assets/00_Scripts/Mng/Base_Mng.cs:69)UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr) public void Return(GameObject obj, Action<GameObject> action = null) { pool.Enqueue(obj); //풀안으로 새로운 오브젝트가 들어감. obj.transform.parent = parentTransform; //obj.transform.parent.SetParent(parentTransform, false); //이거는 오류가나타남 //obj.transform.parent.SetParent(parentTransform, true); //true이든 false이든.. 오류발생 obj.SetActive(false); if(action != null) { action?.Invoke(obj); } } transform의 parent 속성대신에 SetParent 를 쓰라고 경고메세지가 나타나는데요Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues.근데 /obj.transform.parent.SetParent(parentTransform, false)이런식으로 사용했더니, HIT_TEXT가 풀로 반환되면서 부모인 Layer1도 같이 반환되어서 UnityException: Transform child out of bounds Base_Canvas.Holder_Layer (System.Int32 value) (at Assets/00_Scripts/Base_Canvas.cs:28) HIT_TEXT.Init (UnityEngine.Vector3 pos, System.Double dmg, System.Boolean Critical) (at Assets/00_Scripts/HIT_TEXT.cs:76) Monster+<>c__DisplayClass6_0.<GetDamage>b__0 (UnityEngine.GameObject value) (at Assets/00_Scripts/Monster.cs:113) Object_Pool.Get (System.Action1[T] action) (at Assets/00_Scripts/Mng/Pool_Mng.cs:58) Monster.GetDamage (System.Double dmg) (at Assets/00_Scripts/Monster.cs:111) Bullet.Update () (at Assets/00_Scripts/Bullet.cs:83)-------------------------------Layers의 자식이 Layer3밖에 남지않아서Base_Canvas 스크립트의 public Transform Holder_Layer(int value) { return LAYER.GetChild(value);함수 호출시에 에러가 나더라구요결국에는 그냥 transform.parent = parentTransform.로 사용하고있는데 SetParent를 사용하라고 계속 경고메세지가 뜹니다. ㅠㅠSetParent(parentTransform, ture) 이던, false이던 Canvas>Layer1>HitText, 에서 Pool로 반환될때 Layer1도 같이 반환됩니다.Layer0>"COIN_PARENT"도 마찬가지로 Layer0도 같이 반환됩니다.그냥 경고메세지를 띄울수밖에없는건가요?
-
미해결
안녕하세요 데이터 설계서 열람 권한 요청드립니다
안녕하세요구글 스프레드시트 열람 권한 요청드립니다 https://docs.google.com/spreadsheets/d/1FSSoWeKi6V-tUxgdIuUZZl-TdBNfKUCioqVTIK2qW0g/copy?usp=sharing 요청 아이디 : btpover33@gmail.com
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
맵 이동 관련해서 질문드립니다.
맵이 여러개인경우 맵이 각자의 Scene을 가지도록 구현하고 케릭터를 스폰하는 방식을 사용하나요?아니면 scene과 케릭터를 그대로 두고 맵을 바꿔주는 방식을 사용하나요?
-
미해결
맵 간 이동을 어떻게 구현하는지 궁금합니다
게임의 볼륨이 높아지면 맵 의 개수가 많아지고 그에 따른 몬스터,NPC 등 도 달라지는데 이러한 경우 같은 Scene에서 맵 만 바꿔주나요? 아니면 맵에따른 Scene을 여러개 만들어서 케릭터만을 이동시키나요??
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
맨먼스 구성시
안녕하세요. 실제 투입 공수 산정 후 맨먼스 구성을 할텐데프로젝트 볼륨이나 정확한 기획 범위/디자인 범위가 나와야지 산정할수 있을거 같은데.. 대부분 SI 프로젝트가 그렇듯 프로젝트 볼륨 파악이 정확하지 않은 상태에서 시작하잖아요?그럴경우 좀더 수익 리스크를 줄이기 위해서 멤버스 구성을 잘 할 수 있는 방법이 있을까요? 또 턴키 방식일 경우 인력소싱 비용 + 관리비 등등도 포함되어 계약이 되는걸로 알고 있는데 이런 비용 산정을 잘 할 수 있는 방법도 궁금합니다.
-
미해결실전! 스프링 데이터 JPA
DTO반환에 대한 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.JPA활용2편과 JPA 데이터 강의를 보면 DTO를 직접 반환하는 부분에서 질문드립니다.강의 수강이전에 repository에서 가져온 Entity를 직접조회하여 가져온 값을 service계층에서 lombok의 builder어노테이션을 이용하여 DTO형태로 직접조립하여 클라이언트에게 반환하는 API를 주로 구성했습니다. 근데 실무에서는 주로 위와 같은 방법이 아니라 repository계층에서 DTO를 직접 불러와서 조립하는 방식을 선호되나요?
-
미해결실습으로 배우는 선착순 이벤트 시스템
쿠폰 발급 개수 제한
쿠폰을 100개까지만 발급하고 싶으면 조건이 count >= 100 return이 맞지 않을까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
에러 문의
이러한 에러가 발생하는데 왜 일어나는건가요?
-
미해결김영한의 실전 자바 - 중급 1편
상속 오버라이딩 질문
[질문 내용]여기에 질문 내용을 남겨주세요. 7:36에서 obj1, obj2를 출력하는데, obj1, obj2의 객체 정보가 출력이 되었는데,이유가 메인메서드 처음부분에, obj1과 obj2의 객체가 만들어 지는데, 이때 obj1의 객체 안에는(obj1, Object)클래스 정보가들어있고 obj2객체 안에는(obj2, Object)클래스정보가 들어있는데 System.out.println()메서드 안에 객체를 넣으면 내부에서 자동적으로 객체명.toString()메서드가 실행이 되는데, 자식클래스(obj1, obj2)모두가 toString()을 오버라이딩 하지 않아, Object의 toString()이 호출이 되는데, 호출하는 변수가 각각 obj1, obj2여서 호출하는 변수 타입의 객체 정보가 출력이 된다. 맞나요? 잠시 헷갈렸는데 맞을까여?
-
미해결AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
기본 라우팅 테이블을 사용하지 않는 이유가 뭔가요?
라우팅 테이블 생성 실습 시에, 기본으로 생성되어 있는 라우팅 테이블을 수정해서 사용하지 않는 이유가 궁금합니다.기본값으로 설정되어 있기도 한데 말이죠.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오류
A problem occurred configuring root project 'hello-spring'.> Could not resolve all artifacts for configuration 'classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.4.1. Required by: root project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.4.1 > Dependency requires at least JVM runtime version 17. This build uses a Java 8 JVM.* Try:> Run this build using a Java 17 or newer JVM.> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.11.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.인텔리제이에서 open 폴더로 hellospring 열었는데 해당 오류가 뜨네요 이거 뭔가요?
-
미해결더 개발자, 인터뷰 가이드
배열 문제 3 - solution2
기선님 안녕하세요.문제를 풀다가 궁금한 점이 생겨서 질문드립니다. 배열 문제 3의 solution2와 관련된 질문입니다.private int[] solution2(int[] nums, int target) { HashMap<Integer, Integer> numberMap = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (numberMap.containsKey(target - nums[i]) && numberMap.get(target - nums[i]) != i) { return new int[]{numberMap.get(target - nums[i]), i}; } else { numberMap.put(nums[i], i); } } return null; } 상단 코드의 if 조건문에서 "numberMap.get(target - nums[i]) != i" 이부분이 반드시 필요한지, 아니면 없어도 똑같은 결과를 도출할 수 있는 지가 궁금합니다.제가 생각하기에는 배열을 1회만 순회하기 때문에 상기한 조건이 없어도 똑같은 결과가 나올 것 같은데 기선님의 생각이 궁금합니다. 답변 부탁드립니다.
-
미해결리눅스 입문 - 개념으로 탄탄히!!
수업자료는 어디에 있나요?
수업자료를 다운받는 곳이 안보입니다
-
해결됨토비의 스프링 부트 - 이해와 원리
spring start io 에서 이제더이상 2.x버전은 지원하지 않는 것 같습니다.
예제 초반부를 진행하고자 하는데요..혹시 3.x버전 대를 사용해도 큰 문제가 없는걸까요? 참고로 현재 선택 가능한 가장 하위버전은 3.3.7입니다^^;