본문 바로가기

Spring12

Spring Triangle - POJO, IoC, AOP, PSA POJO Plain Old Java Object 오래된 방식의 자바 오브젝트 클래스나 인터페이스를 상속 받지 않고, 메소드가 추가된 클래스가 아닌 getter, setter 같은 기본적인 기능만 가진 자바 객체를 말한다. 우리는 사람들이 자기네 시스템에 보통의 객체를 사용하는 것을 왜 그렇게 반대하는지 궁금하였는데, 간단한 객체는 폼 나는 명칭이 없기 때문에 그랬던 것이라고 결론지었다. 그래서 적당한 이름을 하나 만들어 붙였더니, 아글쎄, 다들 좋아하더라고. - 마틴 파울러 그렇다고 합니다... POJO는 엄청난 개념이 아니라 적당한 명칭 정도로만 이해하면 됩니다. IoC 제어의 역전 Inversion of Control 제어의 역전이 뭐임! 사실 제어의 역전은 스프링만의 특징이 아니다. 프레임워크의 흔.. 2023. 9. 6.
[Spring Boot] 6. Developing with Spring Boot (6.1 부터 ~ 6.3 까지) | 공식 문서 번역 영어 공부 && 취미로 공식 문서 번역합니다. 의역, 오역 주의!!!!!!!! 영어 못함 원문 : https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using Spring Boot Reference Documentation This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is.. 2023. 5. 26.
[Spring Boot] 개인 정보가 담긴 Jwt 토큰 발급 후 Cookie로 반환하기 oAuthService에 Jwt 토큰을 발급하는 메서드를 추가했다. public String generateJwtToken(MemberInfoDto info) { Map payloads = new HashMap(); Map headers = new HashMap(); headers.put("alg", "HS256"); headers.put("typ", "JWT"); payloads.put("name",info.getName()); payloads.put("picture", info.getPicture()); payloads.put("oauthId",info.getSub()); return Jwts.builder() .setHeader(headers) .setClaims(payloads) .setIssue.. 2023. 4. 4.
[Spring Boot] Security 없이 OAuth2 Google에서 받은 id_token 사용해 회원 정보 저장하기 2023.03.27 - [Project/모면] - [Spring Boot] Security 없이 OAuth2로 Google 로그인 구현, 유저 정보 얻기 이전 시간에 access_token을 발급받아오는 작업까지 마쳤다. 이제 id_token 안의 정보를 복호해 으로 만들어버리자. 먼저 RestTemplate을 이용해 POST 요청을 보내는 코드를 수정했다. ResponseEntity responseEntity = restTemplate .postForEntity(GOOGLE_TOKEN_URL, params, GoogleOAuthResponseDto.class); package com.momyeon.backend.dto; import lombok.AccessLevel; import lombok.Gette.. 2023. 4. 3.
[Spring Boot] 면접 질문 카테고리 분류하기 대분류 public enum Division { COMMON("공통"), TECH("기술"), EXPERIENCE("경험"), FIT("인성"), ; private String korTitle; Division(String korTitle) { this.korTitle = korTitle; } } 소분류 public enum SubDivision { MOTIVATION("지원동기", Division.COMMON), INTRODUCTION("자기소개", Division.COMMON), NETWORK("네트워크", Division.TECH), ALGORITHM("알고리즘", Division.TECH), OPERATING_SYSTEM("운영체제", Division.TECH), DATABASE("데이터베이스",.. 2023. 4. 1.
[JPA] Cascade Type 비교 | 공식 문서 번역 영어 공부 && 취미로 공식 문서 번역합니다. 의역, 오역 주의!!!!!!!! 영어 못함 원문 : https://www.baeldung.com/jpa-cascade-types Overview of JPA/Hibernate Cascade Types. | Baeldung A quick and practical overview of JPA/Hibernate Cascade Types. www.baeldung.com 1. Overview 이 문서에서는 JPA/Hibernate의 의미를 따라서 다양한 cascade 타입을 다룰 것입니다. 2. Cascading이란? 엔티티는 주로 다른 엔티티 존재에 의존하게 됩니다. 예를 들어 Person-Address 관계처럼요. Person 엔티티가 존재하지 않는다면 Addre.. 2023. 3. 30.
[Spring Boot] Security 없이 OAuth2로 Google 로그인 구현, 유저 정보 얻기 세션 저장, Spring Security 코드가 난무한 클론코딩 글들이 너무 많아 그냥 내가 쓰는 글이다... 웹 서버 애플리케이션용 OAuth 2.0 사용 | Authorization | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 웹 서버 애플리케이션용 OAuth 2.0 사용 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분 developers.google.com GCP 설정 후 "http://accounts.google.com/o/oauth2/v2/auth" 엔드포인트로 client_id, redirect_uri, response_type, scope 4개의 필수 파라미터와.. 2023. 3. 27.
[Spring Boot] 스프링 부트의 메시징 솔루션 메시징 솔루션은 JMS(Java Messaging Service), 아파치 카프카, AMOP, 레디스, 젬파이어, 아파치 지오드 등 매우 다양하다. 각 솔루션들은 저마다 다른 관심사에 최적화돼 있다. 자바의 복잡도 감소를 위해 스프링 프레임워크의 설계 목표는 무엇보다도 애플리케이션을 만드는 방법을 단순화하는 것이다. 이를 달성하는 가장 강력한 수단 중 하나가 템플릿 패턴이다. 템플릿이란 특정 API의 모든 복잡성을 가장 단순한 연산으로 축약하는 것을 의미한다. 대표적으로 JdbcTemplate을 활용하면 몇 가지 연산만 사용해서 데이터 조회와 수정을 처리할 수있다. 강력한 템플릿 패턴은 MailSender, JndiTemplate, HibernateTemplate 등 여러 영역에서 사용되고, 다음과 같은.. 2023. 3. 16.