오유인페이지
개인차단 상태
MrJAVA님의 개인페이지입니다
회원가입 : 12-10-24
방문횟수 : 2089회
닉네임 변경이력
일반
베스트
베오베
댓글
452 2014-12-24 17:13:08 5
예체능 보다가.. 전미라의 라켓에서 노란 리본 발견. [새창]
2014/12/24 14:29:31
작성자님 이불팡팡하시겠네요...ㅋ

엘보링입니다.

-----------------------------------------------------------------------------------------------------------------
테니스를 치는 사람이라면 한번쯤 부상을 경험 했을 것이다. 그중에 테니스 엘보는 팔 관절과 손목에 무리한 힘이 주어져 팔꿈치 관절 주위에 생기는 통증이며 테니스를 치는 사람들에게 자주 일어난다고 하여 붙여진 이름이다. 의학용어로는 상완골외상과염(上腕骨外傷顆炎)이라고 한다.

원인은 팔꿈치에서 손바닥에 이르는 뼈를 싸고 있는 힘줄이 부분적으로 파열되는데 이런 힘줄 파열은 공이 라켓에 맞았을 때 생기는 진동에 의해 팔에 자극을 주어 일어난다. 라켓의 무게, 그립, 크기 또는 스트링의 텐션 등이 플레이어에 맞지 않거나 정확한 스윗스팟에 공이 맞지 않는 경우 발생한다.

엘보링이란 테니스의 진동을 줄여 테니스엘보를 예방하고 공과 라켓면의 손에 감각을 자기에게 맞게 하기위해 사용된다. 각 회사마다 모양과 크기가 다르며 착용방법도 조금 다르다. 크기를 볼 때 줄과 줄 사이를 1 칸으로 (단위로)정하고 사용되며 홀수로 크기가 증가하며 최고 9칸까지 잡아준다.

엘보의 선택은 라켓의 메이커에 맞추어 사용하기도 하지만 스트로크에 의해 자주 빠지는 경우가 있어 일반적으로 한 칸짜리 버튼 식을 사용하는 추세다.

엘보링을 착용하지 않고 테니스를 치는 선수들은 팔에 단단한 근육이 있기 때문에 진동에 크게 상관이 없으며 선수대부분 동호인보다 스윗스팟에 공을 치기 때문에 진동 또한 덜 오고 있다.

엘보 미 착용시 공이 라켓에 맞으면서 생기는 진동에의한 소리에 의해 자기만의 스트링텐션을 알 수 있으며 경기중 심리적인 안도감을 얻을 수 있다.
451 2014-12-24 15:04:37 0
회사에서 디자인 좀 배우라고하는데요... 할 수 있을까요? [새창]
2014/12/24 13:53:52
절대 안됩니다.

제가 프리랜서 프로그래머에다가 잡다한것 다 해봤습니다.
어릴때 웹 디자인도 배웠습니다.

그 결과 웹 디자인은 그림에 대한 기초적인 감각이 있는 사람이 배워야 합니다.

안 그러면... 답이 나오지 않습니다.
450 2014-12-24 13:07:28 0
[질문]헐..글읽다가.....놀랐음.. [새창]
2014/12/23 14:14:52
//배트맨팔아요

댓글 감사합니다.
화이트 구리스나 실리콘 구리스로 가야 겠네요... 에휴...
449 2014-12-23 17:59:05 5/4
[새창]
ㅋㅋㅋㅋ
이런 글 보면서 느끼는 거지만..
친노패권주의가 뭐지???
누가 만들어낸 단어지???
그리고 진짜 의미는 뭐지???

생각해보고 사용하는 사람은 없는듯..

친일파/똥누리 세력이 만들어낸 언론 프레임에 갇혀져 허우적 거리는 모습이..
진짜.. 애잔하다...
448 2014-12-23 17:41:55 0
[본삭금] PL/SQL 에서 패키지 실행 방법 문의 [새창]
2014/12/23 16:00:44
------------------- 위와 같은 방법 이라면. ------------------------------
아래와 같은 방법으로 실행하려고 합니다. (참고로 VB6 에서 ADO로 접속)
SQL = " EXECUTE xst_monthly_cls_pkg.main(?,?,?,....); "
db.Execute SQL

이런 방식이 되지 않을까요??
참고로 VB6 모릅니다.ㅋ
447 2014-12-23 17:38:24 0
[본삭금] PL/SQL 에서 패키지 실행 방법 문의 [새창]
2014/12/23 16:00:44
[ 프로시저를 생성 ]

CREATE OR REPLACE PROCEDURE pro_name
(userid IN VARCHAR2,
username IN VARCHAR2)
IS
BEGIN

UPDTE company
SET bnmun = username
WHERE id = userid;
COMMIT;

END pro_name;

/ =>프로시저를 끝마친다.

#위에서 생성한 파일을 실행시킴
[ 프로시저 생성 ]
SQL> @pro_name;
Procedure created.

[ 프로시저 실행 방법 ]
SQL> EXECUTE pro_name('mrhong', '홍길동');
PL/SQL procedure successfully completed.

+++++++++++++++++++++++++++++++++++++++++++++++

CREATE OR REPLACE FUNCTION fuc_name
(userid IN VARCHAR2,
username IN VARCHAR2)
IS
BEGIN

UPDTE company
SET bnmun = username
WHERE id = userid;
COMMIT;

END fuc_name;

/ =>프로시저를 끝마친다.

[ 함수 생성 ]
SQL> @fuc_name
Function created.

[ 함수 실행 방법 ]
# 함수에서 리턴받을 변수를 선언한다.
# 이것이 없으면 SP2-0552: Bind variable "G_SAL" not declared. 이러 에러가 표시된다.
SQL> VAR g_sal NUMBER

SQL> EXECUTE :g_sal := FUNC_NAME('값1', '값2', '값3', ...........);
446 2014-12-23 15:16:08 0
[질문]헐..글읽다가.....놀랐음.. [새창]
2014/12/23 14:14:52
헐...............
쉬벙.... 하...........

내가 하는짓이 이렇지.. 뭐.............에휴.....
답변 감사 드립니다.....ㅜ,.ㅜ
445 2014-12-23 14:25:15 0
AIX 서버에 대한 질문 [새창]
2014/12/23 11:06:57
메모리 관련
###########################################################################################
Memory : 물리적 메모리와 페이징 영역에 대한 부분을 보여준다.
물리적 메모리는 일단 계산 가능 영역(computational area)이 있고
   계산 불가 영역(noncomputational area)이 있는데
   계산 가능 영역(computational)은 프로세스가 사용하는 메모리의 부분이고
   계산 불가 영역(noncomputational area)은 파일 캐시(file cache)용도로 사용하는 부분을 말한다.
   paging in, out에 대한 부분도 보여주고 이 외에도 top process와 디스크 등의 사용율을 보여준다.
svmon -G
############################################################################################

시스템 메모리 확인
%vmstat -p 1 10
Usage: vmstat [-cisS] [disk ...] [interval [count]]
############################################################################################

###실제 메모리 용량 확인
서버가 사용하고 있는 물리적 메모리의 양은 다음 명령어로 확인할 수 있다.

# lsattr -El sys0 -a realmem
-----------------------------------------------------------------------------
# lsattr -El sys0 -a realmem

realmem 31457280 Amount of usable physical memory in Kbytes False
-----------------------------------------------------------------------------

31457280은 KB이며 /1024/1024 해보면 30G임을 알 수 있다
제일 뒤 "false"는 명령을 통해 변경될 수 없다는 의미이다.
##################################################################################

참고 사항 :###################################################################################
paging space
paging space는 물리적 RAM의 추가설치에 대한 경제적 대안이다.
즉 디스크의 일부분을 RAM처럼 사용하면서 프로그램의 활성부분은 RAM에 위치시키고
비활성 부분은 paging space에 위치시켜서 프로그램이 사용하는 RAM의 용량을 늘릴 수 있기 때문이다.
RAM과 paging space는 페이지 프레임이라는 4KB 섹션으로 나뉘어 있다.
RAM에 있는 모든 페이지 프레임에 대해, paging space의 하나 이상의 페이지 프레임이 하드 디스크 상에 존재한다.
시스템이 더 많은 RAM을 필요로 할 때, 정보의 페이지 프레임은 RAM에서 나와 하드 디스크로 이동한다.
이를 페이지 아웃(paging out)이라고 한다.
반대로 디스크에 있는 정보가 RAM으로 이동하는 것을 페이지 인(paging in)이라고 한다
444 2014-12-22 10:27:29 0
JAVA 보안 예외 사이트로 오유를 설정하고 싶은데요, [새창]
2014/12/17 16:20:56
깔끔정리..
ㅋㅋ
443 2014-12-19 17:01:43 0
[본삭금] JAVA DATA 처리 관련 조언을 받고 싶습니다 [새창]
2014/12/19 14:48:51
건승하시길..
442 2014-12-19 16:58:31 0
[본삭금] JAVA DATA 처리 관련 조언을 받고 싶습니다 [새창]
2014/12/19 14:48:51
ㅋㅋㅋㅋㅋㅋㅋㅋ
------------------------------------------------------------------
알려주신 방법 중에 하나의 문제가
개발자들이 퇴근하는 새벽시간대가 아닌
업무시간에도 돌아갈 수 있다 라는 전제가 깔려있습니다
그래서 lock 을 걸지 않기 위해서 실시간을 요구를 하는데
혹시 이런 경우도 해보셨는지 궁금합니다
------------------------------------------------------------------------
이건 불가능 하죠..
업무 시간에는 당연히 서버가 부하를 먹고 있는데... 속도 개선이라니...
하드웨어 개선을 해야죠..

그리고 그나마 작업을 한다면....
제가 바로 위에 적은데로 2번과 3번 작업이 적용 되어야 되겠죠..
그렇게 되면 기존의 작업 형태가 변화 되겠지만..
그건 감안 하셔야 합니다.
441 2014-12-19 16:55:11 0
[본삭금] JAVA DATA 처리 관련 조언을 받고 싶습니다 [새창]
2014/12/19 14:48:51
중간 점검.

DBLINK 는 불가.

- A 서버의 권한의 권한은 select 한정

- C 서버에서 처리를 한 후 B 서버로 던지는 형태( C서버상의 테이블과 조인을 하는 형태는 아님)
==>> A 서버에 있는 데이터를 select insert 로 C 서버상의 테이블에 집어넣는 형식 (TEMP 테이블의 개념)

- B 서버의 권한은 crud 모든 권한이 있습니다.그렇지만 B 서버에서 무언가를 처리를 할 수 있는 권한은 없습니다
=> 그렇다면 Procedure나 기타 작업을 불가 ....단순 INSERT

그렇다면 C 서버에서 TEMP에 담긴 데이터를 JAVA 작업을 통해 처리하고
B 서버로 던지기만 해야 하네요.
그리고 최종적인 B 서버는 최종 데이터 로딩만 하고...

그러면 B 서버에서 로딩하는 과정에서 생기는 SQLLoder 로 insert 가 가장 과부하인거로 예상됩니다.

마지막에 ....
===>>"대용량이다보니 속도의 개선을 요구하고 있어서 혹시라도 개선방법이 있을까 해서 글을 올렸습니다"
이 부분에서 대용량을 실시간 처리인가요? 아님 특정 시간 처리인가요???

실시간 처리라면 속도개선은 불가능 합니다.
대용량 / 독립적 사이트 또는 하드웨어 인데...
어떻게 통신을 통해 단순히 데이터를 주고 받는다고 하더라고 속도 개선이 되는지 저는 모르겠습니다....

만약 특정 시간 에 처리하는 거라면..
1 .데이터를 던지는 A 서버의 부하는 없을 것이고..

2. 받아서 저장하고 처리하는 C 서버에서 처리 로직을 변경 #############속도 개선 가능?
3. 최종 데이터를 전달 받아서 저장하는 B 서버에서 SQLLoder 로 insert 즉 FTP등으로 받은 파일을 입력하는 작업은 속도 개선이 불가능
-> 제 경험으로는 대용량 파일을 SQLLoder를 통해 입력할때 시간이 걸립니다. 메모리도 먹구요....
-> 이 부분이 제일 걸립니다.
-> C 서버에서 데이터를 던질때 제가 위에서 말씀 드린데로 쓰레드 데몬으로 XML 통신을 하십시요.
->B 서버에서 데몬 이 있고 C 서버에서 응답 데몬이 응답하여..한꺼번에 많은 용량을 처리하지 말고..
-> 페이징 처리를 통해서 XML을 1만건이나..2만건 단위로 잘라서 보내는 겁니다.
-> 그걸 SQLLoder가 아닌 JAVA 상의 insert 문으로 바로 넣으면 메모리랑 서버 부하가 그나마 줄것 같습니다.
440 2014-12-19 16:38:29 0
[본삭금] JAVA DATA 처리 관련 조언을 받고 싶습니다 [새창]
2014/12/19 14:48:51
이 처럼 메인을 작성하여
jobScheduler.scheduleAtFixedRate(threadJob, 10000, 60000);
이렇게 1분 단위의 호출을 통하여 작업을 수행 할 수 있습니다.

그렇게 해서 야간의 특정 시간 1시나 2시의 새벽에 총괄 Procedure 작업을 수행하면 서버에 문제될게 없을 겁니다.
이상이 저의 의견입니다.

그리고 " 데이터가 대용량이라 메모리 문제로 그것도 여의치 않는 상황"이라면 많은 량의 데이터를 업무 시간 즉 실시간 처리하시고자 하는건 잘못 된 생각입니다. 꼭 어디 어디 사이트 가보면 걸레서버(지극히 제 개인적인 생각입니다만..CPU 코어 2개에 메모리 4기가...에휴..)라서 실시간 처리는 무조건 배제하는 방향으로 작업을 수행하시는게 정신 건강에 도움이 되실것 같습니다.

P.S : 제 생각.. 또는 추정으로는 국가 관련 사이트가 아닐까 생각되네요..ㅋ
서버 용량이 하드웨어 적으로 지극히 제한 되어 있는 경우는 국가 사이트가 많더라구요..ㅋ
439 2014-12-19 16:32:22 0
[본삭금] JAVA DATA 처리 관련 조언을 받고 싶습니다 [새창]
2014/12/19 14:48:51
서버별 환경 및 작업 순서 정리

1. 통신은 JAVA Thread 통신으로 한다.
2. 통신 규약은 xml로 처리한다.
3. xml 처리시 인코딩은 당연히 UTF-8로 처리

B서버 : THREAD 메인 서버
---> 위 서버를 메인으로 두시고 작업
---> "SQLLoder 로 insert" 는 원래 시간이 거리는 작업 - XML 통신으로 실시간 입력
---> A서버와 C 서버상의 필요 데이터를 XML을 이용한 Thread Socket 통신으로 데이터 수신
---> B 서버 상에 임시 테이블을 만들어 A서버 데이터와 C 서버 비교용 데이터를 로딩함.(XML을 읽어 들이면서 바로 INSERT

A서버 : Thread 응답 모듈이나 JSP(기타 서버형태별 응답페이지)를 작성하여 응답(XML 리턴) --> 처리 대상 데이터 정보
C서버 : Thread 응답 모듈이나 JSP(기타 서버형태별 응답페이지)를 작성하여 응답(XML 리턴)--> 처리작업용 기준 또는 비교용 데이터를 리턴

위와 같이 처리하시면 편합니다.
즉 A,C 서버에서는 단순히 데이터를 던집니다.
A서버에서는 매번 신규로 처리할 데이터를 던지고........
C서버에서는 UPDATE 된 처리기준 또는 비교 데이터를 B 서버로 던지고..............

B 서버에서는 A 서버에서 통신된 신규 데이터를 테이블에 담고
C 서버에서 던진 기준 또는 비교용 데이터를 UPDATE 작업을 통한 B 서버상의 기준테이블을 만드시고
그리고 나서 B 서버에서 Procedure(==> C 서버상의 처리 로직을 프로시저에서 처리) 를 최종적으로 Thread 데몬에서 콜하여 즉..

CallableStatement cs = null;

cs = con.prepareCall("{call PROC_TEST(?)}");
     cs.setString(1,문자abc);
     cs.execute();

이런식으로 Procedure를 통한 처리작업을 하면 될것 같습니다.

물론 ==> "프로시져로 C 서버에서 데이터 처리하는 것을 select 순간에 처리를 해볼까도 생각해 봤지만 처리해야 되는 데이터가 대용량이라 메모리 문제로 그것도 여의치 않는 상황" 이라고 하셨는데..

굳이 대용량이면 실시간 처리 하지 않을 것이고
그렇다고 오후 6시 이후 서버의 작업 용량이 허용되는 시간에 처리하면 될것 같습니다.

최종 처리하는 B 서버에서 Thread 데몬을 가동하여
static class testJob extends TimerTask{
....
}
위 처럼 상속받고...
public static void main(String argv[]) throws InterruptedException {
  try{
    ResourceBundle bundle = ResourceBundle.getBundle("server");

  sp = new ServerProperty();
   sp.setTimeOut( Integer.parseInt(bundle.getString("TIME_OUT")) );
   sp.setDbName( bundle.getString("DB_NAME") );
   sp.setDbId( bundle.getString("DB_ID") );
   sp.setDbPassword( bundle.getString("DB_PASSWORD") );
  
  SimpleDateFormat currentTime;
  Date today;
  today = new java.util.Date();
   currentTime = new SimpleDateFormat("HH:mm:ss", new Locale("ko", "kr"));

  testJob threadJob = new testJob();
   Timer jobScheduler = new Timer();
   
   // threadJob을 10초의 딜레이 시간이 지난 후 60(1분)초 간격으로 수행한다.
jobScheduler.scheduleAtFixedRate(threadJob, 10000, 60000);//(작업메소드 , 딜레이타임, 일정간격) - 일정한 시간(delay)이 지난후에 일정 간격
(period)으로 지정한 작업(task)을 수행한다.
  } catch(Exception e){
   log.write( "==== MainServer ======== Exception >>> " + e.toString() );
   e.printStackTrace();
  }
}
438 2014-12-19 16:15:10 0
[본삭금] JAVA DATA 처리 관련 조언을 받고 싶습니다 [새창]
2014/12/19 14:48:51
음.....
저랑 비슷한걸 하시는군요...

포인트 1 : 궁금한 점은 B 서버에서 작업하면 되는건데 왜 굳이 C 서버에서 작업 후 B 서버에 로딩하는건지..
만약 처리하고자 하는 데이터의 조건에 해당하는 정보 테이블이 C서버에 있다면 어쩔 수 없겠죠..
하지만 코드성이라면 아예 B서버가 A,C 서버에서 필요한 데이터를 모아서 처리하도록 하면 되겠죠..
조인할 테이블이 용량이 크면 힘들겠지만..(제 기준에는 BATCH나 PL-SQL로 데이터 TEMP 테이블 만들어서 작업하면 실시간으로 1천만건 정도
는 퍼오는게 편하고 빠르게 작업 할 수 있습니다.)

포인트 2 : A,B,C 서버간의 방화벽 문제는 해결된것 같은데... 데이터 통신상의 암호화 부분은 외부 태클이 없나요??
음.. 데이터 통신문이 암호화 되지 않으면 안된다고 우기는 클라이언트가 있다던지...ㅋ
더불어 통신은 내부망인지..웹을 통한 외부망인지 궁금합니다.

포인트 3 : 설명에서 나오듯 3개의 서버에 모두 db가 있는것 같은데 DB 끼리 DB LINK를 오픈 하면 안되나요??
다 오라클이거나 MY-SQL이거나 아니면 MS-SQL이라면 그냥 LINK 만들어서 C 서버에서 필요한 데이터를 불러다가 임시 테이블 만들어서
입력 작업하면 별 문제 없을건데요...

뭐.. 어쨌거나....
정확한 설명을 하지 않으셨으니...
예상할 수 있는 형태로 말씀 드리면...

서버별 환경 및 작업 순서 정리
A서버 : 기초 데이터 테이블 존재. C 서버로 데이터를 던진다.
C서버 : JAVA를 기준으로한 처리작업.(A서버에서 던진 데이터를 C서버상의 테이블을 조인하여 처리하는건지..
아니면.. TEMP 테이블에 업로드 해서 JAVA를 통해 BUSINESS LOGIC를 수행한다.
B서버 : 이후 C 서버가 최종 처리한 정보를 기준으로 생성한 파일을 B 서버로 던지고 파일로 던진 정보를 SQLLOADER를 통해 TEMP 테이블에 입력하고 최종
처리 작업 후 작업을 종료한다.

만약 위의 기준이라면....
< 이전페이지 다음페이지 >
< 21 22 23 24 25 >
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호