전체 글102 [Refactoring] 자바 API를 적극 활용하자 Java는 String, List 등 개발하는 데 유용한 다양한 API를 많이 제공하고 있다. 😤 해당 API들은 전문가들이 최적화와 검증을 통해 빠르면서 버그가 없게 제작해 놨다. 우리는 이걸 직접 구현할 필요 없이 단순하게 사용만 하면 된다! 😄 public void setShibaColor(Color color) { if(color == null) { throw new NullPointerException("Color 값이 존재하지 않습니다."); } this.color = color; } color 필드에 파라미터를 저장할 수 있도록 setter를 개발했다. 해당 메서드는 color 파라미터가 null 값이 들어온다면 NPE를 내보내게 설정되어 있다. public void setShibaColor.. 2023. 3. 12. [Refactoring] 간단한 리팩토링 모음 코딩할 때 가볍게 다루기 좋은 리팩토링에 대해 소개하려고 한다. 😀 코드의 이해를 높이는 데 도움이 되며 사실상 어떠한 비용도 들지 않으니 신경 써주는 게 좋다. 👍 사소하지만 코딩하는 과정에 도움이 되었으면 한다. 필자도 프로젝트하면서 한 번씩 참고하려고 포스팅한다. "부정을 피하자" 코드에서는 긍정적인 표현식이 부정적인 표현식보다 훨씬 이해하기가 쉽다. 즉, Objects.nonNull(), !StringUtils.hasText() 등 보다 Objects.isNull(), StringUtils.hasText()가 좋다. @Test void goodRefactoring() { Shiba shiba = null; if(Objects.isNull(shiba)) { System.out.println("Nul.. 2023. 3. 5. [React] router v6에서 JWT 인증과 Private 컴포넌트를 통한 화면 접근 보안 구현하기 토이프로젝트 진행 중 서버에서 JWT 인증을 구축한 뒤, 로그인한 경우에만(클라이언트가 정상적인 access_token을 가진 경우에만) 특정 화면에 접근할 수 있도록 하려면 어떻게 해야 할지 고민하게 되었다. 😿 필자의 경우 별도의 Private 컴포넌트를 생성해서 접근하는 순간 자동으로 서버에 access 토큰 인증 요청을 하게 되고, 인증에 실패한 경우는 클라이언트가 해당 화면에 접근하지 못하도록 구현했다. 방식은 간단하다. Route 컴포넌트 element에 실제 접근하려는 컴포넌트 대신 Private 컴포넌트를 전달하고, Private에 컴포넌트에 실제 접근하려는 컴포넌트를 속성으로 넘기면 된다. [TO-BE] const App = () => { return ( ); }; 기존에는 따로 토큰을 .. 2023. 2. 25. [Spring] ServiceLocatorFactoryBean을 활용하여 분기 처리하기 🤜 문제점 개발하다 보면 분기 처리를 통해 특정한 경우에 따라 다르게 처리해야 하는 경우가 굉장히 많다. 🤔 예를 들면, 서비스 기획자가 이러한 요청을 한다. " Color가 BLACK이라면 A 시바견을, Color가 WHITE 라면 B 시바견을, Color가 YELLOW 라면 C 시바견을, 그 외에는 D 시바견을 활용해서 처리해 주세요! " 이런 요청을 일반적인 조건문을 사용한 분기 처리를 통해 해결하면 다음과 같을 것이다. (실제로 프로젝트에 이런 코드가 많이 존재한다.) public class ShibaService { public void shibaTalk(Color color) { if(color == Color.BLACK) { new ShibaA().talk(); } else if(color .. 2023. 2. 19. 이전 1 ··· 20 21 22 23 24 25 26 다음