일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- API
- mongoDB
- 읽기쉬운코드
- 코딩테스트
- 스프링
- spring boot
- 그리디알고리즘
- 그리디
- 코드
- database
- 클린코드
- 자바
- 개발
- 백준
- Java
- framework
- 엘라스틱서치
- 개발자
- 프레임워크
- 코딩
- 알고리즘
- cleancode
- Spring
- ES
- 애자일프로그래밍
- Baekjoon
- JPA
- Elasticsearch
- 데이터베이스
- 애자일기법
- Today
- Total
목록함수 (4)
튼튼발자 개발 성장기🏋️
코틀린(Kotlin)은 함수형 프로그래밍(FP)을 지원한다. 코틀린에서는 함수가 중요한 구성 요소로, 이를 통해 간결하고 표현력 있는 코드를 작성할 수 있다. 일단 함수형 프로그래밍의 기본 개념인 부분 함수(partial function), 전 함수(pre-function), 커리한 함수(currying) 에 대해 설명하고, 이를 어떻게 활용할 수 있는지 알아보자. 1. 부분 함수(Partial Function)부분 함수는 입력값에 대해 정의된 범위 내에서만 동작하는 함수다. 즉, 어떤 함수가 모든 가능한 입력에 대해 정의된 것이 아니라, 일부 입력에 대해서만 유효한 함수일 때 사용된다. 이 개념은 주로 예외 처리나 특정 조건에 맞는 함수를 정의할 때 유용하다.예를 들어, 코틀린에서 map 함수는 nul..
Oracle에서 제공하는 java 1.8 docs를 살펴보면 상당히 많은 interface가 있다. 그 중에서 Function interface를 살펴보자. @FunctionalInterface public interface Function { R apply(T t); // ... } 이 인터페이스는 apply라는 하나의 abstract method(FunctionalInterface annotation)를 가진다. 보면 알 수 있겠지만, T 타입의 parameter를 받아 R 타입의 값을 리턴하는 메소드다. public class Exercise { public static void main(String[] args) { Function myEx = new Func(); System.out.print..
나는 java를 공부하고 사용할 때 "객체지향적으로 코딩해야한다!"(OOP)라는 생각으로 접근한다고 주입식 교육(?)을 받아왔다. 그런데 java1.8 부터 바뀐 많은 부분 중에 가장 대표적으로 "함수형 프로그래밍 기법"이 도입되었다. 차이점을 예를들어 이야기 하자면 아래와 같다. ex) 각 유저의 정보를 갖고 있는 유저 리스트가 있을 때, unvalified email을 추출한다. OOP 이메일을 담을 리스트 A 선언 반복문을 돌면서 email validation check unvalified email를 A에 추가 함수형 프로그래밍 user list에서 unvalified email을 갖고있는 유저만 추출 추출된 user list에서 email만을 리스트로 추출 접근 방식에 차이점이 보인다. OOP의..

함수는 "한 가지의 일만 해야하며 무슨 일을 하는지 딱 봐도 알 수 있을 정도의 네이밍이 필요하다."라는 것 정도는 알고 있는 사실이다☝️ 그런데 최소한의 인수와 break, continue를 사용하면 좋지 않다는 것이 저자 의견. break, continue는 반복문과 제어문의 쌍을 스무스하고 부드럽게 해주는 장치 역할을 한다고 생각한다. 이 녀석을 사용해야할 때에 사용하지 않는 방법이 있는가? 고민해볼 가치는 있어보인다. 인수를 두지 않고 클래스 혹은 전역 변수를 활용하는 것은 불필요한 자원을 사용하는 것이고 위험부담이 크다고 생각 되기에 공감하지는 않지만, 인수의 수에따른 단위 테스트의 어려움은 어느정도 공감 한다.🤔 처음부터 코드를 잘 짜는 사람은 없다. 코드를 짜기 전에 일단 문단으로 적어 보고..