스웨거 에디터오픈소스 웹 애플리케이션온라인으로 이용하거나 자체 웹 서버에 호스팅하여 사용 에디터 패널OpenAPI 정의서를 YAML 형식으로 작성하는 텍스트 에디터 UI 문서 패널에디터 패널에 작성된 내용이 표시됨스웨거 UI 내장 도구 메뉴URL로부터 정의서 가져오기스텁 및 SDK 자동 생성OpenAPI 코드 조각 생성 저장첫 접속 시 예제 파일 노출작성한 내용이 브라우저에 저장됨 필수 작성 항목1. openapi: OpenAPI 명세 버전2. info: {title, version}: API 메타데이터3. paths: API 경로openapi: 3.0.3# ...info: title: FarmStall API version: v1servers: - url: https://farmstall.des..
형식적 기술하기기계가 읽기 편함(정의서)요청 검증(validation), 코드 스텁 생성, 문서화 등 자동화할 수 있게 함 비형식적 기술하기사람이 읽기 편함 API 정의서가 지나치게 정확한 것도 좋지 않음- 작성 비용 과다openapi: 3.0.3# ...paths: /reviews: get: description: Get a bunch of reviews parameters: - name: maxRating description: | Filter the reviews by the maximum rating in: query schema: type: string response..
쿼리 파라미터: 길이 제한, 바이너리 데이터 사용 불가, 서버나 프록시 로그에 기록될 수 있음요청 본문: 보안성(로그로 기록되지 않고, 프록시에서 처리되지 않음) 전송(sending), 실행(executing), 호출(calling), 요청(requesting) 등요청을 만들어서 전송하고 실행을 지칭하는 데 자주 사용되는 단어 예시 api농산물 직판장 APIhttps://farmstall.designapis.com/v1 경로설명METHODquerybody/reviews리뷰 조회(query 포함 요청 시 해당 점수만 필터링)GETmaxRating(1~5) /reviews리뷰 등록POST { message: string, rating: number(1~5)}고양이에 관한 진실 APIhttps://cat..
OpenAPI와 스웨거를 활용한 실전 API 설계정오표: https://www.onlybook.co.kr/entry/designing-API-errata1.1 API 생태계란?서비스, 라이브러리, 외부 서비스, 네트워크 환경 등의 상호작용1.2 API 기술하기API 변경사항을 기록하는 프로그램 작성문서 작성, 빌드 전 변경 부분 테스트, 불필요한 보일러 플레이트 절감1.3 OpenAPI란?HTTP 기반 API를 설명하는 방식을 정해놓은 규격(ex. RESTful API)YAML, JSON 파일 형식으로 작성API의 입력과 결과, 필요한 권한, 호스팅 위치 등을 기술 OpenAPI 정의서를 스웨거 UI에 입력하면 읽기 편한 형태의 문서로 만들어짐1.4 OpenAPI 정의서는 어디에 사용하는 것이 좋을까?기..
1. 원격 로그인 sshSecure Shell. 원격 머신과 통신하기 위한 프로토콜(원격 로그인, 파일 전송 등). 보통 TCP 22 포트 사용(22/tcp) 윈도우: SSH 클라이언트 설치 필요(ex. PuTTY, Tera Term - SSH를 지원하는 터미널 에뮬레이터)ssh @처음 접속하는 리눅스 머신이라면 접속 확인 프롬프트가 표시됨- 호스트 등록을 위한 절차 버추얼박스의 가상 머신에 ssh 접속버추얼박스로 만들어진 가상 머신의 네트워크 어댑터는 NAT 모드 사용- 가상 머신의 네트워크와 호스트의 네트워크가 분리되어 있어 직접 접속할 수 없음포트 포워딩호스트의 특정 포트를 게스트(가상머신)의 22/tcp로 연결1. 가상 머신 정지2. 버추얼박스 메뉴의 머신 → 설정 선택3. 네트워크 > 어댑터1 ..
20.1 패키지와 리포지터리패키지: 소프트웨어의 실행 파일, 도큐먼트 파일, 설정 파일, 스크립트를 아카이브한 파일 하나패키지 형식배포판Red Hat 형식(.rpm)Red Hat Enterprise Linux, CentOS, FedoraDebian 형식(.deb)Debian GNU/Linux, Ubuntu리포지터리: 패키지 파일을 모아서 배포하는 사이트공식 리포지터리: 배포판에 기본 설정된 리포지터리배포판서드파티 리포지터리CentOSRepoForge(RPMForge), EPEL, RemiUbuntuPPA, Japanese Team20.2 yum(CentOS)레드햇 계열의 리눅스 배포판은 rpm(RedHat Package Manger) 사용단순한 조작만 가능하여 불편한 rpm 명령어를 쉽게 사용할 수 있게..
19.1 버전 관리 시스템- 파일 변경 기록, 확인(시점, 작성자, 목적, 변경 내역)- 특점 시점으로 파일 복원19.2 깃 설치와 초기 설정# 1. 설치# CentOSyum install git-core# ubuntusudo apt-get install git-core# 2. 버전(설치) 확인git --version# 3. 초기 설정(~/.gitconfig 파일에 저장됨)git config --global user.name git config --global user.email cat ~/.gitconfig19.3 기본적인 사용법repository: 깃이 관리하는 이력 보존 공간 = .git(작업 트리의 내역)# 초기화(.git 생성)git init# commit 대상으로 등록# -u: 모든 파일(gi..
18.1 아카이브와 압축아카이브(archive): 여러 개의 파일이나 디렉터리를 모아서 파일 하나로 만드는 것압축: 파일 크기를 작게 만드는 것. 보통 아카이브 파일을 압축하여 전송과 보관 비용 축소 window, macOS의 zip은 아카이브와 압축을 동시에 실행리눅스는 tar와 gzip, bzip2로 구분18.2 tar: 파일 아카이브하기(+ 복원)권한, 소유자, 타임스탬프 같은 파일 속성 유지슈퍼 사용자로 실행- 일반 사용자로 실행하면 슈퍼 사용자 읽기 권한이 부여된 파일을 아카이브할 수 없고, 복원 시에도 올바르지 않을 수 있음 괄호 확장더보기더보기mkdir dir1touch dir1/file-{1..5}.txt# 괄호 확장(숫자, 문자){..}{1..5}{a..e}{txt,log,dat} 보통 ..
16.1 셸 스크립트의 기본기호설명예시;여러 명령어를 한 행으로 입력echo "root directory";cd /;ls -l\행 끝에 입력 시 여러 행에 걸쳐 입력할 수 있음* 세컨더리 프롬프트: 입력이 끝나지 않은 프롬프트(세컨더리 프롬프트 기호 셸 변수 PS2)echo \ "root directory"|파이프라인| 입력 후 enter 시 여러 행에 걸쳐 입력할 수 있음sort |uniq -c |sort -n#주석명령어를 일시적으로 실행하지 않기 위해서도 사용=코멘트 아웃# echo "root directory"16.2 변수변수값 변경 시는 변수명에 할당, 변수값 참조 시 변수명 앞에 $를 붙여야 함= 양옆에 공백이 없어야 함변수명으로 알파벳, 숫자, _ 사용 가능, 첫글자로 숫자 사용 불가변수값..
14. 고도의 텍스트 처리14.1 sed: Stream Editor 문자열 치환 시 자주 사용됨 대화형 에디터는 파일을 메모리상에서 편집하고 적절한 시점에 저장sed는 비대화형 에디터로 명령어 실행 시 편집 내용을 인자로 지정하여 편집된 내용이 출력됨원본 파일을 수정하지 않음 패턴 스페이스sed는 한 행을 읽으면 패턴 스페이스에 복사하고, 편집 명령어를 실행한 뒤 패턴 스페이스의 내용을 출력되어명령어로 인한 출력이 있을 경우 중복 출력됨 → -n 옵션 사용sed [옵션] # 스크립트는 주소와 명령어를 조합한 문자열sed 1,5d sample.txtsed 's/aaa/bbb/g' sample.txt# -n: 패턴 스페이스의 내용을 출력하지 않는 옵션# 지정한 행만 출력됨sed -n 1p sample.tx..

