IT (50) 썸네일형 리스트형 jupyter lab 사용 시 기본 세팅 jupyter 은 윈도우에서도 되나 저는 보통 Linux에서 사용하므로 리눅스 카테고리에 올린다. install은 단순히 pip 로 하면 되고 nginx를 두고 처리를 할때 처리할 부분만 기술한다. 구동은 다음 형태로 하면 된다. NOTEBOOK_BASE_DIR=./ jupyter lab --no-browser --ip=0.0.0.0 --notebook-dir=${NOTEBOOK_BASE_DIR} --ServerApp.base_url=jupyter --NotebookApp.allow_origin=* origin 설정하는 이유는 다른 서버에서 nginx를 lb 로 사용하려는 구조 비스무리 하게 해서 그렇다. terminal을 오픈을 해 줄때 websocket으로 하는데, 이때 host 가 다를 경우 저런 .. Python config.ini 보다 입력받은 옵션을 더 우선시 하기 configparser 를 통해 argument를 파싱하고 비슷한 것을 config.ini 에 넣어 두었다고 가정 이때 config.ini 를 먼저 읽어서 argument쪽에 넣고 argument를 다시 읽으면 되는데, 이때 문제가 parser가 초기화를 한다. 그래서 무식한 방법이지만 default 에 넣는 방식으로 다음과 같이 처리하면 된다. 이때 형변환 부분이 있을 수 있는데, 이 부분은 아직 고려 하지 않았다. 예제소스 test.py import configparser import argparse def loadConfig(cfgfile): my_cfg = configparser.RawConfigParser() my_cfg.optionxform = str my_cfg.read(cfgfile) re.. [AWK] Giga, Kilo, Mega 변환해서 보여주기 p1 이라는 파일에서 공백으로 구분된 2개 컬럼에서 1번째 컬럼에 구성이 1.2G /home/parkmo 이런 형태인 경우 cat p1 | awk '{ TEXT1=$1; TEXT2=$2; SEP=substr(TEXT1, length(TEXT1), length(TEXT1)); STR_VALUE=substr(TEXT1, 0, length(TEXT1-1)); # print SEP; # print STR_VALUE; if ( SEP == "K" ) { VALUE=STR_VALUE*1024 } else if ( SEP == "G") { VALUE=STR_VALUE*1024*1024*1024 } else if ( SEP == "M") { VALUE=STR_VALUE*1024*1024 } else { VALUE=ST.. [Script] bash iconv로 디렉토리 내 파일들 cp949 to utf8변환 1) 파일 확장자들은 MY_LIST에서 보이는 것처럼 *.h *.c 2) 변환 fail은 stderr로 올라오는 것을 체크해서 처리 #!/bin/bash TMP_FILE_OUT=/dev/shm/mytmp.out TMP_FILE_ERR=/dev/shm/mytmp.err #iconv -f cp949 -t utf-8 get_file_size() { FSIZE=0 if [ -f $1 ] ; then FSIZE=`wc -c $1|awk ' { print $1 } '` fi return $FSIZE } MY_LIST=`ls *.h *.c` for MY_FILE in $MY_LIST do get_file_size ${MY_FILE} SIZE_MY_FILE=$? if [ ${SIZE_MY_FILE} -gt 0 ]; t.. [vim] vi 편집기 실행시 마지막 편집한 라인으로 커서 놓기 본래 vi 실행시마다 마지막 편집하던 곳의 줄에 커서가 있는게 기본인줄 알았는데, 우분투 12.10 서버를 깔고 apt-get으로 vim을 설치했는데, 기본 값이 아니어서 다음처럼 처리하였다. /etc/vim/vimrc 나 /etc/vimrc 에 다음 추가 stdout 에 대한 timestamp 앞에 찍어주기 1. awk를 사용할 경우, # echo "hello" |awk '{ print strftime("%Y-%m-%dT%H:%M:%S%z", systime()),$0 }' 2023-09-14T14:46:34+0900 hello 2. moreutils 의 ts 유틸 사용시 # apt-get install moreutils # echo "hello" |ts -m "%Y-%m-%dT%H:%M:%S%z" 2023-09-14T14:44:19+0900 hello batch 디렉토리내 파일 전부를 각각 분할압축하기 @echo off For %%j in (*.mp3) do ( rar a -v10240k "%%~nj" "%%j" ) --- 참조: http://www.diskool.com/777679 설명: 위 파일을 bat파일로 만들어서 저장한후에 실행한다. 현재세팅은 확장자 mp3에 10메가씩 나눠서(-v10240k) 압축하게 되어있다. avi같은 경우는 아래처럼 하면 자막까지 될것으로 보인다. @echo off For %%j in (*.avi) do ( rar a -v10240k "%%~nj" "%%j" "%%~nj.smi" ) %%~nj는 확장자를 제외한 파일이름을 의미한다. (j는 for에서 %%j로 받았기 때문에 그런거고) 첨부파일은 해당 배치파일과 rar.exe파일이다. [python] 외부 프로세스 실행한 결과를 string을 받기 #!/usr/bin/python import subprocess def getCallResult(cmdARGS): fd_popen = subprocess.Popen(cmdARGS.split(), stdout=subprocess.PIPE).stdout data = fd_popen.read().strip() fd_popen.close() return data data = getCallResult("ls -la") print (data) 결과) $ python test.py 합계 524 drwxrwxr-x 4 parkmo parkmo 4096 1월 27 16:30 . drwxrwxr-x 45 parkmo parkmo 4096 1월 27 11:59 .. drw-rw-r-- 1 parkmo parkmo 421 1.. VMware vCenter Converter 원글(이글루): 2011/11/28 1) 예전 VMware Image를 사용하려고 했더니 다음 같은 에러가 났다. – “Failed to open virtual machine: The virtual machine is too old. Only virtual machines created by Workstation 4.x and 5.x, GSX Server 3.x, and ACE 1.x are supported.” 2) VMware 홈페이지에서 “VMware vCenter Converter” 를 다운 받아서 컨버팅을 하였다. – Disk를 다시 Split도 할수 있고 사이즈도 바꿀수 있으니.. 정말 좋은 유틸같다. 3) 이후 정상 동작 시킨 모습 Local변수가 Stack 어떤 순서로 쌓이는지 조사 * 결과 4번째 열인 시작주소의 값을 가지고 소팅해서 알아 보았다. myserver>$ g++ test_stack.cpp -O3 -Wall myserver>$ ./a.out |sort -k 4 1 str1024 SP 0xbf8fbb18 EP 0xbf8fbf18 LEN 1024 5 str0512 SP 0xbf8fbf18 EP 0xbf8fc118 LEN 512 8 str0427 SP 0xbf8fc118 EP 0xbf8fc2c3 LEN 427 9 str0005 SP 0xbf8fc2c3 EP 0xbf8fc2c8 LEN 5 3 idx SP 0xbf8fc2c8 EP 0xbf8fc2cc LEN 4 2 uint32_1 SP 0xbf8fc2cc EP 0xbf8fc2d0 LEN 4 7 str0003 SP 0xbf8fc2d.. 이전 1 2 3 4 5 다음