카테고리 보관물: 미분류

C/C++ 빌드 속도를 줄이는 방법 Unity Build

데이터 프로세싱을 할 때 고속으로 파일을 읽어서 계산을 하거나 비정형 데이터를 처리할 때 Go lang, Rust, C/C++을 써야 할 때도 있습니다.

Python, R, Shell script 만으로는 해결이 안되는 것들이 있습니다.

데이터 작업을 할 때 컴파일러를 포함한 빌드 언어의 문제는 여러가지가 있지만 큰 문제는

  • 인터랙티브 모드로 실행이 되지 않아서
  • 복잡한 코드일 수록 빌드 시간이 너무 길어서

위의 두 가지입니다.

데이터 과학에서는 첫번째 문제가 더 큰 장벽이 됩니다만 가끔 계산속도가 빠른 코드로 집계를 하거나 기계학습, 수리적 계산을 해야 할 때는 속도만을 위해서 사용성을 포기하고 컴파일 랭귀지를 사용할 때가 있습니다.

어쨌든 C/C++을 사용할 때 빌드 시간이 길어서 생기는 문제를 해결하는 획기적이면서 간단한 방법을 알게되어 소개드립니다.

Unity Build라는 것입니다.

원리는 간단한데 소스 코드를 한 개의 파일로 만들어서 빌드하는 것입니다.

자세한 내용은 아래의 블로그에 잘 설명되어 있으니 참고해 보세요.

우분투 18.04 에서 Python3.6 제거하기 – Uninstall python3.6 from Ubuntu 18.04

우분투 18.04에서 Python3.6을 제거하는 방법입니다.

제거를 하고 싶은 이유는

우분투에 Python 새버전을 추가로 설치하다보면 구버전이 계속 남아서 패키지를 설치할때 혼동이 되거나 오류가 발생하기도 해서 꼭 구버전을 제거하고 싶을 때는 다은과 같이 합니다.

그런데 제대로 안되는 경우가 많아서 하지 않는 것이 좋습니다. 우분투가 기본 패키지 버전을 관리하거나 시스템을 관리하는데 파이썬을 설치하기 때문에 함부로 제거하면 이런 시스템에 문제가 발생합니다.

어쨌든 파이썬을 제거하려고 한다면 다음의 명령대로 하면 됩니다.

sudo add-apt-repository --remove ppa:fkrull/deadsnakes  # 레파지토리 제거. 선택사항
sudo apt-get update  # apt 업데이트
sudo apt-get remove --purge python3.6  # 패키지 퍼지

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

우분투 18.04에 R을 설치하는 방법입니다.

요점

  • apt로 설치하는 것입니다.
  • Ubuntu 20.04에 설치하는 방법과는 조금 다를 수 있습니다.
  • 시스테에 최소 1Gb 메모리가 필요합니다.

리눅스 필요 패키지 설치

필요한 리눅스 패키지를 먼저 설치합니다.

sudo apt install apt-transport-https software-properties-common

R패키지가 있는 CRAN 레파지토리를 등록하고 GPG 키도 등록

R패키지를 설치하려면 CRAN을 apt에 등록하고 gpg키도 등록해줘야 합니다.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'

R 설치

apt를 업데이트해주고 r-base를 설치하면 끝납니다.

sudo apt update
sudo apt install r-base

R버전 확인

다음의 명령어로 버전을 확인합니다.

R --version

최신버전인지 확인합니다.

R version 4.1.2 (2021-11-01) -- "Bird Hippie"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.

젠킨스 포트 변경 – Changing Jenkins HTTP port

젠킨스(Jenkins)의 웹서비스 포트는 8080입니다.

우분투 리눅스에서 젠킨스의 포트를 변경하려면 아래의 파일을 수정해야합니다.

sudo vim /etc/default/jenkins

8080이 기본 포트인데 다른 적당한 포트로 변경해 줍니다.

파일 안에서 아래의 줄을 찾아서 포트를 변경하면 됩니다.

# HTTP_PORT=8080
HTTP_PORT=9090

변경했으면 젠킨스를 재시작합니다.

sudo /etc/init.d/jenkins restart