분류 전체보기

    [Go] Windows에 Golang 설치하기

    📌Index Go 설치하기 Go 환경 변수 세팅하기 ✔️ Go 설치하기 만약 Golang 설치를 원하지 않거나, 설치가 어려운 상황이면 repl.it을 사용할 수 있다. repl.it에서는 Go를 설치없이 웹 브라우저에서 사용해볼 수 있다. 자, 그럼 이제 Golang을 설치해보자. 먼저 https://go.dev/dl/ 에 접속해서 자신의 운영체제에 맞게 다운로드 한다. Windows라면 다음을 선택한다. Setup을 실행하고, 계속 Next를 누르면 된다. 단, Go의 설치 경로를 지정해주는 창이 있는데, 추후 GOROOT라는 환경변수와 일치하는지 확인해야 하니, 기억해야둬야한다. ✔️ Go 환경 변수 세팅하기 이제 환경 변수들을 확인해볼텐데, 만약 해당 환경변수가 없다면, 새로만들기로 추가해주면 된..

    [GCP] VM 인스턴스 생성하기

    본 포스팅은 GCP(Google Cloud Platform)에서 VM 인스턴스를 생성하는 방법을 정리한 것이다. ✔️ VM Instance 생성하기 GCP 콘솔에서 [Compute Engine] - [VM 인스턴스]를 클릭한다. 프로젝트가 없다면 [프로젝트 만들기]를 클릭하고, [Open API 사용]을 클릭한다. [인스턴스 만들기]를 클릭하고, 생성하려는 인스턴스의 이름과 리전, 영역을 선택한다. 원하는 머신 구성을 선택하고, 부팅 디스크 항목에서 [변경] 버튼을 클릭하여 이미지를 선택한다. [모든 Cloud API에 대한 전체 액세스 허용] 옵션을 선택하면, VM이 모든 Cloud API에 접근할 수 있게된다. 방화벽은 HTTP와 HTTPS 에 대한 접근을 허용하도록 설정한다. 만들기를 클릭하면, 시..

    [운영체제] 메모리 계층 구조(Memory Hierachy)

    📌Index 메모리 계층 구조란? 메모리 계층 구조의 필요성 ✔️ 메모리 계층 구조란? 메모리 계층 구조(Memory Hierachy)는 메모리 관련 3가지 주요 특성인 용량, 접근 속도, 비용간의 절충 관계를 파악해 필요에 따라 채택할 수 있게 나타낸 구조이다. 메모리 계층은 레지스터, 캐시, 메모리(RAM), 하드디스크(저장장치)로 구성되어 있다. 그림 상에서 위로 갈수록 속도가 빠르고, 아래로 갈수록 용량이 커진다. 용량이 클 수록 범위가 넓어지므로, 속도가 느려지는 것은 당연하다고 할 수 있다. 레지스터 : CPU 내부의 작은 메모리로, 휘발성이며 속도가 가장 빠르고, 기억 용량이 가장 적다. 캐시 : L1, L2, L3 캐시를 지칭하고 휘발성이며, 속도가 빠르나 기억 용량이 적다. 주기억장치(메..

    [Kubernetes] k8s HA(고가용성) 클러스터 구축하기 : stacked etcd

    📌Index Kubernetes의 HA Vagrant로 VM 생성하기 로드밸런서 구성하기 호스트 파일 수정 및 Swap off Docker 및 Kubernetes 설치하기 shell script로 간편화하기 Kubernetes 초기화 및 노드 조인 CNI(Container Network Interface) 설치 ✔️ Kubernetes의 HA 고가용성(High Availability)이란, 서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 고가용성(HA) 쿠버네티스의 토플로지를 구성하는 데는 두 가지 방법이 있다. stacked etcd : etcd 노드와 컨트롤 플레인 노드를 함께 위치 시키는 중첩된(stacked) 컨트롤 플레인 노드 ..

    [운영체제] 컴퓨터 시스템 구조와 인터럽트

    📌 Index 컴퓨터 시스템 구조 입출력(I/O)의 수행 인터럽트(Interrupt) ✔️ 컴퓨터 시스템 구조(System Structure) 컴퓨터 시스템의 구조는 CPU, Memory, Device Controller, DMA Controller, Timer로 이루어져있다. 컴퓨터 내부 장치인 CPU와 메모리, 그리고 컴퓨터 외부 장치(입출력 장치)인 디스크, 키보드, 마우스, 모니터, 네트워크 장치 등으로 구분된다. 컴퓨터는 외부 장치에서 내부 장치로 데이터를 읽어와 (input) 각종 연산을 수행한 후, 그 결과를 외부 장치로 내보내는(output) 방식으로 업무를 처리한다. CPU CPU는 매 클럭(Clock Cycle) 마다 메모리에서 명령(Instruction)을 하나 씩 읽어와 실행시키는 ..

    [운영체제] 운영체제(Operating System)이란?

    📌 Index 운영체제의 정의 운영체제의 구조 운영체제의 역할 ✔️ 운영체제의 정의 운영체제(Operating System)란, 컴퓨터 하드웨어 바로 윗 단에 설치되는 소프트웨어로, 사용자 및 다른 소프트웨어와 하드웨어를 연결한다. 운영체제 자체도 하나의 소프트웨어로서 전원이 켜짐과 동시에 메모리에 올라간다. 그러나 운영체제와 같이 규모가 큰 프로그램이 모두 메모리에 올라간다면 한정된 메모리 공간의 낭비가 심할 것이고, 따라서 운영체제 중 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려 놓는다. 그렇지 않은 부분은 필요할 때 메모리에 올려서 사용하게 된다. 이때 메모리에 상주하는 운영체제의 부븐을 커널(kernel)이라고 부르며, 운영체제의 핵심 부분이라고 할 수 있다. ✔️ 운영체제의 구조 컴..

    AWS SAA-C02 : Solutions Architect Associate 합격 및 시험 후기

    드디어 미루고 미루던 AWS SAA에 응시하였다. 7월 초반에 Azure 자격증 AZ-900을 취득하고, 다른 공부를 하면서 미루다가 갑자기 8월을 넘기면 안되겠다는 생각이 들어서(이러다가 9월 개강할 때까지 못딸 것 같아서...) 급하게 신청하여 지난주에 시험에 응시했다. 원래는 AZ-900을 취득하기 전에 AWS SAA를 도전할 생각이었는데, 좀 더 쉬운 AZ-900을 빨리 따버리고, 클라우드 시험에 대한 감을 얻은 뒤 AWS SAA를 보면 좋겠다는 생각이 들었다. 실제로 AZ-900을 먼저 취득한게 SAA 공부 방향을 잡는 데 도움이 되었던 것 같다. 👉 AZ-900 후기 ✔️ AWS SAA란? 보이는 것처럼 AWS에는 자격증 종류가 다양하다. 내가 취득한 SAA는 Solutions Architec..

    AZ-900 : Azure Fundamental 합격 및 시험 후기

    AZ-900 공부해야지 해야지 생각만 하고 미루다가 드디어 마음을 먹고 약 3~4주 전에 AZ-900 시험에 응시를 했고, 합격할 수 있었다. 혹시 AZ-900 을 준비하는 분들에게 향후 도움이 될까해서 후기를 남겨놓는다. ✔️ AZ-900 이란? AZ-900은 말 그대로 Microsoft Azure 기본 사항에 대한 지식 및 개념에 대한 이해도를 평가하는 시험이다. 클라우드 개념, Azure 서비스, Azure 워크로드, Azure 가격 책정 및 지원, Azure에서의 보안 및 개인정보에 대한 내용을 다룬다. 🔎 시험 개요 https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE3VwUY 시험 출제 범위 및 비율은 다음과 같다. 클라우드 개념에 대해 ..

    [알고리즘] LCS(Longest Common Subsequence) 알고리즘이란?

    ✔️ LCS란? LCS는 Longest Common Subsequence의 약자로, 번역하면 최장 공통 부분 문자열이라고 할 수 있다. LCS는 LIS(Longest Increasing Sebsequence, 최장 증가 부분 수열)와 같이 DP(Dynamic Programming)를 기반으로 한다. 부분 문자열이라는 개념에는 Substring이라는 개념과 Subsequence라는 개념이 있다. Substring은 연속된 부분 문자열을 확인하는 개념이고, Subsequence는 연속되지 않은 부분 문자열을 찾는 개념이다. 이 둘의 차이점은 연속 여부이다. 예를 들어 ABCDHEF를 봐보자. 최장 공통 문자열(Substring)의 길이는 3, 최장 공통 부분 문자열(Subsequence)의 길이는 5가 나오..

    (C++) 백준 2579 : 계단 오르기

    문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다. 따라서 첫 번째 계단을 ..

    (C++) 백준 11659 & 11660 : 구간 합 구하기 4 & 5

    구간 합 구하기 4 출처 : 11659번: 구간 합 구하기 4 (acmicpc.net) 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 나의 풀이 : #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int N, M; cin >> N >> M; vector dp(N + 1); dp[0] = 0; for (int i = 1; i > num; dp[i] ..

    (C++) 백준 1238 : 파티 (다익스트라)

    문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다. 이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오고 가는데 가장 많은 시간을 소비하는 학생은 누구일지 구하여라. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두..

728x90