본문 바로가기

파이썬

[자작NAS] 웹 기반 Visual Studio Code 설치 Visual Studio Code는 최근 가장 핫한 에디터 중 하나입니다. 여러 언어를 위한 다양한 확장 기능들로 인기가 많은 툴입니다. VS Code를 웹 기반으로 동작시키는 code-server라는 프로젝트가 있습니다. 아래 링크를 통해 해당 프로젝트의 정보를 확인할 수 있습니다. https://github.com/cdr/code-server cdr/code-server Run VS Code on a remote server. Contribute to cdr/code-server development by creating an account on GitHub. github.com 웹 기반으로 어디서든 접속해서 코딩이 가능한 웹 기반 VS Code 설치 방법을 알아보겠습니다. Docker를 통한 cod.. 더보기
파이썬에서 JSON 데이터 형식 처리 파이썬은 기본적으로 JSON 데이터를 처리할 수 있는 json 모듈이 포함되어 있습니다. json 모듈은 Python 타입을 JSON 형태의 문자열로 바꾸거나 그 반대의 기능을 제공합니다. 1. JSON 형태 문자열과 파일 읽기 JSON 형태의 문자열을 읽기 위해 loads()를 사용합니다. import json data = '{"title": "Book1", "ISBN": "12345", "author": [{"name": "autho1", "age": 30}, {"name": "autho2", "age": 25}]}' json_data = json.loads(data) print(json_data['title']) print(json_data['ISBN']) for author in json_data.. 더보기
파이썬 정규표현식으로 쉼표(콤마, Comma)가 있는 숫자 찾기 파이썬의 re 모듈은 정규표현식(Regular Expression, regex)을 담당합니다.정규표현식은 이메일이나 IP 주소의 유효성 등에 활용이 가능합니다.그리고 다양한 패턴에 따라서 파일명을 바꾼다거나 하는데도 활용할 수 있습니다.여기서 알아볼 정규표현식 활용 방법은 쉼표로 구분된 숫자를 추출하는 것입니다.일반적으로 3자리마다 쉼표로 구분하는 숫자 표기방식을 찾는 방법입니다.쉼표로 구분되는 숫자는 다음과 같은 형식의 숫자입니다.45,123-12,345.0154,321.23123,456,789 파이썬 정규표현식으로 표현하면 다음과 같습니다. import re def check_number(text): regex = re.compile(r'((-)?\d{1,3}(,\d{3})*(\.\d+)?)') se.. 더보기
3. Django-dashing에 커스텀 위젯 추가 Django-dashing의 커스텀 대시보드를 통해 원하는 대시보드 생성이 가능합니다.커스텀 대시보드의 생성은 아래 링크에서 확인이 가능합니다.2017/01/30 - [Programming/Python] - 2. Django-dashing 커스텀 대시보드 만들기커스텀 위젯의 추가로 다양한 정보를 대시보드에 추가할 수 있습니다. 1. 커스텀 위젯 생성커스텀 위젯을 생성하기 위해 먼저 widgets.py 파일을 생성합니다.Django Dashing이 제공하는 기본 위젯을 상속받아 새로운 위젯 생성이 가능합니다.기본적으로 제공되는 위젯을 임포트하고 내용을 작성하면 됩니다. # -*- encoding: utf-8 -*- from dashing.widgets import NumberWidget from rando.. 더보기
2. Django-dashing 커스텀 대시보드 만들기 Django-Dashing을 활용하면 쉽게 대시보드 웹페이지 생성이 가능합니다.아래 링크를 통해서 기본적인 대시보드 생성이 가능합니다.2017/01/24 - [Programming/Python] - Django-dashing으로 대시보드 웹페이지 생성기본적인 대시보드는 커스텀이 불가능합니다. 원하는 대시보드 형태로 커스터마이징을 하려면 몇 가지 작업이 추가로 필요합니다. 1. 새로운 대시보드 생성먼저 __init__.py 파일이 위치한 곳에 'static' 디렉토리를 생성합니다.디렉토리를 생성하고 dashing-config.js 파일을 생성합니다.파일 내용은 아래와 같이 작성합니다. /* global $, Dashboard */ var dashboard = new Dashboard(); dashboard.. 더보기
1. Django-dashing으로 IoT 대시보드 생성 대시보드 형태의 웹페이지를 찾다가 Dashing이라는 것을 찾았습니다.윈도우10 UI 스타일로 깔끔한 스타일의 대시보드를 만들 수 있습니다.파이썬 장고(Django)를 위한 Django-dashing으로 쉽게 장고를 통해 사용할 수 있습니다.Django-dashing을 설정하고 실행하는 방법입니다.프로젝트는 파이썬 IDE인 PyCharm을 기준으로 설명합니다. 1. 프로젝트 생성 및 가상환경 생성먼저 파이썬 프로젝트를 생성합니다.메뉴의 Create New Project를 실행하면 됩니다.먼저 프로젝트 경로를 입력하고 우측의 설정 버튼을 클릭해서 Create VirtualEnv를 실행합니다.가상환경 이름과 경로를 적당히 입력합니다.OK를 눌러서 가상환경 생성을 완료합니다.가상환경 생성이 완료되면 Creat.. 더보기
파이썬 가변인자 함수 사용 가변인자 함수는 함수가 몇 개의 인자를 받을지 정해지지 않은 함수입니다.파이썬에서는 가변인자 함수를 지원하고 있습니다.C++에도 가변인자 함수를 구현하고 있는데 아래 링크에서 내부 구조를 확인할 수 있습니다.2014/12/07 - [Programming/C&C++] - 가변 인자(Variable Arguments) 내부 구조파이썬에서는 가변인자를 받을 때 *을 붙여서 받습니다.다음과 같이 입력받는 숫자의 개수와 상관없이 합을 구할 수 있는 함수를 만들 수 있습니다. def sum_all(*args): result = 0 for i in args: result += i return result print(sum_all(1, 2, 3, 4, 5)) print(sum_all(1, 2, 3, 4, 5, 6, 7.. 더보기
파이썬 데이터 깊은 복사(Deep Copy)와 얕은 복사(Swallow Copy) 데이터를 복사할 때 깊은 복사(Deep Copy)와 얕은 복사(Swallow Copy)가 존재합니다.C++에서는 포인터 등의 얕은 복사는 여러 문제를 야기하는 요인 중 하나입니다.C++에서 힙에 생성한 메모리를 해제된 이후에 다른 변수에서 참조하면 문제가 발생하게 됩니다.깊은 복사와 얕은 복사의 메모리 개념은 아래의 포스팅의 이미지를 참조하면 됩니다.2015/01/14 - [Programming/C&C++] - 얕은 복사(Shallow Copy) vs 깊은 복사(Deep Copy)앝은 복사는 다른 변수가 동일한 메모리를 가리키게 됩니다.파이썬에서 리스트를 대입해서 생성하는 경우 얕은 복사가 발생하게 됩니다. myList1 = [1, 2, 3, 4] myList2 = myList1 print(hex(id(.. 더보기