묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
Array 연습 문제 5번 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Array 연습 문제 5번을 제가 스스로 풀어보았을 때 이런 식으로 코드가 나왔고, 실행시켜봤을 때 답은 똑같이 나오는 것 같습니다.다만 풀이와는 코드가 조금 다른 부분이 있는데 혹시 제가 풀어 본 코드도 맞는 코드인가요? 아니면 틀린 걸까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberService와 EmailSender 책임 분리에 대한 질문
안녕하세요, 토비님. 강의 초반에 말씀해 주신 것처럼, 리팩토링 과정에서 “제가 했다면 어떻게 했을까”를 계속 생각해 보며 토비님의 의사결정 과정을 따라가고 있습니다. MemberService.register() 메소드에서 emailSender.send(...)를 sendWelcomeEmail()로 분리하시는 과정을 보며 두 가지 고민이 생겼습니다. 첫째, 환영 이메일의 내용이나 정책이 변경될 때마다 MemberService의 코드가 함께 변경되어야 한다면, 이는 SRP 위반에 해당하지 않는지에 대한 고민입니다. 이 경우 환영 이메일 전송에 대한 책임을 EmailSender 인터페이스 쪽으로 옮기는 것이 더 적절한지 궁금해졌습니다. 둘째, 만약 EmailSender 인터페이스에 해당 메소드를 추가한다면, 구현체가 늘어날수록 인터페이스가 비대해지거나 향후 구현 복잡도가 증가할 수 있다고 느꼈습니다. 이런 경우 default method로 제공하는 방식에 대해서는 어떻게 생각하시는지도 궁금합니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
6분 20초 질문.
double 비교 (6:10)double num1 = 128.0;Double num2 = 128.0;이 두개를 ==로 비교하면 Double는 다른 ㅇ애들이기 때문에 무조건 false라고 하신거 아닌가요??아니면 대문자와 소문자로 인해서 달라지나요?
-
미해결김영한의 실전 자바 - 기본편
static method 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 질문드립니다.클래스에서 static 메서드엔 static 변수와 메서드만 사용할 수 있고 인스턴스 변수와 메서드를 사용하지 못하는 이유는 '인스턴스는 생성이 되어야 참조값이 생성되기에 아직 생성되지 않은 클래스 내에서는 인스턴스를 사용할 수 없다.'로 이해하고 있습니다. 그러면 해당 클래스의 인스턴스 메서드 에서는 아직 생성되지 않은 클래스인데 인스턴스 변수와 메서드를 사용할 수 있는 이유가 무엇일까요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
아스키코드 질문
15분경 아스키코드 중문자'0'과 숫자 7을 더하면 문자'7'이 된다고 하셨는데, 정확하게 이해하고 넘어가고자 질문 합니다.'1'과 2를 더하면 아스키코드 값 51이 되니까 이건 %d로 출력하면 51이 될거고, %c로 출력하면 문자 '3'이 되는건가요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
56분 charFreq(str + 1, ch); 질문
다른 분이 질문한 내용을 읽어보고 고민하고 생각해봤는데도 이해가 안되서 질문 합니다.str == ch 는 0 이되는건 알겠는데 그 옆str+1로 다음 글자 인것도 알겠습니다 근데 그옆에 ch는 무슨뜻이죠?? ch는 그냥 무시하는 건가요?return(*str == ch)여기에서 0이 되는건 이해됩니다. 그런데 charFreq(str + 1, ch)에서 ch는 그냥 무시되어버리는 도저히 이해가 안됩니다 ㅠㅠ 도와주세요 charFreq(str + 1,ch) 여기 값에서는 무슨 짓을 해도 계속 0이 나오는건가요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
섹션 2. 11강 3분 12초
printf("a%%b = %d\n", remainder_result);에서 왜 %% 가 들어가는데 출력값은 a%b=1 인건가요? a%%b = 1 이 아닌 이유가 있나요~?
-
미해결스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
좋아요 기능 정합성 보장 방법
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 좋아요에 대한 정합성을 (article_id, user_id) 유니크 인덱스로 보장하는 것은 DB의 역할이라고 생각합니다.그렇다면, 다수의 동시 요청이나 사용자의 반복 클릭(예: 좋아요 버튼을 연속으로 누르는 경우) 상황에서 불필요한 DB 부하와 예외 발생을 줄이기 위해 애플리케이션 단에서는 어떤 방식으로 이를 보완하고 처리하는 것이 적절한가요?좋아요에 대한 정합성을 (article_id, user_id) 유니크 인덱스로 보장하는 것은 DB의 역할이라고 생각합니다.다만, 다수의 동시 요청이나 사용자의 반복 클릭(예: 좋아요 버튼을 연속으로 누르는 경우) 상황에서는 애플리케이션 단의 단순한 선행 검증만으로는 이를 제어하기 어렵다고 느꼈습니다.예를 들어, 아래와 같은 코드에서는 다음과 같은 경쟁 상태(race condition)가 발생할 수 있습니다.T1: exists → false T2: exists → false T1: insert T2: insert ❌ (유니크 제약 위반) if (!likeRepository.exists(postId, userId)) { likeRepository.save(...); } 이처럼 애플리케이션 레벨의 exists → insert 패턴이 동시성 문제를 해결하지 못하는 상황에서DB 예외에만 의존하지 않고 불필요한 중복 요청과 예외 발생을 줄이기 위해 애플리케이션 단에서는 어떤 방식으로 이를 보완하는 것이 바람직하다고 보시는지 궁금합니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
리플렉션 default
영한형님리플렉션 디폴트로 바꾸는데그냥 디폴트 생성자 만들면 안되나요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
섹션1 switch-case문 질문
6분경 Java에서 int i=3; int k=1; 이라고 초기화를 시켜주었는데 case 3: k=0일 때 초기화 한 값 k=1이 들어와야 하는거 아닌가요?? 그래서 정답은 -8이 아니고 -7
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
섹션1에 10강 17분 38초 질문
Java 함수의 예시 살펴보기-4를 보고있습니다.반복문에서 for(int i = str.length()-1 ; i>=0 ; i--)일 때에 "Hello World" 띄어쓰기 포함해서 총 11글자라서 반복문에 대입하면 lroW olleH 가 되야하는거 아닌가요?? str.length()-1 초기식에서 -1을 하는데 어떻게 d도 출력이 되는거죠?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.
수업자료 최신화좀 해주세요.pdf 자료 보면서 하다가 하다 하다 안되서 커뮤니티랑 찾다보니까 버전 안맞아서 설치 안되고 있엇네요.자료 최신화 하면 좋을것 같습니다.
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
Batch 패키지 설계 — 실무에서 Job 단위 구조
킬구형 ㅎㅇ 요즘에 배치 다시 학습하면서 좀 고민인 부분이 있음. 현재 회사에서 배치 Job이 좀 많이 늘어나면서 코드 관리가 너무 어렵더라고. Spring MVC에서는 Controller-Service-Repository 같은 레이어드 아키텍처나 클린 아키텍처처럼 널리 쓰이는 구조가 있는데, 배치 쪽은 이런 패키지 구조나 설계 방식에 대한 레퍼런스가 상대적으로 적은 것 같아서. 최근에 클린 아키텍처를 배우면서 배치에도 이런 구조를 적용할 수 있는지 궁금해졌거든.지금 나는 대략 이런 식으로 구성하고 있어:batch/ ├── order/ │ ├── confirm/ │ │ ├── OrderConfirmJobConfig.java │ │ ├── OrderConfirmReader.java │ │ ├── OrderConfirmProcessor.java │ │ ├── OrderConfirmWriter.java │ │ └── OrderConfirmJobListener.java ├── payment/ │ ├── settle/ │ └── cancel/ ├── support/ ├── domain/ ├── application/ └── infrastructure/ 하나의 Job을 하나의 큰 애그리게이트처럼 보고 있어서, 관련 클래스를 패키지별로 분리하기보다 한 폴더 안에서 로우 레벨로 관리하는 게 더 편하더라고.근데 Job이 계속 많아질수록 이게 맞는 건지, 더 나은 방법이 있는 건지 잘 모르겠어서. 혹시 형은 실무에서 Job이 많아졌을 때 패키지 구조나 코드 구성을 어떻게 가져가? 객체 간 위계나 import 의존성 방향 같은 것도 신경 써서 설계하는지도 궁금해. 물론 사람마다 차이가 있겠지만 시간 괜찮으면 경험 공유해주면 도움이 많이 될 것 같아!
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
비교연산자와 반복문+조건문 문제 풀이 강의 질문
16분 50초쯤 출력값에 대해서 설명을 해주셨는데 정답이 이상하다고 생각됩니다.i%2 == 0 에서 i가 0일 경우에는 0%2= 나눌 값이 없으니 나머지가 2가 그대로 다시 나오는거 아닌가요? 필기 공부할 때 책에서 봤던 것 같습니다.
-
미해결2026 코딩테스트 올인원 [JAVA]
노션 링크가 어디있나요?
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요!마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요.커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요.편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ 안녕하세요 ! 지금 막 코딩테스트 강의를 시작했는데, 혹시 코딩테스트 개론 << 이거 노션링크를 못찾겠어서 질문드립니다 이론이 글로 적혀있는 노션 공유가 가능할까요?제가 현재 들어가 있는 노션인데, Part1.코딩테스트 개론 이부분이나 현재까지 강의 들은 알고리즘이나 시간복잡도 설명이 없는거 같아서 제가 못찾는건지.. 어디있나요??
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
강의자료 받으면 책 전혀 살필요 없을까요??
강의자료 받으면 책 전혀 살필요 없을까요??기타 다른 실기 교재 이론이나 이런거 수제비, 시나공 등 한권도 안사도 충분할까요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
아주 기본적인 질문.
아주 기본적인 질문이지만 내용을 확실히 하고자 질문 남겨봅니다.현재 섹션2에서 6번째 강의를 들었는데요 21분에 정리해주신 내용을 보면 python은 print()함수 안에서 두번째 파라미터가 end=부분을 잘 살펴보자 라고 하셨는데, end= 뒤에 a,b,c,d가 큰따옴표 없이 end=a,b,c,d로 출력 될 경우 그리고 end="a,b,c,d" 이렇게 출력이 되는 경우 어떻게 출력이 되고 개행은 어떻게 이루어지는지 알고싶습니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
26년 2월 2일 월요일 정처기 첫 강의 시작
비전공자이며, 노베이스에서 시나x로 2달간 필기 준비하면서 cbt자료 돌리고, 26년 1회차 필기 합격했습니다. 실기는 책으로 독학 하기에는 힘들다고 생각하여, 유튜브를 찾아보던 중 우연히 알게된 주말코딩쌤.... 수강후기에 누군가 얘기 하시길 이 강의를 보면 50점은 먹고 들어가는거라고 하는 말에 바로 강의 수강을 신청했습니다.26년 1회차 1트에 합격 간절한 1인 입니다.실기시험이 4월 중순에서 5월 6일 이전이니까 실기시험 까지 대략 2달~2달 반이 남았는데, 하루 최소 3시간~5시간 계획 중 입니다.오전 6시~7시반 그리고 출근해서 점심시간에 30분, 퇴근해서 오후8시~10시 더 많이 할 수 있는 날도 있을거고 적게하는 날도 있을건데, 간절한 마음으로 강의 들으며 공부 해보겠습니다.시험치고 합격 불합격 여부 후기 남기겠습니다.공부라는게 정말 때가 있더라구요... 매일 공부하고싶은데, 짬내서 하고 많은 걸 포기해야 공부 할 수 있어서 학창시절에 공부 안했던 저를 꾸짖고 싶네요 ㅎㅎ 화이팅입니다!!!!!!
-
미해결스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
좋아요 동시성처리 최적의 선택?
강의에서는 비관적 락과 낙관적 락을 다루셨는데, 일반적으로 대규모 서비스가 아닌이상 좋아요 자체가 순식간에 많은 트래픽이 몰릴것같지않아 낙관락으로 처리하는 것이 더 효율적일것같다고 생각이듭니다. 그래도극단적인 상황을 대비해서, 뒤에서 나오는 조회수 처리처럼 레디스로 좋아요 수를 증가시키고 스케줄링같은걸로 RDB에 백업하는 방식은 어떤가요?동시성처리에서 비관적 락으로만 처리해야 하는 상황이 있을까요? 레디스의 분산 락을 사용하는 것이 성능 측면에서 비관락보다 유리할 때도 있을 것 같은데, 실제로 비관락을 반드시 써야 하는 예시나 사례가 궁금합니다.RDB 트랜잭션(@Transactional) 내부에서 레디스를 함께 업데이트하는 경우, RDB에서 장애가 발생해서 롤백이됬는데 Redis 만 데이터가 업데이트 되는 경우도 발생할수도 있을것같은데. 이런 경우를 어떻게 처리하는지, 2PC를 적용하는지 아니면 다른 방법이 있는지도 궁금합니다.
-
미해결6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
Redis 캐싱을 도입하는데 db조회와 성능이 차이가 거의 없습니다.
1. 현재 학습 진도redis 2. 어려움을 겪는 부분 간단하게 제 프로젝트를 소개하자면 RSS피드를 통해 블로그의 글들을 불러와서 하나의 게시판에서 볼 수 있는 서비스 입니다.스케쥴러 작업에서 구독한 피드의 새로운 글들을 불러옵니다. 피드마다 비동기로 병렬 처리됩니다.이때 새로운 글인지 아닌지를 판단할 때 피드마다 redis를 사용하거나 피드마다 db의 조회를 통해 차이를 확인했는데 redis를 사용했을 때 빨라질 것이라 생각했지만 빠르지 않았습니다.3. 시도해보신 내용앞선 강의를 토대로 쿼리발생 횟수를 모니터링 횟수로 측정한 결과 피드가 100개일 경우 db의 조회를 활용했을 때 비동기 병렬 처리 되므로 100개의 select문이 나갑니다.redis를 사용했을 때는 0개의 select문으로 감소합니다. 하지만 성능은 비슷합니다.예상 가는 이유로는 redis를 사용했을 때 그 횟수가 너무 잦아서 redis에 연결하는 네트워크 시간 때문에 차이가 미미하다는 말이 있던 것 같습니다.만약 제 가설이 맞다고 한다면 redis를 사용할 때 항상 네트워크의 횟수를 최소화 해야만 redis의 성능을 온전히 이끌어 낼 수 있는건가요?보통 레디스를 사용할 때 이걸 다 생각하면서 1번만 redis가 조회 되도록 하고 생각하면서 쓰나요?그렇다면 제 코드에서 redis의 성능을 올바르게 나타내려면 피드의 새로운 글들을 하나의 List로 전부 묶은 후 redis에서 한번의 연결을 통해 한번에 캐싱을 확인해서 성능을 높여야 하는건가요?