11. Elixir is a
dynamic, functional language
designed for building scalable and maintainable applications.
Elixir is a
dynamic, functional language
designed for building scalable and maintainable applications.
21. - Dynamic type임 (요즘 대세)
- UnitTest, Dynamic Supervisor 로 보안.
- Dynamic Supervisor
- 프로세스를 무한히 늘리기 편함
22. - 도데체 함수형 언어란 무엇인가??????????
- 함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀
리하는 프로그래밍 패러다임의 하나이다. 명령형 프로그래밍에서는 상태를 바꾸는 것을 강조하
는 것과는 달리, 함수형 프로그래밍은 함수의 응용을 강조한다. (from 위키)
- 특징은 다음과 같다
- Pure function (스레드 안전 -> 병렬처리 간단함 -> WA!!!) 사실 완벽한건 아님
- 익명함수, higher-order function(아직도 익명함수, 1급함수 안되는 언어 없제????)
- 사실 중요한건 Stateless라는 특성
- C 같은 State(상태) 중심 언어와는 달라서 코딩할 때 적응이 필요
- 어떤 현상의 재현이 간단함 (버그가 엄청 생기지 않음!)
- (딴이야기긴 한데) 재귀 짜기가 쉬움.
- 패턴매칭덕분임
23. - Erlang 승차감 조쿠요
- 언어단에서 지원해주는 것도 많음
- 저는 자세히 모르고 Discord가 잘 압니다
- https://blog.discordapp.com/scaling-elixir-f9b8e1e7c29b
24. - 얼랭 자체가 안전성에 미친 사람들이 만듬
- 실시간 코드 변경
- 유닛 테스트
- Supervisor 모델
25. - 문제가 되는 놈만 죽이자!
- 초기상태? 그냥 바로 만들어보자
- 이걸 해주는 것이 Supervisor
사실 Erlang꺼임
ㅎㅎ;;;ㅈㅅ…ㅋㅋ!!
44. - 기능이 안정적이다
- 언어 버전이 올라갈 때 묶인 기능이 같이 올라감
- 선택의 고민을 할 필요가 없음 (선택의 여지가 없다는 말도 되지만…)
- 서포트가 안 끊긴다(언어가 살아있는 한 아마도…)
- 간단하게 올리기 쉽다.
- 기본 제공하고 플러그인 설치는 다르지 않을까요. 이미 제공되어있는거니…
46. Actor 끼리 Message로 통신
https://www.brianstorti.com/the-actor-model/ https://hamait.tistory.com/716
•Create more actors
•Send messages to other actors
•Designate what to do with the next message
47. 편하게 쓸 수 있게
이미 준비되어있다.
https://hamait.tistory.com/716
48. - 기능이 안정적이다
- 언어 버전이 올라갈 때 묶인 기능이 같이 올라감
- 선택의 고민을 할 필요가 없음 (선택의 여지가 없다는 말도 되지만…)
- 서포트가 안 끊긴다(언어가 살아있는 한 아마도…)
- 간단하게 올리기 쉽다.
- 기본 제공하고 플러그인 설치는 다르지 않을까요. 이미 제공되어있는거니…
56. 아까 봤던 액터 모델
그럼 데이터는 어떻게 주고받지?
DB는 하나일텐데, DB도 액터인가?
-> 공유자원을 쓸 수 밖에 없는 상황이 생기기
에 완벽하게 모든게 Pure Function인건 아님
EX) ETS, DB ADAPTER, FILE
대체적으로 원칙이 지켜짐.
(가끔 안되서 짜증나긴 하는데) 편함