본문 바로가기

TIL56

TIL내일배움캠프 10주차 다시 OAuth2 오늘의 키워드OAuth2Password EncoderClientRegistrationRepository오늘의 내용Spring Security와 OAuth2:오늘은 Spring Security를 활용해 OAuth2 소셜 로그인 기능을 구현했다. 특히, 구글, 네이버, 카카오와 같은 소셜 로그인 기능을 추가하면서 클라이언트 등록과 인증 매니저 설정 등을 진행했다.Password Encoder 설정:프로젝트 내에서 비밀번호 인코딩을 위해 BCryptPasswordEncoder를 사용했다. 그러나 동일한 빈 이름(passwordEncoder)이 두 번 정의되어 충돌이 발생했다. 이를 해결하기 위해 한 곳에서만 빈을 정의하도록 수정했다. WebSecurityConfig에서 passwordEncoder 빈을 정의하.. 2024. 6. 21.
내일배움캠프 10주차 Java 상속 오늘의 키워드상속객체지향기법부모클래스자식클래스재사용성오늘의 내용상속이미 만들어진 클래스를 수정하지 않고 재사용할 수 있도록 해주는 기능이다상속을 통해 새로운 클래스를 만들 때 기존 클래스의 기능을 그대로 사용할 수 있으며, 필요에 따라 새로운 기능을 추가할 수도 있다상속을 받는 클래스를 자식클래스 또는 서브클래스라고 하며, 상속을 해주는 클래스를 부모클래스 또는 슈퍼클래스라고 한다서브클래스는 클래스 이름과 상속받을 슈퍼클래스를 표기하는 헤더 부분, 멤버변수, 메서드, 생성자로 구성되는 바디 부분으로 구성된다서브클래스는 슈퍼클래스의 모든 멤버변수와 메서드를 포함하기 때문에, 서브클래스에 정의되지 않은 멤버변수나 메서드도 슈퍼클래스에 존재하면 사용할 수 있다 이는 코드의 가독성, 재사용성, 신뢰성을 높이는 .. 2024. 6. 20.
내일배움캠프 10주차 Spring AOP 오늘의 키워드AOP (Aspect Oriented Programming)관점 지향 프로그래밍횡단 관심사오늘의 내용AOP (Aspect Oriented Programming):AOP는 프로그램의 로직을 여러 관심사로 분리해 모듈화 하는 프로그래밍 패러다임이다특히, 여러 모듈에서 공통적으로 사용되는 로직인 횡단 관심사를 분리하는 데 유용하다횡단 관심사: 로깅, 보안, 트랜잭션 관리 등 여러 모듈에서 공통적으로 사용되는 로직이다주요 개념:관점(Aspect): 횡단 관심사를 모듈화한 것으로, 예를 들어 로깅을 정의할 수 있다조인 포인트(Join Point): 프로그램 실행 중 관점이 적용될 수 있는 특정 지점으로, 메서드 호출, 객체 생성, 예외 처리 등이 있다어드바이스(Advice): 관점이 조인 포인트에서 .. 2024. 6. 19.
내일배움캠프 10주차 Spring Test 오늘의 키워드통합 테스트 (Integration Test)단위 테스트 (Unit Test)Spring Boot@SpringBootTest오늘의 내용단위 테스트 (Unit Test)하나의 모듈이나 클래스에 대해 세밀한 부분까지 테스트하는 방법이다특징:세밀한 부분까지 테스트 가능하다모듈 간 상호 작용 검증 불가하다통합 테스트 (Integration Test)두 개 이상의 모듈이 연결된 상태를 테스트하는 방법이다특징:여러 단위 테스트를 하나의 통합된 테스트로 수행한다모듈 간의 연결에서 발생하는 에러 검증 가능하다Spring Boot를 이용한 통합 테스트통합 테스트:여러 단위 테스트를 하나의 통합된 테스트로 수행한다단위 테스트 시 Spring은 동작되지 않는다@SpringBootTest:스프링이 동작되도록 해주.. 2024. 6. 19.
내일배움캠프 10주차 Spring Mock Object 오늘의 키워드Mock Object테스트시뮬레이션오늘의 내용Mock Object는 소프트웨어 테스트에서 의존성 있는 객체를 시뮬레이션하기 위해 사용되는 객체이다. Mock 객체를 사용하면 실제 객체를 대체하여 특정 동작을 흉내 낼 수 있으며, 이를 통해 테스트 범위를 넓히고, 외부 의존성을 줄이며, 예외 상황을 쉽게 재현할 수 있다주요 특징 :의존성 격리: 다른 시스템이나 모듈과의 의존성을 격리하여 단위 테스트를 쉽게 수행할 수 있다동작 정의: 메서드 호출 시 특정 값을 반환하거나, 예외를 던지는 등의 동작을 미리 정의할 수 있다호출 검증: 메서드가 특정 횟수만큼 호출되었는지, 올바른 인수로 호출되었는지 등을 검증할 수 있다오늘의 회고 개인프로젝트 제출날인데 주말에 발생한 오류가 어떻게 해도 해결이 안됐는.. 2024. 6. 17.
내일배움캠프 9주차 Spring JUnit5 오늘의 키워드JUnit 5오늘의 내용JUnit 5는 자바 프로그래밍 언어를 위한 테스트 프레임워크이다. JUnit 5는 여러 모듈로 구성되어 있으며, 각각의 모듈이 특정 기능을 담당한다.주요 특징모듈화JUnit Platform: 테스트 프레임워크를 실행하는 런처와 테스트 결과를 보고하는 도구들로 구성된다.JUnit Jupiter: 새로운 테스트 프로그래밍 모델과 확장 모델을 제공한다.JUnit Vintage: JUnit 3 및 4 기반의 테스트를 실행할 수 있게 해주는 호환 모듈이다.주피터 APIJUnit 5는 다양한 어노테이션을 사용하여 테스트를 구성한다. 대표적인 어노테이션으로는 @Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll 등이 있다.확장 모델JUn.. 2024. 6. 13.
내일배움캠프 9주차 Spring OAuth 2.0 오늘의 키워드OAuth 2.0오늘의 내용OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹 사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 접근 위임을 위한 개방형 표준이다. 사용자가 애플리케이션에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜이다.Resource Owner: 자원 소유자를 말하며 일반적으로 사용자를 의미한다.Client: 자원 소유자를 대신해 서버에 접근하는 애플리케이션이다.Authorization Server: 자원 소유자의 권한을 검증하고 액세스 토큰을 발급하는 서버이다.Resource Server: 보호된 자원에 대한 요청을 처리하고 클라이언트의 요청을 수락하기 위해 액세스 .. 2024. 6. 12.
내일배움캠프 9주차 KPT 회고 오늘의 키워드프로젝트 후 KPT 회고오늘의 내용https://github.com/hamseungwan2023/music GitHub - hamseungwan2023/musicContribute to hamseungwan2023/music development by creating an account on GitHub.github.com Keep서로 맡은 바를 잘 이루어 냈고 소통도 원활히 진행하여 서로의 진행사항을 잘 알았다.Problem코드 컨벤션이 잘 이루어지지 않아서 기능 역할 분배가 잘 이루어지지 않아서 아쉬웠다. 그리고 깃 이슈, 코멘트를 사용하지 못해서 아쉬웠다.Try코드 컨벤션을 사전에 팀원들과 충분히 이야기한 후에 작업을 진행하는 것이 좋을 것 같다.깃에 있는 기능들 comment 라던가 .. 2024. 6. 11.