memostack
article thumbnail
Spring Boot 에서 JWT 적용 (Maven 환경)
Backend/Spring Boot 2021. 1. 21. 23:03

dependency 추가 mvnrepository.com/artifact/io.jsonwebtoken/jjwt/0.9.1 ... io.jsonwebtoken jjwt 0.9.1 ... JWT 토큰 생성하기 JwtManager라는 Bean을 생성한다. 공통으로 쓸것이기 때문에 IoC에 담아두고 써도 무관 import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.stereotype.Component; import java.util.Date; import java.util.HashMap; import java.util.Map; @Component public class JwtManager {..

article thumbnail
Git 계정 변경, fatal: Authentication failed for
ETC 2021. 1. 19. 09:36

원인 git의 계정을 변경하여 git 명령어를 수행하게되면, 아래와 같은 에러가 발생한다. fatal: Authentication failed for 'https://~~' 해결 시스템에 등록된 credential 설정값을 초기화 시켜주면 해결된다. $ git config --system --unset credential.helper​ Username for 'https://github.com': 자신의 계정 username Password for 'https://~@github.com': 자신의 계정 password 참고. 자동 로그인 만약, 매번 로그인하는것이 귀찮다면, 아래 명령어로 로그인 정보를 저장할 수 있다. 저장을 하게되면, 저장된 계정 정보로 알아서 로그인을 수행한다. $ git confi..

article thumbnail
React Router Dom 리액트 라우터 사용하기
Frontend/React 2021. 1. 17. 19:02

React Router Dom 설치 React Router Dom 사용을 위해 모듈을 설치한다. # yarn 설치 $ yarn add react-router-dom # or npm 설치 $ npm install react-router-dom Switch 설정 아래 3가지 경로를 설정한다. http://localhost:3000/about -> about에 관련된 내용 http://localhost:3000/users -> 사용자 프로필에 관련된 내용 http://localhost:3000/ -> 홈 화면 import { BrowserRouter, Link, Switch, Route } from 'react-router-dom' function App() { return ( about users home ..

article thumbnail
SpringBoot, Junit5에서 REST API(Controller) 테스트
Backend/Spring Boot 2021. 1. 15. 12:06

REST API 테스트 Rest API를 테스트할 때는 @WebMvcTest 어노테이션을 사용한다. MockMvc를 생성할때는 MockMvcBuilders를 사용하여 생성한다. 다른 방법으로 MockMvcBuilders를 사용하지 않고, MockMvc에 @Autowired를 사용하여 자동으로 생성하여 주입할 수 있다. @ExtendWith(SpringExtension.class) @WebMvcTest(MemberController.class) @DisplayName("MemberController 테스트") class MemberControllerTest { private MockMvc mvc; @MockBean private MemberService memberService; @BeforeEach pu..

article thumbnail
파이썬(Python)의 특징 정리
Language/Python 2021. 1. 14. 08:07

파이썬의 특징 문법이 쉽고 간결하여, 비교적 쉽게 배울 수 있음 상대적으로 쉽다는 뜻으로 프로그래밍을 처음 접하는 사람한테는 어려울 수 도 있음 foo = 1 print(foo) # 1 foo = "Hello Python" print(foo) # Hello Python 다른 언어에 비해 개발속도가 상당히 빨라서, 나는 프로토 타입을 만들때 파이썬을 주로 사용한다 // Java로 Hello World 찍기 public class Main { public static void main(String[] args) { System.out.println("Hello, World"); } } # Python으로 Hello World 찍기 print("Hello, World"); 무료로 제공해주기 때문에 개발하는데 ..

article thumbnail
SpringBoot, Junit5에서 Service 테스트
Backend/Spring Boot 2021. 1. 13. 22:17

서비스 작성 MemberService.java 생성자 주입을 통해, MemberRepository와 BCryptPasswordEncoder를 주입한다. BCryptPasswordEncoder는 시큐리티에 Bean을 생성했다. (아래 펼쳐서 확인) 더보기 @Configuration @EnableWebSecurity @EnableGlobalAuthentication public class SecurityConfig extends WebSecurityConfigurerAdapter { /** * 비밀번호 암호화 인코딩 방식 정의 * * @return BCryptPasswordEncoder BCrypt 단방향 암호화 */ @Bean public BCryptPasswordEncoder passwordEncoder..

article thumbnail
SpringBoot, Junit5에서 JPA Repository 테스트
Backend/Spring Boot 2021. 1. 6. 17:10

사전 준비 테스트를 위해, Entitiy와 Repository를 생성한다. Entity 생성 Role.java @Entity @Table(name = "role") @Getter @Builder @NoArgsConstructor @AllArgsConstructor(access = AccessLevel.PROTECTED) @ToString public class Role { // PK @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; // 권한 이름 @Column(nullable = false, length = 50) private String roleName; } Repository 생성 RoleRepository.java ..

article thumbnail
Spring Boot, JPA에서 boolean 처리 (@Converter, @Convert 사용)
Backend/Spring Boot 2021. 1. 5. 15:39

엔티티에서는 java의 boolean을 사용하고, Database에서는 Y 또는 N으로 처리하고 싶을때, @Converter 어노테이션을 사용하여 해결할 수 있다. 컨버터 객체 생성 BooleanToYNConverter.java @Converter public class BooleanToYNConverter implements AttributeConverter { /** * Boolean 값을 Y 또는 N 으로 컨버트 * * @param attribute boolean 값 * @return String true 인 경우 Y 또는 false 인 경우 N */ @Override public String convertToDatabaseColumn(Boolean attribute) { return (attrib..

article thumbnail
Spring Boot 프로젝트에 h2 database 설정
Backend/Spring Boot 2021. 1. 5. 14:54

실행환경 SpringBoot Maven adoptopenjdk1.8 dependency 추가 version 1.4.197을 사용한다. 최근 버전에서는 SpringBoot를 실행하면서 보안상의 이유로 database를 생성하지 못하도록 막아놓아서, 먼저 DB를 생성하고 실행해야하는 번거로움이 있다. 어차피 실제로 서비스할때는 h2 DB는 테스트용으로 사용할 예정이므로, 1.4.197 버전 (예전 버전)을 사용한다. ... com.h2database h2 1.4.197 runtime ... application.yaml 설정 application.properties로 해도 상관없으나, 본 글에서는 yaml 파일로 설정 spring: h2: console: enabled: true datasource: pla..

article thumbnail
플러터(flutter) - Row 세로 정렬 방법 (CrossAxisAlignment)
Mobile/Flutter 2021. 1. 3. 19:37

Row 위젯에서는 crossAxisAlignment 인자값을 이용하여 세로 방향으로 정렬할 수 있다. // 예시 Row( crossAxisAlignment: CrossAxisAlignment.stretch, ... ); CrossAxisAlignment.start child 위젯들을 상단에 위치시킨다. import "package:flutter/material.dart"; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: "Row 위젯 예시", home: Example(), ); } } class E..