People have a lot of interest in the exposure of women.
Gong-ju Han events at the same time.
결론: 이거 보고 무슨 할 말이 있겠노.
2014년 12월 17일 수요일
Big issue of Korea at now
<Link here>
<Link For More Information>
Don't Click that links.
If you are reading this article, you will feel bad.
However, it is also a fact that we need to know.
<Link For More Information>
Don't Click that links.
If you are reading this article, you will feel bad.
However, it is also a fact that we need to know.
2014년 12월 14일 일요일
Piece of Time
Piece of Time 이라고 적었다고 해서 노래 관련된 내용은 아니고.
그냥 담에 또 이 포스트를 본다면, 지금 이 순간이 또 생각나지 않을까 싶어서리.
다큐멘터리 영화인 "님아 그 강을 건너지 마오." 를 보고,
꼭 기억하고 싶은 것들이랑,
다음에 혹시 불현듯 보고 싶은데 '뭐였지? 기억이 안나!!' 하고 미칠까봐.
지금 이 글 아래로 흘려보내 나의 블로그 안에 담아두련다.
한 마디로 나의 정신건강을 위해! :)
1. My Love, Don't Cross That River
석 달만 더 살아요. 이렇게 석 달만 더 살면...
아 놔! 이 영화 나의 컬렉션이 될 것 같애.
좀비, 공포 영화같은 거만 모아놓은 나의 컬렉션에 몇 안되는 유니크 중 하나.
그리고 이 유니크를 보다가 불현듯 떠오른 영상 하나!
2. 어느 60대 노부부 이야기
천천히 흘러가는듯한 한 소절 한 소절에 심취해 있다가 갑자기 쿵하는...
어느 한 소절이 주는 이 느낌은.
정말 운율과 공백의 미까지, 정말 이 음악은. 정말이지...
그리고 이 영상과 동시에 떠오른 것이 있었으니.
일요일 저녁에 본 프로그램.
밖에 나가면 사람들과 공감대 형성이 불가능할 정도로 TV 프로그램에 관심이 없는 나에게 본방사수를 하게 만든 이진아양!!!
3. 이진아(Lee Jin Ah) 마음대로
유희열씨가 말한 내용 중 나와 같은 공감대를 형성한 인터뷰 내용:
한 음을 얼마만큼 이 친구가 아껴서 하고 있느냐!
무한 공감!!!
이렇게 나의 상상의 나래가 펼쳐지면서 하염없이 시간이 흘러가고 있다가.
불현듯 '나 왜 이런거 좋아하지?'하면서 감정이 메마른 나에게 혼돈을 안겨주던 그 때.
다음 영상이 떠올랐다.
4. 슈퍼~~맨
기사 내용 중:
특히, 가족 사진을 찍으면서 서준이의 고사리 같은 손을 꼭 잡는 할아버지의 모습은 애잔함을 폭발시키며 분당 최고 시청률 22.7%을 기록, ‘슈퍼맨’ 최고의 1분으로 뽑혔다.
그런가!!! 이게 바로 공감인가~
영화, 노래, 예능이 국경을 초월한 돈벌이라는 것이 이 이유인가!
아. 역시 감정이 메마른 나는 이게 한계인가.
우짯든 이건 담에 봐도 또 재미있겠지.
결론: 시간아...
그냥 담에 또 이 포스트를 본다면, 지금 이 순간이 또 생각나지 않을까 싶어서리.
다큐멘터리 영화인 "님아 그 강을 건너지 마오." 를 보고,
꼭 기억하고 싶은 것들이랑,
다음에 혹시 불현듯 보고 싶은데 '뭐였지? 기억이 안나!!' 하고 미칠까봐.
지금 이 글 아래로 흘려보내 나의 블로그 안에 담아두련다.
한 마디로 나의 정신건강을 위해! :)
1. My Love, Don't Cross That River
석 달만 더 살아요. 이렇게 석 달만 더 살면...
아 놔! 이 영화 나의 컬렉션이 될 것 같애.
좀비, 공포 영화같은 거만 모아놓은 나의 컬렉션에 몇 안되는 유니크 중 하나.
그리고 이 유니크를 보다가 불현듯 떠오른 영상 하나!
2. 어느 60대 노부부 이야기
천천히 흘러가는듯한 한 소절 한 소절에 심취해 있다가 갑자기 쿵하는...
어느 한 소절이 주는 이 느낌은.
정말 운율과 공백의 미까지, 정말 이 음악은. 정말이지...
그리고 이 영상과 동시에 떠오른 것이 있었으니.
일요일 저녁에 본 프로그램.
밖에 나가면 사람들과 공감대 형성이 불가능할 정도로 TV 프로그램에 관심이 없는 나에게 본방사수를 하게 만든 이진아양!!!
3. 이진아(Lee Jin Ah) 마음대로
유희열씨가 말한 내용 중 나와 같은 공감대를 형성한 인터뷰 내용:
한 음을 얼마만큼 이 친구가 아껴서 하고 있느냐!
무한 공감!!!
이렇게 나의 상상의 나래가 펼쳐지면서 하염없이 시간이 흘러가고 있다가.
불현듯 '나 왜 이런거 좋아하지?'하면서 감정이 메마른 나에게 혼돈을 안겨주던 그 때.
다음 영상이 떠올랐다.
4. 슈퍼~~맨
기사 내용 중:
특히, 가족 사진을 찍으면서 서준이의 고사리 같은 손을 꼭 잡는 할아버지의 모습은 애잔함을 폭발시키며 분당 최고 시청률 22.7%을 기록, ‘슈퍼맨’ 최고의 1분으로 뽑혔다.
그런가!!! 이게 바로 공감인가~
영화, 노래, 예능이 국경을 초월한 돈벌이라는 것이 이 이유인가!
아. 역시 감정이 메마른 나는 이게 한계인가.
우짯든 이건 담에 봐도 또 재미있겠지.
결론: 시간아...
2014년 12월 11일 목요일
modern.IE 너 은근히 좋다.
Browser : Chrome Browser
웹 개발하려고 하는 사람은 이 사이트 알아두면 좋을 것같아서 포스트질.
알아두면 좋은 이녀석은 여기-> <Where are U?>
자신이 만든 페이지에 대해 알아보고 싶거나, 궁금한 웹 주소가 있다면 해당 주소를 복사해서 사이트 검색의 URL을 입력하라는 곳에 붙여넣기 한 다음 검색 버튼을 누르면 된다.
(물론 자신이 만든 페이지가 로컬이라면... <Where are U?> )
나중에 내가 이 글 쓰고나서 시간이 지난 다음 누가 'modern.IE 가 뭐야?' 라고 물으면 틀림없이 설명을 못해줄 것이 뻔하기에.
여기다가 적어놔야지.
웹 개발하려고 하는 사람은 이 사이트 알아두면 좋을 것같아서 포스트질.
알아두면 좋은 이녀석은 여기-> <Where are U?>
자신이 만든 페이지에 대해 알아보고 싶거나, 궁금한 웹 주소가 있다면 해당 주소를 복사해서 사이트 검색의 URL을 입력하라는 곳에 붙여넣기 한 다음 검색 버튼을 누르면 된다.
(물론 자신이 만든 페이지가 로컬이라면... <Where are U?> )
나중에 내가 이 글 쓰고나서 시간이 지난 다음 누가 'modern.IE 가 뭐야?' 라고 물으면 틀림없이 설명을 못해줄 것이 뻔하기에.
여기다가 적어놔야지.
웹 페이지를 스캔하는 등의 알려진 호환성 문제에 대한 보고서를 생성하는 분석 도구입니다 :
- 표준 / 쿼크 모드
- 날짜 라이브러리 중
- CSS 접두사를 누락
- 브라우저 플러그인에 의존
- 브라우저 검출 코드
- 응답 웹 디자인 사례
2014년 12월 7일 일요일
Play Color Mix
Browser : Chrome Browser
From 삼촌.
요즘 색깔 섞기 놀이에 빠진 너를 위해 급하게 만들었어. lol
주말에 이거 가지고 잼나게 놀자꾸나.
물론 1분이 안되서 관심이 사라지겠지만, 그래도 같이 놀아보아요. :)
아!!! 물감을 공급해주려고 하였으나,
급심한 불경기로 인하여 삼촌 주머니가 허전하다거나.
치킨피자 과자등의 지출이 많아 물감 대신 이런 것을 만든 것은 절대 아님.
To 조카.
결론 : 벌써 크리스마스가 다가오는구려.
From 삼촌.
요즘 색깔 섞기 놀이에 빠진 너를 위해 급하게 만들었어. lol
주말에 이거 가지고 잼나게 놀자꾸나.
물론 1분이 안되서 관심이 사라지겠지만, 그래도 같이 놀아보아요. :)
아!!! 물감을 공급해주려고 하였으나,
급심한 불경기로 인하여 삼촌 주머니가 허전하다거나.
치킨피자 과자등의 지출이 많아 물감 대신 이런 것을 만든 것은 절대 아님.
To 조카.
결론 : 벌써 크리스마스가 다가오는구려.
2014년 12월 3일 수요일
가끔씩 생각나는 사람...
나도 나이가 먹었나...
어찌보면 더 열심히 살고 싶어하던 사람들이였는데.
난 그냥 시간은 흘러가니깐 하루하루 살아가고 있는데.
유니(U;Nee)
하늘(Ha-neul Kim)
죠앤(Joanne)
결론 : My EEG is negative.
어찌보면 더 열심히 살고 싶어하던 사람들이였는데.
난 그냥 시간은 흘러가니깐 하루하루 살아가고 있는데.
유니(U;Nee)
하늘(Ha-neul Kim)
죠앤(Joanne)
결론 : My EEG is negative.
2014년 12월 2일 화요일
JavaScript String Method(대,소문자)
Browser : Chrome Browser
아! 뭐지.
오늘의 IT 뻘짓.
어떤 내용을 보여주는 글 중에 일부 대문자를 전부 소문자로 바꾸라는.
왜? 잘 쓰던 대문자를 소문자로 왜!왜!왜!
뭐 이유는 그렇게 해달라는 요청땜시.
뭐 쉬운 작업이지만 쉬운 작업이라고 마구 받다보면 결국은 노가다.
참고로 지금 내가 하려는 스크립트나 어떤 프로그램을 사용해서 한게 아니라 일일이 타자로 고치다 보면. 실수가 나온다.
그러면 돌아오는 말은 "그런 쉬운 작업도 틀리나?" 이다.
그래서 난 스크립트로 하란다.
1. 대문자 -> 소문자
2. 소문자 -> 대문자
결론 : 난 바쁘다.
아! 뭐지.
오늘의 IT 뻘짓.
어떤 내용을 보여주는 글 중에 일부 대문자를 전부 소문자로 바꾸라는.
왜? 잘 쓰던 대문자를 소문자로 왜!왜!왜!
뭐 이유는 그렇게 해달라는 요청땜시.
뭐 쉬운 작업이지만 쉬운 작업이라고 마구 받다보면 결국은 노가다.
참고로 지금 내가 하려는 스크립트나 어떤 프로그램을 사용해서 한게 아니라 일일이 타자로 고치다 보면. 실수가 나온다.
그러면 돌아오는 말은 "그런 쉬운 작업도 틀리나?" 이다.
그래서 난 스크립트로 하란다.
1. 대문자 -> 소문자
2. 소문자 -> 대문자
결론 : 난 바쁘다.
2014년 11월 28일 금요일
블로그에 포스트 리스트 보여주는 스크립트
<div> <div id="posts" style="padding: 10px;"> </div> <div align="center" id="posts-pgno" style="cursor: pointer;"> </div> </div> <script language="Javascript" type="text/javascript"> /** url의 Parameter를 얻는 Class. **/ var request = { parameter: function(name) { return this.parameters()[name]; }, parameters: function() { var result = {}; var url = window.location.href; var parameters = url.slice(url.indexOf('?') + 1).split('&'); for(var i = 0; i < parameters.length; i++) { var parameter = parameters[i].split('='); result[parameter[0]] = parameter[1]; } return result; } } /** Page의 정보를 저장. **/ var page = { //초기화. init: function(home,max){ page.home = home; page.max = max; page.label = ''; page.no = 1; }, //url의 parameter에서 pgno 값을 읽어 옮. setPage: function(){ var url = window.location.href; var pl = url.lastIndexOf("/label/"); var pq = url.lastIndexOf("?"); if(pl != -1) page.label = url.substr(pl+7,((pq!=-1)?pq:url.length)-(pl+7)); if(url.indexOf("pgno") != -1) page.no = request.parameter("pgno"); } } /** feed를 parsing 하여 결과 뿌려 줌. **/ var obj = { init: function () { obj.obj = document.getElementById('posts'); obj.pgno = document.getElementById('posts-pgno'); }, // 검색을 요청하는 함수 pingSearch: function () { //변수 선언. obj.s = document.createElement('script'); obj.s.type = 'text/javascript'; obj.s.charset = 'utf-8'; //feed callback 함수를 이용 json 객체 구한 후 pongSearch 함수호출. if(page.label == '') obj.s.src = '' + page.home + '/feeds/posts/summary/?max-results='+(page.no*page.max) +'&alt=json-in-script&callback=obj.pongSearch'; else obj.s.src = '' + page.home + '/feeds/posts/summary/-/' +page.label+'?max-results='+(page.no*page.max) +'&alt=json-in-script&callback=obj.pongSearch'; //append. document.getElementsByTagName('head')[0].appendChild(obj.s); }, // 검색 결과를 뿌리는 함수 pongSearch: function (z) { obj.obj.innerHTML = ''; /* 글 목록을 뿌려 줌. */ for (var i = (page.no-1)*page.max; i < page.no*page.max; i++) { //예외처리. if(i >= z.feed.openSearch$totalResults.$t) break; //변수선언. var li = document.createElement("li"); var a = document.createElement('a'); //link로 사용할 base url. var url = page.home + '/search'; if(page.label != '') url += '/label/' + page.label; //최종 link를 url 입력. if (i == 0) a.href = url + '?max-results=1'; else { var pub=obj.changeTime(z.feed.entry[i-1].published.$t); a.href = url + '?updated-max=' + pub + '&max-results=1&pgno='+page.no; } a.innerHTML = obj.escapeHtml(z.feed.entry[i].title.$t); //append li.appendChild(a); obj.obj.appendChild(li); } /* page 뿌려줌. */ obj.pongPgno(z); }, // page를 뿌려주는 함수. pongPgno: function(z){ obj.pgno.innerHTML = ''; var before = document.createElement('a'); var next = document.createElement('a'); var ten = parseInt((page.no-1)/10); var total = z.feed.openSearch$totalResults.$t; /* before page */ before.innerHTML = ' << '; if(ten>0) obj.onMouseDown(before, ten*10); obj.pgno.appendChild(before); /* page number */ for(var i=ten*10; i< (ten+1)*10; i++){ if(i >= total/page.max) break; var a = document.createElement('a'); obj.onMouseDown(a,i+1); a.innerHTML = ' ' + (i+1) + ' '; if(i+1 == page.no) a.style.color = 'yellow'; obj.pgno.appendChild(a); } /* next page */ next.innerHTML = ' >> '; if(ten< parseInt(total/page.max/10)) obj.onMouseDown(next, (ten+1)*10+1); obj.pgno.appendChild(next); }, //mouse click event. onMouseDown: function(a, i){ a.onmousedown = function(){ page.no = i; obj.pingSearch(); } }, //Time 에러 수정. changeTime: function(str){ var s = str.lastIndexOf('.')-1; var e = str.lastIndexOf('+')+1; var str2 = str.substr(0,s) + '%2B' + str.substr(e,100); return str2; }, // HTML태그 안 먹게 하는 함수 escapeHtml: function (str) { str = str.replace(/&/g, "&"); str = str.replace(/</g, "<"); str = str.replace(/>/g, ">"); return str; } }; page.init('http://creatorhong.blogspot.com', 5); page.setPage(); obj.init(); obj.pingSearch(); </script>
블로그 관리의 레이아웃 가젯에 위의 자바스크립트를 넣으면 끝.
아!!! creatorhong.blogspot.com 은 자신의 블로그 주소를 넣으면 됨.
아!!! creatorhong.blogspot.com 은 자신의 블로그 주소를 넣으면 됨.
2014년 11월 26일 수요일
IT를 시작하는 것은 결코 어렵지 않다. 다만,
Browser : Chrome Browser
일을 하다가 보면 가끔씩 옆에서 "IT일이 참 부럽네요. :)" 라고 하시던 분이 있었다.
뭐 그분은 성격도 좋고, 사교적이라. 거기다 나이도 많으셨는데 꼬박꼬박 존댓말을.
많이 친해지고 난 후에는 형 동생했지만. :)
평소 일하는 사람들하고는 대화가 별로 없는 나도 우스개소리로 "왜요? 책상에 앉아서 하루종일 일하니깐 좋아보이세요?" 라며 대꾸했다.
그러자 그분이 "저같은 사람은 컴퓨터 일을 못하니깐 부러워서 그러져!, 그리고 뭐 수학도 잘 해야 된다고 하던데..." 라 하시는데 순간, 웃음이 나왔다.
초등학생이 프로그램을 만드는 시절이고, 수학은 중학생 이하 비슷한 수준만 되도 IT 일을 시작하는데 별로 무리가 없는 일이기에 순간적으로 나온 웃음이였다.
그래서 나는 그분이 평소 "이런거 대체 어떻게 만들어?" 라며 물어보시던 것을 html 파일을 만들어(그 당시 그분이 궁금해했던 프로그램은 C# 윈도우 어플) 한번 보여드렸다.
1. 원하시는 숫자를 적으세요. (3자리까지 가능) 2. 한 페이지에 보기 원하는 갯수를 선택해 주세요.
대충 스크립트를 보면 알겠지만, 작업자가 입력한 내용이 화면에 보여지는게 어떤 이유로 되는지 설명해 드린 부분이다.
스크립트를 보면 알겠지만, 코딩은 절대 어려운게 아니며 그분은 코딩을 보자마자 "정말 쉽네요!" 라고 하셨다. 당연하다. 달랑 몇 줄밖에 안된다.
그리고 코딩에 사용된 수학(?)이라 하기 뭐한 방정식.
총 페이지 수 = (x / y) + ((x % y) > 0)
페이지별 시작 번호 = ((x-1) * y) + 1
페이지별 끝 번호 = x * y
이게 끝이다.
설명을 다 듣고 그분이 하신 이야기는,
'재미있어 보이는데 나같이 늦게 시작한 사람도 IT일을 하느냐' 고 여쭤보셨다.
그래서 난 조용히 말씀드렸다.
IT를 시작하는건 어렵지 않다. 다만 미래를 생각하시는게 좋다.
그리고 덧붙여 내가 생각하고 있던,
strategy is the creation of a unique and valuable position, involving a different set of activities.
전략의 핵심은 남들과 '다른 자리'를 차지하는 데 있습니다. 그리고 그 자리가 쉽게 모방하기 힘든, 지속가능한 자리여야 합니다.
이 부분에 대해서 설명해드렸다.
결국 누구나 프로그램은 만들 수 있다. 다만 전략적인 비지니스가 없다면 지금 일하고 계신 곳이 훨씬 좋다고.
지금 돌이켜 생각해보면 그때는 나만의 전략적인 무엇인가를 만들기 위해 회사에서도 집에서도 상당히 노력했던걸로 기억한다.
그러나 지금은 적당히 돈 벌면서 적당히 노는게 더 낫다는 생각으로 하루를 살아가고 있다.
아!!!
만약에 위 스크립트를 사용해서 DB를 가져온 다면 쿼리는 어떻게 될까?
-- 1. 일반적인 order by절을 사용한 쿼리
SELECT
*
FROM
(SELECT
T1.*,
ROWNUM RNUM
FROM
(SELECT
SEQUENCE, LOG_DT, LOG_YMD, ROW_DATA
FROM TEST_TABLE
WHERE LOG_YMD='20120613'
ORDER BY LOG_DT DESC
) T1
WHERE ROWNUM <= 스크립트에서 구한 EndNum
)
WHERE RNUM >= 스크립트에서 구한 Start Num
-- 2. 오라클 hint를 사용한 쿼리
SELECT
*
FROM
(SELECT
T1.*,
ROWNUM RNUM
FROM
(SELECT
/*+ INDEX_DESC(TEST_TABLE TEST_TABLE_IDX) */
SEQUENCE, LOG_DT, LOG_YMD, ROW_DATA
FROM TEST_TABLE
WHERE LOG_YMD='20120613' AND LOG_DT<='20120613 235959'
) T1
WHERE ROWNUM <= 스크립트에서 구한 EndNum
)
WHERE RNUM >= 스크립트에서 구한 Start Num
결론 : 내년이면 세상에 대한 이 귀차니즘에서 벗어나겠지. 그러고 싶다.
일을 하다가 보면 가끔씩 옆에서 "IT일이 참 부럽네요. :)" 라고 하시던 분이 있었다.
뭐 그분은 성격도 좋고, 사교적이라. 거기다 나이도 많으셨는데 꼬박꼬박 존댓말을.
많이 친해지고 난 후에는 형 동생했지만. :)
평소 일하는 사람들하고는 대화가 별로 없는 나도 우스개소리로 "왜요? 책상에 앉아서 하루종일 일하니깐 좋아보이세요?" 라며 대꾸했다.
그러자 그분이 "저같은 사람은 컴퓨터 일을 못하니깐 부러워서 그러져!, 그리고 뭐 수학도 잘 해야 된다고 하던데..." 라 하시는데 순간, 웃음이 나왔다.
초등학생이 프로그램을 만드는 시절이고, 수학은 중학생 이하 비슷한 수준만 되도 IT 일을 시작하는데 별로 무리가 없는 일이기에 순간적으로 나온 웃음이였다.
그래서 나는 그분이 평소 "이런거 대체 어떻게 만들어?" 라며 물어보시던 것을 html 파일을 만들어(그 당시 그분이 궁금해했던 프로그램은 C# 윈도우 어플) 한번 보여드렸다.
1. 원하시는 숫자를 적으세요. (3자리까지 가능) 2. 한 페이지에 보기 원하는 갯수를 선택해 주세요.
대충 스크립트를 보면 알겠지만, 작업자가 입력한 내용이 화면에 보여지는게 어떤 이유로 되는지 설명해 드린 부분이다.
스크립트를 보면 알겠지만, 코딩은 절대 어려운게 아니며 그분은 코딩을 보자마자 "정말 쉽네요!" 라고 하셨다. 당연하다. 달랑 몇 줄밖에 안된다.
그리고 코딩에 사용된 수학(?)이라 하기 뭐한 방정식.
총 페이지 수 = (x / y) + ((x % y) > 0)
페이지별 시작 번호 = ((x-1) * y) + 1
페이지별 끝 번호 = x * y
이게 끝이다.
설명을 다 듣고 그분이 하신 이야기는,
'재미있어 보이는데 나같이 늦게 시작한 사람도 IT일을 하느냐' 고 여쭤보셨다.
그래서 난 조용히 말씀드렸다.
IT를 시작하는건 어렵지 않다. 다만 미래를 생각하시는게 좋다.
그리고 덧붙여 내가 생각하고 있던,
strategy is the creation of a unique and valuable position, involving a different set of activities.
전략의 핵심은 남들과 '다른 자리'를 차지하는 데 있습니다. 그리고 그 자리가 쉽게 모방하기 힘든, 지속가능한 자리여야 합니다.
이 부분에 대해서 설명해드렸다.
결국 누구나 프로그램은 만들 수 있다. 다만 전략적인 비지니스가 없다면 지금 일하고 계신 곳이 훨씬 좋다고.
지금 돌이켜 생각해보면 그때는 나만의 전략적인 무엇인가를 만들기 위해 회사에서도 집에서도 상당히 노력했던걸로 기억한다.
그러나 지금은 적당히 돈 벌면서 적당히 노는게 더 낫다는 생각으로 하루를 살아가고 있다.
아!!!
만약에 위 스크립트를 사용해서 DB를 가져온 다면 쿼리는 어떻게 될까?
-- 1. 일반적인 order by절을 사용한 쿼리
SELECT
*
FROM
(SELECT
T1.*,
ROWNUM RNUM
FROM
(SELECT
SEQUENCE, LOG_DT, LOG_YMD, ROW_DATA
FROM TEST_TABLE
WHERE LOG_YMD='20120613'
ORDER BY LOG_DT DESC
) T1
WHERE ROWNUM <= 스크립트에서 구한 EndNum
)
WHERE RNUM >= 스크립트에서 구한 Start Num
-- 2. 오라클 hint를 사용한 쿼리
SELECT
*
FROM
(SELECT
T1.*,
ROWNUM RNUM
FROM
(SELECT
/*+ INDEX_DESC(TEST_TABLE TEST_TABLE_IDX) */
SEQUENCE, LOG_DT, LOG_YMD, ROW_DATA
FROM TEST_TABLE
WHERE LOG_YMD='20120613' AND LOG_DT<='20120613 235959'
) T1
WHERE ROWNUM <= 스크립트에서 구한 EndNum
)
WHERE RNUM >= 스크립트에서 구한 Start Num
결론 : 내년이면 세상에 대한 이 귀차니즘에서 벗어나겠지. 그러고 싶다.
2014년 11월 24일 월요일
Hierarchical Queries
Browser : Chrome Browser
오늘도 역시 이리저리 일하다가, 우연히 계층 구조 쿼리를 보게 되었는데.
갑자기 어느 신입이 생각이 났다. 왜(?)인지는 나도 모르겠는데...
하여튼 그 신입은 내가 기억하기로 프로그램 개발을 잘 했던 걸로 기억한다.
일거리를 던져주면 열심히 코딩도 하고, 이미 만들어진 프로그램을 분석해서 자기 것으로 하는 것도 능숙해 보였다.
그런데 아쉬움 점 하나, DB 는 학원에서 속성으로 배우다 보니 잘 모른다는 것.
회사에서 공기같은 나에게(내가 출근한 사실을 아무도 모르게 하라 - 나무명은 나의 우상) 이 신입이 그나마 물어보는 경우는 DB 관련 내용이였다.
신입 말로는 다른 사람에게 묻자니 좀 그렇고 내가 젤 편하다고... 흠.
뭐 이유가 어떻든 물어보니 이것저것 설명을 해주었던 기억이 나는데...
START WITH
- 계층 질의의 루트(부모행)로 사용될 행을 지정 한다.
- 서브쿼리를 사용할 수도 있다.
CONNECT BY
- 이 절을 이용하여 계층 질의에서 상위계층(부모행)과 하위계층(자식행)의 관계를 규정 할 수 있다.
- PRIOR 연산자와 함께 사용하여 계층구조로 표현할 수 있다.
- CONNECT BY PRIOR 자식컬럼 = 부모컬럼 : 부모에서 자식으로 트리구성 (Top Down)
- CONNECT BY PRIOR 부모컬럼 = 자식컬럼 : 자식에서 부모로 트리 구성 (Bottom Up)
- CONNECT BY NOCYCLE PRIOR : NOCYCLE 파라미터를 이용하여 무한루프 방지
- 서브쿼리를 사용할 수 없다.
ORDER SIBLINGS BY
- 일반적인 ORDER BY 가 아닌 계층내에서 정렬 할 수 있는 ORDER SIBLINGS BY
CONNECT BY의 실행순서는 다음과 같다.
- 첫째 START WITH 절
- 둘째 CONNECT BY 절
- 셋째 WHERE 절 순서로 풀리게 되어있다.
위의 설명대로 신입에게 가르쳐 주면서 느낀 점 하나는,
역시 말이나 글로 설명하는 것 보다는 직접 보여주는게 젤 좋다는 것.
그래서 난 SQL Fiddle 를 즐겨 사용한다. <Where are U?>
오른쪽 창에는
select LEVEL lev, lpad('>', 2*(LEVEL-1),'.') || child s
from test_connect_by
start with parent is null
connect by prior child = parent
ORDER SIBLINGS BY child desc;
select LEVEL lev, lpad('>', 2*(LEVEL-1),'.') || child s
from test_connect_by
start with child = 2
connect by prior parent = child
ORDER SIBLINGS BY child desc;
각각 넣어주면 된다.
그리고 이건 그냥 생각나서 덧붙이는 글.
DB가 MS SQL 이라면? 여기로 <Where are U?>
왼쪽 창에는
CREATE TABLE [dbo].[Employee](
[EMPl Id] [int] ,
[Name] [varchar](50) ,
[reports to the Boss] [int] ,
[Position] [varchar](50) )
INSERT INTO dbo.Employee
([Name], [EMPl Id], [reports to the Boss], [Position])
VALUES
('John White', 3, 1, 'Assistant'),
('Paul Coplien',12 ,3, 'Supervisor'),
('Rafaela Johnson', 29, 12 ,'Assistant'),
('Rosa Hemingway',36, 15, 'Assistant'),
('Susan Armstrong', 35 ,15, 'Assistant'),
('Harry Anderson', 32, 12, 'Assistant'),
('Julie Lee' ,15, 3, 'Supervisor'),
('Martha McDonalds', 37, 15, 'Assistant')
오른쪽 창에는
WITH Empl_Tab( Id ,
ParentId ,
LEVEL,
[Order]
) AS ( SELECT Employee.[EMPl Id] , Employee.[reports to the Boss] ,
0 AS LEVEL ,
CONVERT([varchar](MAX), Employee.[EMPl Id]) AS [Order]
FROM Employee
where [reports to the Boss] = 1
UNION ALL
SELECT Employee.[EMPl Id] ,
Employee.[reports to the Boss] ,
Empl_Tab.LEVEL+1 AS LEVEL ,
Empl_Tab.[Order] + CONVERT([varchar](30), Employee.[EMPl Id]) AS [Order]
FROM
Employee INNER JOIN Empl_Tab
ON Empl_Tab.Id = Employee.[reports to the Boss]
)
SELECT REPLICATE( '.' ,Empl_Tab.Id*1 )+Employee.Name AS Name
FROM
Employee INNER JOIN Empl_Tab
ON Empl_Tab.Id = Employee.[EMPl Id]
ORDER BY Empl_Tab.[Order]
결론 : 나는 나무명이 좋다.
오늘도 역시 이리저리 일하다가, 우연히 계층 구조 쿼리를 보게 되었는데.
갑자기 어느 신입이 생각이 났다. 왜(?)인지는 나도 모르겠는데...
하여튼 그 신입은 내가 기억하기로 프로그램 개발을 잘 했던 걸로 기억한다.
일거리를 던져주면 열심히 코딩도 하고, 이미 만들어진 프로그램을 분석해서 자기 것으로 하는 것도 능숙해 보였다.
그런데 아쉬움 점 하나, DB 는 학원에서 속성으로 배우다 보니 잘 모른다는 것.
회사에서 공기같은 나에게(내가 출근한 사실을 아무도 모르게 하라 - 나무명은 나의 우상) 이 신입이 그나마 물어보는 경우는 DB 관련 내용이였다.
신입 말로는 다른 사람에게 묻자니 좀 그렇고 내가 젤 편하다고... 흠.
뭐 이유가 어떻든 물어보니 이것저것 설명을 해주었던 기억이 나는데...
START WITH
- 계층 질의의 루트(부모행)로 사용될 행을 지정 한다.
- 서브쿼리를 사용할 수도 있다.
CONNECT BY
- 이 절을 이용하여 계층 질의에서 상위계층(부모행)과 하위계층(자식행)의 관계를 규정 할 수 있다.
- PRIOR 연산자와 함께 사용하여 계층구조로 표현할 수 있다.
- CONNECT BY PRIOR 자식컬럼 = 부모컬럼 : 부모에서 자식으로 트리구성 (Top Down)
- CONNECT BY PRIOR 부모컬럼 = 자식컬럼 : 자식에서 부모로 트리 구성 (Bottom Up)
- CONNECT BY NOCYCLE PRIOR : NOCYCLE 파라미터를 이용하여 무한루프 방지
- 서브쿼리를 사용할 수 없다.
ORDER SIBLINGS BY
- 일반적인 ORDER BY 가 아닌 계층내에서 정렬 할 수 있는 ORDER SIBLINGS BY
CONNECT BY의 실행순서는 다음과 같다.
- 첫째 START WITH 절
- 둘째 CONNECT BY 절
- 셋째 WHERE 절 순서로 풀리게 되어있다.
위의 설명대로 신입에게 가르쳐 주면서 느낀 점 하나는,
역시 말이나 글로 설명하는 것 보다는 직접 보여주는게 젤 좋다는 것.
그래서 난 SQL Fiddle 를 즐겨 사용한다. <Where are U?>
왼쪽 창에는
create table test_connect_by (
parent number,
child number,
constraint uq_tcb unique (child)
);
insert into test_connect_by values (null, 38);
insert into test_connect_by values (null, 26);
insert into test_connect_by values (null, 18);
insert into test_connect_by values (38,15);
insert into test_connect_by values (38,17);
insert into test_connect_by values (38, 6);
insert into test_connect_by values (15,10);
insert into test_connect_by values (15, 5);
insert into test_connect_by values (26,13);
insert into test_connect_by values (26, 1);
insert into test_connect_by values (26,12);
insert into test_connect_by values (17, 9);
insert into test_connect_by values (17, 8);
insert into test_connect_by values (18,11);
insert into test_connect_by values (18, 7);
insert into test_connect_by values ( 5, 2);
insert into test_connect_by values ( 5, 3);
오른쪽 창에는
select LEVEL lev, lpad('>', 2*(LEVEL-1),'.') || child s
from test_connect_by
start with parent is null
connect by prior child = parent
ORDER SIBLINGS BY child desc;
select LEVEL lev, lpad('>', 2*(LEVEL-1),'.') || child s
from test_connect_by
start with child = 2
connect by prior parent = child
ORDER SIBLINGS BY child desc;
각각 넣어주면 된다.
그리고 이건 그냥 생각나서 덧붙이는 글.
DB가 MS SQL 이라면? 여기로 <Where are U?>
왼쪽 창에는
CREATE TABLE [dbo].[Employee](
[EMPl Id] [int] ,
[Name] [varchar](50) ,
[reports to the Boss] [int] ,
[Position] [varchar](50) )
INSERT INTO dbo.Employee
([Name], [EMPl Id], [reports to the Boss], [Position])
VALUES
('John White', 3, 1, 'Assistant'),
('Paul Coplien',12 ,3, 'Supervisor'),
('Rafaela Johnson', 29, 12 ,'Assistant'),
('Rosa Hemingway',36, 15, 'Assistant'),
('Susan Armstrong', 35 ,15, 'Assistant'),
('Harry Anderson', 32, 12, 'Assistant'),
('Julie Lee' ,15, 3, 'Supervisor'),
('Martha McDonalds', 37, 15, 'Assistant')
오른쪽 창에는
WITH Empl_Tab( Id ,
ParentId ,
LEVEL,
[Order]
) AS ( SELECT Employee.[EMPl Id] , Employee.[reports to the Boss] ,
0 AS LEVEL ,
CONVERT([varchar](MAX), Employee.[EMPl Id]) AS [Order]
FROM Employee
where [reports to the Boss] = 1
UNION ALL
SELECT Employee.[EMPl Id] ,
Employee.[reports to the Boss] ,
Empl_Tab.LEVEL+1 AS LEVEL ,
Empl_Tab.[Order] + CONVERT([varchar](30), Employee.[EMPl Id]) AS [Order]
FROM
Employee INNER JOIN Empl_Tab
ON Empl_Tab.Id = Employee.[reports to the Boss]
)
SELECT REPLICATE( '.' ,Empl_Tab.Id*1 )+Employee.Name AS Name
FROM
Employee INNER JOIN Empl_Tab
ON Empl_Tab.Id = Employee.[EMPl Id]
ORDER BY Empl_Tab.[Order]
결론 : 나는 나무명이 좋다.
Kim Sae-ron(20141125)
아! 요즘 그나마 웃음짓게 만들어주는 사람들 중 귀여운 김새론양~~
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
사진을 보고 순간적으로 한 생각.
김새론이 첫째 딸이라고 했으니 가족사진이라면 사촌 언니 정도 되겠군.
이라고 생각했는데,
사이트에 올라온 글을 읽어보니,
미니홈피에 엄마의 생일을 맞아 감사 인사를 전하는 글과 함께 사진을 게재.
김새론은 “엄마 14년 간 키워준 것부터 모든 게 다 고맙고 많이 사랑해”라는 글로 엄마에 대한 남다른 애정을 과시했다.
OMG...
새론양의 어머니라니.
미래 장모님이라니(?). 아 이건 아닌 것 같다. 아 나 요즘 왜 이러지. 미쳐가는가? 겨울이라 외로움에 미쳐가는 것인가. 8'(
하여튼 김새론양이 이렇게 이쁜것은 우월한 유전자인게 확실하구나.
결론 : 나는 오늘 기분이 좋다.
2014년 11월 23일 일요일
Oracle - Lock Table
DB Version : Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
DB 데이터를 처리하는 프로그램이 갑자기 멈추면서 Ora 에러를 뱉을 때가 있다.
Ora 에러 번호는 미처 적지 못했지만 사실 Lock Table 이 문제가 되었을 경우, 꼭 한가지 동일한 Ora 번호가 나오지는 않는다.
DB 운영 환경, 프로그램 처리 순서도 영향을 미침.
문제를 처음 접했을 때, "Ora 번호가 동일하지 않아" 라는.
같이 일하는 사람 말을 듣고 다른 문제도 있는건가라고 생각했는데.
여기서 몇 시간을 삽집.
결론은 Lock Table 이 문제가 되면서 다른 문제도 같이 발생했던 거.
... OMG
유지보수쪽은 프로그램을 개발했던 사람들이 하는 것이 아니라, 유지보수쪽을 담당하는 사람들을 두어 따로 운영하는 것이지만(지금 여기처럼).
솔직히 이직률이 높은 IT에 유지보수의 질적 향상은 무리일지도.
뭐 개발일은 잠시 쉬고 싶어서 유지보수쪽 일을 하고 있지만 이제 유지보수는 선택 안하는게 좋을 것 같다.
아 다른 뭐 좋은 일 없나.
이런저런 생각을 하면서 테이블에 락이 걸렸을 경우, 처리한 순서를 여기다가 남겨놓는다.
우선 락이 걸리는 경우,
1. Parent-Child 관계로 묶인 테이블에서 Child 테이블에 Index가 없는 상황에서 Child 테이블을 수정하게 되면 Parent테이블에 TABLE LEVEL SHARE LOCK이 걸리게 되어서 Parent 테이블에 대한 모든 Update가 금지된다.
2. 블럭의 PCTFREE가 매우 작다면 한 블럭에 여러개의 레코드가 들어 있기 때문에 한 블럭에 과도한 트랜잭션이 들어와서 블럭의 Transaction Layer가 Release 되기를 기다리게 되는 경우도 있다.
3. Transaction을 직접 처리하는 경우 (@Transaction을 사용하지 않고 @Override 를 사용) commit 이나 rollback 하지 않고 바로 빠져 나가는 경우에도 lock 이 발생될 수 있다. 거래가 바로 빠져 나가는 경우는 exception 이 발생했으나 catch 를 제대로 하지 못 한 경우가 흔하다
락을 찾는 방법,
락을 해결하는 방법,
결론 : 나는 지금 기분이 안 좋다.
DB 데이터를 처리하는 프로그램이 갑자기 멈추면서 Ora 에러를 뱉을 때가 있다.
Ora 에러 번호는 미처 적지 못했지만 사실 Lock Table 이 문제가 되었을 경우, 꼭 한가지 동일한 Ora 번호가 나오지는 않는다.
DB 운영 환경, 프로그램 처리 순서도 영향을 미침.
문제를 처음 접했을 때, "Ora 번호가 동일하지 않아" 라는.
같이 일하는 사람 말을 듣고 다른 문제도 있는건가라고 생각했는데.
여기서 몇 시간을 삽집.
결론은 Lock Table 이 문제가 되면서 다른 문제도 같이 발생했던 거.
... OMG
유지보수쪽은 프로그램을 개발했던 사람들이 하는 것이 아니라, 유지보수쪽을 담당하는 사람들을 두어 따로 운영하는 것이지만(지금 여기처럼).
솔직히 이직률이 높은 IT에 유지보수의 질적 향상은 무리일지도.
뭐 개발일은 잠시 쉬고 싶어서 유지보수쪽 일을 하고 있지만 이제 유지보수는 선택 안하는게 좋을 것 같다.
아 다른 뭐 좋은 일 없나.
이런저런 생각을 하면서 테이블에 락이 걸렸을 경우, 처리한 순서를 여기다가 남겨놓는다.
우선 락이 걸리는 경우,
1. Parent-Child 관계로 묶인 테이블에서 Child 테이블에 Index가 없는 상황에서 Child 테이블을 수정하게 되면 Parent테이블에 TABLE LEVEL SHARE LOCK이 걸리게 되어서 Parent 테이블에 대한 모든 Update가 금지된다.
2. 블럭의 PCTFREE가 매우 작다면 한 블럭에 여러개의 레코드가 들어 있기 때문에 한 블럭에 과도한 트랜잭션이 들어와서 블럭의 Transaction Layer가 Release 되기를 기다리게 되는 경우도 있다.
3. Transaction을 직접 처리하는 경우 (@Transaction을 사용하지 않고 @Override 를 사용) commit 이나 rollback 하지 않고 바로 빠져 나가는 경우에도 lock 이 발생될 수 있다. 거래가 바로 빠져 나가는 경우는 exception 이 발생했으나 catch 를 제대로 하지 못 한 경우가 흔하다
락을 찾는 방법,
SELECT
A.SID,
A.SERIAL#,
A.USERNAME,
A.PROCESS,
B.OBJECT_NAME,
DECODE(C.LMODE,2,'RS',3,'RX',4,'S',5,'SRX',8,'X','NO') "TABLE LOCK",
DECODE (A.COMMAND,2,'INSERT',3,'SELECT',6,'UPDATE',7,'DELETE',12,'DROP TABLE',26,'LOCK TABLE','UNKNOWN')"SQL",
DECODE (A.LOCKWAIT, NULL,'NO WAIT','WAIT') "STATUS"
FROM V$SESSION A,DBA_OBJECTS B, V$LOCK C
WHERE A.SID=C.SID AND B.OBJECT_ID=C.ID1
AND C.TYPE = 'TM';
ALTER SYSTEM KILL SESSION 'sid, serial';
예제) ALTER SYSTEM KILL SESSION '144,33521';
commit;
결론 : 나는 지금 기분이 안 좋다.
이진아(Lee Jin Ah) KPOP STAR
1. 이진아 - 시간아 천천히_자작곡 @K팝스타 시즌4 141123
2. TV를 안보는 내가 이제 이진아양 땜시 일요일 저녁 케이팝을 시청해야겠다.
2. TV를 안보는 내가 이제 이진아양 땜시 일요일 저녁 케이팝을 시청해야겠다.
2014년 11월 20일 목요일
차변과 대변
프로그램을 개발하거나 유지보수를 하다가 보면,
가끔씩 내 전공분야가 아닌 다른 분야의 용어나 흐름을 듣을 때가 있다.
이때는 대부분 아~ 이런거구나 하면서 넘어간다.
내가 할 일은 오류가 없고 데이터의 정확성이 보장되는 프로그램을 만들고 유지하는 일이니깐.
그런데 역시 수박 겉 핥기 식은 한계가 있는 법이라. :)
용어의 뜻을 알아야 할때가 있다.
그래서 용어의 뜻을 물어보면 대부분의 회사 사람들이 다음과 같이 대답해준다.
"인터넷 찾아보면 나와."
...
그렇다. 대한민국은 인터넷 강국이기에 늘 이런 식이다.
그래서 인터넷을 찾아보았다.
차변은 거래의 분개시 왼쪽에 나타나는 거래로서 "자산의 증가,부채의감소,자본의감소,비용의발생"등을 왼쪽에 기입.
대변은 거래의 분개시 오른쪽에 나타나는 거래로서 차변의 반대적인 개념의 "자산의감소,부채의증가,자본의증가,수익의발생"등을 오른쪽에 기입
회계를 공부한 사람은 차대변에 대해서 잘 알 것이다.
하지만 나같은 사람은 잘 모른다.
그리고 인터넷에 나온 설명은 나에게 있어 '이건 뭐냐? 그래서 뭔데?' 정도이다.
그래서 내가 아는 정도는 최대한 찾아서 여기에 기록해 놓으려고 한다.
혹시 미래에 다른 누가 차대변에 대해 나에게 물어본다면 난 이 페이지를 보여주면서.
이게 내가 아는 차대변이다. 이게 내 실력의 한계일세 쏘리~
부끄럽지만 허허허. 라고...
자산.
- 자산(資産)이란 경제적인 가치가 있는 재화를 말한다. 선진국으로 갈수록 자산 분배율이 돈, 부동산, 주식 등에 고르게 나타나는 경향이 있다.
- 자산 = 자본(자본금 + 잉여금) + 부채
- 자산은 손익계산에 관한 회계학적 개념으로 수익에 대한 것을 의미하며 비용으로서 소비되고 수익에 의하여 회수된다. 따라서 자산은 소비되었으나(즉 현실적 이용성이 없으나), 아직 수익으로 전화되지 않고 비용으로서 유보되어 있는 것, 즉 차기 이후에 수익으로 전화할 것도 역시 가치가 인정되어 자산의 개념에 포함된다.
부채 (경제)
- 부채(負債)는 타인에게서 빚을 진 것을 말한다.
자본
- 경제학에서, 자본(資本)은 매우 다양한 의미로 쓰이는 개념이다. 일반적으로는 축적된 부 즉 많은 양의 화폐나, 토지·공장과 같이 생산의 밑거름이 되는 생산 수단을 말한다. 또, 자본은 돈(인간의 노동을 구매할 수 있는 권한)을 더 많이 획득하고자 할 때 사용되는 부(인간의 노동을 구매할 수 있는 권한이 축적되어 있는 상태)를 말한다. 경제학 상의 자본에는 기본자본 · 부가자본(기본자본과 부가자본을 합하여 자기자본이라 함) 및 외래자본(타인자본)이 있는데, 이 중에서 법률(상법)상의 자본금에 해당하는 개념은 자기자본만이다. 경제상의 개념인 부가자본은 대한민국 상법에서 준비금으로 규정하고 있으며(대한민국 상법 458조~461조), 외래자본 중 장기차입금의 일부는 상법에서 사채(社債)로 규정하고 있다(상 469조~516조의10).
잉여금
[경제] 기업 회계상 주식회사의 자기 자본 중에서 자본금을 초과하는 금액. 적립금, 준비금, 이월 이익금 따위를 통틀어 이르는 말로, 이익 잉여금과 자본 잉여금으로 나눈다.
자본잉여금은 주식발행자금 등에 의해, 이익잉여금은 이익의 발생 등에 의해, 재평가잉여금은 자산재평가의 평가익 등에 의해 발생한다.
* 여기까지 하다가 도저히 이해가 안되서 찾아본 사이트
<나는 이해가 안됨. 하지만 다른 사람들은 이해할 꺼임>
나는 머리가 나빠서...
비용
비용(費用, expense)이란 일반적으로 어떤 일을 하는 데 드는 돈을 말하며, 전문적 의미로는 소비된 가치의 크기를 말한다.
수익
회계에서 수익(收益)은 주요 영업활동으로 인한 자본(순자산)의 증가액이다. 자본은 자산에서 부채를 뺀 것이므로, 수익이 발생했다는 것 또는 자본이 증가했다는 것은 자산이 증가하거나 부채가 감소했다는 것을 의미한다. 수익에서 비용을 차감한 잔액을 이익이라고 한다.
* 여기까지의 설명으로 내가 생각한 개념 요약.
차변은 나한테 들어오는 것이고 대변은 나에게서 나가는 것이다 라고 큰 틀을 잡고 시작
예1)
외상매입금 150,000원을 현금으로 지급하다.
(차변) 부채의 감소 (대변) 자산의 감소
:
우선 외상매입금을 현금으로 지급하였으니, "부채의 감소"가 나에게 들어온 것이다.
그리고 빚을 갚기 위해 현금을 지급했으니 내 돈이 나간 것이다. "자산의 감소"
예2)
단기대여금 100,000원과 그에 대한 이자 100원을 현금으로 회수하다.
(차변) 자산의 증가 (대변) 자산의 감소, 수익의 발생
현금으로 100,100원이 들어왔다. "자산의 증가"
아래 1,2번 글은 순전히 나의 생각임.
1. 돈이 나에게 들어왔으니 "자산의 감소" 는 나간 것이 된다.
2. 그리고 대여로 받던 이자 "수익의 발생"이 나간 것이 된다.
돈을 빌려줬기 때문에 자산이 감소하던 것이 다시 받았으니 "자산의 감소"가 나갔다인데...
자산 = 자본(자본금 + 잉여금) + 부채 의 공식과 상관이 있을텐데...이 글을 읽는 사람에게 보류하겠다.
2번 글은 순전히 그냥 나의 생각. 역시 이 글을 읽는 사람에게 보류.
이런 것도 모르시냐라고 하시는 분들은 누가 혹시 이런 문제로 고생한다면 모른다고 구박하지 마시고 가르쳐주세요. LOL
* 예 1,2번을 보면서 그래도 나는 아리송한 것을 멈출 수가 없었다.
그런데 어떤 사람들은 위의 글들을 보고 바로 이해했고 궁금증이 풀렸다고 한다.
아무래도 나는 이해력이 심하게 떨어지는가 보다.
그래서 더 쉬운 것을 찾기로 했다.
* 그래서 예를 들어 설명한 글을 찾아보았다.
1) 식대로 현금 5,000원을 지불하다.
우선 복식에서는 계정 두 가지를 생각해야 합니다. 식대는 '복리후생비'라는 계정에 해당되고, '현금' 이라는 계정으로 지급하였습니다. 처음 부기를 익히는 사람은 '현금'도 계정이야? 하고 말하시겠지만 현금은 가장 대표적인 계정 중 하나입니다. 보통예금, 정기예금, 받을어음, 지급어음 등도 모두 계정의 이름이랍니다.
이제 [복리후생비][현금] 두 가지 계정을 왼쪽과 오른쪽으로 구분할 때 먼저 현금을 생각하면 쉽습니다. 식대로 현금을 주었으니 '현금' 계정은 오른쪽(대변)입니다. 그렇다면 분개는...
(차) 복리후생비 5,000 / (대) 현금 5,000
2) 통장에서 10,000원을 현금으로 인출했다.
이 예제의 두 가지 계정은 '보통예금'과 '현금'입니다. 보통예금은 나갔으니 오른쪽(대변)이 될 것이고, 현금은 들어왔으니 왼쪽(차변)이 될 것입니다.
(차) 현금 10,000 / (대) 보통예금 10,000
3) 상품을 판매하고 30,000원을 현금으로 받다.
상품을 판매한 것은 계정상 '매출'에 해당됩니다. 그러므로 이 거래의 두 가지 계정은 [매출]과 [현금]이 될 것입니다. 쉬운 쪽 현금이 들어왔으므로 왼쪽(차변)에 적고 물건이 나갔으니 오른쪽(대변)에 기록합니다.
(차) 현금 30,000 / (대) 매출 30,000
4) 거래처에서 상품을 매입하고 20,000 원을 통장에서 이체지급했다.
판매할 상품을 구매하는 것은 계정상 '매입'에 해당됩니다. 그러므로 이 거래의 두 가지 계정은 [매입]과 [보통예금]이 될 것입니다. 쉬운 쪽 보통예금이 나갔으므로 오른쪽(대변)이 되고 상품은 들어왔으므로 왼쪽(차변)이 될 것입니다.
(차) 매입 20,000 / (대) 보통예금 20,000
5) 상품 4,000원에 부가세 400원을 합하여 4,400원에 판매하고 현금으로 받다.
마지막으로 2개 이상의 계정을 생각해 봅시다. 대부분의 매출에는 부가세가 포함됩니다. 단지 관행에 따라 부가세를 별도로 계산하는 곳도 있고 소매점 같은 경우 부가세 포함 가격으로 거래하는 경우가 많습니다. 그러나 부가세를 별도로 기록해 주면 분기마다 부가세 신고 시나 결산 시 계산을 하기가 무척 수월합니다.
매출 시의 부가세는 계정상 '부가세예수금'에 해당됩니다. 보통 '매출'과 같은 쪽에 따라다닙니다.
(차) 현금 4,400 / (대) 매출 4,000
부가세예수금 400
: 예를 들어서 설명한 글을 보니 실제로 차대변을 어떻게 사용하는지 이해가 되었다.
하지만 나에게 회계업무를 주면서 차대변으로 분개한 자료 만들어봐~ 라고 한다면?
난 조용한 구석을 찾아 주저앉아 울 것이다.
* 그래서 다시 더 쉬운 그림으로 된 것을 찾아보았다.
마지막 장의 거래의 8요소가 다소 이상한 느낌이 나지만.
노동부랑 한국산업인력공단에서 만든건데;;;
하여튼 내가 생각하고 찾아본 차변과 대변은 여기까지.
회계사랑 변호사같은 친구가 있으면 정말 좋겠다.
결론 : 나는 친구가 적다.
가끔씩 내 전공분야가 아닌 다른 분야의 용어나 흐름을 듣을 때가 있다.
이때는 대부분 아~ 이런거구나 하면서 넘어간다.
내가 할 일은 오류가 없고 데이터의 정확성이 보장되는 프로그램을 만들고 유지하는 일이니깐.
그런데 역시 수박 겉 핥기 식은 한계가 있는 법이라. :)
용어의 뜻을 알아야 할때가 있다.
그래서 용어의 뜻을 물어보면 대부분의 회사 사람들이 다음과 같이 대답해준다.
"인터넷 찾아보면 나와."
...
그렇다. 대한민국은 인터넷 강국이기에 늘 이런 식이다.
그래서 인터넷을 찾아보았다.
차변은 거래의 분개시 왼쪽에 나타나는 거래로서 "자산의 증가,부채의감소,자본의감소,비용의발생"등을 왼쪽에 기입.
대변은 거래의 분개시 오른쪽에 나타나는 거래로서 차변의 반대적인 개념의 "자산의감소,부채의증가,자본의증가,수익의발생"등을 오른쪽에 기입
회계를 공부한 사람은 차대변에 대해서 잘 알 것이다.
하지만 나같은 사람은 잘 모른다.
그리고 인터넷에 나온 설명은 나에게 있어 '이건 뭐냐? 그래서 뭔데?' 정도이다.
그래서 내가 아는 정도는 최대한 찾아서 여기에 기록해 놓으려고 한다.
혹시 미래에 다른 누가 차대변에 대해 나에게 물어본다면 난 이 페이지를 보여주면서.
이게 내가 아는 차대변이다. 이게 내 실력의 한계일세 쏘리~
부끄럽지만 허허허. 라고...
자산.
- 자산(資産)이란 경제적인 가치가 있는 재화를 말한다. 선진국으로 갈수록 자산 분배율이 돈, 부동산, 주식 등에 고르게 나타나는 경향이 있다.
- 자산 = 자본(자본금 + 잉여금) + 부채
- 자산은 손익계산에 관한 회계학적 개념으로 수익에 대한 것을 의미하며 비용으로서 소비되고 수익에 의하여 회수된다. 따라서 자산은 소비되었으나(즉 현실적 이용성이 없으나), 아직 수익으로 전화되지 않고 비용으로서 유보되어 있는 것, 즉 차기 이후에 수익으로 전화할 것도 역시 가치가 인정되어 자산의 개념에 포함된다.
부채 (경제)
- 부채(負債)는 타인에게서 빚을 진 것을 말한다.
자본
- 경제학에서, 자본(資本)은 매우 다양한 의미로 쓰이는 개념이다. 일반적으로는 축적된 부 즉 많은 양의 화폐나, 토지·공장과 같이 생산의 밑거름이 되는 생산 수단을 말한다. 또, 자본은 돈(인간의 노동을 구매할 수 있는 권한)을 더 많이 획득하고자 할 때 사용되는 부(인간의 노동을 구매할 수 있는 권한이 축적되어 있는 상태)를 말한다. 경제학 상의 자본에는 기본자본 · 부가자본(기본자본과 부가자본을 합하여 자기자본이라 함) 및 외래자본(타인자본)이 있는데, 이 중에서 법률(상법)상의 자본금에 해당하는 개념은 자기자본만이다. 경제상의 개념인 부가자본은 대한민국 상법에서 준비금으로 규정하고 있으며(대한민국 상법 458조~461조), 외래자본 중 장기차입금의 일부는 상법에서 사채(社債)로 규정하고 있다(상 469조~516조의10).
잉여금
[경제] 기업 회계상 주식회사의 자기 자본 중에서 자본금을 초과하는 금액. 적립금, 준비금, 이월 이익금 따위를 통틀어 이르는 말로, 이익 잉여금과 자본 잉여금으로 나눈다.
자본잉여금은 주식발행자금 등에 의해, 이익잉여금은 이익의 발생 등에 의해, 재평가잉여금은 자산재평가의 평가익 등에 의해 발생한다.
* 여기까지 하다가 도저히 이해가 안되서 찾아본 사이트
<나는 이해가 안됨. 하지만 다른 사람들은 이해할 꺼임>
나는 머리가 나빠서...
비용
비용(費用, expense)이란 일반적으로 어떤 일을 하는 데 드는 돈을 말하며, 전문적 의미로는 소비된 가치의 크기를 말한다.
수익
회계에서 수익(收益)은 주요 영업활동으로 인한 자본(순자산)의 증가액이다. 자본은 자산에서 부채를 뺀 것이므로, 수익이 발생했다는 것 또는 자본이 증가했다는 것은 자산이 증가하거나 부채가 감소했다는 것을 의미한다. 수익에서 비용을 차감한 잔액을 이익이라고 한다.
* 여기까지의 설명으로 내가 생각한 개념 요약.
차변은 나한테 들어오는 것이고 대변은 나에게서 나가는 것이다 라고 큰 틀을 잡고 시작
예1)
외상매입금 150,000원을 현금으로 지급하다.
(차변) 부채의 감소 (대변) 자산의 감소
:
우선 외상매입금을 현금으로 지급하였으니, "부채의 감소"가 나에게 들어온 것이다.
그리고 빚을 갚기 위해 현금을 지급했으니 내 돈이 나간 것이다. "자산의 감소"
예2)
단기대여금 100,000원과 그에 대한 이자 100원을 현금으로 회수하다.
(차변) 자산의 증가 (대변) 자산의 감소, 수익의 발생
현금으로 100,100원이 들어왔다. "자산의 증가"
아래 1,2번 글은 순전히 나의 생각임.
1. 돈이 나에게 들어왔으니 "자산의 감소" 는 나간 것이 된다.
2. 그리고 대여로 받던 이자 "수익의 발생"이 나간 것이 된다.
돈을 빌려줬기 때문에 자산이 감소하던 것이 다시 받았으니 "자산의 감소"가 나갔다인데...
자산 = 자본(자본금 + 잉여금) + 부채 의 공식과 상관이 있을텐데...이 글을 읽는 사람에게 보류하겠다.
2번 글은 순전히 그냥 나의 생각. 역시 이 글을 읽는 사람에게 보류.
이런 것도 모르시냐라고 하시는 분들은 누가 혹시 이런 문제로 고생한다면 모른다고 구박하지 마시고 가르쳐주세요. LOL
* 예 1,2번을 보면서 그래도 나는 아리송한 것을 멈출 수가 없었다.
그런데 어떤 사람들은 위의 글들을 보고 바로 이해했고 궁금증이 풀렸다고 한다.
아무래도 나는 이해력이 심하게 떨어지는가 보다.
그래서 더 쉬운 것을 찾기로 했다.
* 그래서 예를 들어 설명한 글을 찾아보았다.
1) 식대로 현금 5,000원을 지불하다.
우선 복식에서는 계정 두 가지를 생각해야 합니다. 식대는 '복리후생비'라는 계정에 해당되고, '현금' 이라는 계정으로 지급하였습니다. 처음 부기를 익히는 사람은 '현금'도 계정이야? 하고 말하시겠지만 현금은 가장 대표적인 계정 중 하나입니다. 보통예금, 정기예금, 받을어음, 지급어음 등도 모두 계정의 이름이랍니다.
이제 [복리후생비][현금] 두 가지 계정을 왼쪽과 오른쪽으로 구분할 때 먼저 현금을 생각하면 쉽습니다. 식대로 현금을 주었으니 '현금' 계정은 오른쪽(대변)입니다. 그렇다면 분개는...
(차) 복리후생비 5,000 / (대) 현금 5,000
2) 통장에서 10,000원을 현금으로 인출했다.
이 예제의 두 가지 계정은 '보통예금'과 '현금'입니다. 보통예금은 나갔으니 오른쪽(대변)이 될 것이고, 현금은 들어왔으니 왼쪽(차변)이 될 것입니다.
(차) 현금 10,000 / (대) 보통예금 10,000
3) 상품을 판매하고 30,000원을 현금으로 받다.
상품을 판매한 것은 계정상 '매출'에 해당됩니다. 그러므로 이 거래의 두 가지 계정은 [매출]과 [현금]이 될 것입니다. 쉬운 쪽 현금이 들어왔으므로 왼쪽(차변)에 적고 물건이 나갔으니 오른쪽(대변)에 기록합니다.
(차) 현금 30,000 / (대) 매출 30,000
4) 거래처에서 상품을 매입하고 20,000 원을 통장에서 이체지급했다.
판매할 상품을 구매하는 것은 계정상 '매입'에 해당됩니다. 그러므로 이 거래의 두 가지 계정은 [매입]과 [보통예금]이 될 것입니다. 쉬운 쪽 보통예금이 나갔으므로 오른쪽(대변)이 되고 상품은 들어왔으므로 왼쪽(차변)이 될 것입니다.
(차) 매입 20,000 / (대) 보통예금 20,000
5) 상품 4,000원에 부가세 400원을 합하여 4,400원에 판매하고 현금으로 받다.
마지막으로 2개 이상의 계정을 생각해 봅시다. 대부분의 매출에는 부가세가 포함됩니다. 단지 관행에 따라 부가세를 별도로 계산하는 곳도 있고 소매점 같은 경우 부가세 포함 가격으로 거래하는 경우가 많습니다. 그러나 부가세를 별도로 기록해 주면 분기마다 부가세 신고 시나 결산 시 계산을 하기가 무척 수월합니다.
매출 시의 부가세는 계정상 '부가세예수금'에 해당됩니다. 보통 '매출'과 같은 쪽에 따라다닙니다.
(차) 현금 4,400 / (대) 매출 4,000
부가세예수금 400
: 예를 들어서 설명한 글을 보니 실제로 차대변을 어떻게 사용하는지 이해가 되었다.
하지만 나에게 회계업무를 주면서 차대변으로 분개한 자료 만들어봐~ 라고 한다면?
난 조용한 구석을 찾아 주저앉아 울 것이다.
* 그래서 다시 더 쉬운 그림으로 된 것을 찾아보았다.
마지막 장의 거래의 8요소가 다소 이상한 느낌이 나지만.
노동부랑 한국산업인력공단에서 만든건데;;;
하여튼 내가 생각하고 찾아본 차변과 대변은 여기까지.
회계사랑 변호사같은 친구가 있으면 정말 좋겠다.
결론 : 나는 친구가 적다.
2014년 11월 19일 수요일
키보드 특수문자 용어
아! 키보드 특수문자 적어놓은게 사라졌다...가 몇 달전.
그리고 며칠 후, 술자리에서 사람들이랑 이것저것 이야기하다가 특수문자를 발음해야되는데 순간 멍~
참고로 "*" 이 녀석을 뭐라고 불렀던지 기억이 안났음.
LOL :)
그래서 여기다가 기록
특수기호
!- Exclamation Point (엑스클러메이션 포인트)
“ - Quotation Mark (쿼테이션 마크)
# - Crosshatch (크로스해치), Sharp(샵), Pound Sign(파운드 사인)
$ - Dollar Sign (달러사인)
% - Percent Sign (퍼센트사인)
@ - At Sign (앳 사인, 혹은 앳), Commercial At(커머셜 앳)
& - Ampersand (앰퍼샌드)
' - Apostrophe (어파스트로피)
` - Grave (그레이브)
* - Asterisk (애스터리스크)
- - Hyphen (하이픈), Dash (대시)
. - Period (피리어드), Full Stop (풀스탑)
/ - Slash (슬래시), Virgule (버귤)
\ - Back Slash (백슬래시)
- Won sign (원사인)
: - Colon (콜론)
; - Semicolon (세미콜론)
^ - Circumflex (서컴플렉스), Caret (캐럿)
{ - Left Brace (레프트 브레이스)
} - Right Brace (라이트 브레이스)
[ - Left Bracket (레프트 브래킷)
] - Right Bracket (라이트 브래킷)
( - Left Parenthesis (레프트 퍼렌씨시스)
) - Right Parenthesis (라이트 퍼렌씨시스)
| - Vertical Bar (버티컬바)
~ - Tilde (틸드)
= - Equal Sign (이퀄사인)
+ - Plus Sign (플러스사인)
- - Minus Sign (마이너스사인)
_ - Underscore (언더스코어), Underline (언더라인)
< - Less Than Sign (레스댄 사인), Left Angle Bracket(레프트 앵글브래킷)
> - Greater Than Sign (그레이터댄 사인), Right Angle Bracket (라이트 앵글브래킷)
그리스알파벳
Α/α(알파) Β/β(베타) Γ/γ(감마) Δ/δ(델타)
Ε/ε(엡실론) Ζ/ζ(제타) Η/η(에타) Θ/θ(쎄타)
Ι/ι(요타) Κ/κ(카파) Λ/λ(람다) Μ/μ(뮤) Ν/ν(뉴)
Ξ/ξ(크시) Ο/ο(오미크론) Π/π(피) Ρ/ρ(로우)
Σ/σ(씨그마) Τ/τ(타우) Υ/υ(윕실론) Φ/φ(휘)
Χ/χ(키 또는 카이) Ψ/ψ(프시) Ω/ω(오메가)
수학기호
σ : 소문자 시그마는 표준편차를 나타내는 기호
Σ : 대문자 시그마는 아래첨자와 위첨자를 기입하여 합에 관한 기호로 사용
i : 아이. 허수단위. 제곱해서 -1이 되는 수입니다.
√ - 제곱근 또는 루트라고 읽습니다
ㅠ - 파이 : 소문자 파이는 원주율을 나타내는 기호로 3.141592... 값을 가지며,
대문자 파이는 확률에서 중복순열을 나타내거나 위첨자 아래첨자와 함께 쓰는
경우 곱에 관한 기호가 됩니다
∫ - 인테그랄 : 적분기호
∬ - 중적분 기호로, 적분을 두번 하라는 것입니다
(주: 세개있으면 삼중적분, 가운데 똥그라미가 있으면 선적분기호 입니다.)
∴ - 따라서 또는 그러므로 (주: hence 혹은 therefore 라고 읽습니다. -수학에 자주 나옴)
∵ - 왜냐하면 (주: because라고 읽습니다.)
≒ - 약: 근사값을 쓸때 또는 양쪽 값이 거의 비슷할때 사용
dθ - 디쎄타 - 미분에서 사용되는 기호입니다.
≡ - 합동 또는 모듈로(mod)를 나타내는 기호
∈ - (왼쪽이 오른쪽의) 원소이다.
∋ - (오른쪽이 왼쪽의) 원소이다.
∀ - 임의의
∃ - 존재한다. exist.
적분기호 : ∫, ∬, ∮ (주: 차례로 적분, 중적분, 선적분입니다.)
미분기호 : ∂(편미분)
삼각함수 : sin, cos, tan, sec, cosec, cot, sinh, cosh, tanh, sech, cosech, coth,
각각의 함수에 역함수 기호(^-1)를 붙이면 arc삼각함수(=역삼각함수)가 된다.
기타 : ∞(무한대), !(팩토리얼,factorial)
결론 : 나는 오늘 바쁘다.
그리고 며칠 후, 술자리에서 사람들이랑 이것저것 이야기하다가 특수문자를 발음해야되는데 순간 멍~
참고로 "*" 이 녀석을 뭐라고 불렀던지 기억이 안났음.
LOL :)
그래서 여기다가 기록
특수기호
!- Exclamation Point (엑스클러메이션 포인트)
“ - Quotation Mark (쿼테이션 마크)
# - Crosshatch (크로스해치), Sharp(샵), Pound Sign(파운드 사인)
$ - Dollar Sign (달러사인)
% - Percent Sign (퍼센트사인)
@ - At Sign (앳 사인, 혹은 앳), Commercial At(커머셜 앳)
& - Ampersand (앰퍼샌드)
' - Apostrophe (어파스트로피)
` - Grave (그레이브)
* - Asterisk (애스터리스크)
- - Hyphen (하이픈), Dash (대시)
. - Period (피리어드), Full Stop (풀스탑)
/ - Slash (슬래시), Virgule (버귤)
\ - Back Slash (백슬래시)
- Won sign (원사인)
: - Colon (콜론)
; - Semicolon (세미콜론)
^ - Circumflex (서컴플렉스), Caret (캐럿)
{ - Left Brace (레프트 브레이스)
} - Right Brace (라이트 브레이스)
[ - Left Bracket (레프트 브래킷)
] - Right Bracket (라이트 브래킷)
( - Left Parenthesis (레프트 퍼렌씨시스)
) - Right Parenthesis (라이트 퍼렌씨시스)
| - Vertical Bar (버티컬바)
~ - Tilde (틸드)
= - Equal Sign (이퀄사인)
+ - Plus Sign (플러스사인)
- - Minus Sign (마이너스사인)
_ - Underscore (언더스코어), Underline (언더라인)
< - Less Than Sign (레스댄 사인), Left Angle Bracket(레프트 앵글브래킷)
> - Greater Than Sign (그레이터댄 사인), Right Angle Bracket (라이트 앵글브래킷)
그리스알파벳
Α/α(알파) Β/β(베타) Γ/γ(감마) Δ/δ(델타)
Ε/ε(엡실론) Ζ/ζ(제타) Η/η(에타) Θ/θ(쎄타)
Ι/ι(요타) Κ/κ(카파) Λ/λ(람다) Μ/μ(뮤) Ν/ν(뉴)
Ξ/ξ(크시) Ο/ο(오미크론) Π/π(피) Ρ/ρ(로우)
Σ/σ(씨그마) Τ/τ(타우) Υ/υ(윕실론) Φ/φ(휘)
Χ/χ(키 또는 카이) Ψ/ψ(프시) Ω/ω(오메가)
수학기호
σ : 소문자 시그마는 표준편차를 나타내는 기호
Σ : 대문자 시그마는 아래첨자와 위첨자를 기입하여 합에 관한 기호로 사용
i : 아이. 허수단위. 제곱해서 -1이 되는 수입니다.
√ - 제곱근 또는 루트라고 읽습니다
ㅠ - 파이 : 소문자 파이는 원주율을 나타내는 기호로 3.141592... 값을 가지며,
대문자 파이는 확률에서 중복순열을 나타내거나 위첨자 아래첨자와 함께 쓰는
경우 곱에 관한 기호가 됩니다
∫ - 인테그랄 : 적분기호
∬ - 중적분 기호로, 적분을 두번 하라는 것입니다
(주: 세개있으면 삼중적분, 가운데 똥그라미가 있으면 선적분기호 입니다.)
∴ - 따라서 또는 그러므로 (주: hence 혹은 therefore 라고 읽습니다. -수학에 자주 나옴)
∵ - 왜냐하면 (주: because라고 읽습니다.)
≒ - 약: 근사값을 쓸때 또는 양쪽 값이 거의 비슷할때 사용
dθ - 디쎄타 - 미분에서 사용되는 기호입니다.
≡ - 합동 또는 모듈로(mod)를 나타내는 기호
∈ - (왼쪽이 오른쪽의) 원소이다.
∋ - (오른쪽이 왼쪽의) 원소이다.
∀ - 임의의
∃ - 존재한다. exist.
적분기호 : ∫, ∬, ∮ (주: 차례로 적분, 중적분, 선적분입니다.)
미분기호 : ∂(편미분)
삼각함수 : sin, cos, tan, sec, cosec, cot, sinh, cosh, tanh, sech, cosech, coth,
각각의 함수에 역함수 기호(^-1)를 붙이면 arc삼각함수(=역삼각함수)가 된다.
기타 : ∞(무한대), !(팩토리얼,factorial)
결론 : 나는 오늘 바쁘다.
2014년 11월 18일 화요일
Order of execution of select query
아 나에게 묻지마. 나도 잘 몰라.
이거 보고 해.
내 실력은 허접이라 별 도움이 안되.
The order of Query Execution is following
1. Oracle select
1)From Clause
2)Where Clause
3)Group By Clause
4)Having Clause
5)Select
6)Order By Clause
2. ms-sql select
1) FROM
2) ON
3) OUTER
4) WHERE
5) GROUP BY
6) CUBE | ROLLUP
7) HAVING
8) SELECT
9) DISTINCT
10) ORDER BY
11) TOP
그런데 나보다 월급도 많이 받는 사람이,
자기 일이면 자신이 직접 찾아야지. 왜 나한테 시켜!
결론 : 나는 기분이 안 좋다.
이거 보고 해.
내 실력은 허접이라 별 도움이 안되.
The order of Query Execution is following
1. Oracle select
1)From Clause
2)Where Clause
3)Group By Clause
4)Having Clause
5)Select
6)Order By Clause
2. ms-sql select
1) FROM
2) ON
3) OUTER
4) WHERE
5) GROUP BY
6) CUBE | ROLLUP
7) HAVING
8) SELECT
9) DISTINCT
10) ORDER BY
11) TOP
그런데 나보다 월급도 많이 받는 사람이,
자기 일이면 자신이 직접 찾아야지. 왜 나한테 시켜!
결론 : 나는 기분이 안 좋다.
Oracle Update query with Order by
DB Version : Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
아~ 짜증나!
오늘 하루도 기분이 안 좋아~
이 포스트나 빨리 적고 나의 미래에 대해 심히 다시 생각을 해봐야겠다.
하지만 지금 당장은 먹고 살기 바쁘니 이 포스트를 적어넣고 담에 편하도록 노력해야지.
우선 쿼리를 보면,
UPDATE (SELECT *
FROM TBL_TESTRANK
where COL1 = 'GroupCol1_01'
and COL2 = 'GroupCol2_01') A
SET (A.RANK) = (
SELECT rum
FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY ChangeCol) rum
, COL1
, COL2
, COL3
FROM TBL_TESTRANK
where COL1 = 'GroupCol1_01'
and COL2 = 'GroupCol2_01'
) B
WHERE A.COL1 = B.COL1
and A.COL2 = B.COL2
and A.COL3 = B.COL3
)
TBL_TESTRANK 라는 테이블의 RANK 컬럼의 값을 업데이트하는 쿼리이다.
간단하게 설명하면,
컬럼 COL1,2 그룹에 속한 데이터들을 찾아서.
컬럼 ChangeCol 의 정렬(Order by) 방식에 따라 ROW_NUMBER() 의 값을
RANK 컬럼에 업데이트한다는 말이다.
결국,
컬럼 ChangeCol 의 값이 바뀌면 RANK 컬럼의 값도 바껴야 하는 경우나 RANK 컬럼이 다른 컬럼의 변화에 민감한(의존적인)인 경우 이 쿼리가 사용된다는 것이다.
그런데 여기서 생각해 보자.
만약 대용량 데이터라고 한다면 과연 이 처리방식은?
이런 삽질은 대체 왜?
나의 푸념을 더 늘어놓는다면,
우선 초창기, 설계가 이런 경우를 생각하지 못하고 설계되었다는 것이다.
뭐 설계 당시 컬럼 ChangeCol 이 아니라 컬럼 StaticCol 로 설계되어진 것일수도 있다.
이리저리 개발하다가 바뀐 경우는 허다하니깐.
하지만 유지보수면에서 봤을 때, 관리를 하기 힘든 인터페이스나 기타 등등 같은 경우 결국 저런 헛짓거리 쿼리를 사용해야 한다는 것이다.
IT 가 왜 경력이 중요한지 아는가?
워낙에 설계, 개발, 테스트, 유지보수 단계에서 괴상하고 생각치 못한 일들이 많아서 신입들은 처리가 어려울때, 한번이라도 이런 비슷한 일로 고생한 적이 있는 경력자들은 그나마 육체적 정신적 데미지가 적어 신입보다는 빨리 처리한다는 것이다.
결론 : 나는 현재 기분이 안 좋다.
아~ 짜증나!
오늘 하루도 기분이 안 좋아~
이 포스트나 빨리 적고 나의 미래에 대해 심히 다시 생각을 해봐야겠다.
하지만 지금 당장은 먹고 살기 바쁘니 이 포스트를 적어넣고 담에 편하도록 노력해야지.
우선 쿼리를 보면,
UPDATE (SELECT *
FROM TBL_TESTRANK
where COL1 = 'GroupCol1_01'
and COL2 = 'GroupCol2_01') A
SET (A.RANK) = (
SELECT rum
FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY ChangeCol) rum
, COL1
, COL2
, COL3
FROM TBL_TESTRANK
where COL1 = 'GroupCol1_01'
and COL2 = 'GroupCol2_01'
) B
WHERE A.COL1 = B.COL1
and A.COL2 = B.COL2
and A.COL3 = B.COL3
)
TBL_TESTRANK 라는 테이블의 RANK 컬럼의 값을 업데이트하는 쿼리이다.
간단하게 설명하면,
컬럼 COL1,2 그룹에 속한 데이터들을 찾아서.
컬럼 ChangeCol 의 정렬(Order by) 방식에 따라 ROW_NUMBER() 의 값을
RANK 컬럼에 업데이트한다는 말이다.
결국,
컬럼 ChangeCol 의 값이 바뀌면 RANK 컬럼의 값도 바껴야 하는 경우나 RANK 컬럼이 다른 컬럼의 변화에 민감한(의존적인)인 경우 이 쿼리가 사용된다는 것이다.
그런데 여기서 생각해 보자.
만약 대용량 데이터라고 한다면 과연 이 처리방식은?
이런 삽질은 대체 왜?
나의 푸념을 더 늘어놓는다면,
우선 초창기, 설계가 이런 경우를 생각하지 못하고 설계되었다는 것이다.
뭐 설계 당시 컬럼 ChangeCol 이 아니라 컬럼 StaticCol 로 설계되어진 것일수도 있다.
이리저리 개발하다가 바뀐 경우는 허다하니깐.
하지만 유지보수면에서 봤을 때, 관리를 하기 힘든 인터페이스나 기타 등등 같은 경우 결국 저런 헛짓거리 쿼리를 사용해야 한다는 것이다.
IT 가 왜 경력이 중요한지 아는가?
워낙에 설계, 개발, 테스트, 유지보수 단계에서 괴상하고 생각치 못한 일들이 많아서 신입들은 처리가 어려울때, 한번이라도 이런 비슷한 일로 고생한 적이 있는 경력자들은 그나마 육체적 정신적 데미지가 적어 신입보다는 빨리 처리한다는 것이다.
결론 : 나는 현재 기분이 안 좋다.
2014년 11월 17일 월요일
Oracle RANK(), DENSE_RANK(), ROW_NUMBER() 의 OVER()가 헷갈릴때
Browser : Chrome Browser
하아. 싫다.
왜 창문의 햇살이 내 책상으로만 들어오냐 말이지.
거기다 일도 잘 안되.
OMG...
정말 오늘도 일이 잘 안되고 하기 싫은 가운데.(뭐 늘 이런 날이지만)
오라클을 쓰다가 가끔씩 이게 뭐였지 하고? 움찔하게 되는 나의 실력.
그래서 헷갈릴때마다 이거나 보려고 정리 중.
우선 테스트할 사이트는 <Where are U?>
테스트할 사이트로 이동하면
그 결과로 대충 정리하면,
RANK() OVER
이 녀석은 한마디로 짠돌이 함수이다.
결과창을 보면 알겠지만 EMP1,4 가 1등이고 그 담이 EMP3 인데 3등으로 표시되어 있다.
한마디로 등수가 높은 녀석이 많으면 밑에 있는 것들은 찌꺼기를 받으라는 말이다.
만약 EMP3 의 sal 값이 1000 이라면 EMP1,3,4 가 1이 되고 EMP2 는 4가 될 것이다.
아마 이 짠돌이 함수는 분명 경품행사 업체나 이벤트 행사 같은 DB쿼리에 자주 사용될 녀셕이 분명하다.
분명 좋은 함수지만, 기분이 나빠졌다.
DENSE_RANK() OVER
이 녀석은 한마디로 인심좋은 함수이다.
결과를 봐도 알겠지만 공동1등을 한 EMP들이 많더라도 그 다음 EMP는 2등을 받겠끔 되어 있다.
분명 좋은 함수이다. 기분이 좋아졌다.
ROW_NUMBER() OVER
이 녀석은 한마디로 깐깐한 함수이다.
절대 공동으로 함께한다는 의미는 찾을 수 없는 냉혈같은 함수이다.
인생은 선착순으로 흘러간다는 의미를 되새겨주는 함수이다.
분명 좋은 함수이나 요즘 세상을 보는 것 같아 기분이 나빠졌다.
결론 : 현재 나는 기분이 나쁘다.
하아. 싫다.
왜 창문의 햇살이 내 책상으로만 들어오냐 말이지.
거기다 일도 잘 안되.
OMG...
정말 오늘도 일이 잘 안되고 하기 싫은 가운데.(뭐 늘 이런 날이지만)
오라클을 쓰다가 가끔씩 이게 뭐였지 하고? 움찔하게 되는 나의 실력.
그래서 헷갈릴때마다 이거나 보려고 정리 중.
우선 테스트할 사이트는 <Where are U?>
테스트할 사이트로 이동하면
이런 창이 뜨겠지.
시꺼먼 녀석이 나오는 곳에 메시지 하나가 떡하니 나온다.
영어로 please 라고 한다.
그래. please라는데 뭐 해주지.
이것저것 보면 알겠지만 빨간색 테두리가 되어있는 곳을 보면 자신이 원하는 DB를 선택하도록 되어있다.
나는 오라클.
그리고 "Build Schema" 라는 빨간색 테두리를 칠한 버튼을 누르면 하얀 백지가 된다.
참고로 지금하는 테스트는 테이블이라던가 정의같은 것들이 전혀~ 필요없으므로 스키마는 패스.
그리고 오른쪽에 쿼리를 붙여넣자.
"Run SQL" 버튼을 누르면,
"Executing SQL..." 로 글자가 바뀌면서 자기는 뭔가 하고 있다라는 것을 어필한다.
그 어필하는 동안 기다리면 (물론 에러가 없는 쿼리이길 바란다.) 수 초후에(인터넷이 느리다면 그냥 컴퓨터에 DB를 설치하자.) 결과가 나온다.
그 결과로 대충 정리하면,
RANK() OVER
이 녀석은 한마디로 짠돌이 함수이다.
결과창을 보면 알겠지만 EMP1,4 가 1등이고 그 담이 EMP3 인데 3등으로 표시되어 있다.
한마디로 등수가 높은 녀석이 많으면 밑에 있는 것들은 찌꺼기를 받으라는 말이다.
만약 EMP3 의 sal 값이 1000 이라면 EMP1,3,4 가 1이 되고 EMP2 는 4가 될 것이다.
아마 이 짠돌이 함수는 분명 경품행사 업체나 이벤트 행사 같은 DB쿼리에 자주 사용될 녀셕이 분명하다.
분명 좋은 함수지만, 기분이 나빠졌다.
DENSE_RANK() OVER
이 녀석은 한마디로 인심좋은 함수이다.
결과를 봐도 알겠지만 공동1등을 한 EMP들이 많더라도 그 다음 EMP는 2등을 받겠끔 되어 있다.
분명 좋은 함수이다. 기분이 좋아졌다.
ROW_NUMBER() OVER
이 녀석은 한마디로 깐깐한 함수이다.
절대 공동으로 함께한다는 의미는 찾을 수 없는 냉혈같은 함수이다.
인생은 선착순으로 흘러간다는 의미를 되새겨주는 함수이다.
분명 좋은 함수이나 요즘 세상을 보는 것 같아 기분이 나빠졌다.
결론 : 현재 나는 기분이 나쁘다.
2014년 11월 11일 화요일
몇년후에 생길 것 같은 살기위한 배우자 모집
가끔씩 이지만 인터넷이나 사람들 이야기에 이런 이야기가 나온다.
싱글세, 1인가구에 세금을 거둔다고?
그리고 난 이 이야기가 사실로 바뀔지도 모른다고 생각한다.
세금문제나 저출산문제같은 걸로 골머리를 썩고 있는 엘리트들은 어떤 답을 내기 위해 지금도 노력하고 있을 것이다.
그리고 싱글세는 꽤 좋은 답일수도 있다.
어쩌면 싱글세로 전화위복을 경험한 엘리트들은 트윈세를 계획할지도 모른다. :)
싱글세에 반대하더라도 그게 무슨 문제인가.
대한민국은 하면 된다인데.
그리고 싱글세에 살아남기 위해 존재하는 이들은 배우자 모집을 하게 될 것이다.
한마디로 말하면 위장결혼.
또 어쩌면 떨어져 지내던 어머니나 아버지와 같이 살지도 모른다.
요즘 문제가 되는 독거노인 문제도 한번에 해결되는 이상한 싱글세이다.
그리고 위장결혼을 위해 서약서나 계약서를 만들기 위해(위자료 문제 같은) 변호사를 찾는 일이 많아질 것이다.
로우스쿨로 인한 변호사 문제 역시 해결되는 이상한 싱글세이다.
우스개 소리로 적고있는 이 글이 싱글세가 현실이 되는 날하고는 물론. 아무 관계가 없다.
확인되지도 시뮬레이션 되지도 않는 우스꽝스러운 이 글을 적는 이유는.
정말 싱글세가 닥치면 난 어떻게 해야되나 하고 아무 의미없는 고민거리 하나를 생각하면서 그래도 아무 생각없이 맞는 것 보다는 낫겠지 라는 생각에 적어본다.
결론:
싱글세, 1인가구에 세금을 거둔다고?
그리고 난 이 이야기가 사실로 바뀔지도 모른다고 생각한다.
세금문제나 저출산문제같은 걸로 골머리를 썩고 있는 엘리트들은 어떤 답을 내기 위해 지금도 노력하고 있을 것이다.
그리고 싱글세는 꽤 좋은 답일수도 있다.
어쩌면 싱글세로 전화위복을 경험한 엘리트들은 트윈세를 계획할지도 모른다. :)
싱글세에 반대하더라도 그게 무슨 문제인가.
대한민국은 하면 된다인데.
그리고 싱글세에 살아남기 위해 존재하는 이들은 배우자 모집을 하게 될 것이다.
한마디로 말하면 위장결혼.
또 어쩌면 떨어져 지내던 어머니나 아버지와 같이 살지도 모른다.
요즘 문제가 되는 독거노인 문제도 한번에 해결되는 이상한 싱글세이다.
그리고 위장결혼을 위해 서약서나 계약서를 만들기 위해(위자료 문제 같은) 변호사를 찾는 일이 많아질 것이다.
로우스쿨로 인한 변호사 문제 역시 해결되는 이상한 싱글세이다.
우스개 소리로 적고있는 이 글이 싱글세가 현실이 되는 날하고는 물론. 아무 관계가 없다.
확인되지도 시뮬레이션 되지도 않는 우스꽝스러운 이 글을 적는 이유는.
정말 싱글세가 닥치면 난 어떻게 해야되나 하고 아무 의미없는 고민거리 하나를 생각하면서 그래도 아무 생각없이 맞는 것 보다는 낫겠지 라는 생각에 적어본다.
결론:
2014년 11월 10일 월요일
OZ ReportDesigner : Script(Get current date)
Version : OZ Designer 3.0
내용: 아무 의미 없다.
라벨 스크립트에 현재 날짜가 나오도록 해달라고 해서 급하게 추가된 라벨 스크립트.
물론 데이터 형태를 시스템(System)으로 하고 필드 이름을 데이트(Date)로 해도 되지만,
나중에 이렇게 저렇게 변경해달라고 하면 역시나 수정이 편리한 스크립트로 하는게 맘 편해서리.
그나저나 대한민국 평균월급 표를 봤는데.
내 월급이랑 나이대별 월급표를 비교해보니 현재 나의 월급은 평균의 40%이하로 나왔다. :)
아무래도 난 뭔가 잘못하고 있다.
...
그래서 다른 것도 찾아보았다.
공장을 다니는 20대 2년차 직장인이 내 월급보다 많다.
ㅋㅋㅋㅋ
이런일을 할게 아니라 빨리 다른 직장을 찾아야지 하는 생각만 오늘 하루종일 맴돌고 있다.
정말 개콘에 나오는 랩처럼.
스크립트 알아서 뭘할라고 뭘할라고.
내용: 아무 의미 없다.
라벨 스크립트에 현재 날짜가 나오도록 해달라고 해서 급하게 추가된 라벨 스크립트.
물론 데이터 형태를 시스템(System)으로 하고 필드 이름을 데이트(Date)로 해도 되지만,
나중에 이렇게 저렇게 변경해달라고 하면 역시나 수정이 편리한 스크립트로 하는게 맘 편해서리.
그나저나 대한민국 평균월급 표를 봤는데.
내 월급이랑 나이대별 월급표를 비교해보니 현재 나의 월급은 평균의 40%이하로 나왔다. :)
아무래도 난 뭔가 잘못하고 있다.
...
그래서 다른 것도 찾아보았다.
공장을 다니는 20대 2년차 직장인이 내 월급보다 많다.
ㅋㅋㅋㅋ
이런일을 할게 아니라 빨리 다른 직장을 찾아야지 하는 생각만 오늘 하루종일 맴돌고 있다.
정말 개콘에 나오는 랩처럼.
스크립트 알아서 뭘할라고 뭘할라고.
2014년 11월 6일 목요일
나는 혼자가 좋다(1)
나는 가진게 너무도 없는 사람이라 혼자가 좋다.
혹여 사랑하는 사람이 생긴다면 내가 뭘 해줄 수 있을까.
그리고 사랑하는 사람과 결혼하여 애가 태어난다면 난 뭘 해줄 수 있을까.
만약 저 아이가 가진게 많은 사람의 자식이였다면 감히 저 이쁜 아이에게 손찌검을 할 용기가 나왔을까.
가진게 없는 사람의 자식이라, 그리고 가진게 없는 사람이 주는 푼돈을 받고 일하는 자신이 이렇게 해도 된다고 생각한 것일까.
내가 가진게 너무 없어 사랑하는 사람과 자식에게 아픔만 줄 것 같다면 난 혼자가 좋다.
혹여 사랑하는 사람이 생긴다면 내가 뭘 해줄 수 있을까.
그리고 사랑하는 사람과 결혼하여 애가 태어난다면 난 뭘 해줄 수 있을까.
만약 저 아이가 가진게 많은 사람의 자식이였다면 감히 저 이쁜 아이에게 손찌검을 할 용기가 나왔을까.
가진게 없는 사람의 자식이라, 그리고 가진게 없는 사람이 주는 푼돈을 받고 일하는 자신이 이렇게 해도 된다고 생각한 것일까.
내가 가진게 너무 없어 사랑하는 사람과 자식에게 아픔만 줄 것 같다면 난 혼자가 좋다.
2014년 11월 4일 화요일
2014년 11월 2일 일요일
Han Seung-yeon, youtube loop 재생
아! 요즘 그나마 웃음짓게 만들어주는 사람들 중 이쁜 한승연~~
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
이쁜 한승연의 길티 M/V를 유투브에서 반복재생으로 듣고 싶은 이 맘~~
html 을 약간만 수정하면 유투브에서 몇 시간동안 계속 듣을 수 있지 :)
브라우저는 크롬!
한승연양의 천사 날개 컷 보면서 F12 를 누르면 아래에 이상한 창이 하나 더 생긴다.
그림을 보면서 마우스커서가 놓여진 위치의 왼쪽 화살표를 눌러보자.
그러면 조금씩 반복재생을 하기 위한 길이 펼쳐질 것이다.
헉헉 힘들다.
그리고 다 펴치고 나서 중요한 것이 남았으니...
마지막 그림을 보면 마우스가 클릭된 부분(파란색 선택화면)이 있다.
그리고 자세히 보면 loop="loop" 가 있을 것이다.
반복재생을 하기 위해서는 이 부분을 추가하면 되는 것.
추가하는 방법은 간단하다. loop를 넣으려는 부분을 더블클릭하면 수정할 수 있도록 텍스트박스가 하나 뜬다. 그곳에 입력한 다음 엔터.
그림과 같이 되었는지 확인 후, 뮤직비디오를 감상.
이 후부터는 반복재생이 되는 것을 확인할 수 있다.
그런데 한승연 넘 이쁜거 아닌가. 흠.
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
이쁜 한승연의 길티 M/V를 유투브에서 반복재생으로 듣고 싶은 이 맘~~
html 을 약간만 수정하면 유투브에서 몇 시간동안 계속 듣을 수 있지 :)
브라우저는 크롬!
한승연양의 천사 날개 컷 보면서 F12 를 누르면 아래에 이상한 창이 하나 더 생긴다.
그림을 보면서 마우스커서가 놓여진 위치의 왼쪽 화살표를 눌러보자.
그러면 조금씩 반복재생을 하기 위한 길이 펼쳐질 것이다.
헉헉 힘들다.
그리고 다 펴치고 나서 중요한 것이 남았으니...
마지막 그림을 보면 마우스가 클릭된 부분(파란색 선택화면)이 있다.
그리고 자세히 보면 loop="loop" 가 있을 것이다.
반복재생을 하기 위해서는 이 부분을 추가하면 되는 것.
추가하는 방법은 간단하다. loop를 넣으려는 부분을 더블클릭하면 수정할 수 있도록 텍스트박스가 하나 뜬다. 그곳에 입력한 다음 엔터.
그림과 같이 되었는지 확인 후, 뮤직비디오를 감상.
이 후부터는 반복재생이 되는 것을 확인할 수 있다.
그런데 한승연 넘 이쁜거 아닌가. 흠.
2014년 10월 29일 수요일
Jeon Hye-Bin(20141030)
아! 요즘 그나마 웃음짓게 만들어주는 사람들 중 섹시한 전혜빈~~
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
으 이뻐도 이렇게 이쁘다니!!!
내 눈이 호강하네 그려~
:)
전혜빈 여신의 트위터 주소 함 가보자구~
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
으 이뻐도 이렇게 이쁘다니!!!
내 눈이 호강하네 그려~
:)
전혜빈 여신의 트위터 주소 함 가보자구~
2014년 10월 23일 목요일
Kim Sae-ron(20141024)
아! 요즘 그나마 웃음짓게 만들어주는 사람들 중 귀여운 김새론양~~
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
이쁘니깐 설정샷이라도 이해할게 :)
네가 다른 남자와 있는 것을 봤어.
손톱이 손바닥을 파고드는 아픔을 참으며
비 내리는 날 휩쓸려 맨홀로 흘러가는 물처럼
떠내려가는 내 정신을 잡으며
그와의 데이트가 끝난 너에게 달려가
너에게 따졌지
아~ 저 씨X 넘은 누구야?
너의 경멸스런 눈빛과 한심하다는 입모양에
난 더 다그쳤지
정말 몰라? 너의 질문에
난 웃으며 그럼 이웃사람이냐
너의 차가운 얼굴에 차갑게 뱉었지.
너와 나의 두려움과 분노와 슬픔의 싸움에
도희야라고 부르는 너의 기둥서방인 악당이 등장했지
난 달려가 그 녀석의 멱살을 잡으며 물었지
넌 뭐야? 나의 질문에
나는 아빠다
아~ 도희 너의 지갑속의 사진에 있던 그 사람?
장인어른~죽을 죄를.
쇼 미더 새론
あいしてる (아이시떼루)
I love you (아이러브유)
我愛爾 (워아이니)
이쁘니깐 설정샷이라도 이해할게 :)
네가 다른 남자와 있는 것을 봤어.
손톱이 손바닥을 파고드는 아픔을 참으며
비 내리는 날 휩쓸려 맨홀로 흘러가는 물처럼
떠내려가는 내 정신을 잡으며
그와의 데이트가 끝난 너에게 달려가
너에게 따졌지
아~ 저 씨X 넘은 누구야?
너의 경멸스런 눈빛과 한심하다는 입모양에
난 더 다그쳤지
정말 몰라? 너의 질문에
난 웃으며 그럼 이웃사람이냐
너의 차가운 얼굴에 차갑게 뱉었지.
너와 나의 두려움과 분노와 슬픔의 싸움에
도희야라고 부르는 너의 기둥서방인 악당이 등장했지
난 달려가 그 녀석의 멱살을 잡으며 물었지
넌 뭐야? 나의 질문에
나는 아빠다
아~ 도희 너의 지갑속의 사진에 있던 그 사람?
장인어른~죽을 죄를.
쇼 미더 새론
이게 대한민국의 법이다.
요즘 뉴스를 보면 늘 새롭다.
신기방기한 사건에 쓴웃음 지을 때고 많고, 짠한 뉴스에 슬프기도 했다가 어떤 것은 채널을 돌려버리거나 TV를 끄게 하는 뉴스 등등.
그런데,
법에 관련된 뉴스를 볼때마다 느끼지만, 법이 시대에 따라 바뀐다고들 하는데 난 아무리 봐도 현재 살고있는 시대나 시민이 아닌 다른 무언가가 법을 정하는 것 같다.
뭐 어차피 세상은 소수의 사람이 지배한다는게 맞는 말 같지만. 이번 사건은 그래도 좀 아닌 것 같다.
즐거워야 할 금욜이 이런 뉴스때문에 언제 내가 이런 일을 당할까 겁이 나 금세 기분이 더러워졌다.
소수에게 맡겨진 권력은 다수를 위해 일하도록 하기 위함인데 아! 이 세상 정말 무섭다.
이런 세상 내일 죽을지도 모르고 감방 갈지도 모르는데 오늘 신나게 달리기나 해볼까.
그러다가 노후준비를 안하면 인생 꼬이는데 저축이라던가 연금, 투자 쪽에 돈을 쓸까.
ㅋㅋㅋ 진짜 나 한심하다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ :'(
새벽 시간, 가정집에 도둑이 들었습니다.
도둑이 들자 20대 아들이 덤벼들어 제압했는데, 머리를 맞은 도둑이 뇌사 상태에 빠졌습니다.
여러분은 어떻게 생각하십니까?
법원은 지나친 폭행이었다며 20대 아들에게 징역형을 내렸습니다.
지환 기자가 취재했습니다.
[기자]
지난 3월 강원도 원주에 있는 주택가.
스무 살 최 모 씨는 입대를 앞둔 친구들과 어울리다 새벽 3시가 넘어 집으로 돌아왔습니다.
2층 거실에 들어선 최 씨, 그런데 서랍장을 뒤지던 도둑을 발견했습니다.
가족들이 걱정된 최 씨는 격투 끝에 50대 도둑, 김 모 씨를 잡았고 경찰에 직접 신고했습니다.
문제는 그 이후입니다.
최 씨에게 맞은 도둑은 뇌를 다쳐 식물인간이 됐고 지금까지 일어나지 못하고 있습니다.
검찰은 흉기 없이 도주하려던 도둑을 과하게 폭행했다며 20대 최 씨를 기소했습니다.
특히 몸싸움할 때 휘두른 알루미늄 빨래 건조대를 위험한 물건으로 판단했습니다.
이에 대해 최 씨는 놀란 상황에서 도둑을 제압하기 위한 정당방위라고 주장하고 있습니다.
[인터뷰:정별님, 최 씨측 국선 변호인]
"일반인의 입장에서는 도둑을 제압해야겠다는 생각을 하는 게 보통이고, 빨래건조대는 무게나 재질을 볼 때 흉기나 위험한 물건으로 보기는 어려울 것 같습니다."
법원은 1심에서 20대 최 씨에게 1년 6개월을 선고했고, 최 씨는 교도소에서 두 달 넘게 복역 중입니다.
20대 청년의 지나친 폭행이냐, 집에 들어온 절도범을 상대로 한 정당방위냐.
논란이 이어지는 가운데 내달 중순 내려질 2심 재판부의 결정이 관심을 끌고 있습니다.
YTN 지환[haji@ytn.co.kr]입니다.
신기방기한 사건에 쓴웃음 지을 때고 많고, 짠한 뉴스에 슬프기도 했다가 어떤 것은 채널을 돌려버리거나 TV를 끄게 하는 뉴스 등등.
그런데,
법에 관련된 뉴스를 볼때마다 느끼지만, 법이 시대에 따라 바뀐다고들 하는데 난 아무리 봐도 현재 살고있는 시대나 시민이 아닌 다른 무언가가 법을 정하는 것 같다.
뭐 어차피 세상은 소수의 사람이 지배한다는게 맞는 말 같지만. 이번 사건은 그래도 좀 아닌 것 같다.
즐거워야 할 금욜이 이런 뉴스때문에 언제 내가 이런 일을 당할까 겁이 나 금세 기분이 더러워졌다.
소수에게 맡겨진 권력은 다수를 위해 일하도록 하기 위함인데 아! 이 세상 정말 무섭다.
이런 세상 내일 죽을지도 모르고 감방 갈지도 모르는데 오늘 신나게 달리기나 해볼까.
그러다가 노후준비를 안하면 인생 꼬이는데 저축이라던가 연금, 투자 쪽에 돈을 쓸까.
ㅋㅋㅋ 진짜 나 한심하다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ :'(
링크
[앵커]새벽 시간, 가정집에 도둑이 들었습니다.
도둑이 들자 20대 아들이 덤벼들어 제압했는데, 머리를 맞은 도둑이 뇌사 상태에 빠졌습니다.
여러분은 어떻게 생각하십니까?
법원은 지나친 폭행이었다며 20대 아들에게 징역형을 내렸습니다.
지환 기자가 취재했습니다.
[기자]
지난 3월 강원도 원주에 있는 주택가.
스무 살 최 모 씨는 입대를 앞둔 친구들과 어울리다 새벽 3시가 넘어 집으로 돌아왔습니다.
2층 거실에 들어선 최 씨, 그런데 서랍장을 뒤지던 도둑을 발견했습니다.
가족들이 걱정된 최 씨는 격투 끝에 50대 도둑, 김 모 씨를 잡았고 경찰에 직접 신고했습니다.
문제는 그 이후입니다.
최 씨에게 맞은 도둑은 뇌를 다쳐 식물인간이 됐고 지금까지 일어나지 못하고 있습니다.
검찰은 흉기 없이 도주하려던 도둑을 과하게 폭행했다며 20대 최 씨를 기소했습니다.
특히 몸싸움할 때 휘두른 알루미늄 빨래 건조대를 위험한 물건으로 판단했습니다.
이에 대해 최 씨는 놀란 상황에서 도둑을 제압하기 위한 정당방위라고 주장하고 있습니다.
[인터뷰:정별님, 최 씨측 국선 변호인]
"일반인의 입장에서는 도둑을 제압해야겠다는 생각을 하는 게 보통이고, 빨래건조대는 무게나 재질을 볼 때 흉기나 위험한 물건으로 보기는 어려울 것 같습니다."
법원은 1심에서 20대 최 씨에게 1년 6개월을 선고했고, 최 씨는 교도소에서 두 달 넘게 복역 중입니다.
20대 청년의 지나친 폭행이냐, 집에 들어온 절도범을 상대로 한 정당방위냐.
논란이 이어지는 가운데 내달 중순 내려질 2심 재판부의 결정이 관심을 끌고 있습니다.
YTN 지환[haji@ytn.co.kr]입니다.
2014년 10월 22일 수요일
이런 랩을 원했었는데, 죽기 전에 가졌네.
TV, 라디오, 길거리에서 흘러나오는
가볍게 흥얼거릴 수 있는 랩을 난 가져었지만,
가끔씩 뭔가 듣고 싶은 랩이 있는데 하고 살았는데
i got it.
죽기 전에 내가 원한 것 중 하나인가 싶다.
Britains Got Talent 에서 생각나던거 몇개 더 같이 올려야지. 영차영차
HOLLAND'S GOT TALENT 에서 생각났던 것도 같이 올려야지. 영차영차
이건 그냥 같이 올려야지. 영차영차
가볍게 흥얼거릴 수 있는 랩을 난 가져었지만,
가끔씩 뭔가 듣고 싶은 랩이 있는데 하고 살았는데
i got it.
죽기 전에 내가 원한 것 중 하나인가 싶다.
Britains Got Talent 에서 생각나던거 몇개 더 같이 올려야지. 영차영차
HOLLAND'S GOT TALENT 에서 생각났던 것도 같이 올려야지. 영차영차
이건 그냥 같이 올려야지. 영차영차
2014년 10월 17일 금요일
2014년 10월 16일 목요일
2014년 10월 6일 월요일
대항해 시대 번역 메모
스킬이 부족해짐에 따라 언어 스킬을 지우고 번역메모와 바뒤랭귀지로 살아가야지.
참고로,
모험을 하기 위해서는 언어가 필요한데 언어를 지우게 된다면, 믿을 것은 번역메모. 물론 원클 유저에 해당되는 이야기.
모험을 하기 위해서는 언어가 필요한데 언어를 지우게 된다면, 믿을 것은 번역메모. 물론 원클 유저에 해당되는 이야기.
그리고 돈이 좀 모여있는 유저. 번역메모를 살 돈도 없던 시절이 :( :( :( ㅋㅋㅋ
그리고 행음도 잘 들고 댕겨야됨. 행음을 살 돈도 없던 시절이 :( :( :( ㅋㅋㅋ
대항을 오래하다보니 드디어 나도 번역메모와 행음을 살 돈을 걱정할 날이 없어지는구나.
물론 원클을 고집하고 육메보다는 뻘짓을 좋아하다보니 (신기한게 있으면 그것부터 함. 예를 들어 생산랭작. 그것도 발주서없고 다른 유저분들의 지원도 없이. 오직 혼자 힘으로 ㅋㅋㅋ)
이렇게 되었지만. 후회는 없어. 대항아 부디 오래오래 서비스해다오.
1 번역메모
2 번역메모의 종류
번역메모 | 번역 언어 |
게르만어 번역메모 | 영어, 네델란드어, 독일어, 노르웨이어 |
로망어 번역메모 | 포르투갈어, 스페인어, 프랑스어, 이탈리아어, 라틴어 |
동유럽어 번역메모 | 그리스어, 슬라브어 |
켈트어 번역메모 | 켈트어 |
아프리카어 번역메모 | 서아프리카어, 스와힐리어 |
아프로아시아어 번역메모 | 아라비아어, 헤브라이어, 고대이집트어 |
알타이어 번역메모 | 터키어, 조선어 |
인도양어 번역메모 | 페르시아어, 인도어 |
아메리카어 번역메모 | 마야어, 나우아틀어, 케추아어 |
남방어 번역메모 | 말레이 타갈로그어, 크메르어, 오세아니아어 |
3 번역메모 판매 도시
번역메모 | 판매 도시 |
게르만어 번역메모 | 스톡홀름, 암스테르담, 런던 |
로망어 번역메모 | 리스본, 세비야, 마르세이유, 제노바, 피사, 나폴리, 베네치아, 아테네 |
동유럽어 번역메모 | 스톡홀름, 암스테르담, 베네치아, 아테네 |
켈트어 번역메모 | - |
아프리카어 번역메모 | 세인트조지스, 케이프타운, 잔지바르 |
아프로아시아어 번역메모 | 튀니스, 알렉산드리아, 이스탄불, 아덴, 캘리컷 |
알타이어 번역메모 | 튀니스, 알렉산드리아, 이스탄불 |
인도양어 번역메모 | 아덴, 캘리컷 |
아메리카어 번역메모 | 산토도밍고, 포르토벨로, 리우데자네이루 |
남방어 번역메모 | 자카르타 |
4 도시별 판매 번역메모
도시 | 판매 번역메모 | 도시 | 판매 번역메모 | |
런던 | 게르만어 | 암스테르담 | 게르만어, 동유럽어 | |
스톡홀름 | 게르만어, 동유럽어 | 리스본 | 로망어 | |
세비야 | 로망어 | 마르세이유 | 로망어 | |
제노바 | 로망어 | 피사 | 로망어 | |
나폴리 | 로망어 | 튀니스 | 아프로아시아어, 알타이어 | |
베네치아 | 로망어, 동유럽어 | 아테네 | 동유럽어, 로망어 | |
알렉산드리아 | 아프로아시아어, 알타이어 | 이스탄불 | 아프로아시아어, 알타이어 | |
세인트조지스 | 아프리카어 | 케이프타운 | 아프리카어 | |
잔지바르 | 아프리카어 | 아덴 | 아프로아시아어, 인도양어 | |
캘리컷 | 아프로아시아어, 인도양어 | 산토도밍고 | 아메리카어 | |
포르토벨로 | 아메리카어 | 리우데자네이루 | 아메리카어 | |
자카르타 | 남방어 |
피드 구독하기:
글 (Atom)
대항해시대 조선 랭작
숙련도 획득 방법 선박 건조, 선박 강화, 전용함 추가시 숙련도 획득 모두 동일한 공식 적용 획득 숙련도 공식 기본 획득 숙련도 ≒ int{건조일수 × 현재랭크 × (0.525)} 이벤트 & 아이템 사용...
-
1. 장치 및 프린터 2. 프린터 및 팩스 오른쪽 마우스 -> 프린터 추가 네트워크, 무선 또는 Bluetooth 프린터 추가 사용가능한 프린터 찾는 중 후, C364Series 선택 (프린터에 랜이 연결이 되어 있어야 함. 프린터 ...
-
숙련도 획득 방법 선박 건조, 선박 강화, 전용함 추가시 숙련도 획득 모두 동일한 공식 적용 획득 숙련도 공식 기본 획득 숙련도 ≒ int{건조일수 × 현재랭크 × (0.525)} 이벤트 & 아이템 사용...