enum에 대응되는 테이블 만들어서 처리하는것도 아니고
그거 코드값 데이터에 넣어도 코드레벨에서 대응해야되는데
이해가 안됨
SELECT 해서 보여주기만 하는 서비스들에서는 ENUM 관리 할필요 없이 사용할수 있거든
그래 그게 코드테이블아녀 근데 내말은 공통코드 테이블이라고 테이블 하나에 다 때려 박는게 이해가 안되서 그래
코드값이 변경이자 추가가 필요한 영역, 유저 권한별로 차이를 두는 용도로 쓰기엔 공통코드쓰는게 유리함
enum쓰면 값 변경 및 추가가 생길 때 마다 서버 핫리로딩 같은걸 해야하는데 가상화 안쓰는 레거시 웹서버면 셧다운 된 동안엔 접속이 안되니 유지 부분에선 enum이 훨씬 더 번거로움
그래서 enum이나 상수 클래스, 공통코드 테이블 등등은 의도에 따라서 혼합해서 다 사용하는게 맞다고봄
애초에 운용하는 사람은 비개발자가 대부분이라 이사람들이 좀 더 편하게 쓰도록 하려면 공통코드 테이블은 어쩔 수 없는 선택이라 생각함
내말은 예를 들면 주문상태같은 enum도 공통코드 테이블 만들어서 넣어서 쓰는게 무슨의미가 있는가에 가까움
주문상태에 따른 로직을 처리하는건 결국 코드레벨인데 테이블에서 변경해서 코드로직이 바뀔수있는것도 아니잖아
주문상태에서 배송중 파손 추가되고 거기서 로직이 대응되는것도 아닌데 어째서 이걸 쓰는지 졸라 이해가 안간다는거지
분기처리가 필요없는 값들이면 그러려니 하지
근데 로직상 없거나 수정되면 안되는 코드를 왜 db에 넣어놓고 그걸 불러와서 의존하게 만들지?
게다가 테이블하나에다가 다 때려박아 그걸
보통 그런경우엔 백오피스 영역에서 모든 걸 컨트롤 하고 싶어하는 의도가 있거나
그냥 '공통 테이블 하나로 관리하는게 편하지 않나?' 라는 단순한 의도가 있거나 둘 중 하나라 생각함 ㅋㅋㅋ
그리고 공통코드 수준의 테이블이라면 redis같은 인메모리 db같은곳에 때려박아서 쓰려 하기 때문에 성능적인 이슈는 db connect보단 덜하다고 봄
개발자 입장이 아니라 서비스를 실 사용하는 입장에서도 생각을 하면서 모델링을 해야함.
개발입장에선 비효율적이라고 보이는것들이 생길 수 밖에 없는 이유
관리해야하는 코드가 수천 수만개되면 공통코드만 관리하는 마스터테이블을 만들게되지
그 공통코드중에 비즈니스로직이 그 코드를 사용해서 if로 분기처리하는 부분이 있다면 잘못 설계한거
유부남
SELECT 해서 보여주기만 하는 서비스들에서는 ENUM 관리 할필요 없이 사용할수 있거든
잠적자
그래 그게 코드테이블아녀 근데 내말은 공통코드 테이블이라고 테이블 하나에 다 때려 박는게 이해가 안되서 그래
최수연
코드값이 변경이자 추가가 필요한 영역, 유저 권한별로 차이를 두는 용도로 쓰기엔 공통코드쓰는게 유리함
enum쓰면 값 변경 및 추가가 생길 때 마다 서버 핫리로딩 같은걸 해야하는데 가상화 안쓰는 레거시 웹서버면 셧다운 된 동안엔 접속이 안되니 유지 부분에선 enum이 훨씬 더 번거로움
그래서 enum이나 상수 클래스, 공통코드 테이블 등등은 의도에 따라서 혼합해서 다 사용하는게 맞다고봄
애초에 운용하는 사람은 비개발자가 대부분이라 이사람들이 좀 더 편하게 쓰도록 하려면 공통코드 테이블은 어쩔 수 없는 선택이라 생각함
잠적자
내말은 예를 들면 주문상태같은 enum도 공통코드 테이블 만들어서 넣어서 쓰는게 무슨의미가 있는가에 가까움
주문상태에 따른 로직을 처리하는건 결국 코드레벨인데 테이블에서 변경해서 코드로직이 바뀔수있는것도 아니잖아
잠적자
주문상태에서 배송중 파손 추가되고 거기서 로직이 대응되는것도 아닌데 어째서 이걸 쓰는지 졸라 이해가 안간다는거지
분기처리가 필요없는 값들이면 그러려니 하지
근데 로직상 없거나 수정되면 안되는 코드를 왜 db에 넣어놓고 그걸 불러와서 의존하게 만들지?
게다가 테이블하나에다가 다 때려박아 그걸
최수연
보통 그런경우엔 백오피스 영역에서 모든 걸 컨트롤 하고 싶어하는 의도가 있거나
그냥 '공통 테이블 하나로 관리하는게 편하지 않나?' 라는 단순한 의도가 있거나 둘 중 하나라 생각함 ㅋㅋㅋ
그리고 공통코드 수준의 테이블이라면 redis같은 인메모리 db같은곳에 때려박아서 쓰려 하기 때문에 성능적인 이슈는 db connect보단 덜하다고 봄
코노딩예
개발자 입장이 아니라 서비스를 실 사용하는 입장에서도 생각을 하면서 모델링을 해야함.
개발입장에선 비효율적이라고 보이는것들이 생길 수 밖에 없는 이유
프로그래머스
관리해야하는 코드가 수천 수만개되면 공통코드만 관리하는 마스터테이블을 만들게되지
잠적자
그 공통코드중에 비즈니스로직이 그 코드를 사용해서 if로 분기처리하는 부분이 있다면 잘못 설계한거