전체 글 5

함수와 흐름제어

함수를 호출하면 함수의 본문에 지정된 특정 코드가 실행된다. 즉, 함수 호출로 원하는 코드를 실행시킬 수 있다. 흐름제어란 특정 상태에서 원하는 코드를 실행시키는 것이다. 흐름제어에서 원하는 코드를 함수로 지정할 수 있을 것이라는 아이디어를 얻을 수 있다.예시예시로 while을 함수로 구현해 보겠다. 예시에서 쓰일 언어는 Javascript이다.function my_while(cond, body) { if (cond()) { body(); return my_while(cond, body); }}let i = 0;my_while((() => i { console.log(i); ++i;});my_while 함수는 조건 표현식과 실행될 본문 코드를 함수로써 인자..

열정의 배신, 몰입의 의리

이 글에서는 필자에게 큰 영향을 준 책인 "열정의 배신"이라는 책의 내용과 관련된 이야기를 해보려고 한다.사실 읽은지 꽤나 오래되어서 어떤 내용이었는지 정확히 기억이 나지 않기 때문에 내 마음대로, 내 생각대로 이야기를 풀어갈 것이다.배신하는 열정배신 당하는 주체는 어떤 대상이 기대를 져버렸을때, 믿음이 깨졌을때 배신을 느끼게 될 것이다. 그렇다면 우리는 열정에게 무엇을 기대하는 것일까? 클리셰적으로 생각해보자면, 역시 "좋아하는 일, 하고 싶은 일을 하면 행복할 것이다"일 것 같다.그렇다면 이런 경우는 어떤게 있을까? 책에서 봤던 예시중에 기억나는 것은, 어떤 사람이 절 생활에 대한 환상을 가지고 중이 되었지만, 결국 얼마 못가 절을 떠나는 내용이 있다. 기타가 치고싶어서 샀지만 결국 장식품이 된다거나..

misc/철학? 2026.02.21

C 변수 선언의 타입

서론최근에 여러 개념들을 공부하면서 글로 정리할 필요성을 다시 느끼게 되었다. 그래서 워밍업? 같은 것을 하려고 이 글을 쓰게 되었다.C에서의 변수 선언과 type이 글에서는 C에서 변수 선언을 할때 내가 원하는 타입을 어떻게 지정할 수 있을지에 대해 다룰 것이다. 원하는 타입을 지정하기 위해서는 C에서의 타입 지정 규칙을 알아야 한다.C에서의 타입 지정 규칙은 연산자 우선순위를 따른다. 이것이 무슨 말인 것이냐. 연산자 우선순위가 높은 것부터 해석된다는 것이다.일단 각 연산자는 다음과 같이 해석된다. 여기서 ~는 다음으로 해석될 연산자이다.*: ~를 가리키는 포인터[N]: 원소가 ~인 길이 N의 배열(): ~를 반환하는 함수예를 들어보자. 일단 type name(int, float 같은거)도 하나의 전..

프로그래밍/C 2026.02.14

Continuation과 callcc

이 글은 continuation 시리즈의 첫 글이다. 다음과 같은 순서로 이 시리즈를 진행해볼 생각이다.continuation과 call/cccontinuation passing style(CPS)delimited continuationcontinuation의 응용그럼 continuation과 call/cc. 시작하겠다.들어가기에 앞서...이 글에서는 의사 코드가 나온다. Scheme 문법을 사용할까 했지만 대부분의 사람들이 이에 익숙하지 않을 것이므로 필자가 임의로 만든 의사 코드를 사용하겠다.이 글에서 나오는 의사 코드의 특징:program은 0개 이상의 statement의 나열로 이루어진다. 예시는 다음과 같다.let a = 3 + 4; // statement1for (let i = 0; i Con..

Parametric Search에서 STL을

안녕하십니까. 이번 글에서는 parametric search 알고리즘에서 C++의 STL(Standard Template Library)에 있는 lower_bound 함수와, upper_bound 함수를 사용하는 방법에 대해 얘기해보고자 합니다.true 구간과 false구간C++의 lower_bound 함수와 upper_bound 함수는 키(key)와 원소(element)를 비교하기위해 기본적으로 less predicate( 연산자)를 사용합니다. 이때, lower_bound에서는 원소 와 같은 방식으로 사용하고, upper_bound에서는 키 와 같은 방식으로 사용합니다.따라서 less predicate에 대해 false인 구간과 true인 구간이 형성될 것입니다. lower_bound는 false 구..

프로그래밍/C++ 2026.02.13