분류 전체보기
-
변수와 애텀(Atom)Elixir 프로그래밍 2019. 7. 28. 01:05
Elixir를 배우기 시작하면서 가장 혼동이 오는 부분이 변수와 애텀이었습니다. 애텀은 ? 거의 모든 언어에서 부울린값으로 true, false 를 사용합니다. 그냥 0, 1 을 true, false의 의미로 사용할 수도 있는데, 왜 'true'와 'false'라는 단어를 사용할 가요..? 코드의 의미가 더 분명해지기 때문이지요.. 그럼 true, false 외에 ok, not_good, invalid 등은 사용할 수 없나요 ? c 에서는 define 으로 사용할 수 있습니다. 그런데, 이런 워드를 굳이 define을 하고 사용해야 할가요.? define 없이 그냥 사용하면 안될까요..? Elixir에서 애텀이 이런 용도입니다. define 하지 않고, 그냥 내가 정의해서 사용할 수 있는 워드.. 그게 ..
-
함수와 함수의 입출력Elixir 프로그래밍 2019. 7. 27. 23:25
함수는 입력을 받아 이에 대한 조작을 하여 출력을 생성합니다. 출처 : https://www.javatpoint.com/edp-full-form 위의 그림에서 "Processing"이 함수가 됩니다. 위의 코드에서와 같이 Elixir의 함수는 def functionname(parameters) do code... ....... end의 형태를 가지고 있습니다. 주의해야 할 사항은 함수의 이름은 반드시 영대 문자로 또는 숫자, 특수문자로 시작하지 않아야 합니다. 위의 코드 예제에서와 같이 함수의 이름은 "add"일 수도 있고, "합계"일 수도 있습니다. Elixir는 유니코드를 지원하므로, 영어가 아닌 다른 언어로 함수 이름을 지정하는 것도 가능합니다. Elixir의 함수는 다른 언어의 함수와는 조금 다른..
-
Elixir 의 데이터 형(Type)Elixir 프로그래밍 2019. 7. 26. 15:31
사족일 수 있지만, 컴퓨터는 사실 모든 정보를 숫자로 저장, 연산 처리를 합니다. MP3, JPG 이미지, 워드 문서 등등 컴퓨터가 처리하는 모든 정보 내용은 컴퓨터 내에서 수치화되어서 처리가 됩니다. 이는, 컴퓨터로 처리할 수 있기 위해서는 수치화를 해야한다는 것을 의미합니다. 인터넷 뱅킹을 하는 것도, 내가 가진 자산을 은행의 시스템에서 수치화한 거고, 송금을 하는 것은 내 자산의 수치를 감소하고 입금을 받는 사람의 자산에 수치를 증가시키는 것으로 볼 수 있습니다. 냄새를 아직 컴퓨터로 처리하지 못하는 것은 (어떤 물질을 컴퓨터로 분석하는 것과는 다른 - 어떤 냄새를 한 인터넷으로 다른 사람에게 보내지 못하는 것은) 냄새를 수치화하지 못하기 때문입니다. 결국은 컴퓨터는 현실의 어떤 개념이나 물질을 디..
-
함수로 데이터를 조작하는 것과, 데이터를 조작할 함수들을 배치하는 것의 차이Elixir 프로그래밍 2019. 7. 26. 10:51
흔히들 함수형 언어는 , 그 출발이 람다(Lambda) 연산이라 합니다. 람다 연산은 데이터들에 함수를 적용하는 것이라 할 수 있습니다. 아래의 두 코드를 비교해 보죠. 두 코드 모두 array에 있는 값들을 2배씩 증가시키는 코드입니다. c code 예제 elixir code 예제 두 코드를 비교해 보면, c의 코드는 "데이터에 조작을 가하는 코드 (또는 함수를) 작성한다"라고 볼 수 있습니다. 이에 반해, Elixir는 , "데이터에 적용할 함수를 배치한다" 라 할 수 있습니다. 간단한 코드라 별 차이가 없어 보이지만, 실무에 적용하면 이 둘의 차이는 엄청나 집니다. C의 코드는 Side Effect 가 생기게 됩니다. 만일 두 개 이상의 Thread가 동시에 같은 코드를 실행한다면, 당연히 문제가 ..
-
함수형 언어 : 함수와 데이터Elixir 프로그래밍 2019. 7. 2. 22:59
스칼라, 하스켈, Swift , Java 8의 함수형 프로그래밍 지원, Python의 Lamdba, 모두 함수형 언어 또는 함수형 언어 개념을 가지고 있다고 합니다. 무언가 좋은 것이 있으니, 함수형 언어가 세상에 많이 나오고 있겠지요. 이 글은 함수형 언어에 대한 내용을 간략히 적겠습니다. 함수는 이미 프로그래밍에서 익숙한 개념입니다. 어떤 주어진 데이터에 대한 처리를 하여 그 결과를 생성하는 코드의 묶음 정도로 생각할 수 있을 것입니다. 다른 프로그래밍 언어에도 있는 함수인데 왜 굳이 함수형 언어라고 할까요? 사실, C++ , Java 등의 OOP 언어는 중심이 Class 입니다. 실 세계를 Class로 모델링하고 이 Class는 사실 데이터와 이 데이터를 처리할 함수(메소드)의 묶음으므로 볼 수 있..
-
EDPS(컴퓨터) 와 함수Elixir 프로그래밍 2019. 7. 2. 16:20
출처 : https://www.javatpoint.com/edp-full-form EDP Full Form - javatpoint EDP full form, EDP stands for, meaning, what is EDP, description, example, explanation, acronym for, abbreviation, definitions, full name www.javatpoint.com EDPS : Electronic Data Processing System 전산을 전공하신 분은 들어보셨을 용어입니다. 컴퓨터를 다른 말로 EDPS 라고 합니다. 말 그대로 전자적인 데이터 처리 시스템입니다. 위의 그림에서와 같이 어떤 "데이터를 입력"받아서 어떤 "처리"를 한 후, 그 결과 "데이터(..
-
함수형 프로그래밍 언어 : ElixirElixir 프로그래밍 2019. 7. 2. 16:18
가장 첫 글은 다음의 그림으로 시작하고자 합니다. 출처 : https://nesoy.github.io/articles/2018-05/Functional-Programming 저는 프로그래밍을 꽤나 오랫동안 했습니다. 대략 30년이 넘었습니다. 처음 시작한 언어는 Apple II로 시작한 Basic 이었습니다. 그 후, Fortran, Pascal, C, C++, Java 등의 언어를 익혔고 이중 현업에서 가장 많이 사용한 언어는 C++입니다. C로 개발을 한 기간도 길고, 지금도 C에서 C++로 넘어가던 때의 기억이 생생합니다. C에서 Global variable이 없어지고, 객체라는 것으로 사물을 모델링하고, 객체 간의 연동을 통해서 프로그램을 개발할 수 있음을 느꼈을 때의 희열을 잊을 수 없습니다. ..