Java

JVM 밑바닥까지 파헤치기
JVM(Java Virtual Machine) 완벽 정리 🚀 1. JVM이란? JVM(Java Virtual Machine)은 자바 애플리케이션을 실행하기 위한 가상 머신입니다.개발자가 작성한 자바 코드는 바이트코드(Bytecode, .class 파일)로 변환된 후, JVM이 이를 실행합니다.JVM의 가장 큰 장점 중 하나는 운영체제(OS)에 종속되지 않는다는 것입니다.이는 자바의 “Write Once, Run Anywhere” 원칙을 가능하게 합니다. 💡 즉, 자바 프로그램이 어떤 운영체제에서든 실행될 수 있도록 해주는 역할을 합니다.2. JVM의 주요 기능 ① 바이트코드 실행 • 자바 컴파일러(javac)가 .java 파일을 .class 바이트코드 파일로 변환. • 클래스 로더에 의해 전달된 바이..

boolean 바인딩 에러.. boolean과 Boolean의 차이
@AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Builder public class SaleRegistRequest { private User seller; private Long orderHistoryId; private DealState dealState; private int discountRate; private int sellPrice; private int actualProfit; private int catchPrice; @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss") private LocalDateTime endDate; private String in..
![[Gasip Project] 왜 Column Name이 중복이라고 뜨죠? _ DuplicateMappingException](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQzii3%2FbtszJHM3iYh%2F6kks1pixViKAax4ll1Ri01%2Fimg.png)
[Gasip Project] 왜 Column Name이 중복이라고 뜨죠? _ DuplicateMappingException
오늘도 어김없이 찾아온 Error 메시지.(그만) 자세히 읽어보니 아래 친절히 알려주는 에러 메시지님. Failed to initialize JPA EntityManagerFactory: Table [prof] contains physical column name [major_id] referred to by multiple logical column names: [major_ID], [majorId] 예? 아니 제가 뭘요...? 제가 한 설정이라곤 1. 테이블에 맞게 엔티티 클래스 생성 2. Major 테이블 : Prof(프로페서) 테이블 = 1 : 1 매핑 Prof 테이블이 major_ID를 FK로 갖고 있으므로, @OneToOne&@JoinColumn을 prof 테이블에 달아줬다. 난 잘못한게 없는..

@Autowired에 빨간줄이 그어진 이유
1. 문제 정의 고전적이지만, AppConfig 클래스를 따로 만들어서 mapRepository와 DBRepository를 수동 빈 등록을 해둔 상태이다.(2번째 그림) 근데 @Autowired를 사용할 때, 에러 표시로 빨간 줄이 뜬다. 더 웃긴건 스프링부트 서버 실행은 잘된다? 2. 해결방안 접근 1) 에러 메시지 확인1 예..? 해결 방안이 없다구요..? 2) 에러 메시지 확인 2 경고 내용을 볼 때, 자동 의존주입(Autowired)을 받기 위해서는 현재 클래스(DBService) 또한 마찬가지로@Component,@Service 등의 어노테이션을 통해 스프링 빈으로 등록되어 있어야 한다고 한다. 3) 스프링 빈으로 정상 등록됐는지 확인 위처럼 AppConfig 클래스에 @Bean 애노테이션을 써..

패스트캠퍼스X야놀자 백엔드 부트캠프_토이 프로젝트(1차) 후기
이번 토이프로젝트를 진행하면서 잘했다고 생각하는 부분도 있고, 부족했다고 생각하는 부분도 있기에, 회고하는 차원에서 블로그 글을 남겨보고자 한다. 목적 : 부족한 부분에 대한 정확한 인지 후 향후 보완 계획 수립 1. 프로젝트 개요 - 목표 : 여행 & 여정을 기록하고 조회할 수 있는 자바 콘솔 애플리케이션 개발 여행 : 여정은 1:N의 관계를 가짐 1. 잘한 점 [프로젝트 관리] 기한 준수 [프로젝트 관리] 매일 2회 ( 오전/오후 ) 스크럼 회의를 진행하여 체크주기를 면밀히 가져감 [기획] 초기 기획에서 서비스 흐름에 대해 정의한 부분을 대부분 지키며 개발 진행 특히 이 과정에서 플로우 차트를 그린 것은 잘한 일 [개발] 커밋 컨벤션을 사전에 약속하고 대부분 지키며 개발 진행 [개발] 각자 맡은 기능..

인텔리제이 read-only가 안풀려서 도저히 코딩을 못하겠다.
진짜 갑자기 잘만 코딩하다가 read-only라는 메시지가 나를 가로막은 적이 있다. 분명 오른쪽 밑에 자물쇠도 열어놨는데,, 왜 decompiled .class file이라고 뜰까????? 생각보다 답은 간단했고 내가 멍청했다. (똥멍청이야!) 바보같이 out 디렉토리로 들어가니깐 안된다고 뜨지.... 꼭 src 디렉토리로 들어간 것을 확인하자!

KakaoAPI를 활용해 책을 검색하는 JAVA 애플리케이션을 만들어보자
과제를 받았다. (으어어ㅓㅓㅇ어어ㅓ) 일단 https://developers.kakao.com/ 여기서 "내 애플리케이션"에서 app을 생성한 뒤, API KEY를 받아두었다. Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 키를 발급받는 자세한 방법은 아래 포스팅을 참고하면 된다. https://kadosholy.tistory.com/25 카카오 API 키 발급받기 (kakao API Key) 카카오 API Key 발급받기 (kakao API Key) 카카오에서 제공하는 API를 이용하려면 먼저 카카오에서 발급하는 API Key를 발급받아야 합..

데이터베이스도 깃허브처럼 써볼 수 있다고? Flyway에 대해 알아보자
일단 난 이런게 있는줄도 몰랐다!(자랑임) 부트캠프를 진행하면서 팀원들과 CS 스터디를 진행했는데, 그 과정에서 알게 된 내용이며, 팀 블로그에 작성한 글을 조금 다듬어서 올려본다. (알려주셔서 감사,,,ㅠㅠ) (정의) 데이터베이스 마이그레이션 툴 (오픈소스) 마이그레이션 : 한 DB에서 다른 DB로 이동을 의미하나, 여기선DB에서 진행하는 모든 동작을의미. 소스코드의 깃허브와 동일한 작업이라 생각하면 편하다. 데이터베이스를 이관할 때 사용할 수 있음. 배포 이후에 많이 활용한다. 1. 이거 왜 씀?? 나와 같은 주니어(난 주니어 레벨도 안되지만) 취준 개발자 입장에선 일단 서비스를 만드는거 자체에 집중하는 경향이 큰데, flyway는 그 이후를 봐야할 때 빛을 보는 tool 이다. 프로젝트에서는 loc..