분류가 모호한 글2009. 5. 13. 01:27
사람마다 다르겠지만, 나의 경우에 있어 가장 어려운 것은 아마도

버릴지, 가질지, 혹은 언제 버릴지?

라는 것이다.
지금 작성하던 부분을 계속 잡고 늘어 져서 끝까지 고칠 것인지,
아니면 그것을 버리고 새로 작성할 것인지,
그리고 그것을 어떻게 재사용을 할 것인지, 이러한 부분들이 가장 어렵고 힘들다.

간단하게 대답하자면, 결국은 선택의 문제이지만,
글쎄.. 잡고 있었던 시간 만큼 쉽게 놓지 못하는건 미련에 아쉬움이고
이를 떨쳐내고 더욱 빠르게 원하는 시간내에 새로 만들수 있음에도 불구하고
그 아쉬움에 묶여 있는 것은, '무'로 돌릴 용기가 없기 때문이다.


물론 '무'는 아무것도 없는 것이 아니다.
그 문제를 해결하려 하면서 습득한 정보들로 인해서 아주 조금이라도 늘었으니 말이다.

그래도 그러한 무형의 증가보다
눈에 보이는 코드의 길이가 0으로 된다는 것은 쉽지 않은 결정이다.






나의 개발 방법은 다음과 같다.

1. 최소한의 입력과 출력을 정한다.
   - 함수는 black box로 입력과 출력을 가지고, 내부 작동은 타인이 모르도록 한다
   - 객체지향개념으로 봐도 무관하려나?

2. 사용가능한 이미 제작된 함수가 있는지 살펴보라
   - 내가 만드는게 빠르다고 생각될지 몰라도,
     디버깅에 필요한 시간을 따지면 이미 작성된 안정된 소스를 사용하는것이 유리하다
   - 그렇다고 그 함수가 너무 복잡하다면 차라리 자체 제작을 해서 최적화 시키는것이 낫다.

3. 원본 데이터는 되도록이면 손상시키지 않는다.
   - 요즘 시스템은 거의 대부분 메모리가 남아 돈다. 굳이 메모리를 아끼기 위해 cpu를 쓸필요는 없다.
   - 원본 데이터는 말그대로 원본이므로 원본을 유지해준다. 함수에서는 내부적으로 사본을 만들어 조작한다.

4. 함수가 커지면 함수를 조각내서 그것을 감싸는 함수를 만든다.
   - refactoring이라고 하던가?
   - 단일 기능을 가지는 함수들을 조합해서 더욱 큰 기능을 구현해 낼수 있고 이는 유닉스의 'simple is beautiful' 철학이다.

5. 주석을 남긴다. 하지만 그렇다고 남발하지 말 것.
   - 주석이 있으면 나중에 보기는 편하지만, 솔찍히 주석으로 보는것 보다는 너무 복잡하지 않다면 코드가 더 이해가 잘된다.
   - 주석을 위한 주석보다는 정말 이해하기 힘든부분에만 주석을 남긴다.
   - 주석을 남길정도가 된다면 함수로 분리를 한다. 함수 이름을 기능으로 나타내는게 더 알아 보기 쉽고 재사용에 유리하다

6. 주석을 남기고 싶다면 차라리 별도 문서로 작성하라.
   - 주석을 남겨야 할 정도로 복잡하다면 이미 주석으로 남기기에는 2% 부족하다.
   - 이러한 부분은 차라리 독립된 문서로 ppt나 doc 혹은 pdf로 별도 문서로 작성한다. (다음 사람을 위해)

'분류가 모호한 글' 카테고리의 다른 글

tarball  (0) 2009.07.30
cal / J(줄) 환산  (0) 2009.05.28
탈리도마증후근과 돼지독감  (0) 2009.04.29
확장자 sgm  (2) 2009.04.03
mp3 ID3 tag  (0) 2009.04.02
Posted by 구차니
프로그램 사용/nfs2009. 5. 12. 20:33
setenv bootargs console=ttyAS0,115200 root=/dev/nfs nwhwconf=device:eth0,hwaddr:00:00:00:00:00:00 nfsroot=192.168.10.10:/home/user,tcp ip=192.168.10.100::192.168.10.1:255.255.255.0:hostname::off bigphysarea=2000 systemid=01000000

u-boot에서 리눅스 커널로 bootargs를 넘겨주어 nfs를 연결할 경우, 기본값이면 UDP로 연결되게 된다.

mount로 확인해보면
# mount
rootfs on / type rootfs (rw)
/dev/root on / type nfs (rw,noatime,vers=2,rsize=4096,wsize=4096,hard,nolock,proto=tcp,timeo=600,retrans=2,addr=192.168.10.10)
proc on /proc type proc (rw)
/dev/sda1 on /root/sda1 type vfat (rw,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
로 udp가 아닌 tcp로 붙은것을 알 수 있다.

자세한건 확인해 봐야겠지만, nfs ver=2 라서 udp 인지는 모르겠다.
Posted by 구차니
해외 무역을 하는 회사(그러니까 만들어서 국내에 파는게 아니라 해외에 판다)이다 보니..
가끔 방심을 하고 정신줄 놓고 있다가 전화를 받으면(나 개발자인데 -ㅁ-!)


Hello~




oops!

순식간에 내 머리속에는 블루 스크린이 떠버린다 -ㅁ-!
그래도 오늘은 간만에 알아 들을 수 있는 산뜻한 목소리군.. OTL

가끔.. 가끔.. 정말 대입 모의고사 영어 듣기 평가 1000만배 정도로 듣기 어려운 전화는..
sorry 하고 끊어 주는 센스 -ㅁ-!

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

출근일기 - 20090520  (5) 2009.05.20
직장일기 - 20090519  (2) 2009.05.19
panic  (4) 2009.05.12
직장일기 - 20090507 - 간만에 정전 좀 시켰다!  (4) 2009.05.07
출근일기 - 20090430  (2) 2009.04.30
Posted by 구차니
Linux2009. 5. 12. 14:10
7.6 Relative item in date strings

Relative items adjust a date (or the current date if none) forward or backward. The effects of relative items accumulate. Here are some examples:

1 year
1 year ago
3 years
2 days

The unit of time displacement may be selected by the string `year' or `month' for moving by whole years or months. These are fuzzy units, as years and months are not all of equal duration. More precise units are `fortnight' which is worth 14 days, `week' worth 7 days, `day' worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60 seconds, and `second' or `sec' worth one second. An `s' suffix on these units is accepted and ignored.

The unit of time may be preceded by a multiplier, given as an optionally signed number. Unsigned numbers are taken as positively signed. No number at all implies 1 for a multiplier. Following a relative item by the string `ago' is equivalent to preceding the unit by a multiplier with value -1.

The string `tomorrow' is worth one day in the future (equivalent to `day'), the string `yesterday' is worth one day in the past (equivalent to `day ago').

The strings `now' or `today' are relative items corresponding to zero-valued time displacement, these strings come from the fact a zero-valued time displacement represents the current time when not otherwise change by previous items. They may be used to stress other items, like in `12:00 today'. The string `this' also has the meaning of a zero-valued time displacement, but is preferred in date strings like `this thursday'.

[링크 :  http://sunsite.ualberta.ca/Documentation/Gnu/tar-1.13/html_chapter/tar_7.html#SEC111]

date --date=now
date --date=today # same thing
date --date='3 seconds'
date --date='3 seconds ago'
date --date='4 hours'
date --date='tomorrow'
date --date='1 day'
date --date='1 days'
date --date='yesterday'
date --date='1 day ago'
date --date='1 days ago'
date --date='1 week'
date --date='1 fortnight'
date --date='1 month'
date --date='1 year'

[링크 : http://www.linuxforums.org/forum/linux-programming-scripting/111764-yesterdays-date-linux.html]
Posted by 구차니
오늘 출근해서 로그인하자마자 아부지의 메신저 띠링띠링
지금 다니는 회사는 앞으로 잘될꺼 같지 않은 분야니까
여기를 보라면서 링크 하나 던져주셨다.



결국 아버지의 손아귀를 벗어 날 수 없는걸까?
그걸 벗어나기 위해 군대까지 갔다 왔는데...
Posted by 구차니
Recommended Repository Layout
While Subversion's flexibility allows you to lay out your repository in any way that you choose, we recommend that you create a trunk directory to hold the “main line” of development, a branches directory to contain branch copies,
and a tags directory to contain tag copies. For example:

$ svn list file:///var/svn/repos
/trunk
/branches
/tags

You'll learn more about tags and branches in Chapter 4, Branching and Merging. For details and how to set up multiple projects, see the section called “Repository Layout” and the section called “Planning Your Repository Organization” to read more about project roots.

[출처 : svnbook.red-bean.com/nightly/en/svn-book.pdf]

cvs2svn으로 변환해보니 저러한 구조가 나왔는데, 아무생각없이 저 391장에 이르는 문서를 대충 넘기다 보니
정말 아무생각없이 넘어간 듯 하다.(38페이지)



브랜치쪽 역시.. 그냥 그림만 봤지 자세한 내용을 안봤더니..(106페이지)

'프로그램 사용 > Version Control' 카테고리의 다른 글

SVN의 장점  (0) 2009.09.19
svn tagging/branching  (0) 2009.08.20
SVN과 CVS 저장소 용량비교(compare Repository Size of CVS & SVN)  (0) 2009.05.11
cvs2svn 사용방법  (0) 2009.05.10
SVN의 단점  (0) 2009.05.08
Posted by 구차니
개소리 왈왈2009. 5. 11. 18:03
집나오면 개고생(K모 회사 광고 참조) 이긴 하지만,
페도라 쓰다가(Redhat 계열) 우분투(Debian 계열)로 옮기고 나서 든 생각은 하나



분투 쓰려고 참 고군분투한다.





솔찍히 apt-get의 막강함은... 일반 사용자가 더더욱 편할꺼 같은데 왜 내가 지금까지
Redhat 계열을 고집해왔을까 라는 후회도 초큼 든다.

Posted by 구차니
프로그램 사용/busybox2009. 5. 11. 13:04
# ftp
ftp: ftp/tcp: unknown service

검색을 해보니 root로는 잘되는데 일반유저로는 안된다는 문제도 있고
-> /etc/services 의 퍼미션 문제
[링크 : 워낙 자주 나오니 생략]

services에 제대로 등록이 안되서 그렇다는 문제도 있고
-> /etc/services에
ftp-data         20/tcp
ftp              21/tcp
만 등록되어 있는 문제
[링크 : https://www.linuxquestions.org/questions/linux-software-2/ftptcpunknown-services-368671/]

그리고 내가 원했던 대답은
libncurse.so 뿐만 아니라 libnss_files.so 도 필요 하다는 것이었다.
[링크 : http://lists.busybox.net/pipermail/busybox/2004-August/012250.html]


일단 busybox에서 구동을 하다 보면, 용량을 위해서 사용하지 않는 각종 라이브러리들을 삭제하게 되는데
그로 인해서, nss관련 라이브러리가 삭제 되어 있었나보다.

문제는, ftp 프로그램이 ncurse가 없을때는 에러가 나더니
nss가 없을때는 nss 라이브러리 부족이라고 에러가 안나고 뜬금없는 unknown service라는 에러를 발생한다.
Posted by 구차니
SVN은 바이너리 타입으로 데이터를 저장한다.
그리고 데이터는 zlib를 사용하여 압축하기 때문에 텍스트의 경우 상당한 공간 절약 효과가 있다 (CVS 대비)

테스트 삼아 CVS -> SVN 변환하면서 어느정도 용량의 차이가 있을까 궁금해서 캡쳐를 해보았다.


보시다시피, SVN은 CVS를 변환한 것임에도 불구하고 거의 1/4 크기 정도 밖에 되지 않는다. (25% 크기로 압축됨)

[참고 : http://stackoverflow.com/questions/458182/does-svn-compress-the-binary-content]


'프로그램 사용 > Version Control' 카테고리의 다른 글

svn tagging/branching  (0) 2009.08.20
SVN repository 구조  (0) 2009.05.11
cvs2svn 사용방법  (0) 2009.05.10
SVN의 단점  (0) 2009.05.08
svn 저장소의 위치  (0) 2009.05.08
Posted by 구차니
개소리 왈왈2009. 5. 10. 11:00
카페, 지식인, 블로그 홍보 작업시간을 5분의 1 이하로 줄일 수 있는 툴 소개합니다.

* 지식인

1. 질문 자동수집
2. 수집한 질문에 대한 자동답변
2. 내 답변글 자동추천

* 블로그

1. 블로그 통합관리
2. 뉴스 및 자사(카페) 홍보포스트 자동등록
3. 블로그 인리칭

400자 제한으로 다 소개를 못하는 점 양해바랍니다.

번창하시길 기원합니다.

라는 내용의 쪽지가 도착했다.

메인 프로그램 기능은 다음과 같습니다.

1. 포털 아이디 통합관리(자동로그인, 내공, 정지여부등)
2. 네이버 지식인, 다음 신지식 가져오기 및 자동 등록
3. 지식인 답변글 자동추천
4. 네이버, 다음 블로그 통합관리 및 포스트 자동등록

메인 프로그램 사용 비용은 월 15만원입니다.
위의 기능을 전부 사용하실 수 있습니다.

그 밖의 기능이 필요하신 경우, 어떤 기능이 필요하신 지 문의 주시면 견적내어드립니다.

맛보기프로그램 체험하기는 우측의 "바로가기"를 클릭하세요. ☞ 바로가기

지식인, 블로그 광고에 대해 노하우가 별로 없으신 경우 본 카페에 대행을 맡겨 보시는 것도 적극 추천합니다.
지식인, 블로그 뿐만 아니라 컨설팅까지 같이 해드립니다.
비용은 월 39만원입니다.

업종에 따라 대행비용은 바뀔 수 있습니다.
등록한 컨텐츠에 대해 네티즌선택, 상위등록 작업을 합니다.
또한 올린 글에 대해서 url을 당일로 보내드립니다.

홍보대행에 대한 자세한 안내와 실사례는, 아래의 "홍보대행 사례"를 클릭하시기 바랍니다.
홍보대행 사례

맛보기 프로그램 체험, 홍보대행 사례를 꼭 먼저 보시기 바라며, 추가 문의는 메신저나 메일을 이용해 주십시요.

문의에 감사드리며 번창하시길 기원합니다.




홈페이지는 이런 내용이다.
물론 광고의 시대이고, 네이년 지식즐이 상당한 힘을 지닌 상황에서 충분히 예상 가능한 서비스이긴 하지만
어떻게 보면 좋지도 않은 것을 가지고 돈을 번다는 느낌에 거부감이 드는건 나뿐일까..



그러니까.. 결론만 말하자면... 스팸페이지?

사족 : 신고를 누질러야 하나 말아야 하나 ㄱ-
Posted by 구차니