2010년 12월 7일 화요일
2010년 12월 1일 수요일
ime-mode
style="ime-mode:auto"
- 현재 선택되어 있는 상태로 한/영중 선택
style="ime-mode:active"
- Default로 한글 선택 되는 모드
style="ime-mode:inactive"
- Default로 영문 선택 되는 모드
style="ime-mode:disabled"
- 무조건 영문만 입력되도록 하는 모드 (한글 입력 안됨)
2010년 11월 21일 일요일
getEelementById
id를 이용해서 특정 태그 객체를 찾아 리턴하며,
지정된 id를 가진 태그가 없거나 두개 이상이면 getElementById 메서드는 null을 리턴.
docuement.getElementById("값")
<div id='ID'></div>
<input id="test" value="one">
<script language="javascript">
var a = document.getElementById("test");
alert( a.value );
</script>
// IE에서는 id가 정의되어 있지 않으면 name에 접근, 문제는 ff에서는 안된다는것..
getElementsByName
지정된 이름이나 태그이름을 가진 태그 객체의 배열을 리턴하며,
객체를 찾지못하면 길이가 0인 배열을 리턴.
document.getElementsByName("값")
<input type="text" name="NAME">
<input type="hidden" name="test" value="one">
<input type="hidden" name="test" value="two">
<input type="hidden" name="test" value="three">
<script language="javascript">
var a = document.getElementByName("test");
var i;
document.write("배열값 출력 : ");
for(i=0;i<a.length;i++){
document.write(a.value[i]+" ");
}
</script>
2010년 11월 17일 수요일
테이블의 길이 고정하기(table-layout:fixed)
<table border="1" width="100" style="table-layout:fixed">
<tr>
<td nowrap>가나다라마바사</td>
</tr>
</table>
2010년 10월 17일 일요일
10년내 `e백(e-Bag)`시대 온다
롤프 얀센 CEO '스마트코리아'서 조망…한국 대비해야
"10년 내에 대부분의 사람이 스마트폰과 랩톱 컴퓨터, 태블릿 PC, 카메라가 하나의 기기에 통합된 e백(e-Bag)을 들고 다닐 것이다. 한국 기업도 e백을 주목해야 한다."
12일 일산 킨텍스에 열린 스마트코리아 기조강연에서 국제적인 미래학자와 IT 전문가들이 IT의 미래를 조망했다.
첫 강연자로 나선 미래학자 롤프 얀센 드림컴퍼니 CEO는 "한국기업은 앞으로 e백을 주목해야 하고, 제품을 개인화 하는 데 신경 써야 하며, 디자이너, 스토리텔러, 아티스트가 IT 전문가와 만날 수 있게 해야 한다"고 조언했다.
롤프 얀센 CEO는 e백이 스마트폰, 랩톱 컴퓨터, 태블릿 PC, 카메라를 하나의 디바이스에 넣은 것으로, 스마트폰보다는 크고 랩톱보다는 작은 크기이며, 대부분의 사람에게 e백이 평생의 동반자가 될 것이라고 예상했다.
그는 또 그동안 대기업이 각광을 받았지만, 소비자들이 주문제작된(custom-made) 제품을 원하고 인터넷과 작은 기기로 제작이 가능해짐에 따라 앞으로 10년간 기업 형태가 중소기업 위주로 바뀔 것이며, 한국 역시 소규모 생산체계를 갖춘 수많은 중소기업이 필요해질 것이라고 전망했다.
얀센 CEO는 또 신문, 영화, 음악 등 다양한 분야의 미래를 전망했다.
그에 따르면, 전 세계 소비자는 하나의 글로벌 인터넷 언어를 사용하게 될 것이며, 자동화된 번역 및 통역 서비스 통해 10년 이내에 외국사람과 자유롭게 커뮤니케이션을 하게 될 전망이다.
또 현재 미국, 유럽 일부에서 종이신문이 생존에 위협을 받는 현상이 나타나고 있는데, 10년 내에 프린트와 배포비용이 들지 않고 산림파괴까지 막을 수 있는 온라인 신문이 1만개 만들어질 것으로 예상된다.
이와 함께 영화, 음악, 서적의 1인 제작과 발표가 가능해져 엔터테인먼트 산업의 민주화가 이뤄질 것으로 예상되며, 광고 역시 지극히 개인화 돼 개개인을 대상으로 한 광고가 주류를 이룰 전망이다.
뒤이어 강연에 나선 피터 손더가드 가트너 수석부사장은 향후 10년간 주목해야 할 4가지 추세로 클라우드 컴퓨팅, 상황인지 컴퓨팅, 소셜 컴퓨팅, 패턴인식 능력을 꼽았다.
그는 "클라우드 컴퓨팅은 비즈니스 모델 자체를 변화시킬 것이며, 패턴인식 능력을 통해 그동안의 패턴을 분석해 사건이 발생하기 전에 인식해 더 빠르게 대응할 수 있게 될 것"이라며 "클라우드 컴퓨팅 등 4가지 추세가 융합돼 정형과 비정형 정보를 자유자재로 다룰 수 있게 됨에 따라 상상할 수 없을 정도의 결제발전을 꾀할 수 있게 될 것"이라고 전망했다.
그는 또 2011년 10대 전략적 기술로 △클라우드 컴퓨팅 △모바일 애플리케이션 및 미디어 태블릿 △차세대 분석(패턴 기반 분석) △소셜 분석 △소셜 커뮤니케이션 및 협업 △비디오 △상황인지 컴퓨팅 △유비쿼터스 컴퓨팅 △스토리지급 메모리 △패브릭(Fabric) 기반 인프라스트럭처 및 컴퓨터를 제시했다.
강동식기자 dskang@
2010년 9월 25일 토요일
2010년 9월 17일 금요일
2010년 8월 18일 수요일
tempdb 로그 삭제
"오류: 9002, 심각도: 17, 상태: 6
'tempdb' 데이터베이스의 로그 파일이 꽉 찼습니다. 데이터베이스의 트랜잭션 로그를 백업하여 사용 가능한 일부 로그 공간을 확보하십시오. "
backup log tempdb with no_log
혹은
backup log tempdb with truncate_only
MSSQL Linked 서버 이용시 오류 7405번 조치방법
------------------------------------------------------------------------------------------
오류 7405: 유형이 다른 쿼리를 사용하려면 연결에 대해 ANSI_NULLS 및 ANSI_WARNINGS 옵션을
설정해야 합니다. 이렇게 하면 일관된 방식으로 쿼리를 사용할 수 있습니다. 이 옵션을 설정한 다음
쿼리를 다시 실행하십시오
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO
CREATE PROC SP_XXX_XXXX
AS
......
......
......
2010년 8월 14일 토요일
balsamiq UI 설계 프로그램..
최이사가 알려준 툴..
잠깐 사용해 봤는데... 편리하군... 굿굿~
홈페이지 : http://www.balsamiq.com/
데모버전 : http://www.balsamiq.com/builds/mockups-web-demo/

2010년 7월 22일 목요일
2010년 7월 20일 화요일
2010년 7월 11일 일요일
CEO의 부하직원관리법
요즘 사회초년생에 대해 공통적으로 하는 말이 있습니다.
옛날과는 다르다. 점점 더 개념 없다. 기본이 안 되어 있다. 직장인 마인드가 없다. 다루기 어려워진다. 도통 말을 안 듣는다. 일하러 왔는지 놀러왔는지 재테크하러 왔는지 투잡 인지, 이직하러 왔는지, 아니면 결혼해 축의금 걷으러 왔는지 모르겠다.
앞으로 경영자 여러분들이 마주할 부하직원들은 지금보다 더하면 더했지 덜하진 않을 겁니다. 월급 착착 떨어지는 회사생활보다 노후준비 재테크 자기계발 이직 경력관리에 더더욱 신경 쓸 것입니다. 그러면서도 회사에만 오면 기운 빠진 얼굴에 간혹 우울증에 걸린 것처럼 흐물흐물 거리는 직원들도 많을 것입니다.
어찌할까요? 그냥 놔두면서 부하도 고민하고 상사도 고민하는 고민기업을 만들겠습니까, 아니면 최소한 (연봉 대폭인상 같은) 커다란 기쁨은 못주더라도 고민이라도 덜어줄 수 있는, 관심이라도 가져주며 숨은 인재를 발굴할 수 있는 관심기업, 관심경영자가 되시겠습니까.
첫째, 이웃집 아들신드롬을 벗어나십시오. 옆집 아들, 친구 아들처럼 사장의 생각이나 가치관, 고충과 고민, 회사의 어려움 등을 직원들에게 강요하지 마십시오. 사장은 상사이자 리더입니다. 리더는 해답에 집중하고 부하는 문제에 집중합니다. 직원들은 고민하는 존재이고 상사는 이를 해결해 주는 존재입니다. “우리는 안 그랬는데...” “30년 전에 20만원 받고도 결혼하고 집사고 애 키웠다. ” “등산처럼 좋은 운동이 없다. 바둑처럼 좋은 취미가 없다.” “내 친구 회사 누구는(00업체 영업부는) 무슨 일을 해서 실적을 이렇게 올렸다던데...” 이런 말 하시는 분 적잖게 많습니다.
작용과 반작용이 있습니다. 한쪽에서 그것도 위에서 부정적 메시지를 보냈을 때 다른 쪽(아랫물에서) 긍정적 반응이 오기 어렵습니다. 매주 매월 부담스런 어른과 등산하기 좋아하는 사람, 바둑 좀 둔다고 시도 때도 없이 사장실로 불려가 바둑 두고 싶은 사람 없습니다. 게다가 사장이 회사 사정이 어렵다, 환경이 점점 나빠지고 있다, 심지어 부부관계, 자녀교육이 힘들다고 한다면 밑에 사람들 어느 누구도 “아 내가 더 열심히 해야겠구나.” “우리 사장님이 저렇게 힘드신데 ...”라고 생각해줄 직원 거의 없습니다.
어느 회사 사장님은 “누가 자기 직원 칭찬하거나 자기 회사로 데려다 썼으면 한다고 말하면 그리 좋을 수도 없다”라고 합니다. 먼저 자신 아들을 잘 키워야겠고 그렇지 않다고 더 노력하십시오. 최선을 다했는데도 자식이 좀 모자라면 채찍도 좋지만 먼저 격려부터 해 보십시오.
둘째, 상대성의 법칙을 인정하십시오. 현존하거나 미래의 사원들은 저마다 직장 생활하는 목표가 다를 것입니다. 투잡 이든 쓰리 잡이든 한 발을 회사에 담구고 돈버는데 혈안이 되는 사람, 복지부동 보신주의로 정년퇴직을 꿈꾸는 사람, 여기저기 오지랖 넓혀 끊임없이 바다로 나가려는 사람, 이리저리 갈길 몰라 항상 방황하고 일도 손에 안 잡히는 사람, 남을 죽어야 내가 산다는 심정으로 일보다 정치에 관심 두는 사람 등 각양각색일 겁니다. 하지만 회사와 일을 우선시하던 기성세대는 잊어버리십시오. 이제는 WLB(Work-Life Balance: 일과 생활의 균형)즉 가족과 건강 그리고 일을 소중하게 생각하는 개인의 생활을 중시하는 방향으로 바뀌고 있습니다. 근로자가 일과 생활을 모두 잘 해내고 있다고 느끼는 상태, 즉 일과 생활 간의 균형을 맞추기 위하여 설계된 제도입니다. 이를 인정하는 틀 안에서 조직, 회사의 목표와 비전에 따라 가자고 강조해 보십시오.
셋째, 놀 때는 화통하게 대신 눈치를 가지십시오. 회식 자리가 많을 겁니다. 분위기만 좋으면 신세대 직장인들도 마다하지 않습니다. 그런데 사장이 돈을 낸다고 생색내지 마십시오. “생각보다 비싸네.” “남기지 말고 먹어요. 어서.” “000씨는 왜 안왔지? ” 이런 말 좋지 않습니다. 1차 중간 사장님의 한 말씀이 이어집니다. 부정적인 말보다 긍정적인 말을 해주십시오. 애로사항을 듣고자 한다면 귀는 열고 맘은 꾹 참으십시오. 월급문제부터 조직문제 간혹 술에 취해 상사 사장의 처신에 대해 따지는 직원도 있겠지요. 웃어 넘겨야죠. 쌓아두고 다음날이나 후에 반드시 보복하시는 분들 있습니다. 누가 회식가고 싶겠습니까. 회식자리에서 나온 제안이나 아이디어는 최소한 1, 2개 정도는 실행되도록 노력하십시오. 2차로 노래방을 가던 맥주집을 가던 상사, 사장님들 술 취해 하고 싶은 말 너무 하지 마십시오. 1차에서 나온 건전한 얘기를 끄집어 내십시오.노래방이라면 한 곡조 멋들어지게 뽑고 몇 번 흥에 겨워 한다음 자리를 떠나는 모양새도 좋습니다. 조용한 계산은 당연하지요. 3차로 이어지거나 혹은 자리를 파하고 집 먼 사람들에게 3차용 회식비나 택시비 챙겨주십시오. 가끔은요.
넷째, 따라가지 못한다면 이해하는 노력이라도 하십시오. 요즘 블로그, 미니홈피, UCC, 메신저, 핸드폰은 필수이고 MP3플레이어, PMP 등은 선택입니다. 업무 시간 눈치보면 메신저하거나 미니홈피, 블로그 방문하는 일 비일비재합니다. 생산성 효율성에서 좋지는 않지요. 무작정 강제한다고 되는 일은 아닙니다. 일벌백계도 좋지 않습니다. 허용하긴 허용하되 일정한 시간(업무 집중시간 등)으로 제한하십시오. 사내 공용통신망이 없다면 아예 사장님도 그 바다에 뛰어드십시오. 전 직원들을 공통 메신저로 엮는 것입니다. 사장님도 메신저에 등록하시고 필요하다면 가끔 로그인해 보세요. 메신저 여럿 하는 직원들도 신경 쓰지 않을 수 없습니다. 간혹 문자메지시를 날리거나 메신저 대화명을 바꾸어 보세요. 오체불만족(몸이 열개라도 부족하다) 5월 11일이 생일이라면 19450511, 직원들 중에 생일이라면 “축000팀장생일“ ”회사주가10p상승“ ”올 매출 목표 70%달성 중“ ”더운날 힘내라“ 등 사장님이 분위기 메이커도 될 수 있습니다.
다섯째, 신상필벌 혹은 신상필상의 원칙을 가지십시오. 연봉 따라 철새마냥 움직이는 사람보다 조직부적응으로 고민하는 이를 잡는 게 훨씬 낫습니다. 이들에게 질책 비난 비판보다 칭찬을 해주십시오. 매번 칭찬하기 어렵다면 정치인으로 변신하십시오. 상황에 따라 이해관계에 따라 때론 칭찬하고 때론 비판하고 때론 자성하는 모습 어떨까요. 그렇다고 잘생겼다, 학벌 좋다, 역시 000씨야 같은 말은 삼가십시오. 구체적으로 행위, 즉 한 일에 대해 칭찬하십시오. 질책도 마찬가지입니다. “000는 항상 왜 그래”“000 때문이야 누구 때문이야”“000는 말귀를 잘 못 알아듣나?” 등 싸잡이 식이 아닌 사안에 대해 질책하십시오.
여섯째, 킹핀을 키우십시오. 어느 조직에서나 임원이나 조직의 장(長)이 아닌 직원(상하 불문)가운데 유독 주위를 끌어당기거나 주위 여론을 주도하는 직원이 있습니다. 조직의 기강을 헤치지 않는 범위 안에서 이들을 잘 이용하면 경영진의 생각을 효율적으로 전파시킬 수 있습니다. 볼링 핀을 쓰러뜨리는 데 있어 가장 영향력이 큰 5번 핀을 흔히 킹핀(Kingpin)이라고 합니다. 변화에 가장 큰 영향을 주는 영역이나 사람에 자원을 집중하여 더 큰 변화를 꾀하는 사람을 킹핀으로 활용하십시오. 프락치가 아닌 여론수렴으로 생각하십시오.
반대로 직원 가운데 항상 불평불만을 늘어놓거나 근태가 나쁘고 사생활이 문란 하는 등 언제나 조직 분위기를 다운시키는 악성 바이러스들이 있습니다. 회사에 꼭 필요하지 않다면 이들은 속아 내서 제거 혹은 치료해야 합니다.
조직 내에서 성질 더러워도 실력 실적 인맥 좋은 권력중독자 수준의 상사들이 있습니다. 부하들에겐 최악이지만 실적 개선, 부서장악에서는 타의 추종을 불허합니다. 이런 권력중독자를 키우거나 영입하십시오. 조직의 긴장을 불어넣는데 최고입니다. 단, 그 자리에 너무 오래 앉혀 놓으면 부하들이 이탈이나 좌절, 스트레스가 폭발하니 적절한 타이밍에 맞추어 보직전환 승진 등 인사이동을 하십시오. 이도저도 아니면 사장님이 나서서 어머니처럼 보듬고 따스하게 치유하는 모습을 보여주십시오. 병 주고 약 주고가 되겠지요.
마지막으로 공부하는 사장이 되십시오. 아는 게 힘이고 알아야 사고력이 키워지고 글발 말발이 섭니다. 학벌(學閥) 학력(學歷)과 지력(智力)은 무관합니다. 한 주에 한권 한달에 최고 한권 정도는 책을 읽으십시오. 좋은 책은 직원들에게 선물하고 대화를 나누어 보십시오. 사장의 고민이 담긴 책이나 정말 직원들에게 하고 싶은 말이 담긴 책을 선물하십시오. 독후감도 좋고 간단한 후일담도 좋으니 피드백을 받으십시오. 백 마디 질책보다 낫습니다. 아침 먹고 지식을 충전할 수 있는 세미나 포럼 강연회 등에 참여하십시오. 신문의 동정, 행사란을 살펴보거나 인터넷 검색 창에 <강연 세미나 포럼 행사 특강 특별강연 연설> 등을 먼저 치고 그 다음에 <개최 개막 열릴 예정 참석 > 등을 쳐 보십시오. 동정 부고란을 보시고 지인이 있으면 경조사의 장소에 가보십시오. 인맥 정보가 넘칩니다. 수입업협회를 비롯한 무역협회 대한상의 중소기업중앙회 경총 능률협회 표준협회 등의 행사를 참고하십시오. 심심하면 직원들과 코엑스 킨텍스 등 전시장을 방문하거나 영화를 보고 대화를 나눠보십시오. 직접 하기 귀찮으시다면 삼성경제연구소의 세리CEO, 산업정책연구원의 독서경영자모임, 인간개발연구원, 휴넷, 세계경영연구원의 협상스쿨 등 다른 CEO들이 자주 가는 모임을 가보십시오. 대화를 나누다보면 인간사 세상사 업계 경영자들이 어떤 생각을 하고 어떻게 돌아가는 지 알 수 있습니다.
이 가운데 몇 가지만 실천하신다면 당신도 회사 경영자로서 성공하고 21세기 가장 어렵다는 부하직원 경영에도 성공하실 것이라고 믿습니다.
문제 직원 개과천선 노하우 6
‘달래도 보고 을러도 보았는데, 전혀 말이 통하지 않습니다. 최후통첩을 했지만, 인간적인 정리도 있고 어떻게 대응해야 할지 모르겠습니다.’ 상습 지각, 항명을 비롯한 일탈 행위를 일삼는 데다 실적도 신통치 않은 문제 직원들.
직장 상사들에게는 딱히 내치기도 어렵고, 두고 보자니 속 터지게 하는 ‘계륵’에 비유할 수 있지 않을까. 〈하버드 비즈니스 리뷰〉는 하지만 발상의 전환을 강조한다. 문제 사원들은 높은 잠재력을 지닌 자원일 수도 있으며, 때로는 앞뒤가 꽉 막힌 상사들이 이들의 앞길을 가로막는 장애물로 작용할 수 있다는 것.
웬만한 회유와 협박에도 꿈쩍하지 않는 이들을 움직일 수 있는 비결은 무엇일까. 영국 런던비즈니스스쿨의 나이겔 니콜슨(Nigel Nicholson) 교수의 하버드비즈니스리뷰 기고문 ‘문제 직원에 동기 부여하기(How to Motivate your Problem People)’를 소개한다.
문제 직원 공략 노하우 베스트 6
1 잭 웰치, 넬슨 만델라 리더십은 잊어라
2 설교는 그만… 심리학 책부터 펼쳐 들어라
3 무심코 던지는 발언에 귀를 쫑긋 세워라
4 ‘직원 잘못도 내 책임’ 포용성 길러라
5 상사 뒷담화 배경도 곰곰이 생각하라
6 해고는 미봉책, 시스템을 뜯어 고쳐야
제언 1 잭 웰치나 만델라 리더십은 잊어라
중성자탄 잭. 제너럴일렉트릭(GE)의 잭웰치 전 회장을 일컫는 섬뜩한 표현이다. 엄격한 상벌주의 원칙에 따라 실적이 부진한 직원들을 내모는 그의 냉혹한 경영스타일을 건물은 남겨놓고 목숨만 앗아가는 중성자탄에 비유한 풍자이다. 경영의 신으로 통하는 잭 웰치는 한 시대를 풍미한 거물이다.
〈하버드 비즈니스 리뷰〉는 그러나 잭 웰치는 잊으라고 조언한다. 남들을 압도할 수 있는 카리스마나, 리더십은 타고 난다(gifted)고 해도 지나친 말은 아니다. 구성원들을 한 방향으로 일사분란하게 이끌고 가는 역량은 대부분의 사람들에게 언감생심이다. 무엇보다, 그의 문제 사원 대처 방식이 더 이상 유효하지 않다.
채찍과 당근이 모든 직원들에게 먹혀드는 것은 아니다. 부서장의 역할은 문제 사원(problem worker)의 변화를 유도하는 것이며, 복잡한 심리 파악이 이러한 여건 조성의 첫걸음이라고 〈하버드 비즈니스 리뷰〉는 지적한다.
상사들의 골머리를 썩히는 문제 사원들은 도대체 다른 직원들과 어떤 점이 다른 것일까.
제언 2 설교는 그만… 심리학 책을 펼쳐라
‘FMP(Financial Management Program)’. GE의 독특한 인재 양성 제도이다. 미래의 잭 웰치, 혹은 제프리 이멜트를 목표로 하는 직장 1~2년 차들을 대상으로 선발한다. 입사 후 2년 동안 GE 자회사의 여러 부서를 돌면서 업무를 익히는데, 끊임없이 과제가 부여되고 일상적 업무도 처리해야한다는 게 회사 측 설명.
눈코 뜰 새 없이 바쁜 것이 당연하다. 이들을 움직이는 인센티브는 무엇일까. 남들보다 빠른 진급이 그 하나이다. 사관학교 졸업 후 바로 소위로 임관하는 생도들에 준하는 대우를 받게 된다. 경제학에서 강조하듯이, 사람들은 인센티브로 움직이는 존재들이다. 하지만 예외 없는 법칙이 있을까.
인센티브도 인센티브 나름이다. 하버드비즈니스리뷰는 문제 사원들은 물질적 보상이나 승진에도 무덤덤한 편이라고 지적한다. 물질적 보상에 민감하게 반응하는 이들은 대개 의욕적이고, ‘잘 나가는’ 직원들일 개연성이 크다는 것. 문제 사원들에게는 편안함을 느끼는 자신만의 영역(comfort zone)이 있다.
이들을 움직일 수 있는 인센티브는 무엇일까. 꽁꽁 감추고 있는 이들의 속마음을 어떤 식으로 포착해야 할까? 〈하버드 비즈니스 리뷰〉는 직장 상사들이 도덕군자가 아니라 심리학자가 돼야 한다고 조언한다. 맞춤형 인센티브를 찾아내야 한다는 것.
제언 3 무심코 던지는 발언도 흘려듣지 말라
‘유도 선수들의 움직임을 보라.’ 〈하버드비즈니스리뷰〉는 문제 사원들의 속내를 파악하는 노하우를 유도선수들의 부드러운 움직임에 빗대 설명한다. 상대방을 힘으로만 밀어 붙여서는 승리하기 어렵다. 상대방이 끄는 대로 자연스레 몸을 맡겨야 한다. 그리고 반동을 통해 되치기를 하라는 주문이다.
〈하버드비즈니스리뷰〉는 형식에 구애받지 말라고 조언한다. 때로는 정수기 앞에서, 또는 식사를 하면서 자유롭게 대화를 나누라는 것. 문제 사원들의 튀는 행동을 그들의 눈높이에서 바라보라는 주문이다. 훈계나 설교는 금물이다. 무엇보다, 그들이 무심코 던지는 발언을 놓치지 말아야 한다.
고민이나 바람의 바로미터이기 때문이다. 행간을 정확히 파악하려면 평소 직장 동료들을 대하는 태도, 또 대화 내용, 전 직장의 경험, 전 상사의 평가, 인간관계 등도 꾸준히 파악해야 한다.〈하버드비즈니스리뷰〉는 한 인물을 대상으로 단선적이 아니라 총체적인 그림을 그려보라고 주문한다.
그리고 나서 됨됨이를 판단해도, 또 처방전을 제시해도 늦지는 않다는 내용이다. 물론 기존의 평판, 통념에서 벗어나 문제 사원들을 좀 더 깊숙이 이해하기 위한 시도들이다.
제언 4 직원 무기력증도 내 탓… 발상전환 필요
문제 사원들은 어느 회사에나 있다. 이들은 대개 행동 방식도 서로 유사하다. 상사의 질책을 받을 때마다 그럴듯한 변명으로 순간을 모면한다. 또 앞으로는 달라질 것이라는 약속도 쉽게 한다. 하지만 철석같은 맹약에도 불구하고 대부분 바뀌지 않는다는 공통점도 빼놓기 어렵다.
이들을 대하는 상사들의 반응도 대개 비슷하다. 대화 초기에는 주로 그들의 책임감을 일깨우는 한편, 업무 역량을 더 키우라는 조언도 아끼지 않는다. 설교나 훈계가 주종을 이룬다. 하지만 대부분 합리적인 설득이 전혀 먹혀들지 않는다는 결론을 내리고, 징계 절차를 밟는다.
〈하버드비즈니스리뷰〉는 하지만 상사의 책임을 강조한다. 발상의 전환이다. 나태한 직원은, 무능력하거나 이기적인 상사가 그 원인일 수 있다고 지적한다. 특히 구성원들이 상사가 부하 직원 따위는 안중에도 없는 이기적 인물이라는 자괴감을 느낄 때, 직원들은 매너리즘에, 또 무기력 증에 빠진다. 신뢰가 한번 사라지면 모든 것이 악순환에 빠진다. 더 이상 대화를 나누기도 간단치 않다. 그들은 잃어버린 활력을 업무와는 무관한 엉뚱한 곳에 쏟아 붓는다. 인간적으로 끌리지 않다보니 상사에게 심중 깊이 감추어진 얘기를 제대로 털어놓지도 않는다.
직원들이 자꾸 회사를 그만두거나, 회사생활에 적응하지 못하는 것은 상사의 책임일 수 있다. 문제 사원이 삐딱하게 구는 데 상사의 책임은 없는지 고민해보라는 것. 〈하버드 비즈니스 리뷰〉는 직원들 눈에 비친 자신의 모습부터 파악하라고 조언한다.
제언 5 상사 뒷담화 배경도 곰곰이 생각하라
입이 지나치게 가벼워 분란을 일으키는 이들이 어느 조직에나 있게 마련이다. 대개 상급자로부터 자신의 역량을 인정받지 못하는 직원일 개연성이 크다. 때로는 사내에서도 이런저런 이야기를 퍼뜨리며 분란의 씨앗을 퍼뜨리는 사례도 적지 않다. 불만 탓일 수도 있으며, 천성 탓일 수도 있다.
〈하버드 비즈니스 리뷰〉는 스위스의 한 제약 회사에 근무하는 한 남자 팀장의 사례를 들고 있다. 그는 다른 사람들의 가십을 회사에 퍼뜨리면서 상사의 눈총을 받았다. 업무 역량이 떨어지는 것은 아니었지만 엉뚱한 일에 에너지를 소비하느라 더 나은 실적을 달성할 기회를 잃고 있다는 게 상사의 판단이었다.
분전을 독려했지만, 전혀 먹혀들지 않았다. 구슬려도 보고 위협도 해보았지만 묵묵부답이었다. 한 가지 흥미로운 점은 팀원들이 이 팀장을 높이 평가하고 있었던 것. 속사정은 이랬다. 문제의 팀장이 부서원들에게 고객들을 자주 만날 것을 독려했으나 제대로 먹혀들지 않자, 실망감이 일탈 행동으로 표출됐다.
부서장은 어떤 식으로 이 문제를 풀었을까. 그는 이 팀장을 부서 분위기를 일신하기 위한 원군으로 활용했다. 그가 자신의 에너지를 충분히 활용할 수 있는 여건을 조성해 주었다. 〈하버드 비즈니스 리뷰〉는 정확한 진단을 내릴 수 있어야, 올바른 처방도 내릴 수 있다고 조언한다.
부서장은 상황을 총체적으로 파악할 수 있어야 하며, 동료들의 인물평도 소중한 자료가 될 수 있다는 얘기다.
제언 6 문제 직원 양산하는 시스템 고쳐라
무한 경쟁 시대. 국내외 기업들의 치열한 경쟁을 표현하기에 더없이 적합한 말이다. 일부 구성원들의 일탈 행동을 오랫동안 감내하기 어려운 배경이기도 하다. 잭 웰치의 처방대로, 그들에게 기회를 주고 책임을 지게 하면 그뿐이 아닐까. 하지만 해고는 미봉책(彌縫策)이 될 개연성이 있다.
사내의 ‘골칫거리’들을 내보낸 뒤에도 비슷한 문제가 되풀이될 수 있다는 얘기다. 부서장이 문제의 진원지일 수 있기 때문. 대개 이들은 비슷한 한계를 안고 있다. 업무에 치이다 보니, 대부분 부서원들이 처해있는 상황을 총체적으로 파악하지 못한다. 자신의 책임을 인정하지도 않는다.
같은 상사 아래서 제2, 제3의 문제 사원이 나올 수 있다는 얘기다. 내부 갈등을 풀지 않고서는 항상 비슷한 문제가 고개를 들 수밖에 없는 구조인 셈이다. 해고가 만병통치약이 아닌 이유가 여기에 있다. 물론 어떤 처방에도 꿈쩍도 하지 않는 이들에게는 최후통첩말고는 다른 수단이 없다.
하버드비즈니스리뷰는 ‘80대20의 법칙’은 이 경우에도 적용된다고 강조한다.
부서장이 소수의 문제 직원들을 관리하고, 또 규율하는 데 상당한 시간을 쏟아 붓느라 정작 중요한 일에 손을 놓고 있어야 하는 경우가 생긴다. 어느 경우든 악순환의 고리를 끊는 일은 결국 부서장의 몫인 셈이다.
직원 회유가 필요한 이유는
문제직원 확 바뀌면 조직 산다
게슴츠레한 눈에 늘 출근 시간에 늦는 직원. 동료직원들의 손가락질을 받던 그가 갑자기 달라진다면 어떤 일이 생길까. 무엇보다, 직원들의 사기를 끌어올릴 수 있는 이점이 있다. 사내 분위기를 해쳐온 그가 뜨거운 열정의 소유자로 거듭난다면 부서 전체의 분위기 전환은 물론 실적 향상에 한 몫을 톡톡히 할 수 있기 때문이다.
둘째, 부서장에 대한 평가가 우호적으로 바뀌는 부수효과도 따른다. 일터에서 가장 자주 들을 수 있는 불평 중의 하나가 부서장이 매사를 공정하게 바라보지 못하고 한쪽으로 치우쳐 있다는 것이다. 하지만 이러한 불신을 일거에 씻을 수 있다. 미운오리 새끼가 백조로 변한다면 남다른 혜안을 지니고 있는 인물이라는 평가도 부서장의 몫이 된다.
셋째, 직원들의 로열티를 높일 수 있는 점도 빼놓을 수 없다. 회사가 직원들을 소모품 취급하지 않는다는 점을 일깨울 수 있다는 얘기다. 부서장이 공식·비공식적 대화를 통해 꾸준히 문제 직원들을 구슬리고, 그의 열정을 되살리려고 노력하는 모습은 매우 감동적이다.
설사 눈물겨운 노력이 실패로 끝난다고 해도, 또 이러한 과정이 소모적이라고 해도 마찬가지다. 문제 사원들을 대하는 방식은, 직원들을 바라보는 회사의 태도를 가늠하게 하는 리트머스 시험지일 수 있다는 뜻이다. 자신이 항상 뛰어난 실적을 내며 영원히 승승장구할 수 있다고 자신하는 회사원들이 과연 얼마나 될까.
--------------------------------------------------------------------------------
다국적 기업 사례 분석
“상급자가 속마음 열자 부하직원도 고민 풀어놔”
〈하버드비즈니스리뷰〉는 다국적 기업에 근무하는 한 연구자의 사례를 제시했다. 상사보다 더 뛰어난 역량을 갖추고 있는 연구원이 문제의 발단이었다.
그는 매사에 상사를 무시했으며, 이러한 태도는 새로 부임한 그의 상사에게 큰 부담거리였다. 두 사람의 알력 탓에 손발이 맞지 않다 보니 아이디어를 제품에 반영하는 시간도 자연스레 길어졌다. 자칫하다 공멸할 수 있는 상황이었다.
새로 부임한 상사는 평소 그의 태도를 주의 깊게 지켜보았다. 또 다른 직원들과의 대화를 통해 그가 지난해 진급에서 누락됐다는 점도 파악했다. 상황을 총체적으로 파악하기 위한 시도이다.
두 번째 단계로, 부서장의 위엄을 보이라는 동료들의 말을 뇌리에서 지워버렸다. 그리고 부하 직원을 상대로 패착을 두고 있으며, 자신을 무시하는 이러한 태도를 바꾸어야 한다는 점을 꾸준히 설득했다. 솔직함은 그의 가장 큰 무기였다. 부하직원이 자신보다 더 뛰어난 연구자라는 점을 인정했다.
또 지금 이 상황에서 어떤 방안이 필요한지 의견을 구했다. 상급자가 속마음을 열어 보이자, 그는 연구원이 존경받지 못하는 현 상황에 대한 아쉬움을 토로했다. 사내에서 존중받기를 원했으나, 뜻대로 되지 않자 좌절했던 것이다. 부서장이 제시한 해결 방안은 무엇이었을까.
바로 멘토 역할의 부여다. 늘 연구실에 파묻혀 지내던 그에게 뛰어난 아이디어로 스스로를 드러낼 수 있는 업무를 동시에 맡겼다. 그가 팀원들을 지도하며 자부심을 느낄 수 있도록 한 것. 물론 한 가지 단서는 남겨 두었다. 전폭적으로 원하는 바를 수용했음에도 변화가 없다면 회사를 떠나야 한다는 주문이다.
하버드비즈니스가 공개한 스타직원 관리비법7
“여보세요. 나 빌 게이츠입니다.” 마이크로소프트에 지원하는 소프트웨어 엔지니어들은 텔레비전에서나 보던 거물급 인사의 전화를 종종 받는다. 자선활동으로 자신의 주가를 더욱 높이고 있는 빌 게이츠는 경쟁사의 구애로 흔들리는 지원자들의 마음을 이 회사에 붙들어 매는 데 톡톡히 한몫을 하는 것으로 평가받고 있다.
물론 창업자의 전화를 직접 받는 이들은 이른바 기업을 먹여 살릴 잠재력을 지니고 있는 스타급 후보자들이다. 빌 게이츠에 얽힌 이 일화는 인적 자원을 바라보는 미국 기업들의 시선을 가늠하게 한다. 하지만 이들은 영입하기도 어렵지만, 체계적으로 관리하기는 더욱 간단치 않다. 개성이 강한 데다 다른 사람의 통제를 받는 일을 잘 견디지 못하는 경향이 크기 때문이다.
특히 바깥세상과는 담을 쌓은 채 오직 연구에만 매달리는 서생으로 간주하는 일반적인 통념과는 달리 이들은 자신들만의 인맥 네트워크도 탄탄하다. 마음에 들지 않으면 언제든지 옮겨갈 수 있다는 의미다.
경영자들의 바이블로 통하는 〈하버드 비즈니스 리뷰〉는 최신호에서 스타급 직원들을 관리하는 방법(Leading Clever People)이라는 제목의 스페셜 리포트를 발표했다. 시스코시스템, 크레디트스위스를 비롯한 100여 개 유수 기업의 경영자들, 또 그들이 고용한 스타급 직원들과 일일이 인터뷰를 했다. 스타급 직원 공략의 숨은 노하우를 파악해보자.
스타급 직원 관리 노하우 7가지1 자유로운 업무 분위기를 보장하라
2 사내 규칙은 최소한으로 유지하라
3 든든한 방패막이 역할을 제공하라
4 주기적으로 새로운 과제를 제시하라
5 전문 코치의 상담을 제공하라
6 성공방정식의 유효기간을 확인하라
7 청개구리 성향을 충분히 활용하라
제언 1 자유로운 업무 분위기를 보장하라
총 수의 전경련 강신호 회장 연임 반대 발언으로 화제를 불러모았던 동부그룹. 이 회사는 지난 2001년부터 이명환 당시 인천국제공항철도단장을 비롯한 삼성그룹 출신들을 적극 영입하며 이른바 시스템 경영의 신호탄을 쏘아 올린 바 있다. 글로벌 기업 삼성의 강점을 이식해 보려는 포석이었다.
그로부터 6년 후 삼성출신 인사들이 차고 넘쳐 ‘굴러온 돌이 박힌 돌을 빼낸다’는 말까지 회자될 정도다. 하지만 이 회사가 삼성과 어깨를 나란히 할 정도의 경쟁력을 확보했다는 평은 아직 듣기 어렵다. 그 배경은 어디에 있을까. 이 그룹 출신의 한 전직 고위인사는 기업문화의 차이를 지적한다.
애써 영입한 인사들이 소신 있게 뜻을 펼칠 수 있는 자율권을 보장해주지 못한다는 얘기다. 능력이 검증된 인사를 영입할 수는 있지만 이들이 역량을 한껏 발휘할 수 있는 환경을 조성하기란 말처럼 쉽지 않다. 특히 윗선에서‘감 놔라 대추 놔라’ 간섭한다면 성과를 내기 어렵다는 지적이다.
〈하버드비즈니스리뷰〉가 기업 문화의 중요성을 강조하는 것도 비슷한 맥락이다. 특히 현장에서 스타급 직원들을 직접 통제하고 지원하는 위치에 있는 중간 관리자들의 역할을 중시한다.
제언 2 사내 규칙 최소한도로 유지하라
저 가항공의 대명사인 사우스웨스트 항공의 허브 켈러허(Herb Kelleher) 전 회장. 그는 부임 초 사내 규정집(rule book)을 창 밖으로 던져버린 일화로 유명하다. 자유로운 사고를 가로막는 규정이 회사 발전을 방해한다는 지론 때문이다. 영국의 공영방송인 BBC의 개혁을 주도했던 그레그 다이크(Greg Dyke)도 비슷한 사례. 그는 부임 초 복잡한 사내 규정을 대거 없애는 일에 착수한다. 이러한 규정이 직원들의 자유롭고 창의적인 사고를 막고, 이 공영방송의 정체를 불러왔다는 판단에서다. 당시 다이크는 규제철폐를 위한 사내 프로그램을 운영하며 직원들의 동참을 이끌어냈다. 대표적인 제도가 ‘옐로 카드’.
BBC의 직원들은 자신들의 원활한 업무 진행을 가로막는 규제에 대해 축구장에서나 볼 수 있는 옐로 카드를 빼들었다. 다이크는 또 이러한 규제를 과감히 없애 나갔다. 물론 뛰어난 인재들이 눈치를 보지 않고 자신의 역량을 마음껏 발휘할 수 있는 토양을 조성하기 위해서이다.
이 회사의 명성과 더불어 미래의 성공을 좌우할 역량을 가진 인재들이 사내의 규제 탓에 아이디어를 발휘하지 못하는 폐해는 무엇과도 비교할 수 없다고 그는 훗날 자서전에서 밝힌 바 있다.
하버드비즈니스리뷰는 탁월한 리더들은 무엇보다 ‘단순함(simplicity)’의 가치를 중시한다고 강조한다. 첫걸음으로 사내 규정을 가급적 단순하게 만들라고 조언하는 배경이기도 하다.
제언 3 항상 든든한 방패막이가 되어줘라
옛 대우종기 CEO 출신의 한 기업인은 이 회사 근무 시절 가진 기자간담회에서 다음과 같이 말한 적이 있다. “일본이나 독일 기업에 밀려 적자만 내는 공작기계 부문을 지금처럼 지원해서는 안된다는 목소리가 많았다. 만약 내가 전폭적으로 믿고 지지해주지 않았다면 오늘날의 공작 기계 부문은 없었을 것이다. ”
같은 대학 출신이 이끌고 있는 공작기계 부문에 지원을 아끼지 않자 사내에서는 말들이 적지 않았지만, 그는 자신의 뜻을 굽히지 않았다. 리더가 스타급 직원들의 바람막이가 되주는 것은 무엇보다 중요하다. 하버드비즈니스리뷰는 제약 회사인 제넨테크(Genentech)의 사례를 제시한다.
당시 이 제약 회사에서는 신약 하나를 시장에 선보이기 위해 매년 평균 8억달러 가량을 제품개발에 쏟아부었다. 하지만 모든 신약이 성공하는 것은 아니다. 또 신약의 실패는 사내에서 거센 반발을 불러오는 것도 만고의 진리다. 이 회사도 비슷한 사례. 신약인 아바스틴(Avastin)이 승인을 받지 못하자 비판이 거세진다. 설상가상으로 주가마저 하루에 10%가 떨어지는 최악의 상황이 펼쳐지자, 애초부터 실패가능성이 높은 프로젝트에 돈을 물쓰 듯이 했다는 비판이 비등했다. 최고경영자인 레빈슨은 회사의 반대세력들로부터 몇몇 부서를 편애한다는 비판에 시달려야 했다.
하지만 그는 이 회사의 연구인력들을 신뢰했다. 이 약품의 상품화에 이르기까지 계속 자금을 지원해 주었으며 이 신약은 지난 2004년 마침내 승인을 받았다. 또 다음해에는 무려 10억달러가 넘는 매출을 올리며 효자상품으로 자리잡았다.
하버드비즈니스리뷰가 스타급 직원들이 사내에서 위력을 발휘하기 위해서는 무엇보다 최고경영자나 부서장이 외풍을 든든이 막아주는 방패막이가 되어 주어야 한다고 조언하는 배경이다.
제언 4 주기적으로 새로운 과제를 부여하라
작은 징후에서 큰 변화를 읽어내는 능력. 왕가의 젓가락 교체에서 왕조 쇠락의 가능성을 엿보았다는
은나라 기자의 예리한 눈이 비단 현인이나, 종횡가, 혹은 정치인들에게만 필요한 것만은 아니다.
수도쿠(Sudoku). 지력을 측정하고 가다듬을 수 있는 퍼즐게임이다. 하지만 뉴욕의 기업들에 요즘 골칫거리가 되고 있다고 한다. 상사의 눈을 피해 이 게임을 하는 직장인들이 적지 않다고 한다.
우리나라 직장인들 가운데도 출근길 지하철에서 장동건이 광고모델로 등장한 닌텐도 게임을 즐기는 이들이 적지 않다. 하지만 별 것 아닌 일로 치부하고 넘어가기에 뭔가 꺼림칙한 대목이 있다. 하버드비즈니스리뷰는 이러한 현상이 스타급 직장인들의 업무 의욕 하락을 알리는 심각한 징후 일수 있다고 경고한다.
징후는 여러 갈래다. 실적이 갑자기 떨어지는 일은 없지만 자리를 자주 비우거나, 때로는 전화를 황급하게 끊어 보는 이들을 머쓱하게 한다. 사교 모임에 자주 모습을 드러내거나 종종 음식을 폭식하며 몸이 급격하게 불어나기도 한다. 하버드비즈니스리뷰는 이러한 징후를 평소에 예의 주시하라고 조언한다.
또 선제적 대응을 강조한다. 새로운 과제를 부여하는 것도 한 방편이 될 수 있다. 인재들을 새로 영입하는 데 드는 비용은 결코 만만치 않다. 최선의 방안은 문제를 초기에 제거하는 일이다.
제언 5 ‘서밋 증후군’ 대처 방안을 고민하라
하지만 이러한 처방이 항상 먹혀드는 것은 아니다. 자신의 분야에서 관리자급 위치에 도달한 스타 직장인에게는 이러한 처방이 제대로 효력을 발휘하지 못한다. 업무를 바꾸어 주거나, 새로운 변화를 주는 것만으로는 떠나버린 마음을 붙들어 매기가 어렵다. 하버드비즈니스리뷰는 좀더 근본적인 처방이 필요하다고 지적한다.
이 단계의 스타급 직원들이 흔들리는 것은 크게 두 가지 이유에서다. 무엇보다, 자신의 경쟁력이 서서히 하락하고 있다는 위기의식이 한몫을 한다. 자신의 오늘을 있게 한 ‘성공방정식(winning formula)’이 환경 변화와 더불어 더 이상 먹혀들지 않으면서 이러한 위기감은 깊어져 간다.
‘지금 하고 있는 일이 진정 내가 바라던 일일까.’지루함(boredom), 그리고 직원들과의 불화는 삶에 대한 근본적인 태도의 변화를 불러온다. 회사생활에 대한 회의감이 꿈틀거리는 것은 대부분 이때를 전후해서다. 학창시절이나, 직장 초년에 꿈꾸던 이상과 더불어 꽉 막힌 생활에서의 탈출을 떠올린다.
문제는 이런 회의가 꿈틀꿈틀 머리를 조금씩 들기 시작하면서, 하락세인 실적이 더욱 악화되는 악순환의 고리를 형성하게 될 가능성이 큰 점이라고 하버드비즈니스리뷰는 밝혔다. 이른바 서밋 증후군(summit syndrom)이다. 부서장은 대화나 관찰을 통해 이러한 변화의 조짐을 간파해야 한다.
제언 6 청개구리 근성을 적절히 활용하라
클린턴 행정부에서 고위 관료를 지낸 로라 타이슨(Laura Tyson). 런던 비즈니스 스쿨의 학장으로 재직하고 있는 그녀는 스타급 직원들에게 그들이 똑똑하다고 해서 모든 것을 할 수 있는 것은 아니라는 점을 주지시켜야 한다고 강조한다. 그들은 대개 자신의 영민함을 과대 평가하는 경향이 있으며, 다른 분야에서도 이러한 역량이 충분히 발휘될 수 있을 것으로 판단한다는 것.
그녀는 특히 부서장이 자신의 분야에서 전문가이며, 이들을 충분히 도와줄 능력이 있다는 점을 끊임없이 입증하고 또 주지시키라고 조언한다. 스타급 직원들이 탁월한 성과를 내는 데 부서장 자신의 역량이 큰 도움이 될 수 있다는 점을 설득해 내지 않고서는 업무협조를 유지하기가 쉽지 않다고 하버드비즈니스리뷰는 지적했다.
이밖에 튀는 성향이 있는 이들을 원하는 방향으로 이끌기 위해서는 청개구리 근성을 활용할 필요가 있다고 덧붙였다.
제언 7 전문 코치의 상담을 제공하라
하버드비즈니스리뷰는 서밋 증후군에 빠져버린 스타급 직원들이 지닌 내면의 욕구를 정확히 파악하고, 맞춤 처방을 제시하는 일이 관건이라고 강조한다. 미국 아이비 리그 출신이며, 37세의 나이에 월가에서 손꼽히는 투자 은행의 팀장으로 부임한 앤드루 톰슨(Andrew Thompson )을 보자.
그는 자신이 관리하는 고객사가 빠른 속도로 늘어나면서 지금까지 경험하지 못한 난관에 부딪치게 된다. 실적은 그런대로 괜찮았지만, 그의 리더십에 대한 의문과 더불어 경쟁사들의 공세가 거세지기 시작한다. 하지만 더욱 큰 변수는 가슴속에서 점차 커지는 회의감이었다.
부서원들과의 다툼도 더욱 잦아졌다. 어느 순간부터 일이 재미없어지고, 사교 모임 등이 더 큰 관심을 끌었으며, 폭식을 했다. 서밋 증후군을 겪는 스타급 직원들의 반응은 두 가지이다. 처음에는 공허함을 달래기 위해 일에 미친 듯이 매달린다. 하지만 단지 그것만으로는 문제를 풀어나갈 수 없다. 또 다른 유형은 외부에서 즐거움을 찾는 것이다. 이성 문제로 가정이 흔들릴 수 있는 때이기도 하다. 투자은행은 이 스타급 관리자에게 ‘코치’를 배치해 주었다. 이 코치는 간단한 카드놀이를 통해 그의 심리상태와 더불어 일탈행위를 불러온 요인들을 파악할 수 있었다.
그가 지향하는 목표가 바뀐 점도 확인할 수 있었다.
투자 은행에 입사하던 초기에는, 자본시장의 불균형을 파고들어 자신만의 능력만으로 탁월한 실적을 내는 것이 직장생활의 목표였지만, 지금은 큰 조직을 이끌어가는 책임자가 되는 것으로 바뀐 것. 회사 측은 이러한 진단에 따라 그에게 리더십 훈련을 제공했다. 또 이 스타급 직원은 자신의 권한을 여섯 명의 부서원에게 과감히 이양했다.
스타급 직원 5가지 특징
“일만 아는 서생은 옛말…네트워크 탄탄”
1 자신의 가치를 잘 알고 있다
이 들의 ‘암묵지’는 중세 길드의 상인들이 보유한 전문지식에 가깝다. 외부에 잘 노출되지도 않고, 복제하기도 간단하지 않다. 간편하게 표준화하고, 퍼뜨릴 수 있는 지식의 형태가 아니다. 지식경영 시스템을 구축하기가 간단하지 않은 이유도 여기에 있다. 스타급 직원들은 자신의 가치를 잘 파악하고 있다.
2 일만 알 것이라는 편견은 버려라
이들이 굳이 조직생활을 감내하는 것은 최신설비를 충분히 활용할 수 있고, 자금지원도 풍족하게 받을 수 있기 때문이다. 평소에는 기업의 경영적 측면에 무관심한 듯한 태도를 취하는 경향이 있으나 사내 현황에 결코 무관심하지 않다.
3 위계질서를 무시하는 경향이 있다
사내 직함이나 진급에 비교적 초연한 경향이 있다. 조직도로 대변되는 공식 위계 질서도 종종 무시한다. 하지만 자신들의 호칭에 대해서는 비교적 많은 신경을 쓰는데 특히 박사(doctor)나 교수(professor)라는 직함을 선호하는 편이다. 자신은 조직에 얽매어 있는 인물은 아니며 독립적으로 활동한다는 대외적 이미지를 중시한다.
4 인적 네트워크가 탄탄하다
바 깥세상 돌아가는 일에는 담을 쌓고 살지 않을까. 스타급 직원들에 대한 일반적인 이미지이다. 하지만 천만의 말씀. 이들은 인맥의 중요성을 누구보다 잘 간파하고 있다. 누구를 아는지가, 때로는 무엇을 아는지보다 더 중요할 수 있다는 점을 이들은 정확히 간파하고 있다. 탄탄한 인적 네트워크는 그들의 가치를 높이지만 동시에 다른 직장으로 쉽게 옮겨 갈 수 있는 리스크도 있다.
5 감사 표시에 매우 인색하다
좀처럼 직장 상사에게 감사함의 표시를 하지 않는다. 또 리더십을 인정하지 않는다. 특정 분야에서 늘 진가를 입증해온 자신은 누군가의 지도를 필요로 하지 않는다고 판단한다.
--------------------------------------------------------------------------------
노벨상 수상자와 리더십
“스타급 직원에 리더십 교육은 필수”
고든 무어(Gordon Moore), 로버트 노이시(Robert Noyce). 하나같이 미국의 기업사에 한 획을 그은 쟁쟁한 인물들이다. 하지만 이들이 한때 한 명의 리더 밑에서 한솥밥을 먹은 적이 있다는 점을 아는 사람들은 드물다. 내로라하는 천재들을 통솔하던 주인공이 바로 윌리엄 쇼클리(William Shockley)이다.
런던 태생의 과학자인 쇼클리는 2차 세계대전 후 미국의 벨연구소에서 근무했는데, 그는 당시 트랜지스터의 발명자로 널리 알려졌으며, 1957년에는 노벨상을 받으며 자신의 명성을 공인받는다. 1955년에는 벨연구소를 떠나 자신의 이름을 딴 쇼클리반도체(Shockley Semiconductor Laboratory)를 설립한다.
당시 그의 명성을 좇아 이 반도체 회사에 모여든 인물 중의 하나가 바로 무어의 법칙을 발견한 고든 무어, 그리고 로버트 노이시이다. 모두 당대의 천재들이었으나, 쇼클리는 단연 군계일학(群鷄一鶴)이었다. ‘직관적으로 문제를 해결하는 능력을 지닌 천재적인 인물’당시 쇼클리를 평가한 말들이다.
쇼클리는 천재들의 경외심을 불러일으키는 천재였던 셈이다. 하지만 그의 리더십은 이러한 천재성에 비추어 볼 때 턱없이 부족했다. 다음은 그의 부족한 리더십을 극명하게 보여주는 일화 한 토막이다. 쇼클리는 자신의 연구원들을 모아놓고 열정에 불을 지필 수 있는 방법을 물었다.
당 시 연구원들은 연구 성과물을 담은 리서치 보고서를 발행할 것을 권유한다. 쇼클리는 어떤 반응을 보였을까. 그는 집으로 돌아가 연구 보고서를 만들어 다음날 이 보고서를 그들의 공동명의로 내자고 제안한다. 다른 구성원들을 무시하고 있는 자신의 속내를 들키고 만 것이다.
하나같이 자신의 분야에서 천재성을 인정받던 인물들이었으니 쇼클리의 이러한 태도에 충격을 받은 것은 자연스러운 수순이었다. 하지만 이 작은 사건은 예고편에 불과했다. 연구원들의 지적수준이나 업무에 대한 열정을 못마땅해하던 쇼클리는 이들 중 일부에게만 비밀 프로젝트를 맡긴다.
그리고 프로젝트 내용을 다른 사람들에게 알리지 말 것을 요구했다. 하지만 불과 50여 명의 직원들이 근무하던 작은 회사에서 비밀이 유지되기는 어려웠다. 쇼클리가 자신들을 무시하고 있다고 판단한 나머지 직원들 사이에서 불만이 터져 나오기 시작했고, 8명의 직원이 이 회사를 떠나게 된다.
당시 이들이 독립해 차린 회사가 훗날 미국 기업사의 한 페이지를 장식하게 되는 ‘페어차일드 반도체(Fairchild Semiconductor)’이다. 또 제리 샌더스(Jerry Sanders)가 독립해 다시 에이엠디(AMD. Advnaced Micoro Device)를, 고든 무어(Gordon Moor)는 인텔을 각각 설립하게 된다.
당대의 천재들을 캘리포니아 마운틴뷰에 모을 수 있었던 천재 과학자 쇼클리. 그의 빈곤한 리더십이 역설적으로 오늘날 실리콘 밸리의 터전을 닦았다고 해도 지나친 말은 아니라고 하버드비즈니스리뷰는 밝혔다.
--------------------------------------------------------------------------------
스타급 직원과 후광효과
스타직원 스카우트하면 우수직원도 우르르
“좀 잘 나간다 싶은 친구들의 움직임은 이 곳에서도 관심들이 많습니다. 훤하게 들여다보고 있습니다. ”미래에셋 싱가포르 자산운용에서 근무하는 한국인 직원은 분위기를 이렇게 전한다. 광고에 등장해 우리나라에 널리 알려진 디피시 펜데이도 스타급 펀드매니저 중 하나이다.
특급 인재의 특징은 자신들 간의 인적 네트워크가 강하다는 점이다. 특급인재의 스카우트 소식은 입소문을 타고 순식간에 확산된다. 주요 기업들이 인재들을 영입하는 것은 물론 기업의 비교우위를 높이기 위해서이다.
하지만 다른 스타급 직원들의 채용에도 상당한 영향을 미친다. 하버드비즈니스리뷰는 빌 게이츠와 같은 거물 기업인이 이들의 영입에 적극 나서는 데는 이러한 배경도 한몫을 하고 있다고 지적한다. 다른 우수 직원들을 영입할 수 있는 일종의‘보증수표’인 셈이다. 마이크로소프트는 자사의 한 직원이 구글로 옮기자 법적 대응을 불사하며 강력히 반발한 적이 있다. 스타급 직원이 이 회사와 불꽃 튀는 경쟁을 벌이고 있는 경쟁사로 옮겨간 일이 지니는 상징적 의미를 누구보다 정확하게 파악하고 있었기 때문이다.
2010년 7월 9일 금요일
DATABASE 이름 변경
방법 1 - 물리적인 파일명 변경하기
- aaa 데이타베이스의 물리적인 파일 경로
\mssql_data\aaa_data.mdf
\mssql_data\aaa_log.ldf
- 물리적인 파일명 변경 : 데이타베이스를 분리 => 파일명 변경
\mssql_data\bbb_data.mdf
\mssql_data\bbb_log.ldf
- bbb 데이타베이스로 연결 : 연결할 데이타베이스명을 bbb로 해주고 사용자를 지정
방법 2 - 물리적인 파일명 변경하기
QA에서 데이타베이스 명령어인 renamedb를 사용하여 변경
- single 사용자 모드로 변경
EXEC sp_dboption 'aaa', 'single user', 'TRUE'
- sp_renamedb '이전디비명', '바꿀DB명' 으로 지정
EXEC sp_renamedb 'aaa', 'bbb'
- single 사용자 모드를 다시 원상태로 변경
EXEC sp_dboption 'bbb', 'single user', 'FLASE'
* db 속성을 보면 물리적인 파일명은 변경되었으나 논리적인 이름은 변경되어 있지 않다.
3. 논리적인 이름 바꾸기
alter database bbb modify file (name=aaa_data, newname=bbb_data)
alter database bbb modify file (name=aaa_Log, newname=bbb_Log)
물리적인 파일명 및 논리적인 이름 변경 완료.
2010년 7월 7일 수요일
조직의 의사결정과 '악마의 변론자' [이정규트란소노 대표이사]
기업의 목적은 생존과 성장이라고 한다. 유기체인 기업은 생명을 유지하고 성장하기 위해서 3가지 레벨의 의사결정활동을 한다.
일상적인 업무절차에 관련된 운영적(Operational) 의사결정,
기업의 단기적 주요활동에 관련된 관리적(Managerial)의사결정,
회사의 미래를 결정할 전략적(Strategic)의사결정이 그것이다.
회사가 성숙해 나감에 따라 CxO레벨은 직원들과 관리자에게 운영 및 관리적 의사결정의 권한 위임을 통하여, 전략적 의사결정에 더욱 에너지를 집중해 나가야 한다.
운영적 의사결정은 잘 검증된 프로세스로서, 관리적 의사결정은 노련한 관리자를 양성하여 커버가 가능하겠지만, 전략적 의사결정은 불확실성이 높은 이유로 많은 리스크를 내포하고 있기 마련이다.
전략적 의사결정은 결국 불확실성하의 의사결정이고, 불확실성을 분석하여 의사결정을 돕는 여러 가지 툴들이 제안되고 있다. 체크리스트, 그룹의사결정방법론, 시나리오 접근, 의사결정나무 등등.
스탭들은 이러한 툴을 이용한 사업기획서를 의사결정권자에게 리포팅하기 마련이지만, 정작 오너들은 직관에 의존하여 의사결정을 한다고 한다.
운영적 의사결정은 프로세스를 잘 정의하고, 직원들을 철저히 학습시켜 직원들에게 대부분 일임하는 것이 좋다. 특히 소기업의 경우 직원들은 “면피”차원에서 지속적으로 사장에게 의사결정을 미루려고 하기 마련인데, 비록 사장이 많은 경험이 있다고 하더라도 비슷한 사안에 대하여 반복적으로 의사결정에 개입하다 보면 직원도 발전이 없을뿐더러, 자신도 전략적 의사결정에 써야 하는 시간을 빼앗기게 된다.
운영적 의사결정은 예외관리(Management by Exception)로 통제한다.
너무나 많은 사안이 발생하므로, 관리자가 모든 사안에 일일이 개입하는 것은 비용대비 효율성을 떨어뜨릴 수 있다. 사안이 일상적이지 않고, 특이한 변화를 보이는 경우만을 예의 주시하여, 발생원인을 분석하여 프로세스를 재정비하거나 직원을 훈육하거나 지표를 조정할 수 있다.
관리적 의사결정의 경우는 부서별 인력, 자금, 시간에 대한 투자 우선순위의 결정과 기회비용에 관련된 사안이 될 것이다.
필자는 부서장이 해당 사업에 대하여 다음의 3가지 질문에 답할 수 있다면 사업을 승인하였다.
1) 투자 대비 효익이 있는가?
2) 단기적 수익이 없더라도, 2~3년의 라이프사이클 차원에서 수익성을 보장해 줄 수 있는가?
3) 수익도 나지 않을 가능성이 많지만, 실패하더라도 회사의 자산으로 남을 학습이 가능한가?
물론 세번째는 회사가 충분히 감내할 수 있는 재무적 역량이 있어야 할 것이다.
관리적 의사결정은 목표관리(Management by Objectives)로 통제한다.
한 회기 년도에 해당 부서장에게 정량적 목표를 부여하고, 목표 대비 실적의 틈새분석(Gap Analysis)을
통해 년말의 목표 달성가능성을 가늠하여, 적절한 시점에 효과적 의사결정을 놓치지 않도록 코치하여야 한다.
전략적 의사결정은 회사의 명운을 달리할 의사결정이다.
사장이 책임을 지고 추진하는 일로서, 단기적 불이익을 감수하더라도, 미래에 투자하는 일이 될 것이다.
가장 높은 불확실성과 위험을 내포한 이유로 전문경영인들의 경우도 이사회와 주주에게 의사결정의 근거를 제시하기 위해, 외부 컨설팅전문업체를 이용하기도 하고, 잘되면 영웅 안되면 회사를 망친 이유로 불명예 예편을 하기도 한다. 문제는 예상되는 리스크를 충분히 감안하고 계획하였는가 하는 것이다. 리스크를 예상하고, 대비하는 시나리오를 가지고 있다면 재무적 위험도를 낮출 수 있다.
전략적 의사결정은 원칙관리(Management by Principle)로 통제한다.
회사의 사업 포트포리오를 재구성하고, 전 직원의 미래에도 중대한 영향을 끼칠 수 있는 전략적 투자와 같은 의사결정은 단순하고도 선험적인 원칙(존재 가치, 사회적 사명, 창업자의 경영철학)과 일치되어야 전사적 합의를 도출할 수 있을 것이다.
어떤 화가가 성화를 그리기 위해 성인(예수)의 완벽한 모델을 찾아내어 그림을 그린 후에, 악마(가롯 유다)의 완벽한 모델을 찾아 헤매다 발견한 사람이 같은 사람이었다는 스토리가 기억 난다. 꾸민 이야기인지 실화에 근거하였는지 알 수가 없다. 세상에는 동일한 사안에 대하여, 다른 시각을 가진 알 수 없는 이야기가 너무 많다. 필자에게 특히 기억되는 몇가지 스토리를 들어보자
감기는 만병의 근원이다. 아니다! 감기는 쉬면 낫는 병이다.
강아지는 불결하고 아이들에게 해롭다. 아니다! 애완견은 아동의 저항력을 향상시킨다.
자동화는 생산성을 향상시킨다. 아니다! 지나친 자동화는 변화에 대응을 어렵게 한다.
리더는 성공 스토리가 있어야 한다. 아니다! 과거의 성공이 미래의 실패를 부른다.
목표관리는 기업활동의 핵심이다. 아니다! 일방적 목표설정은 조직의 창조력을 억제한다.
이런 식으로 들어왔던 이야기를 써내려 간다면 몇 페이지를 채울 수 있을 것 같다.
전략적의사결정의 시점에 맞닥뜨리는 스텝들의 의견이 이와 같다.
명심할 일은 스텝간의 이와 같은 이견은 자연스러운 것이며, 조직이 건강하다는 표징이라는 것이다.
만약에 귀하의 조직에서 이와 같은 이견이 없이, 사장의 눈치를 보거나 심중을 헤아려,
조직내의 건설적 이견을 통제하고 “예스맨”일색의 문화를 가지고 있다면 심각한 일이다.
로마 가톨릭에 악마의 변론자(Devil’s advocate, 라틴어로는 Advocatus Diaboli)이라는 직책이 있다.
이는 1587년 교황 Sixtus 5세에 의하여 처음 도입되었다고 하는데, 가톨릭의 시성, 시복 재판에서 객관성을 담보하기 위하여 심사대상이 성인 혹은 복자의 반열에 들지 않도록 최대한 반론의 증거로 악역을 담당하는 측을 일컫는 말이다. 엄밀히 말하면 자격이 있는 대상자를 선별하는 일에 기여하니, 천사의 변론자(Angel’s advocate) 이기도 하다.
아마도 심사대상을 모두 좋게만 보는 착한 심사위원들에게 혜안을 주기 위하여 고안된 묘책일 것이다.
전쟁에 나가 패전한 장수는 용서해도, 방책과 경계에 실패한 장수는 목을 배었다는 삼국지의 이야기가 있다.
전략적의사결정에서 방책과 경계에 해당되는 대표적 방안이 권한의 분권을 이용한 “반대자의 활용”이다.
이러한 역할을 할 인물이 없다면, 미팅 이전에 부서장중 1명을 선정하여, Devil’s advocate의 역할을 하도록 정할 수도 있고, 외부 멘토를 내정할 수도 있으며, CFO에게 그러한 역할을 맡길 수도 있다.
쉽지 않은 일이다. 필자의 경우는 CFO에게 지속적으로 사장인 필자를 “견제”하는 역할을 주문하였고,
그의 전문가적 의견에 경의를 표하는 모습을 부서장들에게 보이려 노력 했다.
이러한 모습이 부서장들의 자유로운 의견개진을 자극했다고 믿고 있다.
잘 알고 지내는 IT업계의 선배 경영인의 철학이 “요행도, 천재도 없다”라는 것을 신문을 보고 알았다.
아마도 “경영실적이 요행으로 이루어 지는 것도 아니고, 뛰어난 아이디어도 실행이 없다면 공염불”이라는 생각을 표출하신 것 같다.
나도 그분처럼 후학들에게 전략적 의사결정에 관련된 좋은 화두를 던지고 싶다.
“획일보다 다양성을, 속도보다는 방향을”
2010년 7월 6일 화요일
앱 개발 열풍…대박 꿈은 개꿈? ㅋㅋㅋ
평균 순수입 83만원 불과
'1인 창업 시대'를 열고 애플리케이션(이하 앱) 개발 열풍을 몰고왔던 앱스토어가 수익성 측면에서 되레 앱 개발자들의 무덤이 될 수 있다는 경고가 나왔다.
6일 미국의 IT컨설팅 전문가 토미 에이호넌이 발표한 보고서 '앱스토어 경제학'에 따르면 아이폰 앱스토어의 유료 앱 연간 평균 순수입은 682달러(약 83만원)인 반면 평균 개발비는 3만5000달러(약 4280만원)로 나타났다. 무려 51년이 걸려야 손익분기점에 도달할 수 있는 것이다.
물론 업데이트 및 유지보수에 1만달러 정도 비용이 추가로 들 수 있다. 개발비를 절반으로 낮추더라도 손익분기점까지는 22년이 걸린다. 하지만 20년 후까지 앱스토어와 앱의 수명이 유지된다는 보장은 없다. 기업의 앱 마케팅에 대해서도 의문을 제기됐다. 앱스토어에는 이미 6만750여종의 기업 마케팅 앱이 있어서 아이폰 이용자가 앱을 둘러볼 때 2초씩만 쓰더라도 특정 기업의 앱을 발견하는 데 34시간이 걸릴 수 있다는 분석이다.
에이호넌은 "최근의 앱 개발 열풍은 IT 버블 시기와 닮았다"며 "앱 개발 시장은 아직 대다수의 개발자가 손실을 볼 수밖에 없는 구조여서 현 시점에서는 다른 대안을 찾는 게 성공 확률이 높다"고 말했다.
2010년 7월 4일 일요일
공짜 PDF 파일 배포와 책 판매량
공짜 PDF 파일을 배포하면 책이 팔리지 않는다?
출판물의 판매량과 그 출판물의 공짜 PDF 파일 배포와의 연관성에 대한 흥미로운 연구결과가 시선을 끈다.
바야흐로 출판물의 홍수 시대다. 국내 연간 출판물은 5만여 종에 달하며, 실제로 출판사 또는 서점을 통하지 않고 유통되는 출판물까지 하면 거의 6만여 종에 달한다.
그런데 진짜로 ‘공짜 PDF’로 책의 내용을 다운받을 수 있게 하고, 그것이 실제 책 판매에 어떤 영향을 미치는 것일까. 최근 존 힐튼III와 데이비드 윌리 박사팀이 연구한 결과 일반적인 작가의 경우에도 크게 다르지 않은 것 같다.
실험 결과는 기존 우리들의 상식적인 생각이 옳지 않았음을 여실히 보여주고 있다. 기존의 많은 사람들은 어떤 출판물의 PDF 파일을 공짜로 배포하게 되면 사람들이 실제 출판물은 구매하지 않고 공짜 PDF 파일로만 보게 될 것이므로, 당연히 해당 출판물에 대한 판매량과 매출은 줄어들 것이라는 생각을 하게 된다.
그러나 연구결과는 정반대였다. 결과적으로 공짜 PDF 파일을 배포하는 것이 책 판매량에 긍정적인 영향을 미친다는 것이다. 고객은 어떤 물건에 대해서 정보가 많아지면 많아질수록 구매욕구가 급상승합니다. PDF를 정독하면 할수록 PDF에 수록된 상품이나 서비스에 대한 구매 욕구가 더욱 간절해지고, 그것이 책과 같은 상품의 구매로 이어져서 책 판매량이 증가한다는 것이다.
물론 우리나라는 다를 수 있다. 아직 섣불리 예측하기는 힘들다. 문화도 다르고, 이런 시도가 성공한다는 보장이 없기 때문에 출판사들이 모험을 잘 하지도 않을 것이기 때문이다. 하여튼 의미심장한 결과가 아닐 수 없다.
토트 블로거 ‘도니짱’ / http://iglassbox.thoth.kr
원문 기사 보러 가기
2010년 7월 3일 토요일
2010년 6월 18일 금요일
주민번호 / 사업자번호 체크
Public Function RegNoCheck(sID As String) As Boolean
Dim Weight As String '1~12자리까지 가중치
Dim Total As Integer
Dim Chk As Integer
Dim Rmn As Integer
Dim i As Integer
Dim dt As Integer
Dim wt As Integer
RegNoCheck= False
sID = Trim$(sID)
If sID = "" Then Exit Function '공백인지 확인합니다.
If Mid$(sID, 7, 1) = "-" Then sID = Left$(sID, 6) & Mid$(sID, 8)
If Len(sID) <> 13 Then Exit Function '13자리인지 확인합니다.
Chk = Val(Right$(sID, 1))
Weight = "234567892345" '가중치 값 대입
Total = 0
For i = 1 To 12
dt = Val(Mid$(sID, i, 1)) '주민등록번호
wt = Val(Mid$(Weight, i, 1)) '가중치
Total = Total + (dt * wt)
Next i
Rmn = 11 - (Total Mod 11)
If Rmn > 9 Then Rmn = Rmn Mod 10
RegNoCheck = IIf(Rmn = Chk, True, False)
End Function
Public Function TaxNoCheck(ByVal strNo As String) As Boolean
Const COMPNO_LEN As Byte = 10 ' 사업자번호의 길이
Dim blnRet As Boolean ' 결과값
Dim aryNo(COMPNO_LEN) As Byte ' 문자열 배열
Dim bytCntNo As Byte ' 루프변수
Dim intMod As Integer ' 나머지숫자
Dim intInt As Integer ' 소수점이하 절사값
Dim intSub As Integer ' 계산결과
If (Len(Trim(strNo)) = COMPNO_LEN) Then ' 사업자번호의 길이가 10자리라면
For bytCntNo = 1 To COMPNO_LEN ' 루프를 돌면서 바이트배열을 만든다
aryNo(bytCntNo) = Val(Mid(strNo, bytCntNo, 1))
Next bytCntNo
intMod = ((aryNo(1) * 1) + _
(aryNo(2) * 3) + _
(aryNo(3) * 7) + _
(aryNo(4) * 1) + _
(aryNo(5) * 3) + _
(aryNo(6) * 7) + _
(aryNo(7) * 1) + _
(aryNo(8) * 3)) Mod COMPNO_LEN ' 나머지 숫자를 구한다
intInt = Int(aryNo(9) * 5 / COMPNO_LEN) ' 소숫점이하를 절사하여 구한다
intSub = (aryNo(9) * 5) - (intInt * 10) ' 계산결과를 구한다
intSub = (intMod + intInt + intSub) Mod 10
intSub = IIf((intSub = 0), 10, intSub) ' 체크섬을 확인하여 진위를 판별한다
blnRet = (aryNo(COMPNO_LEN) = (COMPNO_LEN - intSub))
Else
blnRet = False
End If
TaxNoCheck= blnRet ' 결과를 대입한다
End Function
FORMAT함수 날짜관련
Format(Now(), "Long Date")
Format(Now(), "Short Date")
Format(Now(), "Long Time")
Format(Now(), "Short Time")
Format(Now(), "h:m:s")
Format(Now(), "hh:mm:ss AMPM")
Format(Now(), "dddd, mmm d yyyy")
2010년 6월 11일 금요일
가장 멋진 인생은??
가장 현명한 사람은 늘 배우려고 노력하는 사람이고,
가장 훌륭한 정치가는 떠나야 할 때가 되었다고 생각이 되면 후배에게 맡기고 미련없이 떠나는 사람이며,
가장 겸손한 사람은 개구리가 되어서도 올챙이적 시절을 잊지 않는 사람이다.
가장 넉넉한 사람은 자기한테 주어진 몫에 대하여 불평불만이 없는 사람이고,
가장 강한 사람은 타오르는 욕망을 스스로 자제할 수 있는 사람이며,
가장 겸손한 사람은 자신이 처한 현실에 대하여 감사하는 사람이다.
가장 존경받는 부자는 적시적소에 돈을 쓸 줄 아는 사람이고,
가장 건강한 사람은 늘 웃는 사람이며,
가장 인간성이 좋은 사람은 남에게 피해를 주지 않고 살아가는 사람이다.
가장 좋은 스승은 제자에게 자신이 가진 지식을 아낌없이 주는 사람이고,
가장 훌륭한 자식은 부모님의 마음을 상하지 않게 하는 사람이며,
가장 현명한 사람은 놀 때는 세상 모든 것을 잊고 놀며 일할 때는 오로지 일에만 전념하는 사람이다.
가장 좋은 인격은 자기 자신을 알고 겸손하게 처신하는 사람이고,
가장 부지런한 사람은 늘 일하는 사람이며,
가장 훌륭한 삶을 산 사람은 살아있을 때보다 죽었을 때 이름이 빛나는 사람이다..
2010년 6월 6일 일요일
2010년 6월 3일 목요일
잡기만..늘고..--;
이 참에..보안관련 자격증이나.. 따 볼까...--;
----------------------------------------------------------
정보보안 관련 자격증은 SIS, CISSP, CISA 등이 있다.
정보보안 분야에서 3년 이상 경력을 쌓아야 응시할수 있는
국제공인정보시스템 보안전문가 자격증 (CISSP)과
최소 5년 이상 경력을 요하는 보안 전문가 자격증(CISA)은
국제적으로 권위를 인정받고 있다.
-----------------------------------------------------------------------------
관련분야 3년 이상..--; 덴당...쉬운게 없고나..--;
2010년 6월 1일 화요일
날짜비교
<SCRIPT LANGUAGE="JavaScript">
function addZero(n)
{
return n < 10 ? "0" + n : n;
}
function checkDate()
{
var d = new Date();
var sss = form["date[]"].value;
var input_date = sss.split("-");
var cur_year = d.getYear();
var cur_month = addZero(d.getMonth()+1);
var cur_date = addZero(d.getDate());
var date1 = new Date(cur_year,cur_month,cur_date).valueOf();
var date2 = new Date(input_date[0],input_date[1],input_date[2]).valueOf();
if (date2 - date1 < 0)
{
alert('입력날짜는 현재날짜보다 이전일 수 없습니다.');
return;
}
}
</SCRIPT>
2010년 5월 16일 일요일
2010년 5월 12일 수요일
오케이아웃도어닷컴에 OK는 없다
작업시작?(맘먹고 일한지) 8개월만에 회사실적..
매출 전년동월 대비 175% 성장, 수익율 10% 상승~
움냐.. 정신없이 살다보니.. 이제야 여유가 생기는 고나..--;

준비된 자에게만 위기가 기회다!!
2010년 5월 11일 화요일
웨스턴디지털 하드체크 및 로우레벨프로그램
웨스턴디지털 하드 전용 하드 테스트 프로그램
- 빠른테스트: 간단한 이상유무 검사
- 확장테스트: 하드 전체적인 베드섹터 검사
- Zero값 쓰기: 하드의 전체섹터를 0값으로 채우는 로우레벨포맷
- 검사결과내용: 해당하드 검사결과 리포트
2010년 5월 10일 월요일
2010년 5월 6일 목요일
MSSQL SUSPECT
Use master
Go
Sp_configure 'allow update', 1
Reconfigure with override
Go
-- 2. 해당 DB를 응급 모드(32768 = emergency mode)로 변경 합니다.
update sysdatabases set status=32768 where name = 'db_name'
-- ex) update sysdatabases set status=32768 where name = 'TestDB'
-- 3. SQL 서비스를 재시작 합니다.
-- 서비스 재시작 작업시 서비스 중지 후 시작 전에 기존 LDF 파일을 리네임 또는 Copy하여 반듯이 Backup
-- 4. 로그 파일 재 생성
dbcc rebuild_log ('db_name' , 'ldf 파일의 물리적 경로')
-- ex) dbcc rebuild_log ('TestDB' , 'D:\MSSQL\DATA\testdb_log.ldf')
-- 이 상태 까지 진행을 하게 되면 DB의 Ldf 파일이 초기화 되면서 DB는 DBO만 사용상태로 활성화 됩니다. 그러면 이제 DB를 보통 모드로 바꾸는 작업을 합니다.
-- 5. DB의 상태를 먼저 확인 합니다.
Select * From sysdatabases
-- 이때 아까 복구한 DB의 상태가 '2048 = dbo use only' 상태로 되어 있을 것 입니다.
-- 6. 복구한 DB의 모드를 '기본모드 = 0' 변경 합니다.
update sysdatabases set status=0 where name = 'db_name'
-- ex) update sysdatabases set status=0 where name = 'TestDB'
-- 7. EM을 재연결 하면 DB의 상태가 보통으로 변경 됨을 확인 할 수 있습니다.
-- 8. 이제 DB를 다시 먼저 시스템 카탈로그를 수정 할 수 없게 변경해 줍니다.
Use master
Go
Sp_configure 'allow update', 0
Reconfigure with override
Go
-- 여기까지 진행이 되었으면 이제는 DB 일관성 검사를 진행 하여 잘 못된 부분이 없는지 확인 합니다.
-- 9. DBCC Checkdb
-- 일관성 오류가 있는지 검사 합니다.
-- 10. 일관성 오류를 수정하기 위해 user를 싱글 유저로 변경 합니다.
Alter Database TestDB Set single_user with rollback immediate
-- 11. 오류를 수정 합니다.
DBCC CheckDB('db_name', REPAIR_ALLOW_DATA_LOSS)
-- Ex) DBCC CheckDB ('TestDB' , REPAIR_ALLOW_DATA_LOSS)
-- 12. 오류를 수정 하였다면 다시 DBCC Checkdb 를 수행 합니다.
-- 13. 오류가 더 이상 없다면 user모드를 다시 변경 하여 줍니다.
User master
go
Alter Database TestDB Set multi_user
go
-- 작업 완료
2010년 5월 4일 화요일
flash player 10에서 로컬파일(excel) 읽기
<?xml version="1.0" encoding="utf-8" ?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import com.as3xls.xls.ExcelFile;
import com.as3xls.xls.Sheet;
import flash.events.Event;
import flash.net.FileReference;
import flash.utils.ByteArray;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
private var fl:FileReference;
private function loadExcel():void
{
fl = new FileReference();
fl.addEventListener(Event.SELECT, function(e:Event):void { FileReference(e.target).load(); } );
fl.addEventListener(Event.COMPLETE, loadCompleteHandler);
fl.browse();
}
private function loadCompleteHandler(e:Event):void
{
convert(FileReference(e.target).data)
}
private function convert(data:ByteArray):void
{
try
{
var excelFile:ExcelFile = new ExcelFile();
excelFile.loadFromByteArray(data);
var sheet:Sheet = excelFile.sheets[0];
grid.dataProvider = sheet.values;
}
catch(error:Error)
{
Alert.show("Fail to convert excel")
}
}
private function saveCSV():void
{
var arr:Array = (grid.dataProvider.source as Array);
var str:String = "";
for (var i:int = 0; i < arr.length; i++)
{
str += arr[i].toString()
str += "\r\n"
}
fl = new FileReference();
fl.save(str, "astro_"+(new Date().getTime())+".csv");
}
]]>
</mx:Script>
<mx:Button label="Load Excel File from Local" click="loadExcel()" />
<mx:DataGrid id="grid" editable="true" width="450" sortableColumns="true" draggableColumns="false" />
<mx:Button label="Save DataGrid to CSV File" click="saveCSV()" />
</mx:Application>
2010년 5월 3일 월요일
2010년 4월 27일 화요일
각종 이익 구하는 공식
매출이익 = 매출액 - 원가
영업이익 = 매출액 - 원가 - 급여 - 관리비 - 광고비
경상이익 = 영업이익 + 영업외이익 - 영업외비용
법인세차감전순이익 = 경상이익 + 특별이익
당기순이익 = 법인세차감전순이익 - 법인세
상품매출이익 = 판매액(매출액) - 구매액(매입액)
--------------------------------------------------
예)
빵을 100만원 팔았고 빵의 원료인 밀을 40만원에 들여왔고, 제방사 급여를 40만원을 주었다합시다.
여기에 빵을 굽는 오븐을 구입하는데 들어간 돈을 차입한 1,000,000원의 이율이 10%라면..
매출액 100만원에서 매출원가 40만원을 차감한 60만원이 매출총이익이 되는 겁니다.
여기에서 인건비를 포함한 100-40-40 = 20만원은 영업이익이 되는 겁니다...
그리고 이자비용을 포함한 100-40-40-10 = 10만원을 경상이익이라고 합니다..
여기에 특별이익과 손실을 반영해 주면 당기순이익 또는 법인세 차감전 순이익이라는 것이 나오는데요
보통 법인에서 하는 결산과정에서 사용하는 용어이며 경제 관련 용어 입니다...
2010년 4월 21일 수요일
linux usb 마운트
- 마운트
# mkdir /mnt/usb
# mount -t vfat /dev/sda1 /mnt/usb
- 확인 : USB 가 사용하는 장치명을 확인하고 싶다면, dmesg 또는 fdisk -l 을 통해서 아래와 같이 확인할 수 있다.
# fdisk -l  
Disk /dev/sda: 256 MB, 256900608 bytes
16 heads, 32 sectors/track, 979 cylinders
Units = cylinders of 512 * 512 = 262144 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 979 250574+ 6 FAT16
- 언마운트
# umount /mnt/usb
- USB 드라이브에서 한글 깨짐 현상 복구
# mount -t vfat -o iocharset=cp949 /dev/sda1 /mnt/usb
2010년 4월 18일 일요일
MS-SQL Server 서비스팩 4 설치시 주의사항
http://www.microsoft.com/sql/downloads/2000/sp4.mspx
FIX: Not all memory is available when AWE is enabled on a computer that is running a 32-bit version of SQL Server 2000 SP4
http://support.microsoft.com/default.aspx?kbid=899761
Fix: Not All Memory is Available When AWE is Enabled on a Computer Running 32-bit Version of SQL Server 2000 SP4 (899761)
http://www.microsoft.com/downloads/details.aspx?familyid=7c407047-3f1f-48b8-9e4c-dc32875e1961&displaylang=en
------------> Original Message <------------
경고: 본 SP4는 32비트상에서 AWE(Address Windowing Extensions)를 사용하는 SQL Server에 치명적 문제를 발생시킬 수 있습니다. 이 문제는 AWE가 명시적으로 가동되면서 2GB 이상의 메모리를 사용하는 컴퓨터에만 영향을 주게 됩니다. 만약 이러한 경우에 해당되면, 본 SP4를 절대로 설치하시면 안됩니다. 본 문제는 마이크로소프트에서 현재 해결중에 있으며, 곧 새로운 업데이트를 공지할 것입니다.
Important Note: Microsoft has found an issue with the final build of SP4 that impacts customers who run SQL Server with Address Windowing Extensions (AWE) support enabled. This issue only impacts computers with more than two gigabytes (2 GB) of memory where AWE has been explicitly enabled. If you have this configuration, you should not install SP4. Microsoft is currently working on the problem and will issue an update soon.
자세한 사항은 아래를 참고하세요
db이전 복구
1. 원본 백업
쿼리 브라우저에서 아래의 쿼리 형태를 실행
BACKUP DATABASE master TO DISK = 'D:/sqlbackup/master.backup' WITH INIT;
BACKUP DATABASE model TO DISK = 'D:/sqlbackup/model.backup' WITH INIT;
BACKUP DATABASE msdb TO DISK = 'D:/sqlbackup/msdb.backup' WITH INIT;
BACKUP DATABASE Northwind TO DISK = 'D:/sqlbackup/Northwind.backup' WITH INIT;
BACKUP DATABASE pubs TO DISK = 'D:/sqlbackup/pubs.backup' WITH INIT;
BACKUP DATABASE web1 TO DISK = 'D:/sqlbackup/web1.backup' WITH INIT;
BACKUP DATABASE Web2 TO DISK = 'D:/sqlbackup/Web2.backup' WITH INIT;
....
2. cmd 실행후
2001 인 경우 : C:\Program Files\Microsoft SQL Server\MSSQL\Binn 디렉토리로 이동
2005 인 경우 : C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn 디렉토리로 이동
3. MS SQL 관련서비스 모두 종료
cmd 명령어 => net stop mssqlserver
SQLEXPRESS 의 경우 net stop "SQL Server (SQLEXPRESS)"
4. sqlservr -m 또는 net start mssqlserver /m 명령 실행
SQLEXPRESS 의 경우 net start "SQL Server (SQLEXPRESS)" /m 으로 실행
5. SQL 접속
2000 인 경우 : 쿼리 분석기
2005 인 경우 : cmd => sqlcmd -E 명령 실행
6. master 디비 복원
RESTORE DATABASE master FROM DISK = 'D:/sqlbackup/master.backup';
복원이 정상적으로 되면 sql 이 종료 됩니다.
7. SQL Server 다시 실행
8. 기타 데이터베이스 복구
- 백업화일로 복구하는 경우
RESTORE DATABASE model FROM DISK = 'D:/sqlbackup/model.backup';
RESTORE DATABASE msdb FROM DISK = 'D:/sqlbackup/msdb.backup';
RESTORE DATABASE Northwind FROM DISK = 'D:/sqlbackup/Northwind.backup';
RESTORE DATABASE pubs FROM DISK = 'D:/sqlbackup/pubs.backup';
RESTORE DATABASE web1 FROM DISK = 'D:/sqlbackup/web1.backup';
RESTORE DATABASE Web2 FROM DISK = 'D:/sqlbackup/Web2.backup';
...
- mdf ldf 파일로 복구하는 경우
해당 db의 mdf ldf 을
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data(2000) 또는
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data(2005) 로
복사해 붙여넣기 한다음
exec sp_attach_db 'DB명'
,'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB명.mdf',
'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB명_log.ldf'
를 실행
2010년 4월 16일 금요일
버진그룹 리처드 브랜슨이 수첩에 메모하는 '자잘한' 사항들
진심으로 귀를 기울이고 모든 세부사항을 기록하라. 공장을 방문하거나 새로운 사업 지역을 돌아보거나 직원들과 파티를 할 때에도 수첩을 활용하라.
주위에서 무수한 일들이 바쁘게 진행되고 있는데 이를 기록하지 않는다면, 다음 날 스무 가지 일 가운데 겨우 한 가지나 기억할 수 있을지 의문이다. (136p)
리처드 브랜슨 지음, 박슬라 옮김 '리처드 브랜슨 비즈니스 발가벗기기' 중에서 (리더스북)
"더러운 카펫. 보풀. 선미 부분 지저분함. 스테인리스 스틸, 꾀죄죄함. 메뉴, 실망스러움. 마이애미에서 돌아올 때 일등석 메인코스인 가재가 왕새우로 바뀜. 치킨커리 맛없음. 치킨은 커다란 덩어리로 잘라야 함. 밥이 푸석거림. 치즈 접시에 스틸턴 치즈라고는 눈을 씻고 보아도 안보임..."
식당 지배인이나 서빙 담당 직원의 메모가 아닙니다. 영국 버진그룹의 CEO인 리처드 브랜슨이 수첩에 적은 메모들입니다. 예상외로 '작고 사소한' 내용들입니다. 대그룹의 CEO 수첩 답지 않다는 느낌도 듭니다.
하지만 브랜슨은 '작은 세부사항들'을 기록하고 점검해야한다고 강조합니다. 경영자가 사무실에만 있다가 가끔 일장 훈시를 늘어놓기만 해서는 언젠가 '대가'를 치르게된다고 경고합니다.
"일등석에는 양말이 아니라 슬리퍼가 필요함. 일본 맥주도 필요. 런던에서 가져온 영국 차는 좋지 않음. 런던에서 준비한 일본 음식, 맛은 좋지만 모양새가 별로..."
이것들은 브랜슨이 자기 항공사가 일본에 취항한 첫날 수첩에 메모한 내용입니다.
성공한 경영자나 정치인들. 그들이 '자잘한' 일들은 모두 아래에 맡기고, '거대한' 전략 구상에 몰두하는 것처럼 보일 때가 있습니다. 하지만 그건 대부분 '쇼'라고 보시면 됩니다. 그 '허상'을 따라했다가는 낭패를 보기 쉽습니다.
'지루하고 따분한', 하지만 반드시 필요한 많은 일들... 그것들을 꼼꼼히 기록하고 점검하는 모습, 그것이 그들의 진짜 모습입니다. 기업경영, 국가경영 뿐 아니라 일반인들의 자기경영에서도 마찬가지입니다.
2010년 4월 15일 목요일
2010년 4월 9일 금요일
겁쟁이 CEO는 다수결 원칙을 숭배한다
경우에 따라서는 결재를 명확히 독재적으로 해야
돈버는 경영을 할 수 있을 것이다.
다수결의 원칙은 최상의 합의제도가 되기도 하지만,
최악의 합의제도이기도 하다.
(특히 광고의 입장에서),
여러 사람의 의견을 골고루 듣거나
다수에 의한 방법을 취한다면
최악의 잡동사니 전략으로 전락하기 때문이다.
- 금강기획 이영희 사장
2010년 4월 8일 목요일
MSSQL 버전확인
1. 버전
SELECT @@VERSION
2. 서비스팩
SELECT SERVERPROPERTY('productlevel')
3. 버전, 서비스팩, 설치 Edition 확인
SELECT 'SQL Server '
+ CAST(SERVERPROPERTY('productversion') AS VARCHAR) + ' - '
+ CAST(SERVERPROPERTY('productlevel') AS VARCHAR) + ' ('
+ CAST(SERVERPROPERTY('edition') AS VARCHAR) + ')'
잭 웰치 회장의 위기관리 5 Tips
첫째, 보이는 것 보다 더 크게 생각하라.
겉으로 드러나는 것은 빙산의 일각에 불과할 때가 많다.
둘째, 세상에 비밀은 없다.
숨기려 하지 말고 모든 사실을 있는 그대로 알리고 먼저 사과하라.
셋째, 아픔을 감내할 수 있어야 한다.
사람과 시스템을 바꾸고 경우에 따라서는 피흘리기도 감내하라.
넷째, 외부 호들갑에 연연해하지 말라. 외부 평가에 담담해져야 한다.
다섯째, 위기가 닥치면 ‘다 망했다’, ‘모든 것이 끝났다’고 절망하기 쉬운데
대처 여하에 따라 위기 극복 후 더 강해질 수 있다는 믿음을 가져라.
2010년 4월 6일 화요일
mssql 문자열 갯수 체크
CREATE FUNCTION dbo.fn_get_charcount(@src_str VARCHAR(8000), @find_str VARCHAR(4000))
RETURNS INT
AS
BEGIN
DECLARE @char_count INT
, @src_str_len INT
, @find_str_len INT
, @tmp_len INT
SELECT @src_str_len = LEN(ISNULL(@src_str, '')), @find_str_len = LEN(ISNULL(@find_str, ''))
IF @src_str_len < 1 OR @find_str_len < 1
BEGIN
RETURN 0
END
SELECT @tmp_len = LEN(REPLACE(@src_str, @find_str, ''))
SELECT @char_count = (@src_str_len - @tmp_len) / @find_str_len
RETURN @char_count
END
2010년 4월 5일 월요일
window + apache2 + perl 5 설치
- Perl 설치
ActivePerl : http://www.activestate.com/store/activeperl/download/
- mod_perl.so 설치
1) perl 5.8xx
Apache2.0)
ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd 실행
Apache2.2)
ppm install http://theoryx5.uwinnipeg.ca/ppms/mod_perl-2.0.ppd 실행
2) perl 5.10xx
Apache2.2
ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/mod_perl.ppd 실행
- apache 환경설정(httpd.conf)
LoadModule cgi_module modules/mod_cgi.so
<Directory "C:/apacheX.X/htdocs">
Option 항목에 ExecCGI 추가
</Directory>
DirectoryIndex 에 index.pl 추가
AddHandler cgi-script .cgi .pl 설정
- 테스트
#!c:/perl/bin/perl
print "Content-type: text/html\n\n";
print "Hello World\n";
2010년 3월 31일 수요일
Windows Uptime
- Windows 2000
net statistics workstation
- Windows XP, Windows 2003 Server
systeminfo
net statistics workstation
이벤트 로그 오류체크 - SMS알림
tmpDate = DateAdd("h", -3, Now())
dtmYear = Year(tmpDate)
dtmMonth = Right("0" & Month(tmpDate), 2)
dtmDay = Right("0" & Day(tmpDate), 2)
dtmHour = Right("0" & Hour(tmpDate), 2)
dtmMinute = Right("0" & Minute(tmpDate), 2)
dtmCurDate = dtmYear & dtmMonth & dtmDay & dtmHour & dtmMinute & "00.000000+540"
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select Message, TimeWritten from Win32_NTLogEvent Where TimeWritten >= '" & dtmCurDate & "' AND (EventType =1 OR EventType = 2)")
For each objEvent in colEvents
'Wscript.Echo objEvent.Message
Call smsSend(objEvent.Message)
Next
Function smsSend(msg)
Dim conn
Set conn = CreateObject("ADODB.Connection")
conn.open "Provider=SQLOLEDB.1;Data Source=xxx.xxx.xxx.xxx;Initial Catalog=service","sa","xxxxx"
msg = Now() & " - " & msg
msg = Left(msg, 80)
msg = Replace(msg, "'", "")
'Wscript.Echo msg
conn.execute "INSERT INTO em_tran(tran_id, tran_phone, tran_callback, tran_status, tran_date, tran_msg) VALUES ('xxxxxx', '01000000000', '0200000000', '1', GETDATE(), '" & msg & "')"
Set conn = Nothing
End Function
2010년 3월 30일 화요일
Using VBScript to manage Event Logs
Writes an event to the Application event log that includes a support URL.
Const EVENT_FAILED = 1
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent EVENT_FAILED, _
"Payroll application could not be installed." _
& "Additional information is available from http://www.fabrikam.com."Adding WMI Data to an Event Log Entry
Writes an event that includes additional information such as user name and the amount of free disk space on the computer.
Const EVENT_FAILED = 2
Set objShell = Wscript.CreateObject("Wscript.Shell")
Set objNetwork = Wscript.CreateObject("Wscript.Network")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDiskDrives = objWMIService.ExecQuery _
("Select * from win32_perfformatteddata_perfdisk_logicaldisk")
For each objDisk in colDiskDrives
strDriveSpace = objDisk.Name & " " & objDisk.FreeMegabytes _
& VbCrLf
Next
strEventDescription = "Payroll application could not be installed on " _
& objNetwork.UserDomain & "\" & objNetwork.ComputerName _
& " by user " & objNetwork.UserName & _
". Free space on each drive is: " & strDriveSpace
objShell.LogEvent EVENT_FAILED, strEventDescriptionAsynchronous Event Log Querying
Uses an asynchronous query to retrieve all the events recorded in all the event logs. This approach is faster than retrieving a large number of events using a synchronous query.
Const POPUP_DURATION = 10
Const OK_BUTTON = 0
Set objWSHShell = Wscript.CreateObject("Wscript.Shell")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objSink = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")
objWMIService.InstancesOfAsync objSink, "Win32_NTLogEvent"
Error = objWshShell.Popup("Starting event retrieval", POPUP_DURATION, _
"Event Retrieval", OK_BUTTON)
Sub SINK_OnCompleted(iHResult, objErrorObject, objAsyncContext)
WScript.Echo "Asynchronous operation is done."
End Sub
Sub SINK_OnObjectReady(objEvent, objAsyncContext)
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
End SubBacking Up and Clearing an Event Log
Backs up and clears the Application event log.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName=''Application''")
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog("c:\scripts\application.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The Application event log could not be backed up."
Else
objLogFile.ClearEventLog()
End If
NextBacking Up and Clearing Large Event Logs
Backs up and clears am event log if the log file size is larger than 20 megabytes.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate, (Backup, Security)}!\\" _
& strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile")
For each objLogfile in colLogFiles
If objLogFile.FileSize > 100000 Then
strBackupLog = objLogFile.BackupEventLog _
("c:\scripts\" & objLogFile.LogFileName & ".evt")
objLogFile.ClearEventLog()
End If
NextConfiguring Event Log Properties
Sets the maximum size of all event logs to 250 megabytes, and enables the log to overwrite any events older than 14 days.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Security)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile")
For each objLogfile in colLogFiles
strLogFileName = objLogfile.Name
Set wmiSWbemObject = GetObject _
("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2:" _
& "Win32_NTEventlogFile.Name=''" & strLogFileName & "''")
wmiSWbemObject.MaxFileSize = 2500000000
wmiSWbemObject.OverwriteOutdated = 14
wmiSWbemObject.Put_
NextCopying Event Log Events to a Database
Retrieves events from all the event logs and records these in a database with the DSN Name EventLogs.
Set objConn = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.Recordset")
objConn.Open "DSN=EventLogs;"
objRS.CursorLocation = 3
objRS.Open "SELECT * FROM EventTable" , objConn, 3, 3
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRetrievedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent")
For Each objEvent in colRetrievedEvents
objRS.AddNew
objRS("Category") = objEvent.Category
objRS("ComputerName") = objEvent.ComputerName
objRS("EventCode") = objEvent.EventCode
objRS("Message") = objEvent.Message
objRS("RecordNumber") = objEvent.RecordNumber
objRS("SourceName") = objEvent.SourceName
objRS("TimeWritten") = objEvent.TimeWritten
objRS("Type") = objEvent.Type
objRS("User") = objEvent.User
objRS.Update
Next
objRS.Close
objConn.CloseCopying the Previous Day’s Event Log Events to a Database
Retrieves events from all the event logs that were recorded on the previous day, and writes these records to a database with the DSN Name EventLogs.
Set objConn = CreateObject("ADODB.Connection")
Set objRS = CreateObject("ADODB.Recordset")
objConn.Open "DSN=EventLogs;"
objRS.CursorLocation = 3
objRS.Open "SELECT * FROM EventTable" , objConn, 3, 3
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")
DateToCheck = Date - 1
dtmEndDate.SetVarDate Date, True
dtmStartDate.SetVarDate DateToCheck, True
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where TimeWritten >= ''" _
& dtmStartDate & "'' and TimeWritten < ''" & dtmEndDate & "''")
For each objEvent in colEvents
objRS.AddNew
objRS("Category") = objEvent.Category
objRS("ComputerName") = objEvent.ComputerName
objRS("EventCode") = objEvent.EventCode
objRS("Message") = objEvent.Message
objRS("RecordNumber") = objEvent.RecordNumber
objRS("SourceName") = objEvent.SourceName
objRS("TimeWritten") = objEvent.TimeWritten
objRS("Type") = objEvent.Type
objRS("User") = objEvent.User
objRS.Update
Next
objRS.Close
objConn.CloseCreating a Custom Event Log
Creates a custom event log named Scripts.
Const NO_VALUE = Empty
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite _
"HKLM\System\CurrentControlSet\Services\EventLog\Scripts\", NO_VALUECreating Unique File Names for Event Log Backups
Backs up and clears the Application event log, generating a unique file name for each backup based on the current date.
dtmThisDay = Day(Date)
dtmThisMonth = Month(Date)
dtmThisYear = Year(Date)
strBackupName = dtmThisYear & "_" & dtmThisMonth & "_" & dtmThisDay
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName=''Application''")
For Each objLogfile in colLogFiles
objLogFile.BackupEventLog("c:\scripts\" & strBackupName & _
"_application.evt")
objLogFile.ClearEventLog()
NextQuerying an Event Log for Stop Events
Queries the System event log for any events written in regards to a stop event (blue screen).
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = ''System''" _
& " and SourceName = ''SaveDump''")
For Each objEvent in colLoggedEvents
Wscript.Echo "Event date: " & objEvent.TimeGenerated
Wscript.Echo "Description: " & objEvent.Message
NextQuerying a Specific Event Log
Retrieves all the events from the System event log.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = ''Application''")
For Each objEvent in colLoggedEvents
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
NextRetrieving Specific Events from an Event Log
Retrieves all events with an event code of 6008 from the System event log.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = ''System'' and " _
& "EventCode = ''6008''")
Wscript.Echo "Improper shutdowns: " & colLoggedEvents.CountRetrieving All Events from an Event Log
Retrieves all the events from all the event logs on a computer. Note: This is primarily a demonstration script. It can take several hours, or more, to run, depending on the number of events recorded in your event logs.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = ''Application''")
For Each objEvent in colLoggedEvents
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
NextRetrieving Event Log Properties
Retrieves a list of properties for all the event logs on a computer, except the Security event log.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objInstalledLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile")
For each objLogfile in objInstalledLogFiles
Wscript.Echo "Name: " & objLogfile.LogFileName
Wscript.Echo "Maximum Size: " & objLogfile.MaxFileSize
If objLogfile.OverWriteOutdated > 365 Then
Wscript.Echo "Overwrite Outdated Records: Never." & VbCrLf
ElseIf objLogfile.OverWriteOutdated = 0 Then
Wscript.Echo "Overwrite Outdated Records: As needed." & VbCrLf
Else
Wscript.Echo "Overwrite Outdated Records After: " & _
objLogfile.OverWriteOutdated & " days" & VbCrLf
End If
NextRetrieving Events For One Day From An Event Log
Retrieves all the events recorded on a specific date from all the event logs.
Const CONVERT_TO_LOCAL_TIME = True
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")
DateToCheck = CDate("2/18/2002")
dtmStartDate.SetVarDate DateToCheck, CONVERT_TO_LOCAL_TIME
dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where TimeWritten >= ''" _
& dtmStartDate & "'' and TimeWritten < ''" & dtmEndDate & "''")
For each objEvent in colEvents
Wscript.Echo "Category: " & objEvent.Category
Wscript.Echo "Computer Name: " & objEvent.ComputerName
Wscript.Echo "Event Code: " & objEvent.EventCode
Wscript.Echo "Message: " & objEvent.Message
Wscript.Echo "Record Number: " & objEvent.RecordNumber
Wscript.Echo "Source Name: " & objEvent.SourceName
Wscript.Echo "Time Written: " & objEvent.TimeWritten
Wscript.Echo "Event Type: " & objEvent.Type
Wscript.Echo "User: " & objEvent.User
Wscript.Echo objEvent.LogFile
NextRetrieving Security Log Properties
Retrieves properties for the Security event log.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Security)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName=''Security''")
For Each objLogFile in colLogFiles
Wscript.Echo objLogFile.NumberOfRecords
Wscript.Echo "Maximum Size: " & objLogfile.MaxFileSize
NextReports the number of events currently recorded in the System event log.
Reports the number of events currently recorded in the System event log.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName=''System''")
For Each objLogFile in colLogFiles
Wscript.Echo objLogFile.NumberOfRecords
NextWriting to a Custom Event Log Using EventCreate
Uses the EventCreate.exe utility to write an event to a custom event log named Scripts.
Set WshShell = WScript.CreateObject("WScript.Shell")
strCommand = "eventcreate /T Error /ID 100 /L Scripts /D " & _
Chr(34) & "Test event." & Chr(34)
WshShell.Run strcommandWriting Events to the Local Event Log
Writes an event to the Application event log on the local computer.
Const EVENT_SUCCESS = 0
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent EVENT_SUCCESS, _
"Payroll application successfully installed."Writing Events to a Remote Event Log
Writes an event to the Application event log on a remote computer named PrimaryServer.
Const EVENT_SUCCESS = 0
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent EVENT_SUCCESS, _
"Payroll application successfully installed." , "\\PrimaryServer"
2010년 3월 26일 금요일
MSSQL DB이전
Enterprise 관리자에서
해당 DB선택 -> 모든작업(오른쪽 마우스) -> 데이터베이스 분리 (분리 전 통계 업데이트 체크)
이전할 서버로 MDF, LDF 파일 복사
모든작업(오른쪽 마우스) -> 데이터베이스 연결 -> 복사한 위치의 MDF 파일 선택, 확인
기타 작업, 권한 체크
2010년 3월 24일 수요일
2010년 3월 19일 금요일
2010년 3월 11일 목요일
개인정보유출
9일엔.. 650만 개인정보 유출
http://www.ytn.co.kr/_comm/pop_mov.php?s_mcd=0103&s_hcd=&key=201003091700140768
오늘은.. 2,000만 개인정보 유출
http://news.sbs.co.kr/section_news/news_read.jsp?news_id=N1000720411
에공.. 기업공개까지 한다네.....
http://www.dt.co.kr/contents.html?article_no=2010031202019960739002
제휴마케팅 관련사이트
- 포털 제휴 광고서비스
다음애드클릭스 http://adclix.daum.net/
구글애드센스 https://www.google.com/adsense/
- 일반광고링크
아이라이크클릭 http://home.ilikeclick.com/
링크프라이스 http://www.linkprice.com/
애드데이 http://www.adday.co.kr
인터렉티비 http://www.interactivy.com/
클릭스토리 http://www.clickstory.co.kr/
- 도서광고
알라딘 TTB http://aladdin.co.kr/ttb/wmain.aspx
- 위젯형 광고제공
유디엠 http://www.udiem.com/

SQLite Database Browser.zip


