윈도우 글자 크기 설정
보호되어 있는 글입니다.
minikube window container 사용하기
보호되어 있는 글입니다.
VS Code Setup 2023. 12. 16.
MinGw + VSCode
MinGW + VSCode 기반의 환경 설정 방법이다. 하지만, 2023년 기준으로 윈도우에서 MinGW 컴파일러를 VSCode 에서 C/C++ 학습용은 추천하지 않는다. 추천1) 윈도우 VSCode에서 WSL2 설정 후, 표준 C 컴파일러를 사용한다. 추천2) 윈도우 Visual Studio 에서 MSVC 사용한다. 추천3) 윈도우 VSCode에서 MSVC 사용한다. ① MinGW 컴파일러 다운로드 ①.① 직접 다운로드하여 설치 MinGW 다운로드 링크 ☜ 클릭 ①.② 또는 아래 파일로 설치 mingw-get-setup.exe 0.08MB ② MinGW 컴파일러 설치 ②.① 다운받은 파일을 [관리자 권한]으로 실행 ②.② MinGW Package 설치 다운로드 완료 되면, ③ 시스템 환경변수 설정 ③...
VS Code Setup 2023. 12. 16.
Visual Studio Code 한국어 설정
Study 2023. 12. 6.
면접 질문
운영체제 1. OS(운영체제)가 무엇인지 설명 - 운영체제는 하드웨어 자원을 관리하고, 응용 프로그램과 하드웨어 사이이를 중재하는 인터페이스를 의미한다. 2. 커널이 무엇인지 운영체제 역시 프로그램이기 때문에 메인 메모리에 적재가 되어야 하나, 운영체제의 크기가 너무 커서 전체를 다 메인 메모리에 올리게 된다면 비효율적이다. 따라서 커널이라고 하는 항상 필요한 운영체제의 핵심 부분만을 메인 메모리에 적재하여 운영체제를 사용하게 한다. 즉, 커널은 메모리에 상주하는 운영체제의 핵심 부분이다. 3. 메모리의 구조를 영역에 따라서 설명 코드 영역(TEXT) - 코드 자체를 구성하는 메모리 영역, 기계어로 제어되는 메모리 영역이다. 데이터 영역(STATIC) - 전역 변수와 정적 변수가 저장되는 영역, 프로그램..
Study 2023. 12. 4.
TCP / UDP
TCP(Transmission Control Protocol) 전송을 제어하는 프로토콜(규약) 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리하게 된다. TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용한다. 프로그램 간에 안정적으로, 순서대로, 에러 없이 교환할 수 있게 한다. TCP 특징 연결 지향 방식으로 패킷 교환 방식을 사용한다. 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다. 흐름 제어 및 혼잡 제어 높은 신뢰성 보장 UDP보다 속도가 느리다 전이중, 점대점 방식 패킷(Packet)이란? - 인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효..
Study 2023. 12. 3.
heap & stack
메모리 공간은 크게 스택, 힙, 데이터 영역으로 나누어지게 된다. 할당되는 장소는 메인 메모리(RAM)에 할당되며, 할당되는 용도는 프로그램 실행 시 필요한 메모리 공간을 지정하기 위해서 할당되게 된다. 데이터 영역은 (정적메모리) - 프로그램이 종료될 때까지 지워지지 않을 데이터 저장 - 대표적으로 전역 변수와 static 변수 스택 영역은 (자동 메모리) - 정적 - 잠깐 사용하고 삭제하는 데이터 저장(지역변수, 매개변수) - 해당 객체가 정의된 블록을 벗어날 때 소멸 - 함수의 호출하는 위치도 저장 - 힙보다 빠르다 - 후입선출(LIFO, Last-In First-Out) 방식 - push로 데이터를 저장, 팝으로 데이터를 인출 - 높은 주소에서 낮은 주소의 방향으로 할당 힙 영역은 (자유 저장소)..
Study 2023. 12. 2.
프로세스 vs 스레드
정적 프로그램(Static Program) 프로그램은 윈도우의 .exe 파일이나 Mac의 .dmf 파일과 같은 컴퓨터에서 실행 할 수 있는 파일을 통칭한다, 아직 파일을 실행하지 않은 상태이기 때문에 정적 프로그램(Static Program) 줄여서 프로그램(Program)이라고 부른 것이다. 어떠한 프로그램을 개발하기 위해선 자바나 C언어와 같은 언어를 사용하여 코드를 작성하여 완성된다. 따라서 프로그램은 쉽게 말해서 그냥 코드 덩어리이다. 프로세스(Process) 프로그램이 그냥 코드 덩어리이면, 프로세스는 프로그램을 실행 시켜 정적인 프로그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태를 말한다. 즉 현재 컴퓨터에서 작업 중인 프로그램을 의미한다. 모든 프로그램을 운영체제가 실행되기 위한 메모리..
Study 2023. 12. 2.
멀티 프로세스와 멀티 스레드
Multi Process : Multi Thread 프로세스는 운영체제로부터 자원을 할당받는 작업의 단위 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위 사용하는 이유? 스레드는 프로세스보다 적은 메모리 공간을 차지하고 Context Switching 이 빠른 장점이 있다. 하지만 동기화 문제와 하나의 스레드 장애로 전체 스레드가 종료 될 위험을 갖고 있다. 프로세스는 하나의 프로세스가 죽더라도 독립적이며 다른 프로세스에 영향을 주지 않아 안정성이 높다. 하지만 스레드보다 많은 메모리공간과 CPU 시간을 차지하는 단점이 있다. 멀티 프로세스(Multi Process) 개념 두개 이상의 프로세서가 협렵적으로 하나 이상의 작업을 동시에 처리하는 것이다. (병렬처리) 장점 독립된 구조로 안정성이 높다..
Study 2023. 11. 30.
컴퓨터의 역사
1. 최조의 기계 1642년 프랑스의 수학자 파스칼은 계산에 '덧셈기'라는 기계를 사용하였다. 이 계산기는 오늘날의 컴퓨터가 가지고 있는 다섯 가지의 구성요소인 '입력, 출력, 처리기, 제어, 기억 장소'등의 기능을 가진 최초의 기계로 인정되고 있다. 1936년에는 앨런 튜링이 튜링 기계라는 것을 만들어 알고리즘과 계산에 대한 기초를 정립하였다. 튜링은 1943년 '콜로서스'라는 특수목적용 디지털 전자 컴퓨터를 완성해 제2차 세계대전 중 독일의 암호문을 성공적으로 해독해낼 수 있었다. '에니악 (ENIAC)'은 1943년 모틀리와 에커트가 대포와 미사일 탄도를 빠르게 계산할 수 있는 기계를 설계하기 시작하여, 1946년에 완성하였다. 세계 최초의 범용 컴퓨터였지만 여러 문제점을 가지고 있었는데 새로운 문..