본문 바로가기

업무 TIL

230731 월요일 업무 TIL

'오늘의 고민' 

Admin 작성을 위해 이전에 작성했던 API 코드를 다시 보면서 '내가 왜그랬지?'라는 생각이 들었다. 그때 그 당시 Admin 만드는 것이 우선순위가 밀려났던 부분이라 형태만 만들어놓고 크게 신경을 쓰지 않았는데, 지금 와서 보니 연관관계는 왜 이렇게 잡았고 쓸데없는 엔티티는 왜 만들어서 연관관계 복잡하게 만들었을까?라는 후회가 밀려왔다. 앞으로 코드를 짤 때 확장성 고려나 다음번에 누군가 내 코드를 볼때나 무엇보다도 내가 내 코드를 잘 보고 이해하기 위해서 이런 식으로 코드를 짜면 안된다는 생각이 들었다. 그리고 다른 팀원들과 형식을 맞춰서 작성을 해야한다는게 그리 쉽지만은 아닌 것 같다 ㅜㅜ 

 

[잘한점]

오늘은 그렇게 잘했다고 느껴지지는 않았다. 

 


[개선점]

상황1) 내가 짠 코드에 대해서 프론트 작업을 하는 팀원과 이야기를 나누다보니, 나도 내 코드를 제대로 이해하지 못하고 있는건 아닐까?라는 생각이 들었다.

원인1) 코드를 작성한지 시간이 꽤 지나기도 했고, 무엇보다도 내가 그때 로직 이해를 했다기 보다는 '결과가 나오긴 나오네?'하고 로직 구현보다는 결과 추출에 더 의의를 두어 로직에 크게 신경쓰지 않았던 것 같다. 

액션플랜1) 앞으로 내가 짠 코드를 '정확히' 이해하는 것이 정말 중요하다고 생각이 들었고, 내가 짠 코드에 대해 잘 설명할 수 있는 연습을 해야겠다. 

 

 

[배운점]
배움1) 문득 export class 엔티티 이름에서 이 엔티티도 클래스인데, 그 안에 들은 컬럼들도 객체지?라는 생각이 들었다. 

의미1) 컬럼들도 객체다. 

 

배움2) 정적 팩토리 메서드란, 기존 JPA의 entity를 새롭게 정의한 것이다. 객체 생성에 대한 로직을 정적 메서드로(static) 구현 -> 이것이 팩토리 메서드이다. 객체 생성의 복잡한 과정을 캡슐화 + 간편 객체 생성의 장점이 있다. 

의미2) entity.ts 파일 내부에 static으로 엔티티 메서드를 팩토리 메서드로 구현하는 경우가 종종 있다. 

 

정적 메서드는 클래스 수준에서 실행되는 메서드이다. 

 

배움3) 일대다 관계에서 '다' 관계에서는 개수가 여러개이기 때문에, map()이나 for문 설정이 가능하다. 

의미3) map을 도대체 어떤 경우에 써야 하는가?에 대한 궁금증이 있었는데 주로 일대다 관계에서 다 관계에서 쓴다. 그런데 map()의 경우 비동기 await 처리가 안될때가 있어 for문으로 await을 처리한다고 한다. 

 

 

'업무 TIL' 카테고리의 다른 글

230801 월요일 업무 TIL  (0) 2023.08.02
230728 금요일 업무 TIL  (0) 2023.08.01
230727 목요일 업무 TIL  (0) 2023.08.01
230726 수요일 업무 TIL  (0) 2023.08.01
230725 화요일 업무 TIL  (0) 2023.07.26