드디어 심화기간의 개인별 공부가 마무리 되었다. 내일부터 팀원들과 스프링 팀과제가 시작된다. 이때까지 공부한 내용들을 잘 활용하여서 과제를 수행해야 할 것 같다. 하지만, 이번에 배운 내용들이 꽤나 어렵기 때문에, 많은 문제가 생길 것이라고 생각이 된다. 그래도 과제를 끝까지 수행할 수 있도록 노력하는 것이 가장 중요할 것 이라고 생각이 든다.

 이번 팀도 똑같이, 다들 열심히 공부하고 진행한 것 만큼, 다들 원하는 결과를 얻을 수 있기를 바란다.

'TIL&WIL' 카테고리의 다른 글

WIL&TMI - 내일배움캠프 9주차  (0) 2023.01.03
TIL&TMI - 12/30  (0) 2023.01.01
TIL&TMI - 12/27  (0) 2022.12.28
TIL&TMI - 12/26  (0) 2022.12.27
WIL&TMI - 내일배움캠프 8주차  (0) 2022.12.26

 Java는 코드의 유지 및 보수를 위한 테스트를 지원한다. 물론 테스트 코드를 사용하는 것 이외에도 다양한 방법으로 코드가 정상적으로 동작하는지 확인 할 수 있는 방법은 많다. 예를 들면, 가장 기초적으로, System.out.println을 통한 콘솔 창에 출력을 하여, 테스트에 필요한 동작들이 정상적으로 작동하는지 확인하거나, 또는 디버그 모드(Debug Mode)에서break point를 이용하여 조사식을 사용하여 조사하고 싶은 메소드나 변수 등을 확인 할 수 있다. 

 하지만, Java에서 지원하는 기본적인 Test 코드들은 JUnit을 통해 다양한 테스트를 시도할 수 있다. 이름에서도 알 수 있듯이, 개발자가 테스트를 원하는 기능의 최소한의 단위를 설정하여 테스트 할 수 있는데, 테스트 파일을 생성하면, 자동적으로 테스트 클래스가 생성된다. 그리고, 그 테스트 클래스에 속해있는 메소드들은 하나의 테스트 케이스 역할을 한다고 생각하면 될 것 같다. 즉, 이러한 방식은 QA에서 각각의 테스트 케이스를 세분화하여, 해당 동작을 검증하는 방법과 상당히 유사하다고 느꼈다. 

 JUnit에서는 검증을 위해 다양한 함수들을 제공하기 때문에, 기능의 검증에 필요한 함수를 통해 다양한 결과를 예측해 볼 수 있다. 이러한 방식은 코드테스트에서 테스트 케이스를 적는 것과 상당히 비슷한 방식으로 접근한다고 생각하면 좋을 것 같다. 즉, 이러한 일련의 과정들은 결국 코드의 정상적인 동작이 확인되는 지 파악하기 위한 도구이다.

 개발에는 다양한 문제에 봉착하게 되는데 이러한 테스트를 위한 기능들을 활용하여서 문제를 해결해 나갈 수 있다고 생각한다. 나 또한 이러한 기능들을 통해서 스스로가 코드를 검증 할 수 있게되어 다양한 문제를 해결할 수 있을 것 같다.

 

'TIL&WIL' 카테고리의 다른 글

TIL&TMI - 12/30  (0) 2023.01.01
TIL&TMI - 12/29  (0) 2022.12.30
TIL&TMI - 12/26  (0) 2022.12.27
WIL&TMI - 내일배움캠프 8주차  (0) 2022.12.26
TIL&TMI - 12/23  (1) 2022.12.26

 인증인가는 다양한 웹서비스에서 사용되는 기능이다. 두 가지의 차이를 명확히 알 필요가 있기 때문에, 살짝 정리를 해보자면,

 인증(Authentication)은 사용자의 신원을 검증하는 행위로써, 모든 보안 프로세스의 첫 번째 단계가 된다. 인증 프로세서는, 비밀번호, 일회용 PIN(OTP), 인증 앱, 지문 및 홍채 등을 활용한 생체 인식등 다양한 형태로 사용자의 신원을 검증하는 수단이 있다. 즉, 개개인의 정보를 취득하기 위해, 해당 사용자가 누구인지를 확인하는 과정을 인증이라고 이해하면 될 것 같다.

 인가(Authorization)는 사용자에게 특정 리스소느나 기능을 사용할 수 있는 권한을 부여하는 프로세서를 말한다. 대표적으로, 스프링 과제 또는 강의에서 사용된 UserRoleEnum 등의 사용자의 역할 -여기서는, USER(일반유저)와 ADMIN(관리자)로 구분하였다- 같은 것들이 인가의 역할을 한다고 보면 될 것 같다.

 

 이번에는 이 것들에 대해서 Spring Security에서는 어떤식으로 사용되는지 알게 되었다. 처음 강의를 들을 때는 토막상식 처럼 살짝 알고 갔지만, 지금에 이르러서는 조금 더 확실한 개념 확립이 필요하다고 생각 되었고, 그것에 대한 생각을 정리 하는 계기가 되었던 것 같다. Spring Security는 보안 및 엑세스에 관한 권한을 기본적으로 다양한 Filter를 통해서 개발자가 직접 관리를 할 수 있도록 되어있다. 이러한 과정은 크게 두가지로 부분으로 분리되어 Filter를 조작할 수 있다고 볼수 있는데,  UsernamePasswordAuthenticationFilter, DigestAuthenticationFilter, BasicAuthenticationFilter 인증에 관한 필터들과 해당 인증 정보를 관리하는 SecurityContextHolder를 통해, 사용자의 정보를 UserDetails를 통해 토큰을 제작하고, 그 토큰을 SecurityContext로 가공해 인가를 하는 과정을 거치게 된다.

 즉 Spring Security에서는 @AuthenticationPrincipal를 통해 인증을 관리하고, @Secured를 통해서 사용자의 접근을 제어한다고 볼 수 있다.

 

 12월의 마지막 주간의 시작이 되었다. 생각보다 빠르게 시간이 흘러가는 느낌이다. 아직도 알아야 할 것들이 많은데 이 과정도 벌써 반이나 지났다는게 실감이 나지않는다. 남은 기간동안 열심히 할 수 있도록 잘 해야할 것 같다.

'TIL&WIL' 카테고리의 다른 글

TIL&TMI - 12/29  (0) 2022.12.30
TIL&TMI - 12/27  (0) 2022.12.28
WIL&TMI - 내일배움캠프 8주차  (0) 2022.12.26
TIL&TMI - 12/23  (1) 2022.12.26
TIL&TMI - 12/22  (0) 2022.12.23

 벌써 이번달과 올해의 마지막 주차가 되는 시기이다. 벌써 내일배움 캠프도 2달이 다되가는 시기이기도 하다. 나는 이번 캠프에서 여러가지 의미로 많은 일이 있었다고 느껴졌다. 이번 주간은 Spring의 숙련 과정을 복습하는 방향으로 설정하고 한주간 주어진 과제를 다시 작성하며 강의를 다시 들어보는 등 다양한 방법으로 숙련 주차의 학습을 다시 한번더 복습했다.

 복습을 하는 동안 느끼는 것이 상당히 많았다. 특히, spring에서 지원하는 jpa를 통한 데이터베이스의 구조와 자료간의 상관관계에 대해 더 자세히 알게 된 것 같다. 이번 주는 특별하게 많은 이야기를 할 내용은 없었던 것 같다. 주어진 과제를 해결하고, 계속해서 학습을 하는 것 이 중요한 주간이었다고 생각한다. 하지만, 내 스스로가 느끼기에는 충실하게 한 주를 보냈다고 생각이 들지 못했던 것이 아쉬웠던 것 같다. 일정에 맞추어 학습을 스스로 하는 것이 생각보다 어려운 일이 었고, 아무리 자세하게 알고 갈 필요가 없다지만, 간략하게만 아는 것 또한 어려운 일이라는 것을 새삼 다시 느끼게 되었던 주간이 었다. 

 이제 돌아오는 주간은 올해의 마지막 주간일 것이다. 남은 스프링 심화 학습을 잘 마치고, 다가오는 팀 과제를 잘 수행해 나가기를 바란다.

'TIL&WIL' 카테고리의 다른 글

TIL&TMI - 12/27  (0) 2022.12.28
TIL&TMI - 12/26  (0) 2022.12.27
TIL&TMI - 12/23  (1) 2022.12.26
TIL&TMI - 12/22  (0) 2022.12.23
TIL&TMI - 12/21  (0) 2022.12.22

  오늘부터 학습을 시작하는 내용으로, Spring Security에 대해서 학습을 시작한다. 이전 과제 부분에서 Spring Security에 대해서 살짝이나마 맛을 본 상태로 시작하는 학습이라 다른 사람에 비해서 조금이나마 배경지식이 있는 상태로 시작하는 내용이었지만, 더욱 자세히 학습한다는 것은 많은 차이가 있다는 것을 의미한다고 생각한다. 이 부분도 똑같은 내용일 것 이다.

 이전에는 Spring Security를 사용하는 목적으로, 단순히 "비밀 번호의 암호화"를 위해서 아주 간단하게, PasswordEncode Class를 활용해 사용자가 입력한 비밀번호를 암호화하는 것에 목적을 두었다면, 지금의 Spring Security의 인증 인가의 방식, 즉 Filter를 통해 다양한 동작을 지원해 준다는 것을 알게 되었다. 기본적으로 WebSecurityConfig를 통해서, 구버전에서는 WebSecurityConfigurerAdapter의 상속을 통해서 구현하는 방식(이전의 스프링 입문 과제에서 사용한 방식)에서 현재의 방식인 FilterChain을 통해 필요한 내용들을 따로 구현하는 방식으로 변경된 것을 익히게 되었는데, 상당히 세련된 방식이라고 느껴졌다.

 이제부터 spring의 고급적인 사용법을 공부하게 되므로, 스스로가 복습을 제대로 해야할 것이라고 느끼게 되었다. 코드를 익숙하게 다루기 위해서 반복적인 사용이 중요하다고 생각하는 만큼, 내 스스로가 꾸준히 그리고 열심히 잘 해나갔으면 하는 바람이다.

 

'TIL&WIL' 카테고리의 다른 글

TIL&TMI - 12/26  (0) 2022.12.27
WIL&TMI - 내일배움캠프 8주차  (0) 2022.12.26
TIL&TMI - 12/22  (0) 2022.12.23
TIL&TMI - 12/21  (0) 2022.12.22
TIL&TMI - 12/20  (0) 2022.12.21

 오늘부터 본격적으로 스프링 심화학습을 시작한다. 하지만, 지난 과정에서 미흡한 부분이 많아서 아직은 심화학습을 시작하기 보다, 숙련 학습을 다시 복습하는 방향으로 오늘을 보냈다. 

 어제에 이어서 과제로 주어진 블로그 백엔드 서버 프로그램을 다시 이어서 작성하기로 했다. 오늘 할 부분은 블로그의 글마다 각각의 댓글을 작성/수정/삭제하는 기능을 추가하는 부분이다. 이 부분들은 3가지의 entity가 연관관계를 가지게 되는데, 이것들의 관계가 어떻게 형성되는지 파악하는 것이 중요하다. user, post, comment 3가지의 entity는 서로가 서로에게 다수의 객체를 가질 수 있게 되는데 스프링에서는 이런 관계들을 표현해주는 어노테이션들을 제공한다. 오늘은 이것에 대해서 자세히 알아 보는 시간을 가졌다.

 일반적으로 데이터의 연관관계는 @OneToOne, @OneToMany, @ManyToOne, @ManyToMany의 관계를 가지는데 이러한 관계는 주인인 객체가 있고, 해당 객체로부터 어떠한 관계가 형성되는지에 따라 단방향인지 양방향인지 구분 할 수 있게 된다. 이러한 관계들을 파악하는 것이 이번 과제에서 가장 핵심적인 부분이라고 생각했고, 그것을 위주로 공부를 진행하였다.

'TIL&WIL' 카테고리의 다른 글

WIL&TMI - 내일배움캠프 8주차  (0) 2022.12.26
TIL&TMI - 12/23  (1) 2022.12.26
TIL&TMI - 12/21  (0) 2022.12.22
TIL&TMI - 12/20  (0) 2022.12.21
WIL&TMI - 내일배움캠프 7주차  (0) 2022.12.19

  Spring의 숙련주차가 종료되는 날이다. 나는 지난 며칠간 수업을 따라갈 수 없었고, 오늘 제출해야할 과제를 결국 제출하지 못했다. 하지만, 오늘 하루 온전히 그동안 못했던 공부에 집중할 수 있는 시간을 가졌다. 주어진 과제를 통해서 강의로 대충이나마 체크했던 많은 부분들을 조금 더 자세히 볼 수 있었다.

 숙련 주차 과제에서 주어진 내용들을 크게 정리하면 게시판 서비스를 제공하는 백엔드 서버를 작성하는 것이고, 각각의 요소들은 인증 인가를 받아서 발급된 토큰을 통해 유효성을 체크한 다음, 각각의 서비스들의 연관 관계를 파악하는 것이 중요한 과제였다. 즉, 각각의 Entity들이 서로 어떠한 연관관계를 가지는 것을 파악하는 것이 중요한 과제였다. 

 이번주 과제 제출은 종료 되었지만, 남은 시간 동안 과제를 끝까지 진행 해 보는 것이 이번주의 목표가 될 것 같다. 늦게나마 과제를 따라 가는 것이 중요할 것 같다. 

'TIL&WIL' 카테고리의 다른 글

TIL&TMI - 12/23  (1) 2022.12.26
TIL&TMI - 12/22  (0) 2022.12.23
TIL&TMI - 12/20  (0) 2022.12.21
WIL&TMI - 내일배움캠프 7주차  (0) 2022.12.19
WIL&TMI - 내일배움캠프 6주차  (0) 2022.12.12

 숙련주차도 마무리가 되어간다. 이번 기간은 여러가지로 나에게 실패가 큰 주간이였고, 많은 것들을 생각할 계기가 된 주간이기도 하다. TIL을 꾸준히 작성하다가 지난주 부터 돌연 작성을 멈추었는데, 그 이유는 계속해서 반복되는 작성 내용과 크게 바뀌는 것없이 흘러가는 것 같아 내심으로 고민이 많았고, TIL의 작성을 멈추게 되었는데, 앞으로는 하루를 요약하는 식이아닌, 하루에 한 것, 또한 느꼈던것 알았던 것들을 좀더 자세히 쓸 수 있도록 해야할 것 같다.

 숙련 주간 2주차가 되었고, Level 2의 과제가 현재 나왔지만, 지난 주와 이번주 내내 제대로 집중할 수 없어서 튜터님의 강의도 듣는 둥 마는 둥하게되어 결과적으로 과제를 제대로 진행한 상태 아닌 채로 과제 제출일을 맞이했다. 어제 하루동안 계속 코딩을 쫓아가려고 해도 좁힐수 없는 간격이라는게 느껴졌던 것 같다. 지금 꽤나 늦었다고 느끼지만, 지금 시작하는 것이 가장 빠른 길이라고 생각하고 쫓아 가야 할 것이라고 생각했다.

 내일 배움 캠프에서 많은 것을 배운다고 생각하지만, 나에게 지금 가장 필요한 것은 하려고하는 의지가 아닐까 싶다. 아무리 좋은 커리큘럼과 강의가 있다고 해도, 배우려고 하는 사람이 열심히 하지 않으면 결국 효과가 없다는 것을 내가 직접 느끼고 있으니깐 그런 생각이 든다. 조금 더 나은 방향으로 열심히 하는 사람들에게 내가 오히려 민폐가 되지 않을까 생각이 든다. 지금은 내가 해야 하는 것에 대해 집중을 해야 할 것만 같다.

'TIL&WIL' 카테고리의 다른 글

TIL&TMI - 12/22  (0) 2022.12.23
TIL&TMI - 12/21  (0) 2022.12.22
WIL&TMI - 내일배움캠프 7주차  (0) 2022.12.19
WIL&TMI - 내일배움캠프 6주차  (0) 2022.12.12
TIL&TMI - 12/9  (0) 2022.12.12

+ Recent posts