묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨누구보다 빠르게 배우는 Springboot + React RestAPI 게시판 만들기
안녕하세요 질문있습니다.
강의에서는 BoardDto로 요청을 다 받고 있는데 요청값은 CRUD마다 다를거라고 생각하는데Request 객체의 변경이 Service 계층에 영향을 미칠 수 있기 때문에 컨트롤러랑 서비스 DTO를 다르게 준다고 알고있습니다.컨트롤러BoardCreateRequestBoardCreateResponse서비스BoardCreateDtoBoardCreateResult근데 api 하나 만들때마다 너무 많은 변환과 객체 생성이 이루어질거같은데 강사님은 실무에서 어떤 방법을 사용하시나요?!..궁금합니다
-
해결됨멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
프로젝트 의존 관계
안녕하세요. 강의 잘 듣고 있습니다.다름이 아니라 프로젝트 의존성 관계를 그래프로 그려주셨는데요. 그려주신 그래프가 맞는걸까요..?bank-mornitoring은 아무런 모듈을 의존하지 않고, 반대로 bank-monitoring을 의존하는 모듈은 bank-api, bank-event인데 그려주신 그래프와 관계가 좀 다른거 아닌가 싶어 여쭤봅니다!
-
미해결2026 코딩테스트 올인원 [JAVA]
노션 링크 문의
안녕하세요 노션 요약노트 구글폼으로 신청을 했는데도 공유가 되지않아 문의드립니다!
-
미해결2026 코딩테스트 올인원 [JAVA]
문제 풀이 접속 오류
문제 리스트에서 문제 클릭 시 종종 아래와 같은 메시지가 뜨며 정상적으로 문제 풀이에 진입이 불가합니다.요청 시간이 초과되었습니다. 나중에 다시 시도해주세요.집중하다가도 맥이 탁 끊기는데 해결 부탁드립니다.
-
해결됨채널톡 면접관이 직접 알려주는 CS 면접 대비 - Java 편
질문있습니다.
동시성 이슈에 발생할 수 있는 상황에서,A 변수에 대해 읽기 작업만 수행하는 코드(가시성 문제가 있을 수 있는 코드)에서는 volatile을 고려해볼 수 있고, A 변수에 대해 읽기 + 쓰기 작업도 있는 경우에는 synchronized와 atomic을 고려해볼 수 있겠네요. 제가 이해한 게 맞을까요?
-
미해결Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기
강사님.. 하단 URL에 있었던 코드들 다운 받거나 공유 부탁 드립니다..
파일이 삭제 되었습니다.. 설치 파일하나만 섹션으로 넣어주시면 안될까요..? Download Ubuntu 20.04 LTS and Installation Hadoop 3.x on Ubuntu Standalone Operation(Local mode )
-
미해결2026 코딩테스트 올인원 [JAVA]
노션 접근권
계정이 일치하는데 권한이 없다고 나옵니다.권한 한번더 확인 및 설정 부탁드려도 될까요?
-
미해결스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
설명중에 @Version 필드를 낙관적 락에서 이용할 수 있어가지고~ 라고 하셧는데 실제 돌려보니 비관적락 2에도 DB 업데이트가 되었습니다. AI 에게 물어보니 @Version 어노테이션이 붙은 필드는 JPA 사용시 @Lock 어노테이션 사용여부 상관없이 업데이트가 된다고 합니다. 혹 다른 qna 에도 같은 내용이 있는지 확인은 모두 안해 보았습니다. ========================응, 같은 엔터티 row에 실제 UPDATE가 나가면 @Version 필드는 증가한다고 보면 돼.락 방식이 낙관적이든 비관적이든 핵심은 이거야.@Version private Long version;이 필드가 있는 엔터티가 dirty checking으로 변경 감지되고, flush/commit 때 UPDATE 대상이 되면 JPA/Hibernate가 version 값을 같이 갱신해.========================
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
형 이번에 낸 책이랑 강의 내용에 차이가 있어?
교보 앱 보다가 형이 낸 책을 발견 했는데 이 강의랑 내용 차이가 있어서 읽는걸 추천하는지 궁금해책 출간한거 축하해
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
형 나 몰래 책내면 모를 줄 알고?
형 나 매일마다 교보 눈팅하는 데 형 책 나와서 깜짝 놀랐잖아! 축하해~ 책쓰는 거 엄청 힘든데 고생했어~ https://product.kyobobook.co.kr/detail/S000219973675
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest 상문주문 테스트 시 update 쿼리 문의
안녕하세요.OrderServiceTest에 상문주문 메서드 실행 할때 쿼리를 봤는데 item에 update 쿼리가 발생했더라고요. 제가 궁금한게 item, member, order.. 등등 persist 했고 중간에 flush를 할만한 jpql이라던가 모든 엔티티 pk가 identity로 되어 있지 않은데 item에 update가 왜 발생한건가요? 엔티티를 persist 하고 flush 전에 변경 감지 set으로 수정하면 insert -> update가 나가는건가요? insert만 나가는거 아닌가요?감사합니다.
-
해결됨채널톡 면접관이 직접 알려주는 CS 면접 대비 - Java 편
멀티스레드
람다와 스트림이 순수 함수를 강제하지 않는데멀티스레드 환경에 안전하다는 게 어떻게 안전한건지 궁금합니다.
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
N+1 관련해서 질문있습니다.
안녕하세요. 우선 좋은 강의 제작해주신 토비님께 항상 감사하고 있어요. 이제 배운지 1년된 왕초보입니당..혼자 배워보면서 개인 프로젝트를 만들고 있는데 JPA를 사용하고 있어요.제가 궁금한 것이... N+1 관련한 문제입니다. 아 일단 프로젝트 주제는 복식부기 가계부에요. @Entity ... public class Journal extends BaseEntity { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ledger_id", nullable = false, updatable = false) @OnDelete(action = OnDeleteAction.CASCADE) private Ledger ledger; ... @OneToMany(mappedBy = "journal", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true) private List<EntryLine> entries = new ArrayList<>(2); ... public EntryLine getEntryLine(EntrySide side) { switch (side) { case CREDIT : this.entries.stream().filter(line -> line.isCredit()).findFirst() .orElseThrow(...); case DEBIT : this.entries.stream().filter(line -> line.isDebit()).findFirst() .orElseThrow(...); default : throw new ... } } ... // Service에서 저장되기 전에 호출 public void validateSavable() { ... validateJournalSave(); } private void validateJournalSave() { AccountType debit = getEntryLine(EntrySide.DEBIT).getAccountType(); AccountType credit = getEntryLine(EntrySide.CREDIT).getAccountType(); if(!this.transactionType.isValidPlacement(debit, credit)) { throw new ... } } }Journal Class에서 EntryLine List에 접근하고 있어요. 그리고 EntryLine Class는 이렇게 생겼어요.@Entity ... public class EntryLine extends BaseEntity { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "journal_id", nullable = false, updatable = false) private Journal journal; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "account_id", nullable = false) private Account account; ... // private package 접근제어자 사용 // Account는 Category를 참조중이에요. AccountType getAccountType() { return this.account.getCategory().getAccountType(); } } 거래가 저장되기 전에 Journal : validateJournalSave() 에서 this.transactionType에 따라 차변과 대변에 올바르게 위치하고 있는지 검사한 후 저장하고 있는데 이것을 생성과 수정할 때 두 곳에서 사용하고 있어요. Ledger에 5개 Category가 있고, Account는 그 Category를 참조하고 Category에서만 AccountType이 있어요.Journal이 각 EntryLine의 AccountType을 얻기 위해Journal -> EntryLine -> Account -> Category -> getAccountType() 이렇게 흘러가네요.이렇게 접근해도 설계상 괜찮은걸까요? Journal을 저장할때는 @Query 사용해서 Fetch Join으로 필요한 Account를 가져오고 있는 상황이에요.Journal이라는 엔티티가 비즈니스 로직 수행을 위해서 다른 엔티티의 필드까지 깊게 참조?? 가져오도록 설계하는게 옳은건지 모르겠어요.
-
해결됨채널톡 면접관이 직접 알려주는 CS 면접 대비 - Java 편
성능 오버헤드
런타임에 객체의 타입을 확인하는 과정에서의성능 오버헤드는 어느정도?? 라고 생각해야되나요신경을 써야되는 수준인지 궁금합니다.
-
미해결LLM 활용 Hadoop & Hive 빅데이터 실무 AI Tutor와 함께하는 Hadoop Ecosystem
다음 강의는 언제 올려주시는지요?
좋은 강의 감사드립니다. 강의를 계속 듣고 싶습니다. 다음 강의는 언제 올려주시는지요? 또한 완강은 언제쯤이 될지 궁금합니다.감사합니다.
-
미해결Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기
하단 파일이 열리지 않습니다
Download Ubuntu 20.04 LTS and Installation Hadoop 3.x on Ubuntu Standalone Operation(Local mode)
-
미해결Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기
ssh-keygen -t rsa -P "" 등 ssh 암호화? 는 하둡에서 필수인가요?
강사님 안녕하세요 아래부터 자세한 설명 없이 코드를 쳤는데 하둡 셋업할때 필수로 입력 해야 하는건가요? export PDSH_RCMD_TYPE=ssh ssh-keygen -t rsa -P "" cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
강의 중복 확인 요청
섹션 9부터 중복으로 내용이 있는데 확인 바란다
-
해결됨채널톡 면접관이 직접 알려주는 CS 면접 대비 - Java 편
volatile에 대해 질문 있습니다.
volatile 관련해서 자료를 보다 보니, 일부 자료에서는“CPU 캐시를 우회하는 것이 아니라 happens-before 관계와 메모리 배리어를 통해 가시성과 재정렬 제한을 보장한다”고 설명하더라고요.골드 답변의 내용과 정반대되는 내용이라 혼란스러워서 어떻게 이해하면 좋을지 질문드립니다.
-
해결됨채널톡 면접관이 직접 알려주는 CS 면접 대비 - Java 편
Mark and Sweep
Mark and Sweep 알고리즘을 통해 참조가 되고 있는 객체만 Survivor 0 또는Survivor 1 Generation 으로 옮깁니다. 라고 하였는데Mark and Sweep 이 아닌 Copying아닌가요?