반응형
반응형

React와 Django로 웹 서비스 뚝딱 세팅하기 (feat. Webpack, Redux, django rest framework, PWA)

http://milooy.github.io/TIL/Django/react-with-django-rest-framework.html#%E1%84%86%E1%85%A9%E1%86%A8%E1%84%91%E1%85%AD

 

[서버부터 프론트까지] React와 Django로 웹 서비스 뚝딱 세팅하기 (feat. Webpack, Redux, django rest framework

[서버부터 프론트까지] React와 Django로 웹 서비스 뚝딱 세팅하기 (feat. Webpack, Redux, django rest framework, PWA) 목표 모임 개설 사이트, 'MOGAE' 제작. Django에 Django Rest Framework를 얹어 API 서버를, react로 프론

milooy.github.io

목표

모임 개설 사이트, 'MOGAE' 제작. Django에 Django Rest Framework를 얹어 API 서버를, react로 프론트엔드를 개발합니다. 상태관리는 redux로 하며 Progressive Web App기술을 적용해 앱처럼 사용할 수 있습니다.

이를 연동하여 온전한 웹 어플리케이션을 만드는 것에 초점을 맞춘 튜토리얼입니다. (기술에 대한 설명은 하지 않습니다.)

#사용 버전

  • Python: 3.4.3
  • Django: 1.11.3
  • Django Rest Framework: 3.6.3

장고걸스 : https://tutorial.djangogirls.org/ko/django_installation/

 

Django 설치하기 · HonKit

virtualenv를 생성하려면 콘솔 창을 열고, (이전 장에서 얘기했는데, 기억나죠?) 그리고 C:\Python35\python -m venv myvenv를 실행하세요. 아마도 화면에 이렇게 보일 거에요. : command-line C:\Users\Name\djangogirls>

tutorial.djangogirls.org

https://gitter.im/DjangoGirls/tutorial

 

DjangoGirls/tutorial

This is a tutorial we are using for Django Girls workshops

gitter.im

 

@ Django 자습 : https://wikidocs.net/book/837

 

Django 자습

Django 자습, 요약, 정리 # 출처 ## 참고 서적 * Django로 배우는 쉽고 빠른 웹 개발 - 파이썬 웹 프로그래밍 * Django를 활용한 쉽고 빠른 웹 …

wikidocs.net

 

반응형
반응형

변수는 프로그래밍에서 "하나의 데이터(숫자, 문자등)를 저장할 수 있는 메모리 공간"으로, 데이터 타입에 따라 정수, 소수, 문자등을 저장할 수 있다.

변수의 이름을 정의함에 있어 일반적인 룰은 아래와 같다. 

- 파이썬에서 예약어는 사용할 수 없다.

- 변수는 하나의 문자(a letter)나 밑줄(underscore) 시작해야 한다. 

- 변수의 두번째 문자부터는 문자(letter), 숫자(number) 또는 밑줄(underscore)를 사용할 수 있다. 

- 변수는 대, 소문자을 구분한다. 

- 변수명의 타입은 값에 따라 변화한다. 

 

표준 데이터 유형

데이터 유형 할당 구분 아이템 구분 특징
숫자 Number Type      
문자 StringType "" or ''    
셋 Set Type {} , 중복제외, 순서없음
리스트 List Type [] ,  
딕셔너리 Dictionary Type {} , 키와 값으로 분리
튜플 Tuple () , 수정불가

 

 

데이터 형식 변환 (Data Type Conversion)

 

Function Description
int(x) x 값을 정수 타입으로 변환한다.
float(x) x 값을 부동 소수점 타입으로 변환한다.
complex(x) x 값을 복소수 타입으로 변환한다.
str(x) x 값을 문자 타입으로 변환한다.
repr(x) x 값을 표현식 문자 타입으로 변환한다.
eval(str) x 값이 문자 타입인지를 검증한다.
tuple(s) s를 튜플 타입으로 변환한다.
list(s) s 값을 리스트 타입으로 변환한다.
set(s) s 값을 셋 타입으로 변환한다.
dict(d) d 값을 딕셔너리 타입으로 변환한다.
frozenset(s) s 값을 고전 셋 타입으로 변환한다.
chr(x) x 값을 문자 타입으로 변환한다.
ord(x) x 값을 정수 타입으로 변환한다.
hex(x) x 값을 16진수 문자 타입으로 변환한다.
oct(x) x 값을 8진수 문자 타입으로 변환한다.

 

반응형
반응형

[python] 환경변수 관련.  os, sys

import os
import sys
 


print(" os 환경변수 environ \n")
print(" * 모든 시스템 환경 변수 ") 
print(" os.environ()  : ", os.environ)

print('')
for key, value in os.environ.items():
    print('{}: {}'.format(key, value))


print(" * 특정 시스템 환경 변수 ")    
print(" os.environ('JAVA_HOME')  : ", os.environ['JAVA_HOME'])

# 존재하지 않는 환경 변수를 가져오면, 에러는 발생하지 않고 None이 리턴
result = os.environ.get('NOT_EXISTS')
print(result)

print(" * 현재 코드가 실행되는 디렉토리까지 문자열 ")
print(" os.getcwd() : ", os.getcwd())

print(" * 현재 실행 파이썬 스크립트의 PID 출력 ")
print(" os.getpid() : ",  os.getpid() )


print(" * 현재 워킹 디렉토리 변경  ")
print(" os.chdir() : " )
print(" import os ")
print(" print(os.getcwd()) #/Users/projects/workspace ")
print(" os.chdir( os.getcwd()+'/scripts/src' ) ")
print(" print(os.getcwd()) #/Users/projects/workspace/scripts/src ")

print(" * 디렉토리 만들기 : mkdir(path[,mode]) ")
#_result = os.mkdir("test_dir")
#print(_result)


print(" * path에 존재하는 파일과 디렉토리들의 리스트 반환 ")
_result = os.listdir(".")
print(" os.listdir('.') : ",  _result )
print('')
for x in _result:
    print('{}'.format(x))

# 인자로 전달된 디렉토리를 재귀적 생성
#  - 이미 **디렉토리가 생성**되어 있는 경우나 **권한이 없어 생성할 수 없는 경우**는 **예외**발생
print(" * 디렉토리 만들기 : makedirs(path[,mode]) 이미 **디렉토리가 생성**되어 있는 경우나 **권한이 없어 생성할 수 없는 경우**는 **예외**발생")
#_result = os.makedirs("test_dir")


print(" * 하위 폴더를 for문으로 탐색 : os.walk(path) ", " 기본적으로 top-down임. bottom-up으로 하고 싶다면 ")

if __name__ == "__main__":
    root_dir = "./"
    for (root, dirs, files) in os.walk(root_dir):
        print("root : " + root)
        if len(dirs) > 0:
            for dir_name in dirs:
                print("dir: " + dir_name)

        if len(files) > 0:
            for file_name in files:
                print("file: " + file_name)

os.walk(root_dir, topdown=False)  #bottom-up으로 하고 싶다면,

print(" * 'A'+'/'+'B' 로 문자열을 return 한다. : os.path.join('A','B) ")

print(" os.path.isdir(): directory인가? ")
print(os.getcwd(), " ==> " , os.path.isdir(os.getcwd()) )

print(" os.path.abspath(path): abs 경로 반환  ")
print(" 현재 ./sketchpy_001.py 파일의 절대경로 : ", os.path.abspath("./sketchpy_001.py"))


print(" os.path.dirname(path) : 경로의 제일 뒤 빼고 반환  ")

print(" os.path.exists(path) : 지정한 path에 파일, 디렉토리가 존재하는지 유(True)/무(False) 리턴  ")
print("os.path.isfile(path)  ")
print("os.path.isdir(path)  ")
print("os.path.isabs()  ")
print("")

import glob

print( " glob.glob(os.getcwd()) : ls와 유사한 기능을한다, 정규식 사용 가능 (* ? [0-9])" )
print(" (workspace) $ ls = glob.glob(os.getcwd()+'/*'))  ")
print(" list로 return  ")
print( glob.glob(os.getcwd()))
print( glob.glob(os.getcwd() + "/*"))

print( "" )
print(" glob.iglob(path)  ")
print("    - glob.glob와 다르게 iterator로 반환  ")
print("    - list로 담지 않기 때문에 결과가 매우 많다면 유용함  ")
for i in glob.iglob(os.getcwd()+'/*'):
    print(i)
반응형
반응형

[PYTHON] 파일 인코딩 관련

 

UTF-8

UTF-8-SIG

""" 
    인코딩 정보
"""
import os
import sys 
 
 
#작업하는 경로(위치)가 어디인지 확인
#print(os.getcwd())
prePath_in = "./Project/" 
prePath_out = "./Project/" 



#1. 기본 내용적기

# 기본 텍스트 신규 입력
file = open("test.txt", "w")
file.write("내용입력")
file.close()

# 한글깨짐 방지 ENCODING UTF-8
file = open("test.txt", "w", encoding="UTF-8")
file.write("내용입력")
file.close()

# 한글깨짐 방지2 ENCODING UTF-8
# txt는 UTF-8로도 충분한데 csv는 UTF-8로만 하면 읽을땐 다른걸로 읽을 경우 깨짐 현상 발생
file = open("test.csv", "w", encoding="UTF-8-sig")
file.write("test,test,test\n")
file.write("잘되나,안된다,오된다\n")
file.close()

# 참고
# Permission denied: 'test.csv' 가 나온다
# 파일 열고 있어서 수정할 수 없다는거다. 꺼주자.

# 추가 입력
file = open("test.txt", "a")
file.write("추가 내용입력")
file.close()


# 읽기
file = open("test.txt", "r", encoding="UTF-8")
print(file.read())
file.close()

# with 함수 : open & close 포함 
with open("test.txt", "w", encoding="UTF-8") as file:
    file.write("내용입력")
with open("test.txt", "r", encoding="UTF-8") as file:
    print(file.read())
 

 

#2. print 한거 txt 파일에 넣기

# sys.stdout 함수 사용하여 log 저장하기
f = open('test.txt','w', encoding='utf-8') # 로그 저장할 file open
sys.stdout = f
print("내용입력")
sys.stdout = sys.__stdout__   # 원래의 stdout으로 복구
f.close()                     # 로그 파일 닫기

#이렇게 해도 되긴 하는데.. 프로그램이 종료 안되면 문제가 생길듯?
sys.stdout = open('test.txt','w', encoding='utf-8')
print("내용입력")
반응형
반응형

[python] psutil - Python에서 프로세스 및 시스템 모니터링을 위한 크로스 플랫폼 lib.

 

psutil(프로세스 및 시스템 유틸리티) 은 Python에서 실행 중인 프로세스  시스템 활용 (CPU, 메모리, 디스크, 네트워크, 센서) 에 대한 정보를 검색하기 위한 크로스 플랫폼 라이브러리입니다 . 주로 시스템 모니터링 , 프로파일링, 프로세스 리소스 제한  실행 중인 프로세스 관리 에 유용합니다 . ps, top, iotop, lsof, netstat, ifconfig, free 등과 같은 고전적인 UNIX 명령줄 도구에서 제공하는 많은 기능을 구현합니다 . psutil은 현재 다음 플랫폼을 지원합니다.

https://psutil.readthedocs.io/en/latest/

 

psutil documentation — psutil 5.9.5 documentation

Utility method retrieving multiple process information as a dictionary. If attrs is specified it must be a list of strings reflecting available Process class’s attribute names. Here’s a list of possible string values: 'cmdline', 'connections', 'cpu_aff

psutil.readthedocs.io

 

https://pypi.org/project/psutil/

 

psutil

Cross-platform lib for process and system monitoring in Python.

pypi.org

pip install psutil




psutil.virtual_memory()

 

반응형
반응형

 

Python Package Index (PyPI) : https://pypi.org/

 

PyPI · The Python Package Index

The Python Package Index (PyPI) is a repository of software for the Python programming language.

pypi.org

 

반응형

+ Recent posts