본문 바로가기

all categories

스칼라의 기본 타입과 연산 리터럴literal 은 상수 값을 코드에 직접 적는 방법을 말하며 자바와 동일하며, 문자열의 경우 참고로 아래와 같다.val c = '\101' // Char A 와 같이 문자 코드 포인트Unicode character code point 통해 표현val d = '\u0041' // 유니코드 문자를 \u + 4자리 16진수를 통해 표현 val B\u0041\u0044 = 1 // 같이 BAD 변수의 값이 1을 지정 - 모든 변수 함수 코드까지고 유니코드로 문자열 특수문자와 무관하게 출력println("""|문장의 앞 공백을 제거하고, |여러 "특수문자"를 섞어 쓰는 예제.""".stripMargin) 심볼 리터럴은 'ident 라고 사용하는 경우 컴파일러가 Symbol("cymbal")이라는 팩토리 메소.. 더보기
스칼라의 클래스와 객체 스칼라는 항상 java.lang과 scala 패키지의 멤버를 암시적으로 임포트한다. 즉, println 함수는 Predef의 println 함수를 호출하는 것이며, 이는 다시 Console.println을 호출하게 되어 최종 콘솔을 통해 문자열이 출려괴는 것이다. assert 역시 Predef.assert 함수가 호출되는 것이다. 클래스 혹은 동반객체는 스크립트가 아니다. 스크립트는 실행되는 동작(action)이 존재하는 경우를 말하고 클래스 및 객체는 정의(transform)만 존재하기 때문이다.여기서 spark 언어와의 연관성이 생각났는데 transform 과 action 작업이 마치 클래스와 스크립트의 차이처럼 생각되기도 한다. 컴파일러를 시작할 때마다, 소스 코드를 처리하기도 전에, jar 파일의.. 더보기
Scala in Vim 참고사이트https://lauris.github.io/vim/2014/08/21/scala-in-vim/ Vim 상에서 Scala 자동완성 설치 - http://eclim.org/install.htmljava -jar eclim_2.5.0.jar 최신버전 Eclipse Mars 설치 후 임의의 폴더에 압축 해제 후, 아래의 위치를 이클립스 홈으로 지정 - http://eclim.org/eclimd.html # cat ~/.bashrcexport ECLIPSE_HOME=/Users/psyoblade/Downloads/Eclipse.app/Contents/Eclipse alias eclimd=$ECLIPSE_HOME/eclimd Vundle 설치 - https://github.com/VundleVim/Vun.. 더보기
스칼라 두 번째 걸음 스칼라 배열 초기화val strings = new Array[String](3)strings(0) = "zero" // 배열의 크기가 immutable 이지, 값은 mutable 이다strings(1) = "one"strings(2) = "two"strings.foreach(println) 좀 더 간단한 스칼라 배열의 초기화 - 동반객체(companion object)의 factory 함수를 통해 배열을 생성하는 방법val strings = Array("zero", "one", "two") strings.foreach(println) * 여기서 동반객체(companion object)란 class 의 이름과 object의 이름이 동일한 경우를 말하며, 이때 싱글톤 객체의 클래스를 동반 클래스 (compa.. 더보기
.screenrc .vimrc .bashrc .profile 백업 맥에서 숨김파일 확인하기defaults write com.apple.finder AppleShowAllFiles -bool true killall Finder export CLICOLOR=1export LSCOLORS=GxFxCxDxBxegedabagacedexport PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Homealias hstart="/usr/local/Cellar/hadoop/2.7.1/sbin/start-dfs.sh;/usr/local/Cellar/hadoop/2.7.1/s.. 더보기
스칼라 첫걸음 명령형(imperative) 스타일 1 object print_args_imperative { 2 def main(args: Array[String]) { 3 var i = 0 4 while (i println(arg)) 4 // args.foreach(println) 5 for (arg 더보기
맥에서 Spark 설치 및 Scala 통한 Spark 프로그래밍 Home Brew 설치 (http://brew.sh/index_ko.html)ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) "Hadoop 최신버전 설치 (http://moonlighting.tistory.com/150)brew install hadoop Spark 최신버전 설치 (http://hoondongkim.blogspot.kr/2014/10/portable-centos-stand-alone.html)tar -xvfz spark-1.5.2-bin-hadoop2.6.tar Spark-Shell 테스트 (http://spark.apache.org/docs/latest/quick-start.h.. 더보기
맥에서 Octave 설치하기 Install xquartzhttp://www.xquartz.org/http://www.cyberciti.biz/faq/apple-osx-mountain-lion-mavericks-install-xquartz-server/Setup Port forwardhttp://www.cyberciti.biz/faq/x11-connection-rejected-because-of-wrong-authentication/Setup sshd & ssh/etc/ssh/sshd_configX11Forwarding yesssh_configHost *ForwardX11 yesOpen port 22http://stackoverflow.com/questions/6313929/how-do-i-open-port-22-in-os-x-10-.. 더보기
[leetcode] Nim Game ~ Add Digits https://leetcode.com/problems/nim-game/두 사람이 마주 앉아 게임을 하는데, 룰은 아래와 같습니다.테이블 위에 수십개의 돌이 있고, 한 번에 1~3개의 돌만 가져올 수 있으며, 마지막의 돌을 가져오는 사람이 승리자 입니다.두 사람이 번갈아 가며 돌을 가져올 수 있습니다, 이 때에 테이블 위의 돌맹이의 수를 입력(int)으로 하고, 승리(true) 패배(false)를 반환하는 함수를 작성하시오.목적 : 아주 단순하지만, 문제 해결을 어떻게 접근하는 지 묻고 싶은 문제 https://leetcode.com/problems/add-digits/임의의 양의 정수에 대하여 각 각의 숫자들의 합이 한 자리 숫자가 될때까지 더하여 최종 한 자리 숫자를 구하는 함수를 작성하시오.단, 반복.. 더보기
코딩 테스트 사이트 코딩 테스트 사이트http://uva.onlinejudge.org/ http://www.topcoder.com/ http://www.algospot.com/ https://projecteuler.net/https://leetcode.com/problemset/algorithms/ 코딩 문제 테스트 http://codility.com/http://www.acmicpc.net/http://judge.lavida.us/ 언어별 코딩 문법 테스트 http://compileonline.com/ 더보기