'팁'에 해당되는 글 17건
2008/07/25 09:19
[팁]
visual studio 2005 부터는 iostream.h 가 기본으로 지원되지 않는단다.
#include <iostream> 해야 하고,
cout 을 쓸려면 std::cout 하거나 using namespace std 를 해줘야 한다.
vc6.0에서 일했었으니 난 참 옛날사람이다. - ;
#include <iostream> 해야 하고,
cout 을 쓸려면 std::cout 하거나 using namespace std 를 해줘야 한다.
vc6.0에서 일했었으니 난 참 옛날사람이다. - ;
Trackback Address :: http://10year.tistory.com/trackback/127
2008/06/26 09:59
[팁]
아래와 같은 정기 작업을 위해서 crontab을 이용했다.
* DB와 미디어서버의 상태를 싱크해주기
* 쌓인 이미지 파일 삭제하기
/etc/crontab 을 편집하고 crond를 재시작 했으나 변경내용이 적용되지 않는다.
crontab -e 해서 편집하니 적용된다. tmp/crontab.XXX??? 이렇게 저장된 파일이 편집된다.
재부팅을 해야 /etc/crontab 파일이 적용되는건가?
* * * * * root run-parts /etc/cron.minutely
라고 했더니 실행이 안된다.
구글링하다가 발견한 어떤 예제대로
* * * * * su - root run-parts /etc/cron.minutely
이렇게 했더니 잘 된다.
원래 기본으로 되어있던게 위의 방식인데 원래 안되는걸 저렇게 해놓지는 않았을텐데 왜 안될까?
아무튼 이제 된다.
그리고,
crontab 문제인지, 내가 작성한 스크립트 문제인지 확인을 못해서 좀 해멨는데
/var/log/cron 파일을 살펴보면 crontab에서 실행한 목록을 알수 있다.
이게 커져있다면,
tail -n 20 /var/log/cron 하면 최근로그만 볼 수 있다.
cat /var/log/cron | grep 찾고싶은문자열
하면 내가 확인하고 싶은 커멘드에 대한 실행부분만 찾아 볼 수도 있다.
모든 일이 알고나면 단순한데
일단은 까다롭다...
* DB와 미디어서버의 상태를 싱크해주기
* 쌓인 이미지 파일 삭제하기
/etc/crontab 을 편집하고 crond를 재시작 했으나 변경내용이 적용되지 않는다.
crontab -e 해서 편집하니 적용된다. tmp/crontab.XXX??? 이렇게 저장된 파일이 편집된다.
재부팅을 해야 /etc/crontab 파일이 적용되는건가?
* * * * * root run-parts /etc/cron.minutely
라고 했더니 실행이 안된다.
구글링하다가 발견한 어떤 예제대로
* * * * * su - root run-parts /etc/cron.minutely
이렇게 했더니 잘 된다.
원래 기본으로 되어있던게 위의 방식인데 원래 안되는걸 저렇게 해놓지는 않았을텐데 왜 안될까?
아무튼 이제 된다.
그리고,
crontab 문제인지, 내가 작성한 스크립트 문제인지 확인을 못해서 좀 해멨는데
/var/log/cron 파일을 살펴보면 crontab에서 실행한 목록을 알수 있다.
이게 커져있다면,
tail -n 20 /var/log/cron 하면 최근로그만 볼 수 있다.
cat /var/log/cron | grep 찾고싶은문자열
하면 내가 확인하고 싶은 커멘드에 대한 실행부분만 찾아 볼 수도 있다.
모든 일이 알고나면 단순한데
일단은 까다롭다...
Trackback Address :: http://10year.tistory.com/trackback/126
2008/06/10 10:55
[팁]
플래시에서 제공하는 설정창을 이용한다.
Security.showSettings(SecurityPanel.CAMERA);
Security.showSettings(SecurityPanel.CAMERA);
카메라가 변경된 이벤트를 받는 방법을 알수가 없다.
타이머 돌렸다.
그리고 디바이스설정창을 띄운 MovieClip의 MouseOver 이벤트에서 타이머를 껏다.
뭔가 깔끔한 방법이 있을듯한데... 익숙한 잔머리로 해결. - - ;
video.attachCamera()를 어떻게 예쁘게 할까 고민하다가
무심코 실행시켜보니 자동으로 video에 attach된 카메라가 바뀌어 있다.
그런데 오디오는 설정창에서 변경했는데
Microphone.getMicrophone() 해봐도 변경이 안되어있다.
어렵다. - -
Trackback Address :: http://10year.tistory.com/trackback/119
2008/05/20 17:49
[팁]
MovieClip을 상속받은 클래스에 setFront() 함수.
public function setFront( )
{
return parent.setChildIndex(this, parent.numChildren-1);
}
Trackback Address :: http://10year.tistory.com/trackback/115
2008/05/20 11:40
[팁]
describeType
XML로 타입정보를 반환한다.
adobe.serialization.json 패키지의 JSONEncoder 클래스를 보다가 알게된 함수.
역시 좋은 코드를 많이 봐야 한다.
XML로 타입정보를 반환한다.
adobe.serialization.json 패키지의 JSONEncoder 클래스를 보다가 알게된 함수.
역시 좋은 코드를 많이 봐야 한다.
Trackback Address :: http://10year.tistory.com/trackback/114
2008/03/12 19:23
[팁]
mplayer에서 http를 이용해서 wmv를 재생할때,
http서버가 wmv의 content-type을 video/x-ms-wmv 로 응답을 하면,
첫번째 연결을 끊고, 아래와 같은 요청을 다시 보낸다.
웹서버는 첫번째 요청과 같은 응답(Response)을 보내고, 재생은 실패한다.
content-type을 text/plane으로 응답하면,
다시 요청하지 않고, 잘 재생한다.
추측컨데,
content-type이 video/x-ms-wmv 로 지정이 되면,
서버를 윈도우미디어서버로 판단하고, 윈도우미디어서버가 제대로 응답할수 있는
Pragma 항목이 포함된 request를 다시 날리는듯하다.
이 경우 일반 http서버는 http 프로토콜에 정해진대로 응답을 하게 되고,
미디어서버방식의 응답을 기다리는 mplayer는 재생에 실패하게 된다.
content-type은 http client가 컨텐츠를 다루는 방식을 결정하는데 사용하는것이지,
서버의 동작방식을 사용하는것이 아닐텐데 이런식으로 구현하는게 이해가 안간다. - -
http서버가 wmv의 content-type을 video/x-ms-wmv 로 응답을 하면,
첫번째 연결을 끊고, 아래와 같은 요청을 다시 보낸다.
웹서버는 첫번째 요청과 같은 응답(Response)을 보내고, 재생은 실패한다.
GET /300_Trailer2_6.5mbps_720p23.98_5.1.wmv HTTP/1.0
Accept: */*
User-Agent: NSPlayer/4.1.0.3856
Host: dev.host.com:8050
Pragma: xClientGUID={c77e7400-738a-11d2-9add-0020af0a3278}
Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=0:0,request-context=1,max-duration=0
Connection: Close
content-type을 text/plane으로 응답하면,
다시 요청하지 않고, 잘 재생한다.
추측컨데,
content-type이 video/x-ms-wmv 로 지정이 되면,
서버를 윈도우미디어서버로 판단하고, 윈도우미디어서버가 제대로 응답할수 있는
Pragma 항목이 포함된 request를 다시 날리는듯하다.
이 경우 일반 http서버는 http 프로토콜에 정해진대로 응답을 하게 되고,
미디어서버방식의 응답을 기다리는 mplayer는 재생에 실패하게 된다.
content-type은 http client가 컨텐츠를 다루는 방식을 결정하는데 사용하는것이지,
서버의 동작방식을 사용하는것이 아닐텐데 이런식으로 구현하는게 이해가 안간다. - -
Trackback Address :: http://10year.tistory.com/trackback/105
2008/03/10 11:32
[팁]
1. 배포화일
* [pluginname].xpi 로 패키징된다.
* zip으로 압축하여 확장자만 xpi 로 바꿈.
* 자동설치를 위한 구성은 링크 참조
링크 : http://knuth.cafe24.com/7?TSSESSION=64c3f5324159d8fa16c68d8518407bbb
2. 코드사인
* 링크된 페이지에 지정된 순서대로 코드사인을 진행한다.
내용은 IE용 코드사인키파일을 FF용으로 변환하고,
FF용으로 변환된 키파일을 이용해서 플러그인파일에 사인한다.
IE용 코드사인과의 차이점은 IE용은 패키징된 파일(cab)에 최종적으로 사인하는 반면에
FF용은 패키징(xpi)되기전 파일에 사인한후 코드사인과 관련된 메타정보파일을 함께 패키징한다.
IE용이 훨씬 깔끔하다.
링크 : http://blog.naver.com/certkorea?Redirect=Log&logNo=80026723413
* 삽질주의
1. 링크된 페이지의 C단계(인증서 import)에서 오류(000004c0)가 발생한다.
window2000에서 다시 해 보거나 아래 링크에서 제시하는 방법으로 개인키파일(pvk)을 새로 만들어서 해결할 수 있다. (http://www.xxeo.com/archives/2004/05/06/whipped-cream-microsoft-authenticode-pvkmprtexeerror-000004c0-and-other-delights.html)
2. 웹서버 셋팅
* xpi 확장자에 대한 mime셋팅을 아래와 같이 지정한다. (아파치 기준)
* 파일 : /etc/httpd/conf/httpd.conf
내용 : AddType application/x-xpinstall .xpi
* [pluginname].xpi 로 패키징된다.
* zip으로 압축하여 확장자만 xpi 로 바꿈.
* 자동설치를 위한 구성은 링크 참조
링크 : http://knuth.cafe24.com/7?TSSESSION=64c3f5324159d8fa16c68d8518407bbb
2. 코드사인
* 링크된 페이지에 지정된 순서대로 코드사인을 진행한다.
내용은 IE용 코드사인키파일을 FF용으로 변환하고,
FF용으로 변환된 키파일을 이용해서 플러그인파일에 사인한다.
IE용 코드사인과의 차이점은 IE용은 패키징된 파일(cab)에 최종적으로 사인하는 반면에
FF용은 패키징(xpi)되기전 파일에 사인한후 코드사인과 관련된 메타정보파일을 함께 패키징한다.
IE용이 훨씬 깔끔하다.
링크 : http://blog.naver.com/certkorea?Redirect=Log&logNo=80026723413
* 삽질주의
1. 링크된 페이지의 C단계(인증서 import)에서 오류(000004c0)가 발생한다.
window2000에서 다시 해 보거나 아래 링크에서 제시하는 방법으로 개인키파일(pvk)을 새로 만들어서 해결할 수 있다. (http://www.xxeo.com/archives/2004/05/06/whipped-cream-microsoft-authenticode-pvkmprtexeerror-000004c0-and-other-delights.html)
C:\pvk>pvk -in verisign.PVK -out new.pem
Enter Password:
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
C:\pvk>pvk -in new.pem -strong -out new.pvk -topvk
Enter PEM pass phrase:
Enter Password:
Verifying - Enter Password:
C:\pvk>PVKIMPRT.EXE verisign.SPC new.pvk
2. 알집에서 압축을 했더니 압축결과에서 순서가 문서에 나와있는데로임에도 불구하고
설치과정에서 오류(Signing could not be verified - 260)가 발생한다.
아래페이지에서 zip 유틸리티를 다운받아 문서에 나와있는 그래도 패키징했더니 문제가 해결됐다.
http://www.info-zip.org/Zip.htm
2. 웹서버 셋팅
* xpi 확장자에 대한 mime셋팅을 아래와 같이 지정한다. (아파치 기준)
* 파일 : /etc/httpd/conf/httpd.conf
내용 : AddType application/x-xpinstall .xpi
Trackback Address :: http://10year.tistory.com/trackback/103
2008/01/30 16:26
[팁]
JSONP에 관한 댓글 질문이 있어서 테스트로 구현해봤다.
실제로 동작하는걸 보니 재미있기도 하고, cross domain정책이 이렇게 무너지는게 참 어이없기도 하고 그렇다.
<!-- html 페이지에 들어가는 내용 -->
<!-- http://otherdomain.com/js/test.js 의 내용 (실서비스에서는 동적으로 구성하겠지요) -->
실제로 동작하는걸 보니 재미있기도 하고, cross domain정책이 이렇게 무너지는게 참 어이없기도 하고 그렇다.
<!-- html 페이지에 들어가는 내용 -->
<a href="#" onclick="calljsonp()">calljsonp</a>
<div id="header"></div>
<script type="text/javascript">
function testfunc(ret)
{
alert(ret);
}
function calljsonp()
{
var script = document.createElement("script");
script.setAttribute("src", "http://otherdomain.com/js/test.js");
$("header").insertBefore(script, null);
}
</script>
<!-- http://otherdomain.com/js/test.js 의 내용 (실서비스에서는 동적으로 구성하겠지요) -->
testfunc('jsonp test succeed!!!!');
Trackback Address :: http://10year.tistory.com/trackback/96
2008/01/16 12:03
[팁]
ActionScript2.0에서는 정규식을 지원하지 않는다.
그래서 아래와 같은 문자열 치환 함수들을 사용할 수 있다.
ActionScript3.0에서는 String클래스에 replace라는 메소드가 있다. (정규식지원)
Flash9으로 작업을 시작할걸 그랬다. - -
String.prototype.replaceIt=function(find,replace)
{
var result = this.split(find);
return result.join(replace);
}
Trackback Address :: http://10year.tistory.com/trackback/90
2007/11/17 12:07
[팁]
Object.extend(Validation, {
// ...
test : function(name, elm, useTitle) {
var v = Validation.get(name);
var prop = '__advice'+name.camelize();
try {
if(Validation.isVisible(elm) && !v.test($F(elm), elm)) {
//if(!elm[prop] && !Element.hasClassName(elm, "no-advice")) { -- 수정전
// no-advice 클래스가 셋팅되면 advice를 보여주지 않는다. -- modified by stone
if(!elm[prop] && !Element.hasClassName(elm, "no-advice")) {
// ...
}
elm[prop] = true;
elm.removeClassName('validation-passed');
elm.addClassName('validation-failed');
return false;
} else {
var advice = Validation.getAdvice(name, elm);
if(advice != null) advice.hide();
elm[prop] = '';
elm.removeClassName('validation-failed');
elm.addClassName('validation-passed');
return true;
}
} catch(e) {
throw(e)
}
},
// ...
});
Trackback Address :: http://10year.tistory.com/trackback/73




이올린에 북마크하기
이올린에 추천하기