컴퓨터 사이언스 (CS) 25

개발자 선물로 추천, 도커(Docker) 컨테이너 각티슈 케이스

감사하게도 인카토스 측으로부터 도커 컨테이너 각티슈 케이스 협찬을 받게 됐다. 결론부터 말하자면, 실물을 본 주위 개발자 친구들이 다 탐냈다. 컨테이너 판넬을 조립하면 이와 같이 도커 컨테이너 모양으로 완성이 된다. 우선 제품을 다 조립했을 때 처음 느낀 장점은 아래와 같이, 크게 세가지였다. 탄탄하다, 내구성이 좋아보인다. 프린팅이 선명하고, 프린팅 퀄리티가 괜찮다. 깔끔한 디자인이어서 책상 인테리어로도 좋다. 1. 탄탄하다, 내구성이 좋아보인다. 이 각티슈 케이스는, 판넬을 하나씩 조립하는 구조다. 그래서인지, 조립하고 나면 탄탄한 느낌이다. 2. 프린팅이 선명하고 프린팅 퀄리티가 괜찮다. 전반적으로 프린팅이 깔끔하고 선명하다. 특히 놀랐던 건, 측면의 프린팅조차 디테일이 있다. 3. 깔끔한 디자인이..

URL과 리소스

URI는Uniform Resource Identifier의 약자로, 위치 & 이름 또는 둘 다 추가로 분류될 수 있다. 여기서, 위치(Locator)가 URL, 이름(Name)이 URN이다. 오늘은 이 중에서도, 전 세계적으로 통용되는 URL에 대해 포스팅해 볼 것이다. 목차 URL의 개념 URL의 구성 단축 URL URL의 인코딩 01. URL의 개념 URL은 Uniform Resource Locator의 약자로, 인터넷의 리소스를 가리키는 표준 이름을 말한다. 즉, 원하는 리소스가 어디에 위치하고 어떻게 가져오는지에 대해 정의해주는 기능을 갖고 있다. URL은 우리가 원하는 정보를 가리키고, 그것이 어디에 있으며 어떻게 접근하면 될 지 알려주는 기능을 갖고 있다. URL이 없었을 땐, 상대방과의 파일..

깃(Git) 개념 및 핵심 명령어 총 정리 (1)

01. Git이란? 코드의 버전 관리 시스템 중 하나 코드를 짤 때는, 여러 명이 협업해서 하나의 버전을 생성되기 때문에, 되돌리는 과정 등이 부가적으로 필요하다. 또한 중간마다 변화사항이 생길 때마다 백업도 필요한데, 유의미한 변화를 중심으로 효율적 백업이 필요하다. 이런 버전 관리작업을 돕는 도구 중 하나가 바로 Git 이다! 02. Github란? 각자의 컴퓨터에만 존재하는 버전(local에서 만들어준 버전)을 저장/관리해주는 서비스 우리가 만약 원격 저장소에 저장을 한다면, 레포지토리에 저장된 모든 버전들을 저장할 수 있다. 03. Git 버전에 대하여 3-1. Git 내에서 버전이 생성되는 단계 Git은 세 개의 공간이 존재한다. 1. working directory (작업공간) : 내가 코드 ..

알고리즘 요점 정리 - 스택 큐 힙

입사 후 정신이 없어서 면접 준비를 할 때 작성한 요점 개념에 대한 글을 포스팅한다는게 깜박했다. 임시저장 게시물 부랴부랴 업로드해야겠다 !!! 목차 스택 큐 힙 스택 LIFO 데이터 간 순서를 약속하는 것이다. 마치 접시처럼, 먼저 쌓인 것이 가장 늦게 출력된다. deque (맨 앞과 뒤에 데이터를 삽입 및 삭제할 수 있도록 하는 자료형) 양방향 자료형을 쓰는데, 이는 append나 pop이 압도적으로 빠르다. 추가는 append 접근은 [-1] 삭제는 pop() 큐 FIFO 병원 대기줄과 같이, 먼저 쌓인 것이 먼저 출력된다. 즉 들어가는 순서대로 나온다. 이 또한 deque를 사용한다. 뒤에서는 append와 pop을, 앞에서 넣을땐 appendleft 앞에서 꺼낼땐 popleft를 사용한다. 큐는..

네트워크란 무엇인가?

목차 네트워크란? 네트워크의 분류 네트워크의 통신 방식 01. 네트워크란? 노드들이 데이터를 공유할 수 있게 하는 디지털 전기통신망의 하나. 즉, 연결되어있는 통신망이라 이 안에서 데이터를 주고 받는다. 인터넷이란? 문서, 그림, 영상 등을 주고받게 해주게 전 세계를 연결하는 가장 큰 네트워크. www는 인터넷인가? 아니다. www는 인터넷이라는 네트워크를 통해서 웹과 관련된 데이터를 통신 망 내 사람들과 공유하는 공간이다. 02. 네트워크의 분류 2-1. 크기에 따른 분류 LAN(Local Area Network) : 근거리 연결 통신망 WAN(Wide Area Network) : 장거리 연결 통신망 즉, WAN은 가까운 지역끼리 묶인 LAN과 LAN을 다시 하나로 크게 묶은 것이다. 같은 네트워크 대..

07. [쉽배운 3장] 프로세스와 스레드

목차 프로세스란? 프로그램과 프로세스 프로세스의 상태 프로세스 제어 블록(PDB) 스레드 01. 프로세스란? 프로그램이 메모리 상태에 올라가 동적인 상태인 것이 프로세스다. 1-1. 프로세스 구조 코드영역, 데이터영역, 스택영역으로 분리된다. 코드영역 프로그램 본문 기술. 요리책과 같음. 데이터영역 사용해야 하는 데이터. 요리의 재료와 같음. 스택영역 프로세스를 운영할 때 필요한 데이터. 조리도구와 같음. 예를 들면, 프로세스에서 함수 실행시키면 함수 실행 후 다시 돌아 올 위치 등을 저장함. 이는 사용자에게 보이지 않음. 1-2. 시분할 방식 시분할 방식이란, CPU가 시간을 쪼개 프로세스에게 각각 할당하여 프로세스를 처리할 수 있는 방법이다. 이는 CPU의 효율을 높이기 위한 방법 중 하나다. 음식점..

Git Push & Clone 오류 원인 - repository 인증 정책 변경

Git의 보안 이슈 때문에, 레포지토리 접근 시 인증 방법이 8월 13일 이후로 변경됐다. 어쩐지 원래였으면 username과 password만 쓰면 잘 pull & clone 되던 것들이 실행되지 않았다. 아래처럼 에러가 떠서, 안내해준 github docs로 접근해보았다. 공식 레퍼런스 링크 Set up Git - GitHub Docs To use Git on the command line, you'll need to download, install, and configure Git on your computer. You can also install GitHub CLI to use GitHub from the command line. For more information on GitHub CLI, ..

09. 스택/큐 알고리즘 개념

01. 스택(Stack), 큐(Queue) 개념 1-1.스택(stack)이란 자료의 입력과 출력을 한 방향으로 제한한 자료구조를 의미한다. 즉, LIFO(Last In First Out)구조다. 스택의 예시 쌓여있는 접시에서는 맨 위에것부터 쓸 것이다. 새걸넣어도 맨위이다. 접시가 쌓인 모습을 상상하자! 1-2-1. 스택 풀이 방법 스택 자료형은 없다. deque를 이용해 스택을 쓴다는 점을 알고 있으면 좋다. 🔥 덱(deque)이란? 양방향 큐이다. 즉, 맨 앞과 뒤에 데이터를 삽입하고 삭제할 수 있게 해주는 자료형이다. 양 끝 엘리먼트에 대한 append, pop이 빠르다는 장점이 있어 많이들 사용한다. 삽입 제거 시, 일반적인 리스트는 연산에 O(n)인 데에 반해, 데크는 O(1)로 성능이 매우 빠..

08. 정렬 알고리즘 개념 및 풀이

01. 정렬 알고리즘이란? 정렬(sorting)이란, 순서없이 나열된 자료를 특정한 키값에 따라 오름차순이나 내림차순으로 자료를 재배열한 것을 의미한다. 정렬 알고리즘이 왜 필요할까? 탐색 효율을 높이기 위해서다. 도서관에서도, 원하는 책을 효율적으로 탐색하기 위해서 책이 순서대로 정렬되어있어야 한다. 도서관을 떠올리면 정렬의 필요성을 이해하기 쉽다. 02. 정렬 알고리즘의 종류 2-1. 선택정렬 가장 작은 노드(최소값)를 선택하고 왼쪽부터 정렬을 하기 위해 알맞은 위치와 교환하는 작업을 반복하는 것을 뜻한다. O(n^2)번의 시간복잡도가 필요하며, 작은 수를 하나하나 순차적으로 찾아서 정렬해야 하므로 안정적이지 않다. 2-2. 삽입정렬 삽입정렬은 아직 정렬되지 않은 특정 노드와 정렬된 노드들의 값을 비..

06. [쉽배운 2장] 컴퓨터의 구조와 성능 향상

앞서, 운영체제의 개요를 공부해보았다. https://eng-sohee.tistory.com/42?category=1026344 05. [쉽배운 1장] 운영체제의 개요 쉽배운 = 쉽게배우는 운영체제 내가 이번에 산 책이다. 왜 내가 구글링을 이용해 운영체제를 공부하다가 책을 구매했는지, 그리고 책을 선정하게 된 기준 및 계기는 무엇인지느 아래 ※ 이전 포 eng-sohee.tistory.com 오늘은, 컴퓨터의 구조와 성능 향상에 대해 공부한 내용을 정리해볼 것이다. 목차 컴퓨터의 기본 구성 CPU와 메모리 컴퓨터 성능 향상 기술 병렬 처리 01. 컴퓨터의 기본 구성 1-1. 컴퓨터 하드웨어의 구성 1 중앙처리장치(CPU) 명령어를 해석해서 실행하는 장치. 인간의 두뇌와 같다. 2 메모리 메인메모리(제1..