형 나 지금 너무 재밌어서 잘 따라하던중 별거 아닌거에서 막혀서 좀 힘들어 형이 알려준 json 파라미터 넘기는 방법으로 해도 안되고 gpt 찾아서 진행 한거도 다 안돼는데 윈도우 환경에서 좀 힘든걸까 ?? 다른 수강생분이 올려준거도 봤는데 답변에 달아준 방법도 동작하지 않아 @Bean public JsonJobParametersConverter jobParametersConverter() { return new JsonJobParametersConverter(); } @Bean @StepScope public Tasklet terminatorTasklet( @Value("#{jobParameters['infiltrationTargets']}") String infiltrationTargets ) { return (contribution, chunkContext) -> { String[] targets = infiltrationTargets.split(","); log.info("⚡ 침투 작전 개시"); log.info("첫 번째 타겟: {} 침투 시작", targets[0]); log.info("마지막 타겟: {} 에서 집결", targets[1]); log.info("🎯 임무 전달 완료"); return RepeatStatus.FINISHED; }; }
인터페이스 예외처리 문제 질문입니다. 일단 인터페이스에서 app메서드가 "정수 입력,출력에 예외를 던질 수 있음" 이라는 형태를 강제시킨 후 람다식(f와 n->n+9)으로 세부 내용을 구현하는게 맞는건가요? 추가로 인터페이스의 구현은 implements로 구현한다고 하셨는데 코드에 implements가 없는데 람다식 등으로 구현가능하면 사용하지 않아도 되는것인가요?
static ThreadLocal<string> tl = new(()=> { return "dd"; }); 이렇게 변수 선언을 영상과 같이 return을 받게 되는 형태로 만들어 졌을 시에 Thread에서 Console.WriteLine(tl.Value); 이렇게 최초로 tl.Value를 출력해보면 중단점을 걸었을시에 영상에서 설명 해주신 것과 같이 null값이 들어가게 됩니다. 그런데 궁금한건 그렇다면 Console.WriteLine(tl.Value); 이것의 콘솔에서의 실행 결과는 Null이 떠야하는 것 아닌가요?
prev->next = curr->next; 이 코드줄 이후로 prev 노드 리스트가 4->2->1로 변경되서 3이 빠진건 이해 됬는데 curr->next = head; 여기서 head가 가리키고 있는 노드 리스트가 왜 3이 빠진걸까요? 저는 curr->next = head; 실행 이후 시점에서 아래처럼 해석해서 답이 354321 나왔습니다 ㅠ. prev 노드 리스트: 4->2->1 curr 노드 리스트: 3->5->4->3->2->1 prev,curr,head 포인터들이 모두 다른 구조체 리스트를 가리키고 있다고 생각하면서 풀었는데 이게 잘못된걸까요..?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 문제를 풀긴 풀었는데 이런 방법으로 해도 같은 의도로 했다고 볼 수 있나요? ImmutableMyDate package lang.immutable.test; public class ImmutableMyDate { private final int year; private final int month; private final int day; public ImmutableMyDate(int year, int month, int day) { this.year = year; this.month = month; this.day = day; } public int getYear() { return year; } public int getMonth() { return month; } public int getDay() { return day; } @Override public String toString() { return year + "-" + month + "-" + day; } } ImmutableMyDateMain package lang.immutable.test; public class ImmutableMyDateMain { static void main(String[] args) { ImmutableMyDate date1 = new ImmutableMyDate(2024,1,1); ImmutableMyDate date2 = date1; System.out.println("date1 = " + date1); System.out.println("date2 = " + date2); System.out.println("date1 -> 2025"); date1 = new ImmutableMyDate(2025,1,1); System.out.println("date1 = " +date1); System.out.println("date2 = " +date2); } }
안녕하세요! 좋은 강의 잘 듣고 있습니다. CompletableFuture.runAsync() 에 커스텀 Executor 를 따로 넘기는 코드를 보면서 궁금한 점이 생겼습니다. 동기 방식은 어차피 요청 스레드에서 직접 처리되니까 별도 스레드풀 설정이 의미 없는 거라 비동기에서만 설정하는 건가요? 아니면 동기에서도 풀을 따로 구성하는 케이스가 있는지 궁금합니다. 그리고 Java 21부터는 Executors.newVirtualThreadPerTaskExecutor() 가 기존 플랫폼 스레드풀을 대체하는 권장 방식인지도 여쭤보고 싶습니다. Virtual Thread는 풀링 없이 매 작업마다 새로 생성하는 방식이라고 이해했는데, 실무에서 전환할 때 주의할 포인트가 있다면 함께 말씀해 주시면 감사하겠습니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 입문단원 듣는 중입니다. 스캐너,배열 넘어가면서 부터 문제와 예제시간에 항상 먼저 주석으로 구조를 적고나서 코드를 입력하려고 하는데 구상해놨던 구조를 막상 코드로 타이핑 해보려고하니까 막힙니다. 머리가 안좋은건지.. 이게 정상인건지 ㅜㅜ 어떤식으로 문제를 해결하면좋을까요. 스캐너 이후로 혼자 문제를 완벽하게 풀어본적이 없네요. 그냥 단순히 강의 영상처럼 해보고 막히면 따라입력해보고 다지우고 입력해보고 넘어가는게 최선일까요?
선생님 안녕하세요 시험을 3일 남겨두고 총정리 하면서 질문할게 생겨 이렇게 글을 남깁니다. 강의를 들으면서 애매했던 부분이었고 명쾌하게 이해가 되지않아 설명 요청 드립니다. 파이썬에서 print문 어떤 것을 보고 출력할때에 [](리스트) {}(딕셔너리)를 함께 써야하는지 잘 알고 계신분 설명 부탁드립니다 ㅠㅠ 이건 봐도봐도 헷갈리고 왜 리스트형식으로 출력이 되는지 딕셔너리로 출력이 되는지 도무지 알수가 없습니다 도와주세요!! 분명 계산할때에는 리스트나 딕셔너리 형태로 쓰다가 계산이 다 끝나고 출력할때에는 리스트나 딕셔너리 없이 출력이 되기도 하고, 반대로 분명 숫자만 계산 했는데 리스트나 딕셔너리 형태로 출력이 되고
SpinLock은 어찌보면 CPU 코어를 계속 점유하고 계속해서 끝났는지 확인하는거잖아요? 그렇기에 커널로 내려가는 컨텍스트 스위칭이 일어나지 않거나 최소화 될거다라고 생각하는데요. 근데 하나 궁금한건 결국 운영체제 내에서 스케줄링같이 코어에서 점유하고 있는 스레드를 강제적으로(?) 다른 스레드로 바꾸지 않나요? 바꾼다하면 결국 SpinLock도 컨텍스트 스위칭이 필수불가결한건가 싶어 질문드립니다.
안녕하세요. DP Climbing Stairs 문제 풀이에서 질문이 있습니다. basecase로 f(0)=1, f(1)=1 조건을 주셨는데요. f(1)=1, f(2)=2 로 해도 값이 동일하더라고요. 결국 초기값 2개만 지정하면 되는건가? 싶었습니다. 저는 계단을 1칸, 2칸을 갈 수 있는게 최소 케이스라고 생각하고, f(1), f(2)를 정의했는데 f(0) 부터 지정한 이유가 궁금합니다. 이 기준을 잡는 포인트는 어떻게 생각해낼 수 있을까요? 점화식이 f(n-1)+f(n-2) 이니 초기 0,1(혹은 1,2)번째 값을 알면 풀린다. 라고 접근하는 게 맞을까요?
Input.mousePosition 함수는 픽셀 좌표를 가져온다고 유니티 공식 문서에서도 적혀있는데, 검색해보니 픽셀 좌표는 왼쪽 위가 0,0인 좌표고, 스크린 좌표는 왼쪽 아래가 0,0인 좌표라고 나오는데 왜 Input.mousePosition함수로 가져온 값을 Debug.Log로 찍었을 때는 왼쪽 아래로 갈수록 0,0에 가깝게 나오나요? Input.mousePosition의 반환값이 픽셀 좌표인지, 스크린 좌표인지와 두 좌표가 어떤 차이점이 있는지 궁금합니다