묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
이영상에있는문제 질문
저는 이문제를 여기서 풀기전에 유튜브에서 먼저접해봐서(흥달) 사진과같이 임의의 주솟값을 배정하는식으로 문제를 풀었는데 저런식으로 풀어도 문제없을까요?영상에서 설명하는방식은 전체적으로는 유서한데 좀 난해하다고 생각되어서요...
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
volatile
안녕하세요 영한쌤!질문드립니다! 쓰레드별로 공유 자원에 대해 효율적인 연산 처리를 위해 캐시 메모리를 사용한다고 하셨습니다! 이러한 문제가 메모리 가시성 문제를 일으킬 수 있어 volatile 키워드로 캐시가 아닌 메인 메모리에 직접 접근할 수 있었습니다. 이번 예제의 경우,volatile이 없었던 가장 기본 BasicInteger는 volatile을 사용하지 않았어도 어느정도 값 수정이 되었는데 이는 캐시 메모리를 사용하지만 컨텍스트 스위칭이 발생하면서 캐시메모리가 메인메모리로 반영하고 다시 이를 읽어오니 반영이 된건가요?(이전에 interrupt를 boolean flag + volatile로 해결하던 예제에서는 컨텍스트 스위칭이 발생할 시기가 확정적이지 않다고 하셨는데 그거에 비해 꽤 많이 연산이 이뤄진것같습니다...)
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
4:20 문자열 복사 질문
4:20 이부분에서 for문을 이용해서 modelName1[]에 있던 문자열을 myCar.model[i] 배열로 복사하는것인데 for문 실행으로는 NULL문자를 제외한 문자열들만 복사가 되기 때문에 for문 바깥에서 myCar.model[i] = '\0'; 이라는 코드로 NULL 문자를 마저 복사해주는 게 맞나요?? 제가 이해한 것이 맞는지 질문드립니다
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
18:00 객체선언 질문입니다.
보통 객체선언할떄classname 이름 = new classname()이라고 하는데 여기에서는 new classname()이라고 선언을 하셨는데 그것도 가능한건가요?그 부분에 대해서는 강의에서 설명이 없었는데 설명좀 부탁드려요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
첨부자료PDF 자료에는 코드가 짤려있네요
의도하신지는 모르겠습니다.영상에는 나오지만 첨부자료 PDF에는 코드 아래부분이 짤려있는 것이 종종 있네요예를들어 4-2의 메인함수는 영상에는 나오지만PDF파일에는 짤려있습니다.나중에 수정하실때 참고해주세요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
자바에서 초기화
14:19 정적 메서드에서 정적 변수 처리 부분에서 그 전 강의에서 초기화는 한번만 진행해준다고 배웠었는데 지금 이 부분과 혼동됩니다ㅠ 몇강에서 초기화는 한번만 해준다고 배웠는데 혹시 어디인지 아실까요..? 초기화 부분에 대해 설명 부탁드립니다!! 0으로 바꿔주는게 초기화가 아닌 재할당으로 생각하면 되는걸까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
22분 this 체인 질문입니다.
7번째 줄부터 Child5(int n) {this(n, "hi");System.out.println("Child5(int)");이 부분에서 출력 부분의 ("Child5(int)") 대신 ("Child5(n)")이면 Child(1)이 출력되는건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
케이스 7번의 this.name = name; 구문질문
7분2초에 케이스 7에 this.name = name 은 child 객체를 의미하는건가요? 부모의 클래스라도?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
영상 편집에 오류가 있는것 같습니다.
3:10 MemberRegisterResponse 생성3:23 MemberRegisterResponse 생성같은 과정이 반복되는데 편집이 잘 못 된것 같습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 프로젝트를 windows로 빌드하고 실행한 이후..
[질문 내용]그 이후부터는 intellij에서 localhost:8080으로 접속이 안됩니다. 설정에서 이렇게 변경을 해도 프록시서버 설정을 바꿔야하는건지 알수가 없네요. 프로젝트 다시 만드는 방법보다 설정바꿔서 실행해보고 싶은데 어느 쪽을 변경해야하나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
java 기출변형 22분
22분에 나오는 코드의 실행 순서에 질문이 있습니다.자식 클래스 생성자에 this나 super로 생성자가 적혀있지 않은 경우 자바에서 자동으로 super()를 만들어준다고 알고 있는데 맞나요? 그럼 Chi()에서 this(20)으로 Chi(20)이 실행된 다음, 이 생성자에는 따로 this나 super로 생성자가 적혀있지 않기 때문에 super()로 Par() 생성자가 호출된다고 이해하면 될까요?질문을 정리하자면, 코드의 정확한 실행 순서가Chi() -> Chi(int y) -> Par()인지,Chi() -> Par() -> Chi(int y)인지 알고 싶습니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
2025년 1회 기출 문제 1번 문제 질문
4분 58초에 for(i=0;i<4;++i){if(Data[i]>'c'){break;}이 문항에서 위에 나온 배열에 B A D E 가 존재하는데요 c 의 아스키코드는 99 로 인지한 상태로 풀고 나머지 배열에있는 값들은 각각 66 , 65 ,68 ,69 이렇게 해서 브레이크가 안걸리고 i가 3까지 나열한 뒤로 끝나는 것으로 인지했었습니다 그런데 영상 강의에선 D의 값에서 break가 걸린다고 들었는데 왜 그런건지 질문드립니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
23:29 질문입니다
메인 클래스에서 parent.getA()를 출력하는데 부모와 자식클래스에 똑같이 getA() 함수가 있으면 오버라이딩으로 자식클래스를 호출하나요? parent.getA()로 직접적으로 부모클래스를 호출하더라도요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
eventPublisher.publishEvent 시 @Transactional을 걸어야 하지 않나요?
딩코님! 강의 너무 잘 듣고 있습니다~! 강의를 따라가며 디비와 트랜잭션 그리고 락에 관해 심화 내용도 듣고 포폴도 하나하나 잘 채워가고 있습니다! 다름이 아니라 딩코님이 내주신 과제 중에 의문이 있어 질문을 드리게 되었습니다. 1. 현재 학습 진도4주차 수강 후 락과 트랜잭션 최적화를 수행하고 있습니다. 현재 여러가지 작업(일기 작성, 포인트 적립, AI 댓글 작성 예약, 알림 이벤트 발생)에 대해 facade 계층을 만들어 중요한 작업(일기 작성, 포인트 적립)에 대해서는 트랜잭션을 묶어 우선적으로 처리되게 하고 AI 댓글은 TaskScheduler로 특정 시간 후에 비동기적으로 이루어지게 하며 알림은 spring event로 after commit 후 처리하려 합니다. 2. 어려움을 겪는 부분현재 이벤트 발행 (트랜잭션 커밋 후 실행됨, after-commit)에 대해 의문이 있습니다.현재 딩코님이 올려주신 코드에는@Component @RequiredArgsConstructor @Slf4j public class ImprovedEventJoinWithExternalApiUpdateFacade { private static final String TEST_PHONE_NUMBER = "01012341234"; private final EventExternalUpdateService eventJoinService; private final ExternalEventApi externalEventApi; private final ApplicationEventPublisher eventPublisher; public void joinEvent(Long eventId, Long memberId) { // 1. 기존 서비스로 이벤트 참가 처리 EventWithLockParticipant participant = eventJoinService.joinEventWithTransaction(eventId, memberId); // 2. 외부 API 호출 ExternalEventResponse response = externalEventApi.registerParticipant( eventId, memberId, participant.getEvent().getName() ); if (!response.isSuccess()) { throw new RuntimeException("외부 API 호출 실패: " + response.getErrorMessage()); } // 3. 외부 API 응답으로 참가자 정보 업데이트 eventJoinService.updateExternalId(participant, response.getExternalId()); // 4. 이벤트 발행 (트랜잭션 커밋 후 실행됨) eventPublisher.publishEvent(new EventJoinCompletedEvent( eventId, participant.getEvent().getName(), TEST_PHONE_NUMBER )); } }이렇게 코드 내에 @Transactional이 걸려있지 않습니다. 그런데 이벤트 리스너에는@Component @RequiredArgsConstructor @Slf4j public class EventJoinEventListener { private final KakaoTalkMessageApi kakaoTalkMessageApi; @Async @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void handleEventJoinCompleted(EventJoinCompletedEvent event) { try { kakaoTalkMessageApi.sendEventJoinMessage( event.getPhoneNumber(), event.getEventName() ); } catch (Exception e) { log.error("알림 발송 실패. eventId={}, eventName={}", event.getEventId(), event.getEventName(), e); } } } 이렇게 transaction이 커밋된 후에 실행되도록 AFTER_COMMIT이 걸려있는데, 이렇게 되면 이벤트 리스너가 제대로 실행이 안되지 않나요? 제대로 이벤트 리스너가 실행이 되려면 joinEvent부터 @Transactional이 걸려있어야 하지 않나요?3. 시도해보신 내용따로 간단하게 코드를 작성하여 테스트해보았습니다. @RequiredArgsConstructor @Component public class StudyFacade { private final StudyService studyService; private final ApplicationEventPublisher eventPublisher; // @Transactional : 주석 처리하면 밑에 eventEvent가 실행되지 않음 public void execute() { studyService.saveStudy(); eventPublisher.publishEvent("event published"); } @Async @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void executeEvent(String event) { System.out.println("event = " + event); } } @RequiredArgsConstructor @Service public class StudyService { private final StudyRepository studyRepository; @Transactional public void saveStudy() { studyRepository.save(new Study("test")); } } 실제로 execute 메서드의 @Transactional을 주석처리하면 밑의 이벤트 리스너인 executeEvent가 실행이 되지 않더라구요. 이러면 ImprovedEventJoinWithExternalApiUpdateFacade의 joinEvent부터 트랜잭션을 걸어야 하니까 딩코님이 말씀하신 트랜잭션을 최대한 작게 나누는 트랜잭션 최적화가 어렵지 않나요? 항상 강의 잘 듣고 있습니다! 감사합니다!
-
미해결윤재성의 Kotlin(코틀린) 안드로이드 15 앱개발 Part2 - 메뉴와 4대 구성요소
파일공유
예제들 프로젝트 파일은 공유가 안되어 있을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
22분 44초
22분 44초의 내용을 정리해보면 printf("%s", str); 라면 str 문자열 전체를 출력하는 것이고 printf("%c", *str);라면 str 문자열의 첫번째 문자를 출력하는 것 맞을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
9번문제 Pdf수정요청
9번 문제 (30:40부분)에 pdf에는 main 함수가 없네요....수정 부탁드립니다 .
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
SELECT 문 조회시 Null 포함 여부
33:56 SELECT count(col2)FROM TABLEWHERE col1 in (2,3) or col2 in (3,5);에서 결과가 4인점은 이해가 됩니다.(count는 Null 포함 x)다만 오른쪽 아래 테이블이 헷갈리는 데, 만약 count(col2)가 아닌 col2만 출력하면 아래 처럼 나오는걸로 이해하고 있습니다. col2----Null6533강사님께서는 count에 해당하는 투플만 테이블만 표현하신건가요? 또 집계함수(sum, avg, max,min,count) 모두 Null은 포함하여 계산하지 않는다고 이해하면 될까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
32. 정적 변수, 정적 메서드 (static) v2
31:30 구간 강의부분에서max나 parseInt 같은 메서드들도 정적 메서드라고 하셨는데 그러면 보통 흔하게 나오는 println이나 print 메서드도 정적 메서드인가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
업캐스팅 관련 질문
16분 40초 마지막 업캐스팅 예제에서 메서드가 부모에는 없고 자식에만 있어서 오류가 난다고 하였는데 이 경우가 업캐스팅이라서 그런거죠?만약 업캐스팅 아니고 A a = new A(1)이였을 때는 문제가 없는건지 궁금합니다.