해당 내용 중 Parent parent = new Child(3); // 6 이 실행되면 이후 3 -> 1 순서로 진행된다고 설명해주셨는데, 만일 아래코드와 같이 super를 명시적으로 호출하지 않고, 파라미터도 동일하다면 순서가 1 -> 3의 순서로 진행되는 것일까요?? class Parent { int x; Parent(int x) { // 1 this.x = x; } ... } class Child extends Parent { int x; Child(int x) { // 3 this.x = x; } ... } ... 만일 위 내용이 맞다면, 아래와 같이, 같은 파라미터의 생성자이면서 super를 명시적으로 작성했을 경우에는 순서가 어떻게 되는지도 궁금합니다. (child의 생성자 내부 코드라인에 super가 존재해서 child의 생성자 호출이 우선인 것인지, 혹은 super가 명시적으로 없어도 child의 생성자 호출이 우선인것인지가 헷깔립니다ㅜ) class Parent { int x; Parent(int x) { // 1 this.x = x; } ... } class Child extends Parent { int x; Child(int x) { // 3 super(x + 1); this.x = x; } ... } ...
"It is 8"; 여기서 8도 결국 문자인데 아스키코드로 변환하면 몇 번인지 알아야 하지 않나요 ??? 계산식에서 isdigit 매서드로 숫자로 변경이 되어도 (p[i] - '0' + 3)%10 + '0' 이렇게 문자가 섞여서 계산을 해야 답을 구할 수 있지 않나요 ?
해당 문제의 해설을 보기 전에 i==4 ? n[0] : n[i+1] 과 같은 형태로 답을 작성했는데, 실제 시험에서 이렇게 작성한 경우 답으로 인정될까요?? 혹시 알려주신 답처럼 n[(i+1)%5] 과 같은, 시험에서 답으로 인정되는 형태가 있는지 아니면 출력값만 맞으면 답으로 인정되는지 궁금합니다!
선생님 강의 잘 보고있습니다. 감사합니다. 기출문제 강의는 2022년 3회~2024 3회 까지 있던데 , 2022년 3회 이전에는 기출 유형이 바뀌었다던가하는.. 특별한 이유가 있을까요? 기출문제를 다 풀고난뒤 이론공부를 할까 2022년 3회 이전의 기출문제 더 풀어볼까 고민입니다..
다익스트라는 음수 간선이 존재하는 경우 사용할 수 없다 라고 하셨는데 다익스트라 개념 강의에 나온 예시 코드의 경우에는 음수 간선이 존재해도 사용할 수 있는거 아닌가요? 이미 방문한 노드(최단경로를 확정한 경우)를 다시 방문하지 않는다면 음수 간선이 존재하면 최단 경로를 구할 수 없을것 같은데 강의에 나온 예시 코드는 방문을 했더라도(최단 경로를 확정 했더라도) 다시 heap에서 꺼내어 비교하는 과정이 있으므로 음수 간선이 존재해도 가능할 것 같아 질문드립니다.
안녕하세요. 궁금한 게 있어서 질문 남깁니다. 구조체를 선언하는 방식에서 변수명을 함께 선언할 때는 구조체 명이 필요가 없는건가요? 강의 설명에는 struct 구조체명 { 내용 } 변수명; 이라고 나와있지만 예시에서는 sturct 만 작성했습니다. 구조체명을 써도 상관이 없는 선택사항인건지, 아니면 아예 필요가 없는건지가 궁금합니다. 만약에 사용해도 된다면, person1.age에 접근할 때 어떤식으로 접근해야 하는지가 궁금합니다. 답변 기다리겠습니다. 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] ExecutorService 우아한 종료 - 구현 01:07 close() 메소드 설명 부분에 " shutdown() 을 호출하고, 하루를 기다려도 작업이 완료되지 않으면 shutdownNow() 를 호출한다." 에 오류가 있어 보입니다. [내용 정정] " shutdown() 을 호출하고, 작업이 완료될 때까지 무한정 반복대기 한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다." 로 변경해야 하지 않나요? [근거] Eclipse Temurin-21.0.4+7 (JDK 21) 버전 코드 원문 public interface ExecutorService implements Executor, AutoClosable { // .. @Override default void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; // 작업 미완료시 재시도 while (!terminated) { try { // 하루간 작업 종료 대기, 작업 미완료시 `false` 반환 terminated = awaitTermination(1L, TimeUnit.DAYS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } } 1일이 지났다고 해서 interrupt() 를 호출하지 않고 재시도 하는 것으로 보입니다. [증명 코드] MyExecutor 로 close() 메소드 대기 시간을 1일 -> 1초로 조정하여 오버라이드합니다. 10초간 대기하는 Task 를 실행시킵니다. class ShutdownTest { record CallableSleepTask( String name, long sleepMs ) implements Callable<Long> { @Override public Long call() throws Exception { sleep(this.sleepMs); return this.sleepMs; } } static class MyExecutor extends ThreadPoolExecutor { public MyExecutor() { super(1, 1, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); } @Override public void close() { boolean terminated = isTerminated(); if (!terminated) { shutdown(); boolean interrupted = false; while (!terminated) { try { // 종료 대기 시간 1초로 조정 terminated = awaitTermination(1L, TimeUnit.SECONDS); } catch (InterruptedException e) { if (!interrupted) { shutdownNow(); interrupted = true; } } } if (interrupted) { Thread.currentThread().interrupt(); } } } } @DisplayName("Should wait infinitely when .close()") @Test void executorServiceCloseTest() { // given try (ExecutorService myExecutor = new MyExecutor()) { log("작업 시작"); CallableSleepTask sleepTask = new CallableSleepTask("test", 10_000L); myExecutor.submit(sleepTask); // 10 초간 테스크 실행 log("작업 진행중.. close 대기"); // 기다리지 않고 .close() 자동 호출 } } } 실행 결과 18:38:39.524 [ main] 작업 시작 18:38:39.527 [ main] 작업 진행중.. close 대기 (약 10초 대기 후 종료) Process finished with exit code 0 테스크 종료를 위해 10초 대기가 이뤄졌습니다. close 가 조정된 대기시간인 1초 뒤에 인터럽트를 발생시켰다면 인터럽트 로그가 남았을 것이고, shutdownNow()가 호출됐다면 10초 대기없이 즉시 종료되었을 것입니다. 따라서 정정이 필요해보여요. close 메소드는 " shutdown() 을 호출하고, 작업 완료시까지 무한정 반복대기 한다. 인터럽트가 발생하면 shutdownNow() 를 호출한다."
원본 소스코드를 다운로드 하면 그 안에 각 강의 시간에 배운 코드들이 다 있습니다. 하지만 그 소스들이 다 합쳐져 있는 최종 코드 같은 건 없는 것 같습니다. 예를 들면 main.py 안에는 long_article.py에 배운 글을 길게 작성하는 코드가 빠져 있잖아요. 결국 최종적으로 원고 생성기 프로그램은 배운 것들을 각자 알아서 합쳐서 만들라는 것인가요? 제가 이해한 것이 맞는지 궁금합니다.
강의 너무 잘 들었습니다. 실은, 이전에 다른 강의를 먼저 수강하다가 제대로 끝까지 가지 못했었습니다. 그러다, 이번 강의를 접하고 순식간에 완강했습니다. 정말 실질적으로 필요한 부분을 가르쳐 주고 나머지는 가지치기 해주시는 것 너무 좋습니다. 그리고 원리부터 설명해 주시는 방식도 너무 좋습니다. 이전에는 어디에 쓰이지는지도 알수 없는 너무 지엽적인 부분만 보다가 지쳤었거든요. 다짜고짜 코드만 따라하니 기억에도 하나도 남지 않았습니다. 그래서 다음 강의가 너무너무 기대가 됩니다. 다른, 분이 쓰신 질문에 답을 다신 것을 보니 판다스 강의도 예정하고 있다고 들었는데, 혹시 언제쯤으로 계획하고 계신지 알수 있을까요? 빨리 배워서 실제 업무에 적용해보고 싶습니다.
강사님 안녕하세요. airflow의 rest api를 이용하여 task를 재실행하는 코드를 개발하는 중 궁금한 점이 생겨서 문의드립니다. (참고로 실행환경은 회사pc입니다) ~/v1/dags/{dag_id}/dagRuns/{execution_date}/taskInstances/{task_id}/clear 위와같이 특정 task의 실행 시간으로 실행하면 404에러가 뜨고 "detail": "The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.", "status": 404, "title": "Not Found", "type": "about:blank" REST-API문서를 살펴보니 clearTaskInstances가 있어서 ~/api/v1/dags/{dag_id}/clearTaskInstances 이렇게 조회하면 405 에러가 뜹니다. "detail": "The method is not allowed for the requested URL.", "status": 405, "title": "Method Not Allowed", "type": "about:blank" /clear이든 /clearTaskInstances 둘다 작동하지 않은데, 방법이 있을까요? 두번째의 경우 서버에서 작동을 막는것일까요?
안녕하세요 주말코딩님 고생많으십니다. 3가지 질문이 있어 적어보았습니다. 7분50초 유형 2자식 show에 this.value가 아닌 그냥 value여도 20을 출력하는지? 12분유형 4 부모에서 y=a없이 프린트문에 Y대신 a로 출력을 하면 안되나요? 20분 유형 10 child에서 int x를 정의하고 child()->child(x) 로 변경하면 부모와의 매개변수 숫자가 동일하니 오류가 안나나요?