파이프라이닝 프로토콜
·
Network
파이프라인 프로토콜은 데이터를 연속적으로 전송하며, ACK를 기다리지 않고 다음 데이터를 전송할 수 있는 효율적인 흐름 제어 방식입니다. TCP는 데이터를 전송할 때 파이프라인 방식을 사용하며, 이 방식에는 Go-Back-N과 Selective Repeat 기법이 있습니다. TCP는 두 기법을 혼합하여 신뢰성과 효율성을 동시에 구현합니다. Go-Back-N 방식은 receiver 측에서 순서대로 받지 못한 패킷이 있다면 해당 패킷부터 다시 재전송 하는 방식이다.Selective Repeat 방식은 receiver 측에서 받은 각각의 패킷들에 대해 ACK을 보내는 방식이다.요약전송후 대기 프로토콜은 패킷을 전송하고 그 패킷에 대한 수신 확인 응답을 받고나서,다음 패킷을 전송하는 방식 입니다. 이러한 방식은..
몰입[1]
·
독서
플로우팸이 일에 빠졌을 때 그녀의 의식 속에 들어오는 모든 정보는 그녀의 관심과 일치한다. 플로우는 심리적 엔트로피의 정반대 개념인데, 이런 까닭에 네겐트로피(negentropy)라고 불리기도 한다. 플로우 상태에서 우리는 심리적 에너지를 통제할 수 있다. 플로우가 가져다주는 큰 기쁨을 향유하기 위해서는 암벽 등반가가 보여주는 것과 같은 아주 집중된 주의력이 필요하다. 복합성과 자아의 성장복합성이란 두 가지 심리적 과정을 거친 결과이다. 이 두 과정을 각각 분화(differentiation)와 통합(integration)이라고 부른다. 분화라는 것은 자신을 유일하고 고유한 존재로 여기며 나아가려는 움직임으로, 자신을 다른 사람에게 분리하려고 하는 경향을 말한다. 한편 통합이라는 것은 그 반대의 경우로, ..
[4주차] UDP
·
외부활동/JSCODE 네트워크
UDP?UDP를 해석하면 사용자 데이터그램 프로토콜(규약)이라는 뜻인데 풀어 해석하면 아래와 같습니다.        데이터를 데이터그램 단위로 처리하는 프로토콜 여기서 데이터그램이란 독립적인 관계를 지니는 패킷이라는 뜻으로, TCP와 달리 UDP는 비연결형 프로토콜입니다. 즉, 연결을 위해 할당되는 논리적인 경로가 없는데, 그렇기 때문에 각각의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 지니게 되는데 이렇게 데이터를 서로 다른 경로로 독립적으로 처리하게 되고, 이러한 프로토콜을 UDP라고 합니다.  TCP와 달리 데이터의 신뢰성, 순서, 재전송을 보장하지 않지만, 빠른 전송 속도와 낮은 오버헤드가 특징입니다.출처: https://mangkyu.tistory.com/15 [MangKyu'..
377. Combination Sum IV
·
Algorithm/LeetCode
문제Combination Sum IVGiven an array of distinct integers nums and a target integer target, return the number of possible combinations that add up to target.The test cases are generated so that the answer can fit in a 32-bit integer.Example 1:Input: nums = [1,2,3], target = 4Output: 7Explanation:The possible combination ways are:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)Note that di..
RESTful하게 개발한다는 건 뭘까?
·
외부활동/JSCODE 네트워크
RESTful 원칙을 준수하여 개발한다는 건RESTful하게 개발했는지 묻는 질문은 REST 아키텍처 스타일을 잘 이해하고 그것을 기반으로 API를 설계했는지를 묻는 것이다. REST (Representational State Transfer)는 웹의 리소스를 클라이언트와 서버가 주고받는 방식에 대한 설계 원칙입니다. RESTful하게 개발했다는 것은 이 원칙을 따랐다는 의미로, 주로 다음을 만족해야 한다.리소스 기반 설계URI는 리소스를 명확히 나타내야 하며, 명사형으로 표현됩니다.예: /users, /orders/123HTTP 메서드의 적절한 사용CRUD 작업에 맞게 HTTP 메서드를 사용합니다.GET: 데이터 조회POST: 데이터 생성PUT/PATCH: 데이터 수정DELETE: 데이터 삭제상태 없음..
1143. Longest Common Subsequence
·
Algorithm/LeetCode
문제Given two strings text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0.A subsequence of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters.For example, "ace" is a subsequence of "abcde".A common subsequence of two str..
[3주차] REST API, 웹 보안
·
외부활동/JSCODE 네트워크
REST와 RESTful APIREST는 HTTP 프로토콜을 기반으로 리소스를 정의하고 조작하는 아키텍처 스타일RESTful은 이 REST의 원칙을 준수하여 설계된 시스템을 의미예를 들어, 웹 시스템에서 아래와 같이 API를 디자인할 수 있습니다.REST(원칙)로 설계한 기본 아이디어:리소스를 URI로 표현하고, 각 작업을 HTTP 메서드로 구분한다.RESTful API 구현:GET /products → 모든 상품 조회POST /products → 새 상품 추가DELETE /products/{productId} → 특정 상품 삭제따라서 REST는 리소스와 메서드의 원칙을 제공하는 개념이고, RESTful은 이를 준수하려고 설계된 구현 방식이라고 이해할 수 있습니다.URL, URI, URNURI: 리소스를..
[3주차] 쿠키, 세션, 토큰, CORS
·
외부활동/JSCODE 네트워크
쿠키와 세션쿠키HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우,그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일이다.HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다. 사용 예시방문 사이트에서 로그인 시, "아이디와 비밀번호를 저장하시겠습니까?"팝업창을 통해 "오늘 이 창을 다시 보지 않기" 체크세션일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술이다.여기서 일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 말한다.즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위..
139. Word Break
·
Algorithm/LeetCode
문제Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words.Note that the same word in the dictionary may be reused multiple times in the segmentation.Example 1:Input: s = "leetcode", wordDict = ["leet","code"]Output: trueExplanation: Return true because "leetcode" can be segmented as "leet code".Examp..
Forward Proxy, Reverse Proxy
·
Network
Forward Proxy일반적으로 프록시라고 하면 포워드 프록시를 의미한다. 프록시 서버는 같은 내부망에 존재하는 클라이언트의 요청을 외부 네트워크(인터넷)로 중계한다.장점클라이언트 보안: 방화벽 역할. 프록시 서버에 룰을 추가하여 특정 사이트에 접속하는 것을 막을 수 있다.캐싱: ex. 캐싱된 페이지 로드하여 조회 속도 향상암호화: 클라이언트 요청을 프록시 서버에서 암호화. ex. 클라이언트 ip를 (보안을 위해) 감춰주는 역할Reverse Proxy리버스 프록시는 서버의 앞단에 위치하여 클라이언트 요청을 여러 대상 서버로 분산하여 전달하는 역할을 한다.장점로드 밸런싱서버 보안: 웹 서버를 DMZ에 놓고 사용을 할 수 있지만 웹 서버는 통상적으로 DB에 연결이 되어 있으며 웹 서버에 대한 공격이 DB ..