F/OSS에 덴 적이 있다면?
글쓴이: 권순선 / 작성시간: 화, 2005/07/26 - 10:21오전
저는 bdb에 대해서 상당히 안좋은 기억이 많습니다. 그래서 웬만하면 bdb는 믿지 않지요. 예전에 한번 kldp.net에서 slapd가 bdb 인터페이스를 사용하도록 설정되어 있을 때 서버가 폭주 현상을 일으켜서 해결하는데 한참 고생을 했고, 바로 어제까지는 KLDP Wiki가 갑자기 접속이 잘 안되는 현상 때문에 아파치를 1.3.x로 다운그레이드하고 며칠동안 로그를 뒤지는 등의 삽질(?)을 하다가 결국 KLDP Wiki에서 bdb 인터페이스를 사용해서 페이지 조회수를 기록하는 부분 때문에 문제가 생겼다는 것을 알게 되어 허탈해한 적도 있고, 그외에도 정확히 기억은 나지 않지만 bdb 때문에 애를 먹은 적이 몇 번 있습니다.
여러분의 경우 사용하다 말썽을 부려서 애를 먹인 F/OSS가 있다면 어떤 것이 있습니까? F/OSS에 덴 경험을 나누어 보는 것도 좋은 정보가 될 것 같습니다. :-)
댓글
버클리 DB 버전 몇을 쓰셨습니까?
버클리 DB 버전 몇을 쓰셨습니까?
you must know the power of dark side.
subversion 1.0 정도에서도 BDB가 기본 백엔드였는데, 당시에
subversion 1.0 정도에서도 BDB가 기본 백엔드였는데, 당시에 퍼미션 설정을 잘못한다던가 하면 DB가 자주 깨졌습니다. 이런 문제 때문에 최근 버전에서는 다른걸로 바뀌었더군요. 물론 제가 설정상의 실수를 하기는 했었습니다만 (umask를 잘못 설정했었음) 커밋을 할 때마다 db가 깨져버려서 몇일동안 고민을 좀 했었더랬죠.
저는 PHP에 대한 안좋은 추억이 있습니다.1. php 4.0.x
저는 PHP에 대한 안좋은 추억이 있습니다.
1. php 4.0.xpl1이 나왔을때 솔라리스8 스팍에서 컴파일이 안되서 6시간동안 configure와 사투한적이 있습니다. 결국 포기하고 pl1이 없는 버전으로 다운그레이드 했더니 단번에 되더군요.
2. php는 버전에 따라 문법과 환경이 조금씩 다릅니다. 마이너 버전이 바뀌면서 문법까지 바뀌는 언어는 처음 봅니다. 4.0과 4.1, 4.2, 4.3의 겉은 같을지 몰라도 내부 모습은 상당히 다릅니다. (그중 전역변수 네이밍이 이리저리 가장 많이 바뀌었죠.) 버전따라 몇번 뜯어고치다 앞으로 또 어떻게 바뀔지 예상불가하다는 결론을 내리고 포기했습니다. (PHP를 버리고 자바로 옮기게 된 계기기도 합니다.)
3. 가장 최근의 일이라면, 잠재적으로 심각한 문제가 있다고 무조건 4.3.10 이상으로 업하라고 한적이 있었죠. 당시 한창 php버그를 이용한 홈페이지 해킹이 이루어질 때였습니다. 4.3.2에서 잘 쓰고 있었는데 해킹 때문에 4.3.10으로 업그레이드 하려니까 zend_strtod.c에서 죽어도 컴파일이 안되더군요. (솔라리스8 x86, gcc) 수시간을 낭비하고 결국 CVS에서 받아보니 CVS 소스는 해당 문제가 수정되어 있더군요. 공식 패키지를 받아 삽질한 시간은 뭔지.. 어째튼 컴파일해서 올렸더니 이번엔 php.ini의 위치가 다른데로 바뀌어 있어서 당황했습니다. 이렇게 함부로 바꿔도 되나 싶더군요.
PHP 코어 개발자들은 제대로 테스트를 안하고 릴리즈하는것 같습니다. 뭔가 바꾸면서 그것이 어떤 영향을 끼치는지에 대해서도 깊이 생각하지 않는것 같습니다. (그래서 자바는 deprecated가 도입되었지요.) 저는 오픈소스의 신뢰를 가장 많이 깍는 주범으로 PHP를 꼽겠습니다.
오픈소스는 빠른 업데이트가 생명이다는 말도 있지만, 잘 돌아가는거 굳이 건들지 않는게 좋다는 엔지니어의 불문율도 있습니다. PHP처럼 건들때마다 시간낭비하게 만들고 뭔가 바뀌어 있고 이러면 엔지니어 입장에서 안좋게 느껴집니다.
예전에도 관련해서 글을 쓴 적이 있지만...전 오픈오피스에 대한
예전에도 관련해서 글을 쓴 적이 있지만...
전 오픈오피스에 대한 뼈아픈 추억이 있지요..
오픈오피스가 처음 공개될 때가 제가 중학교 였는데,
도덕 숙제중에 프리젠테이션을 만들어야하는게 있었습니다.
그때 한참 리눅스에 열을 올리던 중이여서 오픈오피스를 사용해서
숙제를 했죠. 무려 4시간이나 공들여서요...
그.런.데... 숙제 제출후... 쌤이 면담을 요청하더군요.
출석부로 제 머리를 한때 때리면서
"너 지금 반항하는거야?!! 온통 물음표로 도배한걸 숙제라고 내다니!!"
저는 순간 당황해서 말을 못하다가 쌤한테 제가 한걸 보여 달라고 했죠..
확인결과... 한글이 전부 ???으로 나왔더군요... 온통 ???천지...ㅡㅡa
덕분에 숙제 점수 0점 되고 찍혀서 일년내내 맞았지요~
-----------------------------------------------
Think Different~!
[quote="kururu"]저는 PHP에 대한 안좋은 추억이 있습니다.
할 줄 아는건 PHP밖에 없는 입장에서, kururu님의 PHP에 관한 불만을 듣고서 무작정 반항심(?)이 생겼습니다. 뭐라고 반박을 하려고 해도 왠지 맞는 말씀만 하셔서 할 말이 없더군요.
에라 모르겠다 하고 하던 일 계속 하던 중에 생각해보니 2번에서 지적하신 전역변수 네이밍이 계속 바뀐다, 는 부분과 관련해서 어제 아주 크게 당했던게 떠올랐습니다. (왠지 부끄러워서 어떻게 당했는지는 안밝히렵니다. -_-)
당연하다고 생각한 스크립트가 어디선 돌아가고 어디선 제대로 돌아가지 않는다는건 좀 문제긴 합니다.
그래도 PHP가 배우기 쉽고 빠르게 개발이 가능하며, 널리 사용되기 때문에 문제해결이 쉽다는 점은 PHP가 가지고 있으며 kururu님이 언급한 단점을 충분히 상쇄할 수 있(지않을까 하고)다고 생각합니다.
--->
데비안 & 우분투로 대동단결!
[quote="kururu"]그중 전역변수 네이밍이 이리저리 가장 많이
HTTP_GET_VARS -> _GETS 식의 변환은 사실 한 번에 이루어지고
예전 방식에 대한 지원을 끊은 건 아닙니다...
나름대로 바꾸길 권고하며... 예전방식에 대한 호환성은 남겨뒀었거든요...
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
php의 전역변수의 변화_SESSION_COOKIE_GET
php의 전역변수의 변화
_SESSION
_COOKIE
_GET
_POST
등을 말하는 것인가요?
저는 PHP 개발자들을 비하하거나 폄하하지 않습니다. 오해없으시길..
저는 PHP 개발자들을 비하하거나 폄하하지 않습니다. 오해없으시길..
저도 PHP를 사용할때가 있거든요. PHP로 밥먹고 사는건 아닙니다만.. 지금도 여전히 취미삼아 PHP 4.3과 제로보드, 태터툴즈 등을 커스마이징하면서 지내고 있습니다. 최근엔 자유게시판에 권순선님께서 요청한 rss.php도 좀 손대봤네요.
PHP와의 인연은 PHP/FI(2) 시절부터지만 PHP 5는 더이상 공부하지 않으려 합니다. 개인적으로 앞으로 PHP를 쓸일이 없을것 같아서요. 언어가 변화하는것처럼 개발자들도 때때로 언어를 바꾸곤 하지요. C로 한 100줄짜리 끄적끄적 하면서 놀다가 Perl로 CGI를 짜다가 PHP로 옮겨온 것처럼, 리눅스를 쓰다가 솔라리스로 옮긴 것처럼(요즘엔 HP-UX로 옮겨서 HP욕하느라 바쁩니다 ^^; ) 취미를 바꿀 뿐입니다.
PHP 코어 개발진들에게는 불만이 좀 있는건 사실입니다.
잘 써오던게 버전업 하면서부터 어딘가 이상해지기 시작하는데 History를 뒤져보니 달랑 한문장으로 요약되어 있고 메일링 리스트까지 뒤져야 그 파급효과에 대한 답이 나오면.. 좀 피곤하죠. (보통 이런 문제는 매뉴얼에 반영되기 전에 발생하죠) 누군가에겐 심각한 영향을 줄 수도 있는게 별다른 언급없이 바뀌어 있으면 영향받는 사람은 누구라도 불만을 가질겁니다.
F/OSS를 취미로 하고 있기 때문에(그래서 적극적이지 못한면도 있는 것
F/OSS를 취미로 하고 있기 때문에(그래서 적극적이지 못한면도 있는 것 같네요. :))
큰 낭패를 본기억이 거의 없습니다.
위에서 이야기나온 PHP도 어차피 문법을 잘아는 것도 아니고 실무에는 적용하고는
있지만 변화에 관심이 없어서 업그레이드도 잘안하고 있죠. :twisted:
다른건 다 상관없는데 각 배포판별 설정파일 때문에 당황한 적은 많았습니다.
초기에는 아무것도 모르는 상태였기 때문에 설정파일이 무언지도 모르고 어떻게
수정하는지도 몰랐기 때문에 그냥 디폴트로 설치되는 그대로 사용했었죠.
그러다가 LINUX가 어느정도 체계가 잡히면서부터 상당한 고생을 했었죠.
지금이야 대부분의 설정파일이 /etc에 여기저기 비집고 들어가 있지만 몇년전만해도
이런 체계가 있음에도 불구하고 X의 설정은 /usr/X11R6/... 에 들어가있고 /usr/share에
들어가 있는 놈도있고...
그래서 새로운 APP를 설치할 때마다 해당 설정파일 찾는 고생도 많이 했었죠.
그럼에도 불구하고 LINUX를 가지고 노는 이유는 아직도 MS-Windows를 사용하는
이유와 똑같다고 생각합니다. 즉, 손에 익을대로 익어서 다른 것은 귀찮다는 정도라고
할까요?
글을 쓰다보니 문득 Network 프로그램 작성하다가 겪은 일이 하나기억나네요.
뭐 F/OSS만의 문제는 아니고 대부분의 OS에서 동일한 현상이기 때문에 쓸까말까
생각도 들지만 말을 꺼낸김에 써보죠. :)
Network 프로그램을 작성하고 디버깅을 위해 printf를 넣으면 server나 client나
원하는 대로 정보를 주고 받습니다. 문제가 없어서 printf를 빼고 실무에 적용하면
이상하게 데이터가 전송되지 않는 문제가 발생하더군요.
그렇다고 실무에 적용하는 코드에 printf를 넣을 수도 없고...
그때 문뜩 생각난 것이 fflush ()함수였죠. 어차피 printf 함수도 버퍼의 값을 바로
화면에 뿌리는 루틴이고 fflush()함수도 해당 파일스트림의 버퍼값을 비우는 역할을
하는 것이라는 생각에 fflush (stdout)을 전송후에 넣어주었죠.
흐흐~ 그랬더니 정상적으로 동작을 하더군요. 이후에는 LINUX, UNIX, MS-Windows
공히 Network프로그램 코드의 send(or write) 함수다음에는 fflush를 장착하게
되었다는 전설이 있었죠. :D
------------------------------
좋은 하루 되세요.
이런 어이없는 경우는 F/OSS만의 점유물은 아닙니다.전에 Wat
이런 어이없는 경우는 F/OSS만의 점유물은 아닙니다.
전에 Watcom-c 같은 경우는 컴파일러 자체에 버그가 있기도 했고,
M$도 이런 경우로 물먹일 때도 있습니다.
MS SOAP SDK 3.0에서 Basic Authorization등에도 버그가 있었고,
3~4일 삽질한 적 있지요.
많이 사용하는 라이브러리라면, 해결책이라도 올라오지만,
그글링을 해봐도, 똑같은 고민을 하는 사람들은 많은데,
솔루션이 안나오더군요.
(단순히 윈2K 한글 인코딩관련 문제라고 추측할 뿐입니다.
이때는 정말 M$에 불지를까 생각마저 했습니다.)
얼마전에 Oracle디비에서도 오동작이 발생했는데,
이 경우도 해결 불능이었습니다.
결국, 편법으로 극복했죠.
모든 소프트웨어가 잠재적인 오동작에 노출되어 있지요.
결국 Experimental한 활용이 많은 신기술을 다루는 분야일수록,
상용이던, F/OSS이던 이런 어이없는 삽질에서 자유로울 수 없다는 겁니다.
그래도, 그 나마 다행인 것은 F/OSS는
장님 코끼리 만지듯이 소스보면서 어떻해든 해결할 가능성은 있다는 점이지요.
상용같은 경우 벤더에서 쌩까면 그냥 좌절입니다.
There is no spoon. Neo from the Matrix 1999.
저는 버클리 DB 땜에 .. bdb 믿고 돌아가던 웹게시판이 버전 달라지
저는 버클리 DB 땜에 .. bdb 믿고 돌아가던 웹게시판이 버전 달라지면서 ... 못 읽는 일이 일어나서 한번 난리 친 경험이 있군요.
결국 db 파일을 그대로 텍스트 에디터에서 읽어서 하나 하나씩 mysql 에다가 넣어줬었던 기억이 있습니다.
거의 7,8 년 전의 얘기지요.
---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도
즐겁게 놀아보자.
음...
이건 F/OSS잘못은 아니고 저나 조교의 잘못인데요...ㅡㅡa
예전에 한동안 숙제는 LaTex으로 해서 ps/pdf로 내고...
숙제는 F/oss compiler/interpreter로 해서 낸적이 있었습니다.
상용은 포트리스 돌리기 위한 윈도우가 유일했었는데요...
당시 모 과목 숙제를 하는데...윈도실행파일을 요구했습니다.
그래서 작업은 리눅스에서 하고 윈도에서 cygwin에서 빌드해서
숙제 제출을 했었죠...
근데 난중에 숙제 점수를 보니 형편없는거예요.
분명히 완벽하게 냈는데...조교를 찾아갔더니...좀 불성실 조교라 잘 모르겠다나요...자리가 어쩌고 저쩌고 그러면서 확인도 힘들다고 하고... 하여간 불성실한 포스가 느껴졌었습니다.
다행히 영향이 미미해서 학점이 바뀌지는 않았었는데...
1달인가 지나서였죠...
전산실에서 제 숙제를 실행해보니.
cygwin DLL이 없다면서 실행이 안 되더군요...ㅡㅡa
당시 제 모든 컴터에 cygwin이 설치되있었던지라...
생각도 못 했는데...
어쨋든 글타고 점수 개판으로 준 조교도 무책임하다는 생각이...
하다 못 해 게시판에 찾아오라고 글이 라도 하나 적어주던지...치
There is more than one way to do it...
Evolution 때문에...
페도라 2를 막 사용하기 시작할 때였는데요....
교수님께 상담차 이메일을 보내드렸는데, 다음날 직접 뵈러 가니 "편지 안 왔던데?" 이러시더군요 -0-)
오잉?
여튼 면담을 하고 집에 와서 왜 이런지 곰곰히 생각해 봤습니다. ( - -) 아는게 없으니 생각해볼것도 없겠지만...
그래서 해본게 에볼루션으로 메일을 써서 다른 메일 계정(제껄로)으로 보낸거였어요...
보내보니 왜 교수님께서 못 보셨는지 알겠더군요...
메일 보낸 계정으로 로그인해서 보니....메일 제목이....(뚫훓뚫훓...) 이런식으로 부서져 있더군요 ( - -);;;;;;;;;;
화들짝 놀라서 새로운 버젼 나오기 전까진 윈도로 부팅해서 아웃룩을 썼다지요,,,
-_ㅜ
잇힝~
작년쯤이었던걸로 기억이 나는데 redhat계열 OS를 쓰고 있었는데...
작년쯤이었던걸로 기억이 나는데 redhat계열 OS를 쓰고 있었는데...
잘동작하던 named가 아무 이유없이 죽어 버리는 문제 때문에 몇일을
고생했던 기억이 나네요.. 그래도 믿을 만한 패키징이라서리..
패키징 자체에 대한 의심은 하지 않았는데.. 최근 버전으로 설치하여
문제를 해결했었죠..
개발자들의 궁극적 비전은 ?
[quote="kururu"]PHP 코어 개발진들에게는 불만이 좀 있
이건 동감입니다. 게다가 언제나 새 버전이 나오면 strongly recommanded 라서... php5.x로 많이 넘어가지 않는 이유도 여기에 있는것 같고요.
php의 경우에 db abstract layer로 PEAR::DB라는걸 많이 씁니다. 그런데 이것하고 기능이 상당부분 겹치는 PEAR::MDB/MDB2도 많이 쓰고요.. 그런데 이번에 5.1beta3가 나오면서 PDO라는 추상화계층을 아얘 기본으로 포함시켜버렸습니다. DB/MDB와 PDO의 기능에 차이가 좀 있기는 하지만 사실 PEAR패키지 개발자와 PDO개발자 사이에서도 좀 썰렁한 기류가 있는것도 사실이고...
어떤건 다운받아보면 PEAR::DB 를 썼는데 어떤건 그냥 native함수로 되있고.. 어떤건 MDB이고 이제 여기에 공식적으로 지원하는 PDO가 가세했으니 어수선한건 사실입니다. 5.x 이후로는 큰 변화가 없었으면 하는 바램입니다.
http://www.oracle.com/technology/global/
http://www.oracle.com/technology/global/kr/pub/articles/php_experts/rasmus_php.html
php 개발에 관한 개발자 이야기인데, 재미있네요.
관련글 : http://www.oracle.com/technology/global/kr/pub/articles/php_experts/index.html
사용자가 바꾸어 나가자!!
= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com
사실 역동적으로 변동하는 언어나 라이브러리를 접할 때, 팁이 Faca
사실 역동적으로 변동하는 언어나 라이브러리를 접할 때,
팁이 Facade Class 즉 Wrapper죠...
M$ ado 조차, M$가이드를 보면, Wrapper만들어 사용하도록
권장하고 있습니다.
유지 보수 계약을 했다면,
이 정도 투자는 향후를 위한 보험정도로 여기시고...
There is no spoon. Neo from the Matrix 1999.
댓글 달기