문자 수신? 문자열 수신은 이전 단계에서 진행한 것처럼 문자를 비트로 수신받아 그 비트들을 쉬프트 연산을 통해 숫자를 만들어주면 된다. 이때 신호를 받기 위해서 signal이라는 함수를 사용해야한다. 해당 함수는 특정 신호를 받았을 때 등록된 함수를 실행시켜준다. 그래서 SIGUSR1, SIGUSR2를 받았을 때 그에 맞게 함수를 꾸려주면 해당 과제를 수행할 수 있다. 그리고 문자열의 끝을 만나면 해당 문자열을 출력해주기만 하면 문자열 수신이 완료된다. 이렇게 기능을 구현하여 알맞게 살을 붙여 코딩을 진행하면 100점을 맞을 수 있다!
문자 전송? 문자열 전송은 다수의 문자를 순서에 맞게 보냄으로써 해결할 수 있다. 문자를 보내는 방법을 알게된다면 그 행위를 반복함으로써 문자열 전송을 해결할 수 있다. 그렇다면 문자는 어떻게 전송할까? C언어에서 문자는 아스키 코드로 표현되고 그로인해 문자를 숫자에 각각 대응시킬 수 있다. 예를 들면 문자 'a'는 97이라는 숫자에 대응할 수 있다. 또한 우리는 97이라는 숫자를 2진법으로 나타낼 수 있다. 나타내면 이와 같은 숫자가 나온다. (1100001) 다시 문제로 돌아가 우리는 SIGUSR1, SIGUSR2 이렇게 2개의 신호를 사용할 수 있다. 또한 숫자의 비트는 쉬프트 연산을 이용하여 얻어낼 수 있다. 이제 1을 만나면 SIGUSR1을 보내고, 0을 만나면 SIGUSR2를 보냄으로써 97이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/UlaUK/btq6rvnAyWY/3GEKcbGMqHoByWHCJg6j21/img.png)
Minitalk 서브젝트는? 클라이언트에서 서버로 문자열을 전송해 서버에서 그 문자열을 출력하는 두 개의 프로그램을 만드는 문제다. 정말 간단한 느낌이지만 서로 다른 프로세스로 동작하기 때문에 어떻게 처리해야할지 고민을 해야한다. 이것을 해결하기 위해 서브젝트에서 제시한 내용은 UNIX 시스템의 signal이다. 그리고 signal 중에서도 SIGUSR1과 SIGUSR2 만 사용하는 것을 조건으로 제시했다. 즉, 2가지 Unix signal을 이용하여 문자열을 주고 받는 2개의 프로그램을 만드는 것이 minitalk이다. 그러면 이제 다음 글을 통해 어떻게 풀 것인지 알아보자! 밑에는 다음 글을 보기 전에 미리 알면 좋을 힌트다~ 문제 풀이 힌트 출처 https://www.quantil.com/conte..
공부 시간 14:30 ~ 16:30 학습 내용 typescript, 람다 라이브러리 학습 방법 ebook을 통한 학습 후기 아직 3일차인데 벌써 약속을 지키지 못했다. 어제는 개인 사정으로 인해 시간을 할애할 수 없었기 때문이다. 이런 경우에 다음날에 2시간을 더 할 것인지 아니면 못한거는 못한대로 진행해야할 것인지 정해두지 않았다는 것을 깨달았다. 그래서 오늘 정해보자면, - 실패한 날은 따로 진행하지 않는 것으로 하고 실패한 날짜로 기록와 이유를 기록해둔다. - 도전이 끝난 뒤에 다시 실패하지 않기 위해서 어떻게 해야할지 기록한다. 이번 n일 도전은 위와 같이 정해두고 진행해야겠다. 언어 공부 자체는 현재 단원이 단순히 정보를 전달하는 파트라서 그렇게 어렵지는 않았지만, 함수형 프로그래밍 특징인지, ..
공부 시간 13:00 ~ 15:30 학습 내용 typescript, 함수 조합의 원리와 응용 학습 방법 ebook을 통한 학습 후기 원래는 타입스크립트의 문법을 단순하게 공부하려고 ebook을 구매했는데, 해당 책에서는 타입스크립트를 통해 함수형 프로그래밍이 어떤 것인지 어느정도 설명이 나와있다. 아직은 함수형 프로그래밍에서 사용하는 단어들이나 생각 방식이 나랑 익숙하지 않아서 조금 어려움을 느끼고 있는데 그만큼 새로운 사고 방식을 배우는 것 같아서 매우 흥미롭다. 그런데 사용되는 단어의 개념들이 머릿 속에 직관적으로 들어오지 않아 내용을 다시 한번 정리하는 시간을 가져야겠다고 판단했다. 오늘은 클러스터에 나와서 공부 + 사람이 별로 없어서 고요한 환경이라 집중이 더 잘되었다. 또한 잠도 푹 잤기 때문에..