본문 바로가기

연구소👨‍💻/CS연구소16

[OS] 멀티프로세스, 멀티스레딩 멀티스레드는 무엇인가?사실 멀티스레드는 컴퓨터 CPU가 한개의 프로세스에서 여러개의 작업을 동시에 하게 해주는 프로그래밍 언어의 기능이다.우리의 현재 컴퓨터들이 여러개의 코어를 지니고 있기 때문에 효율적이고 빠른 코드를 만들려면 멀티스레딩, 멀티 프로세싱에 대한 이해는 반드시 필요해보인다.그래서 나도 이번에 한번 공부해보자라는 생각을 하게됐다.멀티 프로세스와 멀티 스레딩의 차이멀티 스레드와 가장 헷갈리는 단어는 멀티 프로세슨데 CS적인 측면에서 둘은 이렇게 다르다.프로세스는 스레드보다 큰 단위다.프로세스는 프로그램 파일이 있을 때 실행하게 되면 메모리 위에 생성되는 프로그램의 인스턴스라고 할 수 있다.그리고 스레드는 프로세스에서 실행되는 어떤 코드의 흐름이다 한 프로세스는 적어도 한 개 이상의 스레드로 .. 2024. 6. 13.
[C++] 람다 함수 들어가며람다 함수는 익명함수이다. 한마디로 함수에 이름이 없이 필요한 자리에서 정의되는 함수라고 볼 수 있다.람다 함수 하면 우리 들은 보통 쓸일이 많지는 않다. 일반적으로 재사용성 높은 코드를 짜는게 좋다고 배우기 때문에 남용해서는 안좋다고 한다.그런데 이제 알고리즘 문제들을 풀다보면 sort를 할 때나 완전 그 떄 한번만 사용하면 되는 조건의 경우에 이 람다식을 사용한다고한다. 그런데 람다식은 생긴게 좀 특이해서 쓸 때마다 까먹는 일이 종종있다. 그래서 이참에 정리하기로 했다.C++ 람다 구조[capture-list](parameters) -> return_type { // function body};일단 람다함수는 이런 구조로 되어있다 설명을 전부 떼고 보면[](){};대, 소, 중괄호가 모두.. 2024. 6. 12.
[C++] Code Splitting, Forward Declaration : #ifndef, #endif 가 뭘까? 들어가며C++을 처음시작했거나 공부하는 사람들은 으레 알고리즘부터 시작하게 된다. 사실 알고리즘 만큼 프로그래밍 언어 공부하기 좋은 것도 없긴하다 하지만 이제 배운 언어로 응용프로그램을 만들고 싶다거나하면 이런 코드를 읽게된다.#ifndef _H264_VIDEO_STREAM_DISCRETE_FRAMER_HH#define _H264_VIDEO_STREAM_DISCRETE_FRAMER_HH#ifndef _H264_OR_5_VIDEO_STREAM_DISCRETE_FRAMER_HH#include "H264or5VideoStreamDiscreteFramer.hh"#endifclass H264VideoStreamDiscreteFramer: public H264or5VideoStreamDiscreteFramer {p.. 2024. 6. 7.
[AWS] 책 AWS 구조와 서비스 읽기 : Chapter 3 - 1 지난번 2장에서 이어지는 내용으로 3장에서는 AWS의 서버들을 다룬다 서버하면 일반적으로 EC2를 떠올리게되는데 해당 책에선 그것 뿐만 아니라 Lambda같은 다른 서버들의 이야기도 나온다. 일단 나는 이 책을 EC2와 나머지 챕터로 나눠서 이번에는 EC2의 내용을 다뤄보고자한다.EC2를 이해하기 위한 서버 기초지식서버는 컴퓨터다.서버라는건 듣기엔 굉장히 어려워보이지만 사실 요청을 처리할 자원이있는 컴퓨터 이상 이하도 아니다. 책에 나온 말을 그대로 인용하면 네트워크에서 데이터나 서비스를 제공하는 컴퓨터를 서버, 그 서비스를 이용하는 프로그램을 클라이언트라고 한다. 웹 사이트와 웹 브라우저가 대표적인 예다. 웹 사이트 서비스를 제공하는 컴퓨터가 서버고 웹 브라우저가 클라이언트다. 그리고 서버도 대단한 분.. 2024. 6. 7.