컴퓨터 썸네일형 리스트형 Docker & Kubernetes 노트 What is Container & Docker? Container - 프로그램을 실행시키기 위한 Unit - Independent, Standardized "application package" - - 예: 음식을 담는 "바구니" => 같은 음식이 담긴 바구니를 다른 사람에게 그대로 줄 수 있다. - - 예: 공사현장의 "컨테이너 박스" => 무언가를 실어 그대로 나를 수 있다. - 프로그램이 복잡해질 수록 모든 개발자의 컴퓨터 환경을 같은 버전을 맞추기 위해 Docker가 필요하다. 옛날 방식의 가상 머신을 사용할 경우의 장/단점 - 장점: 개별적인 개발 환경 - 단점: 중복된 리소스, PC 성능 저하 요즘 방식의 Docker & Container를 사용할 경우 장점 - Built-in Contain.. 더보기 [Golang] io.Reader 그리고 Heap, Stack Intro - Escape Analysis A. Heap vs. Stack - Read 함수를 사용하여 byte를 읽는 방법이, - 아래와 같은 두가지 방법이 있는데, - 방법 1: Slice를 read 함수에서 만들어서 main으로 넘겨줄 경우 - 방법 2: Slice함수를 사용자가 직접 만듫어서 read 함수에 Argument로 사용하는 경우 - 2번의 경우가 모든 것이 stack에서 활동하므로 빠를 수밖에 없다. B. io.Reader - 그러므로.... Golang의 io.Reader 함수가 구현된 것을 보면 왜 아래와 같이 구현됬는지 알 수 있다. Reference - Understanding Allocations: the Stack and the Heap - GopherCon SG 2019 K.. 더보기 웹페이지에서 메인 쓰레드 활용 방법 Device-dependent Main Threads - 개발자가 짠 코드로 프로그램을 돌릴 때 메인 쓰레드로 돌아가게 된다. (운전을 할 때 빠르게 가려고 Main road로 달리는 것과 같은 개념) - 하지만 예전 기기를 사용하는 사용자들을 위해 프로그램을 만들어야한다. - 웹페이지에서 일어나는 모든 클라이언트 동작은 메인쓰레드에서 일어나야한다. - 기능이 늘어날 수록 메인 쓰레드가 일을 할 수 있는 한계치가 넘어가게 되면서 일부 기기에서 웹페이지를 편하게 사용하지 못하게 될 수가 있다. - 자바스크립트 자체가 싱글 쓰레드로 작동하기때문에 다른 방법으로 어떻게 이 문제를 해결할 것인가? Web Worker! Web Worker - 쓰레드 위에 패턴을 생성하여 평행 상태로 작동하게 한다. - Task,.. 더보기 Generative AI models Foundation Models - Large amount of data with Unsupervised & Unstrcutured data - Generative AI (Generates something new based on given problem) - NLP Tasks (Ex: Classification, named-entity recognition) - Tune Foundation Models - Prompt Engineering (Ex: Does this sentence have a positive sentiment or negative sentiment?) Advantage of Foundation Models 1. Performance (TB's of data is applied to s.. 더보기 그래프 이론 in Golang (Depth First Search) 1.0 그래프 이론과 구현 - 1.1 => Node value와 left, right value의 이해 - 1.2 => Sample input을 기반으로 트리 구현 연습문제1.1: Node value 구현 - 기본적인 Node의 구현 - 하드코딩 (= 오로지 개념을 위한 구현임) type Node struct { value int left *Node Right *Node } four := &Node{ Value: 4, } six := &Node{ Value: 6, } four.Right = six 연습문제1.2: Node 구현 (Without Hard-coding) [2] 가로줄 읽는 법 첫번째 숫자 (예: 1): Value of the node 두번째 숫자 (예: -1): Index of left ch.. 더보기 그래프 이론 Graph란? - 구성요소: Vertex, Edge - 지도상에서 각각의 도시를 Vertex(점)라고 가정함 - 각각의 도시와 도시를 연결하는 고속도로(edge)를 그려줌 Graph의 특징 - cyclical (bi-directional) or acyclical (one-directional) - Edge에 비용이 있음 (고속도로 Toll비용의 개념) - 수용 능력 (고속도로에 자동차를 몇대까지만 수용할 수 있는 능력, 예: 20 cars per minute) Tree란? - 그래프 중 하나의 개념임 - Root node가 있기떄문에 시작점이 명확함 - Edge가 일반적으로 아래, 단방향으로 뻗어나감 (directed acyclical) - Leaf node: 아래로 뻗어나갈게 없는 node - Ofte.. 더보기 Bubble Sort (Intro) Bubble Sort 특징 - 매 Round마다 최소 1개의 카드가 올바른 포지션에 자리잡게 됨 - 가장 큰숫자가 뒤로가게 됨 - 최대 카드 숫자 (N)만큼의 Round를 돌아야함 - O(N^2) Round 0 (Init) 7 6 4 5 3 2 Round 1 6 4 5 3 2 7 Round 2 4 5 3 2 6 7 Round 3 4 3 2 5 6 7 Round 4 3 2 4 5 6 7 Round 5 2 3 4 5 6 7 Round 6 (Final Check) 2 3 4 5 6 7 Bubble Sort 최적화 - 매 라운드마다 제일 큰 숫자가 맨 뒤로 감 - 매 라운드마다그 전 라운드의 마지막 숫자를 볼 필요가 없음 Round 0 (Init) 7 6 2 4 3 5 Round 1 6 2 4 3 5 7 [Re.. 더보기 HTTP vs. WebSocket HTTP - 웹통신인데... 일반적으로 웹사이트의 통신에 이용됨.... - 실시간 통신 (MMO 등)에는 적합하지 않음 - 그래도 실시간 통신에서 HTTP를 사용하고싶을 경우.... HTTP (Work-Around) - HTTP Polling (서버상태가 좋을 때 클라이언트에게 응답을 줌) - HTTP Stream (서버, 클라이언트 사이클) - Server-sent events (Multiple Response) WebSocket - Handshake Resources - WebSockets tutorial: How to go real-time with Node and React 더보기 이전 1 다음