분류 전체보기 63

linux :: 파이썬 스크립트 백그라운드 실행 및 nohup.out 파일 로그 남지 않을 때 해결

1. 파이썬 프로그램 백그라운드로 실행하기 리눅스 서버에서 파이썬 프로그램을 백그라운드로 실행할 때, 다음 커맨드로 실행하면 된다. nohup python toramko.py & '&'은 백그라운드로 실행하라는 의미이고, 'nohup'은 세션이 끊어지더라도 프로세스가 끊어지지 않고 동작하게 하는 명령어이다. 그래서 보통 nohup 과 & 을 함께 입력한다. 프로세스가 백그라운드로 실행되면 실행이 잘 되는지 터미널 사용자가 (로그) 확인하기가 어렵기 때문에 위와 같이 입력할 경우 자동으로 로그 파일을 남겨주는데, 실행 위치에서 nohup.out 파일로 남게 된다. 2. nohup.out 에 로그가 남지 않을 때 만약 실행 후, nohup.out 파일 생성은 되었으나 로그가 남지 않는다면 스크립트 내에 로깅..

:: linux 2023.09.26

jmeter :: jmeter jmx 파일 오픈 시 CannotResolveClassException 에러 해결

성능 측정 & 부하 테스트 도구인 jmeter 를 설치한 후 jmeter.bat 으로 실행해보았다. 이미 만들어둔 테스트 파일(.jmx)이 있어 열어보려고 하니 다음과 같은 에러가 발생했다. Problem loading XML from:'C:\Users\toramko\Desktop\test.jmx'. Cause: CannotResolveClassException: kg.apc.jmeter.vizualizers.CorrectedResultCollector Detail:com.thoughtworks.xstream.converters.ConversionException: ---- Debugging information ---- cause-exception : com.thoughtworks.xstream.con..

:: windows 2023.07.03

python :: markdown to HTML 변환하기 (+테이블 테두리 설정)

마크다운 언어로 작성한 스크립트를 HTML 로 변환하려면 'markdown' 라이브러리를 사용하면 된다. 1. markdown 라이브러리 설치 pip install markdown 다음과 같은 markdown text가 있다고 가정해보자. # Title 토람코 ## Info | Name | Type | | -------- | -------- | | 토람코 | 블로그 | 위 내용을 HTML로 변환하면 어떤 형태가 될지 간단히 설명하자면, 우선 마크다운 문법에서 '#' 는 header, 즉 제목/부제목을 작성할 때 사용한다. '#'는 h1 태그, '##'는 h2 태그로 # 개수가 적을 수록 글씨 사이즈가 커진다고 보면 된다. ## Info 아래에 있는 내용은 테이블인데 세로 구분선을 '|'로, 가로 구분선을..

:: python 2023.05.08

python :: yaml 파일 읽기, yaml 데이터 json data로 변환하기

다음과 같은 내용의 yaml 파일이 있다. jobs: - developer - influencer name: toramko 위 파일의 내용을 읽어서 json data 로 변환하려면 다음과 같이 yaml 라이브러리의 'safe_load' 를 사용하면 된다. import yaml import json yaml_path = "" json_data = {} with open(yaml_path, 'r', encoding='utf-8') as file: yaml_data = yaml.safe_load(file) json_dic = json.dumps(yaml_data) json_data = json.loads(json_dic) print(json_data) # {'jobs': ['developer', 'influe..

:: python 2023.04.26

linux :: 리눅스 파일 압축, 압축 해제 명령어 모음집 (tar, gz, xz, bz2, zip 등)

자주 찾아보게 되는 리눅스 파일 압축, 압축 해제 명령어를 모아보았다 :) 1. tar 파일 압축 # tar -cvf {압축결과파일} {압축대상파일or폴더} $ tar -cvf toramko.tar toram/ 압축 해제 $ tar -xvf toramko.tar 2. xz 파일 압축 xz 압축은 단일 파일에 대해서만 가능하다. (여러 개의 파일을 모아서 압축하는 일반적인 방식과는 조금 다르다.) xz 명령어로 파일을 압축하면 압축 파일이 새로 생기지 않고 대상 파일에 직접 작용하여 파일 확장자가 .xz 로 변하게 된다. $ xz toramko.csv # 압축 결과: toramko.csv.xz $ xz toramko2.tar # 압축 결과: toramko2.tar.xz $ xz toramko* # 압축 결..

:: linux 2022.11.24

python :: 파이썬 딕셔너리 복사(copy) 후 수정사항 반영되지 않도록 하기(deepcopy)

다음과 같이 정의된 A 딕셔너리를 복사하여 B 딕셔너리를 만들었다. A = {'name': 'toram', 'lotto': [1, 2, 3, 4, 5, 6]} B = {k:v for k, v in A.items()} 이 때, 새로 생성한 B['lotto'] 의 내용을 수정했더니 기존 딕셔너리(A)에도 동일하게 반영되었다. B['lotto'][2] = 20 print(B['lotto']) # [1, 2, 20, 4, 5, 6] print(A['lotto']) # [1, 2, 20, 4, 5, 6] 아예 새로 정의하여 별개의 딕셔너리라고 생각했는데, 수정사항이 반영된 걸 보니 당황했다 @.@ 구글링을 통해 여러 가지 방법을 시도해봤지만 모두 실패했다. # 1차시도 B = A # 2차시도 B = A.copy(..

:: python 2022.11.21

react :: 리액트 텍스트 클립보드에 복사하기(react-copy-to-clipboard)

리액트로 개발한 웹 내에서 텍스트 클릭 시 클립보드에 복사되는 기능을 구현해보았다. 1. navigator.clipboard 사용 다음과 같이 navigator.clipboard 를 사용할 경우 웹에서 잘 작동한다. const handleCopyClipBoard = (text: string) => { try { navigator.clipboard.writeText(text); alert('클립보드에 복사되었습니다.'); } catch (error) { alert('클립보드 복사에 실패하였습니다.'); } }; return ( handleCopyClipBoard('토람은행 123-456-7890')}> 토람은행 123-456-7890 ); 위 내용을 실행시키면, button 태그에 의해 위와 같이 버튼이 ..

python :: 파이썬 1, 2, 3차원 배열(list) 선언 및 초기화(with java)

1. 1차원 배열 선언 java 에서 배열을 선언할 경우 다음과 같이 선언한다. int[] a = new int[10] // size=10 정수 배열 String[] b = new String[5] // size=5 문자열 배열 ... 이와 같이 java 에서는 어떤 type 의 데이터 배열을 생성할 것인지 미리 지정한다. python 에서는 데이터 타입을 지정하지 않아도 된다. a = [] 이렇게 빈 리스트를 선언해두고 다양한 타입의 값을 넣을 수 있다. 위와 같이 정수와 문자열을 같은 list 에 때려 넣어도 문제 없이 잘 들어간다! 2. 1차원 배열 초기화 java 의 경우 배열을 선언할 때 크기를 지정한다. int[] a = new int[10] 여기서 a는 길이가 10인 일차원 정수 배열을 뜻하..

:: python 2022.08.23

linux :: 리눅스 서버(도커 컨테이너)에서 주피터 노트북(jupyter notebook) 설치 및 실행하기

로컬 환경에서 파이썬으로 개발할 때 주피터 노트북을 많이 사용한다. 바로바로 실행 결과를 확인하면서 편리하게 개발하기 좋기 때문! 보통 윈도우(Windows) 로컬 환경에서 주피터 노트북 설치 및 실행을 하지만 이 글에서는 리눅스 서버 (또는 도커 컨테이너) 환경에서 마찬가지로 주피터 노트북을 설치하고 띄워서 개발해보도록 하겠다 :) 1. 파이썬이 설치되어 있어야 함 파이썬 개발을 위해서 주피터 노트북을 사용하는 만큼 당연하게도 리눅스 서버에 파이썬이 설치되어 있어야 한다. $ python --version Python 3.7.6 파이썬 설치 여부 및 버전을 위와 같이 확인한다. 만약 설치되어 있지 않다면, $ sudo apt-get install python3 위 명령어를 입력하여 설치를 진행한다. 2..

:: linux 2022.08.16

tensorflow :: 텐서플로우 ConfigProto (v1 -> v2 코드 업그레이드 8)

ConfigProto 텐서플로우에서 configproto 는 연산 방식을 설정하는 기능의 함수다. tf.session 으로 생성한 세션 내에서 연산을 진행할 때 cpu 를 사용할 것인지, 아니면 gpu 를 사용할 것인지 결정할 수 있다. config = tf.ConfigProto() # AttributeError: module 'tensorflow' has no attribute 'ConfigProto' 위와 같이 호출하며, 이 때 몇몇 인자값들을 지정하면 연산 방식을 설정할 수 있다. 그런데 v2.0 환경에서 ConfigProto 를 사용할 경우 위 주석 내용과 같이 에러가 발생한다. tensorflow v2.0 부터는 더 이상 ConfigProto 를 제공하지 않기 때문이다. 1. tf.config...

:: ai/tensorflow 2022.06.14
300x250