InteliJ 에서 Erlang 설정하여 hello world 만들기

이미지
일단 인텔리 제이에 올라온 매뉴얼대로 해서 되지 않아 삽질을 조금 하였습니다. 처음부터 차근차근 화면대로 따라오세요. 전 이방법으로 하니까 잘 되네요. 환경은 맥북에어에서 Erlang 과 InteliJ는 미리 설치되어 있는 환경입니다. 먼저 인텔리 제이를 실행합니다. 프로젝트를 생성합니다.  Configure 메뉴를 클릭합니다.  여기서 Plugins 를 선택합니다.  여기서 Erlang 을 선택하여 Install 합니다. 여기는 인텔리 제이의 플러그인 모듈을 설치하는 겁니다.  이제 Preferences 에서 관련 모듈을 설정해야 합니다.  Erlang External Tools 를 선택합니다.  Download the latest Rebar version 을 선택하여 최신 파일을 다운 받아 설치하는게 더 좋습니다.  설치 위치를 선택합니다. /usr/local/bin 에 다운받아 설치합니다.  이제 다시 Configure에서 Project Defaults의 Project Structure를 선택합니다.  SDK 에서 기존에 설치한 Erlang 을 선택합니다. 저는 brew 로 설치해서 위와 같은 경로가 지정됩니다. 이제 설정은 마무리 되었네요.  프로젝트를 생성하여 봅니다. Erlang 을 선택합니다. 그런 다음 하단의 Next 버튼을 클릭합니다.  Erlang 이 맞다면 Next 버튼을 클릭합니다.  프로젝트 이름을 ErlangDemo 로 선택하여 Finish 버튼을 클릭합니다.  신규 프로젝트가 생성되었습니다. 팁 화면은 닫아도 됩니다.  이제 src 에서 소스파일을 만들어야 합니다. 왼쪽의 src 를 선택한 다음  메뉴에서 File - New - Erlang File 을 선택합니다.  이름은 hello 종류는...

VirtualBox 네트워크 프린터 안될때

Virtual Box에 Guest에서  Host 프린터를 네트워크로 연결하여 사용중이었다. 어느 날 부터인가 프린터가 되지 않아서 삽질을 하였습니다. 원인은 Netbios 프로토콜이 전달이 되지 않아 발생한 문제였네요. 저는 바탕화면의 네트워크 - 오른쪽 버튼 - 속성 클릭하면 네트워크 및 공유센터 화면이 뜹니다. 여기서 로컬 영역 연결 을 클릭합니다. 속성 - Internet Protocol Version 4(TCP/IPv4) 선택하고 - 속성을 클릭합니다. 다시 고급 버튼을 클릭 고급 TCP/IP 설정 창이 뜹니다. 여기서 WINS 탭을 선택합니다. 아마 NetBIOS 설정이 기본값으로 설정되어 있을 겁니다. 이를 NetBIOS over TCP/IP 사용(N) 을 선택한 다음 확인을 클릭합니다. 그리고 재부팅 하시면 아마도 네트워크 프린터가 잘 작동될 것입니다.

VirtualBox에 설치한 El Capitan의 디스크를 올렸을 때 적용이 안될때

버추얼박스에 엘캐피탄을 설치하였다. 하지만 Xcode를 설치하려고 보니 디스크 용량이 적어서 가상디스크 용량을 늘렸다. 디스크 유틸리티에서 증설된 용량을 파티션 잡아야 하는데 나오질 않는다. $ sudo diskUtil resizeVolume / R 아마도 초기화 하는 프로세스인거 같다. 증설된 디스크 용량이 잘 보인다.

El Capitan 을 VirtualBox에 설치하기

El Capitan 을 VirtualBox 에 올릴려고 삽질을 한 결과입니다. 가장 중요한게 ElCapitan.iso 파일을 만들어야 하는 것이다. 부팅 USB 에서 ElCapitan.dmg 를 추출하여 설정했더니 부팅이 안된다. 다음은 맥 터미널에서 수행한 명령들이다. 루트 권한 따위는 필요 없다. $ hdiutil attach InstallESD.dmg -noverify -mountpoint /Volumes/esd $ hdiutil create -o ElCapitan3.cdr -size 7316m -layout SPUD -fs HFS+J $ hdiutil attach ElCapitan3.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/eso $ asr restore -source /Volumes/esd/BaseSystem.dmg -target /Volumes/iso -noprompt -noverify -erase $ rm /Volumes/OS \ X\ Base \ System/System/Installation/Packages $ cp -rp /Volumes/esd/Packages /Volumes/OS \ X\ Base\ System/System/Installation $ cp -rp /Volumes/esd/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/ $ cp -rp /Volumes/esd/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/ $ hdiutil detach /Volumes/esd $ hdiutil detach /Volumes/OS\ X\ Base\ System 나는 여기서 오류가 났다. umount 와 eject 가 안되었다. 그래서 터미널을 닫고 다시 시도 했더니 잘되었다. $ hdiutil convert ElCapitan3.cdr.dmg -format UDTO -o ElC...

스위프트 옵셔널 타입

스위프트 옵셔널 타입이 있다. 옵셔널 타입의 목적은 변수 또는 상수에 아무런 타입의 값이 할당되지 않는 상황을 처리하기 위하여 안전하고 일관된 방법을 제공하는 것이다. 옵셔널하게 변수를 선언하고자 하면 선언부 뒤에 '?' 추가하면 된다. var index:Int? 만약 옵셔널이 할당된 값을 갖는다면 그 값은 옵셔널에 래핑되었다고 한다. 옵셔널에 래핑된 값은 강제 언래핑이라 불리는 개념을 사용하여 접근이 가능해진다. 이는 옵셔널 데이터 타입에서 값을 추출한다는 의미이다. 옵셔널 이름 뒤에 '!' 붙이면 된다. 이 방법 말고 옵셔널 바인딩을 이용하여 임시변수 또는 상수에 할당할 수 있다. if let c = option {  } 용어를 어렵게 사용해서 이해가 잘 가지 않는다. 쉽게 말해 스위프트는 선언할 때 값을 될 수 있으면 할당하라는 말이다. 하지만 변수와 상수는 필요할 때 할당하는게 자원의 활용에 좋을 것이다.  lazy 가 대세가 되는 것도 같은 이유이다. 널 값으로 넣어 두고 할당하려면 '?'를 추가하고 이 값을 사용하려면 '!'를 추가해야 한다는 말인거 같다. 정 특수문자를 쓰기 싫다면 if let c = optional {  } 이 구문으로 임시로 할당해서 사용하라는 것 같다. [출처 : 핵심만 배우는 iOS9 프로그래밍, 닐 스미스, 황반석, 2016.4.25, 페이지 54~57]

error itms-90206 invalid bundle 조치 방법

앱 아카이빙할때 나는 오류이다. error itms-90206 invalid bundle ~~~ 이 경우는 다음과 같이 해결한다. target -> Build Phases 로 이동한다. '+' 버튼을 클릭한다. "New Run Script Phase" 선택한다. 그러면 스크립트를 입력하는 창이 생긴다. 그 창에 다음과 같이 입력하면 된다. cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/" if [[ -d "Frameworks" ]]; then rm -fr Frameworks fi

곡성 영화 해석

영화 곡성에 대한 해석에 대해 의견이 아주 많다. 혹시나 해서 두번을 보았다. 내가 본 해석은 이와 같다. 아이를 구하기 위한 아버지의 행동이다. 사실 버섯에 의해 환각상태에 이르게 되어 살인을 저지르고 결국엔 죽는 내용이다. 조선초에도 궁궐터를 가지고 이런 논쟁이 있었다. 이때 정도전은 이렇게 말했다. 명당이니 이런 것은 예부터 전해 들은 이야기이니 믿으면 안되고 오직 믿어야 할 것은 경험된 이야기입니다. 영화에서 전해 들은 이야기와 상상 이야기 등을 제외하면 사실만 남는다. 사실은 애가 아프면 병원에 가야 하는데...., 그동안 과학이 종교를 가장한 미신와 싸워 어떻게 지금의 자리에 왔는지 잘 살펴보라. 그리고 선과 악의 대결은 양심과 욕심의 대결일 것이다. 영화에선 의심을 하면 악이 힘이 커지고 그냥 믿어라고 강요한다. 진실에 다가가기 위한 가장 큰 도구는 의심이다. 야생 독버섯을 먹은 사람들과 그 재료로 건강식품을 만들어 유통 시킨 사람들의 이야기이다. 자신들의 무지한 행동을 특정 사람 때문이다 라고 하는 희생양을 만드는 것이야말로 인간의 습성인거 같다. 버섯은 알려져 있지 않는 것은 먹으면 안된다고 교육을 받는다. 특히 야생버섯은 무척 위험하다. 결국 곡성은 야생버섯을 함부로 먹지마라 는 영화이다.