일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 겨울카카오인턴
- JDBC
- functional programming
- 로버트마틴
- design-pattern
- lambda calculus
- solid
- 프로그래머스
- 큐
- Rails
- Eclipse
- 백준
- 스택
- Network
- Collection
- Spring
- Collections
- JavaScript
- 자바
- 함수형 프로그래밍
- exception
- javscript
- 파이썬
- tcp
- 람다 칼큘러스
- 디자인패턴
- Pattern
- Java
- DesignPattern
- Python
- Today
- Total
목록컴퓨터 언어 (31)
개발자 노트
도입 lazy evaluation 개념자체는 어렵지 않습니다. 그래서 이번엔 활용성 측면 위주로 설명드리도록 하겠습니다~ 배경 지식 여태 expression과 evaluation이 헷갈리시다면 아래 글을 참조하시면 좋을 것 같습니다. https://jurogrammer.tistory.com/129 정의 evaluation 전략 중 하나로 expression의 value가 필요할 때까지 evaluation을 미루는 전략이라고 보시면 됩니다. 보통 성능 개선을 목적으로 lazy evaluation을 사용하지요. 어떻게 evaluation을 미룬 어떻게 성능을 개선할 수 있는지 한 번 살펴보겠습니다. 성능 개선의 예시 특정 조건을 만족해야만 해당 value를 사용하는 예시입니다. import time def ..
도입 closure를 영단어로 검색해봅시다. 영사전 an act or process of closing something, especially an institution, thoroughfare, or frontier, or of being closed. 폐쇄의 의미를 가지고 있죠. 그래서 처음 closure를 공부했을 때 전혀 와닿지 않았습니다. 뭐가 폐쇄되있다는 거죠? 오늘은 이 베일을 벗겨보겠습니다! closure 개념 lambda calculus는 1930년도에 나온 개념이고 closure는 1960년도에 나온 개념입니다. Peter J. Ladin이라는 사람이 1964년도에 labmda calculus expression을 평가하는 머신을 고안하는데 처음 정의되었습니다. 그후 1970년도에 Jo..
계기 이번은 좀 서론이 기네요... 넘어가셔도 좋습니다. 시작은 flux개념을 이해하는데에서 시작했습니다. 그래서 redux + canvas로 벽돌 깨기를 구현하고 있었습니다. (뭐 어떻게 삽질하니 react를 제외하고 redux만 사용이 가능하더라구요? ) 문제 - 상태 변경시, 관련된 renderer에게만 notify하고 싶다. redux에서는 상태변경시 특정 상태 변경에 대해 subscribe중인 rendering 로직이 실행됩니다. 예를 들면 공이 벽돌과 충돌한 action이 있다면 벽돌이 부셔져야겠지요? 그래서 벽돌 상태를 inactive정도로 변경했다면 벽돌을 그리는 담당을 하는 render function만 실행해야겠죠? 그런데 redux에서는 rootState로 관리하고, rootState..
출처 https://www.youtube.com/watch?v=3VQ382QG-y4 lambda calculus, boolean으로 표현! 이번 글에서는 lambda calculus가 어떻게 boolean 연산으로 전환될 수 있는지에 대해 알아보는 시간을 갖도록 하겠습니다. 출처에 적힌 내용을 바탕으로 설명드리도록 하겠습니다. 위키에 있는 내용만으로는 이해가 잘 되지 않아서 해당 유튜브를 참고했네요. 글의 구성 이 글은 총 2편에 걸쳐 작성할 것입니다. 첫 편에서는 lambda calculus에서 쓰이는 용어 대신 새의 이름으로 치환하여 함수를 소개할 것입니다. 그러면 선입견과 위화감을 줄이는데 큰 도움이 되거든요~ 그리고 다음 글에서는 어떻게 새의 이름을 실제 lambda calculus의 boolea..
Active Record 고찰 참고자료 1. steveklabnik.com/writing/the-secret-to-rails-oo-design 2. blog.carbonfive.com/does-my-rails-app-need-a-service-layer 3. bamboolab.eu/blog/being-more-effective-in-rails-with-services 4. www.codewithjason.com/rails-service-objects 5. sites.google.com/site/unclebobconsultingllc/active-record-vs-objects 6. medium.com/root-engineering/separating-data-and-code-in-rails-archite..
출처 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..
개요 이번 글에서는 Formal System에 대해서 말씀드리겠습니다. 허허; 분명 lambda calculus를 본격적으로 말씀드린다고 했는데, 막상 공부해보니 이 개념을 대충 넘어가면 안되겠더군요. lambda caclulus를 한 번 쭉 보고나서 느낀 점은 "도대체 내가 뭘 배운거지?"라는 생각이 들었습니다. 기호를 정의하고, 규칙을 정의하고, 정리를 도출하고.. 이게 lambda caclulus와 어떤 관련이 있는가? 궁금했었죠. 하하; 결론을 말씀드리자면 lambda calculus는 Formal System이기 때문에, 위 자체가 람다에 대한 Formal System을 배우는 거였습니다. 따라서 이번 글에서는 Formal System이 무엇인가?에 대해서 알아보도록 하겠습니다. 본문 정의 en..
출처 https://en.wikipedia.org/wiki/Lambda_calculus A Tutorial Introduction to the Lambda Calculus [2015 Ra´ul Rojas] https://www.youtube.com/watch?v=3VQ382QG-y4&t=2554s 개요 출처 Functional programming의 핵심 개념인 lambda caclulus에 대해 말씀드리겠습니다. 출처는 총 3개를 인용했습니다. wiki가 이런 개념은 잘 설명해주기 때문에 위키를 우선으로 봤고, 그리고 부족한 개념을 보충하기 위해 2015년에 lambda calculus의 간단히 정리한 논문인 [A Tutorial Introduction to the Lambda Calculus]를 참고..