분류 전체보기
- SQL튜닝(4) - IOT (index organizaion table) 구성, 클러스터 테이블 구성, 다중 클러스터 테이블 구성 2016.04.11
- < 나는 용기 있는 사람이다. > 2016.04.09
- <종이 한 장의 차이> 2016.04.09
- SQL튜닝(3) - index(index merge scan, index bitmap merge scan, index join, index uniqe scan), table random access 부하 2016.04.06
- SQL(4) - 단일함수 [숫자(round, trunc, mod), 날짜(between months, add-month, 변화, 일반] 2016.04.05
- SQL튜닝(2)(1.10) - index ( index range scan, index full scan, index fast full scan, index skip scan ) 2016.04.01
- SQL(3)- order by 복습, 단일 함수 中 문자 함수 2016.03.29
- password file, parameter file , 데이터베이스 환경(standard alone 과 rac), connection과 session의 차이, 오라클의 메모리 구조 (SGA 영역 中 shared pool) 2016.03.23 1
- SQL(2)- as, SQL 작성 규칙, " ", distinct, 대체 인용 연산자(q'[ ]'), 날짜 출력, 날짜 세션 변경, order by, 오름차순(asc), 내림차순 (decsend), 연산자 우선순위 규칙, 테이블 생성, 데이터 입력 2016.03.23
- <이웃집에 신이 산다> 2016.03.15
SQL튜닝(4) - IOT (index organizaion table) 구성, 클러스터 테이블 구성, 다중 클러스터 테이블 구성
< 나는 용기 있는 사람이다. >
나는 용기 있는 사람이다.
나이가 먹도록 자신이 하고 싶은 일을 위해서 공부만 하고 있는 것이 미안했고 죄스러웠었다. 그 공부는 또한 석사 박사가 되기 위한 공부는 아니었다. 물론 석사 박사가 되기 위한 공부를 하고 싶었다. 자신도 있었고 교수님들에게 공부를 좀 더 해보기를 권하기도 했으며, 무엇보다도 내가 책을 읽고 생각하고 그러한 내용들 다른 사람들과 이야기 하는 것을 너무 좋아했다. 특히 책을 읽고 생각하고 글을 쓰는 것을 너무 좋아해서 그럴 수만 있다면 매일 그러고 싶었다. 그러나 집안 형편상 그럴 수는 없었다. 그때 이후부터였다. 내가 무언가 배우는 것을 열망하기 시작했던 것은 닥치는 대로 책을 읽었으며, 흥미가 있는 것들을 배우는 것에는 빠지기 시작했다. 아마도 그것이 정신적인 나의 위안이었던 것 같다. 그렇게 무언가 배우고 지식을 쌓은 일이 너무나도 재미있었고 그러한 지식과 지혜들이 사회에 어느 정도 적용될 수 있는지 알고 싶었고 그러한 지혜로 세상을 좀 더 좋은 곳으로 바꾸고 싶었다.
그러나 돈을 버는 것은 중요했다. 하지만 그렇다고 해서 하기 싫은 일을 억지로 하면서 돈을 버는 것은 너무 힘들었다. 돈은 벌 수 있으나 그 시간에 나는 행복하지 못했고 시간이 아깝게 느껴졌다. 그래서 나는 계속해서 공부할 수 있으며, 끊임없이 생각할 수 있고, 세상에 영향력을 줄 수 있으며, 마지막으로 중요한 그러면서 경제 활동이 되는 것이 무엇인지 찾아보았다.
그래서 찾은 것이 ‘분석’에 관련한 업무였다. 나는 꿈에 부풀었었다. 분석은 잘할 수 있을 것 같았다. 어느 정도 지식이 쌓여서 펼쳐지는 남들과는 다양한 생각들을 검증해 볼 수 있으며 계속해서 공부해야만 했고 내가 만들어낸 정보는 사람들에게 중요한 영향을 줄 수도 있다고 생각했다. 그래서 나는 인문학적인 소양을 향상하려고 했다. 기술이란 결국 손에 익으면 된다고 생각했다. 그보다 더 중요한 것은 분석을 왜 해야 하는지 분석을 해야 하는 포인트가 어디인지 그리고 그러한 생각들이 논리적으로 이루어져 있는지에 대한 인문학적인 소양이라고 생각했기 때문이다. 그러나 나는 잘 못 알고 있었다. 기술적인 측면은 취업시장에서 매우 중요한 부분이었다. 나는 그 부분을 간과하고 있었다.
인문학적인 소양을 키웠으니 기술적인 측면을 키우면 되었지만 그럴만한 시간이 없다고 생각했다. 내가 가지고 있는 것은 측정이 어려운 만큼 다른 사람들이 가지고 있는 측정 가능한 영역에서 비교되는 내가 보였으며, 분석을 하고 싶다는 열망은 가지지 못한 것에 대한 자괴감으로 인하여 더욱 큰 고통이 되었다. 그리고 가장 원했던 것이 아닌 자꾸 차선을 선택하고자 하였다. 그러나 역시나 내 자존심은 내 생각보다 강했다. 이를 자존심이라고 해야 할지 열망이라고 해야 할지 잘 모르겠다. 그러나 그 무엇이 다시금 나를 도전하게 되었다. 남들보다 불리한 상황으로 시작하게 되었다.
먼저 나이가 많았다. 다른 시작하는 사람들에 비해 나이가 많았다. 그래서 자는 시간을 줄였다. 남들이 자는 시간, 먹는 시간, 노는 시간에 그만큼 공부를 하였다. 남들이 뭐라고 하여도 나는 그게 좋았다. 물론 나도 쉬는 시간은 있었지만, 같이 배우며 배운 내용에 관해서 토론하고 이야기하는 시간은 그보다 더 좋았다. 또 다른 나의 불리한 상황은 가난이었다. 집안은 나를 지원해줄 수 있는 형편은 아니었고 내가 모아둔 돈도 그리 많지 않았다. 그래서 지출을 줄였다. 옷이나 신발 그리고 그 밖에 기본적인 지출을 최소한으로 두었다. 그리고 책은 도서관을 이용했다. 인터넷을 뒤졌다. 사람들에게 도움을 구했다.
그렇게 노력했고 지금도 노력하고 있다. 그래서 나는 용기 있는 사람이다. 나는 강한 사람은 아니다. 강한 사람이었다면 어려운 현실에 우울함을 느낄 일도 없고, 포기하고자 하는 생각에 번민이 쌓이지도 않을 것이다. 그러나 나는 노력하는 동안에도 흔들렸고 힘이 들었다. 그래서 나는 강한 사람은 아니었지만, 용기는 있는 사람이었다. 용기가 없었다면 이처럼 조금은 늦은 나이에 다시금 도전이라는 시도를 하지 않았을 것이다. 그것도 불리한 것밖에 없는 상황에서 말이다. 나는 아직도 갈 길이 멀다. 어쩌면 이러한 어려움이 조금 더 지속될지 모르겠다. 그래도 나는 나를 앞으로도 패배자라고 생각하지 않겠다. 나는 용기 있는 사람이다. 패배자와 용기 있는 사람의 차이는 이처럼 종이 한 장의 차이로 구별된다.
''나'의 이야기' 카테고리의 다른 글
나의 이야기 (1) (0) | 2019.12.24 |
---|---|
글을 쓴다 (1) | 2019.12.15 |
[신념 1.] 확식이 없다면 가장 기본을 먼저 취하라 (0) | 2014.11.10 |
스스로를 믿자 (0) | 2014.10.29 |
뭐가 '잘 될 거야!'냐.. (0) | 2014.10.26 |
<종이 한 장의 차이>
종이 한 장의 차이
사람들이 명승부를 보면서 간혹 ‘종이 한 장의 차이였다’라는 말을 하곤 한다. 나도 자주는 아니지만 가끔 사용하는 문장이다. 그런데 이 종이 한 장의 차이는 과연 무슨 차이일까? 사람들은 무슨 일을 할 때 흔히 확률을 물어본다. 그 승패의 확률은 어떻게 돼 ? 이길 가능성은 얼마나 돼?라고 물어본다. 그러나 그것은 집단 안에 많은 사람들이 시도했을 때의 결과 값일 뿐 개개인은 그 통계와는 다른 양상을 띤다. 개개인에게 그 승패의 결과는 성공 또는 실패의 50% 확률의 게임이다.
여기서 종이 한 장 차이가 발생한다. 그 개인이 어떠한 승부에서 이길 확률은 50%에서 51%가 되는 순간 승부가 결정되며 우리는 한순간의 51%를 위하여 매일 같이 노력하는 것이다. 그리고 그 1%는 종이 한 장의 차이이다. 비록 어떠한 승부에서 큰 차이가 나서 지게 되더라도 그것은 결과이며 시작은 항상 50% 확률로 시작하게 된다. 이러한 생각을 하게 되면 50% 확률이라는 의미를 조금 다르게도 생각해 볼 수 있게 된다. 내가 아무리 자신이 있더라도 확률이 50%라고 생각하게 되면 자만심을 줄일 수 있다. 또한, 내가 아무리 자신이 없더라도 확률이 50%라고 생각하게 되면 자신감을 가질 수 있다.
또 50%는 어쩐지 아리스토텔레스의 ‘중용’을 떠오르게 한다. 중학교 시절 배웠던 아리스토텔레스의 최선의 선 ‘중용’은 혈기가 왕성하던 시절에 그저 어느 한쪽에도 치우치지 못한 어중간함으로 보였다면 세월이 지나면서 느끼게 된 ‘중용’ 현명한 삶 그 자체를 느끼게 했다. 치우침은 극과 맞닿아 있다. 그리고 극과 극은 서로 종이 한 장 차이이다. 궁극의 선이라고 하여도 인간의 다양성의 대한 포용이 없이 그것을 타인에게 강요하는 순간 그것은 궁극의 선과 맞닿아 있는 어둠을 접하게 된다. 중용이라는 단순히 가운데 있는 것이 아니다. 중용을 지키기 위해서는 먼저 서로의 끝을 알 만큼 지혜가 있어야 한다. 그러한 지혜가 없다면 가운 지점을 찾을 수 없다. 또한, 중용은 치우치지 않아야 한다. 서로의 끝을 알고 가운데를 찾았다고 하더라도 균형을 잡을 수 없다면 중용을 지킬 수 없다. 또한 중용은 포용할 줄 알아야 한다. 가운데라는 의미는 양쪽 끝을 절단하는 구분점이 아닌 양쪽의 끝을 이어준다는 의미이다. 이렇듯 중용이란 지혜, 균형 포용의 3박자의 어우러짐이다. 이런 것들을 생각한 후에 나 또한 중용을 지키고자 하지만 쉽지 않은 일이다.
사실 이 종이 한 장 차이에 대한 글은 드라마 ‘동네변호사 조들호’에서 박신양을 보고 시작되었다. 동네변호사 조들호에서 2화 마지막은 ‘자신에 말을 들어준 사람이 조변호사 밖에 없었다’는 피고인의 이야기를 들은 조들호(박신양)의 표정을 클로즈업하면서 끝이 나게 된다. 그런데 이 마지막 표정에서 나는 종이 한 장의 차이를 느꼈다. 그 표정에서 조들호의 복잡한 심경을 느끼게 하였다. 마지막 부분이며 그냥 무심코 보면 드라마의 연출상 마지막 부분을 만들기 위한 단순한 클로즈업일 수도 있다. 그리고 많은 드라마에서 배우들의 얼굴을 클로즈업하면서 드라마를 마무리한다. 그러나 그러한 마무리 표정으로 복잡한 감정을 느끼게 하는 배우는 얼마나 있을까? 세상에는 많은 배우들이 있다. 그리고 그들은 서로 다른 모습을 지니고 있다. 그리고 난 솔직히 누가 절대적으로 연기를 잘하고 못 하는지에 대한 차이를 잘 알지도 못한다. 대배우와 신인배우의 연기력은 차이가 날 수도 있겠지만, 그 차이가 얼마나 나는지 알 수도 없으며 인기에 대한 후광효과 또한 연기력에 포함된다면 더욱더 그 차이를 알기 힘들다. 그러나 열심히 하는 배우라면 미세한 차이도 신경을 쓸 것이다. 모든 사람이 느낄 수 없다고 하더라도 누군가는 미세한 차이를 위해서 계속해서 노력해온다. 그리고 그 미세한 차이는 정확히 언제 인지는 사람인지라 알 수 없지만, 언제가 드러나게 된다. 나는 여기서 박신양이라는 배우를 칭찬하고 싶은 것이 아니다. 그저 박신양이라는 배우는 연기를 위해서 매우 노력하는 사람이라는 것을 방송을 통해서 알게 되었고 그 노력에 대한 값어치를 말하고 싶은 것이다. 즉, 박신양이라는 배우는 많은 사람들이 알만한 예시이며 결국에는 누군가 미세한 차이를 위해 노력하는 사람들 전부를 의미하는 것이다.
결국, 미세한 차이는 종이 한 장의 차이이다. 나는 이러한 종이 한 장의 차이를 위해서 오늘도 최선을 다하고 있다. 하루에 5시간을 노력하는 사람과 10시간을 노력하는 사람이 처음에는 같은 결과가 나왔다고 하자. 그렇다고 해서 그 둘은 같은 사람은 아니다. 그 둘의 차이는 언젠가 종이 한 장의 차이로 밝혀질 것이다. 이렇듯 종이 한 장의 차이는 50%의 확률을 1%로 만드는 것이지만 결국의 승패를 결정짓는 것은 그 1% 종이 한 장의 차이로 결정짓게 된다. 그 1%의 힘을 믿으며 나는 오늘도 최선을 다한다.
SQL튜닝(3) - index(index merge scan, index bitmap merge scan, index join, index uniqe scan), table random access 부하
-- index skip scan
'ORACLE > SQL 튜닝' 카테고리의 다른 글
FROM EMP2
WHERE age BETWEEN 20 AND 29
FROM EMP2
WHERE address NOT LIKE '%서울%'
- round는 소수점 몇 번째까지 지정해 줄 수 있지만 버림음 floor 함수를 사용해서 정수만 나타낸다.
- 이 문장은 756.5 으로 결과가 나타남
- 이 문장은 뒤에 1 때문에 문자 오류가 발생하고, 1을 없애면 756 만 출력된다.
- 그래서 위의 Oracle 쿼리처럼 구현하기 위해서는 %를 사용해야 한다.
SQL> select SYSDATETIME() ;
- 그래서 날짜 비교함수를 이용해서 해당 말일까지 몇일이 남았는지 출력해야 한다.
- 첫번째 money로 형변화, 두번째 문자로 형변환이다.
2) 두번째는 money형을 문자로 바꾸어 주어야 한다.
(이때 convert에 3번째 인자 값은 money 형의 형식을 구분한다. '1' 의 형식은 천의자리에 콤마이다. )
값 |
출력 |
0(기본값) |
소수점 왼쪽의 세 자릿수마다 쉼표를 사용하지 않으며, 소수점 오른쪽에 두자리가 나타난다
|
1 |
소수점 왼쪽의 세 자릿수마다 쉼표를 사용하며, 소수점 오른쪽에 두자리가 나타납니다. |
2 |
소수점 왼쪽의 세 자릿수마다 쉼표를 사용하지 않으며, 소수점 오른쪽에 네 자리가 나타납니다. |
- 그래서 실제 날짜 데이터 형식과 다른 형식으로 검색해서 결과를 보고 싶다면 convert 함수를 이용해야 한다.
예시 ) select ename, hirth
from emp2
where hiredate between convert(varchar,'1987/05/06',111) and convert(varchar,'1993/03/04',111) ;
세기 포함 안함(yy) |
세기 포함(yyyy) |
표준 |
입력/출력** |
- |
0 또는 100 (*) |
기본값 |
mon dd yyyy hh:miAM(또는 PM) |
1 |
101 |
USA |
mm/dd/yy |
2 |
102 |
ANSI |
yy.mm.dd |
3 |
103 |
영국/프랑스 |
dd/mm/yy |
4 |
104 |
독일 |
dd.mm.yy |
5 |
105 |
이탈리아 |
dd-mm-yy |
6 |
106 |
- |
dd mon yy |
7 |
107 |
- |
Mon dd, yy |
8 |
108 |
- |
hh:mm:ss |
- |
9 또는 109 (*) |
기본값 + 밀리초 |
mon dd yyyy hh:mi:ss:mmmAM(또는 PM) |
10 |
110 |
USA |
mm-dd-yy |
11 |
111 |
일본 |
yy/mm/dd |
12 |
112 |
ISO |
yymmdd |
- |
13 또는 113 (*) |
유럽 기본값 + 밀리초 |
dd mon yyyy hh:mm:ss:mmm(24h) |
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
- |
20 또는 120 (*) |
ODBC 표준 |
yyyy-mm-dd hh:mi:ss(24h) |
- |
21 또는 121 (*) |
ODBC 표준(밀리초) |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
- |
126(***) |
ISO8601 |
yyyy-mm-dd Thh:mm:ss.mmm(스페이스 없음) |
- |
130* |
회교식**** |
dd mon yyyy hh:mi:ss:mmmAM |
- |
131* |
회교식**** |
dd/mm/yy hh:mi:ss:mmmAM |
- 그래서 Oracle의 decode 식을 MS_SQL에서 구현하기 위해서는 case 문을 사용해야 한다. (But. Oracle에서도 case 문을 지원한다.)
WHEN (gender='남자' AND address NOT LIKE '%서울%') THEN 'C'
WHEN (gender='여자' AND address NOT LIKE '%서울%') Then 'D'
END AS 분류
FROM EMP2
'ORACLE > SQL' 카테고리의 다른 글
SQL튜닝(2)(1.10) - index ( index range scan, index full scan, index fast full scan, index skip scan )
- full table scan 방법은 인덱스 스캔은 아니지만 인덱스가 없는 경우 발생하는 기본 스캔임으로 알아둘 필요가 있다.
select *
where ename like '%EN%'
or ename like '%IN%'
consistent gets -- 389
consistent gets -- 586
'ORACLE > SQL 튜닝' 카테고리의 다른 글
SQL(3)- order by 복습, 단일 함수 中 문자 함수
1 FROM EMP
2 WHERE JOB != 'SALESMAN'
FROM EMP
WHERE deptno = 20
WHERE gender = '여자'
FROM EMP2
WHERE major ='컴퓨터공학' AND gender ='여자'
FROM EMP2
FROM EMP
* MS_SQL 에서 concat 함수
FROM EMP2
FROM EMP2
FROM EMP2
FROM EMP2
WHERE age BETWEEN 20 AND 29
AND email LIKE '%naver%'
'ORACLE > SQL' 카테고리의 다른 글
password file, parameter file , 데이터베이스 환경(standard alone 과 rac), connection과 session의 차이, 오라클의 메모리 구조 (SGA 영역 中 shared pool)
------------------------------------ ----------- ------------------------------
Swap: 4128760k total, 148480k used, 3980280k free, 1404340k cached
EMPNO ENAME
---------- ----------
7788 SCOTT
2 from v$sql
3 where sql_text like 'select empno%';
SQL_TEXT
--------------------------------------------------------------------------------
EXECUTIONS
----------
select empno, ename from emp where empno =7788
SQL_TEXT
--------------------------------------------------------------------------------
EXECUTIONS
----------
select empno, ename from emp where empno =7788
2
SELECT EMPNO, ENAME FROM EMP WHERE EMPNO=7788
Wrote file afiedt.buf
1 select sql_text, executions
SQL_TEXT
--------------------------------------------------------------------------------
EXECUTIONS
----------
select sql_text, executions from v$sql where sql_text like 'select empno%'
2
select sql_text from v$sql where sql_text like 'SELECT EMPNO%'or sql_text
like 'select empno%'
1
select empno, ename from emp where empno =7788
1
SQL_TEXT
--------------------------------------------------------------------------------
EXECUTIONS
----------
select empno, ename from emp where empno =7788
2
select sql_text, executions from v$sql where sql_text like '%empno%'
1
select sql_text, executions from v$sql where sql_text like 'empno%'
1
SQL_TEXT
--------------------------------------------------------------------------------
EXECUTIONS
----------
select sql_text from v$sql where sql_text like 'select empno%'
4
select sql_text, executions from v$sql where sql_text like 'SELECT EMPNO%'or
sql_text like 'select empno%'
1
'ORACLE > ORACLE Admin' 카테고리의 다른 글
Admin1(1) - 오라클의 접속환경, database 구성요소(datafile, controlfile, redo log file, archive logfile ) (0) | 2016.03.15 |
---|
SQL(2)- as, SQL 작성 규칙, " ", distinct, 대체 인용 연산자(q'[ ]'), 날짜 출력, 날짜 세션 변경, order by, 오름차순(asc), 내림차순 (decsend), 연산자 우선순위 규칙, 테이블 생성, 데이터 입력
from emp
FROM EMP
WHERE job='SALESMAN'
'ORACLE > SQL' 카테고리의 다른 글
<이웃집에 신이 산다>
가끔 프랑스 영화를 본다.
내가 본 프랑스 영화들을 솔직히 별로 재미 없었지만,
보게 된 이유는 소재의 참신함 때문이었다.
이번에 보게 된 '이웃집에 신이 산다' 또한 소재의 참신함으로 보게 되었다.
이웃집에 신이 산다는 소재 (솔직히 말하면 이웃집은 아니지만) 즉 우리와 비슷한 일상으로 신이 산다는 발상이 참신하였다.
그 발상의 참신함에 다시 한 번 믿어보기로 했고 보게 되었다.
그러나 역시나 아직 나의 식견과 생각의 깊이가 부족했던 것인지 무슨 말을 하고 싶었던 것인지 알지 못하였다.
뭐 억지로 감정과 감동을 지어내자면 못하는 것도 아니지만 실제로 느꼈고 이해하지 못했다.
그래도 한 가지 생각해보았던 것은 있다.
만약 영화에서 처럼 나에게 남은 수명을 알게 된다면 그리고 그 남은 수명이 얼마 남지 않았다면 나는 무엇이 하고 싶을까?
이 영화에서는 가끔 얼마 남지 않은 수명 또는 길게 남은 수명으로 말도 안되는 행동들을 하지만 과연 나의 경우는 무엇일까?
어쩌면 많은 사람들이 직면하고 있는 문제들이 죽음을 앞두고는 의미 없는 일을 될지도 모른다.
특히 자신이 하고 싶은 일을 하지 못하고 미래에 생활에 대한 두려움에 원치 않는 삶을 사는 사람들은 과연 얼마 남지 않은 수명에
자신이 진정 원했던 일을 시작할 수 있을까?
그리고 그들이 진정 원했던 것들을 무엇일까?
가끔 이와 비슷한 주제를 말하는 영화나 책들을 보면 자신이 내일 죽게 된다면 하고 싶은 일을 지금 당장하라는 메시지를 던지는 경우가 종종 있다.
영화 '라스트 홀리데이'도 그와 비슷한 영화이다.
그러나 실제 삶이 평범한 삶이 아니라면 오늘도 어떻게 될지 모르는 불안한 삶이라면 그들에게 얼마 남지 않은 수명의 의미는 무엇일까?
단순히 자신이 진정 원하는 일을 하라라고 모두에게 똑같이 이야기 할 만큼 사회는 세상은 그렇게 녹록하지 않다.
그래도 물론 이 영화는 마지막은 기존과 비슷한 결론을 내린다.
난 아직 잘 모르겠다.
이 영화가 던지는 메시지의 깊이와 이해를 그리고 나의 생이 얼마 남지 않았다면 진정하고 싶은 것이 무엇인지
''리뷰'' 카테고리의 다른 글
<여인의 향기> (0) | 2014.11.10 |
---|---|
<은하수를 여행하는 히치하이커를 위한 안내서> (0) | 2014.10.26 |