[개발 일반] AI 프로젝트 API 파일 확장자 및 알수 없는 파일 정리!

건너별·2022년 3월 29일
0

development

목록 보기
2/3

등장 배경

  • 데이터를 주고받을 때에는 데이터 포맷에 대한 약속이 필요함
  • 내부 시스템에 전송할 때는 내부 규칙을 설정해 놓으면 그만이지만, 타 시스템과 연동 시에는 정형화된 포맷이 필요함

API 전송 파일

  • xml, json, yaml, toml 등이 있음

Xml

  • html과 유사한 구조
  • 태그형식으로 key, value를 구분하고, 태그 안에 태그를 넣어서 부모와 자식관계의 구조를 나타냄

json

  • key 두번 안들어감
  • Object를 {}로 감싸주고, array는 []로 감싸줌

yaml(yml)

  • 가장 가독성이 좋음
  • 하이픈을 통해서 array임을 알 수 있음
  • 쿠버네티스에서도 json보다는 yaml 형식을 권장

toml

# This is a TOML document.

title = "TOML Example"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00 # First class dates

[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true

[servers]

  # Indentation (tabs and/or spaces) is allowed but not required
  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

[clients]
data = [ ["gamma", "delta"], [1, 2] ]

# Line breaks are OK when inside arrays
hosts = [
  "alpha",
  "omega"
]
  • tom's obvious minimal language
  • 가독성 좋은 환경설정 파일
  • json과 달리 comment사용 가능하면서도 yaml처럼 간결함을 살렸음
  • 시각적으로 hierarchical하지 않음

pycache 폴더와 .pyc(.pyo)

  • python 프로그램(.py)을 실행하면 interpreter가 compile(컴퓨터가 해석할 수 있도록 bytecode로 전환)을 함
  • pyc는 compiled , pyo 는 optimized bytecode compiled
  • 프로그램 재시작시 더 빠른 실행을 하게 해주며, 개발 과정에서는 무시해도 큰 문제 없음

init.py

  • 일반 디렉토리를 package로 인식하게 해줌
  • 보통 빈 파일로 둬도 무관하고, from <패키지> import * 형식으로 임포트하려면 다음과 같이 __all__변수를 정의해 주어야 한다.
__all__ = ['<모듈명1>','<모듈명2>',... ]

utils.py

  • 작은 함수들은 모아놓은 파일을 관행적으로 utils.py로 명명함

.gitignore

  • commit 시 제외할 목록을 적어놓는 파일

.gitattributes

  • git에 있는 LFS(Large File System)에서 관리하기 위해 추적할 리스트를 작성하는 곳

Reference

profile
romantic ai developer

0개의 댓글