일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- Pattern
- 백준
- 스택
- 프로그래머스
- Eclipse
- lambda calculus
- exception
- 큐
- design-pattern
- 람다 칼큘러스
- Java
- 로버트마틴
- JDBC
- Python
- javscript
- Rails
- 자바
- DesignPattern
- Collections
- 디자인패턴
- JavaScript
- solid
- Collection
- Spring
- 함수형 프로그래밍
- functional programming
- tcp
- 겨울카카오인턴
- Network
- Today
- Total
목록전체 글 (177)
개발자 노트
출처 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]를 참고..
출처 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에서도 구현되어 있어서 '아... 자주..
궁금한 이유 직관적으로 식이다, 아니다라고 말할 수 있는데, 식을 정확히 뭐라고 말할 수 있을까? 왜 식을 expression이라고 부를까? expression을 왜 evaluate한다고 부를까? 이 표현을 사용한 사람들의 머리 속을 이해하고 싶어서 이 글을 작성하게 됬습니다! 참고할 내용들 1. www.splashlearn.com/math-vocabulary/number-sense/expression What is an Expression? [Definition, Facts & Example] What is an Expression? An expression is a sentence with a minimum of two numbers and at least one math operation. This..
출처 https://docs.oracle.com/javase/specs/ (오라클 Java SE 8) 목표 Java SE 8의 Exception에 알아보고, 프로그래밍 관점에서 Exception을 이해하자. (형식이 아닌 본질적인 부분) 들어가기 앞서서... 개요 프로그램이 자바 프로그래밍 언어의 의미적인 제약을 위반할 경우에 JVM은 프로그램에 exception이라는 에러를 전송합니다. 자바는 의미적인 제약이 위반되거나 또는 프로그램에 의해 제어(control)가 전이될 수 있습니다. exception이 발생한 지점으로부터 프로그램이 명시한 지점으로의 전이 말이죠. exception은 exception이 발생한 지점으로부터 던져졌다고 불릴 수 있으며, 통제가 전이된 지점에서 잡혔다고 볼 수 있습니다. ..
참고자료 https://refactoring.guru/design-patterns/visitor Intent 분류 behavioral design pattern object의 behavior을 캡슐화하고 요청을 object에 위임하는 패턴 정의 object로부터 알고리즘을 분리하는 패턴 Problem 상황 하나의 거대한 그래프로 구성된 지형 정보 앱을 개발하고 있습니다. 노드는 도시 또는 도서관같은 것이 될 수 있습니다. 노드 사이에 도로가 있다면 연결될 수 있습니다. 노드의 클래스는 노드의 유형을 나타내고, 각 특정한 노드는 객체를 나타냅니다. 요구 그래프를 XML format으로 export하라는 요구를 받았습니다. 안 좋은 접근 방법 - 노드에 로직 추가 노드에 XML exporting method..
참고자료 https://refactoring.guru/design-patterns/template-method Intent 분류 behavioral design pattern behavioral class pattern으로, 클래스간 행동(behavioral)을 분산하기 위해 상속을 이용하는 패턴 정의 알고리즘의 뼈대(skeleton)를 super 클래스에 정의하고, subclass는 super클래스의 뼈대를 바꾸지 않은 채 특정한 알고리즘을 나타내는 method를 오버라이딩하는 패턴 Problem 상황 데이터 마이닝 앱을 생각해봅시다. 이 앱은 기업 문서를 분석합니다. 유저가 데이터를 넣어줍니다. 그러면 통일된 형식으로 파싱하고 이를 분석하여 의미있는 데이터를 추출합니다. 문제 input type 추가..
참고 자료 https://refactoring.guru/design-patterns/strategy Intent 분류 behavioral design pattern object의 behavior을 캡슐화하고 요청을 object에 위임하는 패턴 정의 알고리즘의 집합을 정의하고, 각각 개별 클래스로 놓은 뒤 그 객체들을 바꿀 수 있도록 하는 패턴 Problem 상황 네비게이션 앱을 생각해봅시다. 개발 초기에 자연 경관을 볼 수 있는 루트를 알려주는 기능을 만들었습니다. 시간이 흘러 점점 요구사항이 점점 추가됩니다. 도보로 걸을 수 있는 루트를 제공해주는 기능을 추가해주고... 대중교통을 통해 갈 수 있는 루트를 제공해주는 기능을 추가해주고... 심지어 특정 도시를 경유하여 갈 수 있는 루트를 제공해주는 기능..
세줄 요약 1. design pattern 중 behavioral design pattern 2. object의 behavior을 캡슐화하고 요청을 object에 위임하는 패턴 3. object의 상태가 변할 때마다 행동을 바꾸도록 하는 패턴 참고 자료 https://refactoring.guru/design-patterns/state https://en.wikipedia.org/wiki/State_pattern Intent 분류 behavioral design pattern object의 behavior을 캡슐화하고 요청을 object에 위임하는 패턴 정의 object의 상태가 변할 때마다 행동을 바꾸도록 하는 디자인 패턴입니다. 이 때문에 object의 class가 변경되는 것 처럼 보입니다. Pro..
참고 자료 https://refactoring.guru/design-patterns/observer https://ko.wikipedia.org/wiki/%EC%98%B5%EC%84%9C%EB%B2%84_%ED%8C%A8%ED%84%B4 Intent 분류 behavioral design pattern 그룹 내 object간 어떻게 소통할 지에 대해 관한 패턴 정의 (guru) 여러 객체들이 관찰하고 있는 객체에 발생하는 이벤트를 알리기 위해 subscription 메커니즘을 정의하도록 하는 패턴 (wiki) 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다 Problem..
참고 https://refactoring.guru/design-patterns/memento memento: (사람 장소를 기억하기 위한) 기념품 정의 behavioral deisign pattern object의 behavior을 캡슐화하고 요청을 object에 위임하는 패턴 세부 구현을 캡슐화하면서 이전 상태의 object를 저장하거나 복구하는 디자인 패턴 Snapshot Pattern이라고도 불림 상황 - editor program 되돌리기 기능 구현 editor 프로그램이 있다고 생각합시다 이 프로그램은 텍스트 편집 뿐만 아니라 텍스트를 꾸미고, 이미지를 삽입할 수도 있습니다. 문제 어떻게 해야 되돌리기 기능을 구현할 수 있을까요? 되돌리기 기능을 구현하기 위해서... operation을 수행 전..