본문 바로가기

java

(26)
Optional Optional 은 null 를 처리 할 수 있는 wrapper class 이며 If - else if - else 를 위한 수단이 아니다.
Java8 FunctionalInterface + Lambda 면접에서 Java8의 특징에 대한 질문이 많아 이번 참에 공부하고 정리하고자 한다. 먼저 FunctionalInterface + Lambda 조합 (+ Anonymous Class) 먼저 알아봤는데 (참고) 왜 이걸 이제서야 공부했나 싶다. 선 지식은 Anonymous Class가 왜 필요한지와 문법에 대해 이해가 되면 FunctionalInterInterface 왜 필요한지와 Lambda를 이용해서 정말 간단하게 구현이 가능하다. 이로 인해 Java는 Interface 구현하는데 거창하다는 대한 생각이 변했다.
마인드맵 : spring.io https://spring.io/projects
OAuth - 작성중 이전 업무 중 Facebook Developer 를 통해 id 발급은 물론 인증도 하고 graph api를 통해 친구목록을 가져와 게임 이미지와 조합해서 보여주는 기능도 개발했었다. 3rd party 인증 서비스를 개발할때도 Client 인증 서버에 token 만 전송하다보니 정작 어떻게 인증을 하고 개인정보를 저장하는지 전혀 알수 없었고 프로세스에 대해서도 묻지 않았다. 분명 OAuth를 통해 개발했음에도 정작 OAuth가 어떠한 흐름을 가지고 어떤 특성을 가지고 있는지 알지 못했던 점이 답답했다. token을 얻기 위해 하다보니 구현은 했으나 전체를 보지 못했다. 역시 답답해서 Oauth가 뭔지 알아보며 궁금한 점을 풀어가봤다. - Oauth란 - AccessToken이란 - Auth Code란 - ..
interface와 abstract * 주의 일단 이 포스트엔 각각의 구현 방법은 기술되어 있지 않다. 사실 객체 지향 설계를 통해 제대로 해본 개발 경험이 없다. 부서 내 정해진 방식대로 그대로 개발을 해왔다. 물론 불만은 있었다. 하지만 개선책은 내지 못했다. 오랫동안 interface와 abstract 를 구분 짓는 개념이 무엇을까 생각(만)을 하던 차에 생활코딩에서 마침 interface와 abstract의 특징에 대한 질문 글이 올라와 다양한 관점의 댓글들을 보니 interface는 interface 고 abstract는 abstract 구나란 생각이 들었다. +그렇기 때문에 interface 내 access modifier는 기본적으로 public이다. interface와 abstract는 쓰임새가 다르다. 그럼에도 목표는 동일..
Spring AOP 내가 생각하는 AOP 는 언제, 어디에,무엇을 의 조합(Weaving) 이라고 생각해서 아래와 같이 표현했다. 딱봐도 로깅, 트랜잭션, 성능테스트 때 코드에 하드코딩 하지 않고 우아하게 활용할 수 있다. 처음 AOP 개념을 접했을 때 저 용어들 때문에 혼란 스러웠고 아직도 혼란스럽지만 언제, 어디서, 무엇을 기준으로 채워나가면 그럭저럭 외워진다. 단, 아쉬운 점은 AspectJ에서 Advice Annotation에 Pointcut을 얽히게 해서 경계가 명확해 보이지 않는다. 그 부분은 좀 알아봐야 겠다.
@Component와 @Configration & Stereo type @Component와 @Bean의 차이점을 궁금해 찾아봤다. - @Bean은 @Configration과 함께 쓰인다는 점 - @Configration의 Annotation을 열어보면 @Component가 선언되어 있다 그렇기 때문에 @Bean 으로 선언되지 않은 Method 도 @Autowired의 대상이 되지만 이렇게 구현 하면 의미가 없다. - @Component는 @Bean을 비교 할 것이 아니라 @Configration과 비교 해야 할 것 - @Bean은 stereo type 이다. stereo type은 컴파일러 뿐 아니라 개발자에게도 annotation의 역할을 한다. spring에서는 stereo type 들이 꽤나 많다. Annotation을 보면 ElementType.Method이다. *..
springboot + gradle + yaml springboot + gradle 조합으로 yaml 을 붙였다. https://github.com/whybwhy/spring-gradle-demo/blob/master/Yaml.md