SW개발
[백준]1874번 스택 수열 - 스택
n = int(input()) list=[] cnt = 1 stack = [] result = [] temp = True for i in range(n): list.append(int(input())) for i in range(n): while cnt
[백준]4949번 균형잡힌 세상 - 스택
def vps(p): stack = [] check = True for i in p: if i == "(" or i == "[": stack.append(i) elif i == ")" or i == "]": if i == ")": if not stack or stack[-1] == "[" : # ")", "]" 로 먼저 시작되는 경우 no check = False break else: stack.pop() elif i == "]": if not stack or stack[-1] == "(": check = False break else: stack.pop() if not stack and check == True: print("yes") else: print("no") while True: p = inp..
[REST]REST API 란?
REST API 란? "Representational State Transfer" HTTP URI를 통해 자원을 명시하고, HTTP METHOD를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. 즉, 자원의 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다 REST 구성 자원(Resource) - URI 행위(Verb) - HTTP METHOD 표현(Representations) REST 특징 Uniform - URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일 Stateless - REST는 무상태성 성격을 갖는다. 작업을 위한 상태정보를 따로 저장하고 관리하지 않음. Cacheable - HTTP 기존 웹표준을 그..
[Docker]Docker 란?
Docker 란? Linux 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술이다. Docker를 사용하면 컨테이너를 매우 가벼운 모듈식 가상 머신처럼 다룰 수 있다. 컨테이너를 구축, 배포, 복사하고 한 환경에서 다른 환경으로 유연하게 이동이 가능하다. Docker 작동 방법 Docker 기술은 Linux 커널과 함께 Cgroups 및 네임스페이스와 같은 커널의 기능을 사용하여 프로세스를 분리함으로써 독립적으로 실행될 수 있도록 한다. Docker를 포함한 컨테이너 툴은 이미지 기반 배포 모델을 제공하므로 여러 환경 전반에서 애플리케이션 또는 서비스를 손쉽게 공유할 수 있다. Docker 사용 이유? 쉽고 빠른 실행 환경 구축, 가볍고 빠른 실행 속도 하드웨어 자원 절감 공유 환경 제공 쉬운 배포
[백준]9012번 괄호 - 스택
n = int(input()) def vps(p): stack = [] for i in p: if i == "(": stack.append(i) else: if not stack: print("NO") return else: stack.pop() if not stack: print("YES") return else: print("NO") return for i in range(n): p = input() vps(p) 코드 설명 반복 횟수를 n 변수에 입력 받는다. 그 후 반복문을 통해 괄호를 입력받고, 함수를 실행한다. 만약 문자가 "(" 라면 스택에 넣는다. 문자가 ")" 일때 만약 스택에 아무 것도 없다면 "NO"를 출력한다. 스택에 값이 존재한다면 "("를 pop 한다. 반복문을 돌고 난 후 스택이..
[AIOHTTP]AIOHTTP 란?
AIOHTTP 란? aiohttp는 Python 3.4 부터 표준 라이브러리로 추가된 asyncio를 위한 HTTP 서버/클라이언트 프레임워크이다. aiohttp 의 다양한 기능 Client / Server API Persistent connections Websockets 자세한 것은 공식사이트에서 확인할 수 있다.
[WebRTC]WebRTC란?
WebRTC 란? Web Real-Time Commnunication 의 약자 웹 어플리케이션(Android 및 IOS 지원) 및 사이트들이 별도의 소프트웨어 없이 음성, 영상, 파일 같은 데이터를 브라우저끼리 주고 받을 수 있게 만든 기술 WebRTC로 구성된 프로그램들은 별도의 플러그인이나 소프트웨어 없이 데이터 공유가 가능하다. WebRTC 통신 원리 WebRTC 기술은 P2P 통신에 최적화가 되어 있음 WebRTC 에 사용되는 기술은 여러 가지가 있지만 크게 3가지의 클래스에 의해 실시간 데이터 교환이 이루어짐 MediaStream - 카메라와 마이크 등의 데이터 스트림 접근 RTCPeerConnection - 암호화 및 대역폭 관리 및 오디오, 비디오의 연결 RTCDataChannel - 일반적..
[백준]10773번 제로 - 스택
import sys n = int(sys.stdin.readline()) stk = [] for i in range(n): value = int(sys.stdin.readline()) if(value == 0): stk.pop() else: stk.append(value) print(sum(stk)) 코드 설명 먼저 반복할 횟수를 n 이라는 변수에 저장 후 빈 리스트를 생성한다. 값을 입력 받으면서 그 값이 0이라면 저장하지 않고, pop() 연산을 통해 이전에 받은 값을 지운다. 0이 아닐 경우에는 저장한다. sum() 함수를 이용하여 스택의 합을 출력한다. Point : 0일 경우에는 저장 대신 삭제 기능을 구현한다.
[Flask]Hello world!
Flask의 가장 큰 특징은 역시 "마이크로"프레임워크라는 점이다. 이 점은 공식 홈페이지에서도 강조하고 있기 때문에 웹 프로그램을 통해 "Hello World"를 출력하는 것도 역시 어렵지 않게 할 수 있다. Flask 공식 Documentaion Flask로 Hello World! 일단 플라스크로 프로젝트를 구성할 폴더에 파이썬 가상환경을 만들고, 플라스크를 설치한다. 플라스크의 설치 pip install Flask 그리고 프로젝트 안에 app.py 라는 스크립트 파일을 만들어(Pycharm의 Flask 프로젝트 생성 시 이미 만들어져 있음) 다음과 같은 코드를 넣고 실행하면 웹 프로그램을 볼 수 있다. from flask import Flask app = Flask(__name__) @app.rou..
[Flask]Flask란?
Flask란 ? 플라스크는 파이썬으로 작성된 마이크로 웹 프레임 워크의 하나이다. Flask의 특징 플라스크는 마이크로 웹 프레임워크다. 즉 간결하게 유지하고 확장할 수 있음을 의미한다. 간결하다는 것은? -> 짧은 코드만으로도 완벽히 동작하는 웹 프로그램을 만들 수 있다. 확장성 있는 설계? -> 플라스크에는 다양한 확장 모듈을 통해 입맛대로 만들 수 있다. 나는 두 가지의 프레임워크를 모두 사용해본 경험이 있다. 경험을 빌어서 차이점을 얘기해 보고자 한다. Flask vs Django 플라스크는 자유로운 프레임워크다. 그에 반해 장고는 모든 기능을 지원하는 프레임워크다. 장고는 매우 많은 기능들을 자체적으로 가지고 있고, 개발자는 그 규칙에 맞추어 코딩하여야 한다. 플라스크는 기능들을 확장 모듈들을 ..