개발과삶2012.09.22 00:38

오픈소스 개발자로 CUBRID 도구개발 프로젝트에 참여한지 4년.

회사에 들어와서 참여한지 1년.

무려 5년의 시간동안 CUBRID 도구개발에 참여하였다.


그 중 최근 1년은 개인적으로 큰 변화를 요구한 시기였고 실제 개인적인 변화가 컸으며,

제품 또한 변화가 큰 것이 사실이다.

최근 1년의 변화는 혼자 잘하는 것이 아니라 함께 잘하고 내가 부족한 것을 채워줄 수 있는 파트너와 함께 공동 목표를 향해 무한질주할 수 있었다는 것이다.


처음에는 어떻게 하면 사용자에게 도움이 될까, 어떻게 하면 한정된 리소스에서 최적의 효과를 낼까, 매번 이 생각에 잠 못이루는 날도 많았다. 그 모든 것을 혼자서 고민하려다 보니 어려운 것이었다.


최근 1년, 함께 고민하고 문제를 풀어갈 파트너와 나의 비전에 "가슴 두근 거리는 경험"을 공유할 수 있는 개발자들을 여기 중국에서 만난 것이다. 혼자서 할 수 있는 것은 일부분일 뿐이라는 것을 시간을 통해 알게 되었다.


혹자는 나를 일의 노예 정도로 생각하는 듯 하다.

물론, 일은 좋아한다. 그러나 그것으로 끝이 아니다.

나로 인해 사용자에게 도움이 될 수 있다는 생각에 에너지와 열정이 샘솟는 것이다.


나는 CUBRID가 좋다.

나는 거기에 내 영혼을 담으려고 노력하고 있다. 내가 잘하는 도구개발에...

오픈소스 DBMS 도구중 가장 인기있는 도구를 만드는 것이 목표이고, 희망사항이다.


여행으로도 온적 없었던 중국땅에서 만 1년을 CUBRID 도구와 함께하면서 값진 깨달음을 얻었다.

함께 비전을 공유하고 함께 만들어가면 언젠가는 우리의 가치가 빛이날 것이다.

Posted by 종이비행기
개발과삶2012.09.03 01:03

다운로드 : http://apache.tt.co.kr/hadoop/common/hadoop-1.0.3/


# apt-get -y install ssh rsync java7-jdk

# adduser hadoop

# su - hadoop


$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 644 ~/.ssh/authorized_keys


$ echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386;PATH=$PATH:$JAVA_HOME/bin" >> ~/.profile


$ wget http://apache.tt.co.kr/hadoop/common/hadoop-1.0.3/hadoop-1.0.3.tar.gz

$ tar xvfpz hadoop-1.0.3.tar.gz


$ cd hadoop-1.0.3


$ vi conf/hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386


$ vi conf/core-site.xml

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hadoop-1.0.3/hadoop-${user.name}</value>
    </property>
</configuration>


$ vi conf/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.name.dir</name>
        <value>/home/hadoop/hadoop-1.0.3/dfs/name</value>
    </property>
    <property>
        <name>dfs.name.edits.dir</name>
        <value>${dfs.name.dir}</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/home/hadoop/hadoop-1.0.3/dfs/data</value>
    </property>
</configuration>


$ vi conf/mapred-site.xml

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
    </property>
    <property>
        <name>mapred.local.dir</name>
        <value>${hadoop.tmp.dir}/mapred/local</value>
    </property>
    <property>
        <name>mapred.system.dir</name>
        <value>${hadoop.tmp.dir}/mapred/system</value>
    </property>
</configuration>


$ hadoop namenode -format

$ start-all.sh


맵리듀스 확인
http://localhost:50030

HDFS 확인
http://localhost:50070


Posted by 종이비행기
개발과삶2012.05.25 00:35


#vi /etc/security/limits.conf


username    hard    nofile   4096
username    soft    nofile   4096

Posted by 종이비행기
개발과삶2012.05.18 15:25

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jdk1.6.0_27\bin

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Posted by 종이비행기
개발과삶2012.03.24 23:25
SVN 비밀번호가 변경된 후 checkin이 정상적으로 되지 않고 아래와 같은 에러가 발생할 때

URL access forbidden for unknown reason
svn: 커밋이 실패하였습니다:
svn: access to '/{svn}/!svn/act/b62dd2f5-7041-1e4b-8f2c-a702aa39cbe2' forbidden

아래의 경로에 있는 파일 중 해당하는 파일을 삭제한 후 다시 checkin을 하면 비밀번호 입력을 다시 설정할 수 있다.

Windows XP
C:\Documents and Settings\{사용자명}\Application Data\Subversion\auth\svn.simple\

Vista, Windows 7
C:\Users\{사용자명}\AppData\Roaming\Subversion\auth\svn.simple\

Posted by 종이비행기
개발과삶2012.01.03 20:01
(내가) 잘 할 수 있고, (내가) 좋아하고, (내가 속한) 사회에 의미 있는 일을 해야 한다.
- 안철수

...

지금 하는 일이 지루하게 느껴진다 하더라도 가치 없는 일은 없습니다.
내가 어떻게 이 일을 좋아하고 잘 해낼 수 있을 지 고민하는 순간부터
그 일은 의미 있고 흥미진진한 일이 됩니다.

저는 2010년 작은 사업을 하면서 절실하게 느꼈습니다.
또한 지금은 다시 큰 조직으로 돌아와서 연구개발 조직을 관리하고 있으면서도
항상 느낍니다.

단, 이러한 경험을 우리 개발자들도 이해를 하면 좋을 텐데, 그러면 지금보다 200%는 더 발전할 수 있을 것인데 하는 안타까움도 있습니다.

하나의 일을 10년 동안 하라고 하면 저는 너무 좋을 것 입니다.
왜냐하면 전문가가 될 수 있으니까요.
그러나 우리 개발자들은 이를 잘 모르는 것 같습니다.
자기 학습은 수평으로 넓혀질 필요가 있지만,
업무는 수직적 깊이가 더 중요하다고 생각합니다.

지금하는 일이 단순히 매뉴얼 오타를 수정하는 일이라 할지라도
가볍게 보지 말아주세요.
그 안에 또다른 기회가 있을지는 누구도 모른답니다.


Posted by 종이비행기
개발과삶2011.08.04 02:55

얼마 전, 코딩하다가 에러가 아닌 것 같은데 계속 에러를 뱉어내길 내 잠시후에 살펴보니 eventNo가 아니라 evnetNo가 아닌가요? 하는 에러 메시지가 나와 있었습니다.


definition에서는 evnetNo로 오타를 했고, implement 부분에는 eventNo를 정확하게 입력했습니다.

그러니 저는 eventNo가 맞는데 없다고 하니 좀 의아했습니다.

에러 메시지가 이렇게 스마트하게 나오지 않았다면 문제 해결에 좀 더 시간이 걸렸을지도 모르겠습니다.


개발자 보다 더 스마트해지면 코딩도 개발도구가 할까요? ^^;




Posted by 종이비행기
개발과삶2011.07.30 10:01
네이버 캘린더를 아이폰에 연동하는 방법이 생겨서 네이버 캘린더에 있는대로 진행을 했지만 로그인 오류가 나서 안드로이드쪽 설명과 비교해보니 설명 오류가 있었습니다.

아래 (2)번 그림을 보면 사용자 이름이 naver_id@naver.com이라고 되어 있는데, 그냥 네이버 아이디만 넣으면 됩니다. 이 때문에 좀 헤멨습니다.

네이버 캘린더의 장점은 캘린더 형태로 인쇄물을 얻을 수 있다는 거지요.
UI가 깔끔해서 한달 일정을 책상에 두어도 좋습니다.









Posted by 종이비행기
개발과삶2011.07.23 15:30
일반적으로 iPhone Simulator로 빌드를 하려고 할 경우 static library가 i386으로 빌드되지 않은 경우 Project의 Build Settings를 보면 Valid Architectures 항목에 armv6 armv7만 있을 경우가 더러 있습니다.
그렇게되면 시뮬레이터로는 빌드가 되지 않으며 "No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv6 armv7)" 에러가 나게 됩니다.

해결방법은, Valid Architectures 항목에 i386만 추가해주면 됩니다.


라이온 덕분에 Xcode3에서 Xcode4로 전환하는데 비용이 많이 드는군요. 빌드가 잘 되던 프로젝트들이 에러를 툭툭 뱉어내고 있습니다. ㅠㅠ
Posted by 종이비행기
개발과삶2011.07.23 15:10
1. Xcode3 대상으로 배포된 Three20을 Xcode4에 빌드되도록 수정

Xcode3에서는 AdHoc 빌드가 잘 되었는데, Xcode4로 AdHoc을 만들기 위해 Archive를 하면 아래와 유사한 에러를 여러개 볼 수 있습니다.

../scripts/Protect.command: line 23: cd: /Users/pcraft/Library/Developer/Xcode/DerivedData/{프로젝트명}-cqbunqzebuctnedgaescbtskhhhj/ArchiveIntermediates/{프로젝트명}/BuildProductsPath/Release-iphoneos/../three20/Three20Core: No such file or directory

그래서, Xcode3에 맞게 제작된 static library들을 Xcode4에 맞게 수정이 필요합니다. 물론, 시뮬레이터나 Debug 빌드는 잘 됩니다.

지금 글에는 첨부파일이 2개가 있습니다.



Paths.xcconfig는 {Three20 라이브러리}/src/common/Configurations/Paths.xcconfig 에 복사하고,
Protect.command는 {Three20 라이브러리}/src/scripts/Protect.command 에 복사한후 다시 빌드를 하게 되면 위와 같은 오류는 사라지고 정상적으로 빌드가 됩니다. 컴파일시 헤더의 위치를 찾는데 잘못된 위치에서 찾는 것을 수정해주는 것입니다. (원본은 백업후 복사하시길 바랍니다!!)

아래 주소로 Three20의 Xcode4용으로 수정된 부분을 보실 수 있습니다.
https://github.com/pazustep/three20/commit/4a9aad4eb90a6962dd729d245f9293a7cc0d7f36



2. ipa 만들기

Xcode3와 달리 Xcode4는 Product - Archive를 이용하여 AdHoc을 만들게 됩니다. 그래서 이렇게 AdHoc을 만들어서 ipa로 배포를 하게 되는데, Three20과 같은 static library가 들어가게되면 정상적으로 빌드가 되지 않습니다.

그림에서 보듯이 Contents 선택에서 Package가 비활성화됩니다. 그 원인은 App을 빌드할 때 static library까지도 함께 포함되어 빌드가 되는 것 입니다.


Window - Organizier를 열어서 방금 전에 빌드한 Archive를 Show in Finder로 열어보면 아래와 같은 파일 상태를 볼 수 있습니다.

보시면 static library들이 모두 포함이 되어 있습니다. Xcode는 Applications와 usr, 2개의 디렉토리가 있기 때문에 어떤 것이 signing을 해야하는 대상인지 화인할 수 없어서 Package가 비활성화 되는 것입니다.

해결방법은,
프로젝트에 포함된 모든 static library들을 열어서 프로젝트의 Build Settings에 Skip Install 항목을 YES로 해주면 Archive 빌드시 static library가 포함되지 않습니다.


모두 이렇게 변경한 다음 Product - Archive를 하면 Organizier에 Contents선택에 Package가 활성화되어 있을 것입니다.

Xcode3는 static library가 포함되지 않았었는데, Xcode4는 왜 포함되었을까 궁금하시겠지만, Xcode3에는 Archive빌드시 Skip Install 옵션에 관계없이 강제적으로 YES 옵션으로 사용이 되었다고 생각하시면 되겠습니다.
 




Posted by 종이비행기

티스토리 툴바