반응형

전체 글 46

리눅스 사용자 관리(Linux user management)

리눅스 Root 계정 외 새로운 사용자 계정을 등록과 비밀번호 설정 그리고 관리자 권한(sudo)을 설정하는 방법에 대해서 알아보자. 리눅스는 Centos7을 기준으로 한다. 먼저 사용자 계정을 추가하는 방법은 아래와 같다. useradd 명령어 뒤에 계정 이름을 입력하면 된다. $ useradd {사용자 계정} 사용자 계정이 생성이 되면 계정에 비밀번호를 입력해보자. passwd 명령어를 입력 후 계정 이름을 입력하게 되면, 비밀번호를 입력하고 확인하는 출력 화면을 볼 수 있다. $ passwd {사용자 계정} 사용자 계정이 생성이 되면, 일반 계정이기 때문에 접근 권한에 대해서 제한이 많다. 그래서 관리자 권한을 부여하여 sudo 명령어르 사용 할 수 있는 방법에 대해서 알아보자. 아래의 명령어로 s..

OS/Linux 2021.08.19

입력 순서를 기억하는 Dictionary[OrderedDict]

Python을 개발하다보면 dictionary를 사용하는 경우가 많다. 많이 사용하는 방법 중의 하나가 아래와 같은 방법으로 많이 쓰이지만, x ,y, x key 값의 순서는 보존되지 않는다. test = {} test['x'] = 'x1' test['y'] = 'y2' test['z'] = 'z3' for k, v in test.items(): print (k, v) 결과를 보면 입력은 x, y, z 순이지만 결과는 y, x, z 순으로 순서의 개념이 없다. 그래서 사용되는 collections 라이브러리의 OrderedDict 클래스를 사용할 경우 입력 순서를 기억하여, 그대로 출력을 하게 된다. from collections import OrderedDict test = OrderedDict() t..

Elasticsearch Query

Elasticsearch를 사용하다 보면 Query를 자주 사용하게 된다. 최근 버전에서는 SQL 구문이 사용 가능하지만, 일반적으로 자주 사용하는 몇가지 쿼리를 알아보자. 쿼리는 Kibana에서 사용시 나타내는 방식으로 작성 하였으며, curl or API 사용시에도 동일하게 사용된다. ※ 엘라스틱 버전은 5.4 버전 기반이며, 최근버전에서는 type값 없이 조회가 가능하다. 조회 조회시 match와 term을 주로 많이 사용하며, 두가지의 사용 방법과 차이점에 대해서 알아보겠습니다. match 쿼리는 단어들이 최소 1개라도 들어 있다면 검색 결과에 포함 됩니다. # must를 사용해 2개이상의 조건을 포함할 수 있다. GET {index}/{type}/_search { "query": { "bool"..

Docker 명령어 정리

Docker를 사용하는데 자주 쓰이는 명령어 정리 입니다. Docker Image 목록 보기 # 아래의 2가지 명령어로 사용됨 $ docker image list $ docker image ls Image 가져오기 $ docker pull [image name]:[tag] # 예시 $ docker pull ceontos:7 Dockerfile 빌드 # -t 옵션을 입력하면 name tag를 등록할 수 있다. $ docker build -t [nametag] [경로] # 예시(현재 경로에 있기 때문에 . 사용) $ docker build -t docker/django . 컨테이너 생성 및 실행 run과 start의 차이는 run의 경우는 새로운 컨테이너를 생성하고 실행을 하지만, start 이미 생성된 컨..

Django & Nginx를 도커(Docker)로 실행하기 (with. docker-compose)

Django와 Nginx 도커 이미지(Image)를 생성하고, Docker-Compose를 이용하여 실행하고 관리하는 방법을 알아보자. Django의 Docker 이미지(Image)를 생성 해보자. 먼저 Docker의 폴더 구조를 먼저 확인해보자. docker_web ├─docker-compose.yml │ ├─django │ │ db.sqlite3 │ │ Dockerfile │ │ uwsgi.ini │ │ manage.py │ │ server.py │ │ requirements.txt │ │ │ ├─django │ │ │ settings.py │ │ │ urls.py │ │ │ wsgi.py │ │ │ __init__.py │ │ │ templates │ │ └──static │ │ │ └─applic..

Python sort by value in dictionary list

사전형 리스트 데이터에서 value 값으로 정렬을 하는 방법을 알아보자 아래와 같이 month와 day가 key인 사전형 리스트가 있다 datelist = [ { "month": 8, "day": 22}, { "month": 8, "day": 30}, { "month": 5, "day": 9}, { "month": 9, "day": 15}, { "month": 9, "day": 29}, { "month": 12, "day": 3} ] 1. lambda를 이용한 정렬 - reverse 옵션을 추가할 경우 역정렬 - 'month' 정렬 후 'day' 정렬 시도 # 오름차순 result = sorted(datelist, key=lambda date: (date['month'], date['day'])) # 결..

RPM File Download(RPM 파일 다운로드)

Linux 버전은 CentOS7 기준이다. Linux를 사용하다 보면 필요한 기능을 사용하기 위해 yum을 통해서 인터넷에서 직접 다운로드 및 설치가 가능하다. 하지만, 인터넷 접속이 불가능할 경우 외부에서 수동 설치 가능한 RPM 파일을 다운로드하여 직접 설치하는 경우가 있다. 그래서 이번에는 RPM 파일을 직접 다운로드 할 수 있는 방법을 알아보겠다. ※ yum downloadonly의 경우 yum install과 동일하게 의존성 있는 설치 파일도 함께 다운로드 된다. 1. yum을 이용하여 downloadonly를 설치한다. ex) yum install yum-downloadonly 2. 원하는 RPM 파일을 다운로드 한다. yum install --downloadonly --downloaddir=..

OS/Linux 2021.05.11

Python IP 정보 확인 하는 방법

Python을 사용하다 보면 Local IP를 알아야하는 경우가 생깁니다. 그럼 쉽고 빠르게 가져오는 방법을 알아보겠습니다. 일반적으로 표준 라이브러리를 사용하는 방법으로 gethostname을 이용하여 ip를 변환하는 방법을 사용하게 되면 자동(DHCP) 또는 수동(STATIC)으로 지정한 IP가 아닌 localhost인 127.0.0.1이 출력이 됩니다. import socket hostname = socket.gethostname() hostip = socket.gethostbyname(hostname) print (hostip) ens192: flags=4163 mtu 1500 inet 172.16.113.201 netmask 255.255.255.0 broadcast 172.16.113.255 ..

jQuery ID, Class, name을 이용하여 value 가져오기

jQuery를 사용하다보면 해당 id, class, name에 해당하는 obj, attr, value 등 데이터를 조회하는 경우가 있다. 이때 id, class, name을 이용하여 해당하는 elem에 접근하여 값을 가져오는 방법을 알아보겠다. 조회할 대상의 div를 생성하겠습니다. 1. ID $ ( '#{id}' ) var val_by_id = $('#my_id').val(); var name_by_id = $('#my_id').attr('name'); var class_by_id = $('#my_id').attr('class'); 2. Class $ ( '.{class}' ) var val_by_class = $('.my_class').val(); var name_by_class = $('.my_cl..

Python List 값 중복 제거(Remove duplicate python list)

Python list를 사용하다 보면 중복되는 값을 제거해야 하는 경우가 생긴다. 이럴 경우 손쉽게 제거하는 방법을 알아보겠다. 첫번째, Python의 자료형 Set 함수를 이용하는 방법이다. 장점 : 쉽고 빠르게 중복이 제거 가능하다. 단점 : list의 순서가 변경 될 가능성이 있다. set 함수의 경우 데이터 내 중복을 혀용하지 않기 때문에 제거가 된다. 또한 set 함수를 사용시 리턴 타입이 set이기 때문에 list로 형변환을 시켜 줘야 한다 Test_list = [1, 2, 3, 4, 5, 2, 3, 2, 4, 6] Test_list = list(set(Test_list)) print (Test_list) 두번째, 함수를 이용하여 중복 제거 장점 : 순서를 유지하며, 중복 제거 가능 단점 : ..

반응형