Category Archives: 미분류

Failure –
java.io.IOException: Downloaded file /var/lib/jenkins/plugins/workflow-support.jpi.tmp does not match expected SHA-1

젠킨스 플러그인 업데이트 도중에 다음과 같이 에러가 발생할 때 해결하는 방법이다.

플러그인 업데이트 주소를 아래와 같이 지정해준다.

The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY xxxxxxxxxxxxxxxx

우분투에서 apt로 레파지토리를 등록하고 설치를 할 때 이런 에러가 발생할 때가 있다.

특히 Jenkins

키 등록을 못한 것이라서 아래의 명령으로 된다. 아래의 키는 예시이므로 키는 자신의 것의로 바꾼다.

만약 서버가 외부 네트워크로 나갈 때 proxy를 사용해야만 한다면 위의 명령으로는 키가 등록되지 않는다. 다음과 같이 proxy를 지정해준다.

이제 설치하려던 패키지를 설치하면 된다.

파이썬 한글 자모 분리 패키지

한글 자모분리를 하는 것은 오타처리, 스팸 감지, 욕설, 성적 표현을 주는 키워드 감지 같은 것을 하기 위해서 사용합니다. 몇 번 해보면 재밌지만 자모분리는 정작 뭐 좀 해보려고 하면 쓸데가 별로 없습니다.

Python에서 사용할 수 있는 한글자모분리 패키지 또는 코드 모음입니다.

파이썬 한글 자모분리 패키지 목록

– 한글툴킷: https://github.com/bluedisk/hangul-toolkit

– 한글유틸: https://github.com/kaniblu/hangul-utils

– 한글파이: https://github.com/rhobot/Hangulpy

– 파이썬 자모: https://github.com/JDongian/python-jamo

– 한글 자음/모음 분해 (코드): https://frhyme.github.io/python/python_korean_englished/

– 한글 유니코드 자모분리: https://nunucompany.tistory.com/28

대부분 주요 기능들은 모두 제공하고 있고 사용법도 쉽고 작동도 잘 됩니다.

원하는 것을 선택해서 쓰면 됩니다.

우분투에 Mecab 형태소분석기 설치 – Install Mecab in Ubuntu

우분투Mecab(은전한닢) 형태소 분석기를 설치하는 방법입니다.

Mecab 메카브 간략 설명

Mecab를 간단히 설명하면

  • Mecab은 C++로 만든 일본어 형태소분석기입니다.
  • Mecab-ko는 Mecab를 고쳐서 만든 한국어형태소분기이며 “은전한닢”라고 부릅니다.

예전 포스트가 있니 참고하세요.

MeCab 형태소 분석기, 형태소분석기란 무엇인가? 워드세그멘터와 형태소분석기

설치방법

Mecab-Ko는 Mecab 코어 모듈과 Mecab-ko-dic을 먼저 설치해야 하는데 번거롭습니다.

konlpy에 있는 간략 스크립트를 쓰면 쉽게 설치가능합니다.

Mecab만으로는 형태소분석을 테스트하거나 활용하기 어려우니 Python 모듈도 설치해줍니다.

파이썬을 실행해서 테스트 해봅니다.

[Jenkins] Could not initialize class org.eclipse.jgit.internal.storage.file.FileSnapshot

젠킨스로 git repository를 polling해서 코드가 푸시되었는지 확인한 후에 자동 빌드하는 프로세스를 만들면 로그에 이런 에러가 나면서 실패하는 경우가 있습니다.

젠킨스의 jgit 관련 클래스가 잘못된 것인데 이건 해결방법이 마땅치 않습니다.

그냥 Jenkins를 LTS가 아닌 최신버전이나 다른 버전으로 바꿔서 설치해야 합니다.

jenkins install Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate. Could not handshake: Error in the certificate verification.

젠킨스를 설치하는데 지런 에러가 날 수 있습니다.

에러는 이렇습니다.

certification을 재설치해줘야 해결이 됩니다.

우분투에서 R 설치하기

2022년 최신판입니다.

늘 똑같은데 최근에 설치하는 방법이 좀 바뀌었군요.

우분투 리눅스에 R을 설치하는 법은 거의 바뀌지 않기 때문에 https://cloud.r-project.org/ 에 방문해서 코드를 복사한 후에 같은 방법을 쓰면 늘 되지만 가끔 방식이 바뀌므로 방문해서 바뀐 것을 확인해봐야 합니다.

빠른 설치 방법

설명을 생략한 코드 복붙이 필요하면 아래의 순서대로 하시면 됩니다.

한줄씩 따라가며 설치하기

복붙만 하다가는 바보가 됩니다. 어떤 순서로 설치하는지 알아둘 필요가 있습니다. 그래야 설치하다 문제가 생기면 어느 부분이 문제인지 알고 처리하는 법을 배울 수 있습니다.

시간이 없고 하기도 싫으면 굳이 지금 할 필요는 없습니다.

# 패키지 인덱스를 업데이트합니다.

# 헬퍼 패키지 2개를 설치합니다.

# 레파지토리 키를 설치합니다.

#  R 4.0 레파지토리를 등록합니다.

# 설치합니다.

# 버전을 확인합니다.

현재 시점에서는 R 4.1.3이 최신 버전이고 곧 새버전이 출시된답니다.

관련 포스트

우분투 18.04에 R 설치하기 – Install R on Ubuntu 18.04

우분투 18.04에 자바11 설치하기 – Install Java 11 onto Ubuntu 18.04

우분투 18.04에 자바11 설치하는 방법입니다.

18.04가 이제는 구버전이기도 하고 Java가 너무 구버전이 설치되어 있어서 업그레이드가 필요할 때가 많습니다. 보통 Java로 만들어진 애플리케이션들이 비교적 최근 버전의 자바를 요구하는 경우입니다.

설치하기

오픈JDK구버전을 제거합니다.

오라클JDK도 제거합니다.

깔끔하게 청소해줍니다.

openjdk 설치해야 하는데 커스텀 레파지토리를 추가하고 설치합니다.

버전을 확인해서 11.x.xx 가 보여야 합니다.

Python CSV – field large than field limit (131072) read csv

해결방법은 매우 간단합니다.

csv의 필드 크기 제한을 시스템 한계까지 늘려주면 해결할 수 있습니다.

쉘스크립트 – 시작날짜와 끝날짜 사이의 모든 날짜출력

셀스크립트로 시작날짜부터 끝날짜까지 모든 날짜를 출력하는 코드입니다.

이런게 왜 필요할까 싶겠지만 생각보다 꽤 많이 필요하고 알아두면 편할 때가 많습니다.

보통 날짜별로 데이터를 프로세싱하거나 날짜별로 어떤 일을 처리하는 스크립트를 구간내의 모든 날짜에 대해서 실행하고 싶을 때 쓰거나 합니다.

예를 들면 일별로 배치프로세싱을 만들어서 집계를 하거나 예측이나 최적화 등을 처리하는 어떤 프로세스가 있다고 할때 이런 프로세스를 몇일분을 구간을 줘서 각각 일별로 처리하거나 할 때 말입니다. 이 코드를 알아두면 일별로 실행하는 배치프로세스를 수정하지 않고도 일별로 실행이 가능합니다.

쉘스크립트로 이런 것을 작성하기 어려운 편인데 사실 패턴을 알고 나면 그렇게 어렵지 않습니다.

핵심은 while 구문과 date 코맨드를 잘 사용하는 것입니다.