
여기에서 슬라이드와 코드를 다운로드할 수 있습니다. 슬라이드는 계속 업데이트될 예정이므로 자주 확인하시기 바랍니다.
List of private ip addresses https://en.wikipedia.org/wiki/Private_network
RFC 1918 that defines the private IP addresses https://www.rfc-editor.org/rfc/pdfrfc/rfc1918.txt.pdf (also attached)
Now that you know IP, TCP and UDP. Any other protocol must be built on top of these three.
TLS or Transport Layer security is a protocol used to encrypt the communication between two hosts. This lecture describes an overview of the protocol. RFCs attached and can be retrieved here.
https://www.rfc-editor.org/rfc/pdfrfc/rfc8446.txt.pdf
https://www.rfc-editor.org/rfc/pdfrfc/rfc5246.txt.pdf
John Nagle developed this algorithm to ensure efficient bandwidth, however it harmed performance in certain cases, let us discuss this. Download the full RFC from here. https://www.rfc-editor.org/rfc/pdfrfc/rfc896.txt.pdf, I also included it in this lecture as a downloadable.
As described in RFC 1122, the delayed acknowledgment algorithm can delay ACKs by up to half a second which in combination with Nagle algorithm it can have devestating performance on communication
Download RFC 1122 here https://www.rfc-editor.org/rfc/pdfrfc/rfc1122.txt.pdf, I also included it as a downloadable on this lecture for more reading
Postgres Access Control https://www.postgresql.org/docs/current/auth-pg-hba-conf.html
In this video I learned how to decrypt TLS traffic with Wireshark so we can look at the traffic. Then took a look at how HTTP/2 streams are formed. The Magic HTTP/2 Stream is for sure interesting and the odd stream Ids are too!
HTTP/2 RFC
https://tools.ietf.org/html/rfc7540#section-3.5
https://http2.github.io/http2-spec/#SETTINGS_MAX_CONCURRENT_STREAMS
Connection Preface
HTTP/2 connections are opened with the preface '0x505249202a20485454502f322e300d0a0d0a534d0d0a0d0a', or "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n". The preface is designed to avoid the processing of frames by servers and intermediaries which support earlier versions of HTTP but not 2.0.
connection preface
Note: The client connection preface is selected so that a large
proportion of HTTP/1.1 or HTTP/1.0 servers and intermediaries do
not attempt to process further frames. Note that this does not
address the concerns raised in [TALKING].
export SSLKEYLOGFILE=/Users/HusseinNasser/tempkeys/key
:30 protocol ossifcations
13-30 http smuggling
From RFC (we discovered this in the video)
5.1.1 Stream Identifiers
Streams are identified with an unsigned 31-bit integer. Streams initiated by a client MUST use odd-numbered stream identifiers; those initiated by the server MUST use even-numbered stream identifiers. A stream identifier of zero (0x0) is used for connection control messages; the stream identifier of zero cannot be used to establish a new stream.
In this lecture I wireshark MongoDB and describe how it works in the wire. We will be Decrypting TLS traffic, showing the mongo protocol, cursors and more
Source code for MongoDB source code here https://github.com/hnasr/javascript_playground/blob/master/mongodb-js/test.js
Source Code
https://github.com/hnasr/javascript_playground/tree/master/server-sent-events
[꼭 읽어주세요] 한글 AI 자막 강의란?
유데미의 한국어 [자동] AI 자막 서비스로 제공되는 강의입니다.
강의에 대한 질문사항은 Hussein 강사님이 확인하실 수 있도록 Q&A 게시판에 영어로 남겨주시기 바랍니다.
우리는 소프트웨어 엔지니어링 분야에서 대부분의 작업을 라이브러리와 프레임워크에 의존하는 시대에 접어들고 있습니다. 이는 유용하고 엄청난 개발 시간을 절약할 수 있지만 성능 저하, 예기치 않은 오류, 100% CPU , 네트워크 및 디스크 사용량, 중단, 대기 시간 등의 예기치 못한 문제들도 발생합니다. 엔지니어가 자신이 다루고 있는 대상의 기본 구성 요소를 이해하지 못하면 백엔드에서 무엇이 잘못되었는지, 어떻게 문제를 해결할 수 있는지 명확하게 알아내기가 어려워집니다.
네트워크 통신은 백엔드 엔지니어링에서 가장 중요한 부분 중 하나입니다. 그리고 TCP/IP 인터넷 제품군은 프론트엔드와 백엔드를 연결하는 통신의 기본 구성 요소입니다. 우리가 사용하는 모든 프로토콜은 결국 TCP 세그먼트 또는 UDP 데이터그램으로 캡슐화됩니다. 이 패킷은 IP 패킷으로 래핑되어 프레임에 배치된 다음 네트워크를 통해 전송됩니다. 이러한 계층은 스택을 최적화하고 지연 시간을 최소화하며 처리량을 늘리기 위해 백엔드 엔지니어가 이해해야 하는 중요한 요소입니다. 중요한 것은 시험에 합격하기 위해 정의와 패킷 헤더를 암기하는 것이 아니라 이러한 작동원리를 진정으로 이해하는 것입니다. 예를 들어 백엔드 API가 HTTP POST 요청을 수신할 때 어떤 일이 일어나는지 엔지니어가 진정으로 이해한다면, 백그라운드에서 얼마나 많은 일이 벌어지는지 알게 되면 놀랄 것입니다. 백엔드 API 설계에 접근하는 방식을 완전히 바꾸고, 작업에 가장 적합한 프로토콜을 선택하려고 노력할 것이며, 해당 프로토콜의 잠재력을 최대한 발휘할 수 있도록 조정할 것입니다. 이들은 아무도 하지 않는 프레임워크와 라이브러리에 대한 질문을 하기 시작할 것입니다. 그리고 이러한 질문을 통해 해당 프레임워크를 최대한 활용하게 될 것입니다.
이 강의는 주로 애플리케이션, 서비스 또는 API를 구축했으며 자신의 기술을 한 단계 더 발전시키고자 하는 백엔드 엔지니어를 위해 설계되었습니다. 백엔드에 관심이 있고 이전에 백엔드 앱을 구축해 본 경험이 있는 프론트엔드 엔지니어에게도 이 강의는 적합합니다. 이미 기본적인 기본 사항을 알고 있고 백엔드 애플리케이션을 효과적으로 구축하고자 하는 네트워크 엔지니어라면 이 강의가 그 간극을 해소하는 데 도움이 될 수 있습니다.
이 과정은 네트워크 인증 시험(CCNA, CCNP, CCIE 등)에 합격하려는 분들을 위해 설계되지 않았습니다.