inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

git에서 커밋을 했는데, 계속 진행해도 되는지의 여부

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

40강. git 기초사용법을 듣고 있습니다. 코드를 github에 올리는 과정에서 처음에는 git add . 작성 시 아래와 같이 에러가 나타났습니다 위와 같은 과정을 거쳤고, 커밋이 반영된듯 싶으면서도 fatal: unknown write failure on standard output이라는 문구가 떠 다음 과정을 진행하기 찝찝합니다. 이전에 git add .시 실행은 된 것 같지만 warning이 난것도 나중에 문제가 될것 같습니다..감사합니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
송우석 댓글 2 좋아요 0 조회수 2074

Oracle12cDialect 오류 해결 방법

미해결

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

(사진)

  • java
  • jpa
강프로그래머 댓글 1 좋아요 0 조회수 370

자바 메모리 구조에 대해 질문드립니다.

미해결

김영한의 실전 자바 - 기본편

안녕하세요 영한님. 항상 양질의 강의로 지식을 공유해주시는점에 우선 감사하다는 인사부터 올리겠습니다. 자바 메모리 구조에 대해 강의를 들으면서 문득 궁금한 점, 스스로 지식 정리가 되지 않는 부분이 있어 질문드립니다. 우선 제가 알고 있는 사실입니다. JDK 스펙에서 메소드 영역의 구현 방식에는 제한하지 않기에 벤더마다 상이하다 Java8 이전 오라클 핫스팟에선 이를 Permgen(Permanent Genration) 이라 명하였고 힙 메모리 안에 위치시켰다. 우리가 일반적으로 아는 static 변수 및 메소드, 클래스 정보, 런타임 상수 풀, String Pool 등이 이 메소드 영역 (Permgen)에 저장되었다. 하지만, Java8 이후 Permgen 의 고정된 메모리 이슈로(잦은 OOME) metaspace 라는 새로운 대체 공간을 만들고 이를 os영역인 Native memory 쪽에 두었다. java8 이후 현재, 기존의 Permgen 에 저장되던 클래스 메타 정보들 (constant pool)은 대체된 metaspace안에 저장되고 static 변수 및 메소드, String Pool(리터럴 String 및 interned String 저장 pool) 들은 Heap 영역으로 저장되게 변경되었다. 우선 제가 옳게 이해하고 있는지, 지식에 오류가 없는지 궁금하며 몇 가지 문의사항이 있습니다. 위 내용중 2)에서 Permgen을 힙 메모리 안에 두었다고 하지만 heap / non-heap 으로 구분하여 Permgen 은 non-heap 에 속한다 라고 설명하는 레퍼런스가 많습니다. Permgen이 non-heap 이라고 하는 이유가 비록 Permgen 이 논리적으로는 힙 메모리 안에 위치하지만, 일반적으로 gc 대상에선 제외되기 때문에 그런건지 아니면 실제로 물리적으로 분리된 공간이어서 non-heap 이라는건지 궁금합니다. (+ 지속적으로 찾아보니 Permgen 은 Heap 영역안에 특별한 공간 정도로 이해하면 될 듯 합니다. GC(major/full GC) 또한 동작한다고 하네요..! 이것과 별개로 metaspace의 경우도 더이상 사용하지 않는 클래스에 대해 메모리 회수가 일어난다고 합니다. 근데 이 metaspace 는 navtive 영역에 있는데 이걸 "gc가 동작하여 최적화한다" 라고 말할 수 있는 건지 아니면 그냥 Metaspace 자체에서 메모리관리를 한다고 봐야할지 궁금합니다..!) 궁극적으로 궁금한 부분인데요 메소드 영역 이라는 것에 대해 어떻게 이해하면 좋을지 의문입니다. 두 가지 정도로 생각하고 있는데, 1. 메소드 영역 이라는 것은 JDK spec 에서 정의하고있는 하나의 추상화된 공간(인터페이스)이다. 이것이 과거엔 힙에 위치한 permgen으로 구체화 되었고 현재는 native 메모리에 위치한 metaspace로 구체화 되어 대체되었다. (메소드 영역이 상위 개념이다) 2. 옛날 permgen, 현재의 metaspace 안에 특정한 데이터(클래스 메타데이터 같은)를 저장하는 별도의 공간이 있고 이를’ 메소드영역’ 이라고 한다. (메소드 영역이 하위 개념이다) 메소드 영역과 permgen, metaspace 이들간의 카테고리 상 포함관계가 어떻게 되는지 개념이 궁금합니다.(1 번과 2번중에 어떤게 맞는지) 또한 현재 메소드 영역을 담당하는 metaspace 기준으로, static 변수, string pool 등은 Heap 영역에 저장되고(static 변수의 경우 heap 영역안의 static pool 안에) 클래스 정보, 런타임 상수 풀(constant pool) 등은 Metaspace 에 저장이 되는데 “메소드 영역에는 클래스정보, static 변수, 런타임 상수 풀이 저장된다” 라는 개념이 아직도 유효하고 옳은 개념인지 문의드립니다. 이게 말이 되려면 메소드영역이란 heap 영역의 일부 + metaspace 가 되어야 하기 때문입니다. 감사합니다.

  • java
  • 객체지향
이상진 댓글 1 좋아요 5 조회수 776

섹션 5 - 3(타입 안전 열거형 패턴) if 문대신 개선된 switch 문으로 변경

해결됨

김영한의 실전 자바 - 중급 1편

package enumeration.ex2; public class DiscountService { public int discount(ClassGrade grade, int price) { if (grade == ClassGrade.BASIC) { return price / 100 * 10; } if (grade == ClassGrade.GOLD) { return price / 100 * 20; } if (grade == ClassGrade.DIAMOND) { return price / 100 * 30; } return 0; } } package enumeration.ex2; public class DiscountServiceTest { public int discount(ClassGrade grade, int price) { switch (grade) { case ClassGrade.BASIC -> { return price / 100 * 10; } case ClassGrade.GOLD -> { return price / 100 * 20; } case ClassGrade.DIAMOND -> { return price / 100 * 30; } default -> { return 0; } } } } 안녕하세요. 위의 코드 같이 if 문으로 사용하면 정상적으로 실행이 가능한데 아래 처럼 if 문을 개선된 switch 문으로 바꾸면 왜 컴파일 오류가 뜨는지 정확히 알고 싶습니다. case 에는 리터럴 상수만 사용 가능하고 참조값은 case에 적을 수 없는 것 같은데 맞나요?

  • java
  • 객체지향
따뜻한 당나귀 댓글 2 좋아요 0 조회수 445

User와 loanhistory 관계

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

User가 UserLoanHistory를 가지게 됨으로써 대출하는 로직이 간단해지지만 UserLoanHistory관련 CRUD를 전부 User에서 비즈니스 로직을 처리해야하는 건가요? User가 처리하는 로직이 너무 많아지는 것 같아 이게 객체지향적인 게 맞나 고민이 되네요 현재 경우는 C U 밖에 없지만 만약 예를 들어서 작가와 책 엔티티가 있을 때 연관관계의 주인은 책에 있지만 작가가 보유한 책을 조회하는 로직을 더 간편하게 처리하기 위해 작가는 책을 리스트로 가지면서 생명주기를 관리하면, 책을 수정하거나 삭제할 때도 무조건 작가의 도메인에서 로직을 처리하게 되는 건가요? 단일책임원칙을 위배하는 것이 아닌가 고민이 되어 질문드립니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
gang01 댓글 1 좋아요 1 조회수 303

영상이 한참전에 만든 영상같네요.

미해결

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

개인적으론 아쉽네요. JDK, JPA, H2 버전을 보니 최소 3년 이상 된듯.. javax가 jakarta로 넘어간게 2021년도 였나 그런데.. 1.8버전이면 한참된듯.. 일단 수업자료 받은걸로 참고하면서 진행하겠습니다.

  • java
  • jpa
Minkoo Lee 댓글 2 좋아요 1 조회수 1833

김영한강사님 스프링 강의 로드맵 질문드려요.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요. 저는 얼마전에 미국에서 컴퓨터 과학을 전공한 사람입니다. 자바에 대한 기본적인 이용은 할줄 아는 상태이구요. 앞으로 한 2달뒤에 취업을 해야하는데요. 자바 백엔드 신입으로 취직하기 위해 들어야 하는 최소 정도를 알고 싶어서요. 김영한 강사님이 보시기에 자바 백엔드 신입으로 일하는데 최소한 역량을 갖추려면 어떤 강의들을 들어야 하죠? 최소한이요. 항상 존경합니다. 김영한 강사님.

  • java
  • spring
  • mvc
  • spring-boot
  • 김영한
개발자 댓글 2 좋아요 1 조회수 589

jsonignore와 지연로딩?

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[섹션3 - 간단한 주문조회 V1 엔티티를 직접 노출] 강의에서 [6:09] 처음에 api를 호출했을때는 양방향 연관관계 때문에 무한루프가 발생하였는데요, 이때는 지연로딩에 의한 이슈가 없었는데 [11:07] JsonIgnore를 추가하여 순환 참조가 되는 상황을 제거했을때는 왜 지연로딩에 의한 이슈가 생기는 건가요?? 잘 동작하던 프록시객체가 JsonIgnore가 생겼다고 에러가 나는 상황이 잘 이해가 안되어 질문을 올립니다

  • java
  • spring
  • spring-boot
  • jpa
하춘화마타타 댓글 2 좋아요 3 조회수 559

RDS의 서브넷 그룹, 파라미터 그룹, 옵션 그룹은 뭔가요?

해결됨

실리콘밸리 엔지니어와 함께하는 아마존 웹서비스(Core)편

RDS의 서브넷 그룹이랑 VPC의 서브넷이랑 무엇이 다른가요? 파라미터 그룹이 뭔가요? 어떻게 쓰이는지 간단한 예시 부탁드립니다. 옵션 그룹도 마찬가지로, 그게 무엇인지, 어떻게 쓰이는지 간단하게 설명 부탁드립니다.

  • aws
  • aws-rds
  • ec2
  • iam
  • s3
김동현 댓글 1 좋아요 1 조회수 1031

예외처리시 e.printstacktrace()

미해결

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 현재 웹백엔드 개발자로 재직중입니다. 최근 security prism 보안취약점 점검으로 인해 catch 부분에서 printstacktrace 를 사용하면 로그에 어디서 에러가 발생했는지 상세내역이 누적되고 이게 해커에게 노출되면 보안상 좋지않다고 해서 printstacktrace 부분을 다 제거하고 있습니다.. 근데 이렇게 다 제거하다보니 고객사에서 오류가 발생했을때 에러를 잡기가 힘들어졌습니다. 이럴땐 어떤 방법을 사용하면 에러를 찾기 쉬울까요..?

  • java
  • 객체지향
backendman 댓글 1 좋아요 0 조회수 683

안녕하세요 s3 질문 있습니다!

미해결

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

안녕하세요! 브라우저에서 png, jpg등의 이미지를 업로드 하면 s3 메타데이터 값에 contentType에 application/octet-stream 이런형식으로 값이 저장되는데요 브라우저에서 이미지가 뜨도록 하고싶은데 다운로드만 하도록 되어져서 혹시 s3 에서 따로 설정하는 곳이 있을까요? 없다면 개발소스에서 업로드 할때 contentType을 무조건 설정해줘야 하는걸까요?

  • aws
  • aws-elb
  • aws-rds
  • ec2
  • s3
정근창 댓글 2 좋아요 0 조회수 571

abstract클래스의 인스턴스 생성

미해결

김영한의 실전 자바 - 기본편

[질문 내용] 안녕하세요! 궁금한게 있어서 질문을 남깁니다. 자식클래스로부터 인스턴스가 생성되면 부모클래스의 인스턴스도 함께 생성되는 것으로 공부하였습니다. 추상 클래스는 실체인 인스턴스가 존재하지 않는다고 하였는데, 추상 클래스를 상속 받은 자식 클래스로부터 인스턴스를 생성하면 왜 추상클래스 인스턴스도 함께 생성되는 것인가요?

  • java
  • 객체지향
더블지 댓글 3 좋아요 1 조회수 479

도메인 환불 내용 링크 공유 드립니다!

해결됨

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

처음에 .com으로 생성했다가 비용이 비싸서 .link로 다시 구매했습니다. 도메인 삭제만 하면 자동으로 환불 되는줄 알았는데 아니였더군요 ㅠㅠ 도메인 환불은 한번만 되나봐요!! 제가 참고해서 환불 진행한 블로그 링크 공유드립니다! https://yoonminlee.com/route-53-domain-cancellation-guide#2

  • aws
  • aws-elb
  • aws-rds
  • ec2
  • s3
따뜻한 백조 댓글 1 좋아요 1 조회수 599

크롬 시작 페이지 테마가 궁금합니다!

미해결

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

안녕하세요 재성님! 강의 너무나 잘듣고 있습니다. 크롬 시작 페이지가 이쁘게 꾸며져 있는데(관심 카테고리, 개발 채용 공고 등) 크롬 익스텐션에서 설치 하신걸까요? [자문자답] '서핏' 찾았습니다!! 감사합니다 ㅎㅎ https://chromewebstore.google.com/detail/%EC%84%9C%ED%95%8F-%EB%A7%A4%EC%9D%BC-%EC%84%B1%EC%9E%A5%ED%95%98%EB%8A%94-%EC%82%AC%EB%9E%8C%EB%93%A4%EC%9D%98-%EC%BB%A4%EB%A6%AC%EC%96%B4-%ED%94%8C%EB%9E%AB%ED%8F%BC/ipjibgkeofiedbfcfekfggdmjhhljgjn

  • aws
  • aws-elb
  • aws-rds
  • ec2
  • s3
따뜻한 백조 댓글 1 좋아요 0 조회수 264

CF의 캐시에 대해서 궁금합니다.

미해결

실리콘밸리 엔지니어와 함께하는 아마존 웹서비스(Core)편

몇가지 의문점이 생겨서 질문드립니다. CF - ALB - EC2(API서버) 로 연결이 되어있다고 가정합니다. https://api.example.com/posts/1 로 GET 요청을 하고 해당 Respose 값이 dynamic하게 생성된다면 캐싱기능을 사용할 수 없는 것인가요? 만약 사용한다면 TTL이 끝난 이후 첫 Reqeust에 대한 Response만 해당 TTL동안 반환하나요? CF - S3 로 연결이 되어있다고 가정합니다. S3의 버킷에 버전 옵션이 설정되어있습니다. 버킷의 오브젝트를 업로드 합니다. 새 오브젝트는 이전 버전의 오브젝트와 같은 KEY를 공유하지만, CF로의 캐싱은 TTL이 끝나기 전까지 이전 버전의 오브젝트를 반환하나요? CF - S3 로 연결이 되어있다고 가정합니다. 버킷 안의 리소스를 가져오는건 이해가 됩니다. 하지만 EC2(예: EC2의 node.js 환경에서)에서 S3로 업로드하는건 CF를 타지 않고 업로드 할 수 가 있습니까? 버킷을 private 설정으로 해놓고 EC2에 S3 Full Access role을 부여하고, 버킷 policy에 EC2를 Allow, putObject 정도로 설정해놓으면 가능한가요?

  • aws
  • aws-rds
  • ec2
  • iam
  • s3
김동현 댓글 1 좋아요 1 조회수 270

테스트가 실패해요

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

하다가 안돼서 깃허브 소스 복붙하고 돌려도 테스트가 실패해요.

  • java
  • spring
  • 동시성
dev 댓글 2 좋아요 0 조회수 454

한글 깨짐 현상

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 메인클래스 실행 시 사진과 같이 한글이 깨져서 나옵니다. 구글링 해서 나온 방법대로 해봐도 안돼서 질문 드립니다. 수정할 때마다 인텔리제이 재접속도 해봤습니다. 혹시 몰라 수업자료 받은 파일도 실행해봤는데 똑같이 깨져서 나왔습니다.

  • java
  • 객체지향
댓글 4 좋아요 0 조회수 497

7:58 예제 코드 찾는 법

미해결

스프링 웹 MVC

안녕하세요 기선님! 기선님의 스프링 강좌 재탕하고 있습니다. 7:58 부분에 스프링의 테스트 코드 예제는 보통 어떻게 검색하여 찾으시는건가요? 그냥 깃허브에서 검색하셨는지 꿀팁이 있다면 알려주시면 감사하겠습니다.!

  • java
  • spring
  • mvc
Aurora 댓글 2 좋아요 0 조회수 271

코드에 대한 피드백 부탁드립니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. package array; import java.util.Scanner; public class ArrayEx10_1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String[] productName = new String[10]; int[] productPrice = new int[10]; int productCount = 0; while (true) { System.out.println("1. 상품 등록 | 2. 상품 삭제 | 3. 상품 목록 | 4. 종료\n메뉴를 선택하세요." ); String options = scanner.nextLine(); if (options.equals("1") && productCount < 10) { System.out.print("상품 이름을 입력하세요: "); productName[productCount] =scanner.nextLine(); System.out.print("상품 가격을 입력하세요: "); productPrice[productCount] =scanner.nextInt(); productCount++; scanner.nextLine(); } else if (options.equals("1") && productCount == 10) { System.out.println("더 이상 상품을 동록할 수 없습니다."); } else if (options.equals("2") && productCount > 0) { for (int i = 0; i < productCount; i++) { System.out.println((i+1) + ". "+ productName[i] + ": " + productPrice[i] + "원"); } System.out.println("삭제할 품목의 번호를 입력해주세요."); int delNum = scanner.nextInt(); if ((delNum-1) < productCount) { productName[delNum-1] = null; productPrice[delNum-1] = 0; productCount--; System.out.println(delNum + "번 품목이 삭제되었습니다."); scanner.nextLine(); } else { System.out.println("올바른 품목의 번호를 입력해주세요."); scanner.nextLine(); } } else if (options.equals("2") && productCount == 0) { System.out.println("삭제할 품목이 없습니다."); } else if (options.equals("3") && productCount > 0) { for (int i = 0; i < productCount; i++) { System.out.println((i+1) + ". "+ productName[i] + ": " + productPrice[i] + "원"); } } else if (options.equals("3") && productCount == 0) { System.out.println("등록된 상풍이 없습니다."); } else if (options.equals("4")) { System.out.println("프로그램을 종료합니다."); break; } else { System.out.println("올바른 메뉴를 선택해주세요."); } } } } 실습을 하다가 삭제기능도 있었으면 해서 만들어 봤습니다.우선, 강의를 봤을 때와 조금 다르게 만든거 같구요. 메뉴를 선택할 때 글자를 넣으면 오류가 떠서 스트링형으로 바꿨습니다. 위 코드에서 가독성 측면이나 중복 등 피드백 가능하실까요...?또 추가로 강사님이었으면 어떻게 하셨을 것 같나요??

  • java
  • 객체지향
김대경 댓글 2 좋아요 0 조회수 310

타겟그룹에 표시되는 포트번호의 역할은 무엇인가요?

해결됨

실리콘밸리 엔지니어와 함께하는 아마존 웹서비스(Core)편

로드벨런서에서 타겟그룹으로 포인팅을 할 때의 리스너가 80번 포트(http)라고 가정합니다. 타겟그룹의 포트는 3000번이라고 한다면 데이터의 흐름이 다음과 같습니까? 사용자가 80번 포트로 request (즉, http://example.com ) 로드벨런서의 보안그룹의 인바운드에 80번이 열려있는지 확인 로드벨런서에 80번포트로 들어왔을 때 타깃그룹으로 포이팅하는 리스너 확인 80번으로 받은 request를 타깃그룹이 대상 인스턴스로 보낼 때 3000번 포트로 변환 대상 인스턴스의 보안그룹의 인바운드에 3000번이 열려있는지 확인 대상 인스턴스의 3000번 포트에 웹 요청이 들어옴(즉, 웹 서버가 3000번 포트에 열려있어야 함). 제가 이해한 것이 맞을까요? 타깃그룹에 포트번호가 있는것이 헷갈립니다. 왜 있는지도 모르겠고...

  • aws
  • aws-rds
  • ec2
  • iam
  • s3
김동현 댓글 1 좋아요 2 조회수 376

인기 태그

인프런 TOP Writers

주간 인기글