HOME

    [Effective Java] 아이템 68 : 일반적으로 통용되는 명명 규칙을 따르라

    [Effective Java] 아이템 68 : 일반적으로 통용되는 명명 규칙을 따르라

    아이템 68 : 일반적으로 통용되는 명명 규칙을 따르라 철자 규칙 패키지와 모듈 점(.)으로 구분하여 계층적으로 짓는다. 모두 소문자 알파벳 혹은 숫자로 구성한다. 조직 바깥에서도 사용될 패키지라면, 인터넷 도메인 이름을 역순으로 사용한다. 점(.)으로 구분되는 각 요소는 보통 8자 이하 짧은 단어/약어로 한다. 클래스와 인터페이스 하나 이상의 단어로 구성하며, 각 단어는 대문자로 시작한다. 약어의 경우 각 약자의 시작과 끝을 명확하게 알 수 있도록 첫 글자만 대문자로 하는 경우가 많다 (HttpUrl ↔️ HTTPURL) 메서드와 필드 클래스 명명 규칙과 첫글자를 소문자로 쓴다는 점만 다르다. 첫 단어가 약자라면 단어 전체가 소문자여야한다. 상수 필드는 구성하는 단어 모두를 대문자를 사용하며, 단어 사..

    [Spring Security] 스프링 시큐리티 주요 아키텍쳐 3 - 인가(Authorization)

    [Spring Security] 스프링 시큐리티 주요 아키텍쳐 3 - 인가(Authorization)

    이번 포스팅은 인가에 대해 정리해보았습니다. 인가는 스프링 시큐리티에서 요청을 심사하는데 마지막 관문입니다. 만약 스프링 시큐리티의 인증 아키텍쳐/프로세스에 대해 모르신다면, 앞선 포스팅을 먼저 보고 오시면 더 좋습니다. [Spring Security] 스프링 시큐리티 주요 아키텍쳐 2 - 인증(Authentication) Spring Security에서는 인증과 인가를 구분해 처리해주고 있는데요, 이번 포스팅에서는 인증 관련 아키텍쳐를 알아보도록하겠습니다. 처음 접하시는 분이라면 인증과 인가가 무엇인지, 어떤 차이가 logical-code.tistory.com 인가 (Authorization) 스프링 시큐리티가 지원하는 권한 계층 웹 계층 : URL 요청에 따른 메뉴 혹은 화면 단위의 레벨 보안 서비스..

    [Spring Security] 스프링 시큐리티 주요 아키텍쳐 2 - 인증(Authentication)

    [Spring Security] 스프링 시큐리티 주요 아키텍쳐 2 - 인증(Authentication)

    Spring Security에서는 인증과 인가를 구분해 처리해주고 있는데요, 이번 포스팅에서는 인증 관련 아키텍쳐를 알아보도록하겠습니다. 처음 접하시는 분이라면 인증과 인가가 무엇인지, 어떤 차이가 있는지 모르실텐데요. 이 둘의 차이는 아래와 같습니다. 인증(Authentication) 사용자가 누구인지 확인하는 절차 예) 사용자가 카페 회원인지 확인 인가(Authorization) 사용자가 요청을 실행할 수 있는 권한이 있는지 확인하는 절차 예) 사용자가 카페 게시판에 게시글을 작성할 수 있는 등급인지 확인 혹시 Spring Security의 필터 기반 동작 방식 혹은 DelegatingFilterProxy와 FilterChainProxy를 모르신다면? 이전 포스팅을 먼저 보시길 바랍니다! [Sprin..

    [Spring Security] 스프링 시큐리티 주요 아키텍쳐 1 - DelegatingFilterProxy, FilterChainProxy

    [Spring Security] 스프링 시큐리티 주요 아키텍쳐 1 - DelegatingFilterProxy, FilterChainProxy

    이번 포스팅에서는 스프링 시큐리티의 주요 아키텍쳐 중 DelegatingFilterProxy와 FilterChainProxy를 정리하겠습니다. DelegatingFilterProxy Servlet Filter는 Servlet 스펙이기 때문에 스프링에서 정의된 빈을 주입받아 사용할 수 없습니다. 하지만 보안 정책을 정의하고 사용자 저장소, 기타 등등 여러 위치에서 빈 주입이 반드시 필요합니다. 때문에 스프링 시큐리티는 DelegatingFilterProxy를 통해 서블릿 컨테이너에서 필터로서 요청을 취득하고, 스프링 컨테이너에 존재하는 특정 빈(name = springSecurityFilterChain)을 찾아 요청을 위임합니다. 아래는 DelegatingFilterProxy의 소스코드입니다. (Sprin..

    2021년 개발자 컨퍼런스

    📝 수정 이력 2021.11.01 최초 작성 2021.11.05 Deview 2021 스케쥴 업데이트 2021.11.24 NHN FORWARD 2021 스케쥴 업데이트 2021.12.05 Reveal 2021 스케쥴 업데이트 컨퍼런스 목록 번호 컨퍼런스명 주최사 컨퍼런스 기간 참가 신청 기간 링크 1 Deview 2021 네이버 2021.11.24 ~ 2021.11.26 2021.11.10 ~ 링크 2 if kakao 2021 카카오 2021.11.16 ~ 2021.11.18 2021.11.01 ~ 2021.11.18 링크 3 LINE DEVELOPER DAY 2021 LINE 2021.11.10 ~ 2021.11.11 별도 표기 없음 * 현재 신청 가능 링크 4 NHN FORWARD 2021 NHN 2..

    [Effective Java] 아이템 49 : 매개변수가 유효한지 검사하라

    [Effective Java] 아이템 49 : 매개변수가 유효한지 검사하라

    아이템 49 : 매개변수가 유효한지 검사하라 메서드와 생성자 대부분은 입력 매개변수의 값이 특정 조건을 만족하기를 바랍니다. 예) 인덱스 값은 음수가 아니어야함 예) 객체 참조는 null이 아니어야함 이러한 제약은 반드시 문서화해야 하며 메서드 몸체(로직)가 시작되기 전에 검사해야합니다. 매개변수 검사를 제대로 하지 못하면 아래와 같은 문제가 발생합니다. 메서드가 수행되는 중간에 모호한 예외를 던지며 실패 메서드가 잘 수행되지만 잘못된 결과를 반환 메서드가 문제없이 수행되었지만, 어떤 객체를 이상한 상태로 만들어놓아서 미래의 알 수 없는 시점에 이 메서드와 관련 없는 오류가 발생 public & protected 메서드 매개변수의 제약을 문서화한다면 그 제약을 어겼을 때 발생하는 예외도 함께 기술해야합니..

반응형