일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- jquery
- SQL
- 구간합구하기
- MariaDB Query Log
- 백준 11659번
- 자바 람다식
- interrupted()
- @NoArgsConstructor
- this
- 상속과 참조
- @AllArgsConstructor
- json
- map()
- 슈더코드
- 백준 11660번
- Java
- InterruptException
- 생성자
- select
- 백준 1235번
- function test
- this와 this() 차이
- ajax
- 2차원배열 구간합
- 백준
- pseudo-code
- 합배열
- 구간합
- Bean LifecCycle
- 마리아DB 쿼리 로그
- Today
- Total
목록Spring Framework (17)
평범한 연구소
private final - 생성자 주입생성자 기반으로 의존성을 주입한다. (Spring이 가장 권장하는 방식!)@RequiredArgsConstructor 어노테이션으로 final을 사용한 필드에 대해 생성자를 자동으로 생성해준다.필드 final 정의 가능만약 같은 타입의 빈(동일한 클래스명)이 있는 경우라면?@Qualifier 어노테이션으로 지정한 빈의 이름을 가져올 수 있다.나는 @Qualifier 어노테이션을 사용하여 데이터 마이그레이션 로직을 구현했었다 @Component@RequiredArgsConstructorpublic class UserService { private final User user;}@Autowired - 필드 주입필드 주입같은 타입의 빈이 있는 경우, @Qualifie..
SOLID 란 ? 객체지향 프로그래밍 설계의 대표적인 5가지 원칙이다. 아래 5가지 원칙의 앞글자를 따서 만든 용어이다. SRP OCP LSP ISP DIP SOLID 의 장점은 ? 객체 지향 프로그래밍의 특성과 장점을 극대화 시킬 수 있다 ! 1) SRP(Single Responsibility Principle, 단일 책임 원칙) 하나의 객체는 하나의 책임만 가져아한다는 원칙이다. 여기서 책임이란, 클래스가 담당하는 동작을 의미한다. 모듈화가 강해질수록 다른 객체와의 의존성이 줄어든다. 결합도↓ 응집도 ↑ 효율적인 유지보수가 가능. 2) OCP (Open Closed Principle, 개방 폐쇄 원칙) 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀있어야한다는 원칙이다. 새로운 기능이 추가될 때,..

댓글 신고 기능을 구현하는 중에 발생한 에러다. 신고 처리는 AJAX로 작성하였는데, Controller에서 로직이 모두 실행된 후, JSP단으로 보내주는 부분에서 발생했다. 원인은 getOutputStream() 과 getWriter() 를 둘 다 사용했기 때문이다. 신고 처리 여부를 담은 msg 데이터를 추가하는 과정에서 msg가 한글로 작성한 문자열이므로 인코딩을 추가했다. 이때 getOutputStream() 인 mode.put() 를 지우지 않았기 때문이다. getOutputStream() 또는 getWriter() 둘 중 하나만 사용하도록 작성하면 해결 된다. 한글 인코딩 과정이 필요하다면 getWriter() 를 사용하는 것이 좋겠다.

유료 결제 기능 구현을 위해 카카오페이 API를 사용했다. 아래 공식 문서를 참고하며 작업했다! 아임포트 공식 문서: https://chai-iamport.gitbook.io/iamport/ 카카오페이 공식 문서: https://developers.kakao.com/docs/latest/ko/kakaopay/common 준비 사항 아임포트 > 결제 연동 > 테스트/실연동 관리 페이지에서 테스트 연동을 만든다. https://admin.iamport.kr/auth/signin javascript 본인의 가맹점 식별코드를 넣어준다. 카카오페이를 사용한다면, pg에 kakao 또는 kakaopay 로 작성한다. 주문번호인 merchant_uid는 고유한 값이어야 하므로 구독권번호+현재시분초밀리초 로 넣어주었다..
구독 결제내역 리스트 페이지를 구현하는 중에, 리스트 중 하나를 클릭하면 해당 리스트의 상세 정보를 AJAX로 가져온 후 모달창에 출력하는 기능에 대해 고민을 했다. 새로운 페이지로 forward와는 다른 방식이다! AJAX 방식으로 비동기 통신할 때, JSON객체를 Controller에서 JSP로 어떻게 보내야할까? JSONObject JSONObject객체를 사용하면 된다. 아래 예시를 보자. 컨트롤러에서 info 라는 이름으로 VO객체를 JSP로 보낸다. JSONObject job = new JSONObject(); job.put("paid_at", sb.getPaid_at()); job.put("paid_amount", sb.getPaid_amount()); job.put("merchant_uid..

이전에 공부했던 스프링 시큐리티. 스프링 시큐리티의 세션을 활용하여 로그인한 유저의 세션 정보를 가져와보자. 2022.12.03 - [Web/Spring Framework] - [Spring] 시큐리티 Security [Spring] 시큐리티 Security Spring Security - 스프링 시큐리티는 Spring(and Spring Boot로 빌드된 애플리케이션) 웹 애플리케이션과 REST API를 보호하기 위해 널리 사용되는 프레임워크. - REST API의 인증과 권한 부여를 제공. DB와 LDAP jeongsoyeon.tistory.com Table - MEMBER 유저 정보 데이터가 저장되는 Member 테이블의 구성이다. 컬럼명을 잘 보자. security-context.xml 관리자 페..