본문 바로가기

Contents61

Ubuntu 18.04 Netplan을 사용한 네트워크 설정 들어가며,, 때는 무려... 20년도 10월. 연구실에서 진행하는 프로젝트 예산으로 서버를 한대 구입했다. RTX 5000 8장과 SSD(3.84TB) 2장, 인텔 제논 괜찮은 CPU 2장짜리!! 3.84TB SSD... 든든쓰... 나중에 CPU 메모리 적을때 SWP 할당해서 쓰면 좋을 것 같다. 각설하고.. 이번 포스팅은 새로 구입한 서버의 네트워크 설정을 진행한 경험을 기록하겠다. 서버는 Ubuntu 18.04 ver 이다. 기본적인 세팅은 서버를 판매한 회사에서 완료했기 때문에 (CUDA 설치 및 GPU 활성화) root 비밀번호 설정 및 새로운 env id 설정을 진행했다. (해당 사항은 스킵한다.) 참고로 우분투는 17.10 ver부터 네트워크 인터페이스 설정이 NetPlan이라는 새로운 네트.. 2022. 8. 19.
[Setting] jupyter notebook 원격 접속 들어가며,, 네트워크 설정 완료한 서버를 이용해 분석하기 위해 jupyter notebook 원격 접속이 가능하도록 세팅해야한다.(물론 local에서도 가능하다.) 세팅이 완료되면 해당 pc가 아닌 곳에서 원격 접속하여 python을 활용한 분석을 할 수 있다. 이때 버전 충돌 방지를 위해 docker container를 새로 만들어 진행할수도 있지만 그 부분은 생략한다. 본 포스팅에서는 어떻게 원격 접속을 할 수 있는지 그 방법에 대해 다뤄보겠다. 설치 과정 1. config 파일 생성 $jupyter notebook --generate-config. # /home/v2j/.jupyter/jupyter_notebook_config.py 생성시 경로 밑에 위와 같은 config.py 파일이 생성된다. 2.. 2022. 8. 19.
[git] 소스 commit error > unable to auto-detect email address 들어가며,, 요즘 Sentence bert 소스 개발을 하고 있다. sbert 관련 오픈 소스들을 참고해서 우리 팀의 입맛에 맞게 수정하여 genral한 소스 개발 중이다. 그동안 오픈 소스들을 사용하며 불편했던 점, 사용이 불가한 기능 등 정리하며 low level 데이터 분석가도 학습 및 검증, 예측할 수 있도록 구성하였다. 이를 git으로 정리하다가 commit 할 때 발생한 에러와 해결 방법을 기록하고자 한다. Error 개발한 소스를 commit 하는데 아래와 같은 에러가 떴다. 검색해보니 소스 트리 설정에 email과 이름을 등록하면 commit 가능하다고 한다. 에러는 다음과 같다. email과 name을 추가하라는 에러로 친절하게도 에러 메세지 안에 email과 name을 등록하는 방법도 .. 2022. 8. 19.
[class 기능 정리] 코딩을 깔끔하게 해주는 기능 Class 기능 정리 정적메소드 (@classmethod & @staticmethod) @classmethod - 첫번째 인자로 클래스를 입력 ex) 인스턴스 메소드는 인스턴스를 통해서 호출이 되고, 첫 번째 인자로 인스턴스 자신을 자동으로 전달합니다. 관습적으로 이 인수를 ‘self’라고 칭합니다. 클래스 메소드는 클래스를 통해서 호출이 되고 “@classmethod”라는 데코레이터로 정의합니다. 첫 번째 인자로는 클래스 자신이 자동으로 전달되고 이 인수를 관습적으로 ‘cls’라고 칭합니다. 스태틱 메소드는 앞서 설명한 두 메소드와는 틀리게 인스턴스나 클래스를 첫 번째 인자로 받지 않습니다. 스태틱 메소드는 클래스 안에서 정의되어 클래스 네임스페이스 안에는 있을뿐 일반 함수와 전혀 다를게 없습니다. 하.. 2022. 8. 12.
Server에서 server로 파일(or 폴더)을 옮기고 싶을 때 들어가며,, 많은 사람이 여러 서버에서 작업을 하다보면 기존에 사용하던 서버가 아닌 다른 서버를 사용해야할 때가 많다. 그때 시간이 오래 걸리는 영역은 기존에 사용하던 서버에 욌는 파일을 옮기는 일이다. 이 명렁어를 모를 때는 기존에 사용하던 서버의 파일들을 압축하여 내 컴퓨터 local에 저장한 뒤, 앞으로 사용하고자 하는 서버에 옮겨 압축을 풀고 작업을 했다. 이러한 process에 걸리는 시간을 반토막 내줄 수 있는 명령어를 본 포스팅에서 간략히 소개하고자 한다. Server to Server move~~ a 서버에서 b 서버의 file을 받고 싶을 때, a 서버에서 command를 입력해도 되고, b 서버에서 command를 입력해도 된다. 먼저 rsync 설치 및 실행을 해주자. # 설치 apt.. 2022. 8. 12.
[git] pull & push 명령어 1. git 활용법: git에 있는 코드를 수정하고 다시 git에 넣고 싶을 때 (push) 2. push process a. Clone to server: $git clone~~ b. Select your branch: $cd path > $git checkout ["branch_name"] (to know which branch: $git status) c. Make change.. modify, edit, delete, add.. d.Committogit:$git pull > $git add . > $git commit -m "message to commit" > $git push 3. git에 push 후 test하고 싶을 때 a. install: $pip install git+url b. run.. 2022. 8. 12.
Linux container sudo 권한 및 root 권한 부여 들어가며,, 본 포스팅에서는 필자가 자주 사용하는 Linux 커멘드를 정리했다. (사실 외우기 귀찮아서 정리한 거다..) 상황 원격으로 Linux os의 서버를 여러 명이 사용하다보면 각자 container를 따로 구성해야 할 필요가 있다. 서로의 작업 경로를 구분하여 원활한 개발을 위함이다. 이때 만들어 놓은 container에 들어가면 root 권한이 없어 permission denied 에러가 발생하곤 한다. 이때 어떻게 해야 내가 원하는 파일을 설치할 수 있는지 알아보도록 하자. First step: root로 container 접근 sudo docker exec -i -t --user root ["container_name"] bash 먼저 container에 root 계정으로 접속하자. 이는 .. 2022. 8. 12.
[키워드] 개발자 용어 정리 inline frame(iframe) https://velog.io/@beomjourr/inline-frameiframe%EC%9D%B4%EB%9E%80 inline frame(iframe)이란 오늘은 iframe (inline frame)을 사용하기 전에 iframe에 대해 이해해보는 시간을 갖고자 한다.웹 페이지 안에 어떠한 제한 없이 또 다른 하나의 웹 페이지를 삽입할 수 있는 요소기본 문법은 다음과 같 velog.io 웹 페이지 안에 어떠한 제한 없이 또 다른 하나의 웹 페이지를 삽입할 수 있는 요소 iframe을 활용하여 전혀 다른 서비스를 통합하기 여러 자료들을 찾아보면, iframe의 사용(남용)을 권고하지 않는 듯 하다. 대신, ajax를 사용하라고 한다. MessageChannel API.. 2022. 8. 4.
[Super] 상속에 사용하는 Super 함수 알아보기 들어가는 글 지난 포스팅에서는 상속(Inheritance)과 오버라이딩(Overriding)에 대해 알아봤었다. 관련된 링크는 아래 글을 참고하길 바란다. 본 포스팅에서는 객체 지향형 프로그램 언어에서 상속 시 많이 사용하는 Super 함수에 대해 알아보도록 하자. https://beeny-ds.tistory.com/23 [Overriding] 오버라이딩을 이용한 코드 수정 들어가는 글 Python 패키지를 사용하다보면 본인이 원하는 방식으로 class를 수정하고 싶을 때가 있다. 보통 pypi에서 직접 패키지를 수정하지만 git으로 내 패키지를 관리 한다면 dependency가 있는 beeny-ds.tistory.com Super 함수 Super 명령어는 상속 관계에서 상속의 대상인 부모 class를 .. 2022. 8. 3.
[Overriding] 오버라이딩을 이용한 코드 수정 들어가는 글 Python 패키지를 사용하다보면 본인이 원하는 방식으로 class를 수정하고 싶을 때가 있다. 보통 pypi에서 직접 패키지를 수정하지만 git으로 내 패키지를 관리 한다면 dependency가 있는 다른 패키지를 수정하여 사용하고 싶을 때 pypi에서 수정하는 건 비효율 적이다. (다수의 wheel 파일 생성 및 관리 필요하기 때문) 본 포스팅에서는 오버라이딩을 이용한 class 수정으로 위와 같은 니즈가 있을 때 어떻게 효율적으로 수정할 수 있는지, 그때의 이점은 무엇인지 알아보도록 하자. 상속(Inheritance) 상속이란 '뒤를 이음', '물려 받다' 라는 뜻으로, class에도 이런 개념을 적용할 수 있다. 어떤 class를 만들 때 다른 class의 기능을 그대로 가져올 수 있.. 2022. 8. 2.
반응형