내일의 나 화이팅..
https://velog.io/@keemtj/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EB%A7%81%ED%81%AC%EB%93%9C-%EB%A6%AC%EC%8A%A4%ED%8A%B8Linked-List
https://ybworld.tistory.com/85
➜ 링크드 리스트 = 단방향 연결 리스트(singly linked list)
데이터 저장시 데이터를 저장하는 공간과 다음 데이터의 주소값을 동시에 가진다 (node = data + pointer)
시작 노드는 head 끝노드는 tail
트리 구조의 근간이 된다
파이썬에서는 리스트가 링크드리스트의 모든 기능을 지원한다
-> 그렇다고 파이썬 리스트=링크드리스트라고 할 순 없..을것같은뎅
class Node:
def __init__(self,data,next=None):
self.data=data
self.next=next
def add(data):
node = head
while node.next:
node = node.next
node.next = Node(data)
# 노드 객체 생성
node1 = Node(1)
# 맨 앞 노드 구분을 위해 head지정
head = node1
# 새로운 노드 추가
add(3)
# 여기선 while의 조건이 None(false)이기때문에 바로 node.next = Node(3) 행으로 넘어감
우선순위가 높은 원소를 먼저 꺼내기 위해서 만들어진 자료구조
https://velog.io/@msung99/%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84-%ED%81%90priority-queue
힙(완전이진트리)
https://tagilog.tistory.com/1046
x=['a','b']
y='cd'
x.append(y) # x=['a','b','cd']
x.extend(y) # x=['a','b','c','d']
list.sort(): 원래 리스트를 정렬하고 수정해서 저장함 결과값이 none이므로 정렬의 결과를 다른 변수에 넣을 수 없음
object.method
-> 메소드(데이터타입별로 존재. 객체와 함께 호출되어야함)
sorted(list): 원래 리스트는 변하지 않고 결과값을 다른 변수에 넣어서 저장할 수 있음
내장함수
-> 언어 자체에서 제공하는 함수
https://coding-factory.tistory.com/613
최상위 게층인 TCP(데이터를 패킷으로 컴파일)도 있고 동료 TCP계층(패킷을 받아서 데이터로 변환, 손상이 있으면 재전송을 요청하는 패킷을 전송해서 다시 받음)도 있나봄
1게층: MAC사용, 에러검출, TCP/IP패킷을 네트워크 매체로 전달하고 받아들임
2계층: 어드레싱, 패키징, 라우팅기능. 네트워크상 최종 목적지까지 연결
3계층(7-4): 신뢰성있는 데이터 전송 TCP, UDP
4계층(7-5,6,7):데이터를 받는 곳 HTTP, SSH
제발 창 열어놓고 낼 봐야지 하지말자... 어제의 나 반성해..
삭제시 204해서 오류났었던 거 기록해뒀던 것 같은데 어디있는지 모르겠다
서버에서 삭제가 그때 제대로 안됐었던건가??? 왜 오류났었지 제대로 삭제되면 이렇게해도 된다는데..
그때 200으로 고쳤던 것 같은데 찾아내야지 ..
역시 그림 최고
베이스 64로 인코딩한 헤더와 페이로드
거기에 시크릿키 합친걸 헤더에서 정의한 알고리즘으로 다시 암호화
➜ HTTP는 어플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다
STATELESS하며 METHOD, PATH, VERSION, HEADERS, BODY로 이뤄져있다
HTTP over SSL, HTTP over TLS, HTTP Secure
HTTPS는 SSL인증서를 사용하여 HTTP를 보다 안전하게
HTTPS는 HTTP보다 더 안전한 보안용 프로토콜 속도는 아래 과정들때문에 조금 더 느리지만 거의 차이 안남
SSL(또는 TLS) 인증서는 일반 HTTP 요청 및 응답을 암호화
HTTPS를 사용한 웹 페이지를 통해 전송되는 모든 데이터는 추가적인 보안 계층이 있습니다
443번 포트 사용
대칭키(클라이언트와 서버가 동일한 키로 암호화 및 복호화를 함. 키 노출시 위험하나 속도가 빠름)와 비대칭키(1쌍의 공개키와 개인키-나만(서버)알고있어야함-를 암호화 및 복호화에 사용함. 키가 노출되어도 안전하지만 연산이 느림)가 있음
클라이언트(브라우저)가 서버로 최초 연결 시도를 함
서버는 공개키(엄밀히는 인증서)를 브라우저에게 넘겨줌
브라우저는 인증서의 유효성을 검사하고 세션키(대칭키)를 발급함
브라우저는 세션키를 보관하며 추가로 서버의 공개키로 세션키를 암호화하여 서버로 전송함
서버는 개인키로 암호화된 세션키를 복호화하여 세션키를 얻음
클라이언트와 서버는 동일한 세션키를 공유하므로 데이터를 전달할 때 세션키로 암호화/복호화를 진행함
➜ 세션키를 공유할 땐 안전성이 필요하므로 비대칭키를 사용, 안전성이 확보된 후 데이터를 교환하는 과정에선 빠른 연산이 필요하므로 대칭키를 사용
참고) 서버가 비대칭키를 발급받는 과정: https://mangkyu.tistory.com/98
메소드는 변수 객체 자체 값을 바꾸고 x.append(y)는 none이라구 아까 했자나..?