목록전체 글 (49)
비트와 자장가

CPU 멀티쓰레드로 BVH 같은 최적화 없이 실시간 (비스무리하게) 돌아가도록 만든 광선 추적기다. CPU 광선 추적기 실시간성(?)의 핵심은 다음과 같다: voidmulti_record(void) { pthread_tthread[THREAD]; unsigned longid; id = 0; while (id < THREAD) { if (pthread_create(&thread[id], NULL, thread_record, (void *)id)) quit(MALLOC); id++; } while (id--) pthread_join(thread[id], NULL); record_(screen, light, accumulated); } voidpress_key(void) { camera = camera_(se..

논리회로란 입력이 출력을 결정하는 회로이다. 논리회로는 기호로 추상화되지만, 부품이라기보단 실제로는 베이스에 전류가 들어오는지의 여부에 따라 전류의 흐름을 바꿔주는 부품인 트랜지스터와 저항만으로 만들어진 간단한 회로 구성이다. (TTL 7400/7402 같이 네 개의 낸드/노어 게이트를 하나의 칩으로 묶은 부품을 흔하게 구할 수 있고, 대개는 칩 안의 나노미터 단위의 로직 셀로서 접하게 된다) 만드는 방법은 다음과 같다. 영상에서 LED는 전류가 흐르는지(출력이 1인지)를 보여주기 위해 추가된 것이라는 점을 참고하자. 논리 게이트 중 낸드nand 게이트와 노어nor 게이트는 유니버셜 게이트이다. 그 말인즉슨, 낸드나 노어만 있으면 어떤 논리게이트든 만들 수 있다는 것이다. 더보기 실제로, 우리가 사용하는..

서니데이서비스sunny day service의 케이이치 소카베曽我部 恵一도 좋아하는 위댄스. 이 영상을 보고 감동받아 운명처럼 다음날 있었던 제비다방 공연에 갔습니다. 이 이후로 다시 전국적으로 코로나 확산이 심해졌기 때문에 내가 볼 수 있었던 마지막 공연이었습니다. 그때 가길 참 잘했던 거죠. 제비다방에서 파는 비싼 기네스 생맥주도 무척 맛있었습니다. 음악 듣는 걸 참 좋아하는데, 위댄스의 음악을 오래오래 들을 수 있었으면 좋겠습니다. (혹시 관계자가 이 글을 보시게 된다면 예전에 테이프로만 냈던 곡들도 따로 모아 새 앨범으로 몰래 내주었음 한다...🥺) 이제는 곡을 다 좋아하게 됐지만 그래도 좋아하는 곡 리스트를 뽑아보자면: 비트와 자장가 난 말야 준비됐나 생산의 단계 음악이 출렁출렁 비트를 쪼개네 ..
이전 글에서 말했던 것처럼, 프로그램 언어의 기초 모든 프로그램은 순차, 분기, 반복의 집합체로서 동작한다. 1. 순차sequence 프로그램은 줄마다 순서대로 실행된다. 사람이 물을 컵에 받아 마시는 것을 의사코드pseudo-code(프로그래밍언어의 구조를 eastriver-today.tistory.com 컴퓨터에서는 모든 것을 숫자로 나타낸다. 프로그래밍 언어는 컴퓨터가 아닌 사람을 위한 것인데, 사람은 숫자로 생각하지 않으므로, 모든(실용적인) 프로그래밍언어는 자료형data type을 가지고 있다. 자료형을 한 마디로 정의하자면 이진숫자를 특정 형태로 묶은 것이다. 프로그래밍 언어에서 자료형은 사용의 관점에서 항상 명시적으로 선언해야 하거나, 추론해주거나, 내부적으로만 존재하는 세 가지 경우로 나뉜..
스위프트 네이티브로 시스템 프로그래밍이 가능해지는 "스위프트 시스템" api가 어제 오픈소스화 됐다. 크로스플랫폼이 아니라 멀티플랫폼으로, 맥, ios, watchos, tvos를 지원하고, 소스가 공개되며 리눅스 지원을 추가했다고 한다. "we’ll be working to adopt System in the Swift Package Manager. This will include enhancements to FilePath and adding support for the recently announced Swift on Windows." 하지만 머잖아 윈도우즈도 지원할 예정이라고 한다. Our immediate goal is to simplify building cross-platform librar..

swift on windows 드디어 스위프트의 윈도우즈 공식 지원이 시작되었다. 자고 일어나서 윈도우즈를 켤 마음이 든다면 조금 갖고 놀아야겠다. 그리고 크로스플랫폼 지원에 대한 언질도 조금 주는데, 어떤 식으로 결과물이 나올지 참 궁금하다. swiftui가 appleui 같은 이름으로 안 불리는 것도 swiftui를 애플 것이 아닌 스위프트의 영역으로 남길 것이라는 해석을 읽은 적이 있는데, 특히 arm 맥을 준비하며 내놓은 big sur를 보더라도, 페이스북의 리액트네이티브나 구글의 플러터처럼 완전한 크로스플랫폼을 노리는 것일지도 모르겠다. ios 사용자를 맥으로. ios 개발자를 맥으로. 시장성이 더 좋아진 앱스토어를 미끼로, 편한 크로스플랫폼 swiftui를 미끼로, 모두를 swift 개발자로...

모든 프로그램은 순차, 분기, 반복의 집합체로서 동작한다. 1. 순차sequence 프로그램은 줄마다 순서대로 실행된다. 사람이 물을 컵에 받아 마시는 것을 의사코드pseudo-code(프로그래밍언어의 구조를 나타내기 위해 사용되는 가짜 프로그램언어)로 나타낸다면 아래처럼 할 수 있다: pick_up(cup) pour(water, into: cup) sip(water, inside: cup) 컵을 집고 물을 컵에 따르고 컵에 들은 물을 한 모금 마신다. 이 세 명령의 순서가 뒤바뀌면 '물 마시기'는 실패한다. 순차적으로 실행된다는 사실을 전제하지 않고는 프로그래밍이 불가능하다. 프로그램은 모두 목표가 있고, 그 목표를 달성하기 위해 작은 절차들을 차례로 실행해야 한다. 2. 분기selection 프로그램..

1. ⌘ + space를 눌러 spotlight에서 automator를 실행한다. 2. Quick Action을 선택하여 automator document를 생성한다. 3. workflow receives를 no input으로 설정하고, run applescript를 드래그 앤 드롭하고, 본 글 최하단에 쓰여진 applescript를 붙여 넣는다. (필수) BenQ EW3270U를 system preferences > displays 작업표시줄에 뜨는 본인 모니터의 이름으로 변경한다. (선택) set portrait to value of options is _270에서 _270을 전환하고 싶은 각도(_90, _180)로 변경한다. 4. 적당한 이름으로 저장하고 system preferences > key..