일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Pattern
- 큐
- 자바
- Java
- 스택
- solid
- DesignPattern
- JavaScript
- 로버트마틴
- 백준
- 프로그래머스
- Eclipse
- javscript
- Rails
- 디자인패턴
- Collections
- lambda calculus
- 파이썬
- exception
- 람다 칼큘러스
- Network
- 함수형 프로그래밍
- JDBC
- Spring
- Collection
- Python
- functional programming
- tcp
- design-pattern
- 겨울카카오인턴
- Today
- Total
목록함수형 프로그래밍 (6)
개발자 노트
도입 lazy evaluation 개념자체는 어렵지 않습니다. 그래서 이번엔 활용성 측면 위주로 설명드리도록 하겠습니다~ 배경 지식 여태 expression과 evaluation이 헷갈리시다면 아래 글을 참조하시면 좋을 것 같습니다. https://jurogrammer.tistory.com/129 정의 evaluation 전략 중 하나로 expression의 value가 필요할 때까지 evaluation을 미루는 전략이라고 보시면 됩니다. 보통 성능 개선을 목적으로 lazy evaluation을 사용하지요. 어떻게 evaluation을 미룬 어떻게 성능을 개선할 수 있는지 한 번 살펴보겠습니다. 성능 개선의 예시 특정 조건을 만족해야만 해당 value를 사용하는 예시입니다. import time def ..
계기 이번은 좀 서론이 기네요... 넘어가셔도 좋습니다. 시작은 flux개념을 이해하는데에서 시작했습니다. 그래서 redux + canvas로 벽돌 깨기를 구현하고 있었습니다. (뭐 어떻게 삽질하니 react를 제외하고 redux만 사용이 가능하더라구요? ) 문제 - 상태 변경시, 관련된 renderer에게만 notify하고 싶다. redux에서는 상태변경시 특정 상태 변경에 대해 subscribe중인 rendering 로직이 실행됩니다. 예를 들면 공이 벽돌과 충돌한 action이 있다면 벽돌이 부셔져야겠지요? 그래서 벽돌 상태를 inactive정도로 변경했다면 벽돌을 그리는 담당을 하는 render function만 실행해야겠죠? 그런데 redux에서는 rootState로 관리하고, rootState..
출처 https://en.wikipedia.org/wiki/Lambda_calculus Reduction reduction의 사전적 정의는 다음과 같습니다. the action or fact of making a specified thing smaller or less in amount, degree, or size. 번역하자면 특정한 것의 양, 차원, 사이즈를 줄이는 행위 또는 사실이라고 말할 수 있습니다. meaning wiki에서 reduction의 도입부에 다음과 같이 말합니다. The meaning of lambda expression is defined by how expressions can be reduced lambda calculus의 의미는 expression이 얼마나 축소되는지에 따..
참고자료 https://en.wikipedia.org/wiki/Lambda_calculus#:~:text=Lambda%20calculus%20(also%20written%20as,to%20simulate%20any%20Turing%20machine. 개요 이전 게시글에선 lambda calculus를 informal하게 설명해드렸다면 이번엔 좀 더 수학적으로 정의한 것을 말씀드리는 시간을 갖도록 하겠습니다. lambda caclulus에 대해 깊숙히 알아가려고 한다면 formal하게 정의하는 방법을 숙지해야겠죠. 자료들은 formal하게 쓰여있으니까요... Formal definition lambda expression의 구성요소 variables v1, v2... 변수 v1,v2.... the abst..
출처 https://en.wikipedia.org/wiki/Lambda_calculus 선행 자료 https://jurogrammer.tistory.com/131 lambda caclulus Intro https://jurogrammer.tistory.com/132 Formal System 개요 이번 글에선 lambda calculus를 informal하게 설명하겠습니다. 그쵸.. 처음부터 formal하게 설명하면 머리아픕니다. 맥락을 파악하기 어렵구요. 따라서 formal한 정의와 사칙연산, boolean등으로 simulate하는 것은 다음에 알아보도록 하겠습니다. lambda caculus를 다시 설명하자면 다음과 같죠. formal system인데, computation 표현하기 위한 mathmet..
출처 https://en.wikipedia.org/wiki/Functional_programming https://www.geeksforgeeks.org/introduction-of-programming-paradigms/ Functional Programming 서막 Functional Programming에 대해 알고 싶은 이유 이번 년도 3월, 처음 자바스크립트를 배웠을 때 입니다. 이 언어를 처음 마주했을 때 느낌은 오묘했습니다. C언어같다가도... Java같다가도 처음보는 문법도 있었습니다. Javascript의 문법에 제가 놀란 부분은 총 3가지였습니다. Map, Closure, 그리고 함수였습니다. Map은 파이썬에서도 즐겨 사용했는데 javascript에서도 구현되어 있어서 '아... 자주..