[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. Future 의 cancel 기능에 대해 실험하면서 해결하기 어려운 부분을 만나 질문드립니다. 📋 실험 내용 Callable 의 call 메서드 내부에서 I/O 와 같은 블로킹 작업 진행(or Interrupt 가 되지 않는 작업) Future 의 cancel 진행 스레드 호출 대상은 CancellationException 예외 발생 후 진행 ※ 스레드 풀 의 스레드는 계속 실행 중임을 확인 💥 문제 사항 이런 방식으로 로직이 지속 실행되면 스레드 풀의 스레드는 종료되지 않으면서 고갈되어 가고 결국엔 작업이 쌓이다가 에러를 뱉어내고 오작동 하게 될 것이라 추측됩니다. ❓ 질문 내용 Q. cancel 기능은 Interrupt 를 발생해주면서 작업을 중단합니다. 만약 I/O 작업 처럼 Interrupt 가 먹히지 않는 로직에서는 어떻게 스레드의 실행을 종료하고 스레드 풀로 반납할 수 있을까요? 💻 코드 public class FutureCancelMain { private static boolean mayInterrupIfRunning = true; public static void main(String[] args) { ExecutorService es = Executors.newFixedThreadPool(1); Future<String> future = es.submit(new MyTask()); log("Future.state: " + future.state()); sleep(3000); log("future.cancel(" + mayInterrupIfRunning + ") 호출"); boolean cancelResult = future.cancel(mayInterrupIfRunning); log("cancel(" + mayInterrupIfRunning + ") result: " + cancelResult); try { log("Future result: " + future.get()); } catch (CancellationException e) { log("Future는 이미 취소되었습니다."); } catch (ExecutionException | InterruptedException e) { e.printStackTrace(); } es.close(); } static class MyTask implements Callable<String> { @Override public String call(){ boolean flag = true; // Scanner scanner = new Scanner(System.in); while(flag) { log("무한 작업 중..."); } return "Completed"; } }
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 친절하게 잘 알려주신 내용으로 크롤링 연습을 하고 있는데요, data= soup.select ('div.board-item-con') for item in data: research_date= item.select _one('span.meta-label')를 하게 되면 '사업구분'이라는 글자만 추출이 됩니다. 예를 들면, '채록시도' 항목에서 "충청북도"라는 데이터를 추출하고 싶은데, 이걸 어떻게 해야 할지 모르겠어요 ㅜㅜ 바쁘시겠지만 팁 좀 부탁 드립니다.
(AI 퀀트) 코드 한 줄 안 쓰고 주식 자동 분석 시스템 만들기 feat. Claude CLI
💡 수강생 안내 사항 (커뮤니티 가이드) 학습 관련 질문 : 구체적으로 적을수록 정확한 답변을 받을 수 있습니다. 작성 팁 : 마크다운과 단축키를 활용하면 글을 더 편리하게 작성할 수 있습니다. 사전 검색 : 질문을 남기기 전, 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해 보세요. 커뮤니티 매너 : 서로 예의를 지키며 존중하는 분위기를 함께 만들어가요. 서비스 문의 : 인프런 서비스 관련 문의는 1:1 문의하기 를 이용해 주세요. 정말 못찾겠습니다.
앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
안녕하세요, 강의 늘 잘 듣고 있습니다. 다름이 아니라, 뷰의 레이아웃을 잡아주는 과정에서 Drawing Cycle & 생성자 중 어디에 무엇을 작성해야 할지 헷갈려서 개인적으로 알아보던 중 궁금증이 생겨서 질문드립니다! Drawing Cycle에 맞추어 뷰 업데이트하는 몇가지 예시 init(생성자) subview 추가 (addSubview, stackView.addArrangedSubview) 제약 생성 + NSLayoutConstraint.activate (1회) 정적인 스타일(폰트, 색, axis, spacing 등) 즉, ‘한번 바뀌고 안 바뀔 것들’을 세팅해 준다. updateConstraints() 상태에 따라 레이아웃이 바뀔 때 (expanded/collapsed, 이미지 크기 토글, padding 변경, 어떤 뷰 숨김에 따른 높이 변경) constraint를 프로퍼티로 보관해두고 updateConstraints()에서 constant 바꾸거나 isActive 토글 필요 시 setNeedsUpdateConstraints() 호출 즉, ‘동적으로 바뀔 레이아웃’을 세팅해 준다. layoutSubviews() frame이 계산된 뒤의 후처리를 수행해줘야 할 때 (그림자 경로, cornerRadius 등 frame의 정보가 필요한 것들) 먼저 제가 정리한 바는 다음과 같습니다. 그런데, constraint를 updateConstraint() Drawing Cycle 내에서 지정해주는 강의 내 파트와 살짝 충돌이 발생하더라구요. GPT 및 개인적인 공부를 통해 확인했을 때에는, 'constraint가 여러번 중복 적용될 수도 있으므로, 동적으로 constraint를 변경할 상황이 아니라면 생성자에서 초기화해주는 것이 좋다'라고 이해했습니다. 동적으로 변경되지 않는 기본 레이아웃 제약은 생성자에서 설정하는 것이 원칙적으로 더 적절한지, 아니면 updateConstraints()에서 설정하는 방식도 올바른 패턴인지 궁금합니다. 어떤 방식이 더 권장되는지 명확히 알고 싶습니다..!
안녕하세요. "주식 자동 매수 스케줄러 구축 2" 챕터 강의에서 아래와 같이 자동 매수 프로세스를 수동으로 트리거 API 호출했습니다. post /purchase/trigger trigger_auto_purchase() 함수 호출 API 응답 상태 코드: 200 API 응답 본문: {"rt_cd":"1","msg_cd":"40910000","msg1":"모의투자 주문이 불가한 계좌입니다."} 2026-02-18 18:04:16,130 - stock_scheduler - ERROR - 메타(META) 매수 주문 실패: 모의투자 주문이 불가한 계좌입니다. 위와 같이 응답 결과를 받았는데 영상을 보니 같은 모의 투자를 하신 것으로 보이는데 어떻게 주문 성공 처리되신건지 궁금합니다.
카카오 추가 코딩 테스트 - 2의 '방금그곡' 해결방법 코드를 프로그래머스에 복붙하고 '제출 후 채점하기' 를 하면 하나의 테스트 케이스에서 틀리는데 도저히 봐도 봐도 잘 모르겠네요 ㅠㅠ 제가 풀었을 때도 같은 테스트 케이스에서 틀려서 딩코님꺼 돌려봤는데도 틀려서 뭐가 잘못된건지 못 찾는 중입니다 ㅠ
안녕하세요 강사님 단순한 질문이겠지만 궁금해서 한가지 질문드립니다. 아래와 같이 코드를 치면 False이면 bad가 출력이 되어야하는게 아닌가 궁금합니다. 한글로 풀이 했을 때 False면 bad를 출력해라 인데 왜 아무것도 출력이 안되는걸까요? if False: print('Bad')
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 스트림 강의를 보다가 질문 드립니다 웹 어플리케이션 기준으로 스트림은 보통 데이터를 처리하는데 쓰일 것 같은데요 많은양의 데이터라면 보통 디비단에서 최대한 필터링하고 걸러서 가져오는게 네트워크호출랴도 그렇고 이점이 많을것 같은데 그럼 스트림은 보통 언제쓰이나요? 데이터를 필터링하고 정렬하고 가공하는건 디비단에서 해서 가져오는게 더 효율이 좋다 했을 때 스트림으로 가공하는 데이터 수준은 디비단에서 다 할 수 있을 것 같아서요 같은 데이터를 가공하단 는게 필요하다고 해도 기존 sql 재사용 하고 스트림으로 재가공 하는것보다는 새로 sql문 날려서 가져오는게 더 낫지 않나요? 보통 웹 어플리케이션에서 어떤 상황에 쓰이는지 궁금합니다!
public int[] solution1(int[] weights) { int[] answer = new int[weights.length]; ArrayDeque<int[]> stack = new ArrayDeque<>(); for (int i = 0; i < weights.length; i++) { int weight = weights[i]; while (!stack.isEmpty() && stack.peek()[1] < weight) { var popped = stack.pop(); int poppedIndex = popped[0]; answer[poppedIndex] = i - poppedIndex; } stack.push(new int[] {i, weight}); } return answer; } 위와 같이 답변을 작성하였고, 강의에서 나오는 답과 변수명 정도 외에는 차이가 없어 보이는데, 시간 초과 오류가 발생합니다.