태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

/etc/my.cnf 에서 로그 파일 경로 확인


log-error=/var/log/mysqld.log


해당 로그 파일에서 temporary password 검색.


cat /var/log/mysqld.log | grep "temporary password"



그러면..


[Note] A temporary password is generated for root@localhost: HTpk:ldnY1b,


이런식으로 나오는게 있다.



이번에 생성된 비번은 HTpk:ldnY1b,



로그인 해서 비번 바꾸면 됨.




비번은 영어대문자, 소문자, 특수문자 섞어서 8자리 이상 되어야 하는듯 싶다.


안그러면


ERROR 1819 (HY000): Your password does not satisfy the current policy requirements


이런 에러 뜸...



마지막에 FLUSH PRIVILEGES; 해주는거 잊지말고....

Posted by MC02

구글 번역 API는 유료니까 패스.


MS Bing API를 써 봅시다~~


MS Live 계정이 있어야 됨. 그냥 gmail이나 naver메일 이런걸로 가입 ㄱㄱ


https://datamarket.azure.com/dataset/bing/microsofttranslator


200만자 까지 무료로 쓸 수 있는거 있음..


캡쳐 하기 귀찮으니..

https://www.conory.com/xe_product_manual/47924


이 문서 참고.



젤 마지막꺼는 저 글 쓴분이 개발한 애드온 사용할때 쓰는거니까 패스..



PHP 예제는

https://blogs.msdn.microsoft.com/translation/walkthrough/phptranslator/

여기서..


CURL 써서 번역해 주는거임.



Step2, Step3의 회색 박스 내용만 복사해서 써먹자.

클래스 2개 파일명은 Step3에 나온걸로 하자....ㅋ



체크 해야 할 부분은.

Step3의 샘플 코드에서, 번역 문장이 POST로 전송 되면

먼저 토큰을 받아서 번역 요청을 하는데

그때 발급 받은 CLIENT_ID와 CLIENT_SECRET을 쓰는걸로 되어 있다.


근데 이게...아까 등록했을 Application에 있는 CLIENT_ID와 CLIENT_SECRET이 아니다.

그거 넣으면 ACS50012: Authentication failed. 이런 에러를 만나게 된다. ㅋㅋ



그럴때는

https://datamarket.azure.com/account

여기 계정 정보에서

Primary Account Key를 CLIENT_ID에 집어넣고

Customer ID를 CLIENT_SECRET에 집어넣자.

잘 되더라.



그리고 번역 언어 설정은..

Step3 예제에서 토큰 받아온 이후에 // Set the params. // 부분이 있다. (30Line 정도에 있음)

거기에 fromLanguage와 toLanguage가 있으니 바꿔서 쓰면 된다.


국가별 언어코드는

https://msdn.microsoft.com/en-us/library/hh456380.aspx

여기를 확인 하자.

Posted by MC02

SERVER쪽 디렉토리 권한도 777에

혹시나 해서 nobody nobody로 변경도 해 보고..


방화벽은 아직 안 물려있지만 혹시나 해서 nfs 포트도 고정 시켜보고

iptables는 초기 설정 상태에서 전부 주석처리 한지 오래... (사실 이것때문에 다른 오류도 났었음..)


알고봤더니 경로를 잘 못 입력한것....



문득 입력했던 커맨드를 다시 보는데...뭔가 이상하다 싶어서 자세히 보니...


NFS 서버쪽 경로에 /가 빠져있네.....



mount -t nfs SERVER:/NFSShare /NFSShare


이렇게 입력해야 할것을


mount -t nfs SERVER:NFSShare /NFSShare


이렇게.....



/ 하나 추가 해주고 나니 문제 없이 마운트 성공...


어제부터 머리 쥐어뜯고 있었는데 가장 시간이 오래걸렸던 이 문제가 이렇게 해결 되니

너무 허무하다....



꺼진 불도 다시보자 입력한 커맨드, 다시 한번 확인하자


--- 추가.

/etc/exports 에서 root_squash(미입력시 기본값)를 추가 해주면 루트만 사용 할 수 있고, no_root_squash를 주면 일반 계정에서도 사용 가능.


Posted by MC02
TAG centos, mount, NFS

라이센스 하나 사면


Grid, Chart, Gauge, Button 등등


다양한 위젯을 사용 할 수 있다. (29가지 위젯..)


라이센스 구입비용도 그리 부담 되는 수준은 아닌거 같고..


게다가 상용 목적이 아니라면 그냥 무료다.



이걸 사용해서 약 3주에 걸친 노력 끝에 계획했던 기능 하나를 만들었는데.


jQuery부터 익숙하지 않은데 Grid까지 적용하려니 힘들다.


그래도 익숙해지면 꽤나 빠른 개발 속도가 나올거 같기도 하니 좀 더 해봐야지...


자세한건 http://www.jqwidgets.com 여기에...



jqGrid하고는 다른것..

Posted by MC02

procedure, function, package에서

ORA-00942: 테이블 또는 뷰가 존재하지 않습니다

라는 오류가 발생 할때..



1. 메세지 내용 그대로, 생성하지 않거나, 잘 못 입력한 테이블이나 뷰가 존재 하는지 확인.


2. 모든게 정상인 경우, 다른 OWNER 소유의 TABLE / VIEW라면, GRANT를 확인


3. GRANT도 정상이라면.. procedure / function / package를 호출 하는 owner와, 권한을 부여받은 owner가 동일한지 확인.

ex) A owner 소유의 tblA가 존재 하고, b owner에 해당 테이블을 사용하는 procedure를 작성하였을때,
     이 procedure를 c 라는 owner가 호출 해서 사용하는 경우, b owner에 a.tblA에 대한 사용권한이 존재해야 한다.
     프로시저는 C가 호출 하지만, 실제 테이블에 접근하는건 B가 되기때문에 그렇다고 생각 함...ㅡㅡ;;



Posted by MC02

자주 써먹는 Schema들..


USER_OBJECTS

USER_TABLES

USER_COLUMNS

USER_VIEWS

USER_TRIGGERS

USER_SOURCE -- Function, Procedure, Package


좀 더 많은 스키마는 여기에서...

http://whdvy777.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4-%EA%B0%81%EC%A2%85-%EC%8A%A4%ED%82%A4%EB%A7%88-%EC%A1%B0%ED%9A%8C




추가로...

접두사로 USER 를 사용 중인데.. 이건 해당 OWNER의 정보를 조회 할때 사용한다.

자기 자신의 정보 이외에, 자기가 권한을 가진(?) 다른 OWNER의 정보를 함께 조회 하고자 하는 경우

ALL_USERS, ALL_TABLES 이런식으로 접두사를 ALL 로 변경 하면 된다.

Posted by MC02

몇주에 걸쳐서 정보를 찾아보고 하다가..

오늘 문득 생각난게 있어서 시도를 해 봤더니...일단은 의도한것처럼 나오긴 한다...

좀 더 테스트를 해 봐야 할것 같긴 하지만.....


여하간...문제가 되었던건

A4사이즈의 report 문서를 portrait 설정으로 PDF를 생성하면 정상적으로 생성 되는데,

landscape로 바꿔서 생성하면, 90° 시계반대방향으로 회전한 상태로 생성이 되었다. (참고)


이걸 어떻게 해결 할까 머리를 쥐어 뜯다가..

문서 포맷은 portrait으로 놔두고, 사이즈만 가로<->세로 바꿔서 생성하면 어떨까 싶어서 해 봤더니..


원하는 결과가 나왔다.



하하하....

몇주간 머리 쥐어뜯은게 허무해지는 순간이다...

Posted by MC02

데이터가 배열인 경우..

-- JAVA

    StringBuffer sb = new StringBuffer();
    sb.append("[");
    for(Iterator<VO> it = listVo.iterator(); it.hasNext();) {
        VO vo = it.next();
        sb.append("[");
        sb.append("'"+vo.getCol1()+"',");
        sb.append("'"+vo.getCol2()+"',");
        sb.append("'"+vo.getCol3()+"',");
        sb.append("'"+vo.getCol4()+"'");
        sb.append("]");
        if(i++ < size-1) sb.append(",");

    }
    sb.append("]");
    response.setContentType("text/javascript");
    response.getWriter().print(sb.toString());
    response.getWriter().flush();
    return null;


-- JAVASCRIPT

success : function(transport) {

    var oJson = eval('(' + transport + ')');

}


데이터가 JSONObject일때

-- JAVA

    JSONObject outter = new JSONObject();

    outter.put("col1",value1);

    outter.put("col2",value2);

    outter.put("col3",value3);

    outter.put("col4",value4);

    response.setContentType("application/json; charset=UTF-8");

    PrintWriter pw = response.getWriter();

    pw.print(outter.toString());

    pw.flush();

    return null;



-- JAVASCRIPT

success : function(transport) {

    var oJson = transport;

}


배열과 JSONObject의 차이는..


[[value1, value2, value3],

 [value1, value2, value3],

 [value1, value2, value3],

 [value1, value2, value3]]


{"key1" : value1,

  "key2" : value2,

  "key3" : {"key3_1" : value3_1,

               "key3_2" : value3_2}

}


요렇게 생겨먹은게 다름..

Posted by MC02
TAG java, JQuery, JSON