TIL173 토큰 기반 인증 (22.10.31 TIL) 11주차 첫 날의 과제를 수행하면서, JWT 를 인증 방법으로 활용하며 아래 코드처럼 헤더 값으로 Bearer + token 값을 받아서 사용했다. Bearer 라는 게 무엇인지도 정확히 모르면서 사용했어서 오늘 til 로 정리하려 한다. mockMvc.perform(MockMvcRequestBuilders.get("/") .header("Authorization", "Bearer " + accessToken)) .andExpect(status().isOk()) .andExpect(content().string( containsString("Hello, Test") )); Bearer 에 대해 이야기 하기 전에 토큰이 무엇인지를 먼저 정리해보자. 토큰(Token) 은 stateless 서버이다. stat.. 2022. 10. 31. Spring - @Bean, @Component (22.10.30 TIL) 스프링이 개발자 대신 객체를 관리하기 위해서는 객체가 Bean 으로 등록이 되어있어야 한다. 과거에는 Bean 을 등록하기 위해 xml 파일을 작성하였는데, 이제는 어노테이션으로 편리하게 등록할 수 있는 방법으로 관리할 수 있다. 스프링에는 @Bean 이나 @Component 로 Bean 객체를 등록할 수 있는 방법이 있다. @Bean 수동으로 스프링 컨테이너에 bean 을 등록하는 방법이다. @Bean 은 메서드 레벨의 어노테이션이며, 메서드의 return 객체가 bean 으로 등록된다. 메서드 레벨에 작성 가능하다는 것은 외부의 객체를 불러와서 Bean 으로 등록할 수 있다는 것이다. 그렇다면 메서드 레벨에 존재하는 @Bean 을 실행시킬 수 있는 방법은 무엇일까? 바로 스프링에게 '이 클래스는 be.. 2022. 10. 30. JAVA Stream (스트림) (22.10.29 TIL) 📍 스트림 헷갈릴 때마다 그냥 여기에서 찾아보려고 기본서를 보며 틈틈이 정리한 것을 오늘 드디어 완성했다. (내용이 다소 길 수 있습니다!) 스트림..가보자고..!! 1. 스트림 의미 1) 컬렉션의 저장 요소를 하나씩 참조해 람다식으로 처리할 수 있도록 도와주는 반복자. (자바8부터 추가) 2) 자바7 이전까지는 List 컬렉션에서 요소를 순차적으로 처리하기 위해 Iterator 반복자를 사용했음. /* Iterator */ List list = Arrays.asList("홍길동", "김자바"); Iterator iterator = list.iterator(); while(iterator.hasNext()){ String name = iterator.next(); } /* Stream .. 2022. 10. 29. 미래 그려보기 (22.10.28 TIL) 오늘의 금요지식회 발표자는 로지님! 취준 노하우 관련해서 여러가지 말씀해 주셨는데 제일 중요한 것은 꾸준함과 소프트스킬 인 것 같다. 일단 간단히 오늘 발표에 대해 요약해보자. 1) 원칙과 가이드 라인을 지키자! 어쨌든 모든 것은 나의 노력에 달린 거지만 트레이너 분들의 가이드라인만 그대로 따라해도 90프로는 이룬 것이나 다름 없다. 사실 매일 오전마다 하는 코딩 테스트 풀기 시간에서도 1시간의 제한 시간을 넘기면서까지 코테에 집착하지 말라고 하셨는데 (아무래도 실제 코테에서도 '제발 5분만 더 주세요!' 할 수는 없기 때문에,,) 조금만 더 해보자, 하다가 주어진 시간을 훌쩍 넘긴 적이 많았다. 그런데도 풀어내지 못했을 경우 자괴감까지 더해지기 때문에 이건 나한테도 좋을 것이 없다. 2) 면접에 임할 .. 2022. 10. 28. findById vs getReferenceById 차이(22.10.27 TIL) getById 는 왜 deprecated 되었을까? 라는 동기분의 질문에 대한 노아님의 견해인데, 추가로 답변 하단에 남겨주신 findBy~ 메서드와 getBy~ 메서드의 내부 구현에 차이점이 존재한다는 코멘트를 보고 궁금증이 생겨 찾아보았다. findById 와 getReferenceById 를 예시로 들어보자. findById 는 CrudRepository 에 있는 메서드이고, getReferenceById 는 JPARepository 에 있는 메서드이다. //CrudRepository public interface CrudRepository { ... Optional findById(ID id); Iterable findAll(); ... } //JpaRepository public interfac.. 2022. 10. 27. Java 제네릭스 (Generics) (22.10.26 TIL) 오늘의 개념 공부는 제네릭이다. 과제를 하며 아무 생각 없이 컬렉션과 함께 썼던 제네릭이었는데, 이렇게 개념 공부를 하면서 보니까 또 낯설다. 이런 개념 공부에서 시작해서 제네릭을 쓰려고 했다면 더 어려웠을 거라고 확신한다. 역시 일단 해보면서 부딪치는 게 제일 낫다는 홀맨님 말씀이 또 생각나는~.~ 1. 제네릭스 (Generics) 1) 컴파일시 타입을 체크해 주는 기능. 2) 클래스를 설계할 때 타입 파라미터로 대체했다가 실제 사용될 때 구체적인 타입을 지정함으로써 타입 변환을 최소화. 3) 선언시 클래스 또는 인터페이스 이름 뒤에 "" 부호가 붙음. 사이에는 타입 파라미터가 들어감. 4) 타입 파라미터 - 일반적으로 대문자 알파벳 한 문자로 표현. - 개발 코드에서는 타입 파라미터 자리 자리에 구체.. 2022. 10. 26. 이전 1 ··· 14 15 16 17 18 19 20 ··· 29 다음