inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

인스턴스 메소드 참조와 람다의 차이

미해결

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

강의 수강 중 궁금하여 실험한 내용 공유합니다. 2번 특정 객체의 인스턴스 참조에 관련한 내용입니다. 강의자료에서는 () -> person.introduce 가 person::introduce 와 동일한 것처럼 설명된 것 같습니다. "그럼 person 에 대한 캡처가 일어날까?" 하는 궁금증이 들었고, 다음과 같은 코드를 작성했습니다. Person person = new Person("Kim"); Supplier<String> instanceMethod = () -> person.introduce(); person = new Person("Lee"); System.out.println(instanceMethod1.get()); 컴파일러가 person 이 사실상 final이 아니라면서 컴파일해주지 않더군요. 다음으로는 람다 대신 메소드 참조로 바꾸어보았습니다. Person person = new Person("Kim"); Supplier<String> instanceMethod = person::introduce; person = new Person("Lee"); System.out.println(instanceMethod.get()); 이는 컴파일에 성공하고, "I am Kim"이 출력됩니다. Person 클래스에 setName 을 추가하고 메소드 참조 이후에 호출해보았습니다. Person person = new Person("Kim"); Supplier<String> instanceMethod = person::introduce; person.setName("Park"); person = new Person("Lee"); System.out.println(instanceMethod.get()); "I am Park"이 출력됩니다. 요약하면 다음과 같습니다. () -> person.introduce 에서는 person 이 사실상 final이 되어야만 한다. person::introduce 는 사실상 final이 아니어도 되며, 해당 메소드 참조는 정의 시 객체 참조를 유지한다.

  • java
  • 함수형-프로그래밍
  • lambda
한재현 댓글 1 좋아요 1 조회수 192

synchronized vs ReentrantLock vs Atomic 너무 혼란스럽습니다..

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

synchronized, ReentrantLock, Atomic 모두 상호배제(동기화)를 구현하지만, 락을 "획득하고 해제하는 과정" 자체도 동시 접근이 발생할 수 있는 또 다른 임계영역처럼 보입니다. → 그렇다면 이 락 자체 또한 어떻게 동기화하는지 궁금합니다. 핵심적으로, synchronized JVM이 모니터 락을 통해 상호배제를 구현하는데 내부적으로 CAS 연산 + OS의 스레드 대기 관련 시스템 콜 + JVM 내부 스레드 대기 큐 을 활용 상호배제를 구현한다. 즉, 락 획득과 해제 과정의 동기화는 JVM 수준에서 구현 한 것이다. OS는 단지 스레드를 잠재우고 깨우는 역할만 담당 → 이 이해가 맞는지? ReentrantLock 자바에서 명시적으로 CAS 연산 + OS의 스레드 대기 관련 시스템 콜 + 스레드 대기 큐 을 활용하여 상호배제를 구현한다. 즉, 락 획득과 해제 과정의 동기화는 자바 코드 수준에서 직접 구현 한 것이다. OS는 단지 스레드를 잠재우고 깨우는 역할만 담당 → 이 이해가 맞는지? Atomic 자바에서 명시적으로 CAS 연산 활용하여 상호배제를 구현한다. 즉, 락이 없고, 시스템콜도 없다. CAS 한 줄이 동기화의 전부 → 이 이해가 맞는지?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
김민정 댓글 2 좋아요 2 조회수 269

[막강] IoC방법 공부를 할 때?

해결됨

옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트

스프링 IoC를 공부하려면 @Configuration+@Bean 학습을 하려고 하는데, @AppConfig같은 것으로 공부를 해야하는지, 어떻게 해야할지 조그만한 힌트를 주시면 감사하겠습니다.

  • java
  • spring
  • rest-api
  • spring-boot
  • dbms/rdbms
갱스터 댓글 1 좋아요 1 조회수 194

질문 올려도 되는지..?

미해결

고성능 JPA & Hibernate (High-Performance Java Persistence)

여기 내용에서 대부분 통합 테스트시 h2 디비 인메모리 기반으로 테스트를 하는게 아니라,, docker 기반 mysql 설치후에 볼륨을 tmpfs 로 마운트한다음에 해도 빠르다는건가요,,?

  • java
  • jpa
  • hibernate
오개발 댓글 1 좋아요 0 조회수 317

오라클 jdk21 버전이 없어서 이클립스 21 하려 했는데 둘 다 없습니다.

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 오라클 jdk21 버전이 없어서 이클립스 21 하려 했는데 둘 다 없습니다. 찾아보니, 25년 초쯤에 오라클 24버전이 나와서 없어진듯 한데.,. 그 버전으로 해도 무방한가요?

  • java
  • 객체지향
유지하 댓글 2 좋아요 0 조회수 226

az와 수평확장의 차이

미해결

비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)

안녕하세요 k6 부하테스트 강의를 들었는데 그때 수평 확장하는 방법에 대해서 배웠습니다. 인스턴스를 늘리는 거에 있어서 수평확장과 az별로 스프링부트 추가하는 거는 똑같지만 용도는 다르다는 것은 알겠어요 인스턴스 늘릴때 수평확장은 단순히 복제 버튼 클릭하여 쉽게 스프링부트를 늘리는데 az는 늘릴 때마다 매번 일일이 수동으로 다 설치해야하는건가요?

  • aws
  • 아키텍처
  • devops
  • vpc
  • infrastructure
동동이 댓글 2 좋아요 0 조회수 157

다대다를 일대다,다대일로 풀어낼 때 항상 양방향?

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

링크 위 질문의 AI 답변을 보면 다대다를 일대다,다대일로 풀어낼 때 양방향 매핑이 되어야 한다고 하였습니다. 근데 Member 나 Product 입장에서 MemberProduct 를 알 필요가 없으면 단방향으로 해도 되지 않나요?

  • java
  • jpa
조태준 댓글 1 좋아요 0 조회수 98

스트림: read()가 int를 반환하는 이유

해결됨

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. byte는 -128~127이고 int는 0~255 범위라 음수 부분이 전혀 겹치지 않는데, read()에서 어떤 방식으로 byte를 int로 변환하는 건지 대략적인 기준이 궁금합니다. 아스키 코드의 0~126까지는 그대로 int로 변환이 되고 그 외 byte의 음수가 그대로 int 나머지 범위(127~255)까지 배정되는 방식일까요? +)아스키 코드(0~126)에 포함되지 않는 byte -128~-1까지의 대략적인 의미가 궁금합니다. 얘네는 영문 외 외국어나 추가 특수 문자들 같은 걸까요?

  • java
  • 네트워크
  • 객체지향
자바재밌당 댓글 1 좋아요 0 조회수 125

line notify 서비스 종료

해결됨

실무에서 꼭 필요한 서버 모니터링(Zabbix)

line 메신저 연동 강의를 듣고 있는데 line notify 서비스가 종료되어서 할 수가 없습니다. 다른 방법이 있나요?

  • linux
  • aws
  • 아키텍처
  • monitoring
  • zabbix
채현 댓글 3 좋아요 0 조회수 401

bation host 구성내용

미해결

비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)

안녕하세요 bation host 운영시 실무에서 그냥 단순히 최소 사양의 컴퓨터에 아무것도 설치 안하고 운영만 하나요?

  • aws
  • 아키텍처
  • devops
  • vpc
  • infrastructure
동동이 댓글 2 좋아요 0 조회수 131

jooq+flyway에서 질문드립니다

해결됨

실전 jOOQ! Type Safe SQL with Java

도커 컨테이너를 사용하여서 실행 시키는걸로 진행하셨는데 저는 도커를 데스크탑이 아니라 olima로 실행시키고 있어서 환경변수 에러가 나오더라구요 export로 변수 바꿔줘도 안돼서 데스크탑으로 실행해 보니 되기는 하는데, olima로 실행 할 수 있도록 하는 방법이 있을까요? 그리고 도커 컨테이너를 사용 안하고 flyway만 따로 설정하는건 어떻게 하는게 좋을까요? dev.monosoul.jooq-docker 이걸로는 도커가 무조건 설정되어있어야 하는거 같은데, nu.studer.jooq + flyway 조합으로 가는게 좋을까요? 1.olima로 인텔리j에서 dev.monosoul.jooq-docker 설정에 맞게 실행 시키는법 2.도커 없이 flyway 사용할때에는 nu.studer.jooq + flyway 이 조합으로 하는게 권장되는 방식인지?

  • java
  • sql
  • spring-boot
  • jooq
  • dsl
JaeWon Kim 댓글 2 좋아요 0 조회수 281

Bation host의 보안성 질문

미해결

비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)

안녕하세요 강의 잘 보고 있습니다. 제가 예전에 회사에 실무 뛸 때는 기본 VPC 사용해서 해당 subnet 서브넷에 RDS와 스프링부트 사용했습니다. 확인해보니까 기본 subnet은 public subnet이네요 보안 그룹을 이용해서 RDS는 스프링부트와 회사 IP에만 허용하고 스프링 부트는 80포트 한해서 모든 IP 허용해서 사용해서 제한적으로 보안을 걸었습니다. private subnet에 RDS와 스프링부트를 배치하고 bation host를 통해서 접속하는게 보안적으로 뛰어나다는 것은 알겠는데 public subnet에 RDS와 스프링부트를 배치 해두고 보안 그룹으로 IP 접근 제한하고 무슨 차이가 있나요? 1차원적으로만 보면 bation host가 EC2 비용이 더 나가는 거 말고는 모르겠습니다. 정확히 어떤면에서 더 보안적으로 뛰어난지 궁금합니다

  • aws
  • 아키텍처
  • devops
  • vpc
  • infrastructure
동동이 댓글 2 좋아요 0 조회수 206

NotificationMessage가 필요한 이유 질문

해결됨

RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기

학습중 궁금한 것은 언제든 문의 하세요. 질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다. 추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다. Pub-Sub 모델을 이용한 실시간 알림 part2에 질문이 있습니다 ! package com.example.messagequeue.step2.step2; public class NotificationMessage { private final String message; public NotificationMessage() { message = ""; } public NotificationMessage(String message) { this.message = message; } public String getMessage(){ return message; } } 짊여기에서 NotificationMessage DTO를 만들어주셧는데, 뭐 때문에 만드신걸까요 ? 직렬화, 역직렬화와 관련이 있는거 같은데, 잘 이해가 안되네요 ㅎㅎ 답변 주시면 감사드리겠습니다 !

  • java
  • spring-boot
  • jpa
  • msa
  • websocket
  • rabbitmq
jerry 댓글 2 좋아요 0 조회수 130

강의 질문

미해결

비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편)

안녕하세요 2번째 예제에서 25.212.157.0/25의 네트워크 주소가 어쨰서 10.88.135.0 으로 바뀌는지 궁금합니다. 아니면 노션 기록 오타인거 같습니다 25.212.157.0 ~ 25.212.157.127이 아닌가요?

  • aws
  • 아키텍처
  • devops
  • vpc
  • infrastructure
동동이 댓글 2 좋아요 1 조회수 94

joinColumns, inverseJoinColumns

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

@JoinTable 에서 joinColumns 와 inverseJoinColumns 속성은 컬럼명을 직접 정하기 위함이고 해당 속성들이 없을 때는 컬럼명이 자동으로 설정 되는 것이라고 보면 될까요?

  • java
  • jpa
조태준 댓글 1 좋아요 0 조회수 84

이미 도메인을 구매해놓은 경우 route53에서 어떻게 도메인 등록하나요??

미해결

비전공자도 이해할 수 있는 AWS 입문/실전

기존에 이미 구매해놓은 도메인이 있을 경우에 route53에서 따로 도메인을 등록해야할텐데 강의에는 구매하면 바로 뜨는걸로만 나와있어서 이럴경우는 어떻게 해야하나요??

  • aws
  • aws-elb
  • aws-rds
  • ec2
  • s3
박혜원 댓글 2 좋아요 0 조회수 217

JDK17에서 ExecutorService 클래스 내 close() 함수가 없는 오류

미해결

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1. 예 예 예 안녕하세요. 강의 잘 듣고 있습니다! 강의 3분 44초 전후로 ExecutorService를 close() 함수로 닫으셨는데 es.close() 부분에서 오류가 발생합니다(스크린샷 참고). 찾아보니 Java 9 이상에서 ExecutorService 구현체가 AutoCloseable 을 구현한 경우에만 close()를 사용 가능 하다고 하는데 현재 JDK 17 버전을 쓰고 있는데도 close() 함수를 찾지 못하고 있습니다. (다만 shudown() 함수를 사용하니 정상적으로 컴파일이 되고 닫히고 있습니다) close() 대신 shutdown()을 사용하여도 성능상 차이가 없는지 궁금합니다. 글이 길어져서 죄송합니다. 답변 부탁드립니다. 감사합니다.

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
  • executorservice
  • close()
  • jdk17
KYUNG TAE BAE 댓글 1 좋아요 0 조회수 147

app.host 관련 질문이 있습니다

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

dev 프로퍼티 파일에 app.host 를 정의하지 않고 dev 환경으로 실행후, 메일을 보낼시 host 값이 http:// localhost:8080 으로 어떻게 넣어지는건가요? dev 프로퍼티 파일에 정의가 안되어 있으면 local 프로퍼티 파일을 참조하게 되는것인가요...?

  • java
  • spring
  • spring-boot
  • jpa
  • thymeleaf
kolla 댓글 1 좋아요 0 조회수 116

정보처리기사 시험 관련 질문 드립니다. 풀이란 이외 공간에 풀이 가능 여부

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

엊그제 정보처리기사 시험을 처음 보게되었습니다. 한 장에 시험 문제가 1~2개 정도 있고 밑에 풀이란이 있습니다. 이때 문제를 풀때 풀이란에만 풀지 않고, 각 문제 옆에 빈공간에 도 풀었는데 감점 혹은 탈락 요인인가요? EX)코드가 있는 경우 각 코드 옆에 변수값 표시 등. 정답을 적는 곳 부근에는 따로 풀이나 표시 등은 하지 않았습니다.

  • python
  • java
  • c
  • 정보처리기사
unikaive730 댓글 2 좋아요 0 조회수 353

Is EFS Block Storage?

미해결

쉽게 설명하는 AWS 기초 강의

In S3 Basics ppt(at 1:00 minute), the lecture stated that EFS is Block Storage Service.. Is this correct? Thank you.

  • aws
  • aws-vpc
  • aws-rds
  • aws-ec2
  • aws-s3
y2lee77 댓글 2 좋아요 0 조회수 145

인기 태그

인프런 TOP Writers

주간 인기글