일 년 전 · aigoia 님의 답변 업데이트
프로젝트 일정관리에 대해서 질문이 있습니다.
이제 곧 있으면 si업체에서 개발자로 지낸지 1년이 지나는 직장인입니다. 정말 간단한 crud와 같은 개발은 가능하지만 특정 비즈니스 로직이나 세세한 부분들(유효성 검사나 테스트)가 응용이 된다면 개발 속도가 나지 않는 것이 가장 큰 문제입니다. 이로인해 일정관리가 되지 않는 상황이고 자신감 마저 많이 떨어진 상황입니다. 이런 상황에서 어떻게 성장해야하고 속도를 올릴지 고민이 있어서 글을 올리게 되었습니다.
개발자
#프로젝트
#개발일정
답변 1
댓글 0
조회 76
일 년 전 · 익명 님의 새로운 댓글
springboot 테스트코드 작성 방법
테스트코드에 관해 공부하게되었습니다. 정해진 답은 없는 것 같은데 잘못 이해하고 사용하고 있다는 생각이 들어서 질문 글을 올리게 되었습니다. 선배님들의 도움이필요합니다. 유저와 게시글 entity가 있고 게시글을 생성하는 기능을 controller service repository 로 작성했습니다. 1. 단위테스트를 작성할때 mock을 사용하여 Service.save 메서드에 대해 any()와 같이 저장할 객체와 저장된 객체를 제가 직접 지정하다보니 끼워맞춰서 성공을 받아내는 느낌이 강해서 어떻게 사용해야 하는지 궁금합니다. 2. 여러 글들을 읽어보고 고민해보니 Service.duplicate와 같이 이메일 중복체크와 같은 예외가 발생하는 것은 단위테스트로 작성하고 나머지 즉, crud와 같이 DB를 사용해야하는 기능은 controller 통합테스트를 작성해서 확인해야할 것 같은데 맞는 생각인지 궁금합니다. 3. controller 통합테스트에서 update와 같이 의존성이 많이 엮여있을 때 작성방법이 궁금합니다. 제가 생각한 바는 아래와같은데 어디까지 직접생성해주어야 할까요.. - 사용자를 저장하고 게시글도 저장한다. - 게시글을 읽어와 사용자가 게시글의 작성자인지 확인한다 - 게시글을 수정한다 - 수정된 게시글에서 빈 값은 없는지 등 유효성 검사를 하고 게시글을 저장한다 - 다시 게시글을 읽어와서 정상적으로 수정되었는지 확인한다. 아직 부족한것이 많아 단어사용이나 방식이 정말 바보같을 수 있는 부분 양해부탁드립니다. 긴 글 읽어주셔서 감사드립니다. 마지막으로 혹시 참고할 만한 springboot 테스트 코드나 책 또는 강의가 있다면 알려주시면 좋겠습니다. 정말 감사드립니다.
개발자
#spring-boot
#spring
#spring-data
#testcode
#tdd
답변 1
댓글 1
추천해요 19
보충이 필요해요 1
조회 2,405
일 년 전 · cozy 님의 새로운 답변
스프링부트에서 클린코드 사용 관련 질문
안녕하세요 선생님들 현업에서는 정말 아무 생각없이 사용하고 있는 개발 방식이었는데 클린 코드라는 책을 접하면서 고민이 되는 부분이 하나 있습니다. SpringBoot ServiceImpl 구현 부분에서 만약 로그인 API를 개발한다는 가정하에, 로그인 API 에는 수많은 기능들이 포함될 수 있습니다.(유효성 검증, 비밀번호 5회 연속 시 잠금, 권한에 따른 페이지 이동 기능 등등) 하지만 클린 코드의 원칙 상 '되도록 하나의 메소드는 하나의 기능만을 포함한다.' 라는 원칙에 위배되기 때문에 각각의 기능을 분리하여 작성하는 것이 맞을듯 합니다. 그러나 각각의 수많은 부가기능(이 될수도 있는)들을 만들면 인터페이스와 클래스의 개수도 그만큼 늘어나게 되고 개발에 소요되는 시간도 늘어납니다. 실제로 제가 있었던 SI회사에서는 하나의 큰 기능(로그인 API) 자체를 기준으로 메소드를 만들고 부가 기능들을 모두 하나로 구현하였습니다. SI 특성 상 마감시간 내에 빨리 완성시켜주고 빠지면 땡이기 때문에 이런 것이라 생각되는데 만약 시간적인 압박이 있는 SI개발에서 두 부분중 어떤 원칙을 지키는 것이 효율적인지에 대한 고민이 되는데 길을 좀 알려주시면 감사드리겠습니다.
개발자
#스프링부트
답변 1
댓글 0
추천해요 1
조회 119
일 년 전 · 강용석 님의 새로운 답변
프론트엔드 유효성 검사 어떻게 하시고 계신가요?!
진행하는 프로젝트에서 form에 관리하는 state들이 10개정도되는 편이라 recoil 이나 jotai로 state관리를 진행하고있습니다. 유효성검사가 필요한 부분들은 마찬가지로 const [nameError, setNameError] = usState('') 이런식으로 선언하여 name 변경시 setNameError(value ? 'error message' : '') 형식으로 관리하고있습니다. 각 state마다 이렇게 처리하니 추후 복잡해보이기도해서 더 좋은 방법은 없는지 어떻게 처리하고계신지 궁금해서 질문남깁니다 !
개발자
#react
#nextjs
답변 3
댓글 0
조회 161
일 년 전 · 백승훈 님의 답변 업데이트
node.js 백엔드에서 JWT Secretkey 보관 방법
안녕하세요! node.js express.js를 활용하여 백엔드를 개발중인 신입 개발자입니다. 앱 개발을 하고있는데 unity 프론트와 api통신을 해야하는 상황입니다. JWT를 활용하여 로그인 처리를 하고있는데 unity프론트와 API통신하면서 JWT때 사용하는 secretkey값을 공용으로 사용하고싶은데 혹시 실무에서 주로 처리하는 방법이 있을까요?? 보통 앱개발에는 안드로이드 keystore로 처리한다고도 하던데 서버단과 unity 클라이언트단 JWT secretkey를 같이 사용할 수 있는 방법 질문요청드립니다...! 헷갈리는부분... API 통신시 클라이언트단에서 로그인하고 유효성검사하고 암호화해서 api 통신하는 방식으로 흐름이 되는게 맞나요..?? 그리고 서버단에서 복호화해서 암호화하고 저장 api 통신시에 탈취가능성이 있지 않나는 클라이언트분의 말을듣고 위와 같은 질문을 드립니다... 제가 헷갈리는 부분인건지 아니면 api 전송시에는 암호화가 되지않아도 보안에 이상이 없는건지 서버단에서만 jwt 암호화 처리를 하면되는건지.... 이 부분은 어떤 흐름대로 이해하고 가야하나요?? ㅠㅠㅠ 너무 초보같은 질문이지만 질문드립니다..
개발자
#node.js
#express.js
#jwt
#unity
#api
답변 1
댓글 1
조회 171
2년 전 · 다형 님의 새로운 답변
Enum vs 객체
안녕하세요. 최근 개발을 진행하다 의문이 생겨, 다른 개발자분들의 의견을 듣고자합니다. 값이 정해진 것에 대해 ( 예) 승패여부, 타입 등...) 에 대해서 그동안 Enum타입으로 선언해왔습니다. 그런데 숫자야구의 결과값 같이 조합이 정해진 경우에는 경우의 수가 늘어날수록 Enum타입 선언이 기하급수적으로 증가할 것 이라는 생각이 들었습니다. 예를들어 숫자 3개로 게임을 진행하는 경우에는 8개 , 4개로진행할경우 14개, 5개로 진행할경우 더 늘어날 것 입니다. 이 경우 확장성을 위해서 객체로 선언해서 유효성 검사를 진행해 확장성을 늘리는게 좋은지 , Enum으로 선언해 안정성을 늘리는것이 좋은지 궁금합니다. 긴글 읽어주셔서 감사합니다.
투표
개발자
#java
#개발-공부
답변 1
댓글 0
조회 153
2년 전 · Code King Academy 님의 새로운 댓글
json schema validation check 에 대해
궁금한게 있습니다. 클라 에서 사용자가 입력한 데이터를 서버에 보낼 때, 보통 데이터 유효성 검사를 하게 되는데, 유효성 검사를 수행하고 나서, 서버에 보낸 json 을 서버에서도 먼저 json 유효성 검사를 수행하고 나서, 그 이후에 코드를 실행하는게 필수적인가요? 저의 생각인데, 아무리 클라에서 데이터에 대한 유효성 검사를 하고, 데이터를 보낸다고 해도, 테스트 코드를 정말 잘 작성한다고 해도, 실수할 수 도 있다고 생각되고 유효하지 않은 데이터를 서버에서 validation check 를 하지 않았을때 초래하는 문제가 많을 거 같아서, 필수 라고 생각되는데, 현업 개발자 분들의 의견이 궁금합니다~
개발자
#json
#api
#validation
#ajv
#유효성검사
답변 1
댓글 1
추천해요 1
조회 75
2년 전 · Stonei 님의 답변 업데이트
자바단에서의 유효성검사
서비스단에서 비즈니스로직을 태우기 전 초입 부분에서 값 검증후 익셉션 날려주는 로직이 너무 지저분한데 @Vaild로는 복잡한 검증( db를 뒤져서 검증하거나 여러개의 파라미터를 묶어서 검증하는 로직 등) 을 처리 하기엔 무리가 있는 것 같습니다. 메서드로 따로 빼는 것 밖엔 없을까요?
개발자
#java
답변 2
댓글 1
추천해요 9
조회 2,695
일 년 전 · 김하림 님의 답변 업데이트
JWT 토큰을 공유(?) 하는 방법
안녕하세요. node.js와 react를 활용하여 로그인 인증, 인가를 구현 하고 있습니다. 웹을 시작한지 얼마 안돼 삽질을 좀 하고있는데 해결하는데 어려움이 있어 질문을 올리게 됐습니다. 1. 현재 개발 환경 : - Node.js(express)로 JWT토큰을 발급하고,인증하는 서버를 실행 중 입니다.(localhost:8080) - localhost:3000 으로 로그인 페이지를 만들었고, 로그인 성공시 서버로부터 JWT토큰을 발급 받게 되어있습니다. (토큰을 현재는 로컬스토리지에 저장 하고 있습니다) - localhost:3001 로 새로운 서비스페이지를 만들고있습니다. 2. 질문 : - localhost:3000에서 서버로부터 전달받은 JWT토큰을 localhost:3001에게 전달하고, localhost:3001은 전달 받은 토큰을 가지고 인증서버에 토큰을 주면서 유효성을 확인 받고 싶습니다. 현재는 3000번에서 3001번으로 URL 이동하는 버튼을 만들었는데 이때 URL 파라미터에 토큰값을 추가해서 전달하고 3001번이 전달받은 파라미터에서 토큰값을 다시 로컬스토리지에 저장하고 사용하고있습니다.. 이 방법이 아무리 생각해도 보안적으로 문제가 될 것 같아서 이런 경우 어떤식으로 구현을 해야 좋은방법인지 고민하다가 이곳에 질문을 올리게 됐습니다.
개발자
#node.js
#react
#jwt
답변 2
댓글 2
추천해요 2
조회 804
2년 전 · 김준영 님의 댓글 업데이트
실무에서 Zod등의 유효성 검증 라이브러리를 사용하시나요?
저희 회사의 경우 유효성 검증 라이브러리를 사용하고 있지는 않지만 사용하면 유용하고 오류가 줄어들 것 같아서 질문드립니다! 실무에서 Zod 또는 Zod와 비슷한 런타임 유효성 검증 라이브러리를 많이 사용하시나요? 혹시 사용하셨다면 사용하시기 전과 어떤 점에서 좋았고 어떤 점에서 좋지 않았는지 궁금합니다!
개발자
#zod
#joi
#yup
#유효성
답변 1
댓글 1
추천해요 2
조회 128
2년 전 · 호빵 님의 새로운 답변
폼 유효성 검사 후 제출 하는 방법
폼 내부 인풋 값들의 유효성을 각각 검사한 뒤에 모두 정상이면 제출하려 합니다 인풋의 유효성 검사 결과도 각각 state로 관리하는데 state는 비동기로 바뀌다보니 유효성 검사 후 아직 state가 바뀌기 전에 값을 참조하게 되었고 그러면서 인풋이 정상이 아닌데도 제출되는 상황이 발생했습니다.. 유효성 검사 -> 유효성 검사 결과 state 변경 -> 유효성 검사 결과 state 확인 후 모두 정상일 경우에만 제출 이 흐름의 순서를 보장할 수 있는 방법이 있을까요..? 유효성 검사가 모두 완료되었는지 또 다른 state를 하나 더 추가해야할까요..?
개발자
#react
#form
답변 1
댓글 0
조회 162
2년 전 · 이국범 님의 새로운 답변
유효성 검사에서 for 문 쓸 때
function inputScore(){ var index1=[1,2,3,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]; for(i=0; index1.length; i++){ var input_score = $('input[name="chck_input_score[index1]"]').val(); if(input_score == null || input_score == ""){ alert('취득점수를 입력해주세요.'); $('input[name="input_score [index1]"]').focus(); return false; } 유효성 검사를 하려고 하는데 점수 입력란이 1번부터 33번까지인데, 4번과 9번은 없는 상태입니다. 이렇게 배열에 담아서가 아닌 좀 더 코드를 깔끔하게 쓸 수는 없을까요??
개발자
#javascript
답변 2
댓글 0
조회 194
2년 전 · 😎 님의 답변 업데이트
input 유효성 검사
제목 그대로 input 입력 유효성 검사를 하려고 하는데, 제출하기 버튼 클릭 시 팝업이 뜨기 전 alert("입력해주세요")를 나오게 하려고 합니다. 현재 제출하기 버튼에 onclick="팝업" 이런 상태인데, 유효성 검사를 마친 후 팝업이 뜨게 할 수 있으려면 어떻게 해야할까요?
개발자
#javascript
답변 1
댓글 0
조회 142
3년 전 · 손정현 님의 새로운 답변
다들 유효성검사 라이브러리 뭐쓰시나요?
현재 Formik, React Hook Form 둘중 고민 중 이긴한데 혹시나 다른거 쓰시는분들 있으신가해서 올려봅니다.
개발자
답변 1
댓글 0
추천해요 2
조회 238