일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Java
- JWT
- topic
- junit5
- 디자인패턴
- Functional Programming
- Spring Security
- git cli
- 패스트캠퍼스 #환급챌린지 #패스트캠퍼스후기 #습관형성 #직장인자기계발 #오공완
- #패스트캠퍼스 #환급챌린지 #패스트캠퍼스후기 #습관형성 #직장인자기계발 #오공완
- consumer
- TDD
- Factory Method Pattern
- Stream
- producer
- Clean Code
- 싱글톤
- SpringBoot
- orElseGet
- Authentication
- optional
- 함수형 프로그래밍
- orelse
- effective java
- signWith
- 카프카
- mokito
- Java8
- 인텔리제이 단축키
- kafka
- Today
- Total
목록Java (8)
goodbye

1. 개요아래에서 인용한 글에 따르면 Optional은 null을 반환하면 오류가 발생활 가능성이 매우 높은 경우에 결과 없음(반환 값이 없음)을 나타나는 명확한 방법을 제공하기 위한 의도로 설계되었지만 실제로는 이러한 의도와 다르게 사용되는것에 대해서 우려하고 있으며, 그로 인해 많은 부작용이 발생 할 수 있기 때문에 아래의 내용을 참고하셔서 Optional 을 올바르게 사용하길 바랍니다Java Language Architect Brian Goetz 는 스택오버플로우 에서 Optional 을 만든 의도에 대해서 다음과 같이 설명하고 있습니다. Of course, people will do what they want. But we did have a clear intention when adding th..

1. 개요Optional 사용하면 코드가 Null-Safe 해지고, 메서드 체이닝을 통해 가독성이 좋아지면서 어플리케이션이 안정적이 될 수 있는 장점이 있습니다. 하지만 이러한 장점은 Optional 을 설계한 의도에 맞게 올바르게 사용했을때 해당하는 내용으로 Optional 을 남용하는 경우나 잘못 사용하는 코드는 아래와 같은 부작용이 발생 할 수 있으니 주의해서 사용해야 합니다 2. Optional 의 부작용 2.1 overhead 가능성(시간적, 공간적 비용 증가)Optional 안의 객체를 얻기 위해서는 Optional 객체를 통해 접근해야 하므로 접근비용이 증가합니다. 그리고 성능테스트 결과 nullables 를 사용하는 접근 방식보다 2~3배 느리다고 합니다 그리고 Optional은 객체를 감..
1. Optional 개요Optional 은 결과가 없음을 나타나는 방법을 제공하는 라이브러리로 null 일수도 있는 객체를 감싸는 일종의 Wrapper 클래스를 의미합니다. Java8 에서 최초로 도입되었으며 null 때문에 발생하는 문제 대표적으로 NullPointerException 를 방지할 수 있도록 클래스를 통해 각종 메서드들을 제공해줍니다 💡Optional is intended to provide a limited mechanism for library method return types where there needed to be a clear way to represent “no result," and using null for such was overwhelmingly likely to..
함수형 프로그래밍(Functional Programming) 함수형 프로그래밍 함수형 프로그래밍은 하나의 프로그래밍 패러다임으로 정의되는 일련의 코딩 접근 방식이며, 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임 을 의미한다. 명령형 프로그래밍 vs 선언형 프로그래밍명령형 프로그래밍선언형 프로그래밍Imperative ProgrammingDeclarative ProgrammingOOP 객체 지향 프로그래밍Functional ProgrammingHow to do?What to do?어떻게 하여야 하는가?무엇을 하여야 하는가? 유저 리스트가 주어졌을때, 검증되지 않은 유저들의 이메일을 리스트로 전달하라는 내용명령형 프로그래밍 : How to do ?이메일을 담을 ..
1. Synchironized 메서드를 이용한 방법 하나의 프로세스에서만 보장되는 방법 즉 여러대의 서버, 다중화 환경에서는 동시성 이슈 발생 할 수 있음
1. 추상클래스 추상클래스는 일반적인 클래스와 동일하게 멤버 변수와 메서드를 갖습니다. 그리고 추가적으로 추상메서드를 갖습니다. 추상메서드는 메서드의 선언부만 존재하고 구현코드가 없는 아래와 같은 메서드를 말합니다. public String getMyProfile(int memberNo); 구현부가 없는 메서드를 단 하나라도 가진 클래스는 충상 클래스가 됩니다. 추상 클래스가 되면 new 키워드를 사용하여 인스턴스화 할 수 없습니다. 즉, 클래스를 쓸 수 없습니다. 이 크래스를 사용하려면 어떻게 해야 할까요? 다른 클래스가 이 추상 클래스를 상속받아야 합니다. 상속 받은 자식 클래스가 부모 클래스에 존재하는 추상메서드를 전부 오버라이딩하여 구현부를 작성하면 비로소 사용할 수 있는 객체가 됩니다. 2. 인..