분류 전체보기
우분투에 클로져 설치하기 Installing clojure on ubuntu
2018. 8. 4.아래의 내용을 같이 실행하려면 일단 터미널이 설치되어 있어야 한다. 터미널 화면으로 진입하여 다음의 순서대로 따라해보자. 자바 설치 여부 확인터미널에 java -version이라고 입력한다. 자바가 설치되어 있지 않다면, 아래와 같이 보일 것이다. 12345678910$ java -version Command 'java' not found, but can be installed with: apt install default-jreapt install openjdk-11-jre-headlessapt install openjdk-8-jre-headlessapt install openjdk-9-jre-headless Ask your administrator to install one of them.cs위의 명..
스티븐 크라센, <크라센의 읽기 혁명> - 언어습득은 출력이 아닌 입력으로부터, 연습이 아닌 이해로 이루어진다.
2018. 8. 4.언어는 학습이 아니라 습득이다. 즉, 몰입할 때 배운다. 영어를 접하기 어려울 때 영어에 노출될 수 있는 최고의 방법은 바로 '책 읽기'다. 다양한 소재, 수준, 장르의 글을 읽음으로써 실제적인 글 (authentic text) 를 접할 수 있다. 이를 기억하고, 자신의 언어로 사용한다. 철자가 틀린 단어를 읽으면 철자법이 오히려 더 나빠진다. 학생이 쓴 에세이를 읽는 것이 위험한 이유가 바로 여기에 있다. 읽기환경(print environment) -> 자율독서(Free Voluntary Reading) -> 리터러시 발달(literacy Development) 짐 트렐리즈의 3B (자녀의 독서를 촉진하는 방법)책에 대한 주인의식 (Book Ownership)책꽂이 마련하기 (Book Rack)잠들기 ..
2018년 2쿼터 AICPA 시험 합격률 분석 및 3쿼터 전망
2018. 8. 2.2018-08-23 (금) 제목 : 2018년 2쿼터 AICPA 시험 합격률 분석 및 3쿼터 전망 내용 : 올해 2쿼터까지의 AICPA 시험의 합격률은 아래 표와 같습니다.Uniform CPA Examination Pass Rates 2018 Section First QuarterSecondQuarterThird QuarterFourthQuarterCumulativeAUD49.27%54.70% 52.14%BEC56.43%60.31% 58.45%FAR41.59%49.17% 45.47%REG49.99%55.75% 53.09% 그럼 2쿼터 시험 합격률의 주목할 만한 점과 3쿼터 전망에 대해 살펴봅니다. FAR2018년 2쿼터 FAR 섹션 합격률은- 2006년 이후 13번째로 높은 FAR 합격률- 전년도 2쿼터..
아카바 유지, <세계 최고 인재들은 어떻게 읽는가> - 이제부터 공격적인 독서를 하자
2018. 6. 24.이제부터 공격적인 독서를 하자.1) 읽는 이에게 어떤 이점이 있을까2) 독서 시간을 확보하는 방법, 확보 수단을 어떻게 바꿔가야 할까?3) 결과를 업무와 개인적인 성장에 연결하려면 어떻게 해야 할까? 독서의 우선순위 높이기얼핏 보면 평범한 방법같지만 실천에는 상당히 효과적이다. 책은 살아가는데 필요하니까, 업무에 필요하니까, 성과를 내는 데 필요하니까 반드시 읽어야 한다고 사고방식을 바꾸자.책은 반드시 시간을 내서 읽어야 하는 것이다. 더 이상 읽어도, 안 읽어도 그만인 존재가 아니다. '독서는 필수'라고 인식한다. 바로 '공격적인 독서'로 독서 스타일을 바꾼다.과장하면 '책 읽는 시간에 우선권을 내주었다'고 할 수 있다. 1. 형광펜으로 내용, 표현, 통찰력까지 내 것으로 만든다. (p.87)1) '아..
우분투 사용자 패스워드 변경하기
2018. 6. 19.우분투 사용자 패스워드 변경하기adduser 를 통해 생성한 사용자의 패스워드 셋팅은 다음과 같이 할 수 있다. 사용자 본인의 패스워드는 아래와 같이 변경가능하다.12345678910111213root@server:~# su - fukaeriifukaerii@server:~$ passwdChanging password for fukaerii.(current) UNIX password:passwd: Authentication token manipulation errorpasswd: password unchanged fukaerii@server:~$ passwdChanging password for fukaerii.(current) UNIX password:Enter new UNIX password:Rety..
AICPA 시험 테스팅 윈도우란 무엇인가요?
2018. 6. 19.Notice to Schedule (NTS) 를 받게되면, 이제 시험 스케줄링을 해야한다. 미국공인회계사 시험은 computer-based exam 으로 매 쿼터마다 시험이 이루어진다. 통상 윈도우라고 지칭한다. 아래와 같다. QUARTER 1 : 1/1~3/10QUARTER 2 : 4/1~6/10QUARTER 3 : 7/1~9/10QUARTER 4 : 10/1~12/10 위에서 본 대로 시험은 매 쿼터 마지막 달에는 시스템 정비 관계로 제공되지 않기 때문에 이를 고려하여 적절하게 시험 예약을 할 필요가 있다. 응시해야하는 과목의 순서가 따로 정해져 있는 것도 아니면, 한 쿼터에 몰아서 보거나 아니면 쿼터마다 한 과목씩 봐도 무방하다. 하지만, 어떤 쿼터든 같은 쿼터내에 같은 과목을 두 번 이상 응시할 ..
우분투 18.04 장고 설치하기 How to Install Django on Ubuntu 18.04 LTS
2018. 6. 16.아나콘다를 통해 설치되는 버전은 django 2.0.5 이다. 금일 기준 최신 공식버전은 2.0.6 이다 (https://www.djangoproject.com/download/).123456789101112131415161718192021222324252627282930313233343536(redsparrow) fukaerii@server:~$ conda install -c anaconda djangoSolving environment: done ## Package Plan ## environment location: /home/fukaerii/anaconda3/envs/redsparrow added / updated specs: - django The following packages will be..
마이크로소프트 엑셀 요일 표시함수
2018. 6. 15.엑셀 요일 국문표시 함수1) 간략한 이름표시 월, 화, 수, 목, 금, 토, 일 과 같은 형식으로 표현하기 위해서는 아래에서 보는 바와 같이 입력한다.=TEXT( B5, "aaa") 2) 전체 이름표시월요일, 화요일, 수요일, 목요일, 금요일, 토요일, 일요일 과 같은 형식으로 표현하기 위해서는 아래와 같이 입력한다.=TEXT(B5 , "aaaa") 엑셀 요일 영문표시 함수1) 간략한 이름표시 Sun, Mon 등과 같은 간단한 형식으로 표현하기 위해서는 아래와 같이 입력한다.=TEXT( B5, "ddd") 2) 전체 이름표시Sunday, Monday 등과 같은 전체 이름으로 표현하기 위해서는 아래와 같이 입력한다.=TEXT(B5 , "dddd")
아나콘다 환경설정 저장하기 Save the Environment with Anaconda
2018. 6. 14.Save the Environment with Anaconda앞선 포스팅에서 아나콘다 가상환경을 새롭게 생성하고, 활성화시켜 필요한 패키지들을 설치하였다. 작업에 들어가기 앞서, 먼저 환경 설정 파일을 프로젝트 폴더 내에 저장해놓을 필요가 있다.이렇게 파일로 환경 설정을 옮겨두면, 프로젝트의 이동성이나 재사용성이 향상되는 결과를 가져온다. yaml 설정 파일을 내보내기 위해 conda export 를 사용해, environment.yaml 라는 이름으로 저장하자.1234(redsparrow) fukaerii@server:/$ cd home/fukaerii(redsparrow) fukaerii@server:~$ conda env export > environment.yaml(redsparrow) fukae..
우분투 18.04 아나콘다 설치하기 How To Install the Anaconda Python Distribution on Ubuntu 18.04
2018. 6. 14.Anaconda 를 설치하는 가장 좋은 방법은 최신판 Anaconda 설치 배시 스크립트를 다운로드 받아 검증 후 구동하는 것이다. Download Anaconda Distribution 에서 파이썬 3 용 최신 버전을 찾을 수 있다. 현재 포스팅 작성 시점 기준에서는 5.30 발표된 5.2 버전이 최신이다. 임시(ephemeral) 아이템을 다운로드받을 /tmp 디렉토리로 변경하자. curl 을 이용하여 다음과 같이 최신판을 /tmp 디렉토리에 다운로드하자.1234:/tmp# curl -O https://repo.continuum.io/archive/Anaconda3-5.2.0-Linux-x86_64.sh % Total % Received % Xferd Average Speed Time Time Tim..
우분투 사용자 추가 - Add user to Ubuntu via command line
2018. 6. 14.커맨드라인에서 사용자를 추가해보자. 터미널을 열고 다음과 같이 사용자이름을 인수로 갖는 adduser 명령을 실행한다. 예를 들어 아래는 fukaerii 라는 사용자 이름을 가진 유저를 생성한다. 패스워드를 제외하고 모든 정보는 선택사항이다. 1234567891011121314151617:~# sudo adduser fukaeriiAdding user `fukaerii' ...Adding new group `fukaerii' (1004) ...Adding new user `fukaerii' (1000) with group `fukaerii' ...Creating home directory `/home/fukaerii' ...Copying files from `/etc/skel' ...Enter new U..
원격데스크탑연결 인증오류가 발생했습니다. 요청한 함수가 지원되지 않습니다. CVE-2018-0886용 CredSSP 업데이트
2018. 6. 7.다음과 같이 원격데스크탑 연결시 인증오류가 발생한 경우 조치법에 대해 알아보자. 상기 오류는 CVE-2018-0886용 CredSSP 업데이트에 따른 것으로, CredSSP(Credential Security Support Provider 프로토콜)는 다른 응용 프로그램의 인증 요청을 처리하는 인증 공급자를 말한다. 패치가 적용되지 않은 CredSSP 버전에는 원격 코드 실행 취약성이 있어, 이 취약성 악용에 성공한 공격자는 사용자 자격 증명을 릴레이하여 대상 시스템에서 코드를 실행할 수 있다. 인증에 CredSSP를 사용하는 모든 응용 프로그램은 이러한 공격 유형에 취약할 수 있다고 한다. 그리고 이 보안 업데이트는 인증 프로세스 중 CredSSP가 요청의 유효성을 검사하는 방식을 수정하여 취약성을 해..
넥서스파일 NexusFile 을 이용한 파일 생성 일시 변경
2018. 5. 26.넥서스파일을 이용하여 파일의 속성 정보를 변경해보자.넥서스파일은 아래 링크에서 다운로드할 수 있다.http://www.xiles.net/ 프로그램을 실행하면 다음과 같은 화면을 볼 수 있다. 경로를 탐색하여 수정을 원하는 파일을 선택한다. 메뉴 파일(F) > 속성바꾸기 를 클릭한다. 파일 생성 일시를 아래와 같이 변경해보자. 원하는 일시를 선택한 후 확인 버튼을 누른다. 해당 파일의 생성일시가 변경된 것을 볼 수 있다.
chrome://cache 사이트에 연결할 수 없음 ERR_INVALID_URL
2018. 5. 26.잘 작동하던 chrome://cache 가 아래와 같이 작동하지 않는 경우 조치법에 대해 알아보자. 사이트에 연결할 수 없음chrome://cache/의 웹페이지가 일시적으로 다운되었거나 새 웹 주소로 완전히 이동했을 수 있습니다.ERR_INVALID_URL 위 현상은 크롬 버전이 업데이트되면서 나타나는 현상으로 보여지는데요. 아마도 업데이트하면서 해당 기능을 뺀 것으로 보인다. 먼저 크롬 브라우저 버전을 확인해본다. 도움말 > 크롬정보 에서 보면 아래와 같이 66.0.3359.181(공식 빌드) 이다. 따라서 정상적으로 작동했던 구버전을 다운로드 받아서 설치해야 한다. 먼저, 구버전 (65.0.3325.181) 의 크롬을 다운로드 받는다. 하단 링크에서 다운로드할 수 있다.Google Chrome Ol..
마티유 리카르, 볼프 싱어, <나를 넘다> - 의식의 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],..