분류 전체보기 178

[Java] @ResponseBody, @RestController, @Controller - 개발자 배찌

내가 궁금했던 부분은 ResponseBody와 RestController 둘다 View를 거치지 않고, 데이터를 직접 return시키는데, 둘의 차이점은 뭘까? 생각함! @ResponseBody + @Controller = @RestController 공통점은? @Controller와 다르게 @ResponseBody와 @RestController는 View를 거치지 않고, 직접 데이터를 return 한다는 것. 😛참고 Url😛 https://happiness-life.tistory.com/m/entry/1-Controller-ResponseBody-RestController-%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 [Spring] @Controller / @Re..

JAVA 2022.11.01

[Java] 핸들러(Handler), 핸들러맵핑(Handler Mapping), 핸들러어댑터(Handler Adapter) - 개발자 배찌

회사에서 Java 서버단을 뒤지다가 Handler가 사용된 코드들이 보였다. Handler??? 분명 강의들으면서 공부했는데..!! 다시 떠올리니 그게 무엇인지, 어떤기능인지,, 설명하지 못한 나 자신… 다시 공부하기로 마음먹었다…. 내 기준에!!!! handler를 잘 모른다면 Java개발자야! 라고 말할 수 없다고 생각한다!!!! 스프링 MVC의 핵심인 DispatcherServlet.java…. 요녀석이 중요!! 스프링 MVC의 프론트컨트롤러이다. Why??? 스프링 MVC 동작원리 Http 요청 -> FrontController(=DIspatcherServlet) -> 핸들러 매핑정보 조회 -> 핸들러 어댑터 조회-> 핸들러 호출 -> ModelAndView반환 -> ViewResolver 호출 ..

JAVA 2022.10.25

[Java] 인증번호 1분에 최대 5번만 호출 - 개발자 배찌

인증번호 1분에 최대 5번만 호출하게끔 하는 로직을 Js에서 제어했다가, Count값을 Console에서 바꾸면 사용자 마음대로 제어가 되버리기때문에 로직을 바꿔달라고 했다. “서버에서 세션에 값을 넣어서 제어해주세요” 아래 코드를 서버단에 인증번호 클릭할때 타는 로직 맨 앞에 넣어두었다. int smsAuthCount = HcsSessionUtil.getSessionValue(request, “smsAuthCount”) == null ? 0 : HcsStringUtil.parseInt((String) HcsSessionUtil.getSessionValue(request, “smsAuthCount”)); long currentTime = System.currentTimeMillis(); long auth..

JAVA 2022.10.24

[독서] “이펙티브 자바 3편” 3일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 금 | Assignment #3 📚 2장. 객체 생성과 파괴 ✔️ TIL 오늘 TIL 3줄 요약 - 생성자 매개변수가 많을 경우에 빌더사용을 고려해볼것 - 빌터패턴, lombok의 @Builder - Enum, EnumSet TIL (Today I Learned) 날짜 2023.01.06 오늘 읽은 범위 2장. 객체 생성과 파괴 - 아이템2 책에서 기억하고 싶은 내용을 써보세요. - 생성자 매개변수가 많은 경우에 빌더 사용을 고려해볼것. - 생성자 / 자바빈(setter) 사용을 개선한 패턴이 빌더패턴!! 매개변수가 많거나, 매개변수가 늘어나 수 있는 가능성이 높은경우 사용하면 좋다. - 빌더패턴 public abstract class..

[Java] 이미지 일괄다운로드 - 개발자 배찌

조회화면에서 체크박스를 눌렀을 때 해당하는 이미지를 일괄다운로드 (zip파일로!) 하는 기능! 조건은 최대 10개 까지만 다운로드 가능하게 제한! @RequestMapping(value=“/vhcl/vhclInspImgDwnl.hc”) public ModelAndView vhclInspImgDwnl(HttpServletRequest request, HttpServletResponse response, VhclInspImgFilePVO pvo) throws Exception { ModelAndView mav = new ModelAndView(JSON_VIEW); response.setStatus(HttpServletResponse,SC_OK); resopnse.setContentType(“applicati..

JAVA 2022.10.19

[독서] “이펙티브 자바 3편” 2일차

#코딩 #개발자 #이펙티브자바 #개발자필독 #도서리뷰 1 주차 목 | Assignment #2 📚 2장. 객체 생성과 파괴 ✔️ TIL 오늘 TIL 3줄 요약 - 생성자 대신 정적팩토리메서드를 고려하라. - 여기서 의미하는 정적팩토리메서드는 디자인패턴 팩토리메서드랑 다른 개념. - 잘 이해가 안된다면, 이것만 기억! 생성자를 사용하는것보다 정적팩토리메서드를 사용하는게 장점이 더 많다. TIL (Today I Learned) 날짜 2023.01.05 오늘 읽은 범위 2장. 객체 생성과 파괴 - 아이템1 책에서 기억하고 싶은 내용을 써보세요. - 생성자 대신 static 팩토리 메소드를 고려해볼것 - 장점1. 이름을 가질 수 있다. - 장점2. 반드시 새로운 객체를 만들 필요가 없다. - 장점3. 리턴 타입..

[독서] “이펙티브 자바 3편” 1일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 수 | Assignment #1 📚 1장. 들어가기 ✔️ TIL 오늘 TIL 3줄 요약 - Java가 지원하는 자료형 - 공개 api - Java9에서 지원하는 모듈시스템 TIL (Today I Learned) 날짜 2023.01.04 오늘 읽은 범위 1장. 들어가기 책에서 기억하고 싶은 내용을 써보세요. - 이 책의 규칙 대부분은 아주 핵심적인 기본 원칙 몇 개에서 파생된다. 바로 명료성과 단순성이다. (p.2) - 코드는 복사되는것이 아니라 재사용되어야한다. (p.2) - 자바가 지원하는 타입(자료형)은 인터페이스, 클래스, 배열, 기본타입 네가지이다. (p.4) - 애너테이션은 인터페이스의 일종이며, 열거타입은 클래스의 일종이다...

[JS - jQuery] $.each(), $(“selector”).each(), $(this) - 개발자 배찌

JS에서 자주 사용되는 each문인데 $.each(functoin(index, item){ … } ); Index, item 이 가르키는것과 그 function 안에서 사용되는 $(this)의 개념이 잘 안잡혀있어서 정리하게 되었다. 요약하자면!! 두가지 표현이 있다. 1. jQuery 일반메서드인 $(“selector“).each(function(index, item){ … }); 2. jQuery 유틸리티 메서드인 $.each(object, function(index, item){ … }); 또는 $.each(arr, function(index, item){ … }); 1번부터 살펴보면, $(“selector“).each(function(index, item){ console.log( $(this) ..

JAVASCRIPT 2022.10.14

[JS] 인증번호 1분에 최대 5번만 호출 - 개발자 배찌

회사에서 개발한 내용 정리하기!! 이슈사항 인증번호 전송에 대한 반복 호출 확인 - 1분 내 최대 5번만 호출되도록 수정 해결방법 js에서 제어하려고 함. 초기 인증번호 클릭 count = 0 으로 두고 setTimeout을 60초로 걸어서 60초 후에는 count 를 0으로 초기화 count가 5번이 넘어가면, alert창 띄우ㅕ return 시킴 "인증번호 전송은 1분간 최대 5번만 가능합니다."; 하지만..! 이렇게 되면 f12 개발자도구에서 count = 0;으로 넣어버리면 인증번호를 계속 받을 수 있게끔 조정할 수 있다.. 결론.... 인증번호 호출하는 서버단에서 count를 세어하는게 맞는 것 같다.. Js에서 제어하지 않고 Java단에서 제어하도록 수정!! 아래 코드는 js로 제어한것! (공..

JAVASCRIPT 2022.10.13