TIL : 221226

JINSEON YE·2022년 12월 26일

TIL

목록 보기
41/88

“@Entity” 관련!

라이브러리, 프레임워크등을 잘 배우려면 “이게 왜 우리를 편하게 해주는지”에 대해서 고민해보면 좋고,
잘 사용하려면”어떻게 우리를 편하게 해주는지” 고민해보면 좋습니다. 그래서 많은 좋은 수업들이, 해당하는 기술이 없음을 가정하고 프로젝트를 진행한 후에, 해당 기술을 적용해서 얼마나 편해지는지 체감시키는 방향으로 구성되어 있습니다. 하지만 그렇게 특정 기술을 학습하고 더이상 공부하지 않는다면 해당 기술을 사용하다가 다양한 부작용을 마주하게 됩니다. 이러한 상황은 주로 내부 동작 원리나 한계등을 잘 이해하지 않고 사용하다보면 마주치게 됩니다.

  1. **기본 생성자**는 필수입니다.(생성자가 하나도 없으면 자바가 만들어주겠지만 그렇지 않다면…🤔)
  2. final 클래스, enum, interface 등에는 사용 할 수 없어요.
  3. 저장할 필드라면 final을 사용하시면 안됩니다.

“@Table”관련!

  1. 엔티티와 매핑할 테이블의 이름입니다. 생략하는경우 어떻게되는지 찾아보시면 좋을 것 같아요!

“@Column”관련!

  1. 객체 필드를 테이블 컬럼에 매핑하는데 사용합니다.
  2. 생략이 가능합니다!
  3. 속성들은 자주 쓸 일이 없고, 특정 속성은 무시무시한 effect가 있으니(검색해보세요) 이름을 지정 할 때 아니고는 보통 생략하기도 합니다.

“@Enumerated”관련!

  1. Java Enum을 테이블에서 사용한다고 생각하면 좋을 것 같습니다.
  2. 속성으로는 Ordinal, String이 있는데, String인경우 해당 문자열 그대로 저장해서 비용은 많이 들지만, 나중에 Enum이 변경되어도 위험할일이 없기 때문에 일반적으로는 String을 사용합니다.

에러

문제
import org.json.JSONArray;
import org.json.JSONObject; 가 사용이 안 되었음.

해결
그레이들에 implementation group: 'org.json', name: 'json', version: '20090211' 추가

근데
dependency org.json:json:20090211 is vulnerable
라고 뜸

그리고 json문법들 몇개가 안 돼서 @SneakyThrows를 추가했었음.

대신, 그레이들에
implementation 'org.json:json:20220924' 로 업그레이드

@SneakyThrows 없어도 정상작동함.

-> 이 과정이 여태 했던 https://mvnrepository.com/artifact/org.json/json
여기서 많은 사람들이 사용하는 거 가져오는 과정이였음.

JSON을 자바에서 다루기 위해, JSONObject, JSONArray 클래스가 필요합니다.
우리가 만드는 대신, 다른 사람이 만든 훌륭한 라이브러리를 바로 가져와서 사용하겠습니다.

"다른 사람이 만든 라이브러리 가져오는 방법(임포트)"에 대해 배워보겠습니다.

이거임.

'리팩토링' 이 뭐죠??
: 기능 상의 변경 없이 프로그래밍 구조를 개선하는 것

1) 하나의 파일에 너무 많은 코드가 들어가지 않게!
2) 역할별로 코드 분리!!
3) 코드를 좀 더 읽기 편하게!!!

profile
백엔드 개발자

0개의 댓글