목록ruby (8)
준호씨의 블로그
bundle exec jekyll serve로 로컬에서 jekyll 서버를 구동하려고 하면 webrick을 로드하지 못했다는 오류가 발생할 수 있습니다. $ bundle exec jekyll serve Configuration file: /Users/junho85/WebstormProjects/junho85.github.io/_config.yml Source: /Users/junho85/WebstormProjects/junho85.github.io Destination: /Users/junho85/WebstormProjects/junho85.github.io/_site Incremental build: disabled. Enable with --incremental Generating... Jekyll ..
회사님의 은총으로 IntelliJ 는 이미 라이센스 받아서 사용 하고 있었음. PyCharm 은 커뮤니티 버전으로 사용 하고 있었다. 이미 업무에서 다양한 언어를 사용하고 있는 상태. 업무에 적극 활용은 하지는 않지만 종종 쓰는 언어들 까지 포함하면 java, perl, python, c, html, css, javascript, nodejs, php, ruby, c#, swift... 등등. DB 도 mysql, oracle 은 물론 postgresql, mongodb 등등 최근 IntelliJ 라이센스가 만료 되어서 이참에 다른 언어들의 생산성도 향상 시켜 볼 겸 All Products Pack 으로 신청 해서 받았다. 오오 회사느님 감사합니다 ㅠㅠ All Products Pack 라이센스를 가지고 ..
예전에 logstash timezone convert (http://junho85.pe.kr/489) 에 이미 포함 되었던 내용이긴 하지만 사실 단순히 date format 만 바꿀 경우가 더 많을 것 같다. strftime 함수를 이용하면 간단히 포멧을 바꿀 수 있다. DateTime.parse('Jun 22 17:41:10').strftime('%Y%m%d%H%M%S') 결과: 20160622174110 strftime 에 들어가는 인자는 http://ruby-doc.org/core-2.2.0/Time.html#method-i-strftime 의 설명을 참고 하도록 한다. 설명에 나와 있듯이 ISO C 와 POSIX 방식과 거의 비슷한 방식이다.
logstash 에서 value 내용 중 이메일만 추출하는건 grok filter 에서 match %{EMAILADDRESS} 를 이용하면 추출 해 낼 수 있다. 하지만 특정항목을 이미 array 로 분리 해 낸 상태에서 해당 array 값들 중 email 만 추출 해 내는 방법을 딱히 찾지 못하였다. 하지만 ruby filter 로 ruby 언어로 직접 코딩 하면 가능하다. 예를 들어 아래와 같이 array 에 이메일 정보가 들어가 있는데 순수하게 이메일 주소만 있는 것이 아니라 이름정보나 꺽쇠기호 같은게 섞여 있는 경우 순수이메일주소만 추출하고자 한다. array1 = ['"test1" ', 'testaddress1@gmail.com'] array2 = ['"test2" ', 'testaddress2..
logstash 필터중에 value 길이를 자르는 기능은 기본적으로 제공 하지 않는다. 뭔가 다른 수가 있는지는 모르겠다. grok 에서 정규표현식으로 가능 하려나? 아무튼 ruby 필터로 ruby 코딩을 직접 하면 해결 할 수 있다. 다음은 logdate 라는 항목의 내용 중 앞의 8자리만 잘라내어서 사용하는 예제이다. filter { ruby { code => "event['logdate'] = event['logdate'][0..7]" } } 20160529224811 이라는 데이터가 있으면 20160529 만 남게 된다.