ㅇㅇ 백단에서검증하는게 맞고 dml치다 에러나서 결제만 되고 수량 안가고 이럼 젤 문제 되는거임 - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:19
답글
시퀀스니 뭐니 해서 다 순차처리 할텐데 누가 중간에 에러나서 다꼬이면 어디까지 롤백하고 어떻게 찾고 그런 고민을 해야지 - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:20
답글
https://gall.dcinside.com/board/view/?id=programming&no=2442971 for 문 걸어놨다는건 저런 페이지에서 input 밑에 메세지 띄워주는거 말하는거 property change input keyup paste input 이벤트 다 걸어놓고 중복 닉네임 같은건 서버랑 계속 통신하고, 유효하지 않은 문자열 검사하는건 js 단에서 매번 이벤트 발생할 때마다 문자열 하나하나 키코드 범위 내인지 검사하거나 정규식으로 검사했음
익명(175.213)2023-04-06 22:24
답글
문자열을 왜 실시간으로 검열해 ㅇㅅㅇ?? - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:26
답글
보통 테이블에 되도록이면 시퀀스 안 쓰지 않음? 번호 매기는거 필요하면 rownum 쓰고
여러 사람이 한 테이블에 계속 입출력을 시도하면 시퀀스 쓰면 좆되던데
문의 게시판 만들 때 이게 문의 테이블에 다른 조원이 시퀀스를 매겨놨었는데
관리자의 답변을 문의 사이에 낑겨넣으려니까 여러 사람이 조작하면 답변이 밀리고 그러더라
그럼 컬럼값 추가하면 되는거 아닌가 할텐데 시퀀스가 유일무이한 값이 아니게 됨
그래서 걍 답변 테이블을 하나 새로 만들어서 연동함..
익명(175.213)2023-04-06 22:26
답글
메세지 띄워주는거 허세 부리려고 ㅋㅋ
익명(175.213)2023-04-06 22:27
답글
rownum이야말로 순서보장 못함 - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:27
답글
글쎄 서버자원 낭비는 안하는게 좋을거 같은데 - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:28
답글
rownum 도 순서 지좆대로인건 맞긴한데 여튼 시퀀스를 프라이머리키로 쓰려는 시도에 데여서 잘 안 씀
익명(175.213)2023-04-06 22:28
답글
비슷하게 트위터 같은데도 문자열 입력할 때마다 바이트 수 계산해서 보여주지 않음?
그런것도 서버 자원 낭비야? 프론트에다 코딩했는데?
익명(175.213)2023-04-06 22:29
답글
트랜잭션-디비랑 어플단에.대한 개념이 부족해서 그럼 지금이라도 알면됨 로우넘 쓰면 좆됨 테스트야 너혼자나 최대 5명이 하니까 괜찮아보이는거지 - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:29
답글
여튼 현재 로우넘은 페이지네이션할 때만 씀
일단 order by 로 데이터 한정-정렬해놓고 거기서 rownum 으로 뽑아옴
익명(175.213)2023-04-06 22:30
답글
니말대로면 중복닉네임 계속 타고 서버에 검증로직 글자단위로 돌리는데 너 주변에 적이 없구나? - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:31
답글
아 중복 체크 같은건 ajax 계속 쏘긴하지 확실히 부담이 가는 행위야
근데 실시간으로 바뀌는 메세지가 너무 보고 싶었어 ㅋㅋ
익명(175.213)2023-04-06 22:32
답글
데이터는 변동이 있어서 그런 기준으로 잡으면 안됨 시퀀스가 싫으면 pk id를 따면됨 - dc App
버거띠(5yt5knvi4d7e)2023-04-06 22:32
답글
지금 하는 또핑몰 상품 관리 변동은 관리자가 건들 때만 일어나서 글케하긴 했는데
문의 게시판처럼 여러 사용자가 들이닥치는 곳은 확실히 로우넘 쓰기 전에
시간순으로 데이터를 미리 정렬해놓고 로우넘으로 한다고 해도 문제가 생길 순 있겠네
ㅇㅅㅇ
몰라!
사실 로깅은 배우고 싶긴해 뭐 로거 써서 한다는데 다른거 생각할 여유가 없음 에러 처리는 try catch 랑 ajax error 걸어두란건가
업데이트 치다가 입력값이 틀려서 에러나면? 시스템이 멈출텐가? - dc App
내가 처음부터 끝까지 작업한건 js 단에서 입력값 다 제한 걸어두긴했는데 나머지 작업물은 이제 드래곤볼 끝나면 다시 정주행하면서 뜯어고쳐야지
에러났는데 기록이 없으면?? 다음부터 어떻게 잘하지? - dc App
입력값 제한은 오만임 내가 테스터 하면 오류 2만개 내줄수 있음 - dc App
스프링부트의 토할거 같은 에러 메세지를 해석하는 경험치를 쌓고 있음 사실 에러 메세지 보고 원인을 파악하기엔 코테 풀 때 intellij 가 problem 띄워주는거에 비하면 5조 5억배 난해한 스프링부트 에러메세지가 딱딱 짚어주진 않아서 걍 감으로 고치고 있긴함
개발 에러메세지랑 비즈니스로직에러 로그랑 다름 난 입력값 얘기를 하는중임 - dc App
어떤 업무를 하든지 특정값이 아닌 것에 일부러 에러를 내야할 때도 있음 이건 개발 설계부터 고려해야함 - dc App
능지가 딸려서 예시 없으면 뭔 말인지 잘 모르겠음 db 가 허용하지 않는 데이터가 입력되는 경우 같은건가?
니가 지금 보는건 시스템에러고.. 널값처리나 특정값에 예외를 뱉는건 비즈니스에러라고 - dc App
뭐 구매를 했어 근데 구매제한 수량 보다 값이 크거나 출금수량이랑 입금액이랑 알고봤더니 다르네? 어떻게 캐치하지? - dc App
채용을 하는데 해외여행결격사유 디비를 돌려보니 자격미달이야 어케해야돼 그냥 리턴 받아야돼? - dc App
아 내가 구매 수량을 제한하거나 출금 수량, 입금액이 다를 수 없도록 코딩을 했다고 하더라도 사람이니까 실수해서 달라지는 데이터가 입력되면 에러 뱉어서 결제를 막고 로깅을 해서 그걸 토대로 거기 고치면 되겠구나 하게끔 하라는거구낭
웹에 띄우는 순간 보안부터 해서 별의별 일이 다생기는데 프론트에 검증 맡기는건 잘못된 일이야 프론트는 쉽게 변조쌉가능임 - dc App
아 그러면 유효성 검사는 프론트에도 걸고 백에도 걸어놔야대? 헐랭
유효성은 프론트에 걸돼 검증은 백단이 하는거지 - dc App
아 하긴 나 처음 자바 배울 때 생각난다 콘솔에 매장 관리 프로그램 띄워서 try catch 로 유효성 검사할려니 죽을 맛이였는데 검증만 해주면 되는구나 땡큐땡큐
try 캐치도 싸고 검증도 하라고 ㅋㅋㅋㅋ아 알려쥬는거 어렵네 - dc App
허걱쓰
스프링은 검증 에러부분 잘돼있는 프레임웍임 - dc App
그럼 예를 들어서 프론트에서 keyup 마다 split for문으로 문자 하나하나 실시간 검사하는거마냥 그걸 백에서도 한 번 더 해줘야대?
키업을 왜 포문으로 돌려 초성검색 구글링해봐 - dc App
아직.배우는 단계니 깊게는 안하더라도 update delete같이 dml칠때는 try 캐치 필수야 - dc App
https://docs.jboss.org/hibernate/validator/6.2/reference/en-US/html_single/#section-builtin-constraints
스프링
유효성 검사는 이런거 말하는거 맞지?
대충 봐도 @Email 로 이메일인지 검사하는 기능 같은건 개쩐다...
이거 구글링해서 js 에서 정규식으로 돌렸는데
ㅇㅇ 백단에서검증하는게 맞고 dml치다 에러나서 결제만 되고 수량 안가고 이럼 젤 문제 되는거임 - dc App
시퀀스니 뭐니 해서 다 순차처리 할텐데 누가 중간에 에러나서 다꼬이면 어디까지 롤백하고 어떻게 찾고 그런 고민을 해야지 - dc App
https://gall.dcinside.com/board/view/?id=programming&no=2442971
for
문 걸어놨다는건 저런 페이지에서 input 밑에 메세지 띄워주는거 말하는거
property change input keyup paste input 이벤트 다 걸어놓고
중복 닉네임 같은건 서버랑 계속 통신하고, 유효하지 않은 문자열 검사하는건
js 단에서 매번 이벤트 발생할 때마다 문자열 하나하나 키코드 범위 내인지 검사하거나 정규식으로 검사했음
문자열을 왜 실시간으로 검열해 ㅇㅅㅇ?? - dc App
보통 테이블에 되도록이면 시퀀스 안 쓰지 않음? 번호 매기는거 필요하면 rownum 쓰고 여러 사람이 한 테이블에 계속 입출력을 시도하면 시퀀스 쓰면 좆되던데 문의 게시판 만들 때 이게 문의 테이블에 다른 조원이 시퀀스를 매겨놨었는데 관리자의 답변을 문의 사이에 낑겨넣으려니까 여러 사람이 조작하면 답변이 밀리고 그러더라 그럼 컬럼값 추가하면 되는거 아닌가 할텐데 시퀀스가 유일무이한 값이 아니게 됨 그래서 걍 답변 테이블을 하나 새로 만들어서 연동함..
메세지 띄워주는거 허세 부리려고 ㅋㅋ
rownum이야말로 순서보장 못함 - dc App
글쎄 서버자원 낭비는 안하는게 좋을거 같은데 - dc App
rownum 도 순서 지좆대로인건 맞긴한데 여튼 시퀀스를 프라이머리키로 쓰려는 시도에 데여서 잘 안 씀
비슷하게 트위터 같은데도 문자열 입력할 때마다 바이트 수 계산해서 보여주지 않음? 그런것도 서버 자원 낭비야? 프론트에다 코딩했는데?
트랜잭션-디비랑 어플단에.대한 개념이 부족해서 그럼 지금이라도 알면됨 로우넘 쓰면 좆됨 테스트야 너혼자나 최대 5명이 하니까 괜찮아보이는거지 - dc App
여튼 현재 로우넘은 페이지네이션할 때만 씀 일단 order by 로 데이터 한정-정렬해놓고 거기서 rownum 으로 뽑아옴
니말대로면 중복닉네임 계속 타고 서버에 검증로직 글자단위로 돌리는데 너 주변에 적이 없구나? - dc App
아 중복 체크 같은건 ajax 계속 쏘긴하지 확실히 부담이 가는 행위야 근데 실시간으로 바뀌는 메세지가 너무 보고 싶었어 ㅋㅋ
데이터는 변동이 있어서 그런 기준으로 잡으면 안됨 시퀀스가 싫으면 pk id를 따면됨 - dc App
지금 하는 또핑몰 상품 관리 변동은 관리자가 건들 때만 일어나서 글케하긴 했는데 문의 게시판처럼 여러 사용자가 들이닥치는 곳은 확실히 로우넘 쓰기 전에 시간순으로 데이터를 미리 정렬해놓고 로우넘으로 한다고 해도 문제가 생길 순 있겠네
pk얘기하자면 디비 설계부터 설명해야하니 길어지고 난 코딩하러 간다 ㅃㅂ - dc App
아 참고로 답변게시판은 계층형쿼리를 써야함 - dc App
구글링하다가 언뜻 흘겨보긴했는데
https://velog.io/@yoho98/%EA%B2%8C%EC%8B%9C%EA%B8%80-%EB%8C%93%EA%B8%80-%EB%8C%80%EB%8C%93%EA%B8%80%EB%AC%B4%ED%95%9C%EB%8C%93%EA%B8%80-%EB%A1%9C%EC%A7%81
db
설계를 존나 잘해야 되는거 같더라
아 이건 답변이 아니라 대댓글이긴한데 이걸 답변으로 고칠수도 있겠지 머 근데 지금은 문의 하나에 답변 하나로 임시 처리해둠..