본문 바로가기

전체 글44

Spring - @Autowired를 쓰면 warning이 뜨는 이유 Warning @Autowired 어노테이션을 사용하면 언제부턴가 IDE에서 불평을 내뱉으며 warning이 뜨게 된다. 그런데 막상 사용해보면 전혀 문제 없이 어플리케이션이 잘 작동하는 것을 알 수 있다. 그러면 도대체 어떤 이유 때문에 warning이 뜨는지 알아보도록하자. @Autowired란? 먼저 @Autowired 어노테이션이 어떤 역할을 하는지에 대해서 알아보도록하자. @Autowired는 의존성을 주입하기 위해 사용하는 어노테이션이다. 어노테이션 기반 환경이 나오기 전에 Spring에서는 xml 파일에 모든 Bean을 직접 등록하는 번거로움이 있었다. @Autowired가 나오고서부터는 클래스에 @Component라는 어노테이션을 붙여주고 사용할 때 간단하게 @Autowired만 사용하면 .. 2022. 8. 16.
React Query - useInfiniteQuery 사용법 React Native를 사용해서 앱을 만드는 중에 infinite scroll 리스트를 구현할 필요가 있었다. react query를 사용하던 중이어서 state를 따로 관리해서 페이징을 구현해야하나 고민하던 중에 react query에서 useInfiniteQuery라는 hook을 지원하는 것을 찾았다. 오늘은 useInfiniteQuery를 어떻게 사용하는지에 대해서 간단히 설명해보고자 한다. useInfiniteQuery useInfiniteQuery는 페이징을 구현할 때도 굳이 state를 사용하지 않고 손쉽게 구현할 수 있도록 도와준다. api 요청은 보통 방식과 동일하게 몇 페이지인지 request param으로 보내고 응답이 왔을 때 다음 페이지가 몇 페이지인지 혹은 더 이상 페이지가 없는.. 2022. 8. 15.
Spring - @EnableGlobalMethodSecurity Spring Security 두가지 방법 Spring에서는 Web 기반의 Security과 Method 기반의 Security 기능을 제공한다. 메소드 기반은 메소드 별로 권한을 체크하는데 Web 기반과 다르게 필터가 아닌 컨트롤러 단에서 권한을 처리하는 기능이다. 두개의 Security 적용 방식은 하나만 선택하는게 아니라 동시에 섞어서 사용할 수 있다. Web Security에서 URL과 Token 유무로 인증을 하고 Method Security를 사용해서 권한에 따라 인가를 하는 방법이 있다. Rest api에서는 Web Security에서도 권한에 따라 인가를 처리할 수 있기 때문에(antMatcher 사용) 굳이 메소드 기반을 같이 사용하지 않아도 된다. 오늘은 두가지 방법 중에서 @Enabl.. 2022. 8. 14.
Java - Checked and Unchecked Exception Java의 Exception은 크게 두가지로 나뉜다. 바로 Checked Exception과 Unchecked Exception이다. 먼저 Checked Exception에 대해서 알아보고 다음으로 Unchecked Exception에 대해서 알아보도록하겠다. Checked Exception Checked Exception은 쉽게 말해서 컴파일 타임에 잡히는 Exception이다. 예를 들면 FileInputStream이라는 클래스의 생성자는 만약 파일이 없을 경우에 FileNotFoundException을 발생시키는데 아래처럼 Exception을 처리해주는 코드를 넣어주지 않으면 컴파일에서 "java: unreported exception java.io.FileNotFoundException; must.. 2022. 8. 13.