전체 글 69

MiniShell 기본함수 정리(readline.h)

readline을 사용하기 전에 이 글을 읽고 있는 당신은 MAC OS를 사용중인가? 그렇다면, 당신은 높은 확률로 아래 함수를 실행하기 위해 별도의 조치가 필요하지 않다. 그저 gcc 컴파일에서 -lreadline 옵션하나만 주면 모든 일이 끝나니까 말이다 하지만, 당신이 UNIX 계열의 OS를 이용중이라면 추가적인 조치가 필요하다. 진행하다가 컴파일이 안된다면, GNU 라이브러리를 찾아서 gcc -I -L 옵션을 이용, 포함시켜주자 readline 의존성 #include // FILE 구조체 이용을 위함 #include 함수원형 char *readline(const char *prompt); 사용방법 readline은 터미널에서 한 줄을 읽고 다음을 사용하여 반환합니다. 프롬프트가 NULL이거나 빈 ..

Deprecated/42 2022.11.08

MiniShell(42 미니쉘)을 정리하는 이유

42서울의 첫 고비 MiniShell 더 이상은 정리를 하지 않고 넘어갈 수 없다. 이전까지 진행한 Libft ~ Pipex까지 간단한 운영체제 혹은 컴퓨터의 개념들을 이용하여 하는 과제들이었다. 기존 과제들 구분 과제명 알아야되는 개념 0서클 Libft(Library Function) - 기본적인 C 언어 그 이상 할줄 아는가? 1서클 ft_printf - stdarg를 비롯한 파라미터들의 의미를 이해하는가? - 해당 개념들을 코드단에서 다룰 수 있는가? 1서클 Get_next_line - static 변수의 의미를 알고 다룰줄 아는가? - 메모리 관리라는 것에대해 고민해보았는가?(동적, 정적) 1서클 Born2beRoot - 가상머신에 대해 기본적으로 알고 다룰 수 있는가? - 교육생은 리눅스와 얼마..

Deprecated/42 2022.11.07

첫 회의와 Figma와의 첫만남(모닝글로리 웹서비스 제작 1)

내가 몸 담고 있는 42서울에는 특별한 동아리가 있다. 바로! "모닝글로리"라는 동아리인데, 동아리의 목표는 간단하다. '최대한 많은 인원들이 규칙적인 생활을 하면서, 개발 공부할 수 있도록 인센티브를 제공하자' 나는 이 동아리에 9월부터 소속되어있는데, 블로그를 통해 웹서비스 개발과정을 기록해보고자 한다. 모닝글로리란? 모닝글로리는 위의 목적으로 만들어진 동아리로 간단한 규칙으로 작동하는 동아리이다. 규칙 1. 평일 오전(월 ~ 금) 오전 08:30까지 개포 클러스터 1층 회의실에 도착해야 된다. 2. 도착한 카뎃(교육생)은 오퍼레이터(운영진)가 제공하는 오늘의 단어를 구글 폼을 통해 제출한다. 3. 모든 요일 동안 위의 조건을 만족한 카뎃은 소정의 크레딧과 칭호를 얻을 자격을 갖춘다. - 5개월까지는..

누가 좀 알려줬으면 좋겠는 프로그래밍 언어 변천사 발표 회고(2022. 11.)

프로그래머들이라면 다들 처음 배운 프로그래밍 언어를 기억할 것이다. 나는 2016년에 들은 "프로그래밍 기초" 수업에서 C로 프로그램을 배웠다. 당시 Visual Studio15를 이용해서 열심히 코딩을 하며 이런저런 불만들을 토했었는데, 불만들의 요지는 이런 것들이었다. '도대체 왜 ;를 찍어야 되는 거야!' '컴파일은 도대체 왜 해야 되는 거야!!' 지금 보면 아찔한 이 질문들은 아무것도 모르니까 할 수 있는 뉴비의 투정이라고 생각한다. 그렇게, 나는 우여곡절을 겪어 C언어를 익혔고 지금은 C가 가지고 있는 문법적 특성을 모두 당연하다고 생각한다. 하지만, 과연 옛날에도 그랬을까? 옛날에도 ;를 찍었을까? 혹은 함수를 {}으로 나눈 것은? 아니 함수를 나누기는 했을까? 나는 이런 의문이 들어 프로그래..

발표/42서울 2022.11.03

문돌이 개발자 실패기 발표 회고(2019. 12. 42서울 OT발표)

대학을 졸업 후 국방부의 시계는 이제 출발할 준비를 마쳤다. 나는 이제 사회로부터 독립된 존재로서 28개월 동안 군인의 소임을 다해야 한다. 좋게 말해 28개월 간의 독립이지 사실상 28개월 간의 경력단절이다. 나는 돌아와서 어떻게 할 것인가? 군대에 가서 무엇을 준비하는 방법도 있겠지만, '나중에 어떻게 되겠지'같은 생각은 나랑 맞지 않는다. 눈에 들어온 옥외 광고 어떻게 해야 더 효과적으로 돌아와서 사회에 적응할 수 있을까? 28개월 후의 나는 무엇을 할 수 있을까? 에 대한 생각이 시작되었고, 나는 학교 교정을 거닐다 하나의 현수막을 발견했다. '3무(교수, 교재, 학비) 교육방식, 42서울 1기 모집' 현수막과 42서울에 대한 내게 첫인상은 이랬다. 1. 나는 정해진 틀보다는 자유로운 상태에서 효..

발표/42서울 2022.11.03

군생활 회고(번외 : 군생활 중 취미)

병사로 가는 것과 장교로 가는 것 삶의 질에 있어서 차이가 있을까? 이런 부분은 가기 전에는 알기가 힘들다. 물론, 어떤 부대에 어떤 직책에 걸리냐에 따라서 다르겠지만 이 글에서는 내가 군 생활 중 해봤던 것들에 대해 한번 써볼까 싶다. * 물론 전방 초소장 걸리면 이런 삶은 거의 불가능하다 군 생활 중 꾸준하게 시간을 내서 했던 취미들 종류 기간 독서 20.3. ~ 22.6. 러닝 20.3. ~ 22.6. 크로스핏 20.9. ~ 21.2. 헬스 21.3. ~ 22.6. 국궁 21.8. ~ 21.9. 스쿼시 21.5. ~ 21.8. 테니스 22.1. ~ 22.6. 오토바이 22.2. ~ 22.7. 파이프 담배 21.1. ~ 21.6. 커피(드립) 21.6. ~ 22.7. 방탈출 21.5. ~ 21.6. ..

군생활 회고(~ 22.6. 다시 사회로)

즐거움도 끝이 있어야 더욱 즐거운 법 군대는 나에게 고통의 공간이 아니었다. 다양한 사람들과 다양한 경험들을 할 수 있는 곳이자 요람 같은 곳이었다. 한편으로는, 대학생활 안쉬고 달려온 내가 좀 쉴 수 있는 그런 대피소 같은 공간이기도 했다. 28개월 가족같은 전우들 군대는 정말 재미있는 곳이다. 모두가 힘들기 때문에 더더욱 사람이 고프고 또 가까워진다. 내가 군생활 중 맡은 보직은 깍두기 그 자체였다. 부대 내 직속상관은 딱 1명 부대장님 한분 뿐, 나에게는 같은 부서원인 간부가 존재하지 않았다. 내 친구들은 다 어느 중대에 소속되어있는데, 나만 위관급 소위로서 참모부에 배정받으니 내가 하는 업무를 이해해줄 수 있는 동기 혹은 동년배 동료가 없다는 것이 크게 걱정되었다. 내 옆에 바로 같이 일하는 간부..

군생활 회고(20.7. ~ 탄약지원사령부를 빛낸 인물이 되다)

들어가면서 군생활을 할 때 나는 내 업무만큼이나 타인의 업무에 주목했다. 내 공보정훈업무라는 것이 원래 그렇기도 하고, 또 가지고 있던 군 생활 목표 중 하나가 "내가 복무하는 기간에 나온 진중문고 모두 다 읽기"이다 보니까, 세상을 보는 눈이 넓어져서 그런 것일 수도 있다. 덕분에 여러 기회를 포착하는 안목을 가졌고 이 글에서는 그런 안목으로 겪은 자랑스러운 일을 소개하려 한다. 탄약지원사령부를 빛낸 인물이 되다 사령부를 빛낸 인물이 되는 것은 쉽지 않다. 누군가는 한평생을 한 사령부 예하에서 충성해도 이 빛낸 인물이 될 것이라는 보장은 없다.그런데, 영광스럽게도 나는 단기장교임에도 탄약사를 빛낸 인물이 되었다. 지금 생각해도, 내가 잘해서 이 영광을 누린 것이 아니라 내 주변에 좋은 상관, 동료 그리..

군생활 회고(20.7. ~ 군생활의 시작)

자대에서의 군생활은 매우 평화로웠다. 하늘같이 높다고 생각했던 대령이 내 옆 사무실인 것만 빼고 말이다.. 처음 자대에 도착하니 정말 아무것도 없었다. 나는 '과장' 직책을 가지고 자대에 갔지만 내 사무실 같은 것은 없었고 심지어 내가 쓸 책상 그리고 컴퓨터조차 없었다. 부대는 언제나 그렇듯 바빴고 동료들은 바로 무엇이 필요한지 알려주기보다는 내가 어떤 유형의 사람인지를 더 궁금해했다. 업무를 잘하기보다는 일단은 어울리자!라고 생각한 나는 얼마 가지 않아 감사하게도 따뜻한 동료이자 전우들을 만들 수 있었다. 소위 송승운에게 부여된 첫번째 임무 내가 자대에 배치되고 얼마되지 않아, 부대는 큰 시련을 겪었다. 어떤 시련인지 말은 할 수 없지만, 대부분의 사람들은 퇴근을 못하고 열심히 부대를 위해서 묵묵히 일..

군생활 회고(20.3. ~ 20.6. 초군반 생활)

장교는 임관 후 바로 배치받는 것이 아니라 자신의 병과에 맞는 교육을 추가로 실시한다. 기갑장교는 탱크 모는법, 그리고 병기장교는 탄약 및 정비 관련된 교육을 받는다. 이런 추가적인 교육을 받음으로써, 해당 분야의 전문가가 되고 이 교육 덕분에 장교가 장교일 수 있는 위엄을 얻는다. 이 교육을 군에서는 초군반(OBC)이라고 한다. 초군반 생활 나는 공보정훈병과이기에 OBC에서는 내 병과에 알맞은 특별한 교육들을 받았다. 1. 정훈 - 정훈교육 방법(교육 방법론, 교수법) - 정훈교육 배경지식(한국사, 대남도발사 등) - 교육계획 작성법 - 참모로서의 역할과 방법 2. 공보 - 언론 대응방법 - 언론에 대한 이해와 신뢰받는 군이 되기까지 - 공보대응절차 - 기본적인 사진촬영 및 영상편집 방법 3. 장교로서..

군생활 회고(~ 20.3. 임관까지의 여정)

나는 군생활을 다른 사람들과는 조금 다르게 했다. 일반적인 남성들이 대학생 2학년이 되면 군대에 병사로 가는 것과 다르게 나는 장교로서 군생활을 하기로 마음을 먹었다. 도대체 왜 그랬을까 싶은 생각도 많이 했지만, 전역하고 난 후인 지금 이제 군생활에 불만은 없고 자부심만 남았다. 사실 나는 군생활을 상당히 편하게 하기도 했다. 나는 관리할 용사가 거의 없었고, 높으신 분들(내 아버지보다 나이많은 분들)과 매일매일 한 테이블에 앉아 하루에 4~5시간 부대껴야되는 것 빼고는 크게 어려움도 없기도 했다. 나는 군생활에 특이한 이력이 2가지 있는데, 하나는 단기 장교임에도 불구하고 표창과 상장이 많다는 것이며 두번째로는, "소프트웨어 개발"로 표창을 받은 것과 사령부에서 5명 뽑는 "탄약사를 빛낸 인물에 선정..

"과학"이라는 단어의 의미

과학이란 무엇인가? 42서울에 와서 가장 좋은점은 다양한 사람과 다양한 이야기를 할 수 있다는 것이다. 놀랍게도 이 곳에는 철학에 관심이 있는 사람도 많고, 또 내가 모르는 재미있는 이야기가 샘솟는 독특한 곳이다. 나도 다양한 사람들에게 여러관점으로 생각하고 배우는 와중 이런 재미있는 질문을 확인했다. 과학은 어디에서 왔는가? 좀 쌩둥맞긴 하지만, 이 물음에 정확한 대답을 하려면 "과학"이라는 단어가 어디에서 왔는지를 알아야된다. 철학과에서는 어떤 물음을 시작할 때 물음에 사용되는 단어를 먼저 정의한다. 그렇기에 내게는 익숙한 습관인데 사실 이런 습관을 가지는 것은 몇 없는 사람이 가지는 행운이라고 생각한다. (자유에 대해 논한다면, 자유의 성질에 대해 이야기하기 전에 "자유"가 무엇인지 먼저 이야기해야..

Fortran부터 C#까지 찾아나가는 여정(프로그래밍 언어의 역사4)

C++ C++는 C에 증감연산자 ++가 붙은 친구로, 'C에서 기능 하나 더 하겠다!'라는 뜻이다. 그렇다면 도대체 무슨 기능을 더 구현했을까? 1985년 Bell Labdml Bjarne Stroustrup에 의해 제작된 언어 C++는 기존의 C 언어에 Simula67의 아이디어(OOP개념)을 포함하여 만들어졌다. Simula 67이란? 노르웨이의 Kristen Nygaar)과 Ole-Johan Dahl가 1962년부터 1967년에 걸쳐 개발한 언어로 Algol 60의 확장판으로 제작되었다. 알골을 시뮬레이션에 사용하기 위하여 확장한 언어로 단어의 어원은 SIMUlation LAnguage이다. 기존의 C언어는 잘 작동했으나, 복잡한 사회문제를 해결하기 위해서 C가 가지고 있는 데이터 개념은 한계를 가..