도도한 개발자

[TIL] 2023/08/04 본문

TIL

[TIL] 2023/08/04

Kiara Kim 2023. 8. 4. 23:30

🐈‍⬛ 오늘 공부한 내용

  • 3차 데모데이 발표

 🐾 느낀 점 & 배운 점

데모데이 발표를 마쳤다. 오전 타임 중에 우리 팀이 마지막이었는데 앞 팀들 발표에 대한 코치분들(솔라, 구구, 준, 왼손)의 피드백을 들으면서 죽었던 기가 아예 사라져버렸다. 다들 ppt도 멋드러지고 배포, 구축 이야기를 많이 언급했는데 내가 준비한 발표엔 협업과 기능밖에 없었기 때문이다. '나한테 인프라 물어보면 어떡하지? 나 아직 다 숙지가 안됐는데?' 라는 생각이 내 뇌를 지배해서 발표 30분 전부턴 정신이 반쯤 나가있었다. 

드디어 우리 차례가 왔고 발표를 시작했다. 원래 사람들 앞에서서 얘기하면 목소리가 양이 되는데(음메~~~) 심지어 나의 한마디 한마디에 솔라와 구구가 계속해서 고개를 갸우뚱 갸우뚱 하셔서 속으로 '아 망했구나' 싶었다. 그래도 일단 하긴 해야 하니까... 떨리는 상태로 발표를 마쳤고 피드백 시간이 찾아왔다. 피드백에 대해 느낀 점..?은 없는 것 같고 간략히 어떤 피드백을 받았는지 정리해본다.

 

왜 stationId(PK)가 VARCHAR 형식인가?

"공공API에서 가져온 ID값을 그대로 사용했다."

 

그럼 공공API에서 갑자기 그 아이디를 바꿔버리면 어떡하냐?

"바꿀 때 update query로 같이 바꾼다."

라는 바보같은 답변을 했다. 여기서 DB 지식에 대한 결핍을 느꼈고 DB 공부의 필요성을 절감했다.

 

충전소 저장 테이블에 created_at과 updated_at 넣어라

"넵."

이 부분은 실제로 이 값이 스케줄링에 의해 그 시간에 잘 들어왔는지 확인 및 검증하는 용도로 실무에서도 많이 사용하는 방식이라고 한다. 그러고 보니 단순히 쿼리만 날릴뿐 값이 일정시간마다 잘 들어갔는지에 대한 검증은 테스트코드에서 안해봤으니까. 근데 할 수 있나? 찾아보니 할 수 있나보다. Awaitility 라이브러리를 사용하여 선언적으로 테스트 할 수 있으며, 실제 테스트가 30분 간격이더라도 직접 테스트 환경에 맞는 프로퍼티 파일을 설정해 적용할 수 있다.

아니면 @SpringBootTest 속성을 이용하여 크론 식을 지정할 수 있다.

@SpringBootTest(
    properties = [
        "schedules.cron.reward.publish=0/2 * * * * ?",
    ]
)

 

DB 삭제 권한 없애라

"넵"

지금은 유저에게 모든 권한을 부여해서 drop도 가능하다. 이건 금방 수정할 수 있을 것 같다.

 

VARCHAR(255)로 크기 남용하지 말아라

"네"

VARCHAR(255)는 영문자 기준 255자가 들어가는데, 그렇게 많이 필요하지도 않을 곳에 굳이 그만큼의 크기를 주는 건 비효율이라고 한다. 그런데 어느 면에서 비효율인건진 블로그마다 달라서 이 부분은 추가적으로 학습이 필요해보인다.

 

index 사용해라

"넵."

또 모르는 개념이 나왔다. 들어는 봤는데 뭐냐고 물어보면 설명 못하는... index도 공부하자. 근데 정리하다가 왜 index가 나왔는지 까먹어서 누누한테 물어봤다.

백엔드에서 db 성능 최적화 하라는 부분에서 검색어 like 를 쓸때 인덱스 태워라 라고 했을 때, 각종 조회에서 인덱스 다 체크해봐라

감사합니다 누누센세🙏

 

또 뭐 더 없나? 있으면 나중에 추가하지 뭐.

💭 감정회고

느낀 점 & 배운 점과 감정회고가 뒤섞여 있는 것 같은데 기분에 따라 아무렇게나 작성하련다.

요즘 전국적으로 칼부림이 기승을 부리고 있는데 세상 진짜 미쳐 돌아간다. 내일 캠퍼스가서 빡공할라했는데 외출금지 당해서 집에서 공부해야함. 오늘도 6시부터 10시 사이 잠실역 및 강남역에서 난리친다고 예고했다던데 그것때문인지 4시 귀가당했다. 근데 우리팀 회식함.

 

'TIL' 카테고리의 다른 글

[TIL] 2023/08/06  (4) 2023.08.06
[TIL] 2023/08/05  (2) 2023.08.05
[TIL] 2023/08/03  (2) 2023.08.03
[TIL] 2023/08/02  (0) 2023.08.02
[TIL] 2023/08/01  (0) 2023.08.01