백엔드

2023.07.31 - [AI 웹개발 취업캠프/SW 기초 과정] - [AI 웹개발 취업캠프] 11Day - Python(1) [AI 웹개발 취업캠프] 11Day - Python(1) 2023.08.01 - [캠프/AI 웹개발 취업캠프] - [AI 웹개발 취업캠프] 12Day - Python(2) 파이썬 소개 파이썬(Python)이란 1989년 12월 네덜란드의 귀도 반 로섬 프로그래머가 크리스마스 이전에 회사가 7일 쉬어서 gorangcodingstory.tistory.com 2023.08.01 - [AI 웹개발 취업캠프/SW 기초 과정] - [AI 웹개발 취업캠프] 12Day - Python(2) [AI 웹개발 취업캠프] 12Day - Python(2) 2023.07.31 - [캠프/AI 웹개발 취업캠..
ERD 고도화 및 정규화하여 제출하기 기존 테이블명 shortUrl 에서 shortUrls 로 변경 users 테이블 컬럼 데이터 타입 제약 조건 설명 id INT UNSIGNED PRIMARY KEY, AUTO_INCREMENT users 고유 id nickname VARCHAR(50) UNIQUE 유저 닉네임 email VARCHAR(50) UNIQUE 유저 이메일 password VARCHAR(200) NOT NULL 유저 비밀번호(암호화) shortUrls 테이블 컬럼 데이터 타입 제약 조건 설명 id INT UNSIGNED PRIMARY KEY, AUTO_INCREMENT shortUrl 고유 id originalUrl VARCHAR(200) NOT NULL 단축 되기전 원래 url 주소 sho..
HTTP HTTP의 메서드(Method) HTTP는 요청 메서드를 정의하여 주어진 리소스에 수행하길 원하는 행동을 나타내고 안전, 멱등, 캐시 가능의 속성이 있다 안전 서버의 상태를 바꾸지 않는 것 멱등 동일한 요청을 한 번 보내는 것과 여러 번 보내는 것이 같은 것 캐시 가능 응답 결과를 나중에 검색하고 사용하기 위해 서버에 저장 메서드 세부 내용 멱등 안정 캐시 GET 리소스를 요청할 때 ✅ ✅ ✅ POST 바디를 통해 서버로 요청 데이터를 전달 ❌ ❌ ✅ PUT 요청에 담겨진 내용에 따라 없으면 새로 생성 또는 대체(덮어쓰기) ✅ ❌ ❌ PATCH 리소스를 일부분 변경 ❌ ❌ ✅ DELETE 특정 리소스를 삭제 ✅ ❌ ❌ HEAD GET과 동일하지만 응답 본문(Body) 를 포함하지 않음 ✅ ✅ ✅..
HTTP 헤더에 부분에 Connection 키라는 값 중 Keep-alive라는 옵션이 있음. 이것이 무엇인지 http를 사용하는데 대한 역할과 어떤 상황에서 사용되는지 알아보기 HTTP 헤더의 Connection은 클라이언트와 서버 간의 연결 유지 및 관리에 관련된 역할을 한다. Keep-alive 라는 옵션은 클라이언트와 서버 간의 지속적인 연결을 유지하기위해 설정해준다. 기본적으로 HTTP는 각 요청마다 새로운 연결을 맺고 처리한 후에는 연결을 닫는 방식으로 동작하는데 이 과정을 매번 수행하기엔 리소스와 시간이 소요되어서 Keep-alive 옵션을 도입했다. 위 사진에서 보면 timeout=5, max=1000 라고 되어있는데 timeout=5 는 5초 동안 유지 한다는 뜻이고 max=1000 는 ..
HTTP 개요 TCP (Transmission Control Protocol) 3 way handshake 데이터를 전송하기 전에 신뢰성있는 데이터 전송을 성립하기 위해 사용하는 연결 확인 방식 4 way handshake 세션을 종료하기 위해 사용하는 방식 TCP 패킷 중 헤더(Header)에 있는 TCP 플래그를 활용한다. SYN: 연결요청 플래그 ACK: 응답 플래그 FIN: 연결종료 플래그 HTTP Request Message 요청 라인 (Request Line) HTTP 메소드 (Method) GET, POST 등 HTTP 통신에서 사용되는 메소드 타겟 (URI) 클라이언트가 가져오고자 하는 리소스 프로토콜 버전 브라우저가 현재 사용하고 있거나 사용할 수 있는 HTTP의 버전 헤더 (Header..
HTTP 개요 프로토콜(Protocol) 이란? 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 사이에서 메시지를 주고 받는 양식과 규칙의 체계 (대화를 하기 위한 일종의 규약 또는 약속) HTTP (Hypertext Transter Protocol) HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. HTTP는 기본적으로 무상태(Stateless) 상태를 유지하고 TCP와 같은 프로토콜은 Stateful 상태를 유지한다. 특징 요청과 응답 어떤 종류의 데이터라도 전송 가능 비연결성 (Connectionless) 무상태(Stateless) 메소드(Method) HTTP를 이용하여 클라이언트에서 서버로 요청을 보낼 때 어떠한 목적으로 요청을 하는 것인지 정의할 수 있다...
MAC주소란 무엇이고 어떻게 구성되는 것인가? MAC 주소 (Media Access Control Address) 는 네트워크 장치들이 고유하게 가지는 식별자이다. 이 주소는 네트워크 카드나 어댑터에 할당되고 이를 통해 장치들은 서로 통신하고 데이터를 교환한다. MAC 주소는 12자리의 16진수로 구성 앞 6자리는 제조업체 식별자 OUI (Organizationally Unique Identifier) https://hwaddress.com/ 에서 조회해볼 수 있다. 뒤 6자리는 해당 업체에서 할당 UAA (Universally Administered Address) MAC주소는 어떻게 사용되고 왜 사용되어야 하는지 알아보기 MAC 주소는 주로 로컬 네트워크에서 장치들을 식별하고 구분하기 위해 사용하고 ..
앞으로 2주간 백엔드 강의 내용 및 목표 강의 내용 1. 웹서버와 HTTP (Hypertext Transfer Protocol) 2. REST API (Representational State Transfer) 3. Fast API (with Python) 강의 목표 • 백엔드 개발자가 알아야 할 기초지식을 습득한다. • HTTP와 RestAPI의 기본 개념을 알고 있고 있는 수준에 도달한다. • Python의 대표 웹프레임워크인 FastAPI의 기본 사용 방법을 익히고 배포할 수 있는 수준에 도달한다. 웹서버 개요 웹서버는 소프트웨어를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말한다. 웹서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML 문서나 각종 리소스를 전달해준다. 웹 브라우저..
Thread-safety와 unsafety란 무엇인가? Thread-Safety 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻함. 하나의 함수가 한 스레드로부터 호출되어 실행 중일 때, 다른 스레드가 그 함수를 호출하여 동시에 함께 실행되더라도 각 스레드에서의 함수의 수행 결과가 올바르게 나오는 것 데이터 손실이나 예기치 않은 결과가 발생 하지 않는것을 의미 Thread-Safe한 코드는 스레드 간의 경쟁 조건(race condition)과 같은 문제를 방지하고, 동시성을 효과적으로 다루는 것 Thread-Unsafety Thread-Safe의 반대?? 공유되는 데이터에 대하여 여러 스레들이 동시에 접근..
SQL의 JOIN 은 Sub-query와 다르게 어떤 과정을 거쳐서 연산이 되는지 찾아보고 스터디한 내용을 작성해서 제출하기. (선택 과제여서 나중에 할 예정) SQL의 CRUD와 Python의 Flask&Pymysql을 이용하여 본인의 DB를 연동하고 데이터를 SELECT 또는 INSERT 할 수 있는 구문과 코드를 작성하여 내가 만들어놓은 html 문서에 데이터를 넘겨보는 작업을 완료하기. 과제 제출 커밋 링크 과제: 8.03 Flask&Pymysql 이용해서 DB SELECT, INSERT 구현 · go-tiger/AI-web-camp@14830cb go-tiger committed Aug 3, 2023 github.com INSERT 부분 코드 fetch 를 사용하여 post 로 입력 값들을 보내..
관계형 데이터베이스개요 데이터베이스(DataBase: DB) 여러 개의 연관된 데이터를 구조화하여 효율적인 처리를 할 수 있도록 관리 데이터베이스는 일반적으로 테이블, 열, 행 등의 구조로 데이터를 저장하고 데이터의 조회, 생성, 수정, 삭제의 작업을 수행할 수 있다. 다양한 종류가 있고 관계형 데이터베이스(RDBMS), 비관계형 데이터베이스(NoSQL)이 대표적이다. 관계형 데이터베이스는 테이블 간의 관계를 이용하여 데이터를 저장하고 관리하는 방식이고 SQL을 사용하여 조작을 한다 비관계형 데이터베이스는 테이블 간의 관계를 갖지 않고 문서 형태로 데이터를 저장하고 관리하는 방식이다. 데이터베이스 종류 관계형 DB (Relational DB) PostgreSQL MariaDB MySQL Oracle SQ..
ERD 스크린샷 users 테이블 컬럼 데이터 타입 제약 조건 설명 id INT UNSIGNED PRIMARY KEY, AUTO_INCREMENT users 고유 id nickname VARCHAR(50) NOT NULL 유저 닉네임 email VARCHAR(50) UNIQUE 유저 이메일 password VARCHAR(200) NOT NULL 유저 비밀번호(암호화) shortUrl 테이블 컬럼 데이터 타입 제약 조건 설명 id INT UNSIGNED PRIMARY KEY, AUTO_INCREMENT shortUrl 고유 id originalUrl VARCHAR(200) NOT NULL 단축 되기전 원래 url 주소 shortUrl VARCHAR(200) NOT NULL 단축된 url 주소 userId ..
고랑E
'백엔드' 태그의 글 목록 (3 Page)