묻고 답해요
163만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
갑자기 빨간밑줄이 뜨며 실행이 안됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]에러메시지는 package org.aspectj.lang does not exist 라고 뜨며 TimeTraceAop 클래스 내에 곳곳 빨간줄이 뜹니다. 왜그러죠?? package hello.hello_spring.aop; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; @Aspect @Component public class TimeTraceAop { @Around("execution(* hello.hello_spring..*(..))")//그 실행하는데 패키지 명 그리고 거기 밑에 있는 거 여기에다가 여기다 클래스 명 등등에게 public Object execute( ProceedingJoinPoint joinPoint) throws Throwable {//서비스명만 측정하려면 hello.hello_spring.service long start = System.currentTimeMillis(); System.out.println("START: " + joinPoint.toString()); try { return joinPoint.proceed();//다음 메서드로 진행 } finally { long finish = System.currentTimeMillis(); long timeMs = finish - start; System.out.println("END: " + joinPoint.toString()+ " " + timeMs + "ms"); } } }
-
미해결실전! 스프링 데이터 JPA
auto-ddl 기능이 안됩니다 ㅠㅠㅠ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]auto-ddl 기능이 제대로 작동하지 않아서 문의드립니다. 간단한 문제인데 혼자 해결 못해서 죄송합니다. yml 파일 문법은 다 맞는 걸로 보이는데... 혹시 틀린 거 있으면 말씀해주세요 ㅠㅠ spring: datasource: url: jdbc:h2:tcp://localhost/~/datajpa username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug # org.hibernate.type: trace import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor public class Member { @Id @GeneratedValue private Long id; private String username; public Member(String username) { this.username = username; } }혹시 몰라서 Member 엔티티 코드도 남깁니다!! 추가적으로 h2 데이터베이스에는 잘 접속하는 것 같아요 ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
@JsonIgnore가 실무에서 쓰이는 경우가 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 주문 조회 (/api/v1/simple-orders와 /api/v1/orders) api 학습하면서 궁금한 점이 생겼습니다.강의를 들으며 postman으로 request 했을 때, v1 코드에서 쿼리를 날릴 시 양방향 연관관계에서 문제가 발생할 수 있다는 것을 배웠습니다. 예를 들어, order list를 return했을 때, member와 delivery에 대한 프록시 객체로부터 필드를 조회해서 영속 상태의 객체를 반환하도록 구성한다면 v1에서는 @JsonIgnore로 양방향 연관관계에 대한 처리 코드를 작성해주어야만 이 문제가 해결되는 것으로 이해했습니다. 그런데 Dto를 만들어 반환하게 되면 @JsonIgnore을 없애도 이러한 문제가 사라지니, 사실상 @JsonIgnore을 실무에서 사용하는 일은 없지 않을까라는 생각이 들었습니다. 또한, 실무에서 양방향 매핑보다는 단방향 매핑을 선호하는 것으로 알고 있어 질문드립니다. 실무에서 이런 코드(@JsonIgnore)를 작성할 일이 있다면, 어떠한 경우인 지 예시가 있을까요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
dependencies 셋팅 부분에서 에러가 발생하네요
안녕하세요 강 프로젝트 세팅부분에서 javax.servlet groupId dependencies 에서 에러가 발생하는데 <properties> <javax.servlet-version>4.0.1</javax.servlet-version> <javax.servlet.jsp-version>2.3.3</javax.servlet.jsp-version> <javax.servlet.jsp.jstl-version>1.2</javax.servlet.jsp.jstl-version> <org.springframework-version>5.2.2.RELEASE</org.springframework-version> </properties> <!-- 라이브러리 셋팅 --> <dependencies> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${javax.servlet-version}</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>${javax.servlet.jsp-version}</version> <scope>provided</scope> </dependency>에러 발생 Missing artifact javax.servlet:javax.servlet-api:jar:1.2 입니다 .
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열 for문 할때 질문입니다
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.package array; public class EnhancedFor1 { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; //일반 for문 for (int i = 0; i < numbers.length; i++){ int number = numbers[i]; System.out.println(number); }이 부분에서 int number = numbers[i]; 부분을 없애고밑에 줄을 System.out.println(numbers[i]); 로 바꿔도 결과값이 똑같이 나오던데 그렇게 하면 안되는 건가요?배열의 요소에서 값을 꺼내서 number라는 변수에 항상 담아두게 코드를 짜야하는건지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
404에러가 계속 뜹니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]404에러가 뜹니다. 폴더 경로라랑 빌드 그래들 등등 보여드리겠습니다.
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
코틀린 val 질문
클래스 속성에 val로 정의할 경우 속성 값을 외부로 반환할 때 getter 메소드를 만들어서 반환하시나요? 아니면 속성 그대로 인스턴스.속성 으로 바로 반환하시나요??만약에 후자일 경우 캡슐화 위반이 아닌지 생각이 듭니다...
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
2025 강의
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.유튜브로 3회차 합격률 영상보다가 20프로 할인한다는 거 보고 구매했습니다. 2025년도 되면 강의라든가 24년도 3회차 기출문제 풀이 이런것도 최신화가 되나요??
-
미해결김영한의 실전 자바 - 기본편
오디오만 나옵니다
오디오만 재생되고 화면이 안나옵니다.
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
metaspace 관련 문의드립니다.
안녕하세요. 좋은 강의라 너무 잘 듣고 있습니다.metaspace 관련하여 궁금한 점이 있습니다. "세대별 컬렉션 이론" 강의 - 13:00의 heap 영역 그림을 보시면,metaspace가 heap 영역 내부에 포함이 되어있는데,자바 8버전 이후로 Permanent Generation 영역이 metaspace로 변경되면서 heap 내부가 아니라 네이티브 메모리로 넘어간게 아닌가요? -XX:MaxPermSize 옵션도 없어진 것으로 알고 있습니다. 관련 내용 확인 부탁드립니다.감사합니다. :)
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@OneToOne 관계에서 연관 관계 주인이 아닌 쪽에서 LAZY가 적용되지 않는 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]LAZY를 적용하면 프록시 객체가 할당되는데, @OneToOne에서 연관 관계 필드가 null이라면 연관 관계 엔티티가 없다는 의미이고, 프록시 객체가 할당되었다는 것은 연관 관계에 해당하는 엔티티가 있다는 것을 의미한다고 이해했습니다. (프록시 객체는 연관관계 엔티티가 있을시 단지 조회를 늦추는 역할을 하는데 기여하는 객체라고 이해했습니다.) @Entity @Table(name = "Users") public class User { @Id @GeneratedValue @Column(name = "USER_ID") private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "CART_ID") private Cart cart; } @Entity public class Cart { @Id @GeneratedValue private Long id; @OneToOne(mappedBy = "cart") private User user; } 위 예시 코드를 토대로 설명해본다면 연관관계 주인(User)에서 Cart를 조회시실제 DB 테이블 관점에서 보면, FK에 null이 들어가 있으면 연관 관계 엔티티가 없다는 것을 의미하므로 cart 연관 관계 필드에 null을 할당할 수 있고, 반대로 FK에 null이 아닌 값이 있으면 연관 관계 엔티티가 있다는 뜻이어서 프록시 객체를 할당할 수 있습니다. 이렇게 되면 프록시 객체에 접근할 때 LAZY로 처리가 가능하다고 이해했습니다. 하지만 반대로, 연관관계 주인이 아닌 (Cart)에서 User를 조회 시실제 DB 테이블 관점에서 보면, 연관 관계의 주인이 아닌 테이블(Cart)에서는 FK 컬럼 자체가 없기 때문에 해당 테이블만 읽어서 연관 관계의 엔티티가 있는지 알 수 없습니다. 예를 들어, ’나를 참조하는 애가 누구지?’라는 문제입니다. 이런 상태에서는 user 연관 관계 필드에 null을 넣기도 애매하고, 프록시 객체를 만들기도 애매하기 때문에 EAGER 방식으로 동작한다고 생각해도 될까요?
-
미해결스프링 시큐리티 OAuth2
CustomOAuth2AuthenticationFilter 구현 중 질문
CustomOAuth2AuthenticationFilter으로 인증까지 처리 후home으로 리다이렉션을 하는거 까지 구현을 하였는데요HomeController에서 인증객체를 가져오려고 하면 null을 가져오는데요 CustomOAuth2AuthenticationFilter에서 securitycontext에 저장하였다가 리다이렉션할 때 새로운 스레드에서 이것을 처리해서 그 스레드에는 securityContextHolder에는인증객체가 없는 거 같은거 같은데 해결방법이 있을까요nio-8081-exec-2 스레드는 customFilter에서 holder에 제대로 저장하는데 리다이렉션 후 home에서는 nio-8081-exec-3이 받습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
404에러에 관한 질문 static 폴더밑의 jsp 파일조차 실행안됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]새 프로젝트에 계속해서 404가 뜨는 상황입니다. 정적 컨텐츠조차도 404가 뜨는 상황인데 왜그런지 함 봐주실수 있나요? { "type": "about:blank", "title": "Not Found", "status": 404, "detail": "No endpoint GET /index.jsp.", "instance": "/index.jsp"}이렇게 화면에 뜹니다.
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
HelloThreadMian 코드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. HelloThreaMain 클래스 에서 의문점이 생겨서 질문을 드립니다.코드를 보면이런 식으로 되어 있는데,저가 생각 하기로는이렇게 코드를 하는 게, 맞지 않나 싶어서, 여쭈어봅니다.helloThread.start()를 호출전이니 main.start가 아니라,helloThread.start가 되어야 맞는거 아닌가? 라는 생각을 하게 되는데요. 오류인가요? 아니면 저의 생각이 틀린건가요?답변 부탁 드립니다.
-
미해결스프링 시큐리티 OAuth2
AuthenticationManager 생성시점
가끔 securityconfig 설정 중 AbstractAuthenticationProcessingFilter 상속한 필터를 만들 때 AuthenticationManager가 필요해서 http.shareObject로 받아오면 Null을 반환하더라구요. protected void beforeConfigure() throws Exception { if (this.authenticationManager != null) { this.setSharedObject(AuthenticationManager.class, this.authenticationManager); } else { ObjectPostProcessor<AuthenticationManager> postProcessor = this.getAuthenticationManagerPostProcessor(); AuthenticationManager manager = (AuthenticationManager)this.getAuthenticationRegistry().build(); if (manager != null) { this.setSharedObject(AuthenticationManager.class, (AuthenticationManager)postProcessor.postProcess(manager)); } } 여기서 httpSecurity의 해당 메서드에서 providerManger를 생성하는 거 같으나 디버깅했을때여기보다 제가 Bean으로 정의한 SecurityFilterchain이 먼저 걸려 httpSecurity.getShareObject()를 하면 null을 반환하더라구요. 그래서 authenticationConfiguration.getAuthenticationManager()으로 넣기는 하였으나 이게 정확히 AuthenticationManager생성주기가 매우 궁금하여 질문드립니다.
-
미해결김영한의 실전 자바 - 기본편
생성자
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.name = namename1 = name2 여기서 어떤게 매개변수이고,어떤게 멤버변수인가요?구분하기 위해 1, 2로 나누었습니다
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
자바에서 2바이트 크기인 char에 할당되는 3바이트 크기의 한글...?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. OutputStreamWriter, InputStreamReader를 이용해 한글을 파일에 쓰고 읽는 내용이 수업에 있는데요.UTF-8은 한글을 3바이트로 저장한다고 되어있고, 수업 때 작성한 코드를 보면 한글을 char 타입으로 저장이 잘 되는 것을 확인할 수 있습니다. (수업에서는 int형으로 저장했다가 이를 char형으로 캐스팅한것이지만 제가 따로 코딩을 해보아도 char 자료형에 한글이 잘 저장되더라구요) utf-8 에서는 한글을 3바이트로 저장하는데 자바에서 2바이트 크기인 char자료형에 잘 저장될 수 있는지 찾아보았는데, 자바에서는 변형된 utf-8을 쓴다고 하고 뭔가 굉장히 자세한 내용이 있었습니다.그냥 자바에서는 utf-8에서는 3바이트로 저장되는 한글을 특별한 방법으로 2바이트로 저장한다고 알고있으면 될까요?근데 또 한글로 저장해놓은 String을 바이트배열로 바꾸면 한글자당 세개의 바이트가 나와가지고 이해가 어렵습니다..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
콘솔에서 쿼리가 보이지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강사님처럼 콘솔에 INFO와 쿼리가 뜨지 않습니다.다른 분들 질문을 보니 yml 파일을 확인하라던데 yml 파일에 오타는 없는거 같은데.... 어느 부분을 수정해야할지 모르겠습니다 ㅠㅠ
-
해결됨자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
완강 후 Kotlin 이런저런 질문 드려봅니다!
안녕하세요! 최태현 지식공유자님 코틀린 강의 만들어주셔서 감사합니다! 💚실제로 코프링 개발자로 1년정도 근무했던 경험이 있었는데.. 일했던 날짜와 한참 늦은 2024년 말이지만 추후에 강의를 완강하게 됐는데 매우 유익했습니다 몇가지 질문이 있어서 질문 남깁니다!!질문들TabWidth에 대해서IntelliJ에 보시면 tabWidth를 2로 설정하셨는데, 특별한 이유가 있으신가요?보통 저는 4로 설정하는 편이어서요!순수함수에 대해서제가 알기로는 내부의 scope에서 동작할때 외부의 요인이 내부의 값을 바꾸지 못하거나 내부의 요인으로 외부의 값이 바뀌지 못하계 경계가 있어서 side effect가 없는 함수를 뜻하는 걸로 알고있는데요 Java는 그렇기에 Stream api를 사용할때 final이 아닌 외부의 값을 참조하지 못하기때문에 좀 더 안전하게 작성할 수 있는데, 코틀린은 Closure, Currying 등을 허용하기 때문에 개발자의 실수를 더 많이 일으킬 가능성을 열어둔 것은 아닌지 궁금합니다OOP와 FP에 대해서자바같은 경우는 함수형 인터페이스또는 인터페이스 구현체를 익명클래스나 익명함수 등으로 넘겨서 FP를 모방하는걸로 알고있는데요, 대신 최소한의 getter/setter를 추가하고 행위를 나타내는 메서드명을 외부로 노출하고(public..), 그 메서드는 내부호출(private)로 캡슐화를 할 수 있는데, 코틀린처럼 invoke가 될 수 있는 함수를 인자로 넘기면 아래와 특정한 행위를 나타내는 이름이 아닌 행위 자체를 넘기게 돼서 객체의 역할과 책임을 나타내는 메서드가 없게 되서 rich domain model이 아닌 anemic domain model이 되는게 아닌지 궁금합니다// OOP fun doHobby(person: Person?) { println("${person?.hobby}생활을 즐기고 있습니다") } fun beAging(person: Person?) { println("내년에 ${person?.age?.plus(1)}만큼 늙어갈 예정입니다") } fun mainOOP() { val person = Person("보키", 20) doHobby(person) beAging(person) } // FP fun doSomething(person: Person?, run: () -> Unit) { } fun mainFP() { Person("보키", 20).run { doSomething(this) { println("${hobby}생활을 즐기고 있습니다") } } Person("보키", 20).run { doSomething(this) { println("내년에 ${age+1}만큼 늙어갈 예정입니다") } } Person("보키", 20).run { doSomething(this) { println("런닝중입니다 건들지마시오") } } } data class에 대해서대부분의 기능들이 강의에 녹아있기는 하지만 data class의 강력한 기능 중 하나인 copy 메서드는 백엔드의 프로덕션 개발과 테스트 코드에서 어디 부분에 사용될 수 있을까요?이건 많이 강의 주제를 넘어간 질문이긴 하지만.... Kotlin+Springboot+JPA 를 사용할때 data class/class 중 어떤 클래스로 Entity를 만드시는지 궁금합니다.MySQL or MongoDB or PostgreSQL에서 어떤 클래스와 궁합이 좋은지. data class를 사용한다면 copy를 어느 부분에 사용하면 좋을지도 알고싶습니다!강의내용과는 많이 무관하기에(코틀린이 아닌 서버, 타 라이브러리, 인프라(DB)까지 논의확장을 하였음) 답하기 어렵다면 안해주셔도 괜찮습니다Scope Func에 대해서저는 Kafka, Configuration 등에서 기본객체를 가져와서 apply를 이용해서 초기값 -> 덮어씌우는 방식을 주로 사용했고 with구문을 이용해서 log를 편하게 했었는데 scope func의 또 다른 좋은 선례도 알고싶습니다! Ex1) private fun <K : Any, V : Any> initConsumerProps( keyDeSerClass: Class<out Deserializer<K>>, valueDeSerClass: Class<out Deserializer<V>> ): Properties = Properties().apply { put(BOOTSTRAP_SERVERS_CONFIG, "localhost:9092") put(KEY_DESERIALIZER_CLASS_CONFIG, keyDeSerClass.name) put(VALUE_DESERIALIZER_CLASS_CONFIG, valueDeSerClass.name) put(GROUP_ID_CONFIG, "group-02") put(MAX_POLL_INTERVAL_MS_CONFIG, "60000") } Ex2) for (record in consumerRecords) { with(record) { logger.info { "key: ${key()}, partition: ${partition()}, offset: ${offset()}, value: ${value()}" } } }method reference에 대해서어떤 코드에서는 let(::XX), 또 다른 코드에서는 let { ... }방식이 사용될 때가 있는데, 어떤게 성능상 또는 가독성에서 좋은지도 궁금합니다!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
HashMap
HashMap 강의 듣고있는데 HashMap<String, Integer> map에서 Integer가 아닌 int를 쓰면 왜 안되는지 궁금합니다.