일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Java
- 겨울카카오인턴
- 큐
- 백준
- javscript
- functional programming
- 람다 칼큘러스
- JDBC
- tcp
- Collections
- Pattern
- Rails
- exception
- 자바
- Python
- 파이썬
- 디자인패턴
- design-pattern
- 함수형 프로그래밍
- lambda calculus
- 프로그래머스
- Network
- JavaScript
- Spring
- Collection
- 스택
- Eclipse
- 로버트마틴
- solid
- DesignPattern
- Today
- Total
목록컴퓨터 언어 (31)
개발자 노트
스프링 AOP 문제Spring에서 self-invocation은 클래스의 메서드가 같은 클래스 내의 다른 메서드를 호출하는 방식으로, 특히 @Transactional과 같은 AOP(Aspect-Oriented Programming) 관련 애노테이션을 사용할 때 문제를 일으킬 수 있습니다. Spring에서는 프록시 기반 AOP를 사용하기 때문에, 프록시 객체가 아닌 클래스의 실제 메서드가 호출될 경우 AOP 애노테이션이 적용되지 않습니다.예를 들어, Spring에서 @Transactional 애노테이션을 적용한 메서드 A가 같은 클래스의 다른 메서드 B에서 호출될 때, B가 프록시를 통해 호출되지 않으면 A의 트랜잭션이 제대로 관리되지 않을 수 있습니다. 이는 프록시가 생성한 객체 외부에서 메서드를 호출해..
참조모나드 영어 위키 - https://en.wikipedia.org/wiki/Monad_(functional_programming)함수 영어 위키 https://en.wikipedia.org/wiki/Function_(mathematics)함수 한글 위키 - https://ko.wikipedia.org/wiki/함수도입이번에는 글의 흐름을 다르게 진행해보려고 합니다.모나드가 무엇인지 바로 말씀드리지 않고, 연속적으로 함수의 합성할 때 마주하는 문제점을 고민 해보고, 해결 방법을 제시함으로써 모나드(라고 불릴만한 것)을 이해해보도록 하겠습니다.그래서 먼저 함수가 무엇인지 다시 살펴봄으로써 이해를 높힌 뒤 문제되는 예제를 설명드리겠습니다.개인적인 견해가 있으므로 참고하시어 읽어주세요. 그래서 제목에서 보시..
Stream API peek? 문서에서 왜 Stream.peek을 주로 디버깅 용으로 사용하라고 했는가? 대하여 알아보겠습니다. 참조 Stream API peek은 Stream api의 한 부분이므로 Stream API 문서부터 살펴보도록 하겠습니다. stream api의 문서를 보시면 filter, map등과 같은 method에 전달되는 함수는 올바른 동작을 위하여 다음 2가지 제약조건을 만족해야 한다고 합니다. non-interfering이여야 할 것 대부분의 경우, 상태를 지니지 말아야 할 것 여기서, non-interfering에 주목해보겠습니다 non-interfering interfering의 사전적 의미 간섭하는, 참견하기 좋아하는 문서에서 말하는 non-interfering stream p..
User들을 1. 성을 기준으로 정렬 2. 성이 동일할 경우 이름으로 정렬 3. 그리고 List로 반환하라. 라고, 정렬 기준이 두 개일 경우에 대한예제를 만들어 보았습니다. 그리고 method reference, lambda expression 을 통해서 문제를 작성해보았는데요... 이게 왠 걸... lambda expression으로 작성한 예제는 컴파일 에러가 발생합니다. 띠용! 타입을 잘 추론 못하나...? 완전 같아보이는데 말이죠 -- 차후 작성
최근에 Modern Java In Action 책을 보았습니다. 매우 감명받았죠. 함수형 프로그래밍, Java API 공부할 땐 책을 봐야겠구나 느꼈습니다. 구글링에 비해 책이 내용이 알차고 신뢰도도 매우 높았습니다. 무려! 자바챔피언, 교수2, 엔지니어1이 작성한 책이니까요. 여튼, stream api를 공부하고 작성한 코드들을 두어보겠습니다. 그리고 왜 이렇게 코드를 작성했는 지 그 아이디어를 차차 공유해보도록 하겠습니다. https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. ..
관련 글 java docs Collection 정리[상위 문서] Set 인터페이스란? 중복된 elements를 담지 않는 Collection 특징 수학의 집합을 모델 삼음 오직 Collection의 메서드만 상속받고, 중복된 element를 금지하는 제약만 추가. 이미 collection에 존재하는 element를 추가할 경우 add method의 반환 값은 false이다. equals hashCode operation에 대한 강한 제약사항을 두었음. Set 구현체의 타입이 다르더라도 Set inatance간 의미있는 비교 가능. 두 Set간 동일한 elements를 지닐 경우, 두 set은 동일하다고 한다. 다용도 Set 구현체들 HashSet hash table에 elements를 저장 가장 성능이 ..
관련 글 java docs Collection 정리[상위 문서] Collection이란? elements들의 그룹을 나타냅니다. Collection interface 가장 일반화된 collections를 전달하는데 사용됩니다. 예 - HashSet의 conversion consturctor public HashSet(Collection c) boolean addAll(Collection c) boolean retainAll(Collection c) void clear() array operations를 위한 메서드 Object[] toArray() T[] toArray(T[] a) Stream API를 위한 method Stream stream() Stream parallelStream() Collect..
Implementations 관련 글 java docs - https://docs.oracle.com/javase/tutorial/collections/implementations/index.html 상위 목록(collection 정리) - https://jurogrammer.tistory.com/172 서론 구현체는 collections를 저장하는데 사용되는 data objects를 의미합니다. 이 구현체들은 앞서 말한 interfaces를 구현했죠. 종류 다음 구현체들에 대해 설명할 예정입니다. General-purpose implementations 일상적으로 사용할 수 있는 구현체들입니다. Special-purpose implementations 특수한 상황에서 사용하는 구현체들입니다. 일반적이지..
관련 글 https://jurogrammer.tistory.com/172 Interfaces https://docs.oracle.com/javase/tutorial/collections/interfaces/index.html 개요 core collection의 interfaces는 서로 다른 타입의 collections들을 캡슐화합니다. 따라서 서로 다른 collections을 detail을 신경쓰지 않고 조작할 수 있게 되지요. collection interface는 Java Collection Framework의 근간이라고 보시면 됩니다. Interface 챕터에서는 collection interfaces의 효율적인 사용 방법에 대한 일반적인 가이드라인을 제공해줄 예정입니다. 유의할 점 Map은 Co..
https://docs.oracle.com/javase/tutorial/collections/index.html Trail: Collections (The Java™ Tutorials) The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated docs.oracle.com Java tutorial을 바탕으로 c..