책 인증: 사용자를 식별하는 것 인가: 자원에 대한 접근을 통제하는 것(특정 자원에 접근할 때 적절한 권한이 있는지 확인하는 과정) 어떤 API에 접근하려고 할 때, 인증과 인가를 위해 각 API에 대응되는 메소드마다 로직을 추가할 수 있지만 이러면 중복된 코드가 발생할 것임 따라서 모든 요청이 공통적으로 통과해야하는 서블릿 필터에 이 로직을 한 번만 구현해주면 들어오는 모든 요청을 지정한 조건에 따라 인증과 인가 절차를 진행할 수 있을 것 스프링 부트에서 시큐리티 스타터 의존성을 설치 시 관련 의존성들이 추가되고 자동설정들도 적용됨 그 중 하나로, 메모리에 인증에 필요한 사용자가 자동으로 등록됨. 아이디는 user, 비밀번호는 콘솔에 Using generated security password 라는 텍..
screen -X -S [session # you want to kill] quit
다음과 같은 명령어를 우분투 환경에서 실행하였을 때, conda activate test 다음과 같은 에러를 만났습니다. CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. To initialize your shell, run $ conda init Currently supported shells are: - bash - fish - tcsh - xonsh - zsh - powershell See 'conda init --help' for more information and options. IMPORTANT: You may need to close and restart your shell af..
Swift에서 프로토콜은 다른 유형이 준수할 수 있는 인터페이스를 정의합니다. 프로토콜은 적합한 유형이 구현해야 하는 메서드, 속성 및 기타 요구사항을 정의할 수 있습니다. 프로토콜은 다른 객체 지향 언어의 인터페이스와 비슷하지만 스위프트에서 더 유연하고 강력하다. 프로토콜 지향 프로그래밍(Protocol-oriented programming)은 스위프트에서 프로토콜을 사용하는 코드를 설계하고 구성하는 방법이다. 프로토콜 지향 프로그래밍의 아이디어는 당신의 유형의 인터페이스와 요구 사항을 지정하는 프로토콜을 정의하는 데 초점을 맞춘 다음, 그러한 프로토콜을 사용하여 당신의 유형의 동작을 정의하는 것이다. 이렇게 하면 유형의 공통적인 측면을 캡처하는 프로토콜을 정의한 다음 이러한 프로토콜을 사용하여 프로토..
delegate 패턴은 특정 이벤트가 발생할 때 한 개체가 다른 개체로 정보를 보낼 수 있도록 하는 디자인 패턴입니다. 특정 이벤트가 발생할 때 한 개체(Observer)가 다른 개체(Subject)로부터 알림을 수신하기 위해 등록하는 옵저버 패턴을 구현하는 데 종종 사용됩니다. delegate 패턴의 작동 방식을 설명하는 데 도움이 되는 비유는 다음과 같습니다. 파티를 조직하고 있으며 일부 작업을 다른 사용자에게 위임한다고 가정합니다. 여러분은 파티에서 친구에게 DJ와 음악 연주를 부탁할 수도 있고, 다른 친구에게 파티에서 사진작가와 사진을 찍어달라고 부탁할 수도 있습니다. 이 경우 사용자는 "주체"이고 친구는 "위임자"입니다. 파티에서 음악이 재생되기를 원하고 사진이 찍히기를 원하지만 이러한 작업이 ..
xcode 14 업데이트 이후 pod init 에러 문제 상황 1) pod init을 실행할 때, 2) Podfile이 생성되기를 기대했지만 3) 다음과 같은 에러가 발생하였음 RuntimeError - [Xcodeproj] Unknown object version (56). /opt/homebrew/Cellar/cocoapods/1.11.3/libexec/gems/xcodeproj-1.21.0/lib/xcodeproj/project.rb:228:in initialize_from_file' /opt/homebrew/Cellar/cocoapods/1.11.3/libexec/gems/xcodeproj-1.21.0/lib/xcodeproj/project.rb:113:inopen' /opt/homebrew/Ce..
vi/vim 안에서 :source ~/.vimrc를 입력해서 해결했다