목록내일배움캠프 (44)
지니의 개발로그
🔨 자바 삽질 트러블 슈팅 기록 🔨 🔴 문제 : Annotation type expected 오류 Class 명이 Column인 엔티티 클래스 코드를 작성 중에@Column 어노테이션을 함께 사용하면서 충돌이 발생했다. 🟠 분석Annotation type expected는 자바 컴파일 오류 메시지로,자바에서 어노테이션 유형이 예상되는 위치에 어노테이션이 아닌 다른 것이 존재할 때 발생한다. 어노테이션 유형을 사용해야 할 위치에 다른 코드 요소(예: 클래스 이름)를 사용한 경우.어노테이션의 임포트가 올바르게 되지 않은 경우.보통 위와 같은 경우에 컴파일러가 오류를 발생시킨다. 자바 컴파일러는 Column이라는 이름이 클래스인지 어노테이션인지 명확히 구분할 수 없을 때 "Annotation t..
🚩 20240619 TIL 🟢 none DDL을 자동으로 생성하지 않는다.Hibernate는 데이터베이스 스키마에 어떤 변경도 하지 않는다. 프로덕션 환경에서 사용개발자가 수동으로 데이터베이스 스키마를 관리하는 경우 적합 🟢 validate 기존 데이터베이스 스키마가 엔티티 매핑과 일치하는지 검증한다.Hibernate는 데이터베이스 스키마에 어떤 변경도 하지 않는다. 데이터베이스 스키마와 엔티티 정의 간 불일치를 찾고 싶을 때 사용주로 프로덕션 환경에서 사용 🟢 update 엔티티와 매핑된 테이블을 업데이트한다.새로운 필드나 테이블을 추가하지만, 기존 데이터를 보존한다.변경된 부분만 반영 개발 중에 데이터 손실 없이 스키마를 업데이트하고자 할 때 사용 🟢 create 기존 테이블을 삭..
🚩 20240618 TIL 🟢 JDBC(Java Database Connectivity) 자바 언어에서 데이터베이스에 연결하고 SQL 쿼리를 실행하여 데이터를 처리할 수 있게 해주는 표준 API 다양한 관계형 데이터베이스와의 상호작용을 일관되게 처리 가능 🟢 JDBC의 주요 개념 Driver:JDBC 드라이버는 자바 애플리케이션과 데이터베이스 간의 통신을 담당합니다.각 데이터베이스 벤더는 자사 데이터베이스에 맞는 JDBC 드라이버를 제공합니다. 예를 들어, MySQL, Oracle, PostgreSQL 등의 데이터베이스는 각각의 JDBC 드라이버를 가지고 있습니다.Connection:Connection 객체는 특정 데이터베이스와의 연결을 나타냅니다.데이터베이스 URL, 사용자 이름, 비밀번호 등..
🚩 20240617 TIL 🟢 ORM(Object-Relational Mapping) 프레임워크 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 매핑을 자동으로 처리해 주는 도구객체 지향 프로그래밍의 클래스와 인스턴스를 데이터베이스의 테이블과 레코드로 변환하고, 그 반대도 수행 ORM 프레임 워크를 통해 데이터베이스와 상호작용할 때SQL 쿼리를 직접 작성하지 않고도 객체 지향 방식으로 데이터를 다룰 수 있다. 🟢 주요 기능 자동 매핑:ORM은 객체와 데이터베이스 간의 매핑을 자동으로 처리예를 들어, Java 클래스의 필드를 데이터베이스 테이블의 컬럼에 자동으로 매핑추상화된 데이터베이스 작업:ORM을 사용하면 데이터베이스 작업을 추상화SQL 쿼리를 직접 작성하지 않고도 데이터베이스와 상호작용 가..
🚩 20240614 TIL 🟢 Hibernate Hibernate는 Java 객체와 데이터베이스 테이블 간의 매핑을 처리하는 ORM(Object-Relational Mapping) 프레임워크이다. 개발자는 SQL 쿼리를 직접 작성하지 않고도 데이터베이스와 상호작용할 수 있다. 객체와 테이블 매핑:Hibernate는 Java 클래스와 데이터베이스 테이블 간의 매핑을 설정하여 객체지향 프로그래밍을 지원예를 들어, Java 클래스의 필드와 데이터베이스 테이블의 컬럼이 매핑자동화된 CRUD 작업:Hibernate는 기본적인 CRUD(Create, Read, Update, Delete) 작업을 자동으로 처리이를 통해 개발자는 데이터베이스와의 상호작용을 더 쉽게 관리 가능HQL (Hibernate Query ..
🟢 메모리 영역 바의 메모리 영역은 크게 스택(Stack) 영역, 힙(Heap) 영역, 메서드(Method) 영역, 그리고 런타임 상수 풀(Runtime Constant Pool) 영역으로 구분된다. 스택(Stack) 영역: 각 스레드마다 하나의 스택이 할당되며, 메서드 호출 시 프레임이 추가되고 메서드 종료 시 프레임이 제거됩니다. 지역 변수, 매개 변수, 리턴 값 등이 저장힙(Heap) 영역: 객체와 배열이 생성되는 영역으로, 새로운 객체가 생성되면 이 영역에 할당되며, 가비지 컬렉터에 의해 관리메서드(Method) 영역: 클래스 정보, 상수, 정적 변수, 생성자 코드 등이 저장되는 영역으로, 모든 스레드가 공유하여 사용런타임 상수 풀(Runtime Constant Pool): 메서드 영역의 일부..
🟢 배움 자바에서 배열의 주소값은 임의로 할당되지 않고, 메모리 관리 규칙에 따라 체계적으로 할당된다. 자바에서 배열을 생성하면 할당되는 메모리 주소값은JVM(Java Virtual Machine) 의 메모리 관리 전략에 따라 결정되므로,임의로 할당되지 않습니다.JVM의 힙 영역에 배열 요소들을 위한 연속된 메모리 공간이 할당된다.메모리 할당과 해제 규칙을 따라 사용 가능한 메모리 영역 중에서 적절한 위치에 체계적으로 할당된다. 🟢 메모리 관리 규칙 자바의 메모리 관리 규칙은 JVM의 메모리 관리 전략에 따라 결정된다.주로 가비지 컬렉션(Garbage Collection)과 관련이 있다. JVM은 프로그램 실행 시 필요한 메모리 공간을 할당하고, 더 이상 사용되지 않는 객체들을 주기적으로 제거하..
🟢 Keep 팀원들간의 소통과 응원이 팀의 사기를 높힐 수 있었습니다.팀 프로젝트 전부터 진행된 팀 소통시간도 팀의 화합을 위해 중요한 부분인것 같아추후에서 팀원들간의 관계를 잘 유지하기 위해 소통시간을 자주 가질 수 있도록 해야 겠습니다. 🔴 Problem 아직 부족한 개념들이 많아 코드를 작성하고 오류를 해결하는데 시간이 많이 소요되었습니다.또한 리뷰와 리팩토링 시간이 부족해서 완수는 했지만 조금 더 보완할 수 있었다면 더 좋았을 것 같습니다. 🔵 Try 처음 계획 수립을 더 꼼꼼하게 기획해야 함의 중요성을 느꼈습니다.프로젝트 초기 단계에서 예상되는 문제와 해결 방안까지 설정할 수 있도록 해봐야겠습니다.