프로그래밍 기초 8

NGINX 와 서브도메인 연결

호스팅  웹사이트를 공용 IP 주소나 도메인을 통해 인터넷에 배포하고 사용자가 접근할 수 있도록 하기 위해 서버 공간과 필요한 기술을 제공하는 서비스도메인과 웹 호스팅 서버의 IP 주소와 연결하여 웹 사이트에 접근할 수 있도록 도와준다. 자신의 웹사이트를 운영하려면 데이터를 저장할 서버 공간과 인터넷 연결이 필요=> 웹 호스팅은 이러한 자원과 기술을 제공하여 사용자가 복잡한 서버 관리 없이도 비용 효율적이고 안정적으로 공개가능  EC2 생성   프라이빗키는 로컬에 저장된다. SSH 접속 시 사용된다.    개인키가 있는 디렉토리에서 ssh 명령어 실행    서브도메인 생성   name에 api만 적어도 api 가 서브도메인으로  입력되고 value에 ec2에 연결된 public ip를 입력하면 생성이 완..

DNS

DNS (Domain Name System)인터넷에서 사용자가 입력한 도메인 이름을 IP 주소로 변환하는 시스템인터넷에 연결된 각 기기에는 다른 컴퓨터가 기기를 찾는 데 사용하는 고유한 IP 주소가 있다. DNS 작동 방식 1.사용자가 브라우저에 boanog.com을 입력  브라우저는 Local DNS Resolver에게 요청한다. /*리졸버는 DNS 서버에 조회 메세지를 보내는 DNS 클라이언트로 보면 된다.리졸버의 실체는 Socket 라이브러리에 들어있는 부품이다.Socket 라이브러리는 OS에 있는 네트워크 기능을 호출하기 위한 프로그램의 부품집*/ 2.리졸버는 (로컬) 캐시를 먼저 확인하고 캐시에 없다면 Root 네임서버에게 요청한다.그러면 (.com 같은 TLD) 최상위 도메인 네임서버의 위치를..

HTTPS

대칭키하나의 키암호화/복호화 할 때 서로 키가 같은경우이다. =>  해당 키를 전달하기 위해 평문에 노출될 수 있는 단점 비대칭키(공개키) 한 쌍의 키 (두개)  => 하나는 암호화만 가능, 다른 하나는 복호화만 가능암호화할때와 복호화할 때 키가 서로 다른경우이다.(클라이언트가 A키, 서버가 B키 가지고 있을 때ㅡ  A키로 암호화한 경우 B키로만 복호화가 가능하고 B키로 암호화한 경우 A키로만 복호화가 가능하다.  /*공개키는 공개된 곳에 올려놓고 모두 가져가도록 해도 된다.공개키로 암호화해도 풀 수 있는 것은 개인키(비밀키)만 가능하기 때문이다.*/  HTTPS HTTP 프로토콜에서 암호구간(TLS/SSL)을 얹은 프로토콜TCP 3-way hand shake가 클라이언트와 서버 간에 연결을 설정하여 안..

Github 기본

Git 과 Github 1)Git - 로컬에서 관리되는 버전 관리 시스템 (시간에 따라 파일의 변경사항을 추적하고 기록)  - 로컬 저장소를 사용하기 때문에, 다른 사람이 나의 작업 내용을 알 수 없음   2)Github- 개인의 로컬 서버 밖에서 Git 버전 프로젝트를 공유하고 기록하는 온라인 데이터 베이스 - 원격저장소(서버에 있는 저장)를 깃허브에서 제공해주는 클라우드 서버를 이용- 클라우드 서비스기 때문에 다른 사람들과 협업 시 소스코드 공유가 가능하다.   Github  기본 용어 Repository프로젝트가 존재하는 저장 공간 Branchmaster branch에서 각 개발자나 기점 별로 새로운 branch를 만들어서 분업하는 기능 혹은 공간서로 다른 branch에 영향을 주지 않아 Repo에..

OpenAI Assistant API 및 응답

OpenAI Assistant APIOpenAI의 Assistants API는 애플리케이션 내에 AI 기반 어시스턴트를 만들 수 있는 Toolkit 개발자들은 코드 해석기(Code Interpreter), 검색(Retrieval), 기능 호출(Function calling)과 같은 Tool을 이용하여 사용자의 요구사항을 이해하고, 반응을 예측하며, 상호작용적으로 참여하는 AI 어시스턴트를 구축할 수 있다.  이 API는 자연어 처리 기능을 통해 사용자의 입력을 이해하고, 적절한 작업을 수행할 수 있는 AI 어시스턴트를 제작하는 데 필요한 모든 기능을 제공한다.=> AI 어시스턴트를 특정한 용도를 정하고 해당 용도에 맞는 데이터를 제공할 수 있다.   Assistants API의 Tools 1) 코드 해석..

GET,POST 그리고 Content-type / Postman

GET /  POST MethodGETPOST목적서버에서 데이터를 조회 시 사용데이터 생성 및 업데이트 시 사용데이터전송방식HTTP 패킷 Header에 데이터를 담아URL의 query string을 통해 전송HTTP 패킷 Body에 데이터를 담아URL에 포함되지 않고 Body를 통해 전송멱등성데이터를 조회할 때 사용하므로여러 번 요청하더라도 응답이 같다.데이터를 생성하고 업데이트 시 사용하므로 서버(안  데이터)가변경될 수 있어 여러 번 요청 시 결과가 달라질 수 있다.데이터크기간단한 데이터큰 데이터보안URL에 데이터가 노출URL에 노출되지 않아 상대적으로 안전캐싱브라우저에 캐시가능하다.브라우저에 캐시되지 않는다.예시/sendMessage?user_input=hello/sendMessage (바디에 담겨..

Python Flask 웹 서버 실행

웹페이지 틀을 구성하는 프론트 엔드페이지에 대한 데이터를 Logic에 맞게 넣어주는 백엔드 및 데이터베이스 등=> REST API를 사용해서 이러한 컴퓨터들 사이에서 http 데이터 요청을 해서 응답 데이터를 화면에 출력시키는 구조다. Flask 플라스크는 파이썬으로 작성된 마이크로 웹 프레임워크웹 애플리케이션을 구축하는 데 필요한 핵심 기능을 제공하는 데 중점을 둔 단순하고 미니멀한 디자인 특정 도구나 라이브러리를 강요하지 않는다는 점에서 '마이크로'라는 원칙을 따른다.나머지 기능은 자신이 원하는 다른 라이브러리나 프레임워크를 확장해 사용  __name__? 파이썬에서 디폴트로 있는 해당 변수는 모듈로서 실행될 때 모듈(라이브러리)의 이름이 저장된다. (abc.py이면 abc)모듈이 아닌 실행되는 코드..

0.웹에 관한 중요 키워드

웹 브라우저Chrome, Safari, Opera 등 웹 사이트를 볼 떄 사용하는 소프트웨어서버서비스를 제공하는 컴퓨터(서비스에 따라서 앞에 웹, DB 등 붙을 수 있다.)클라이언트서버에게 서비스를 제공받는 컴퓨터( 언제든 서버가 될 수 있고 클라이언트가 될 수 있다.)HTTP클라이언트와 서버가 HTML을 주고받기 위해 생긴 통신하는 프로토콜, 요즘에는 HTML 이외에 많은 데이터를 주고받을 수 있다.IP컴퓨터의 집 주소DomainIP의 별명DNS (Domain Name System)도메인과 IP 주소를 매칭해놓은 서버(웹 브라우저가 서버의 집주소를 DNS 서버에게 먼저 물어본다.)nslookup 시 여러 개의 주소가 나오는 이유는 부하분산을 위한 것Port서비스마다 고유의 번호를 설정해놓은 것서비스 설..