묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Spring Data JPA에 있는 인터페이스를 사용하는 경우가 많이 보이는데 강의에서는 EntityManager를 주입받아서 직접 구현하는 방식으로 설명해주신 이유가 궁금합니다.
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
실무적용 관련 질문드립니다
회사 규모상 프로젝트를 혼자서 개발하는 경우, 강의의 내용을 적용해서 도메인 문서를 만드는 것이 개발에 대한 정리나 추후 다른 사람이 봤을 때 도움이 될 수는 있으나, 당장 시간에 쫓기기도 하고 다른 사람의 피드백 없이 혼자서 정리하다 보면 잘 정리하기 힘들다는 생각이 되는데요. 이런 상황에서의 정리는 오히려 도움이 안될 수도 있다는 생각이 드는데, 토비님께서는 어떻게 생각하시는지 궁금합니다.
-
해결됨자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
Kotlin과 Java의 현업에서의 활용
안녕하세요. Kotlin과 Java의 현업에서의 활용에 있어 궁금한 내용이 있어 질문드려요. 서버를 개발하실 때 Kotlin과 SpringBoot를 활용한다고 수업시간에 지나가면서 잠깐 말씀해주셨는데요. 혹시 Kotlin + SpringBoot의 프로젝트 작업을 진행하실 때 전혀 Java를 사용하지 않고 활용하시는지 아니면 Java와 Kotlin을 같이 사용하는 지 현업에서 실제 어떻게 활용하시는지 궁금합니다. 그리고 Gradle에서implementation("org.apache.commons:commons-lang3:3.0") 와 같은 외부 라이브러리를 Kotlin + SpringBoot 프로젝트에서 사용할 때 Java로 가져와서 사용하는지 아니면 Kotlin으로 따로 제작된 코드를 사용하는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
java static class와 kotlin class
[질문 내용]kotlin으로 실습을 진행하고 있는데, java의 static class에서 static은 무슨 의미인가요? kotlin에서의 그냥 class와 같은 역할인 걸까요?
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
실무 레거시코드에 낙관적 락, 비관적 락 적용 시도
안녕하세요 현재 섹션 5_4-9. 낙관적 락, 비관적 락 부분을 듣고 있는데요.현재 공공SI 고도화 개발팀에서 개발을 하고 있는데 동시성 제어 부분이 있는것 같아서 질문드립니다.레거시 코드로 Oracle/ iBatis DAO / XML 환경이며담당자가 신청에 대해서 접수하는 기능에서소스분석을 통해서 봤을 때 기존 소스 흐름은1. 작업확인용 테이블에서 현재 작업중인 목록이 있는지 확인(Select)2-1. 작업중 목록이 없다면 작업확인용 테이블에 작업중으로 insert2-2. 작업중 목록이 있다면 Exception 발생(작업중입니다.)3. 해당 신청건에 대한 insert/update 진행4. 작업확인용 테이블의 insert 했던 값의 상태를 작업완료로 Update* 작업중 상태가 있을 땐 다른 신청건에 대해서도 접수가 불가입니다.강의를 듣고 보았을 때 작업확인용 테이블의 존재 이유가 동시성 제어를 위함으로 보이는데기존 흐름을 봤을 때비관적락 > 배타락으로 적용하는것이 맞다고 생각이 드는데 맞는 접근일까요?또한 비관적 락 적용시 작업확인용 테이블의 존재가 필요없어지는 걸까요?해당부분을 건드리기에 부담이 가서 기존 방식대로 개발을 해놓은 상태이긴 한데강의를 듣고 적용해볼 수 있지 않을까 생각이 들어 질문드립니다!
-
해결됨멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
CQRS 설계 팁
대규모 트래픽 환경에서 Write Service의 부하를 줄이기 위한 CQRS 설계 팁이 있을까요?
-
미해결스프링 핵심 원리 - 고급편
실무에서의 동시성 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 실무에서의 동시성 문제에 대해서 궁금한게 생겨서 질문 드립니다.현재 외부 API를 사용하는 서비스를 개발 중인데, WebClient, RestTemplate를 사용하여 개발 중에 있습니다.구글링 및 Claude MCP를 사용하여 검증 했을 때에는 해당 라이브러리를 사용할 때 동시성 문제를 일으킬 가능성이 없다고 하는데, 해당 라이브러리를 사용할 때 동시성 문제에 완전히 자유로운 건가요? 아니면 특정 상황에서는 동시성 문제가 발생할 수 있는 건가요?만약 발생할 수 있다면, 어떻게 테스트 코드를 작성해서 확인 할 수 있을까요?
-
미해결Practical Testing: 실용적인 테스트 가이드
커버리지는 어떻게 활용하시는지 궁금합니다.
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요.좋은 강의 재밌게 수강하고 있습니다!강의를 들으면서 의식적으로 테스트 코드를 작성하기 위해 노력하고 있습니다. 학습하다 보니 테스트 코드에 대한 부분을 정량적인 지표로 활용할 수 있는 커버리지라는 지표가 있다는 것을 알게 되었는데요. 제가 개발하는 부분은 도메인이 복잡한 프로젝트는 아니다 보니, 주로 Service Layer와 Presentation Layer 위주로 작성하게 되더라구요. queryDSL이나 native query를 이용해 복잡한 쿼리를 작성하게 되면, 가끔 Persistence Layer까지 작성하게 되는 것 같습니다. 그러다 보니, 도메인 패키지가 아닌 Config 등 global 패키지에 존재하는 코드나 Persistence Layer의 테스트 코드가 커버리지가 낮고, Persistence Layer의 커버리지도 낮아서 그런지 보통 프로젝트의 라인 커버리지가 60% 전후를 기록하고 있는 것 같습니다. 우빈님께서는 커버리지를 어떤 식으로 활용하시는지 궁금합니다! 커버리지 자체를 신경쓰기 보다는 말씀해주신 대로 미래를 위해 의미가 있는 테스트 코드를 작성하고 싶은데, 커버리지도 활용하는 방법이 있는지? 그리고 주로 어떤 레이어 위주로 테스트 코드를 작성하시는지 궁금합니다!읽어주셔서 감사합니다.
-
미해결스프링 핵심 원리 - 고급편
로그 등 부가 기능에 대한 테스트코드
강의 자료에서 제공된 테스트 코드가 온전한 테스트 코드가 아니라고 언급하셨습니다. 실무에서 로그와 같은 부가기능에 대해서도 테스트 코드를 작성하시나요? 작성하신다면 로그가 정확하게 찍혔는지, 혹은 메서드 호출 순서나 시간이 기대한 대로 측정되었는지 등을 자동으로 검증하기 위해 일반적으로 사용되는 테스트 기법이나 프레임워크가 있을까요? 관련 방법이나 라이브러리 등에 대해 학습할 수 있는 키워드를 알려주시면 감사하겠습니다.
-
미해결토비의 스프링 6 - 이해와 원리
오브젝트 정의 중 배열에 대해서
오브젝트를 클래스의 인스턴스 혹은 배열이다라고 하면 기술적으로 맞는 정의라고 하셨는데 배열이 별도로 정의에서 언급된 이유가 궁금합니다!찾아보았을 때에는 new 클래스명() 과는 다른 별도의 new int[] 와같은 형식으로 생성JVM내에서 바이트코드 레벨에서의 조작을 통한 다른 조작 방식으로 접근으로 일반적인 클래스 생성을 통한 방식과는 다른 방식으로 배열을 객체로서 구현하고 접근하기 때문에 별도로 정의한다라고 이해하였지만 단순 자바에서의 구현 방식 차이로 자바에서만 별도 정의되어 표현된것인지 원래 오브젝트의 개념중 배열은 별도 기술하는것인지 궁금하며 혹시 위의 기술한것과 다른 이유가 존재하는지 궁금합니다!
-
미해결토비의 스프링 6 - 이해와 원리
스프링 레거시를 이용하는 회사에서 일을 하게 될것같은데
제가 개발 시작하는 신입사원인데 회사 앞으로 미래에 일하게 될 프로젝트 팀의 업무 내용을 어떤분께 들었는데 정부전자 프레임워크에서 스프링 레거시로 작업을 한다고 들었습니다.혹시 이 강의를 공부하는 것으로 충분히 대비가 될지, 완강 후에 추가로 어떤 공부를 더 해야하면 좋을지 모르겠습니다.
-
미해결스프링 핵심 원리 - 고급편
ProceedingJoinPoint와 MethodInvocation에 대하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용]1. 스프링에서 제공하는 MethodInterceptor에서 사용하는 MethodInvocation 객체와 @Aspect 프록시에서 사용되는 ProceedingJoinPoint는 어떤 차이점이 있나요?2. 비슷한 기능을 제공함에도 다른 객체가 사용되는 특별한 이유가 있나요?
-
미해결토비의 스프링 6 - 이해와 원리
JpaTransactionManager에 대해 궁금합니다.
@Transactional을 쓰지 않고 JpaTransactionManager 사용했을 때 좋은 점이 있을까요? @Transactional과 JpaTransactionManager의 차이가 궁금합니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
AI 시대에서 공부와 실무의 관계를 어떻게 바라봐야 할까요?
안녕하세요 토비님.강의에서 말씀하신 공부할 때는 AI 관련 도구를 끄고 지식을 습득 해야 한다는 부분이 인상 깊었습니다.이전에도 공부와 실무 사이에는 늘 간극이 있었고, 이번 강의는 그 간극을 인지하고 실무적인 관점에서 방향을 잡을 수 있도록 도와주신다고 느꼈습니다.그런데 요즘은 AI가 빠르게 보편화되면서, 공부와 실무의 관계가 또 다른 형태로 변화하고 있는 것 같습니다.실제로 신규 업무나 개인 프로젝트에서 AI의 활용 방식과, 기존 시스템을 지속적으로 개선하거나 확장하는 과정에서의 AI의 활용 방식이 다르게 느껴집니다.이런 변화 속에서 AI를 새로운 학습 형태이자, 학습과 실무를 잇는 새로운 도구로 봐야 할지, 아니면 보조적인 수단으로 바라봐야 할지 고민됩니다.토비님은 실무에서 AI를 어떤 방식으로 활용하고 계신지, 그리고 이 시대의 개발자가 어떤 균형점을 가져야 한다고 보시는지 궁금합니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
도메인엔티티와 JPA 엔티티 분리 문의
안녕하세요. 도메인 엔티티와 JPA 엔티티를 아예 분리하는 case도 있는지 궁금합니다. 예를들어 Domain 패키지에는 순수한 도메인 클래스들만 모아놓고 JPA에선 도메인 엔티티 -> JPA엔티티로 변환해서 사용하는경우도 있나 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
데이터베이스 접근 및 DB 락
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]데이터 베이스 접근 및 DB 락에 대해서 학습을 하면 "동시성 이슈" 그리고 "트랜잭션 격리성" 에 대한 전반적인 DB Lock 이슈 관리에 도움이 될까요??
-
해결됨프로덕션 레벨 실시간 채팅 서버 구축: 분산 처리부터 성능 최적화까지 (Kotlin & Spring)
엔티티는 Data Class로 작성하면 안되나요?
아직 코틀린에 익숙치 않은데 어떤 경우 Data class를 선언하고 어떤 경우 일반 class를 선언하는지 감이 안잡히네요.추가로 object나 compainon object는 어떤 경우 사용하게 되나요?
-
미해결[1.5탄] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
@GetMapping은 단순 축약일까요? 다른 차이는 없나요?
안녕하세요, 이번 강의를 듣다가 문득 궁금한 점이 생겨서 질문 드립니다. 강의에서 @RequestMapping(method = RequestMethod.GET)을 @GetMapping으로 축약할 수 있다고 배웠습니다. 그런데 이런 축약 어노테이션들이 단순히 가독성만을 위한 것인가요? 아니면 성능상의 차이도 있나요? 왜 굳이 이렇게 나뉘어져서 존재하는지 궁금합니다.
-
미해결토비의 스프링 6 - 이해와 원리
스프링빈과 Clock 클래스 관련
안녕하세요, 토비님. 좋은 강의 항상 감사드립니다.Clock 관련해서 궁금한 점이 있어 질문드립니다.스프링에서 빈은 기본적으로 싱글톤으로 관리된다고 알고 있습니다.그런데 만약 Clock을 빈으로 등록하고 Clock.fixed...로 고정된 시계를 만든다면,여러 스레드가 동일한 Clock 인스턴스를 공유하게 될 텐데요.이 경우 동시성 문제가 발생할 가능성은 없는지 궁금합니다.
-
해결됨토비의 스프링 6 - 이해와 원리
Seprate Interface 패턴에 대한 궁금증
안녕하세요, 좋은 강의 올려주셔서 감사합니다.Seperate Interface 패턴에 대해 궁금한 점이 있어 질문드립니다. "오브젝트와 의존관계" 세션의 마지막 강의에서, DIP를 적용하기 위해 payment 패키지에 ExRateProvider 인터페이스를 두고, 해당 인터페이스를 exrate 패키지에서 구현한다고 알려주셨습니다. 저도 직접 코드를 따라서 작성해보니 훨씬 깔끔하다는 느낌이 들었는데요. 그런데 사실 제가 실무에서 개발을 하면서 저런 구조를 경험해보지 못했습니다. 저는 Spring MVC를 사용하는데, 흔히 사용하는 controller-service-repository 패키지 구조에서 repository 패키지 아래에 인터페이스를 만들어서 그대로 쓰거나(JpaRepository) 필요하면 구현체를 만들어서 쓰는 방식으로 개발을 해왔습니다. 그래서 다음 2가지가 궁금한데요.1) Spring MVC를 사용하는 경우에도 알려주신 Separate Interface 패턴을 적용할 수 있나요? 아니면 프로젝트의 설계 자체가 달라져야 하는 것인가요?2) 실무에서도 Seperate Interface 패턴을 많이 적용하고 있나요?스프링을 더 잘 이해하고 코드를 더 잘 작성하고 싶었는데,강의 들으면서 많이 배우고 있습니다. 감사합니다.