본문 바로가기

TIL(Today i learned)

[2022.03.07-TIL] 운영체제 공부를 위한 마인드셋 / redux-persist

오늘 한 일 :

 

1. 서울대 운영체제 강의 수강 - 

어제 알고리즘만 공부하자고 결심했으나, 결국 그 마음을 이기지 못하고 어제 저녁에 다시 계획을 세웠다. 하루에 30분에서 1시간씩이라도 운영체제에 대한 강의를 듣고 공부를 해보자. 그래서 오늘은 서울대에서 제공하고 있는 운영체제 강의를 들었다. 오늘 처음 듣게 된 내용은 운영체제를 공부하기 위한 마인드셋이었다. 운영체제를 공부하는 것이 왜 어려운지, 이것을 극복하기 위해서는 어떻게해야하는지를 알려주고 있었다. 내가 정리해놓은 내용이다. 

 

GitHub - noy3928/TIL: 매일 공부한 내용을 기록하는 장

매일 공부한 내용을 기록하는 장. Contribute to noy3928/TIL development by creating an account on GitHub.

github.com

 

2.알고리즘 공부 - 

오늘도 투포인터 알고리즘에 대한 공부를 했다. 투 포인터 알고리즘은 O(n)의 시간복잡도로 구현할 수 있게 해준다는 점을 배울 수 있었다. 해당 내용을 구현하는 연습은 또 필요할 것 같다.  

추가적으로 백기선의 더 개발자 강의를 통해서, n^2의 시간복잡도로 이루어지는 문제를 Map 컬렉션을 이용하면 O(n)의 시간복잡도로 해결할 수 있는 방법을 배웠다.  

백기선의 알고리즘강좌는 정말 알차다는 생각이다.  

 

3.MalformedJwtException 

소켓을 연결하기 전에 토큰을 주고받았는데, 서버쪽에서 계속 해당에러가 났다. 토큰의 구성이 바뀌었다는 에러인데, 아직까지 디버깅을 해내지 못하는 상태다. 우선 클라이언트 쪽에서는 받은 토큰을 그대로 돌려주고 있는데, 아직까지는 어떻게해야 할 지 감이 잡히지 않는다. 

 

4.기능관련 문서 작성 - 

오늘은 기능을 구현하기전에 구현해야 하는 기능을 놓고 먼저 글로 전부 다 정리하는 시간을 가졌다. 약 50분 정도의 시간이 걸렸던 것 같다. 이렇게 하니 작업의 순서도 다 정리되었는데, 정리하고서 구현에 들어가니 해당 기능에 대한 작업을 마치기까지 약 2시간의 시간밖에 걸리지 않았다. 앞으로도 이런 방식으로 작업을 해나가면 좋겠다는 생각이 들었다. 집중력, 생산력 모두를 잡을 수 있는 방법인 것 같다. 

 

5.컨셉확정 및 정기회의 - 

화목토는 정기회의날이다. 그리고 오늘은 대망의 컨셉 확정의 날이다. 브랜드네임은 ThinkBoom!  생각이 터진다는 말이다. 우리 사이트는 아이디어 도출에 어려움을 겪는 사람들의 문제를 해결하고자 만든 사이트다. 그런 정체성을 잘 보여주는 브랜드네임과 컨셉이라는 생각이 든다. 

오늘은 회의를 할 때, 미리 회의안건을 준비해왔다. 그렇게 진행을 했더니 훨씬 시간이 단축되고 빨리 끝났다. 앞으로도 회의를 해야 할 일이 있으면 미리 정리해서 올려놓은 방향으로 진행하는 것이 효율이 좋을 것 같다. 

 

6.redux-persist 적용 - 

리덕스 pesist는 내가 원하는 state만 로컬스토리지 혹은 세션스토리지에 저장해둘 수 있다. 본래는 리덕스에서 값을 가져와서 로컬스토리지에 따로 저장해주는 일을 직접해야했다면, 해당 라이브러리를 사용하면 자동으로 로컬스토리지에 저장해준다. 당연히 그렇게 등록해둔 state는 새로고침을 해도 날아가지 않는다. 

현재 구현하는 기능중에 step에 따라서 조건부 렌더링으로 화면을 보여주는 기능이 있는데, step 3에서 유저가 머물러 있는 경우 새로고침을 하면 다시 step1로 돌아가는 일을 방지하기 위해서 해당 라이브러리를 사용하기로 했다. 간단한 라이브러리다

다음은 설치할 때 참고한 자료다 : https://edvins.io/how-to-use-redux-persist-with-redux-toolkit