분류 전체보기
마티유 리카르, 볼프 싱어, <나를 넘다> - 의식의 2가지 서로 다른 측면
2018. 5. 24.1) 기본적인 측면 (지속성) : 정신에 담긴 내용물이 무엇이든 존재, 항상 존재하는 깨어있는 의식2) 우연적인 측면 : 끊임없이 변화하는 정신적 작업들에 대한 것정신의 기본 특성도 모든 정신의 구조 (사랑, 분노, 즐거움, 질투, 기쁨, 고통 ) 들이 정신의 변질없이 빛이나 거울처럼 그대로 드러나도록 한다.거울의 특성은 모든 이미지를 비추어 보여주는 것이며, 어떤 경우에도 그 이미지가 거울에 소속되거나, 통과하거나, 그 속에 남아있지는 않는다.순수한 주의력 또는 완전한 의식에서 얻는 관점에서 우리의 강렬한 감정을 포함한 자신의 모든 생각들을 관찰할 수 있다. 생각은 깨어있는 순수한 존재의 발현으로 바다에서 일었다가 다시 바다로 흩어지며 사라지는 파도의 이미지와 같다. 이때 파도와 바다는 근본적으로 다른..
미키 다케노부, <초고속성장의 조건 PDCA> - 일을 빠르게 진행하지 못하는 이유
2018. 5. 24.일을 빠르게 진행하지 못하는 이유 1) 계획에 완벽함을 추구한다 2) 일구입혼(一球入魂: 공 하나하나에 혼을 담아서 던진다) 주의 : 하나씩 차례차례 시험해보면 엄청난 시간이 걸린다 3) 기한을 느슨하게 설정하기 때문이다. 목표를 설정하고 그것을 달성했는지 확인하는 간격이 일주일이나 1개월인 까닭에 왜 자신이 그 목표를 달성할 수 있었는지, 또는 왜 달성하지 못했는지 알지 못한다. 4) 수치로 설정되지 않은 모호한 목표때문이다. 5) 어중간한 검증 때문이다. 여러 방법을 차례대로 시험해보는 가운데 무엇이 가장 효과적인 방법인지를 알 수 없게 되어 최종 결과물이 확실하게 드러나지 않은 채 업무가 끝나버린다. 6) 자기 힘으로 해야 한다는 생각때문이다. 어떤 일을 시작할 때마다 기초부터 공부하기 시작. 초고..
Rufus 를 이용해 윈도우 부팅 USB 만들기
2018. 5. 3.rufus 를 이용해 부팅 가능한 윈도우 USB 를 만들어보자. Rufus 최신버전은 아래 사이트에서 다운로드할 수 있다. 현재 최신 버전은 2.1.8 버전이다. https://rufus.akeo.ie/ 다운로드받은 rufus 를 실행한다. USB 를 꽂으면 아래와 같이 기본 셋팅이 된다. 아래와 같이 원하는 ISO 이미지를 불러온다.여기서는 Windows 7 Professional K SP1 64비트를 선택했다. 시작을 누르면 USB에 부팅 가능한 윈도우가 만들어진다. 해당 USB 내용을 살펴보면 다음과 같다.
NASBA 페이스북 채팅 - CPA Exam Process 에 대해서 (5/17 진행예정)
2018. 5. 3.NASBA 에서는 매달 CPA 시험과 관련된 세부적인 주제로 페이스북 채팅 시간을 가지고 있습니다. 이번에는 CPA Exam Process 라는 토픽을 가지고 다음과 같이 채팅 이벤트를 진행하오니 관심있으신 분들의 많은 참여 바랍니다. 일정은 다음과 같습니다. Upcoming Facebook ChatTopic: Everything You Want to Know About the CPA Exam Date/Time: May 17 at 10 a.m. CDT Experts: Patricia Harman and Seth Goodowens 해당 이벤트에서는 한 명 이상의 전문가가 직접 참여하여 참여자들의 질문에 상세히 답변해드리고 있습니다. 물론 진행 시간이 제한이 되어 있어 모든 질문에 다 답해드리지는 못하는데요..
선택한 디스크가 GPT 파티션 스타일입니다.
2018. 5. 3."이 디스크에 Windows를 설치할 수 없습니다. 선택한 디스크가 GPT 파티션 스타일이 아닙니다”라는 오류 메시지가 표시되는 것은 PC가 UEFI 모드에서 부팅되었지만 하드 드라이브가 UEFI 모드를 지원하도록 구성되지 않았기 때문이다. 이 경우 아래와 같이 처리할 수 있다. GPT 파티션 스타일로 변환(UEFI 모드)하거나, 기본 파티션 스타일인 MBR (레거시 BIOS 호환 모드)로 사용하는 2가지 방법이 있다. 먼저, GPT 파티션 변환은 다음과 같이 할 수 있다. 1) PC를 끄고 Windows 설치 DVD 또는 USB 키를 넣은 후 부팅한다. Esc, F2, F9, F12 등의 키를 눌러서 부팅 메뉴가 표시되면 UEFI 모드의 DVD 또는 USB 키로 부팅한다. 2) Windows 를 설치..
조지 레이코프, <나는 진보인데 왜 보수의 말에 끌리는가?> - 사실만을 나열하는 일을 정말로 그만해야 한다
2018. 4. 23.12. 미국에서 삶을 꾸려가는 사람들은 모두 공공의 부를 이용하고 있습니다. 사업을 해 어마어마한 돈을 버는 사람들 역시 공공의 돈을 투입한 이 기반시설을 이용해 자신의 사업체를 설립하고 유지하죠. 그리고 더 많은 돈을 벌수록 당신은 아마도 이러한 기반 시설을 더 많이 사용할 것입니다. 구체적으로 말하면, 광고도 더 많이 하고, 더 많은 물품을 수송하며, 더 많은 계약을 하고, 더 많은 융자를 받는 등의 방식으로 말이죠. 그래서 당신이 거대한 기업체응 운영하기 때문에 다른 사람들보다 이 기반 시설을 더 많이 사용한다면, 이 기반시설을 유지하는 데 세금으로 공정한 몫을 내야 합니다. 많은 사람들은 자신이 살아가면서 이 기반 시설을 이용한다는 사실을 인식하지 못합니다. 그들은 자신이 우리의 공동 재산에 심히..
조지 레이코프, <나는 진보인데 왜 보수의 말에 끌리는가?> - 우리의 경험은 우리의 추론 방식을 구조화한다
2018. 4. 23.1. 우리의 경험은 우리의 추론 방식을 구조화합니다. 어떤 시냅스를 더 자주 사용할수록 연결은 더 강하게 되고, 연결된 뉴런은 더 쉽게 활성화됩니다. 조금 전에 우리가 논의했던 수직성과 양의 경우처럼 뇌의 두 지역이 동시에 활성화될때, 이 두 지역은 강한 시냅스 연결을 확대합니다. 그리고 이 두 지역을 연결하는 신경경로상의 분산 활성화를 통해 신경회로가 형성되죠. 그리고 이 회로가 바로 은유입니다. 2. '메타포로이(metaphoroi)' - 'metaphor(은유)'는 어원이 그리스어이고 축자적으로 '사물을 다른 한 장소로 옮기다'를 의미합니다. 따라서 은유적 인지는 (보통은 더 추상적인) 한 인지영역에 대해 사유하기위해 (보통은 우리가 세계 내에서 직접 경험 할 수 있는) 다른 한 인지영역의 요소에 ..
AICPA 출제범위, CPA Exam Blueprints 활용법
2018. 4. 23.시험 준비를 위한 최종 가이드로 여길 것전편에서도 언급했듯이, 블루프린트는 CPA 시험 컨셉에 대한 개요를 제시한다. 물론 구체적인 시험 내용으로는 들어가지는 않는다. 하지만, 블루프린트는 여전히 유용하다. AICPA 에 따르면, 블루프린트를 살펴보는 과정을 통해 시험에 나오는 토픽의 종류와 해당 토픽을 어느 정도의 수준으로 다루어야하는지를 알 수 있으며, 비중있게 다루어지는 내용은 무엇인지 알 수 있다.그리고 AICPA는 시험 컨텐츠에 대해서는 투명성을 유지할려고 최선의 노력을 다하고 있는데, AICPA Senior Manager 인 Joseph Maslott 에 따르면, 블루프린트는 여러분이 믿든 안믿든 시험에 무엇이 나오는지 분명히 알려주는 공적인 문서라고 말하고 있는데, 블루프린트를 시험 준비를 ..
AICPA 출제범위, CPA Exam Blueprints 가 말해주는 것들 (비중, 스킬 레벨)
2018. 4. 23.AICPA는 블루프린트를 활용하여 CPA 시험의 토대를 만듭니다. 블루프린트는 토픽별로 구성된 일련의 회계업무를 말하는데요, 신입 회계사가 꼭 알아야할 내용들로 구성됩니다. 즉, 아래의 내용에 대해 추론이 가능합니다. 어떤 내용이 시험에 나올지어느 정도의 범위를 커버하는가각각의 컨셉은 어느 정도의 난이도로 테스팅되는가 Content Coverage블루프린트는 각 시험 섹션에서 커버하는 컨텐츠의 비율도 알려줍니다. 예를 들면, FARE 는 다음의 컨텐츠 영역으로 구성됩니다.예를 들어, State and Local Governments 나 Select Financial Statement Accounts 에 더 많은 시간을 할애해야하는지 고민중이라면, 블루프린트의 위와 같은 도표가 도움이 될 것입니다. Ski..
호리에 다카후미, <다동력> - 지향해야할 것은 '완벽'이 아니라 '완료'
2018. 4. 21.온갖 산업의 장벽이 무너지는 시대에는 각 업종의 벽을 가볍게 드나들 수 있는 인재가 요구된다. 그리고 그런 인재에게 가장 필요한 능력이 바로 끊임없이 자신의 관심사를 바꿔나가는 '다동력'이다.아웃풋의 양이 많으면 이야기의 내용이 대체로 비슷해질 수 밖에 없다. 호리에 다카후미라는 사람의 본질이 변할리 없으므로, 복수의 기자에게 A라면 질문을 받으면 B라는 대답을 조금씩 변형시켜가면서 하는 수 밖에 없다. 완벽주의자는 이미 끝낸 일을 확인하고 또 확인하느라 개미지옥에서 빠져 나오지 못한다. 그러나 지향해야할 것은 '완벽'이 아니라 '완료'다. 눈 앞의 업무를 빠르게 끝내고 다음으로 넘어간다. 그리고 이미 끝낸 업무로는 되돌아오지 않는다. 대량의 프로젝트를 동시에 진행할려면 '완료주의자'가 되어야 한다.빠져..
우리가 반서재 Antilibrary 를 가져야하는 이유
2018. 4. 21.나심 니콜라스 탈레브의 저서 에 등장하는 반서재라는 개념이 등장한다. "Antilibraries"는 우리가 소장은 하고 있지만 아직까지 읽지는 못한 책들을 의미하는 것으로, 지적인 호기심과 겸손을 일깨워준다. 개인 서재는 단지 자신을 뽐내기 위한 부속물이 아니라 탐구 도구이다. 읽은 책 보다는 아직 읽지 않은 책이 더 중요하다. 서재는 자기가 모르는 것들을 반드시 포함하고 있어야 한다. 나이가 들수록 물론 더 많은 지식과 책을 가지게 될 것이고, 책장에 놓인 아직 읽지 못한 책이 여러분을 위협적으로 쳐다보고 있을 것이다. 그리고 아는 게 많아질수록 읽지 못한 책은 더 쌓여만 갈 것이다. 그리고 우리는 이런 책들을 반서재(antilibrary) 라고 부른다. 아직 배울게 많고, 배움은 끝나지 않는다는 것을..
풍요와 빈곤을 가르는 단 하나의 결정 One Decision Separates The Wealthy From The Non-Wealthy
2018. 4. 20.좀 더 몰입하기 위해서는 행위에 대한 더욱 빠르고 타이트한 피드백을 주어야 한다. 행동에 대한 결과를 항상 의식하도록 해야 한다. 그리고 Time and Effort Economy 가 아닌 Results Economy 에 살아야 한다.인생에 더욱 몰입하기 위한 방법 중 하나는 더욱 짧은 시간안에 더 많은 것을 생산해내는 것이다. 제한 시간을 두고 그 시간이 지나면 결과물이 어찌되었건 게시를 하고 파트너에게 이 사실을 알린다. 블로그를 통해 목표와 데드라인을 정하는 것도 하나의 방법이겠다.NNT 가 얘기했듯이 자신의 견해에 대한 리스크를 지지 않는다는 그 자체로 당신은 아무 것도 아닌 것이다. 그리고 어떤 것을 얼마나 믿는냐를 보여주는 것은 그것에 대해 리스크를 기꺼이 얼마나 지려고 하는가를 통해서다. 심..
Functional Programming with Haskell - fromTo
2018. 4. 20.정수의 범위로 된 리스트를 생성하는 다음 함수를 보자.123456789 Prelude Data.Char> let fromTo first last = [first..last]fromTo :: Enum t => t -> t -> [t] Prelude Data.Char> fromTo 10 15[10,11,12,13,14,15]it :: (Enum t, Num t) => [t]Prelude Data.Char> Colored by Color Scriptercs cons 연산자를 사용하여 fromTo 의 재귀적 버전을 작성해보자.12fromTo first last | first > last = [] | otherwise = first : fromTo (first+1) lastcs 대체와 다시쓰기를 통해 fromTo..
Functional Programming with Haskell - "cons" lists
2018. 4. 20.대부분의 functional languages 와 마찬가지로, 하스켈의 리스트는 "cons" 리스트이다. "cons" 리스트는 2개의 부분으로 구성된다. head: a valuetail: a list of values (빈 리스트도 가능): ("cons") 연산은 값과 동일한 타입의 값으로 구성된 리스트(혹은 빈 리스트)로부터 새로운 리스트를 생성한다.12345678 Prelude> 5 : [10,20,30][5,10,20,30]it :: Num a => [a] Prelude> :type (:)(:) :: a -> [a] -> [a] cs cons (:) 연산은 값과 리스트로부터 새로운 리스트를 만든다.1234567891011121314151617181920212223242526272829 Prelude..
Functional Programming with Haskell - Strings are [Char]
2018. 4. 19.하스켈에서 문자열은 단순히 문자의 리스트이다. 1234567891011121314151617 Prelude> "testing""testing"it :: [Char] Prelude> ['a'..'z']"abcdefghijklmnopqrstuvwxyz"it :: [Char] Prelude> ["ust","a","test"]["ust","a","test"]it :: [[Char]] Prelude> ["just","a","test"]["just","a","test"]it :: [[Char]] cs 리스트에서 사용가능한 함수는 모두 문자열에서도 사용할 수 있다.123456789101112 Prelude> let asciiLets = ['A'..'Z'] ++ ['a'..'z']asciiLets :: [Char] P..
Functional Programming with Haskell - Comparing lists, Lists of Lists
2018. 4. 19.Comparing lists하스켈 리스트는 값이고, 값으로 비교가능하다. 아래를 보자.12345678910 Prelude> [3,4] == [1+2,2*2]True Prelude> [3] ++ [] ++ [4] == [3,4]True Prelude> tail (tail [3,4,5,6]) == [last [4,5]] ++ [6]True Colored by Color Scriptercs리스트의 비교는 사전 편찬상의 순서를 따른다. 대응되는 원소간의 비교는 서로 다른 것이 나타날 때까지 계속되고, 서로 다른 원소를 비교결과가 그 리스트의 비교 결과가 된다. 123 Prelude> [1,2,3] [1,2,3] [1,2,3] [1,2,3] > [1,2]True Prelude> [1..] let x = [[1],..
AICPA 시험 올해 REG 합격이 중요한 이유
2018. 4. 19.최근 AICPA 보드는 2019년 1월 1일을 “Tax Cuts and Jobs Act” (Public Law No. 115-97 An act to provide for reconciliation pursuant to titles II and V of the concurrent resolution on the budget for fiscal year 2018) 에 관련된 내용이 출제되는 시기로 승인했다. 올해 응시를 계획중이라면 특히 REG 섹션은 꼭 볼 수 있도록 하는 것이 중요하다. 왜냐하면, 지난해 말 새롭게 개정된 법률이 시험에 반영되는 것이 2019년 1월로 예정되어 있기 때문이다. 그 때가 되면 새로운 법률안의 면면에 대한 이해뿐만 아니라, 실제 상황에 어떻게 적용해야하는지 역시 손에 익혀야하..
Functional Programming with Haskell - Lists basics
2018. 4. 17.하스켈에서 리스트는 같은 타입을 가진 연속된 값을 의미한다. 아래는 리스트는 만드는 간단한 방법으로, 각각의 타입에 주목해서 살펴보자.12345678910111213141516171819 *Main> [7,3,8][7,3,8]it :: Num t => [t] *Main> [1,3,10,4,9.7][1.0,3.0,10.0,4.0,9.7]it :: Fractional t => [t] *Main> ['x', 10] :79:7: No instance for (Num Char) arising from the literal ‘10’ In the expression: 10 In the expression: ['x', 10] In an equation for ‘it’: it = ['x', 10] Colored by C..
<감정의 브레이크를 제거하는 법> - 현재 상태를 유지하려는 그저 단순한 매커니즘
2018. 4. 17.잠재의식은 현재 상태를 유지하려고 한다.부자는 바람직하고 가난은 나쁘다와 같은 구별이 잠재의식에는 없다. 그저 단순한 매커니즘으로 '현재 상태를 유지하려고 한다'. 이것이 잠재의식의 중요한 임무 중 하나이기 때문이다. 이런 식으로 잠재의식은 어찌됐건 '현상유지' 하려고 한다. 이것이 부자는 부자라서 부자라고 말한 이유이다. 부자가 부자인 것도 가난한 사람이 가난한 것도 잠재의식적으로는 똑같다는 얘기다. 즉, 단순한 '현상 유지'의 결과라는 것이다. 첫 걸음이야말로 가장 큰 에너지가 필요하다는 사실을 무시한채 노력을 '균등 할당'으로 생각하기 때문에 잘 나가지 못하는 것이다. 기분이 고양되면 그 감정을 그 자리에서 '행동'으로 바꿀 것감정은 내버려두면 사라진다. 이 사실을 확실하게 이해해야만 비로소 '내버..
Functional Programming with Haskell - Recursion
2018. 4. 17.함수 자신을 직접 또는 간접적으로 호출하는 함수를 재귀함수라고 한다. 정수의 팩토리얼(N!) 을 계산하는 것이 전형적인 재귀의 예시이다. 그럼 이를 하스켈로 작성해보자. 그리고 그 타입이 무엇인지 알아보자. 12factorial n | n == 0 = 1 | otherwise = n * factorial (n-1)cs 1234567891011121314 *Main> :load factorial[1 of 1] Compiling Main ( factorial.hs, interpreted )Ok, modules loaded: Main. *Main> :type factorialfactorial :: (Eq a, Num a) => a -> a *Main> factorial 4081591528324789773434..
Functional Programming with Haskell - Haskell's if-else
2018. 4. 16.하스켈 if-else 의 간단한 예를 보자. 123456 *Main> if 1 a*Main> cs 그럼, 자바에서 어떤가? 자바의 if-else 는 구문이다. 하스켈 if-else 와 유사한 것은 자바의 조건연산자이다. 아래는 자바 조건(삼항) 연산자의 예로, 값의 도출이 필요할 때 사용할 수 있는 expression 이다.11 if 1 a*Main>*Main> :type if 1 *Main> :type if 1 *Main> if 1
<굳은 생각 깨부수기>, 하세가와 마사아키 - 공약수가 아닌 공배수 찾기
2018. 4. 16.당연하다고 여기는 대부분은 확신에 불과하다는 것을 인식할 필요가 있다. 로저 생크의 말처럼, "문장 전체의 의미(context)가 먼저 존재하고, 부분(말)의 의미는 나중에 정해진다. 그리고 콘텍스트는 사람에 따라 바뀐다." 자신이 중요하다고 생각하는 것이 맹점을 만든다. 기존의 사고방식부터 무너뜨려야 한다. 과거가 현재를 만들고, 현재가 미래를 만들고 있다라는 사고방식은 가능성을 제한한다.단지 현재를 아는데 불과하다. 현재를 관측해야 비로소 과거와 현재가 연결된다고 인식할 수 있다. '슈뢰딩거의 고양이'처럼 상자를 열어야만 결과를 알 수 있다. 실제로 관측할 때까지 현재와 과거의 원인과 결과는 이어지지 않는다. 현재의 관측이라는 행위가 과거의 행위와 현재를 연결하고 있다. 즉, 현재의 관측이 원인이 되..
2018 AICPA 시험 점수 발표 일정 안내
2018. 4. 16.AICPA 시험은 새로운 사용자 인터페이스 변경 등 2018년 다수의 변화를 겪고 있습니다. 이러한 변화는 아무래도 결과 발표에 영향을 주게 마련입니다. 2018년 시험 변경 이후 2, 3, 4 쿼터 결과 발표일정에 대해 알려드립니다.2018년 2쿼터 (4/1~6/10)응시기간결과발표일4/1 ~ 6/10AUD, FAR, REG: 6/27 BEC: 6/292018년 2쿼터 (7/1~9/10)응시기간결과발표일7/1 ~ 8/319/119/1 ~ 9/109/192018년 4쿼터 (10/1~12/10)응시기간결과발표일10/1 ~ 11/3012/1112/1 ~ 12/1012/19 AICPA 는 2018년 이뤄진 시험의 데이터를 수집하여 업데이트된 시험을 평가할 필요가 있습니다. 다수의 품질 검증 절차를 통해 채점의..
Functional Programming with Haskell -Guards
2018. 4. 13.현재까지 살펴본 함수를 정의하는 일반적인 형식은 다음과 같다. let name param1 param2 ... paramN = expression 주어진 3개의 값의 최소값을 계산하는 min3 라는 함수를 정의해보자. Prelude는 min 이라는 함수를 가지고 있다. 이를 이용해서 작성해보자.1234567 Prelude> let min3 a b c = min a (min b c)min3 :: Ord a => a -> a -> a -> a Prelude> min3 5 2 102it :: (Num a, Ord a) => acs Guards아래 함수는 3가지 경우를 대비하여 가드를 사용한 예이다. 123sign x | x smaller 7 107it :: (Num a, Ord a) => a*Main> sma..
2018년 1쿼터 AICPA 합격률 분석 2018 CPA Exam Pass Rates
2018. 4. 13.2018 CPA Exam Pass RatesUniform CPA Examination Pass Rates 2018섹션1쿼터FAR41.59%REG49.99%BEC56.43%AUD49.27% 2018년 1쿼터 합격률이 얼마전 발표되었는데요, 이번 발표에서 주목할만한 점은 무엇인지, 그리고 향후 전망은 어떻게 될지 살펴보겠습니다. FAR 2018년 1쿼터 합격률은2017년 1쿼터 FAR 합격률 보다 1.5% 낮은 수치최근 12년간의 FAR 1분기 합격률보다도 낮은 수치로, 두 번째로 낮은 FAR 1분기 합격률인 2006년의 42.10%보다 0.6% 낮은 수치2006년* 이후 모든 쿼터 통틀어 가장 낮은 FAR 합격률* AICPA의 온라인을 통한 합격률 발표는 2006년부터 시작되었으므로 그 이전의 수치는 사용..
Functional Programming with Haskell - Function/operator equivalence CSC 372
2018. 3. 31.하스켈 연산자는 중위폼이 적용된 함수라고 볼 수 있다. 연산자에 대해서 더 알고 싶으면 아래와 같이 :info 를 사용한다.123456 Prelude> :info (^)(^) :: (Num a, Integral b) => a -> b -> a -- Defined in ‘GHC.Real’infixr 8 ^Prelude> Colored by Color Scriptercs여기서 (Num a, Integral b) => a -> b -> a 가 의미하는 것은 첫 번째 피연산자는 number 이고 두 번째는 integer 여야 한다는 것이다. infixr 8 의 의미는 right-associative 이고, 8의 우선순위를 갖는다는 의미이다. 하스켈 연산자의 우선순위에 대해서는 아래를 참조한다.Precedence..
Functional Programming with Haskell -Specifying a function's type and indentation
2018. 3. 31.Key points: • Integer -> Char -> Char 와 같은 타입을 가진 함수의 경우, Integer 과 Char 라는 2개의 인수를 갖고, Char 를 결과로 반환한다. • f x y z 와 같은 함수 콜이 의미하는 것은 ((f x) y) z 이고 개념적으로는 2개의 이름없는 임시함수가 생성된다. • 요구되는 것보다 적은 인수로 함수를 호출하면 partial application 이 생성된다. Specifying a function's type 함수의 정의와 함께 함수의 타입을 특정하는 것이 일반적이다. Continuation with indentation 하스켈 소스 파일은 연속되는 선언의 모음이나 마찬가지다. 아래 2개의 선언을 포함한 파일을 살펴보자. 12345 (blackbria..
Functional Programming with Haskell - Functions with multiple arguments
2018. 3. 30.2개의 인수를 가지고 합을 구하는 함수가 있다.1234567Prelude> let add x y = x + y ::IntegerPrelude> add 3 58 Prelude> :type addadd :: Integer -> Integer -> Integer Colored by Color Scriptercs -> 연산자는 right-associative 이므로, 위의 의미는 아래와 같다.add :: Integer -> (Integer -> Integer) 이것은 무슨 의미인가? negate 함수를 다시 떠올려보자. 12Prelude> let neg x = -x ::Integerneg :: Integer -> Integercs여기서 다시 add 를 등장시키자. 우선 순위를 보여주기 위해서 괄호를 이용하자.1..
Functional Programming with Haskell - Loading functions from a file
2018. 3. 30.함수의 정의를 파일에 넣어서 사용할 수 있다. 이 경우 let 은 불필요하다. simple.hs 파일에 아래와 같이 4개의 함수를 입력하고 저장하자. .hs 확장자는 반드시 필요하다. simple.hs1234double x = x * x ::Integerneg x = -x::IntegerisPositive x = x > (0::Integer)toCelsius temp = (tem[ - 32) * 5/(9::Double)cs 다음과 같이 커맨드라인에서 해당 파일의 내용을 확인해보자. 12345(blackbriar) root@gcloudx:~/blackbriar# cat simple.hsdouble x = x * x ::Integerneg x = -x::IntegerisPositive x = x > (0::..
Functional Programming with Haskell - Simple functions
2018. 3. 30.그럼 간단한 함수를 작성해보자.1234567891011121314151617181920Prelude> let double x = x * 2double :: Num a => a -> a Prelude> :t doubledouble :: Num a => a -> a Prelude>Prelude> double 510it :: Num a => a Prelude> double 2.75.4it :: Fractional a => a Prelude> double (double (double 111111111))888888888it :: Num a => aPrelude> Colored by Color Scriptercs좀 더 예를 살펴보자.12345678Prelude> let neg x = -xneg :: Num a =..