본문 바로가기

프로그래밍

파이썬 한글 텍스트 마이닝 (KoNLPy) 우선, 이런 훌륭한 도구를 개발해 주신 Lucy Park 님께 심심한 감사를 표합니다. 우선 패키지 매니저 업그레이드 후 파이썬으로 영어와 한국어 텍스트 다루기 페이지에 따라 설치sudo pip install --upgrade pip 도중에 collocation 계산시에 stopwords 관련 오류가 발생하는데 아래와 같이 다운로드 한다.> pythonimport nltknltk.download('stopwords') 마지막 태그 클라우드에서 d3 스크립트 오류가 발생하는데 아래의 사이트에서 다운로드 받아서 로컬에 설치.https://gist.github.com/emeeks/3361332.jshttps://github.com/jasondavies/d3-cloud/blob/master/build/d3.la.. 더보기
스칼라 match 표현식, 재귀호출 및 yeild 사용 예제 스칼라 match 표현식 예제 def doMatch(firstArg: String): String = { firstArg match { case "salt" => "pepper" case "chips" => "salsa" case "eggs" => "bacon" case _ => "huh?" } // 반환값을 명시하지 않으려면 함수의 마지막에 선언/할당 구문이 없어야 한다. } break와 continue문 없이 살기// args = -1.scala 1.scala -2.scala 2.scala -abc.c -abc.scala a.c xyz.scala def doWhileLoop(args: Array[String]) { var i = 0 while (i < args.length) { if (!args(i).. 더보기
Maven + Java + Spark 연동 개발 메이븐 패키지를 맥에 설치brew install maven 메이븐 기본 아키타입을 통해서 자바 테스트 앱 생성mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false bash$> mvn archetype:generate -DgroupId=com.psyoblade.dm4ir \-DartifactId=foo \-DarchetypeArtifactId=maven-archetype-quickstart \-DinteractiveMode=false 실행 후에 아래와 같이 pom.xml 파일을 통해 확인.. 더보기
스칼라 함수형 객체 클래스 선언, 메소드 오버라이드, 인스턴스 생성 시 전제조건preconditionimport scala.language.implicitConversions // 이 문구를 명시적으로 넣어줘야 아래의 경고 문구가 뜨지 않는다.// warning: implicit conversion method intToRational should be enabled class Rational(n: Int, d: Int) { // constructur val g: Int = gcd(n.abs, d.abs) val numer: Int = n / g // 넘어온 객체의 필드에 접근하기 위해서는 필드 정의가 반드시 필요함 val denom: Int = d / g override def toString = if (d == 1) n.. 더보기
스칼라의 기본 타입과 연산 리터럴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 파일의.. 더보기
스칼라 두 번째 걸음 스칼라 배열 초기화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.. 더보기
스칼라 첫걸음 명령형(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 더보기
코딩 테스트 사이트 코딩 테스트 사이트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/ 더보기
W3C - Date and Time Format W3C - Date and Time format UTC 포맷이 TZ 두 가지 밖에 안 써봐서 잘 모랐으나 아래와 같이 다양하게 쓸 수 있더라. Year: YYYY (eg 1997) Year and month: YYYY-MM (eg 1997-07) Complete date: YYYY-MM-DD (eg 1997-07-16) Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00) Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) Complete date plus hours, minut.. 더보기