Centos에서 nodejs 및 npm 설치 nodejs 특정 버전 설치 Centos에서 기본적으로 제공하는 nodejs는 너무 하위버전이다. 그래서, 상위버전을 쓰려면 아래와 같이 curl명령어를 호출해 셋팅을 해야 한다. elasticdump를 쓸려고 한다면 nodejs v12을 추천한다 $ yum install -y gcc-c++ make # 12점대 버전을 다운 받으려는 경우 $ curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash - # 9점대 버전을 다운 받으려는 경우 $ curl -sL https://rpm.nodesource.com/setup_9.x | sudo -E bash - $ yum install nodejs yum insta..
Table of Contents 파일 읽기/쓰기 DataFrame 읽기 DataFrame Query DataFrame 수정 Merge and Join 기타 파일 읽기 CSV 파일 읽기/쓰기 $ df = pd.read_csv('./app_unique_20200820.csv', usecols=[0, 1], names=['timestamp', 'stb_id'], dtype=str) ... INDEX timestamp stb_id 0 2019-11-12 10:53:48.415 {27574A07-25AA-11E8-AD34-XXXXXXXXXXXX} 1 2019-11-12 11:40:02.479 {1EA317EC-9647-11E9-A51A-XXXXXXXXXXXX} 2 2019-11-12 11:40:43.811 {51..
System.out.print 우리는 System.out.print로 우리는 로그를 출력하곤 합니다. 그래서, 로그를 많이 출력하게 되면 로그용 함수를 만들어서 보기 쉽게 만들어 주거나, 파일로 출력해서 나중에 확인할수 있게 하기도 합니다. 참 아마추어 적인 코드입니다. public void log(String tag, String message) { System.out.println("[" + tag + "]" + message); filelog("logfile.txt", "[" + tag + "]" + message); } 추가 개발 요구사항 로그가 너무많이 쌓이니, 오래된 로그는 삭제해 주세요. 하지만, 이렇게 하면 로그가 용량이 많은 서비스에선 로그때문에 서비스가 죽는 사고가 발생합니다.Kafka..
정규식 (Regular Expression) Table Of Contents 반복 메타 문자 Match (문자열 매치하기) Search (부분적으로 매치하기) substitute (대치) 최소 매칭 정규식 객체 사용하기 SAMPLE (HTTP URL 매칭) 반복 메타 문자 반복 메타 문자 의미 예 * 0회이상 반복 ca*는 ct,cat, caaaat등과 매치 + 1회이상 반복 ca+는 cat, caaaat등과 매치된다 ? 0회 혹은 1회 ca?t는 ct, cat와 매치된다 {m} m회 반복 ca{2}는 caa와 매치된다. {m,n} m회부터 n회까지 반복 ca{2,4}는 caat, caaat, caaaat와 매치 매칭 메타 문자 메타문자 의미 . 줄바꿈 문자를 제외한 모든 문자와 매치된다. re.DOTA..
kotlin-annotation 애노테이션 (Annotation) 아래 예는 JUnit Framework를 사용하려면, 테스트 메소드 앞에 @Test를 붙여야 한다. import org.junit.* class MyTest { @Test fun testTrue() { Assert.assertTrue(true) } } 애노테이션을 활용한 JSON직렬화 제어 # serialization data class Person(val name: String, val age: Int) >>> val person = Person("Alice", 29) >>> println(serialize(person)) {"age": 29, "name": "Alice"} # deserialization >>> val json = ""..
Table Of Contents 람다 소개 람다 - Collection 람다 문법 람다 안에서 외부 변수 접 멤버 참조 컬렉션 함수형 API (FILTER, MAP) 컬렉션 함수형 API (ALL, ANY, COUNT, FIND) 컬렉션 함수형 API (groupby, flatmap) LAZY 컬렉션 연산 (Sequence) 람다 소개 무명 내부 클래스 (JAVA) 코딩양이 너무 많다. 중복코드가 발생 코드가 번잡스럽다 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }) 람다 (Lambda) 클래스가 아닌 함수를 사용 불필요한 코드 제거 -> 가독성 향상 button.setOnC..
Python 가상환경 Python 가상환경 소개 파이썬 응용 프로그램은 종종 표준 라이브러리의 일부로 제공되지 않는 패키지와 모듈을 사용합니다. 응용 프로그램에 특정 버전의 라이브러리가 필요할 수 있는데, 응용 프로그램에 특정 버그가 수정된 버전이 필요하거나, 라이브러리 인터페이스의 구식 버전을 사용하여 응용 프로그램을 작성할 수도 있기 때문입니다. 즉, 하나의 파이썬 설치가 모든 응용 프로그램의 요구 사항을 충족시키는 것이 불가능할 수도 있습니다. 응용 프로그램 A에 특정 모듈의 버전 1.0이 필요하지만, 응용 프로그램 B에 버전 2.0이 필요한 경우, 요구 사항이 충돌하고, 버전 1.0 또는 2.0을 설치하면 어느 한 응용 프로그램은 실행할 수 없게 됩니다. 이 문제에 대한 해결책은 가상 환경 을 만..
python 라이브러리인 pygobject를 설치했다. 그런데, 왠걸 import를 하려고 보니 안된다. 왜 안될까?참고로 /usr/bin폴더는 system에서 default로 설치한 bin이라고 한다. $ which python/usr/bin/python$$ python Python 2.7.10 (default, Feb 7 2017, 00:08:15) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import gi Traceback (most recent call last): File "", lin..