virtualBox를 이용하여 운영체제를 설치해본다.https://github.com/zhy2on/42cursus_01_Born2beroot/blob/main/Subject.mdhttps://github.com/wshloic/born2beroot_co
개요 두 가지 유닉스 시그널만을 가지고 서버와 클라이언트간의 메세지 통신 프로그램을 만든다. Mandatory server가 먼저 시작된 다음 PID를 출력해야 한다. client 측에서 parameter로 server의 PID와 전송할 string을 받는다. 클라이
사용법 numberofphilosophers: 필로소퍼 수 timetodie: 몇 ms안에 먹어야 안 죽는지 timetoeat: 먹는 데 걸리는 시간 timetosleep: 자는 데 걸리는 시간 [numberoftimeseachphilosophermusteat]:
C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes" (source:
new, delete keywordnew가 malloc 역할. 다른 점은 new는 생성자를 호출한다는 것. malloc으로 인스턴스를 할당하면 생성자가 호출되지 않아서 쓰레기 값이 들어가버림. new 키워드 자체가 malloc과 생성자 호출을 랩핑한 형태라고 함new
기본 생성자 (Default Constructor)소멸자 (Destructor)복사생성자 (Copy Constructor)할당연산자 오버로딩 (Copy Assignment Operator)https://www.francescmm.com/orthodox-cano
printf를 구현한다.mandatory part는 specifier로 csdiupxX%만 구현하면 된다.Original printf 에서는 고정 버퍼를 사용한다. 버퍼가 다 차면 출력하고 버퍼를 비우는 식인데, 과제에서는 꼭 그렇게 하지 않아도 된다.문자열 forma
fd에 있는 내용 read로 BUFFER_SIZE만큼 읽어오면서 static 변수에 저장하고, 해당 변수에서 '\\n' 찾고 만약에 있다면, 그 위치까지만 다시 strdup 해서 line에 갱신해준다.파일을 읽는 중 오류가 있었을 경우 -1, 라인을 올바로 읽어들인 경
사설 ip주소를 고르는 문제이다.IP란? internet protocol. 인터넷에 연결되어 있는 각 장치들을 고유하게 식별할 수 있는 식별번호.ip주소에는 ipv4, ipv6 두 가지 버전이 있으며, 유동 아이피(DHCP) vs 고정 아이피 또는 공인 아이피 vs 사
자기유사성을 띄는 형태구조가 전체 구조와 비슷한 형태로 끝없이 반복된다시간매개형 - 대개 복소평면 상에서, 각각의 점이 발산하는 속도를 색으로 나타낸 이미지반복함수계 - 규칙적 프랙탈. 기하학적 대체 규칙에 의해 만들어진 도형. 부분과 전체가 완전히 같다무작위적 프랙탈
두 스택을 이용하여 정렬하는 문제처음 a스택에 원소를 쌓고, b스택을 이용하여 a스택이 오름차순 정렬되도록 만들어야 한다.기본적으로 4개의 동작으로 설명할 수 있음 push, swap, rotate, reverse rotatea스택에서 b스택으로 pb를 이용하여 원소를
메모리를 채운다. b에 c를 len만큼 채운다.size_t --> 부호 없는 정수형. 32비트 운영체제에선 부호 없는 32비트 정수, 64비트 운영체제에선 부호 없는 64비트 정수.memset이랑 비슷한데 이건 따로 채울 데이터를 정해 주는 게 아니라 무조건 0으로 채
Borderlands https://borderlands.fandom.com/wiki/Borderlandshttps://borderlands.fandom.com/wiki/Borderlands https://namu.wiki/w/%EB%B3%B4%EB%8D%94%EB%9
ex00 다형성(polymorphism) https://modoocode.com/210 하나의 메소드를 호출했음에도 여러가지 작업을 하는 것을 다형성이라고 한다. 저번에 공부했던 virtual 키워드 연장선~ ex01 파생 클래스의 private 변수를 기반 클래스
예외가 생긴 경우 throw를 쓰고 전달하고 싶은 객체를 써준다.아무 객체나 던져도 상관 없지만 표준 라이브러리에 여러 예외가 미리 정의되어 있음. 이를 사용하면 좋음.throw 한 위치에서 즉시 함수가 종료되고 예외처리 부분으로 점프. (가장 가까운 catch문으로
리터럴 문자열 인자를 타입별로 변환하여 반환하는 클래스를 만든다non displayable characters 는 안 쓴다고 가정ex) ’c’, ’a’, ...ex) 0, -42, 42...ex) 0.0f, -4.2f, 4.2f...ex) 0.0, -4.2, 4.2..
함수 템플릿 연습https://modoocode.com/219template <class T> 또는 template <typename T> 와 같이 사용 (typename으로 사용하기)템플릿은 반드시 인스턴스화 되어야지만 비로소 컴파일러가 실제 코드
ex00 STL https://blockdmask.tistory.com/67 container 객체를 저장하는 객체, 자료구조 라고도 한다. 클래스 템플릿으로 구현되어있다. 출처: https://blockdmask.tistory.com/67 [개발자 지망생:티스토리]
https://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-generating-camera-rays/generating-camera-rays
Raytracing 카메라로부터 쏜 ray가 물체에 부딪혀 돌아오게 되는 경로를 추적하여 색을 입히는 그래픽 기법이다. Cam viewport miniRT에서는 camera의 `위치와 카메라가 보는 방향을 나타낼 normal vector, 화각 fov`를 받는다.
VM 세팅(UTM) https://velog.io/@zhy2on/Ubuntu-20.04-for-ARM-설치해보기 ubuntu 20.04 desktop 최소설치 & firefox 설치 환경으로 세팅했다. Common Ground 환경변수 docker에서는 컨테이너에서
dup이 복사 개념 dup2가 덮어쓰기 개념이라고 생각하면 될 것 같다.pipe를 할 때 dup2로 STDIN 또는 STDOUT을 pipe()로 할당한 fd에 연결하는 것은command들이 원래 표준입출력의 fd인 0 또는 1을 통해 읽거나 쓰게 되어 있기 때문에 du
setsockopt `socket`: socket으로 소켓 디스크립터 `level` : 프로토콜 레벨 (SOLSOCKET, IPPROTOIP, IPPROTOTCP, IPPROTOIPV6 등) `option_name` : 옵션 이름 `option_value` : 설정할
문제 한 줄 요약 pipe에 write를 하려고 할 때 write할 문자열이 크면 partial write가 발생하는데 파이프 버퍼사이즈(65536byte) 만큼 두 번 쓰고 나면 kevent에서 block 되었음. 원인 원래는 파이프에 write한 걸 바로 읽어가면 파이프가 가득찰 일이 없음. 그런데 child가 1번 파이프에서 읽고 부모에게 2번 파...