JBoss 구동시 아래와 같은 오류 발생


ARJUNA-16027 Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR



오라클 권한 문제라고 한다.

아래 명령어로 해결


GRANT SELECT on sys.dba_pending_transactions TO user;

GRANT SELECT on sys.pending_trans$ TO user;

GRANT SELECT on sys.dba_2pc_pending TO user;

GRANT EXECUTE on sys.dbms_system to user;



출처 : http://blog.daum.net/dhyunkang/2989164

Comments

  1. 2014.05.16 14:33 Permalink Modify/Delete Reply

    비밀댓글입니다

Leave a Comment

구글 애드몹 설치 가이드

http://www.google.co.kr/landing/admob/platforms.html


구글 애드몹 공식 사이트

https://kr.admob.com/my_sites/site_install_code/?new=1&site_id=a151b556716d599


구글 애드몹 개발자 가이드

https://developers.google.com/mobile-ads-sdk/docs/android/fundamentals?hl=ko


광고 비교 및 추천

http://www.androidpub.com/1981536



안드로이드 어플 홍보 방법

http://www.androidpub.com/1958746


디자인 가이드

http://baekhorang.tistory.com/215

http://baekhorang.tistory.com/210

http://prezi.com/hoeo3dr0xx-j/android-uxui-design/


아이콘 파인더

http://www.iconfinder.com/


Android DB Programming Guide

http://arabiannight.tistory.com/68





Leave a Comment

Apple의 HTTP Live Streaming Overview를 보다보면 이런 문구가 있다.


For video on demand from prerecorded media, Apple provides a free tool to make media segment files and playlists from MPEG-4 video or QuickTime movies with H.264 video compression, or audio files with AAC or MP3 compression.


.


The tools are frequently updated, so you should download the current version of the HTTP Live Streaming Tools from the Apple Developer website. You can access them if you are a member of the iPhone Developer Program. One way to navigate to the tools is to log onto connect.apple.com, then click iPhone under the Downloads heading.


HLS에 대해 세미나 및 데모를 준비하다가 나를 제일 고생시킨 부분이 이것 때문이다.

free tool만 보고 한참을 connect.apple.com에서 찾아보아도 tool은 나오지 않았다.

결국 중요한 부분은 이거였다.


You can access them if you are a member of the iPhone Developer Program.


나는 이 iPhone Developer Program이란 것이 돈을 지불한 계정이란 것을 알지 못했다.

심지어 스택 오버 플로우에만 보아도 나처럼 공짜인지 알고 이 툴이 어디있냐고 묻는 외국인들의 질문들이 있다.


결론적으로 이 HTTP Live Streaming Tools을 받고 싶다면 유료 아이폰 디벨로퍼 계정이 있어야 한다는 얘기다.


결국 회사 계정을 통해서 다운받을 수 있었다.

유료 계정으로 https://developer.apple.com/downloads/index.action?=http%20 에 접속을 하면

이전처럼 makeRefMovie만 나오지 않고, HTTP Live Streaming Tools이 떡하니 나온다.

물론 connect.apple.com에도 나오며, iOS탭에 4개만 있던 목록이 10개로 늘어난다.


나처럼 엄한데서 찾지 않길 바란다.

참고로 나는 일단 오픈소스를 통해서 데모를 해보고, 그러면서도 일주일을 넘게 이 툴을 찾았다.

웃긴 것은 내 계정에 초대를 통해서 아이폰 디벨로퍼 프로그램에 가입한 당일에는 저 툴이 보이지 않고 다음 날이 되니 보여졌다. 관리자가 승일을 따로 해준다거나 초대를 받고 수락하면 원래 하루가 걸리는건지는 모르겠다.



Leave a Comment


기이한 현상을 발견하였다.
공인 IP로 설정되어진 하나의 서버에 공인 IP로 접속을 하면 가능하나 사설 ip로는 접속이 불가능한 경우가 생겼다.

이유를 알 수가 없었다.
방화벽 문제도 아니였고, IP 필터링을 하거나 포트가 막혀있는 경우가 아니었다.


다른 대리와 고민하고 있다가 기술이사님에게 문의를 했다.
사실 이사님이라고 뾰족한 수가 있겠냐 싶었지만 문제가 생겼으니 문제점에 대해 보고를 드렸다.

이사님이 잠시 확인을 해보시더니 신기한 경우라고 잠시 생각에 잠기셨다.
그리고 공인 IP를 다른 걸로 바꿔보라고 하셨다.

그런데. 

그런데. 

그런데. 

됀다...!!!!!!

공인 IP를 다른걸로 바꾸니가 됀다.
뭐 이런 경우가 다 있나 싶은데, 정확한 이유를 알아내지 못했지만 해결되었다.

이사님에게 어떻게 알았냐고 물어봤더니 이사님의 대답은...

"경험이지 뭐~"



오늘의 교훈.
IT 짬밥은 역시 무시할 수 없다.


 

Leave a Comment

크롬이 기본으로 개발자 도구를 지원해주고 있었다.
구글은 정말 사랑할 수 밖에 없는 것 같다. 따로 추가 플로그인 같은걸 설치해주어야 할지 알았는데 크롬 설치시 기본적으로 내장되어 있다. 꾀 기능이 많아 보이는데 조금씩 알아가야 할 것 같다. (당장은 내가 웹 개발자가 아니니 쓸일은 없어보인다. -_-;)



단축키 : [CTRL] + [SHIFT] + J

 
위에는 HTML5에서 추가된 storage를 테스트하고 개발자 툴을 이용해서 저장된 storage를 확인한 것이다.
아래는 소스이다.


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>storage</title>
<script>
window.onload=function(){
var removeBtn = document.getElementById("removeBt");
var addBtn = document.getElementById("addBt");
removeBtn.addEventListener("click", remove);
addBtn.addEventListener("click", add);
load();
}
function load(){
var list = document.getElementById("list");
list.innerHTML = "";
for(var i=0; i < localStorage.length; i++){
var key = localStorage.key(i);
list.options[list.options.length] = 
new Option(localStorage[key], key);
}
}
function remove(){
var list = document.getElementById("list");
if(list.selectedIndex < 0){
return;
}
var selected = list.options[list.selectedIndex].value;
localStorage.removeItem(selected);
load();
}
function add(){
var key = document.getElementById("key").value;
var value = document.getElementById("value").value;
localStorage[key] = value;
load();
}
</script>
</head>
<body>
<h1>LocalStorage Test</h1>
<select id="list" size="5" style="width:100px"></select>
<button id="removeBt">remove</button>
<p>
key:<input type="text" id="key">-
value:<input type="text" id="value">
<button id="addBt">Add</button>
</p>
</body>
</html>

 [Source 1] storage.html



아래는 HTML5에서 추가된 Indexed DB의 테스트 코드이다.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Database Test</title>

<script>
// open or create
var db = openDatabase("dbtest", "", "DB Test", 1024*1024);
db.transaction(function(tx){
tx.executeSql("create table if not exists m_tb "
+ "(_id integer primary key autoincrement,"
+ "name not null, phone not null)");
});
window.onload=function(){
var removeBtn = document.getElementById("removeBt");
var addBtn = document.getElementById("addBt");
removeBtn.addEventListener("click", remove);
addBtn.addEventListener("click", add);
load();
}
function load(){
db.transaction(function(tx){
tx.executeSql("select * from m_tb", [], 
function(tx, rs){
var list = document.getElementById("list");
list.innerHTML = "";
var rows = rs.rows;
for(var i=0; i<rows.length;i++){
var row = rows.item(i);
list.options[list.options.length] = 
new Option(row.name, row._id);
}
});
});
}
function remove(){
var list = document.getElementById("list");
if(list.selectedIndex < 0) return;
var selected = list.options[list.selectedIndex].value;
db.transaction(function(tx){
tx.executeSql(
"delete from m_tb where _id = ?",
[selected], function(){load();}
);
});
}
function add(){
var name = document.getElementById("name").value;
var value = document.getElementById("phone").value;
db.transaction(function(tx){
tx.executeSql("insert into m_tb (name, phone) " +
"values (?, ?) ", [name, value],
function(){
load();
}
);
});
}
</script>

</head>
<body>
<h1>Database Test</h1>
<select id="list" size="5" style="width:100px"></select>
<button id="removeBt">remove</button>
<p>
Name  : <input type="text" id="name">-
Phone : <input type="text" id="phone">
<button id="addBt">Add</button>
</p>
</body>
</html>

 [Source 2] database.html

Comments

  1. Ariel 2011.08.04 16:39 신고 Permalink Modify/Delete Reply

    밑에 소스는 indexedDB 가 아니라 webSQL 입니다. ^^;

Leave a Comment

전체 국가나 각 국가의 웹 브라우저 시장 점유율을 보여주는 사이트.

http://gs.statcounter.com/

아래쪽에 보면 알겠지만, IE의 점유율이 많이 내려갔지만 국내에서는 압도적인 점유율을 자랑한다.
그러나 Mobile 상에서는 많이 다른 모습을 보여준다.


* 전체 국가 브라우저 점유율





* 국내 브라우저 점유율






* 국내 모바일 브라우저 점유율



기타 HTML5 관련 사이트
http://www.html5rocks.com/en/
http://caniuse.com/
http://www.w3.org/
https://demos.mozilla.org/ko/

Leave a Comment


뭔가 했더니 이클립스는 64비트용인데 자바는 32비트를 깔아놓아서 생긴 문제였다.

자바 삭제하고 재설치하니 깔끔함.

Comments

  1. 설치할때마다고생 2011.02.09 15:17 신고 Permalink Modify/Delete Reply

    그..그런거였군요. 도움주셔 감사합니다. 오늘 노트북이 왔는데 64비튼 첨 써봐서 -_-;;;

Leave a Comment


오늘 매우 기초적인 실수로 인하여 한참을 고생했다.
개발 티맥스 서버에서 TCS 서비스를 만든 후에 컴파일을 에러없이 정상적으로 하였는데
서버를 리붓하면 자꾸 다음과 같이 에러가 나는 것이었다.

(E) ******** no such svc(TCSServiceName) in shm [******]
(F) ******** internal error in svc_tab [*******]


문제는 너무 초보적인 실수였다.
서비스 이름 제한이 15자인데 15자를 넘은 것이다.

이런 초보적인 실수를 안하다 해서 한참을 왜 그런가 고민했다. 어이가 없었다.

Leave a Comment

업무중에 Probus를 통하여 연동작업을 하는 도중에

기존에 deploy된 작업들의 내용을 수정해서 deploy를 다시 했더니 제대로 동작하지 않는 에러가 발생하였다.

서비스를 완전 새로 만들면서 삽질을 하다가 알고 보니

기존에 이름이 겹치지 않는 새로운 서비스는 잘 되지만, 기존 서비스들을 수정할 경우에는

컨테이너를 내렸다가 다시 올려야만 했다.


다른 자바 웹 컨테이너에서도 가끔 발생한 문제이지만

기존 서비스를 수정할 경우에는 기존에 돌아가던 서비스가 제대로 undeploy되지 않아 충돌이 되는 듯하다.

Leave a Comment

-HTML, JAVASCRIPT, CSS
http://www.gotapi.com/

-AJAX
http://ajaxian.com/

-DBMS
http://database.sarang.net/

-Oracle
http://oracleclub.com/

-Digital WEB Magazine
http://www.digital-web.com/

-ASP
http://www.taeyo.net/
http://www.taeyo.pe.kr/

-PHP
http://www.phpschool.com/
http://php.net/

-JSP
http://okjsp.pe.kr/

-Open Source Community
http://kldp.org/

-

Leave a Comment


to Top