ComputerScience/FullStackProgramming(17)
-
[ํ์คํ] ๊ธฐ๋ง๊ณ ์ฌ Summary
1. gRPC - ํจ์๋ฅผ ํธ์ถํ์ผ๋, ๋ด ์ปดํจํฐ์ ์๋ ํจ์๋ฅผ, ๋คํธ์ํฌ๋ฅผ ํตํด ํธ์ถํ์ฌ, return ๊ฐ์ ๋๋ ค์ฃผ๋ ๊ฒ - Static linking: ์คํ ํ์ผ ์์ฑ ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ชจ๋ ํฌํจํ์ฌ ์์ฑ - Dynamic linking: ๋์ ๋งํน, ํจ์๊ฐ ํธ์ถ๋๋ ์์ ์ ๋์ ์ผ๋ก ๋งํน์ ํ๋ค -> ํ์ํ ๋ ๋์คํฌ์ ์๋ ํ์ผ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค์ ์ฌ์ฉํ๋ค. - ์ ์ ๋งํน๋ณด๋ค ์คํ ํ์ผ์ ํฌ๊ธฐ๊ฐ ์๊ณ , ์คํ ์ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํจ. - ์๊ฒฉ ํจ์ ํธ์ถ RPC – remote procedure call - DLL์ ๋์ผํ ์ปดํจํฐ ๋ด์ ์์ // RPC๋ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐ๋ ๋ค๋ฅธ ์ปดํจํฐ์ ํจ์๋ฅผ ํธ์ถํ๋ ๊ณผ์ - Stub ํจ์ ๋ฐ์ RPC protocol์ ๊น๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ๋ณต์กํ ๊ณผ์ ์ ๋ชจ..
2023.07.21 -
[ํ์คํ] JSON / RESTful API / CRUD
https://sohyeonkim-dev.tistory.com/171 [ํ์คํ] HTTP's streaming / Curl / SOA / Microservice HTTP Client Modules in Python Standard Libraries urllib : URL handling module URL์ ์ ๋ฌธ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ python ๋ผ์ด๋ธ๋ฌ๋ฆฌ http.client : HTTP protocol client module Non-Standard Library (recommended) 3rd - party “Requests: HTTP for Humans sohyeonkim-dev.tistory.com * ์์ ์ดํด๋ณธ ๋ด์ฉ - 20๋ ์ ์๊ฐ ์์ถํ ๊ฒ SOA -> SOAP -> HTTP + XML -> m..
2023.04.19 -
[ํ์คํ] HTTP's streaming / Curl / SOA / Microservice
HTTP Client Modules in Python Standard Libraries urllib : URL handling module URL์ ์ ๋ฌธ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ python ๋ผ์ด๋ธ๋ฌ๋ฆฌ http.client : HTTP protocol client module Non-Standard Library (recommended) 3rd - party “Requests: HTTP for Humans” Installation required ( pip install requests ) Elegant and simple HTTP library for Python import requests required ํด๋ผ์ด์ธํธ ์ธก์์ ์ฌ์ฉํ๋ค๋ฉด, request๋ฅผ ์ฐ์ธ์ ํ ์ค์ด๋ฉด ๋ - ์ ๋ง ์ฝ๋ค HTTP Server M..
2023.04.19 -
[ํ์คํ] HTTP request methods / Proxy Cache
Architectural Components of the Web HTTP Networking Proxy HTTP intermediaries Sit between clients and servers Web Security Application Integration Performance Optimization ์ด๊ธฐ HTTP ์น ์๋ฒ์ ์น ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ์ค๊ฐ์ ๋ญ๊ฐ ์๋ค๋ ์์ด๋์ด X ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด ํด๋ผ์ด์ธํธ์ ๋ฆฌํ์คํธ๊ฐ ์๋ฒ์๊ฒ ์ง์ ๊ฐ์ง ์๊ณ , ํ๋ก์๋ฅผ ๊ฒฝ์ ํด์ ์๋ฒ์๊ฒ ๋ณด๋ธ๋ค. ์ฌ๋ด ํ๋ก์ ์๋ฒ ํ์ฌ์์ ๋๊ฐ๋ ํธ๋ํฝ, ๋ค์ด์ฌ ๋ ์๋ค. ํ๋ก์ ์๋ฒ๋ฅผ ๊ฒฝ์ ํด์ผ ํ๋ค. web security ํ์ฌ ์ฐจ์์์ ์ ์์ ๊ธ์งํ ์ ์๋ค by proxy ์๋ฒ์์ ์จ ๊ฐ์ ๋ฐ์ด๋ฌ์ค๊ฐ ์๋์ง ๊ฒ์ฌ appli..
2023.04.18 -
[ํ์คํ] HTTP/1.1 intro / URL, TCP/IP
Web Client and Servers Basic components of the WWW INTERNET ์ปดํจํฐ๋ฅผ ์ ์ผ๋ก ์ฐ๊ณ , ์ ๊ณผ ์ ์ ์ฐ๊ฒฐํ๋ฉด ์ปดํจํฐ ๋คํธ์ํฌ๊ฐ ๋๋ค. ์ธํฐ๋ท(IP protocol)์ผ๋ก ์ด๋ค์ ์ฐ๊ฒฐํ ๊ฒ WEB ์น ๋ธ๋ผ์ฐ์ ํ๋ฉด์ ์ฑ์ฐ๊ณ ์๋ ํ๋ฉด ์น ํ์ด์ง - ์น ํ์ด์ง ๊ฐ ๊ด๊ณ -> Web ์ ๋ณด์ ์ ๋ณด๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฒ ํจ์ ํธ์ถ ๊ณผ์ ๊ณผ ๊ต์ฅํ ์ ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ณด๋ฅผ ๋ณด๋ด๋ฉด, http๊ฐ ์๋ต์ ์ค ๋ฌผ๋ฆฌํ๊ณผ ๊ด๋ จ๋ ์ฐ๊ตฌ ์๋ฃ๋ค์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ํ ๋ฒ๋์ค๋ฆฌ Resources A resource is any kind of content source Static content File system MS word file, image file, Video Clip Full ์์์ ..
2023.04.18 -
[ํ์คํ] ZMQ Pattern
ZMQ Request-Reply pattern ‘Hello World’ client/server example Client sends “Hello” to the server Server replies with “World” 1:1 TCP echo ์๋ฒ์ ์ ์ฌ Synchronous REQ-REP socket ์ดํ๋ฆฌ์ผ์ด์ ์ ๋๊ธฐ, ํต์ ์ ๋ํ ๋ถ๋ถ์ ์์์ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌ๋จ Client issues send() and then recv(), in a loop ํด๋ผ์ด์ธํธ๊ฐ ์ ํํ ํจํด - ๋ฆฌํ์คํธ ํจํด / ์๋ฒ๋ ๋ฆฌํ๋ผ์ด ํจํด Doing any other sequence (e.g., sending two messages in a row) will result in a return code of -1 from t..
2023.04.18 -
[ํ์คํ] Zero message queue (ZMQ)
ZeroMQ Patterns Request-reply, which connects a set of clients to a set of services. This is a remote procedure call and task distribution pattern (REQ, REP, DEALER, ROUTER). ์์ฒญํ๋ฉด ์๋ต์ ๋ณด๋ด์ค๋ค. ๋ด๊ฐ ์์ฒญํ๋ฉด ๊ฐ์ด๋ฐ ์ ๊ฐ ๋ฐ์์, ์ผ๊พผ์ด 3๋ช ์๋๋ฐ ์ด๋ค ์ ํํ ๋ณด๋ผ๊น? ๋๊ฐ ๊ฐ์ ธ๊ฐ๋ผ ๋ฑ๋ฑ ์ ์ ํ ๋ถ๋ฐฐํ๋ ๊ณผ์ ๋ ์ด๋ฏธ ๊ตฌํ๋จ ์ด ์์ฒญ์ ๋ํด์๋ ๋๊ฐ ์ฒ๋ฆฌํ์ ์ข๊ฒ ๋ค -> ์ค์ ํ๋ ๊ฒ๋ ๊ตฌํ๋จ Pub-sub, which connects a set of publishers to a set of subscribers. This is a data distribution..
2023.04.17 -
[ํ์คํ] Application Layer messaging protocol
Kernel vs Application ๊ณผ๊ฑฐ - ์ ํต์ ์ธ ์ธํฐ๋ท ํ๋กํ ์ฝ์ ์ด์์ฒด์ ๋ด๋ถ ์ปค๋์ ์์น ํ๋ - ์ด์์ฒด์ ์์์ ์ดํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ผ๋ก ์ฃผ๋ก ์ ๊ณต ์์น์ ๋ฐ๋ฅธ ์ฅ๋จ์ ? ์ฑ๋ฅ (datarate, memory) ์ธก๋ฉด ์ปค๋์ ์ํํธ์จ์ด๋ ์ฑ๋ฅ๋ ๋๊ณ , ๊ฒ์ฆ๋ ์ฝ๋ ๊ฐ๋ฐ ๋ฐ ๋ฐ์ ์ฉ์ด์ฑ (dev & user community) ์ธก๋ฉด ์ปค๋์ ์ฝ๋ ๋ฃ์ผ๋ ค๋ฉด, OS ํ์ฌ์ ๋ถํํ๋ค ๋ด๊ฐ ์ง์ ๋ด๊ฐ ์ธ๊ฒ, ํ์ํ ์ฌ๋์๊ฒ ๊ณต๊ฐํ ๊ฑฐ์ผ ๊ฒฐ๊ตญ ์ด ์ฉ์ดํจ์ ๋ฐฉ์ ์ด ์ฐํ๋ค. 2010๋ ๋ถํฐ ๋คํธ์ํฌ ๊ธฐ์ ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ด ๋๋ฌ๋๊ธฐ ์์ ๊ฐ๋ฐ์ ์ ์ฅ์์ 1~4 layer ์ ๊ทผ -> OS ๋ด๋ถ์ ์ฝ๋๋ฅผ ๋ถ๋ฌ ์ฌ์ฉํ๋ค ์ด์์ฒด์ ๋ด๋ถ์ ์์ค ์ฝ๋, ์ปค๋ ์ฝ๋๋ฅผ ๊ฑด๋๋ฆฌ๋ฉด -> MS, ๋ฆฌ๋ ์ค ํ์ด๋ฐ์ด์ ํ๊ฐ ๊ทธ๋ฅ ์์ฉ(app..
2023.04.17 -
[ํ์คํ] TCP ๋น๋๊ธฐ์ socket server programming
socketserver์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋น๋๊ธฐ์ 1:N programming [์ ๊ทผ1] Socket API ๊ธฐ๋ฐ ๊ฐ๋ฐ Socket API๋ ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ ์ฌํจ Socket API๋ง์ผ๋ก 1:N ์๋ฒ๋ฅผ ๊ตฌํํ๋ ๊ฒ๋ ๋น์ฐํ ๊ฐ๋ฅํจ 40๋ ์ ํต์ ์์กฐ ๋ง์ง ํ๋ก๊ทธ๋๋ฐ [์ ๊ทผ2] ์ธ์ด๋ณ ์ฐจ๋ณํ ๋ Socket ๊ธฐ๋ฅ์ผ๋ก ๊ฐ๋ฐ ์ต์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ณด๋ค ํฅ์๋ Socket ๊ธฐ๋ฅ์ ์ ๊ณตํจ ์ต์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ Socket ๊ธฐ๋ฅ์ผ๋ก ๋น ๋ฅธ ๊ฐ๋ฐ๊ณผ ์์ ์ ์ธ ์ฑ๋ฅ ์ ๊ณต์ด ์ฉ์ดํจ ์ด๊ฑด ์ธ์ด์ ๋ฐ๋ผ ์์ ์๋ ์๊ณ , ์์ ์๋ ์๋ค. ex) cpp ์ด๋ฐ๊ฑฐ ๋ชปํ ์ ์๋ค. [๋ณธ ๊ฐ์์ ์์ ] Python์ ๋ํ [์ ๊ทผ2]๋ก ๊ตฌํ socketserver๋ฅผ ํตํด ์ฝ๊ฒ Socket ์๋ฒ ๊ฐ๋ฐ์ด ๊ฐ๋ฅ Multi-thr..
2023.04.16 -
[ํ์คํ] TCP Socket programming (1:1)
Network Socket Network Socket is an internal endpoint for sending or receiving data within a node on a computer network. a representation of this endpoint in networking software (protocol stack) such as an entry in a table (listing communication protocol, destination, status, etc.), and is a form of system resource. 4๊ณ์ธต์ ๊น๊ณ , Application ์ด์ผ๊ธฐํ๋ค. IP ์ฃผ์ + ํฌํธ ๋ฒํธ -> socket address 4๊ณ์ธต๊ณผ 3๊ณ์ธต์ ์ด์์ฒด์ ์์ ์๋ค..
2023.04.12