본문 바로가기

전체 글

(287)
React | 서브라우트 Nested Route 레이아웃을 유지하는건 다루지 않음.. (사실 저것도 서브라우트다..) react-router-dom install 타입스크립트를 사용할 경우에는 타입 정보가 들어있는 @types가 붙은 패키지도 다운로드 해야 함 $ npm install react-router-dom @types/react-router-dom 라우트 설정 src경로에 routes폴더를 생성하고, index.tsx파일을 생성한다. 이 파일이 App.tsx(App.js/App.jsx)를 대신해 루트 역할을 할 것이다. (컴포넌트에는 그냥 H1태그로 글씨만 나타나도록 구성했으므로 생략) // src/routes/index.tsx import React from 'react'; import { BrowserRouter, Route, Switch..
Spring Boot | Spring Security Debug 콘솔 출력하기 1. @EnableWebSecurity에서 설정하기 @EnableWebSecurity어노테이션에 debug설정을 true로 설정한다. (기본은 false) @Configuration @EnableWebSecurity(debug = true) public class SecurityConfig extends WebSecurityConfigurerAdapter { } debug 콘솔 출력을 활성화 한 후 애플리케이션을 실행해보면, 아래와 같이 콘솔이 출력된다. 민감한 정보를 포함하고 있으므로 실제로 배포할 때는 활성화 하지 말라는 내용.. 이렇게 코드상으로 설정해두면, 빌드할 때 마다 코드를 수정해야 하므로 번거로워지기 때문에 아래의 두 번째 방법을 사용하는 것이 좋다. 2. 설정파일 이용하기 (추천) 설정파..
Mock, TestDouble Mock객체 실제 모듈을 대신하는 가짜 객체 구현하는 데 필요하지만 실제로 준비하기엔 여러 가지 어려움이 따르는 대상을 필요한 부분만큼만 채워넣어서 만든 객체 (출처: 테스트 주도 개발: 고품질 쾌속개발을 위한 TDD 실천법과 도구 189p) 모듈이 가진 의존성을 단절시키기 위해 사용 테스트더블(TestDouble) 제라드 메스자로스(Gerard Meszaros)가 만들어낸 용어 대역, 스턴트맨을 뜻하는 스턴트 더블(StuntDouble)에서 차용함 실제 객체를 사용해 테스트하기 어려울 경우 이를 대신해 테스트를 진행할 수 있도록 만들어주는 객체 더미 객체(Dummy Object) 인스턴스화된 객체가 필요하지만, 해당 객체의 기능까지는 필요하지 않은 경우 사용 더미 객체의 메서드가 호출되었을 때 정상동작..
homebrew tomcat8 설치 원하는 버전을 뒤에 붙이면 됨 brew list로 톰캣 install 확인 brew install tomcat@8 brew list /opt/homebrew/Cellar/tomcat@8/8.5.68/bin경로로 이동 후 톰캣 실행 ./catalina start http://localhost:8080 으로 접속했을 때 톰캣 화면이 뜨면 실행 성공 톰캣 중지 ./catalina stop
Docker | 이미지 만들기 - commit 이미지에 상태를 추가해 새로운 이미지를 만들고, 실행해본다. 1. ubuntu:latest 이미지 실행 bash 명령을 했기 때문에, 바로 터미널로 접속한다. git 명령어를 사용했을 때 아직 git이 설치되지 않은 상태라 command not found 라고 뜸 2. git 설치 업데이트 후 git 설치, git --version 명령어로 설치확인 apt-get update apt-get install -y git git --version 3. 우분투 이미지에 git이 설치된 것을 새로운 이미지로 만들기 이미지 이름은 [namespace]/[이미지이름]:[태그] 형식을 따라 작성한다 git이라는 이름의 컨테이너를 unbuntu:git 이라는 이미지로 만듦 docker commit git ubuntu:g..
Docker? (도커 설치, 실행해보기) Docker? 컨테이너 기반의 오픈소스 가상화 플랫폼 컨테이너를 한 번 생성하면 어떤 환경(OS, 개발 언어 등에 구애없이) 실행 가능 가상머신처럼 독립적으로 실행되지만, 가상머신보다 쉽고 빠르고 효율적! 오픈소스이므로 특정 회사나 서비스에 종속적이지 않음 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포과정이 동일해짐 -> 표준성 복잡했던 서버 관리, 배포 과정을 해결 컨테이너 격리된 공간에서 프로세스가 동작하는 기술 이미지 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것으로 상태값을 가지지 않고 변하지 않는다. 컨테이너는 이미지를 실행한 상태라고 볼 수 있으며 추가되거나 변하는 값은 컨테이너에 저장된다. 출처: [서비큐라 블로그] 초보를 위한 도커 안내서 - 도커란 무엇인가 M..
Spring Boot | spring-session-jdbc 테이블 생성이 안 될 때.. Gradle 7.0.2 Java 11 Spring Boot 2.5.0 H2 Database build.gradle spring-session-jdbc는 세션을 데이터베이스에 저장하도록 한다. implementation 'org.springframework.session:spring-session-jdbc' application.yml spring.session.stor-type= jdbc로 설정해주어야 한다. 이렇게 하면 프로젝트를 실행할 때 SPRING_SESSION테이블과 SPRING_SESSION_ATTRIBUTES테이블이 자동으로 생성된다. spring: session: store-type: jdbc 하지만..? 아무리해도 자동으로 생성되지 않았음.. spring.session.jdbc.initi..
Spring Boot | OAuth2 Google 로그인 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 참고하여 작성하였습니다. java11 Gradle 7.0.2 Spring Boot 2.5.0 build.gradle spring-boot-starter-oauth2-client를 사용한다. implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 구글에 프로젝트 등록 https://console.cloud.google.com/ 로 접속 후, 새 프로젝트를 생성한다. (이미 프로젝트 생성한 상태라 저렇게 되어있음.. 저 부분 클릭하면 모달창이 생성된다) 프로젝트 이름은 자유롭게 설정 API 및 서비스 > 사용자 인증 정보 (OAuth 동의 화면 부터 만들라고 할 것임..) 앱..