본문 바로가기

전체 글96

[Spring Boot, Spring Security, Data JPA] 로그인/로그아웃 1 저번에는 회원가입을 해보았으니 이번에는 로그인을 할 차례이다. 여기서는 spring security를 사용하는데, 생각보다 매우 복잡하고 깊게 파기에는 시간이 오래걸릴 것 같아서 대략적인 흐름만 파악하고 구현을 시작해봤다. 그리고 이 기능을 구현을 할 때, 마지막 참고자료에 적힌 분의 포스팅이 매우 큰 도움이 되었다. jwt와 spring security의 흐름을 잡기 좋았다. Session? JWT? 이번에 스프링을 배울 때, 인프런에서 김영한 님의 스프링 로드맵 중 일부를 들었는데 이때의 로그인은 쿠키&세션을 이용했었다. 그래서 프로젝트에서도 이걸 응용하면 되겠지라고 생각했었다. 그런데 우리 팀은 자체 로그인과 소셜 로그인 두 개를 모두 사용하려고 하는데, 소셜 로그인은 jwt를 이용하여 로그인이 수.. 2022. 9. 10.
[Spring, Data JPA] 회원가입 이전까지는 혼자서 간단한 수준의 프로젝트를 따라만 했었다. 이제는 직접 프로젝트를 구상하고 구현해봐야 겠다고 생각했고, 다행이 기회가 되어 학교에서 지원금을 받고 진행하는 프로젝트 과목에 팀을 꾸려서 참여하게 되었다. 나는 백엔드 역할을 담당한다. spring boot, jpa(spring data jpa)를 통해 서버를 구축하고 아마존 EC2/RDS를 통해 직접 배포하고 운영까지 짧게 해볼 생각이다. 진행하는 프로젝트는 대학 상권 가게들의 할인 이벤트 등을 지도 api에 시각화, 그리고 가게별 제휴 이벤트 구성을 위한 게시판 및 채팅 서비스를 구현하는 것을 우선적인 목표로 하고 있다. 7월부터 스프링 공부를 시작하고 프로젝트를 조금씩 진행하였지만 게으름 때문에 이제야 처음부터 조금씩 개발기록들을 써내려.. 2022. 9. 2.
File Systems 이번 학기에 마지막 챕터인 file system이다. 깊게 들어가지는 않고 개념적인 것들 위주로 다루게 될 것 같다. File System Layers file system은 user-level SW와 device 사이에 위치하는데 리눅스 기준으로 Ext4같은 file system이 있다. 여러가지 file system이 있는데 general하게 사용되는 것도 있고 분산 시스템등 특정 기능에 특화된 file system도 존재한다. 그리고 이러한 file system에 접근하기 위해서는 POSIX API같은 공통된 API를 이용해야 한다. 그리고 file system들은 file을 관리하는 방법에는 차이가 있지만 data를 읽거나 쓰는 방법은 동일하다. POSIX API 밑에는 generic block .. 2022. 6. 21.
HDD: Hard Disk Drives 여지껏 CPU나 memory를 가상화하거나 스레드, synchronization 등을 통해 concurrency를 얻어내는 방법등에 대해 알아보았다. 이번 글에서는 어떻게 정보를 연속성 있게, 즉 시스템이 꺼져도 정보가 날아가지 않게 storage에 저장할 수 있는 방법에 대해 알아볼 것이다. I/O Device A Typical I/O Device fig 1에서 키보드 장치를 확인할 수 있다. 그리고 키보드에는 매우 작은 micro controller(fig 1에서는 ARM Cortex-M3)가 있는데 이것이 CPU나 메모리와 통신하면서 장치를 사용하게 된다. 이 micro controller 내부에는 CPU, 메모리 등 여러가지 구성요소가 있고 이것들을 컨트롤하기 위한 firmware가 존재한다. 이.. 2022. 6. 21.