블로그 이미지
박공명

카테고리

분류 전체보기 (99)
된장 (7)
Dev (60)
꼐..꼐임 (6)
식탐 (18)
우리 (0)
Etc (8)
개인자료 (0)
Total
Today
Yesterday
남들 쓰는걸 보니 나도 써야겠단 생각이 들어서 적용을 시작했다.

기존 나도는 소스를 보니 기본적인 스크립트 지식이 없이는 골치가 아플 것이다.

내가 제일 좋아하는 요점정리부터 시작한다.

티스토리는 관리자메뉴의 스킬-HTML/CSS 편집 메뉴에서 전체적인 설정을 변경가능하다.

거기서 기본적인 스크립트를 사용하여 약속된 태그(2.0대버젼은 pre를 썻다고하고 3.0대 현재는 blockquote를 쓴다)

안에 삽입된 코드를 처리하는 방법을 쓴다.

일단 해당 홈페이지에서 (http://alexgorbatchev.com/SyntaxHighlighter/) 최신소스를 다운로드 받는다

압축을 풀고 해당 디렉토리안의 script , styles 안의 내용을 모두 업로드한다.(아는사람은 필요한거만 올리자)

그리고 HTML/CSS편집에서 title태그안에 해당 스크립트를 삽입.

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="./images/shCore.js"></script>
<script type="text/javascript" src="./images/shLegacy.js"></script>
<script type="text/javascript" src="./images/shBrushAppleScript.js"></script>
<script type="text/javascript" src="./images/shBrushAS3.js"></script>
<script type="text/javascript" src="./images/shBrushBash.js"></script>
<script type="text/javascript" src="./images/shBrushColdFusion.js"></script>
<script type="text/javascript" src="./images/shBrushCpp.js"></script>
<script type="text/javascript" src="./images/shBrushCSharp.js"></script>
<script type="text/javascript" src="./images/shBrushCss.js"></script>
<script type="text/javascript" src="./images/shBrushDelphi.js"></script>
<script type="text/javascript" src="./images/shBrushDiff.js"></script>
<script type="text/javascript" src="./images/shBrushErlang.js"></script>
<script type="text/javascript" src="./images/shBrushGroovy.js"></script>
<script type="text/javascript" src="./images/shBrushJava.js"></script>
<script type="text/javascript" src="./images/shBrushJavaFx.js"></script>
<script type="text/javascript" src="./images/shBrushJScript.js"></script>
<script type="text/javascript" src="./images/shBrushPerl.js"></script>
<script type="text/javascript" src="./images/shBrushPhp.js"></script>
<script type="text/javascript" src="./images/shBrushPlain.js"></script>
<script type="text/javascript" src="./images/shBrushPowerShell.js"></script>
<script type="text/javascript" src="./images/shBrushPython.js"></script>
<script type="text/javascript" src="./images/shBrushRuby.js"></script>
<script type="text/javascript" src="./images/shBrushSass.js"></script>
<script type="text/javascript" src="./images/shBrushScala.js"></script>
<script type="text/javascript" src="./images/shBrushSql.js"></script>
<script type="text/javascript" src="./images/shBrushVb.js"></script>
<script type="text/javascript" src="./images/shBrushXml.js"></script>
<link type="text/css" rel="stylesheet" href="./images/shCore.css"/>
<link type="text/css" rel="stylesheet" href="./images/shThemeDefault.css"/>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery("BLOCKQUOTE").each( function() {
if (jQuery(this).attr('class').substr(0,5)=='brush')
{
var temp = jQuery(this).html();
temp = temp.replace(/\n/gi, "");           
temp = temp.replace(/<BR>/gi, "\n");           
temp = temp.replace(/<BR \/>/gi, "\n");           
temp = '<script type="syntaxhighlighter" class="'+ jQuery(this).attr('class') + '"><![CDATA['+temp+']]><\/script>';          jQuery(this).after(temp);          
jQuery(this).remove();     
}   
});
SyntaxHighlighter.defaults['toolbar'] = true;
SyntaxHighlighter.all();
});
</script>


자 이러면 완성인데 잘안되는사람들이 분명 있다.

화면의 스크립트 오류에 집중하라.

내 티스토리는 BLOCKQUOTE 태그를 쓰는데 스크립트상으로는 blockquote였다.

replace부분에서도 정규식 에러가 발견됬다.

자잘한 이슈만 잡을능력이 되면 거뜬하게 올릴 수 있다.

'Dev > Javascript' 카테고리의 다른 글

validation check  (0) 2010.09.11
ajax 간단한 처리  (0) 2010.06.14
-1072896658  (0) 2010.06.11
Posted by 박공명
, |

진짜 별게없어서 쓰기 난감하다.

사실상 그림 한장이면 설명 가능한데

진짜 그런데...

그래서 그렸다.



화면을 반으로 나누고 왼쪽엔 왼쪽눈에 보여야 할 이미지 오른쪽엔 오른쪽 눈에 보여야 할 이미지를 뿌려준다.

3d 옵션이 켜져있다면 저 두개는 한 화면으로 합쳐져서 보이게되며 각각 보여야할 눈에 보여준다.

그리고 양안에 보이는 위치가 틀리기 때문에 원근감이 생기고 눈이 아프다 ㅋ ㅋ ㅋ

소스로 보면 더 간단함.


3D 객체를 따고 SurfaceView의 Holder를 넘겨주고 기본옵션(3d여부,이미지의 순서) 만 정해주면 알아서 나온다.


난 그저 그림을 두개 그려 줬을뿐.(mCanvasWidth = getWidth() / 2;)

에뮬로 돌리면 이렇게 된다.


참고로 옵티머스3D와 에뮬은 3d 구현방식이 전혀 틀리다.

에뮬은 짝짝이 안경끼고 확인할수 있도록 만들어져있다.

3D(?)를 3D(?)로 구현하는 방법은 조금 틀린거같다.

일단 OpenGL부터 공부하고 옴.

'Dev > Android' 카테고리의 다른 글

android fastboot 사용하기  (0) 2011.05.20
우분투에 안드로이드 프로젝트 세팅  (0) 2011.05.18
Real 3D 개요  (0) 2011.04.19
LG Real 3D SDK  (1) 2011.04.13
JNI ?  (1) 2010.10.28
Posted by 박공명
, |

Real 3D 개요

Dev/Android / 2011. 4. 19. 16:55

3D를 구현하기위해서는 먼저 구동방식을 이해하는것이 먼저라고 해야겠다.

먼저 사람의 눈이 어떠한 방식으로 원근감을 얻게되는지 알아야 하는데

사람은 어떠한 물체를 좌우의 눈으로 다른 방향에서 바라보면서 이를 통하여

입체감을 얻을수가 있는데 이걸 양안시차 라고 부른다고 한다.

한쪽 눈의 시력을 상실한 사람이 원근감을 잃는것도 이와 같은 맥락인거같다.

그렇다면 각각의 눈에 다른 상을 맺이게 할수있다면 원근감을 조작하는것이

가능하단 이야기가 되는데 그것이 3d display의 요체인거같다.

자료를 좀 찾아보니 현재 무안경 3d display 구현방법은 두가지 정도로 보인다.

Lenticular lens 방식과 Parallax barrier 방식이라고 부르는거같은데

전자는 화면앞에 이름과같은 렌즈가 있어서 빛의 굴절을 통하여 각각의 눈이

원하는 상을 보게 만든다.

후자는 화면 앞에 Film Barrier , LC Shutter (정확하게 뭔진 모른다) 등을 통해서

반대쪽 눈이 보고있는 영상을 가리고 자기가 봐야하는것만 보여주는거다.

결론적으로 무슨 편법을 쓰던간에 각각의 눈에 다른 영상이 보이기만 하면

3D 화면이 구현이 가능하다.

한가지 알아둬야 할건 아직은 기술적인 문제인지 아주 한정적인 각도로만

구현이 가능하다. 현재 가로모드로만 3d를 구현하고 있으며 시야각에따라서

화면에 많은 문제가 있으며 세로로 보면 아까 설명한 3d의 원리를 두눈으로 확인할 수 있다. ㅋ ㅋ

아무튼 중요한건 전문가들이 다 해줄테니 개발자는 사용법만 알면 오케이

다음화에서 구현을 해보겠다.

'Dev > Android' 카테고리의 다른 글

우분투에 안드로이드 프로젝트 세팅  (0) 2011.05.18
Real 3D - 단순 이미지 3D 구현  (0) 2011.04.20
LG Real 3D SDK  (1) 2011.04.13
JNI ?  (1) 2010.10.28
안드로이드 교육내용  (0) 2010.09.13
Posted by 박공명
, |

LG Real 3D SDK

Dev/Android / 2011. 4. 13. 22:23

엘지전자에서 3D 개발용 SDK를 공개했네요.

검색해보니 안나와 ㅋ ㅋ

링크부터 공개

http://developer.lgmobile.com/lge.mdn.tnd.RetrieveDocAndTools.dev?objectType=T#none

이번에 전략모델이라는 옵티머스 3D 를 출시하면서 여러모로 기대감이 많은 것 같습니다.

물밑으로 많은 3D 컨텐츠가 확보되야 뭔가 경쟁이라도 해볼거 같네요.

3D 가계부나 만들까봐여

네 금전 현황을 '입체적으로' 파악할수있는 매우 실용적인 ㅋㅋㅋ

'Dev > Android' 카테고리의 다른 글

Real 3D - 단순 이미지 3D 구현  (0) 2011.04.20
Real 3D 개요  (0) 2011.04.19
JNI ?  (1) 2010.10.28
안드로이드 교육내용  (0) 2010.09.13
이클립스에서 안드로이드 프로젝트에 이유없는 에러표시  (0) 2010.06.16
Posted by 박공명
, |

linux favorite command

Dev/linux / 2011. 3. 8. 17:23

사용자가 bash를 사용할때 읽어오는 파일들
.profile : basic infomation
.bashrc : bash infomation
.bash_history : have bash command history
.bash_logout : when logout, system execute this command.(clear tmp,make history)
file :
if no have home directory, system use /etc/profile file.
% Order of execution
execute shell -> bash_profile  -> bashrc | bash_logout(when logout)

~ : $HOME
- : previous directory
export : 지정된 환경보기

와일드카드
* : 모든문자
? : 한개의문자
[abc] : a,b,c중한개
[a-z] : a-z까지의 모든문자
[:alnum:] : 알파벳과숫자 
[:alpha:] : 알파벳
[:digit:] :숫자
[:upper:] : 알파벳대문자
[:lower:] : 알파벳소문자

brace expansion
$echo a{1,2,3}
a1 a2 a3
$ echo a{1{1,2,3},2{1,2,3},3{1,2,3}}
a11 a12 a13 a21 a22 a23 a31 a32 a33

I/O redirection
> out : out으로 출력
< in : in으로부터 입력
>> out : out으로 이어붙임
2> :  표준에러의 출력방향
1> : 표준출력
2>&1 : 에러를 표준출력과같이 출력
1>&2 : 표준출력을 에러와같이 출력

pipeline
$ls | more
is
ls > tmp -> more < tmp

background job
find . -name "findname" 2>&1 > output &
find의결과물중 에러를 표준출력과 합치며 표준출력은 output파일로전달하며 백그라운드로작업
nohup
&는 일반적으로 터미널이 기동중에서만 프로세서를 잡고있게되는데
nohup는 터미널이 종료해도(hang up signal) 잡고있게된다.
특정 flag를 통하여 &를 nohup과 동일하게 쓸수있다.
$shopt | grep huponexit
huponexit       off

emacs 편집기능
^b : previous cursor
^f : next cursor
del : delete left character
^d : delete right character
^a : move front
^e : move end
^k : delete from this position to end
^p : move previous command
^n : move next command


테스트했던 예제
echo num of the parameter : $#
echo parameter string     : $@
echo param1 : $1 param2 : $2 param3 : $3
if [ $# > 1 ]; then
 param=$1
 echo param1 substring1to3 : ${param:0:3}
fi
for arg in "$@"
do
 echo ${arg}
done
echo "if test"
BUILD_USERMODE="true"
RESULTMY=if [ "$BUILD_USERMODE" == "qqqq" ];
echo "RESULTMY = $RESULTMY"
if [ "$BUILD_USERMODE" == "true" ]; then
 echo "it's true"
 echo "return is $?"
else
 echo "it's false"
 echo "return is $?"
fi
echo "result = $RESULT"

:= 이건가보다.



Posted by 박공명
, |

JNI ?

Dev/Android / 2010. 10. 28. 11:38

1. native 메소드 선언(ex: public native helloworldPrint();
2. javah 를사용하여 헤더파일 생성
3. 헤더파일에 선언된 함수명을 참조하여 cpp 작성
4. so파일 생성

참조하는법
static {
    System.loadLibrary("생성된so파일에서 맨앞lib제거된이름");
}

개념 잡히면 다시정리함

'Dev > Android' 카테고리의 다른 글

Real 3D 개요  (0) 2011.04.19
LG Real 3D SDK  (1) 2011.04.13
안드로이드 교육내용  (0) 2010.09.13
이클립스에서 안드로이드 프로젝트에 이유없는 에러표시  (0) 2010.06.16
안드로이드 세팅  (0) 2010.04.13
Posted by 박공명
, |

resource 종류 : drawable,layout,values,xml,row,anim,menu (이외에는 없음)
resource 생성 : android:id="@+id/button"    +id : id라는 resource그룹을 만들고 button 이름을 만든다.

인스톨,언인스톨 : install apk , uninstall package이름
adb uninstall gmp.helloworld

andriod.shareuserid 를동일하게하면 프로세스 두개를 같이실행

task : activity 만관리하며 main , launch 속성을가진 어플만 루트로가질수있다
task의 기본속성은 standard(android:launchMode="standard") 이며 하위 어플은 모두 루트의 launchMode를 적용받음

A - W - V ( View(위젯) , view group(layout - view))

onprepareoptionmenu 는 두번쨰부터 호출된다(첮번째두 호출되지만 메뉴가 생성되기 전이다)

커스텀뷰는 뷰를 상속하며
onDraw,onMeasure(영역을 여기서 설정),onLayout를 오버라이드 하게된다.

jarsigner , keytool ( 사인 , 키확인툴)
jarsigner -verify -verbose -certs apiDemosNosign.apk (sign 확인방법)

debug key
jarsigner -verbose -keystore "D:\Documents and Settings\Administrator\.android\debug.keystore" pgmTest.apk androiddebugkey
password : andriod

custom key
1. keystore 생성
keytool -genkey -v -keystore pgmman.keystore -alias pgmman -keyalg RSA -validity 10000 (지금위치에 생성됨)
jarsigner -verbose -keystore pgmman.keystore pgmTest.apk pgmman

업데이트 등을 고려하면 동일한 keystore를 가지고있어야한다.



안드로이드 에뮬 텔넷접속
telnet localhost 5554 (일반에뮬포트가 5554임)
redir add tcp:8002:8002
redir list

나와서
stcppipe -b 192.168.0.118 127.0.0.1 5552 8002

provider : 저장소를 관리하기위한 implement 클래스이며 구현하여 resolver를 이용하여 사용한다.
resolver : provider를 관리하기위한 클래스
ContentResolver.query()와Activity.managedQuery()의 차이점 : 액티비티쿼리는 생명주기에의하여 재쿼리가되지만
전자는 재쿼리를 자동으로 안한다.


구글맵
API KEY 받는방법
keytool -list -alias androiddebugkey -keystore "D:\Documents and Settings\Administrator\.android\debug.keystore" -storepass android -keypass android

그러면 지문코드가 나온다
79:D4:59:87:5D:DA:65:A9:DD:63:B3:A0:97:5B:A1:EF

구글접속
http://code.google.com/intl/ko/android/maps-api-signup.html

지문코드를 입력하면 이렇게 잘 나온다.
<com.google.android.maps.MapView                
android:layout_width="fill_parent"                
android:layout_height="fill_parent"                
android:apiKey="0QKd8pVAw6a_SNyK9tgh53hjanzCpabOI-PBehw"


위젯
1.5버전 초과는 버그가있어서 업데이트시간이 30분걸린다
1.5는 설정대로됨




'Dev > Android' 카테고리의 다른 글

LG Real 3D SDK  (1) 2011.04.13
JNI ?  (1) 2010.10.28
이클립스에서 안드로이드 프로젝트에 이유없는 에러표시  (0) 2010.06.16
안드로이드 세팅  (0) 2010.04.13
사구싶습니다.  (0) 2010.03.23
Posted by 박공명
, |

validation check

Dev/Javascript / 2010. 9. 11. 21:17

아무래두 나두 한거번에 모아서 처리할수있는 형식을 만들어야겠다

그때그때 다시만들려니까 이게무슨 병신짓인지 모르겠네요

시간날때 작업을 시작해봄

일단 이것들은 첩자질해온 코드 ㅋㅋ


//주민등록번호
//주민등록번호는 1~12번째의 각 모든 자릿수를 2부터 증가된 수(10부턴 다시 2로)를 곱하여 11로 나눈 나머지를
//11에서 뺀 결과값이 13번째 자리와 일치할시에 올바른 주민등록번호이다.
function chkSnVal(sn1,sn2){
if((sn1.length==6) &&(sn2.length==7)){
var sn=sn1+sn2;
a = new Array(13);
for (var i=0; i < 13; i++) {
a[i] = parseInt(sn.charAt(i));
}
var k = 11 - (((a[0] * 2) + (a[1] * 3) + (a[2] * 4) + (a[3] * 5) + (a[4] * 6) + (a[5] * 7) + (a[6] * 8) + (a[7] * 9) + (a[8] * 2) + (a[9] * 3) + (a[10] * 4) + (a[11] * 5)) % 11);
if (k > 9){
k -= 10;
}
if (k == a[12]){
return false;
}else{
return true;
}
}
}

//숫자체크 뻔하지않은가?
function fncChkNum(text){
if(isNaN(text.value)){return true;}
return false;
}


//한글체크
function fncChkKoreanName(obj) {
var strVal = obj.value;
if (strVal == "")
{
return true;
}
for (var i=0;i<strVal.length;i++)
{

if(!((strVal.charCodeAt(i) > 0x3130 && strVal.charCodeAt(i) < 0x318F) || (strVal.charCodeAt(i) >= 0xAC00 && strVal.charCodeAt(i) <= 0xD7A3))){
obj.focus();
return true;
}
}
return false;
}

'Dev > Javascript' 카테고리의 다른 글

SyntaxHighlighter 적용  (0) 2011.04.21
ajax 간단한 처리  (0) 2010.06.14
-1072896658  (0) 2010.06.11
Posted by 박공명
, |

James Mail Server

Dev / 2010. 8. 24. 15:35
소개합니다.

자바로 개발된 메일서버입니다.

이놈 알기전까진 2008 server에서 smtp 서버를 지원해줬기 때문에 아무문제 없었지만

window7 에는 이것이 없지뭡니까.

그래서 이거저거 써보다가 가장 만만해보이는넘으로 작성해봅니다.

우리 존슨친구 제임스는 아파치에서 배포하구있습니다.

http://james.apache.org/ 

물건은 여기있죠.

그거말고도 mysql 에서 JDBC Connecter 를 따로 다운받아줘야합니다.

기본세팅은 파일로 메일이 입출력되기때문에 없다구 안되거나 하지는 않을거라구 생각됩니다.

압축을 풀고 /bin/run.bat 를 실행합니다.

자 그러면 서버가 뜨네요. 아직 환경설정 잡은것두 없는데 말이죠

telnet으로 접속합니다

로컬:4555

그럼 계정관리가 가능하네여

기본암호는 root/root

유저등록이 필요할떄는

adduser id password

유저확인할떄는

listusers

자 두번째

디비연결해야죠.

\apps\james\SAR-INF

여기에 config 파일이 있습니다.

이걸 열어서 몇몇 부분을 설정할수가 있습니다.

dburl에 정의된부분은 database 이름입니다.

<data-source name="maildb" class="org.apache.james.util.dbcp.JdbcDataSource">
         <driver>com.mysql.jdbc.Driver</driver>
         <dburl>jdbc:mysql:127.0.0.1:3306/mail?autoReconnect=true</dburl>
         <user>root</user>
         <password>tmakdlf</password>
         <poolPreparedStatements>true</poolPreparedStatements>
         <max>20</max>
      </data-source>

<inboxRepository>
         <repository destinationURL="db://maildb/inbox/" type="MAIL"/>
      </inboxRepository>

<outgoing> db://maildb/spool/outgoing </outgoing>

<spoolrepository destinationURL="db://maildb/spool/spool" type="SPOOL"/>

해당부분들이 필요합니다.

이부분들은 원래 주석처리되어있구 그위에 파일로처리하는부분이 정의되어있습니다.

최종적으로 오류가 안난다면 이렇게 잘 뜨겟죠



자 뭔가 에러가 나긴났지만 메일이 잘 왔습니다.

에러찾는건 다음에 할래요.
Posted by 박공명
, |

이놈때매 고생을 참 많이 했다.

오류를 고쳤는데도 프로젝트 전체에대한 에러표시가 떨어지지 않는것이다.

그래서 프로젝트를 다시 생성하기를 몇번인지..

해결방법을 찾았습니다.

이클립스 메뉴(Project) -> Clean

해당기능으로 우리 프로젝트를 적용시켜주면 에러표시가 사라지네요.

더럽다..

'Dev > Android' 카테고리의 다른 글

LG Real 3D SDK  (1) 2011.04.13
JNI ?  (1) 2010.10.28
안드로이드 교육내용  (0) 2010.09.13
안드로이드 세팅  (0) 2010.04.13
사구싶습니다.  (0) 2010.03.23
Posted by 박공명
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함