본문 바로가기

Study Hard/개발 /로직 생각6

varchar2(8) 타입으로 저장된 날짜를 나타내는 문자열을 어떻게 가져오면 좋을까? 날짜의 정보가 담긴 문자열 ex) 20230101 8자리 문자열을 사용자에게는 다른형식으로 보여주고 싶을때 어떻게 처리할 것인가? 방법은 3가지 이다. 1. Client 단 - DB에서 그대로 가져와 js로 형식을 변환시켜준다. 2. Controller나 Service단 - Servlet 내에서 java로 값의 형식을 처리 한후 객체 전달. 3. DB에서 slect 시에 sql문으로 변환하여 출력 모든 날짜를 date로 저장할 수있지만 시간이 존재하지 않는 날자는 숫자 8자리 형식으로 저장하는 것이 DB에서는 가장 효율적이다. 20230101 같은 문자열로 값을 DB에서 바로 받아오는 것에 대한 단점이 하나 있다면 date로 받아오는 형식은 java나 jsp(jstl) 에서 값 형식을 변환해주는게 편리하.. 2023. 7. 5.
CSR(클라이언트 렌더링)이 대세가 된 시장 (feat. jsp는 사장되고 있나요..?) 최종프로젝트에서 스프링부트가 아닌 스프링레거시 환경에서 spa 비슷하게 구현할 수 없는지 구글링으로 찾다가. 구현은 뒷전이고 몇개의 글을 읽었다. 가장 먼저 읽은 글은 5년전 어떤글 개발자 커뮤니티글인데 jsp+spa 검색어로 구글링이 되어 우연히 보게 되었다. 5년전의 생각 댓글이 재미있다. 댓글도 어떤내용일지 궁금했고 실제로 5년이 지난 지금 현재는 어떠한가. 제로보드와 php, 나모웹에디터, 드림위버를 사용해서 10년전 웹을 조금 맛만본 나에겐 CSR이니 spa니 개념은 겉으론 알고있으나 순수 java스크립트로의 구현은 쉽지않다. 지금 저 글처럼 java와 + 스프링만 파고 있는 중인 나에겐. 댓글을 보자. 그들의 예측은 맞았을까? 아무래도 이 당시 spring-boot의 jsp기본 미지원은 시장에.. 2023. 7. 5.
[스프링Legacy] 아이디 찾기, 비밀번호 찾기 로직 (Ajax, JSON 사용) 아이디와 비밀번호를 단순 로직을 만들어보자 흔한 아이디와 비밀번호 찾기 로직 - 아이디찾기는 이메일과 이름을 입력하고 비동기 처리 - 비밀번호 찾기는 아이디,이메일,이름 비밀번호 찾기를 이용 자바스크립트에서 pwFindBtn.on("click", function() { var memId = $("#memId2").val(); var memEmail = $("#memEmail2").val(); var memName = $("#memName2").val(); if(memId == null || memId == "") { alert("ID을 입력해주세요"); return false; } if(memEmail == null || memEmail == "") { alert("이메일을 입력해주세요"); return.. 2023. 6. 9.
[Web] 로그인 폼에서 엔터키로 로그인하기 (자바스크립트 사용하지않고) 위는 흔히 볼수 있는 로그인 폼 사용자는. . 보통은 로그인폼에서 로그인 정보(아이디/비밀번호)를 입력하고 엔터를 눌러 로그인을 시도한다. . 직접 로그인버튼을 누르는 사람은 없을것이다. 구글링해보니 자바스크립트로 구현하는사람들이 많은데 자바스크립트보다는 form기본기능을 이용하는것이 좋을거같아 button을 input type="button"으로 변경하였다. 복잡한 자바스크립트보다 쉽고 간편하게 적용된다. 로그인 2023. 5. 28.
[스프링, 자바] VO객체의 필드의 공백,null값 일괄 확인 (form 필드 공백확인) - 넘겨받은 데이터들 중, 누락된 데이터가 1개 이상인 경우 회원가입 페이지로 이동 후 ‘누락된 입력 정보가 존재합니다.’알림창을 띄워주세요. 과제에 form태그의 필드들이 서버단으로 넘어온 parameter 값들의 공백값을 확인하고 처리하는 로직이 있었다. @RequestParam Map map 매개변수에 넣어 모든 map값을 가져와 for문으로 null값을 돌려도 되지만 VO(자바빈즈) 파일로 파라미터에서 받아와 각 필드의 공백을 확인하고 싶었다. VO객체도 map처럼 각 필드명을 꺼내고 저장된 key값을 확인할 순 없을까? 하지만 자바빈즈는 맵처럼 각 값을 꺼내 for문을 돌릴수 없으므로 고민하다가 검색을 해보니 여러개 나왔다. map처럼 각 필드명 을 가져오면서 하는 방법중 Java Reflect.. 2023. 5. 26.
[스프링,Mybatis] Model(VO)의 필드명은 CamelCase가 좋을까? UnderScore가 좋을까? ! 참고https://okky.kr/questions/271382 중프때도 겪었고 최종프로젝트에서도 겪을문제, 현업에서도 많이 고민하는 문제인거같다. 참고 : vo객체 필드명 어떻게 하시나요? (https://okky.kr/questions/227882) 관례적으로 자바의 변수명은 대부분 CamelCase로 작성하고 있고 DB의 컬럼명은 대체로 UnderScore(snake case)로 작성한다. 각 java와 db의 관례를 각각 적용하면 좋겠지만, DB의 연동은 라이브러리를 통해 자동화되어 트랜잭션되므로 라이브러리를 이용하기위해선 라이브러리가 지원되는 기능 선에서 이용하면 좋다. 많이 쓰고 있는 Mybatis에서 자동 치환기능을 지원하기 때문에 Java의 VO에서 카멜케이스로 작성 하였고, DB의 컬럼.. 2023. 5. 26.