langdev 포럼이 열렸습니다.
Posted by 미스란디르
홍민희님이 한국의 LtU:Lambda the Ultimate를 바라며 사이트를 열었어요.
이제 시작해서 글이 별로 없지만 여러가지 프로그래밍 언어에 대한, 혹은 스스로 만들고 싶은 언어에 대한 얘기들을 이것 저것 해보아요.
Posted by 미스란디르
홍민희님이 한국의 LtU:Lambda the Ultimate를 바라며 사이트를 열었어요.
이제 시작해서 글이 별로 없지만 여러가지 프로그래밍 언어에 대한, 혹은 스스로 만들고 싶은 언어에 대한 얘기들을 이것 저것 해보아요.
Posted by 미스란디르
가 메일링에 떴네요. 원문은 [ruby-dev:33825]에서 보실 수 있습니다.
Ruby M17N 회의가 2008년 2월 15일에 열렸는데, 그 기록을 올립니다.
==cgi.rb 후속의 공모에 대해서 조건은 다음과 같다
얼마전에 cgi.rb가 너무 노후화되서 그 후속작을 공모하는 메일이 올라왔었다. 그것에 대한 논의가 이루어진듯
== String#gsub(regexp, hash)
String#gsub(regexp, {"ä"=>"\u00C4", ..}) 와 같은 표기를 쓰고 싶음 →채용
== replica의 출전에 대한 정보를
→쓴다
replica는 encoding의 복제품 같은걸 얘기하는데 예를들면 cp949가 euc-kr의 replica가 되는거죠(사실 루비구현에선 그렇지 않지만). 아마도 소스안에서 이게 무슨 replica인지 따위를 주석으로 쓴다는 것 같네요
== CP949와GBK는 서로 다름
→CP949를 분리
CP949와 GBK가 valid한 영역이 거의 같아서인지 같은걸로 취급했다가 다시 분리됐어요.
== 널문자와 UTF-16를 합칠 경우에 대해
널문자는 ASCII와 호환되지 않는 문자와도 결합가능하도록 하면 어떨까 →채용
== String#length나String#at등이 느리다
search_nonascii를 사용해서 고속화 VALID한UTF-8이라면 더더욱 빨라진다.
== String#getbyte, String#setbyte
→채용
== Indexer
→보류
== inspect 에 대해서
다음과 같이 검토
== strftime 의 앞으로의 방향 strftime은 locale에 의존하지 않고、로케일에 의존하는건 필요하다면 별도로 추가
== require_relative 의 도입에 대해서 require_relative 을 부른 파일의 상대경로에 대해서 require 한다. →채용
== IO.copy_stream IO.copystream(filename, filename) 이나 IO.copystream(stream, stream) 등으로 파일이나 스트림을 카피한다. 또한 파일명을 준 경우에는 시스템콜을 호출하기 때문에 루비는 다른 것을 할 수 있다. →이름은 검토 필요
== Hash#compare_by_identity가 미묘한점 Hash#comparedby(:equal?, :objid)으로 변경하고 싶음 →채용 →Hash#identifed_by의 경우가 좋을지도[ruby-dev:33817]
== Unicode Normalization
API는 다음과 같다
open(fn, "r:utf-8", ...) 정도에서 정규화하면서 읽는등의 처리를 하고 싶기 때문에 그것에 대한 기법을 검토
다른 내용들에 아시는 내용 있으면 커멘트 달아주세요~;
써 놓고 보니 m17n회의라면서 결국은 루비1.9 개발논의 회의인거군요. 루비 1.9.1은 언제나오려나.
Posted by 미스란디르
emerge glibc를 하는데, 똑같은 짓을 계속 하고 있길래 왜그런가 했더니, /usr/include/linux 에 깔린 리눅스 헤더의 날짜가 미래라고 거부를 하는 거였다.
find /usr/include -print |xargs
로 해결했다.
freeglut을 빌드하는데 gcc가 (정확히는 링커가) libGLU.so 가 요구하는 libstdc++ 을 찾을수가 없댄다. /etc/ld.so.conf 를 제대로 지정했는데도 불구하고 여전히 뭔가 이상하다. ldconfig를 아무리 해도 안된다. 알고 봤더니 /etc/ld.so.cache 의 날짜가 미래라서 ldconfig 가 안먹는 것이었다. 바로 요런 에러다.
/i686-pc-linux-gnu/4.2.0/../../../libGLU.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../libGLU.so: undefined reference to operator delete(void*)@GLIBCXX_3.4'
/usr/lib/gcc/i686-pc-linux-gnu/4.2.0/../../../libGLU.so: undefined reference tovtable for cxxabiv1::vmiclasstypeinfo@CXXABI1.3'
그러나 사실 위의 짐작은 틀린 것이었는데, ld.so.cache를 지우고 새로 생성해도 libstdc++를 찾을 수가 없다고 한다. ldd로 libGLU.so 를 찍어보면
linux-gate.so.1 => (0xffffe000) libGL.so.1 => //usr//lib/opengl/nvidia/lib/libGL.so.1 (0xb7ddb000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.2.0/libstdc++.so.6 (0xb7cf5000) 이하 생략.
이렇게 제대로 나왔으니까.
ld하는 과정을 strace로 찍어봤더니,
[pid 1241] open("/usr/i486-pc-linux-gnu/lib/libGL.so.1", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
[pid 1241] open("/usr/lib/gcc/i486-pc-linux-gnu/4.1.1/libGL.so.1", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
이런게 보인다. 대체 i486은 어디 들어간걸까?
참고로 ld.so.conf에는
/usr/lib
/usr/local/lib
/usr/lib/gcc/i686-pc-linux-gnu/4.2.2/
정도가 들어있지 저런내용은 전혀 없다.
env-update ; etc-update
도 해보고, gcc, binutils, 심지어는 첫번째에서 얘기한 glibc까지 다시 emerge해봤지만 결과는 마찬가지.
/usr/etc/ld.so.conf 의 존재였다. 실수로 stage파일을 /usr 에다 풀어서 쓰레기가 있었는데, 이걸 ld가 무식하게 불러온것. 정말 신기하지 않은가?
좀 허무했지만 아무튼 밝혀졌으니 다행
Posted by 미스란디르
idtail은 가입이 잘 되고, revu는 사이트 로그인은 되는데 이벤트 로그인만 안된다. pumpit도 가입 잘 된다.
lifepod만 수정해주면 될 것 같다.
새벽에 홧김에 글 썼다가 다시 확인해보고 민망해졌다.
불만부터 터뜨린점 정중히 사과드린다.
PS. 설마 그 사이에 고쳐진걸까?
http://openid.daum.net/event/ 에서 오픈아이디 확산을 위한 이벤트를 한다.
오픈아이디로 로그인 해보고, 여기저기 구경도 하고 도장을 모아서 경품을 추첨해서 준단다.
물론 경품에 혹해서 (...) 여기저기 로그인을 해보는데, 글쎄 로그인이 안된다. Lifepod 사이트에선 아이디를 잘못 넣었다고, 가입한아이디.myid.net 으로 로긴하라는 소리까지 들었다. 지금 장난하나? openid라고 해놓고 특정 서비스 프로바이더에 종속되는 서비스를 하고 있는 것 아닌가.
오픈아이디를 널리 쓰는걸 물론 나도 바란다. 비밀번호 여기저기 뿌리지 않아도 되니 얼마나 좋은가. 그런데 컨슈머 사이트에서 이렇게 무개념으로 처리하고 있으니 화가 안날 수 없다. 이벤트에 참가한 컨슈머 사이트 8개중에서 로그인을 할 수 있었던건 오픈마루 서비스 3개 (스프링노트, 롤링리스트, 레몬펜)와 미투데이 그리고 위자드닷컴. 나머지 4개는 tisphie.net으로 로긴을 할 수가 없었다. 혹시나 해서 http://tisphie.net/typo 으로 전부 써봤지만 안되는건 마찬가지다.
혹시라도 내가 delegate를 잘못했다면 사과하겠다. 하지만 다른 서비스들에서 잘 쓰고 있었으니 그럴 확률은 별로 없겠지. 이 글을 이벤트에 참가한 idtail / lifepod / revu 담당자가 봤으면 좋겠다.
Posted by 미스란디르
사실 markdown 전용은 아닌 것 같지만 어쨌든.
Ruby:
class Hello
def hoho # define hoho
end
end
=begin
전혀 의미 없는 코드 조각들
=end
puts "Hello World"
while l = gets
puts "merong: #{l}" if l =~ /Yeah/
end
코드는 별 의미 없는거지만 어쨌든.