전체 글

Let's Enjoy Free Time (LEFT)
Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_71일차_"Docker + Linux (3)"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [71]일차🚀71일차에는 도커와 리눅스를 이용하여 함수, 반복문 등을 실습해보고 기존 Spring 프로젝트와 연동해볼 수 있었다.학습 목표 : 스크립트 파일로 함수, 반복문, 계산기 프로그램 등을 구현가능해야함학습 과정 : 회고를 통해 작성$(명령어)ex. $(whoami)#!/bin/bash# example.sh: simple script exampleecho "Hello, $(whoami)! This is example.sh."CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")echo "current time: $CURRENT_TIME"$CURRENT_TIME : $변수 의 구조이면 이 변수를 출력해줌을 의미$(wh..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_70일차_"Docker + Linux (2)"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [70]일차🚀70일차에는 도커를 이용해서 리눅스 명령어를 더 실습해볼 수 있었다.학습 목표 : 권한부여 및 네트워크 명령, 검색 기능 등을 리눅스 명령어로 학습할 수 있음학습 과정 : 회고를 통해 작성Dockerfile - 필요 패키지 설정매 docker-compose 마다 which, git 등의 패키지를 설치하지 않아도Dockerfile 에서 기본설정으로 필요패키지가 설치된채 가상환경이 실행되게 설정 가능 RUN yum install -y [필요패키지] 를 넣어주면된다.적용후에는 down을 시킨 후 docker-compose up -d --build --force-recreate새로운 설정들을 반영해서 다시 실행기초설정에서 패키지들을 정의..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_69일차_"Docker + Linux"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [69]일차🚀69일차에는 도커를 이용해서 리눅스 가상환경을 설치해보고 가상환경 내에서 리눅스 명령어로 실습하는 것을 학습했다.학습 목표 : 가상환경을 구축하는 이유를 알고 가상환경 안에서의 명령어 사용에 익숙해져야함학습 과정 : 회고를 통해 작성 Docker ❓Docker의 이점로컬에서 잘 작동하는 코드가 서버에서도 동일하게 실행컨테이너를 쉽게 복제하고 여러 개 실행 가능docker-compose나 Kubernetes로 여러 개의 서비스(컨테이너)를 관리할 수 있음.Dockerfile과 docker-compose를 사용하면 개발-테스트-배포를 자동화할 수 있음Windows, macOS, Linux 등 어떤 OS에서든 동일한 환경을 제공Dock..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_68일차_"Git / GitHub"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [68]일차🚀68일차에는 Git과 GitHub의 연동에 대해 학습했다. Git을 가볍게만 사용하고 GitHub에서 작성했던 기능들을 push하는 방식으로만 사용하고 있었는데 토큰발급의 필요성, 커밋을 진행했던 로컬 저장소와 원격 저장소의 연결, Organization 기능 등을 알 수 있게되었다.학습 목표 : GitHub를 통해 향후 프로젝트 시의 pull Request, Branch로 작업 등에 익숙해져야함학습 과정 : 회고를 통해 작성Git 명령어git cat-filegit cat-file -p [해시코드값]ex. git cat-file -p aa15~~~ .gitignore파일의 내용이 보여짐Git 저장소에서 객체를 검사할때 사용-p :..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_67일차_"JUnit"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [67]일차🚀67일차에는 JUnit과 Git에 대해 학습할 수 있었다. JUnit은 이전의 대외활동에서 접했던 적은 있었지만 개념이 안잡힌 채로 테스트를 진행했었기때문에 어려움을 느꼈던 부분이었다. Git 또한 기존에 어느정도 사용도 하고 있었지만 기초 개념이 부족하다는 생각을 했는데 이번 학습기회에 두 개념 모두 잘 배워놔야겠다고 생각했다.학습 목표 : JUnit을 통해 테스트의 중요성을 깨닫고 Git을 통해 형상관리 및 개발한 파일들의 버전관리를 할 수 있어야함학습 과정 : 회고를 통해 작성JUnit이처럼 IntelliJ 상에서 만들어져있는 test 패키지에서 JUnit 테스트 클래스를 만들게 된다.TDD(Test Driven Develo..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_66일차_"모임 관리 프로젝트"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [66]일차🚀64, 65, 66일차에는 모임 및 일정관리를 할 수 있는 프로젝트를 진행하였다.학습 목표 : 모임 및 일정관리를 Swagger를 통해 테스트를 진행할 수 있고 권한에 따라 생성, 탈퇴가 가능해야함학습 과정 : 회고를 통해 작성설계유저 → 모임 → 일정 3개의 엔티티로 크게 분류개발의 우선순위 : User 엔티티유저 관련- User 엔티티 생성 : id, email, password- UserRepository 생성 : 유저를 꺼낼때 Email을 기준으로 꺼내야함 (findByEmail 메소드)- UserService 생성 : 회원수정 같은 기능은 명세되어있지 않으므로, 회원가입 /로그인/ 로그아웃 정도를 구현 register()..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_63일차_"Swagger"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [63]일차🚀63일차에는 API 문서화의 Swagger에 대해 배울 수 있었다. 이전에 SpringContextHolder 등의 개념에 대해 다시 복습해보았다.학습 목표 : Swagger로 만들 수 있는 프로젝트의 명세를 파악할 수 있어야함학습 과정 : 회고를 통해 작성OAuth2SpringContextHolderSpring의 ApplicationContext를 정적으로 보관하고 접근할 수 있도록 도와주는 유틸리티 클래스빈(Bean) 객체를 전역적으로 조회할 수 있게 해줌일반적으로 @Autowired를 사용하면 빈을 주입받을 수 있지만, 정적 메서드나 외부 클래스에서 빈을 직접 가져와야 할 때 SpringContextHolder를 활용@Com..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_62일차_"OAuth2 연동"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [62]일차🚀62일차에는 Github와 연동하여 OAuth2 소셜로그인을 실습해보았다.학습 목표 : Github의 소셜로그인 ID를 통해 연동하여 DB에 값이 잘 넘어가야함학습 과정 : 회고를 통해 작성OAuthoauth는 인증까지만 도와주고 나머지는 시큐리티가 담당해야함OAuth 사용 라이브러리 추가implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' Entity - User기존 User 코드에 추가적으로 OAuth의 소셜과 관련된 컬럼을 추가OAuth 인증을 사용한 경우에도 socialId와 provider를 추가로 저장해서 로그인 시 기존 사용자와 매칭할 ..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_61일차_"Spring Security 예외"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [61]일차🚀61일차에는 JWT 관련하여 인증되지 않은 사용자 접근 시 예외발생을 실습할 수 있었다.학습 목표 : AccessToken이 없는 사용자의 경우 인증되지 않은 것으로 예외를 별도로 처리할 수 있어야함학습 과정 : 회고를 통해 작성Spring Security 인증인증시 Spring Security에 맡기지 않고 JWT를 이용해서 인증을 구현했음나머지 CORS나 CSRF 설정은 Spring Security가 자동으로 하도록 설정 (ex. disable()) GrantedAuthority 권한을 추상화해놓은 인터페이스이 인터페이스를 구현한 객체가 SimpleGrantedAuthority이는 권한 하나가 추상화된 객체를 의미public ..