CFLAGS : C 컴파일러 플래그
CPPFLAGS : 전처리 플래그 (-I 와 -D 옵션)
CXXFLAGS : C++ 컴파일러 플래그
LDFLAGS : 링커 플래그
LIBADD : 추가적인 링크 오브젝트 (-l 과 -L)

흔히 하는 실수
  • CFLAGS에 헤더파일의 경로를 지정하는 "-I" 옵션이나 매크로 변수를 지정하는 "-D" 옵션을 사용. 이 경우 C++ 소스 파일이 컴파일 되지 않는 경우가 있다. CPPFLAGS를 사용하다록 한다.
  • CPPFLAGS는 C++ 컴파일러의 플래그가 아니다. C 파일에 영향을 줄 수 있다. C++ 컴파일러의 플래그는 CXXFLAGS 이다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
TAG makefile

성공한 제품(또는 서비스)은 창의적인 제품이 나올 수 있는 토대(생태계)를 마련하고 참신한 아이디어로 시장을 개척하는 회사를 육성하고 발굴 하는 시스템을 마련하면 자연스럽게 나타났다. 지금 미국의 유명한 컴퓨터 메이저 업체들, 예를들어, Apple, HP, Google 등은 허름한 창고에서 참신한 아이디어 하나로 굴지의 세계적인 기업으로 성장했다. 이는 미국 대통령이 "예쁘고 직관적인 컴퓨터를 만들라."라고 명해서 Apple이 탄생한 것이 아니고, 정보통신부장관이 "가장 지능적인 검색 시스템을 말들라"라고 해서 Google이 만들어진 것도 아니다. 이와 같은 성공은 이들 회사의 벤쳐 정신이 성공할 수 있는 토대 위에서 자연스럽게 나타난 것이다.

그러다면 질문을 하나 해보자.
"스티브잡스가 우리나라에서 태어났다면 과연 "사과"라는 회사가 만들어졌을까?".
내 답변은
"아니오"
이다.

우리나라의 독특한 -글로벌 기업도 아니고 대기업도 아닌-재벌기업의 구조와 이들 기업만을 위한 현 정부의 정책에서는 어림도 없다. 참신한 제품이 나올 수 있는 환경과 반대되는 정책을 펼치면서, 대통령이 "닌텐도 같은 제품을 만들라"해서 그런 제품이 만들어지는 것이 아니다. 설사 정부가 엄청난 투자로 닌텐도와 같은 제품을 만든다고 하더라도, 해당 제품은 단명할 것이고, 성공해도 IT 전반에 큰 부작용을 만들 것이다. 부디 눈에 보이는 성과에 집착하지 말고, 참신한 아이디어로 무장한 젊은 기업인과 개발자들이 성장할 수 있는 토대의 마련에만 힘을 쏟기 바란다. 그러면 머리 좋은 우리나라의 인재들이 닌텐도가 상상할 수 없는 멋진 제품으로 보답할테니 말이다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
이 에러를 만나면, NFS 서버의 iptable을 끄도록 한다. 만약, 이 서비스를 NFS와 같이 사용하길 원한다면 iptable에 적절한 허가 규칙을 추가하면 된다. 그러나 귀찮다. 그냥 끄는게 속편하다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
TAG iptables, NFS
iconv 라는 유틸리티를 사용해서 문자셋을 enc-kr에서 utf-8로 변환할 수 있다.
iconv -c -f euc-kr -t utf-8 test.txt > test-utf8.txt

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
개발팀의 내부에서 테스트 하기 위한 192.168.0.* 망과 외부의 인터넷을 사용하기 위한 192.168.1.* 망으로 구성했습니다. 따라서 개발과 일반 업무를 동시해 수행하기 위해서는 2개의 네트워크 카드를 사용해서 각각 다른 망에 접속해야 합니다. 그런데, 2개를 동시에 사용하면 인터넷에 접속할 수 없었습니다.

해결하는 방법은 인터넷에 물려있는 망과 연결된 네트워크 카드를 기본 게이트웨이 장치로 설정하는 것입니다.

/etc/sysconfig/network 파일에 아래의 내용을 추가합니다.
GATEWAYDEV=eth0
GATEWAY=192.168.1.1

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
첫번째 말하기 실험결과보고는 말더듬을 대하는 나의 자세에 관한 실험이었습니다. 즉, 마음의 작용에 관한 것이지요.

반면에, 1년 만에 진행하는 두번째 실험은 행동을 교정하는 것입니다. 주로 웹캡을 이용해서 말하는 나를 찍고 다시 보기를 하면서 문제점을 찾는 방식으로 진행했습니다. 이 과정을 통해서 부수적인 행동(눈을 깜빡임, 몸을 움찔거림 등), 발음의 부정확함 그리고 호흡의 불규칙을 발견하였습니다. 각각에 대응해서 부수적인 행동을 최대한 자제했고, 한음절 한단어를 또박또박 말했습니다. 마지막으로 의식적으로 말하기와 들숨을 규칙적으로 반복하였습니다.

처음의 한달은 눈에 띄는 발전을 하였습니다. 그 뒤에 한달은 이전의 상태로 되돌아가기도 하고 다시 괜찮아지는 상황이 반복하면서 정체되는 상황이었습니다. 정체되는 이유를 아마도 초심을 잃어버렸기 때문입니다. 처음에는 말더듬을 인정하고 열심히 훈련하였습니만, 나중에는 말이 자연스러워지자 훈련을 게을리 했습니다.

다시 초심으로 돌아가서 지속적인 훈련을 해야겠습니다. 말더듬이 발생해도 시선을 회피하지 않고 있는 그대로 받아드리도록 해야겠습니다. (실제로 눈에 띄게 발생하는 것도 아니니 그리 두려워 할 필요가 없습니다)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
TAG 말더듬
미국의 총기 소유는 다른 사람으로부터 자신을 보호하기 위해서라고 한다. 그런데 보호를 위한 총기는 다른 사람을 공격하기 위한 도구로 더욱 빈번하게 사용된다. 이런 끔찍한 상황에서도, 일부의 사람들은 이런 공격을 방어하기 위해서 총기의 소유의 허가는 더더욱 필요하다고 말한다. 답답하다. 그냥 단순하게 총기를 허가하지 않으면 해결할 수 있지 않을까?

군대의 논리 역시 이와 유사하다. 총에 대응해서 총을 사용해야 한다고 말하듯이, 군대는 다른 나라의 침략으로부터 자국을 보호하기 위해서 필요하다고 말한다.

우선 전쟁의 원인부터 살펴보자. 전쟁의 원인은 대부분 권력자나 가진자가 더 많은 권력과 자본을 가지기 위해서이지 결코 민초들의 요구에 위해서 이루어지지 않았다. 사실 전쟁이 나면 민초들은 삶의 많은 부분이 피해를 입는다. 따라서 전쟁이 없는 상황, 즉 평화는 우리네 보통 사람들에게 더 좋은 것이다.

다음으로 전쟁이 먼저인가? 군대가 먼저인가? 의 물음을 살펴보자. 군대 없이 전쟁이 결코 발생할 수 없기 때문에, 군대가 전쟁에 앞선다. 바꿔서 말하면 군대가 없다는 전쟁도 없다고 말할 수 있다.

민초들은 자신들의 이익과 상관없는 전쟁을 원하지 않는다. 군대가 없다면 전쟁은 일어나지 않는다. 그렇다면 평화를 위해서 모든 나라가 치안을 위한 경찰을 남기고 군대를 해체하는 것은 어떨까? 라고 생각해본다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro

가을이 오면서...

잡설 2008/09/28 22:01
스산한 바람이 불고 해가 점점 짧아지면 어딘지 모를 허전함이 생긴다. 그러면 여지없이 무엇인가 새로운 변화를 찾아서 모험을 떠나곤 했다. 올해도 여느 해처럼 가을이 찾아오니 우울한 맘도 들고 무료하고 재미없는 일상에 짜증이 난다. 회사와 집을 시계추처럼 왔다갔다하던 일상에 변화를 주기 시작했다.

하루 빼먹으면 엉덩이에 뿔이라도 날 것처럼 매일 야근을 했고, 주말에 회사에서 초코파이를 주는 것도 아닌데 거의 빠지지 않고 출근을 했다. 새로 생긴 부서이니 만큼 단기적으로 뭔가 성과를 내고 싶었던 욕심이 있고, 근태를 잘 보여서 상사의 점수를 따려는 마음도 있었다.

상사의 점수를 따려고 필요 이상으로 여러가지 일을 했더니 오히려 역효과가 발생했다. 여러가지를 했고, 모두 어느정도 성과를 거두기는 했지만 두드러진 효과를 보이지 않는다. 차라리 일이 많으면 회사에 사람이 더 필요하다고 요청하고 내가 해야할 일에 집중했으면 이렇게 힘들게 일하지 않았어도 되었고, 회사에 높은 점수를 얻을 수 있지 않았을까 반성해본다.

9월에 접어들어서는 야근을 되도록이면 자제했다. 회사에서 저녁을 먹고 9시 넘어서까지 일하는 대신에, 저녁을 안먹고 좀 더 일을 하다가 8시가 되기 전에 퇴근했다. 실상 일하는 시간은 마찮가지이지만, 집에서 저녁을 먹으면 쉬는 기분이 난다.

9월 말에는 동호회 번개 모임에도 참석하기 시작했다. 화/목요일에는 수영사랑이라는 수영동호회의 참석해서 시원한 물살을 가르며 땀을 흘렸다. 아직 적응이 안되서 힘들긴 했다. 수영은 스트레스를 풀어주고 몸을 건강하게 해주는 운동이라서 조금 힘들더라도 이번기회에 한단계 발전하고 싶은 생각이 든다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
  • Build
    • BuildSolution     Ctrl+Shift+B
    • Cancel              Ctrl+Break
    • Compile            Ctrl+F7

  • Debug
    • Start                    F5
    • StopDebugging     Shift+F5
    • StartWithoutDebugging    Ctrl+F5
    • Restart                Ctrl+Shift+F5
    • RunToCursor        Ctrl+F10
    • ApplyCodeChanges          Alt+F10
    • BreakAll              Ctrl+Alt+Break
    • StepInto             F11
    • StepOut              Shift+F11
    • StepOver            F10
    • StepIntoCurrentProcess     Ctrl+Alt+F11
    • StepOutCurrentProcess      Ctrl+Shift+Alt+F11
    • StepOverCurrentProcess    Ctrl+Alt+F10
    • ToggleBreakpoint    F9
    • EnableBreakpoint    Ctrl+F9
    • BreakatFunction      Ctrl+B
    • DeleteAllBreakpoints    Ctrl+Shift+F9
    • QuickWatch         Shift+F9
    • Watch(1~4)        Ctrl+Alt+W,(1~4)
    • Breakpoints        Ctrl+Alt+B
    • CallStack            Ctrl+Alt+C
    • Autos                 Ctrl+Alt+V,A
    • Locals                Ctrl+Alt+V,L
    • Exceptions          Ctrl+Alt+E
    • Immediate         Ctrl+Alt+I
    • Modules             Ctrl+Alt+U
    • Processes          Ctrl+Alt+Z
    • Threads             Ctrl+Alt+H
    • Memory(1~4)    Ctrl+Alt+M,(1~4)
    • Registers           Ctrl+Alt+G
    • ScriptExplorer    Ctrl+Alt+N

  • Text Navigation
    • GoTo                Ctrl+G
    • GotoBrace        Ctrl+]
    • BrowseNext      Ctrl+Shift+1
    • BrowsePrevious        Ctrl+Shift+2
    • GoToDeclaration        Ctrl+F12
    • GoToDefinition          F12

  • Find
    • Find                  Ctrl+F
    • FindInFiles        Ctrl+Shift+F
    • FindNext           F3
    • FindPrevious           Shift+F3
    • FindNextSelected    Ctrl+F3
    • FindPreviousSelected    Ctrl+Shift+F3
    • GoToFindCombo           Ctrl+D
    • IncrementalSearch       Ctrl+I
    • QuickFindSymbol         Shift+Alt+F12
    • Replace                 Ctrl+H
    • ReplaceinFiles        Ctrl+Shift+H
    • ReverseIncrementalSearch    Ctrl+Shift+I
    • StopSearch            Alt+F3, S
    • FindSymbolResults    Ctrl+Alt+Y
    • FindAllReferences     Shift+F12
    • FindSymbol             Alt+F12

  • File
    • NewFile             Ctrl+N
    • NewProject        Ctrl+Shift+N
    • OpenFile            Ctrl+O
    • OpenProject        Ctrl+Shift+O
    • SaveAll              Ctrl+Shift+S
    • SaveSelectedItems    Ctrl+S
    • ViewinBrowser          Ctrl+Shift+W

  • Bookmark
    • ToggleBookmark              Ctrl+K, Ctrl+K
    • NextBookmark                 Ctrl+K, Ctrl+N -or- F2
    • NextBookmarkInFolder     Ctrl+Shift+K, Ctrl+Shift+N
    • PreviousBookmark            Ctrl+K, Ctrl+P -or- Shift+F2
    • PreviousBookmarkInFolder    Ctrl+Shift+K, Ctrl+Shift+P
    • BookmarkWindow            Ctrl+K, Ctrl+W
    • ClearBookmarks              Ctrl+K, Ctrk+L

  • Etc
    • CharTranspose             Alt+T
    • LineTranspose             Shift+Alt+T
    • CollapsetoDefinitions    Ctrl+M, Ctrl+O
    • ToggleAllOutlining       Ctrl+M, Ctrl+L
    • CommentSelection     Ctrl+K, Ctrl+C
    • UncommentSelection    Ctrl+K, Ctrl+U
    • FormatDocument        Ctrl+K, Ctrl+D
    • FormatSelection          Ctrl+K, Ctrl+K
    • CycleClipboardRing     Ctrl+Shift+V
    • DeleteHorizontalWhiteSpace    Ctrl+K, Ctrl+\
    • LineCut            Ctrl+L
    • LineDelete        Ctrl+Shift+L
    • LineOpenAbove        Ctrl+Enter
    • LineOpenBelow        Ctrl+Shift+Enter
    • CopyParameterTip    Ctrl+Shift+Alt+C
    • ParameterInfo    Ctrl+Shift+Space
    • QuickInfo        Ctrl+K, Ctrl+I
    • Redo            Ctrl+Y
    • Undo            Ctrl+Z
    • ScrollLineDown    Ctrl+Down Arrow
    • ScrollLineUp        Ctrl+Up Arrow
    • SelectAll                   Ctrl+A
    • SelectCurrentWord     Ctrl+W
    • SelectionCancel          Esc
    • SelectToLastGoBack    Ctrl+=
    • ToggleWordWrap        Ctrl+E, Ctrl+W
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro
흔히들 모든 것은 생각에 달렸다는 말을 한다. 나 역시 이말에 동감한다. 이 책은 한 술 더 나아가 생각은 물질을 창조하고 한계를 없앤다고 말한다. 모든 것은 끌어당김의 절대 법칙을 따라서 즉, 좋은 생각은 좋은 것-생각, 물질-을 끌어당기고 이것은 또 다시 좋은 불러들인다. 선순환인 셈이다. 반대로 악순환도 존재한다. 안좋은 생각은 안좋은 것들을 끌어당기고 더 안좋은 상황은 다시 그런 것들을 불러들인다. 혹시 지금 악순환에 빠져있다면 그곳에서 빨리 탈출해야한다.

어둠에 집중해서는 그것을 없앨 수 없다. 단지 작은 촛불처럼 밝음에 관심을 기울이면 그것은 해결된다. 안좋은 상황을 극복하기 위해 그것에 몰두할수록 그런 상황이 더 발생한다. 대신에 좋은 상황을 떠올리고 그것에 집중함으로써 상황을 바꿀 수 있다.

예를들어, 나에게 있는 말더듬의 악순환을 생각하자. 말을 더듬지 않겠다는 생각은 여지없이 두려움을 만든다. 이로써 말이 막히고 다시 말더듬에 집중하는 악순환이 발생한다. 이제 다른 생각에 집중하자. 나는 말을 잘한다. 유머 감각도 뛰어나고 논리적인 설득에도 일각연이 있다. 부드러운 목소리를 가졌다. 나를 표현하는 것은 참 즐거운 일이다.

끊임없이 기쁨, 행복, 즐거운, 사랑, 평화를 창조해 갈 것이다. 이런 생각만으로도 기분이 좋아진다. 끌어당김의 법칙으로 더 낳은 밝음을 창조할 것을 생각하니 더욱 기분이 좋다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by unipro