전체 글

전체 글

    Cookie를 사용한 로그인/로그아웃(세션쿠키) + 보안

    세션쿠키를 사용하면 브라우저가 종료되기 전까지 웹브라우저에 쿠키정보가 남아있어서 한번 로그인 한 후에는 로그아웃 후에 추가적인 정보입력없이 바로 로그인 할 수 있다. @GetMapping("/login") public String loginForm(@ModelAttribute("loginForm") LoginForm form) { return "login/loginForm"; } @PostMapping("/login") public String login(@Valid @ModelAttribute LoginForm form, BindingResult bindingResult, HttpServletResponse response) { if (bindingResult.hasErrors()) { return "..

    [Java] 추상 클래스와 인터페이스

    추상 클래스(Abstract class)와 인터페이스(Interface)의 차이 및 존재 이유를 설명해주세요. 클래스는 크게 일반 클래스와 추상 클래스로 나뉘는데 추상 클래스는 클래스 내 '추상 메소드'가 하나 이상 포함되거나 abstract로 정의된 경우를 말합니다. 반면 인터페이스는 모든 메소드가 추상 메소드인 경우입니다. (자바 8에서는 default키워드를 이용해서 일반 메소드의 구현도 가능합니다.) 두 개념의 차이는 너무 명확하지만, 하는 일은 비슷합니다 추상 클래스와 인터페이스는 상속받는 클래스 혹은 구현하는 인터페이스 안에 있는 추상 메소드를 구현하도록 강제한다. 이 '하는 일'을 한번 생각해보면 결국 추상 메소드를 구현하는 건데, 그렇다면 추상 클래스 하나만 존재하되, 추상 클래스 안에 추..

    [Java] 순서대로 저장, 출력하는 HashMap - LinkedHashMap

    HashMap은 Map 인터페이스를 구현한 Map 컬렉션이다. 인터페이스를 상속하기 때문에 Map의 특성을 그대로 사용할 수 있다. Key-Value쌍의 데이터로 저장되는 구조를 갖고 있고 이 데이터는 모두 객체이다. 값은 중복될 수 있지만 key값은 고유한 값을 가져야 한다. 만약 이미 존재하는 key값과 동일한 key값을 put하게 되면 새로운 key값으로 교체된다. 우리는 자주 HashMap을 사용한다. key-value 쌍의 데이터를 표현하기 위해서이기도 하고, 자연스럽게 중복을 원하지 않는 key-value 알고리즘을 사용해야 할 때 주로 사용한다. LinkedHashMap ? HashMap은 위와 같은 특징을 갖고 있다. 하지만 한 가지 더 추가하자면 아래 사진과 같이 데이터 출력에 있어 순서..

    [Linux] 그룹(Group)개념 & 권한수정

    Group이란? - 리눅스에는 그룹(Group)이라는 개념이 있는데, 어떤 파일이나 폴더를 특정권한이 있는 사용자들끼리만 공유하기 위해 사용되는 것 - 예를 들어 docker가 root권한으로 설치가 되어있다면, root권한이 아닌 상태로 docker를 실행하면 권한 문제가 발생함 - 아래 방법을 통해 권한 추가(수정)을 해보자 Group권한 추가(수정) /etc/group파일 수정 커맨드에서 vi /etc/group 명령어를 통해 그룹을 확인할 수 있는데, 위 사진처럼 pigonhair유저의 그룹에 docker권한이 없다면, 추가해줘야 함(sudo 권한으로 더이상 docker를 실행시키고 싶지 않을때) 커맨드 명령어로 추가(수정)하기 usermod -G docker pigonhair (-G 대소문자 주..

    Windows 터미널에서 WSL 시작 경로 변경하기

    https://jakupsil.tistory.com/45 Windows 터미널에서 WSL 시작 경로 변경하기 시작 경로를 변경하기 위한 설정값 Windows 터미널에서 WSL을 시작하면 시작 경로가 윈도 기준으로 C:\Users\ 로 되어있습니다. 매번 리눅스 디렉터리의 Home 경로로 변경하는 것이 번거로워서 시작 경 jakupsil.tistory.com 과 같은 방법도 있지만, 필자는 아래와 같은 방법을 사용하였다(https://jinseobbae.github.io/ubuntu/2021/09/28/post-ubuntu-start-path 참조) 환경설정파일 ubuntu에는 환경설정(?)의 역할을 하는 쉘이 있다. 그 중 홈 디렉토리에 있는 .bashrc 혹은 /etc/ 에 있는 bash.bashrc ..