이번 시간에는 preAuthorized에 대해서 간단하게 알아봅시다. 도서관 토이 프로젝트 중에서, 인증 처리를 구현해야 하는 부분이 있었습니다. 그리고, 특정 권한을 가져야 api를 수행하게끔 하는 기능도 있었습니다. 스프링 시큐리티는 익숙하지 않아서, 테스트용 프로젝트를 하나 더 만든 다음에, 기능을 나누어서 구현하게 되었습니다. 해당 부분에 대해서는 이 레포에서 천천히 다뤄보도록 하겠습니다. 테스트용 프로젝트의 flow입니다. 인증 처리를 구현하고, 인가 처리를 하고, 그에 따라서 api에 접근할 수 있게 할 계획입니다. 한꺼번에 하기에는 양이 너무 많으니, 이번 시간에는 인가 부분만 해 보도록 하겠습니다. 인증하고 인가에 대한 것은 이 글에서 언급을 했어요. 이 글에서 언급할 것은 preAutho..
전체 글 검색 결과
BinarySearch에 대해서 잘못된 부분을 수정하기 위해서, 프로그램을 작성하게 되었습니다. 코드 제너레이터를 이용해서, 게터, 세터, equals, hashCode 등을 자동으로 생성하게 되었습니다. 중요한 부분만 코드로 보도록 하겠습니다. Obj 클래스입니다. binarySearch를 할 때, key가 여러개 나올 때 lower_bound나 upper_bound를 이용할 수 없다고 없다고 하였습니다. 그것이 가능하게 하려면, unique 한 속성으로 떨어트려야 하는데요. 키가 등장한 위치 lo는 unique 합니다. 따라서, (x, lo) 쌍도 unique 할 겁니다. hashCode를 재정의 한 것을 보니까 Objects.hash(x, lo); 가 보이는데요. 이것이 무엇을 하는지는 모르겠지만,..
이 글에서는 제가 출제했던 문제인 가희와 읽기 쓰기 놀이를 왜 냈는지, 그리고 어떻게 풀어야 하는지 써 보도록 하겠습니다. 가희와 읽기 쓰기 놀이는, race condition을 주제로 만들어진 문제입니다. 그리고 N과 C가 9보다 작거나 같기 때문에, brute force를 돌려도 됨을 알 수 있어요. N과 C가 9보다 작거나 같다는 조건을 읽은 순간, 아. 그냥 백트래킹 돌려도 되겠구나. 이게 와야 해요. 출제 의도가 race condition이라고 했는데, 어째서 경쟁 상태일까요? 단순히 턴제 게임 아니였나요? 턴제 게임은 맞습니다. 맞는데, 다른 관점에서 봐 봅시다. 1번 사람이 1번, 2번 카드 순으로 내고, 2번 사람이 3번 카드를 낼 수 있다고 합시다. 그리고 1번은 a를 뒤에 추가, 2번은..
이 글에서는 http와 https에 대해서 쓰지 않습니다. 단지, 날라가는 패킷들을 보면서, 어떤 차이가 있는지만 실습해 보는 글입니다. 그러니, 자세한 정보를 보러 오셨다면, 여기보다는 공신력 있는 사이트들을 보시는 게 더 좋을 듯 합니다. 인터넷 창을 보시다 보면, 대부분의 사이트에는 자물쇠가 있다는 것을 알 수 있어요. 연결이 안전합니다. 그런데 어떤 사이트는 그렇지 않은데요. 그 차이가 무엇인지 제가 만들고 있는 토이프로젝트를 가지고 간단하게 실습해 보겠습니다. 먼저, maven으로 패키징 된 제 토이 프로젝트를 실행해 보시면, Tomcat initialized with port(s): 7780 (http)가 뜨는데요. /borrow에 POST 요청을 보내 봅시다. 이것은 bookId가 2이고, ..
안녕하세요. 이번 시간에는 postgresql serial permission 오류가 떴을 때, 어떻게 해결해야 하는지 알아보겠습니다. 저는 서버에 psql을 설치했고, 로컬에 dbeaver로 접속할 수 있는 환경을 구축해 놓은 상태입니다. 저는 도서관 api 프로젝트에서 책을 빌리고 반납하고, 어떤 책을 빌렸는지에 대한 api를 추가하는 작업을 하고 test 하는 중이였습니다. 이 중에서 POST /borrow는 책을 빌리는 api입니다. bookId와 userId를 넣으면, 2번 유저가 id가 2인 책을 빌리게 됩니다. 요청을 보내 보겠습니다. 그랬더니 500이 떨궈지는데요. 서버 내에서 문제가 발생했음을 의미합니다. 로그를 보니까 permission denied가 되어 있는데요. 권한 때문에 무엇인..
최근댓글