천객만래 [千客萬來] (It has an interminable succession of visitors)

'태그를 입력해 주세요.'에 해당되는 글 40건

  1. 2014.07.29 [문화/음악] Karoline Kruger - You call it love (You Call It Love OST)
  2. 2013.09.22 [자기경영] 당당하게 승리하는 '비쿨'(Be cool)의 성공학
  3. 2013.07.12 [유머] 개발자 이력서 10계명
  4. 2013.06.14 [개발/가상머신] 버추얼박스를 이용한 가상PC와 호스트PC간 통신 설정
  5. 2013.06.12 [개발/delphi] 엠바카데로 델파이 XE4 무료 시험버전 30일 다운로드
  6. 2013.04.26 [개발/delphi] 엠바카데로, 멀티디바이스 네이티브 개발을 위한 RAD Studio XE4 발표
  7. 2013.04.25 [database] TOAD for SQL Editor 상에서의 편리한 단축키
  8. 2013.04.18 [IT/크롬] 크롬 자바스크립트 오류 알람
  9. 2013.04.07 [자연/과학] 이슬에 갇힌 개미 왜 못나올까
  10. 2013.03.26 [개발/VS] 비주얼스튜디오2005 단축키 모음
  11. 2013.03.26 [개발/INI]INF 파일 구조 설명
  12. 2013.02.07 [IT/개발] 윈도우즈 예약 작업 다루기
  13. 2013.01.23 [자연/과학] 선크림을 바르면 왜 피부가 타지 않을까요
  14. 2013.01.19 [IT/과학] 애플코리아, 단 하루 세일 실시…'최대 13만원'
  15. 2013.01.18 [IT/개발] 브라우저 점유율 변화
  16. 2013.01.18 [자기경영] 황금알 황수관
  17. 2013.01.15 [개발/VC] warning LNK4099: ... vc90.pdb'에서 찾을 수 없습니다.
  18. 2013.01.11 [경제] 쌍용자동차 무급휴직 전원 복직 시행
  19. 2012.12.21 [시사] 18대 대선 역계급 지지 투표
  20. 2012.11.27 [자동차/과학] 터널에 전등은 왜 주황색일까

다시 들어봐도 좋은 음악이다. 으흐음~


Karoline Kruger - You call it love (You Call It Love OST)








You Call It Love


Karoline Kruger|유 콜 잇 러브 (L' Etudiante, The Student)


You call it love

There are things I need to say

About the way I feel when your arms are all around me

You call it love 

Words I'd heard that sound so fine

Meaningless each time till you came and found me

See the ground is slowly turning dizzily, easily

Feel the way my heart is burning secretly inside of me 


You call it love 

All the wishes in my mind soared into the skies

Where reflected in my own eyes

You say it's love

Variations on a theme 


Love was just a dream memories of past sighs

See you love is always round me

Everywhere in the air

New sensations now surround me

Ocean wide deep inside 


You call it love

All my days past close to you

Grey skies turn to blue and the sun shines all around me

You call it love

It's a phrase that people say each and every day

Real love is hard to find though

See the ground is slowly turning dizzily easily

Feel the way my heart is burning from your touch secretly


You call it love 

Now I know it's so much more being close to you 


Makes this feeling new that you call it love.






Posted by SB패밀리

(Be cool) 정신은 유연함과 기다림의 미학 

김정선 비굴쿨럽 회장 | 05/04/07 
------------- 
◎ 온라인 비즈니스 기획자로 활동하고 있는 프리랜서 김정선씨가 새로이 직장인 성공학 코너인 '김정선의 비굴클럽'을 선보입니다. '비굴클럽'(웅진닷컴)의 저자인 김정선씨는 잠시 잠깐 비굴하지 못해 부러지고 꺽이는 사람들에게 13년 동안의 직장생활을 통해 터득한 '비쿨'(Be Cool) 정신으로 무장함으로써 유연하고 탄력적인 사고방식으로 직장생활에 임할 것을 주문하고 있습니다. 성신여대 경제학과를 졸업한 김정선씨는 대교방송, 여자와닷컴, 우리아이닷컴 등 온라인 무대를 기반으로 여성, 육아, 교육 관련 분야에서 활동해왔습니다. 
------------- 

올해 초 한 설문조사 결과를 보니 직장인의 과반수 이상이 올해의 제일 목표로 회사를 옮기는 것을 꼽았다. 또 다른 조사에서는 직장인 두 명 중 한 명은 이직계획을 갖고 있다고 대답했다.

자신이 현재 몸담고 있는 조직에 대한 불안, 불만과 함께 아무리 열심히 일해도 채워지지 않은 2%가 현재의 자리에 안주하지 못하도록 하는게 아닐까 싶다. 주변 사람들에게 물어봐도 시간을 되돌릴 수만 있다면 학창시절 또는 첫 직장을 선택하던 그 때로 돌아가고 싶다고 말한다.

푸릇푸릇한 몸과 마음으로 사회에 진출했을 때에는 각자 나름대로 거창하고 야무진 꿈을 꾸었을 터. 그러나 자신의 의지와는 다르게 속절없이 세월은 흐르고 세파에 시달리다 보면 어느새 내가 무엇을 위해 달려가고 있는지 몰라 답답하다. 

주어진 현실에 충실하다 보면 출세, 연봉, 승진 따위는 마치 부상으로 받는 트로피처럼 자연스럽게 따라 오리라 믿었다. 자신의 자리에서 최선을 다하면 그에 상응한 보답이 오는 게 당연하겠지만 현실은 종종 우리의 이상을 배반하니 문제다.

전쟁이라도 치르듯 하루 일과를 마치고 나면 무엇을 위해 이렇게까지 치열하게 또 때로는 비굴하게 살아야 하는지 모르겠다고 자조하게 된다. 실제로 많은 사람들이 '직장인'과 '비굴'은 뗄레야 뗄 수 없는 불가분의 관계라고 말한다. 

하루에도 수없이 비굴한 사람들을 만나고 비굴할 수 밖에 없는 상황에 처하고 또 비굴을 강요당하면서 갈등하고 괴로워 한다. 

조직이 주는 스트레스를 피할 수 없는 것이 우리의 현실이라면 잠자코 앉아서 무기력하게 당하지 말고 유쾌하게 헤쳐나가는 방법을 찾아보는 것은 어떨까?

권력 앞에서 관성적으로 자신을 무조건 낮추는 비굴, 이유도 명확히 하지 않은 채 본성을 외면하는 비굴이 아닌, 고단하고 힘든 조직생활의 윤활유 역할을 하며 때로는 발칙하게 우리의 우울한 일상을 반전시키는 위트있는 비굴, 이른바 '비쿨(Be cool)'을 꿈꿔보는 것이다.

당당하고 자유로운, 요즘 표현대로 쿨하게 비굴할 수 있다면 비굴이 아닌 비쿨(Be cool)하게 성공에 도달할 수 있지 않을까 싶다. 

신 비굴, 일명 '비쿨(Be cool)'은 2보 전진을 위해 1보 후퇴할 줄 아는 유연함의 미학이고, 뒤처질까 두려워 조바심내기보다 때로는 멈춰 서서 주변을 돌아보는 기다림의 미학이며, 상대방의 반응에 쉬 흔들리지 않을 두둑한 '뱃심'을 갖는 쿨함의 미학이다.

우리가 몸담고 있는 조직은 하루가 다르게 달라지고 있다. 살벌한 얘기 같지만 앞으로의 조직은 지금보다 더 치열한 정글이 될 것이다. 잠자코 앉아서는 자기 자리를 지킬 수 없을 지도 모른다. 

조직 내에서 생존하기 위해서 구성원간의 경쟁은 피할 수 없으며 시간이 갈수록 그 양상은 한층 더 심해질 것이다. 평생직장 이라는 개념이 완전히 사라져 버린 지금 기업이나 조직이 아닌 자기 스스로를 위해서 일할 필요가 있다. 

세상이 정해 놓은 천편일률적인 성공이 아닌 자기 자신만의 성공의 원칙과 기준을 새롭게 하면서 성공지도를 그려 보는 것이다. 

앞만 보고 무조건 달리는 것만이 능사는 아니다. 처음 얼마간은 조직이 만들어 놓은 길을 달리게 되겠지만 여기에는 분명 한계가 있고 어느 지점에 다다르면 우리 앞에 길은 사라진다. 이 사실을 인식하지 못하고 그저 내달리기만 한 사람들은 그 이후 어디로 가야 할 지 몰라 당황하게 된다. 중간에 멈춰서서 헤매지 않으려면 열심히 달리는 것 뿐만 아니라 자신이 각자 달릴 길을 스스로 닦는 작업을 해야 한다. 

기왕이면 쭉 뻗은 탄탄대로가 좋음은 두말할 필요가 없을 것. 어떤 방향을 택해야 곧은 길이 펼쳐질 지, 어디로 가야 가시덤불이나 발에 걸리는 잔 돌멩이들이 없는지 신중히 살피며 나아가는 자세가 필요하다.

지금까지는 그저 빨리 달리기 위해 운동화를 조여 매고 체력을 키우는 데에만 신경 썼다면 이제부터는 자유롭고 오래오래 달릴 수 있는 길을 가꾸는 작업에 정성을 기울이도록 하자.

당당하고 자유롭고 쿨하게 비굴한 신 비굴정신, 일명 '비쿨'(Be cool)정신은 성공을 위한 당신의 길 닦기에 꽤 쓸만한 도구가 될 수 있을 것이다.

출처 : 머니투데이

Posted by SB패밀리

개발자 이력서 10계명




#1: 보유 기능 목록을 제일 앞에 올리라
고용 담당자는 회사가 찾고 있는 기능을 보유하고 있는지 알고 싶어 한다. 물론 "경력" 란에 구직자의 보유 경력이 잘 나오겠지만, 이력서 상단에 "보유 기능" 란을 넣으면 자연스럽게 그 부분을 제일 먼저 보게 된다. 

당연히 그런 이력서를 고르기가 더 쉽다. 동시에 그렇게 하지 않았다면 고용 담당자들이 놓쳐버렸을 수 있는 기능에 관심을 가지게 한다는 장점도 있다. 최소한 고용 담당자는 그 보유 기능 목록을 보게는 된다.

#2: 눈길을 끄는 방식으로 경력을 소개하라
일자리를 구하는 대부분의 개발자들은 데이터 중심형 웹 사이트나 데스크톱 애플리케이션을 만든 적이 있다. 따라서 이력서에 그런 일반적인 예를 잔뜩 써 넣는 것은 별로 눈길을 끌지 못한다. 장래의 고용주가 관심을 가지는 것은 독특한 무언가가 있는 경력, 즉 단순히 기본적인 수준의 프로그래밍 작업을 한 것이 아님을 보여주는 경력이다. 

독특한 제약 조건이 적용되는 작업을 했거나 트랜잭션이 많이 발생하거나 무장애 실행을 요구하는 환경에서 일한 경력은 이력서를 보는 사람에게 아주 좋은 인상을 준다. 즉, 자신의 경력이 남과 다르다는 것을 보여주어야 다른 사람이 그를 남다른 사람으로 보게 된다.

#3: 문법, 철자 및 기타 일반적인 실수를 샅샅이 찾아내어 고치라
고용 업무를 담당하는 동안 필자는 이력서에서 온갖 종류의 문법 오류나 철자 오류를 보았다. 가장 황당했던 경우 중 하나는 자기가 졸업한 대학교의 철자를 잘못 쓴 경우였다.

이력서에는 몇 가지 독특한 문법적인 규칙이 관련되며, 특히 소프트웨어 개발 작업에는 약어나 철자가 특이한 단어들이 관련되는 경우가 많다. 하지만 어떤 경우에도 변명의 여지가 없다. 철자나 문법상으로 실수가 없는지 확인해야 한다. 이 점은 필자가 읽어 본 모든 이력서 관련 지침에 빠지지 않고 나오며, 분명히 강조할 가치가 있다.

#4: 학력은 고려 대상이지만 중요하지는 않다
프로그래밍 구직 시장에 이제 막 발을 들여 놓은 사람이나 아주 전문적인 자리를 얻기 위해 이력서를 쓰는 것이 아닌 한 학력은 별로 중요하지 않다. 물론, 이력서에 학력이 빠질 수는 없지만 제일 마지막에 넣는 것이 좋다. 

학력에 대해 알아야 하거나 알 필요가 있는 고용 담당자라면 학력 부분까지 읽을 것이고, 그 외의 사람들은 학력을 보느라 시간을 허비할 필요가 없다. 프로그래밍 계통은 변화가 너무 심하기 때문에 7년쯤 뒤에는 (수학이나 "순수" 컴퓨터 공학과 같은 "원론적인" 과목 이외에는) 대부분의 학과목과 자격증은 현재의 실제 업무와 거의 관계가 없다.

#5: 빨리 본론으로 들어가라
전통적인 이력서 형식에는 개발 담당자가 볼 때 필요하지 않은 정보가 많이 포함되어 있다. 예를 들면 요약 부분이 그런 정보이며 아마도 목표 부분도 그렇게 볼 수 있을 것이다. 

사실 이력서보다 더 간단한 내용으로 프로그래밍 경력을 표현하는 요약을 쓸 수 있는 방법은 없다. 대부분의 요약 항목이 아무 쓸모없는 정보로 보이는 이유가 바로 그것이다. 예를 들어 주요 기능을 기록한 부분 앞에 붙어 있는 "10년 개발 경력의 노련한 프로그래머"라는 표현이 무슨 의미가 있겠는가? 고맙지만, 없으면 더 고맙겠다.

목표는 (항상은 아니지만) 쓸모 없는 경우가 많다. 전직하려는 경우라면 목표는 고용 담당자가 당신의 보유 기능과 경력을 기준으로 당신을 분류하지 못하게 하는 좋은 방법이 될 수 있다. 

하지만 선임 개발자 자리로 옮기려고 하는 중급 프로그래머는 목표를 생략해도 무방하다. 소프트웨어 아키텍트나 DBA가 되려고 하는 선임 프로그래머는 목표를 밝혀야 한다. 따라서 요약 부분은 어떻게든 빼고 쓸모 있는 목표만 포함시켜 이력서를 보는 사람이 당신의 보유 기능을 가능한 한 빨리 볼 수 있게 하라.

#6: 서식을 주의 깊게 고려하라
이력서 서식은 중요하다. 고급 용지에 이력서를 인쇄하여 발송하던 시절은 오래 전에 지나갔지만 컴퓨터 화면으로 보든 종이로 된 문서이든 간에 이력서는 서식이 있어야 한다. 어쨌든 이력서를 쓰려면 상당한 균형 감각을 가져야 한다. 지금은 자신의 피카소 같은 감각을 과시하는 시대가 아니다. 

원하는 자리가 시각적인 예술 감각과 관련이 있는 것이 아닌 한 그렇다. 지금은 가독성을 높여야 하는 시대이다. 가독성을 높이려면 더 큰 글꼴(10~12포인트)를 사용해야 하며 (문서 포맷에 글꼴이 내장되지 않는 한) 모든 컴퓨터에서 사용하는 글꼴이어야 함을 의미한다. 한 마디로 화면으로 보든 인쇄해서 보든 간에 보기 좋아야 한다. 

추천할 만한 영문 글꼴은 Verdana, Arial, Tahoma, Calibri, Helvetica 등이다.

문서가 너무 빽빽해 보이지 않도록 여백을 충분히 두어야 한다. 그래야 보는 사람이 질리지 않는다. 반대로, 겨우 200단어를 여덟 페이지로 만들 정도로 공간을 낭비하지 말라. 

물론, 파일 자체의 포맷은 중요하다. 필자의 경험으로는 사원 모집 담당자들의 99.9%는 접수된 이력서가 다른 포맷으로 되어 있으면 MS 워드 포맷의 이력서를 요구한다. 따라서 표준 .doc 포맷으로 문서를 만들어야 한다.

이력서가 자신을 상품으로 소개하는 주요 도구라는 사실을 항상 염두에 두어야 한다. 이력서를 보는 사람이 이력서에 담긴 정보를 이해하는 데 어려움이 있다면 그것이 기술적인 문제이든 가독성 문제이든 간에 그들은 즉시 다음 이력서로 넘어간다.

#7: 길이에 주의하라
문서 포맷에 관계 없이 아주 특별한 상황이 아닌 한 분량을 2~4페이지 정도로 제한하라. 단기 계약직으로 일하는 데 많은 시간을 보내는 사람들이라면 이력서가 비교적 길 것이며 막 구직 시장에 뛰어든 사람이라면 이력서가 짧을 것이다.

전반적으로 기존의 1페이지 분량의 이력서 서식 안에 자신의 기술적인 보유 기능과 하나 이상의 직장 경력을 적절하게 부각시키기는 어렵다. 2페이지는 중급 개발자나 선임 개발자를 기준으로 한 것이다. 

하지만 4페이지 이상이면 이력서를 보는 사람의 눈이 침침해진다. 학력과 마찬가지로 7~8년 전에 가졌던 경력은 별 관계가 없지만, 고용 담당자는 담당한 책임이나 프로젝트 수준이 점점 높아지는 과정을 보고 싶어한다.

#8: 경력을 적절하게 정리하라
프로그래밍은 취업 경력 면에서 대부분의 분야와 차이가 있다. 우선, 많은 프로그래머들은 계약직이기 때문에 취업 경력은 줄줄이 이어지는 형태가 되기 마련이다. 뿐만 아니라 닷컴 불황이 지난 지 그렇게 오래 되지 않았으며, IT는 항상 파산, 인수, 합병이 많이 이루어지는 산업계였다.

문제는 고용 담당자는 단기직 경력이 길게 나열된 이력서를 좋아하지 않는다는 점이다. 이력서에 직책이 점점 높아지는 취업 경력이 쭉 이어지고 있다면 충성심이 없는 사람으로 보일 수 있다. 반면에 직무가 기본적으로 동일(하거나 점점 낮아)지는 것처럼 보인다면 실직자라는 느낌을 준다. 

계속 단기직으로 일한 정당한 이유가 있다면 반드시 그 이유를 명확하게 밝히라. 예를 들어 계약직/컨설팅 직은 명확하게 표시하라.

#9: 이력서를 보는 사람에게 법적인 부담을 주지 마라
어떤 고용 담당자도 고용 과정에서 편파적이거나 차별 대우를 했다고 고발 당하는 것을 좋아하지 않는다. 그런 행동은 비윤리적일 뿐만 아니라 불법이다. 따라서 직무를 올바르게 수행하려고 애쓰고 있는 고용 담당자는 신청인에게 해서는 안되는 질문을 잘 알고 있다. 

바꿔 말하면, 이력서를 내는 사람은 그런 내용을 이력서에 포함시켜서는 안된다. 고용 담당자가 알 필요가 없는 그 외의 개인적인 정보도 많다. 관련이 없는 내용을 이력서에 자세히 밝히면 고용 담당자는 겁을 먹고 수동적이 된다. 그런 구체적인 내용은 밝히지 말기 바란다.

#10: "튀는 사람이군!"
고등학교에서 튀는 행동으로 왕따를 당하는 것을 좋아하는 사람은 없다. 하지만 지금은 프로그래머로 일자리를 찾고 있는 중이다. 고용 담당자들은 "튀는 사람"을 "돈덩어리"로 본다. 따라서 그들에게 자신이 총명하며 프로그래밍을 사랑하고 끊임없이 성장하면서 새로운 아이디어를 배우고 탐구하는 사람임을 보여줄 수 있는 방법을 찾으라. 

오픈소스 프로젝트에 참여하고 있거나 동네 아이들에게 프로그램을 가르치는 자원 봉사 활동을 하고 있다면 그런 취미 활동에 대해 이야기하라. 그런 정보를 통해 고용 담당자들은 당신이 퇴근 후에도 프로그래밍이나 컴퓨터를 다룰 만큼 그런 것을 좋아한다는 것을 알게 된다.

고용 담당자들이 이 문제를 보는 논리는 정말 단순하다. 현재 두 명의 후보자들이 거의 비슷한 수준이라면 내일은 열정이 있는 후보자가 업무를 "단순한 직업"으로 취급하는 후보자보다 훨씬 더 발전해 있기 마련이라는 것이다.

출처 : 인터넷

Posted by SB패밀리

버추얼박스를 이용한 가상PC와 호스트PC간 통신 설정


Client 프로그램과 Server 프로그램을 이용한 개발이 필요했다.

Server는 웹도 되어야 하고 server 프로그램도 가능해야한다.


client와 통신을 해야하는데 PC를 별도로 구매하지 않고 그냥 내 PC에서 모든 것을 개발하고 테스트 해야하는 상황이다.

그래서 사용하고 있는 virtualbox for oracle을 이용하여 가상PC를 설정하여 내 PC와 가상PC간의 통신을 가능하는 방법을 

알아보았고... 성공했다.....




실제 사용하는 개인PC 를 Host PC라고 하고

버추얼박스에서 실행되는 가상PC를 guest PC라고 한다.


이 둘간의 상호 통신을 위해서는 가상PC(guestPC)의 네트워크 어댑터를 설정해야하는데....


아래와 같이 설정하면된다....


어댑터1



어댑터2





이제 통신을 하기 위한 IP를 살펴보자.


hostPC에서 guestPC로 접속하는 IP(가상PC IP)

   아래 표시된 영역이 Guest PC의 IP이다.




guestPC에서 hostPC로 접속하는 IP(사용자 IP)

   아래 표시된 영역의 IP가 사용자(나의) PC의 IP이다.



위와 같이 IP를 참고하여 물리적IP(사용자PC)와 가상IP(가상PC) 와의 상호 인터넷 통신이 가능하다.





Posted by SB패밀리


엠바카데로 델파이 XE4 무료 시험버전 30일 다운로드 링크 입니다.


Embarcadero Delphi XE 4  for Free Trial 30 days.


Download Link !!!


one - source code for Windows / Mac/ iOS Development


https://downloads.embarcadero.com/free/delphi




Posted by SB패밀리

엠바카데로, 멀티디바이스 네이티브 개발을 위한 RAD Studio XE4 발표


RAD Studio XE4, Delphi XE4, C++Builder XE4가 발표되었습니다. 

기존 XE3 버전에 비해 이번 XE4 버전의 가장 눈에 띄는 점은 iOS 지원입니다. 

이제 델파이와 C++빌더로 직접 아이폰, 아이패드 앱을 개발할 수 있습니다.


차기버전에는 안드로이드 지원을 기대해 볼만한데요.....


자바, Object C++을 알아둘 필요는 있겠지만 직접 개발할 필요는 없군요... ^^


 

무료 트라이얼 버전 다운로드 클릭  .http://www.embarcadero.com/products/rad-studio/downloads

Posted by SB패밀리

SQL EDITOR상에서의 편리한 단축키 

ESC: 열린 윈도우 닫기 
F1: 모든 단축키를 보여준다. 
F2: FULL SCREEN 
F4: Table, View, Proc, Funct, Package를 DESC(테이블명에 커서를 둔 상태에서 해야함) 
F6: SQL Editor와 결과창간의 전환 
F7: 화면을 모두 CLEAR 
F8: 실행했던 SQL들의 HISTORY 
F9: 모든 쿼리 실행(Ctrl+Enter는 현재 쿼리만 실행) 
Ctrl+F9: 실제 쿼리를 실행하지 않고 validate함 
Ctrl+. : table Completion (매칭되는 테이블목록 출력) 
Ctrl+T : Columns Dropdown (해당테이블의 컬럼목록 표시) 
Alt+Up : History Up (리눅스 bash의 UP키와 같다.) 
Alt+Down: History Down (리눅스 bash의 DOWN키와 같다.) 
Ctrl+Tab: MDI Child윈도간 전환 

그냥 'desc 테이블명' 을 치면, 팝업윈도로 해당 테이블의 컬럼목록윈도가 표시된다. 
이때, 해당 컬럼을 double-click하면 SQL Editor로 반영된다. 

"테이블명."까지 입력하고 좀 있으면, 해당 테이블의 컬럼목록이 표시된다. 
마치 프로그래밍툴에서 클래스내 멤버들의 목록을 표시하듯이.. 
Ctrl+T는 출력된 목록을 취소했을 경우, 다시 불러낼때 쓰인다. 

test, member 2개의 테이블이 있다고 하자. 
select * from t까지 입력하고 Ctrl+.를 치면 select * from test로 테이블명을 완성시켜준다. 
system계정에서는 안되더군.. 일반계정만 가능했다. 

SQL문을 실행시 

Ctrl+Enter 
현재 커서의 SQL문 실행 
여러개의 SQL문이 있을때, SQL문들을 개행문자로 분리해주면 된다. 
해당 커서에서 개행문자가 있는 곳까지만 하나의 SQL문으로 간주한다. 

F9 
SQL Editor의 SQL문 실행하여 Grid에 출력. 
여러 SQL문들을 개행문자로 구분하지 않는다는 것을 제외하면, 위의 Ctrl+Enter와 동일하다. 
에디터내의 모든 SQL문은 하나로 취급하므로, 여러 개의 SQL문이 있으면 실행할 SQL문만 Selection하여 실행(F9)해준다. 

F5 
SQL Editor내의 모든 SQL문 실행. 여러개의 SQL문들을 모두 실행하여 SQL*PLUS와 같이 출력해준다. 
이것은 출력이 Grid로 표시되지 않고 Editor윈도에 표시되므로, SQL*PLUS의 출력과 같이, 
다른 편집기로의 복사/붙여넣기 할때 사용하면 유용하다.

Posted by SB패밀리

크롬 자바스크립트 오류 알람


구글 크롬을 사용해서 웹사이트를 접속하거나 개발을 할 때면 자바스크립트 오류가 있어도 알려주지 않고 skip해 버린다.


답답할 때가 발생하는데 이 자바스크립트 오류를 알려주는 크롬 확장프로그램이 있다.



설치 후 사용을 중지할 때는 메뉴->도구->확장프로그램 으로 가서  "JavaScript Errors Notifier"를 확인하고 사용설정의 체크를 해제하거나 제거를 원할 때는 삭제를 클릭하면 된다. 


다운로드는 요기로 가서


https://chrome.google.com/webstore/detail/javascript-errors-notifie/jafmfknfnkoekkdocjiaipcnmkklaajd






Posted by SB패밀리

이슬에 갇힌 개미 왜 못나올까  

만일 사람의 몸이 개미만큼 작아진다면?

영화 '스파이더 맨'의 주인공처럼 유전자 조작 거미에게 물리든지 해서 손에 돌기와 털이 잔뜩 난 사람이라면 정말 거미처럼 벽을 쉽게 기어오를 수 있다.
몸무게의 1백배쯤 무거운 것도 번쩍 들어올리는 천하장사가 되고, 물 위를 걷는 것도 별로 어렵지 않다. 모두가 아주 작은(마이크로) 세계에서 일어나는 특수한 현상 때문이다.
거미같은 곤충들 중 일부는 '벨크로 현상'을 이용해 벽을 기어오른다. 이들의 다리 끝에는 미세한 털이 잔뜩 나 있다. 또한 평평해 보이는 벽이지만 확대해 보면 표면은 몹시 우툴두툴하다.
이 우둘투둘한 표면에 털들이 이리저리 휘감겨 얽히는 것이 벨크로 현상이다. 벽에 털이 얽혀 지탱하는 힘이 생기므로 곤충들은 수직벽에서 미끄러져 떨어지지 않는 것이다.
'벨크로'란 배낭 주머니 등에 달린 접착포를 말하는 것으로 '찍찍이'라고 부르기도 한다.
마이크로 세계에서는 또 표면장력이 대단히 커져 희한한 일들이 일어난다.
표면장력이란 같은 액체끼리 뭉쳐 있게 만드는 힘. 이것이 커지면 물도 마치 조청처럼 끈적끈적하게 느껴진다.

소금쟁이가 물에 떠 있는 것은 바로 표면장력 덕분이다.
작은 세상에서는 표면장력이 커서 물이 한데 뭉쳐 있으려고 하므로 이를 뚫고 들어갈 수 없어 떠 있는 것이다.
마찬가지 이유로 이슬 방울에 갇히면 이를 뚫고 나올 수 없다. 애니메이션 '개미'를 보면 개미가 이슬에 갇혀 빠져나오지 못하는 장면이 있는데, 그저 만화적 상상이 아니라 표면장력 때문에 마이크로 세계에서 일어나는 현상을 실제로 묘사한 것이다.

또 사람이 곤충처럼 작아지면 몸무게의 세배쯤을 들어올리는 역도 세계 신기록도 모두 갈아치우게 된다.
보통 남자 어른은 자기 몸무게 정도를 들 수 있다.
서울대 장준근(전기컴퓨터공학부) 교수는 "사람의 몸이 1백분의 1로 줄어들면 몸무게는 1백만분의 1이 되는 반면 힘은 1만분의 1로밖에 줄어들지 않아 체중의 1백배를 거뜬히 들 수 있다"고 말한다. 그러니 역도선수가 세계 신기록을 세우려면 몸무게의 3백배 되는 바벨에 도전해야 하는 것이다.

힘은 세지지만 수영하기는 대단히 힘들다. 표면장력 때문에 물을 가르고 나갈 수 없기 때문.
이런 점은 사람의 혈관 속을 돌아다니며 암세포 등을 찾아내는 마이크로로봇을 만드는 데 애로점으로 작용한다.
과학자들은 이런 문제를 극복하기 위해 박테리아가 긴꼬리를 스크루처럼 돌리며 움직이는 것에서 힌트를 얻어 박테리아의 꼬리처럼 움직이는 마이크로로봇용 추진 기관을 개발하고 있기도 하다.

Posted by SB패밀리

비주얼스튜디오2005 단축키 모음

Ctrl-K, Ctrl-H : 바로가기 설정. ( 작업목록 창에서 확인가능 )
Ctrl-K,K : 북마크 설정 / 해제
Ctrl-K,L : 북마크 모두 해제
Ctrl-K,N : 북마크 다음으로 이동
Ctrl-K,P : 북마크 이전으로 이동
Ctrl-K,C : 선택한 블럭을 전부 코멘트
Ctrl-K,U : 선택한 블럭을 전부 언코멘트(코멘트 해제)
Ctrl-F3 : 현재 단어 찾기
  -> F3 : 다음 찾기

Ctrl-F7 : 현 파일만 컴파일
            : 현 프로젝트만 빌드
Ctrl-Shift-B : 전체 프로젝트 빌드
Ctrl-F5 : 프로그램 시작

Ctrl-i : 일치하는 글자 연속적으로 찾기
Ctrl+i 를 누르면 하단에 자세히보면, "증분검색" 이라는 텍스트가 나온다.
그러면 그때 찾기 원하는 단어를 입력할때마다 일치하는 위치로 바로바로
이동한다. (좋은기능)
타이핑은 "증분검색" 이라는 텍스트옆에 커서는 없지만 입력이된다.
입력하는 문자를 수정하려면, backspace로, 그만 찾으려면 엔터.

줄넘버 보여주기 : 도구 > 옵션 > 텍스트편집기 > 모든언어 > 자동줄번호 선택하면 됨.

Ctrl+ - (대시문자), Ctrl+Shift+ -  :
현재 커서를 기억하는 Ctrl+F3(VS6에서), Ctrl+K,K(VS7에서) 와는 달리
사용자가 별도로 입력을 해주는건 없고, 단지 이전에 커서가 있었던곳으로
위 키를 누를 때마다 이동된다. (shift를 이용하면 역순)

Ctrl-F12 : 커서위치 내용의 선언으로 이동( 즉, 대략 헤더파일 프로토타입으로 이동)

F12 : 커서위치 내용의 정의로 이동( 즉, 대략 CPP파일 구현부로 이동)

Shift+Alt+F12 : 빠른기호찾기 ( 이거 찾기보다 좋더군요. 함수나 define등 아무거나에서 사용)

Alt+F12: 기호찾기. (s+a+f12 비교해볼것)

Ctrl-M, Ctrl-L : 소스파일의 함수헤더만 보이기 (구현부는 감추고) (토글 키)
Ctrl-M, Ctrl-M : 현재 커서가 위치한 함수를 접는다/편다. (토글 키)

#include "파일명" 에서 "파일명" 파일로 바로 직접이동
하고 싶을경우 -> Ctrl-Shift-G


<편집>---------------------------------------------------------------------------
Ctrl-F : 찾기 대화상자
Ctrl-H : 바꾸기 대화상자
Ctrl-Shift-F : 파일들에서 찾기 대화상자
Ctrl-Shift-H : 파일들에서 바꾸기 대화상자
Ctrl-G : 해당 줄로 가기 (별로 필요없음)
Ctrl-K,Ctrl-F : 선택된 영역 자동 인덴트 (VS6의 Alt-F8기능)
Ctrl-] :괄호({,}) 쌍 찾기 : 괄호 앞이나 뒤에서 눌러서 닫거나,
여는 괄호이동
Ctrl-Shift-Spacebar : 함수이름편집중 툴팁으로나오는 함수와매개변수설명이 안나올경우, 강제로 나오게

alt-LButton ->Drag : 원하는 영역의 블럭을 세로로 잡기

Ctrl+Shift+R (키보드 레코딩) : 
  가끔 연속된 연속기만으로는 부족한경우가 있다.
  이럴때, 몇번의 키동작으로 레코딩하여, 이것을 반복하고 싶은경우가있다.
  이때 Ctrl+Shift+R 을 누르고, 원하는 동작들을 수행후, 다시 Ctrl+Shift+R을
  눌러 종료한다.  이 중간동작을 원하는 위치에서 반복하고 싶다면 
  Ctrl+Shift+P 를 누른다.
 
Ctrl+Shift+V (히스토리 붙이기) :
  Ctrl + V와는 달리 클립보드에 있는 복사된내용을 돌아가면서 붙여준다.
  따로 복사를 해주거나 할 필요는 없다. 그냥 Ctrl+C로 계속 원하는것을
  복사하면 된다.

Ctrl-Z : 이전으로 되돌리기

Ctrl-Shift-Z : 되돌렸다, 다시 복구하기

 

 

<디버그/빌드>-------------------------------------------------------------------------
F5 : 디버그 시작
F9 :디버그 브렉포인트 설정
Ctrl-F9 : 현위치 설정된 브렉포인트 해제
Ctrl-Shift-F9 : 모든 브렉포인트 해
Shift-F5 : 디버그 빠져나오기
Ctrl-F10 : 커서가 있는곳까지 실행
Shift-F11 : 현 함수를 빠져나감.

Shift+Ctrl+B :  전체 빌드(프로젝트가 여러개있을경우 모두 빌드)
Alt+B, C : 해당 프로젝트만 정리.
Alt+B, U : 해당 프로젝트만 빌드.


 

<창관련>-------------------------------------------------------------------------

Shift+Alt+Enter : 전체 창 (토글 됨)
F4 : 속성창 보여준다.
Ctrl+Alt+X : 리소스에디터 툴박스창
Ctrl+Alt+K : 작업목록 창.


 

비주얼 스튜디오를 쓰다가 단축키를 잊어먹거나 까먹어서 잘 못쓰는 경우가 많아 정리를 해보았다. 

단축키설명
Ctrl + TabEdit하고 있는 Child Window 간의 이동
Ctrl + F4현재 Edit하고 있는 Child Window를 닫기
Ctrl + I문자열 입력 점진적으로 문자열 찾기 (Incremental Search)
Ctrl + F3현재 커서에 있는 문자열 찾기 fowared (블록 지정 안 해도 됨)
Shift + F3현재 커서에 있는 문자열 찾기 backward
F3찾은 문자열에 대한 다음 문자열로 이동 (Next Search)
Ctrl + H문자열 찾아 바꾸기 (Replace)
Ctrl + Left/Right Arrow단어 단위로 이동
Ctrl + Delete 또는 Backspace단어 단위로 삭제
Ctrl + F2현재 라인에 북마크 지정/해제
F2지정된 다음 북마크로 이동
Ctrl + Shift + F2지정된 모든 북마크를 해제
F9현재 라인에 Breakpoint를 지정/해제
Ctrl + Shift + F9현재 Edit하고 있는 소스파일에 지정된 모든 Breakpoint 해제
Ctrl + ] 또는 E'{'괄호의 짝을 찾아줌 ('{'에 커서를 놓고 눌러야 함}
Ctrl + J, K#ifdef 와 #endif의 짝을 찾아줌
Ctrl + L한 라인을 클립보드로 잘라내기 (Cut)
Ctrl + Shift + L한 라인을 삭제
Alt + Mouse블록 설정 세로로 블록 설정하기 (마우스로)
Ctrl + Shift + F8세로로 블록 설정하기 (키보드로), 취소할 때는 Esc키를 눌러야 함
블록 설정 -> Tab선택된 블록의 문자열을 일괄적으로 들여쓰기(Tab) 적용
블록 설정 -> Shift + Tab선택된 블록의 문자열을 일괄적으로 내어쓰기 적용
Alt + F8 -> Tab 또는 Shift + Tab들여쓰기 자동 조정 (Tab:들여쓰기, Shift + Tab : 내어쓰기)
Ctrl + T현재 커서에 있는 변수/함수에 대한 Type이 Tooltip 힌트 창에 나타남
Ctrl + Alt + T멤버 변수/함수 목록에 대한 팝업 창이 나타남
Ctrl + Shift + T공백/콤마/파이프/괄호 등을 기준으로 좌우 문자열을 Swap시킴
Ctrl + Shift + 8문단기호 표시/감추기 : Tab은 ^, Space는 .으로 표시
Ctrl + D툴바의 찾기 Editbox로 이동
Ctrl + Up/Down Arrow커서는 고정시키고 화면만 스크롤 시키기


디버깅에 관련된 단축키 하나 더. 
변수이름을 적어 놓고 브래이크 포인터의 위치 여부와 관계 없이 변수의 내용을 추적하는 기능이 Watch Window에 들어 있다. 디버그 모드에서 추가하고픈 변수나 등등 앞에 커서를 위치 시킨후 Shift + F9를 누르면 그냥 바로 추가된다. 


Tab 들여쓰기,자동완성
Shift+Tab 내어쓰기
블록 설정 >> Tab 선택된 블록의 문자열을 일괄적으로 들여쓰기(Tab) 적용 
블록 설정 >> Shift+Tab 선택된 블록의 문자열을 일괄적으로 내어쓰기 적용

 


F2 설정된 북마크로 이동
F2 설정된 다음 북마크로 이동
F3 다음 단어 찾기
F4 다음 에러메세지로 이동
F5 Debugging 모드로 작동
F9 현재 라인에 BreakPoint를 설정/해제
F10 Debugging 모드로 작동하되 엔트리 포인트부터 시작
F12 마우스 오른쪽 버튼 눌렀을때 go to definition 단축기

 

 

Ctrl+Up/Down Arrow 커서는 고정시키고 화면만 스크롤 시키기 
ctrl+*(맨오른쪽 부분) 위에서 F12 눌렀을때 이전화면으로 돌아가기 
Ctrl+Left/Right Arrow 단어 단위로 이동 
Ctrl+Delete 또는 Backspace 단어 단위로 삭제 
Ctrl+Tab Edit하고 있는 Child Window 간의 이동 
Ctrl+Space 인텔리센스 출력(멤버목록 팝업창)

Ctrl+F2 북마크 설정
Ctrl+F2 현재 라인에 북마크 지정/해제 
Ctrl+F3 현재 커서에 있는 단어로 찾기
Ctrl+F4 현재 Edit하고 있는 Child Window를 닫기 
Ctrl+F5 빌드 후 프로그램 실행
Ctrl+F10 Debugging 모드로 작동하되 커서의 위치까지

Ctrl+] 괄호 짝 찾기
Ctrl+] 또는 E {괄호의 짝을 찾아줌 ({에 커서를 놓고 눌러야 함} 
Ctrl+A 전체 선택
Ctrl+B 브레이크 포인트 관리 메뉴
Ctrl+D 툴바의 찾기 Editbox로 이동 
Ctrl+E 현재 괄호랑 맞는 괄호를 찾아준다.
Ctrl+F 현재 커서에 있는 단어로 찾기
Ctrl+G 라인 바로 가기(GoTo)
Ctrl+H 문자열 찾아 바꾸기 (Replace)
Ctrl+I >> 문자열 입력 점진적으로 문자열 찾기 (Incremental Search) 
Ctrl+J, K #ifdef 와 #endif의 짝을 찾아줌 
Ctrl+L 한 라인을 클낳링藥?잘라내기 (Cut) 
Ctrl+T 현재 커서에 있는 단어의 툴팁정보 보기
Ctrl+U 모두 소문자로
Ctrl+W 클래스 위자드 (MFC 코딩시에만 사용)

Ctrl+Shite+Space 현재 가르키고 있는 함수의 매개변수 보기

Ctrl+Shift+F2 지정된 모든 북마크를 해제 
Ctrl+Shift+F3 이전 단어 찾기
Ctrl+Shift+F8 열 블럭(키보드로), 취소할 때는 Esc키를 눌러야 함 
Ctrl+Shift+F9 현재 Edit하고 있는 소스파일에 지정된 모든 Breakpoint 해제

Ctrl+Shift+8 문단기호 표시/감추기 : Tab은 ^, Space는 .으로 표시

Ctrl+Shift+L 한 라인을 삭제 
Ctrl+Shift+P 매크로 실행
Ctrl+Shift+R 매크로 기록
Ctrl+Shift+T 공백/콤마/파이프/괄호 등을 기준으로 좌우 문자열을 Swap시킴 
Ctrl+Shift+U 모두 대문자로

Ctrl+Alt+T 멤버 변수/함수 목록에 대한 팝업 창이 나타남

 

 

Alt+MouseMove 컬럼 Selection

Alt+B -> E Clean
Alt+B -> R Rebuild All
Alt+E+I 프로젝트 내의 모든 파일에서 찾기
Alt+G 그 함수가 선언된 파일이나 위치로 고!
Alt+O 헤더와 소스파일을 번갈아 보여줌

Alt+0 WorkSpace 윈도우 
Alt+2 output 윈도우

Alt+F7 Project Setting
Alt+F8 들여쓰기 자동 조정
Alt+F9 브레이크포인트 관리

Posted by SB패밀리

INF파일 내용 포멧팅 혹은 구조에 대해 설명하는 문서이다

 


INFFileArchitecture.doc


 


아래는 관련 내용
출처 : http://zoomout.egloos.com/949444


ActiveX Installer 만들기

ActiveX 를 만들다보면, Cab파일을 만들어서 배포하는데, 잘 안되는경우가 있습니다.

시스템을 리부팅해야 한다는둥, 이전버젼이 계속 안지워지고, 매번 계속 다운을 받는다든가

하는 상황이 발생할때가 있습니다.

물론 inf랑 cab파일 다 잘만들었을때 얘기죠

그래서 저는 , 강제로, 이전버젼의 aCtiveX를 강제로 삭제하고, 새로운버젼을 시스템 디렉토리에

복사한다음, regsvr32까지 해주는 프로그램을 만들어서 씁니다.

cab파일을 받았을때 AcitveX를 설치하고 등록하고 업데이트 하는 일을 명시적으로 직접

프로그램에서 하는거죠 .

 

Required Skill

1. ActiveX ( ???.ocx) 파일을 실행파일에 포함시키는 방법

2. 파일을 regsvr32 사용해서 실제로 등록 하는 방법 ( 로컬컴퓨터의 regsvr32 를 이용하는것이 아니라

실제 구현한 함수를 사용합니다. )

References

1. Q/A 보드 184574 번글, 이승훈님의 '바이너리 리소스'라는 제목의 글을 참조하십시오 .

2. Tip And Trick , 2039번글, 하형욱님(-_-)의 'Regsvr Function'이라는 제목의 글을 참조하십시오.


Logique

1. OCX를 resource에 넣어서, exe파일에 같이 들어가게 합니다.

2. exe가 실행되면 , resource에 있는 ocx 파일을 로컬컴퓨터의 System Directory에 복사합니다.

 ( modeCreate 해서 이전파일을 지워주시구요 )

3. regsvr 함수를 사용하여 복사한 ocx를 등록해줍니다.


Another Information

CAB파일을 만들때는 다음과 같이 INF 파일을 만들어줍니다.


[Version]
signature="$CHICAGO$"
AdvancedINF=2.0

[Setup Hooks]
InstallHook=InstallHook

[InstallHook]
run=%EXTRACT_DIR%컴파일해서만든프로그램이름.exe -remote


웹페이지에 넣을때는 OCX 를 기준으로 해서 하던 것 처럼 해주시구요.

cab파일 만들때는 . exe랑 inf 만 해주면 되겠지요. , OCX에 대한 정보가 없으니 inf가 정말 간단해졌습니다.

 

그럼 로컬에 있는 버젼을 체크해서 버젼이 낮으면 

서버에 있는 cab파일을 다운받고 ( 여기까지는 자동이죠? )

inf 있는 내용대로 설치를 시작합니다.

위와 같이 적어져먼 InstallHook에 명시된 프로그램이 실행되므로,

우리가 프로그래밍한대로 , 수동으로 ocx복사하고, 등록까지 되겠죠. 

 

장점 :   설치를 프로그램에서 명시적으로 하므로 , 설치때 특별한 일을 해줄수 있습니다.

            (만든 사람이름을 따로 보여준다든가. .등등의. )

단점 : cab파일의 크기가 커집니다. 프로그램이 60k 가 좀 넘으므로, Ocx 를 패키징 하는것보다

         몇십 K 정도 더 커지겠죠.

 

바이너리 리소스...
1. 자신을 오픈하는 방법
CreateFile()에 FILE_SHARE_READ 옵션을 주시면 가능할 것도 같은데 해보지 않아서 장담
할 수 없군요.

2. 실행 파일에 합치는 방법

프로그램의 리소스에 바이너리 데이터를 추가할 수 있습니다.
컴파일이 될 때 합쳐집니다.


(프로젝트명).rc2에 아래와 같이 추가합니다.

/////////////////////////////////////////////////////////////////////////////
// Add manually edited resources here...
IDR_DATA1 DATA Data.zip

/////////////////////////////////////////////////////////////////////////////

IDR_DATA1은 리소스 데이터를 오픈할 때 쓸 이름입니다.
DATA는 리소스의 종류입니다.
Data.zip은 실제 파일명입니다.
프로젝트의 소스코드가 있는 폴더에 파일이 존재해야 에러없이 컴파일됩니다.
(즉, 컴파일 될 때 실행 파일 안으로 합쳐집니다.)

아래의 함수를 참고해서 사용하시기 바랍니다.

BOOL CTestDlg::SaveResource(LPTSTR lpName, LPTSTR lpPathName)
{
   BOOL bRtn; 
   LPTSTR lpRes; 
   HRSRC hResInfo;
   HANDLE hRes; 
   DWORD dwSize;
   
   // Find the wave resource.
   hResInfo = FindResource (NULL, lpName, "DATA"); 
   
   if (hResInfo == NULL) 
       return FALSE; 
   
   // Load the wave resource. 
   hRes = LoadResource (NULL, hResInfo);
   
   if (hRes == NULL) 
       return FALSE; 
   
   // Get size of resource.
   dwSize = SizeofResource(NULL, hResInfo);

   // Lock the wave resource and play it. 
   lpRes = (LPTSTR)LockResource (hRes);

   
   if (lpRes != NULL) 
        { // 실제 파일로 저장하는 부분
       CFile file;
       file.Open(lpPathName, CFile::modeCreate|CFile::modeWrite);
       file.Write(lpRes, dwSize);
       file.Close();
        } 
   else 
       bRtn = 0; 
   
   return bRtn; 
}


그럼...


Regsvr Function

regsvr32 소스가 있길래 거기서 함수를 간추려 올립니다.
파라메터에는 등록할 라이브러리 경로를 적어주시면 되겠죠..
등록해지 할때는 중간의 _szDllRegSvr 값을 _szDllUnregSvr로 교체 해 주심됩니다.

#include 
#include 
#include 
#include

#define FAIL_ARGS   1
#define FAIL_OLE    2
#define FAIL_LOAD   3
#define FAIL_ENTRY  4
#define FAIL_REG    5

int regLib (const char *LibraryName)
{    
const char* _szDllRegSvr = "DllRegisterServer";
const char* _szDllUnregSvr = "DllUnregisterServer";

int iReturn = 0;
   HRESULT (STDAPICALLTYPE * lpDllEntryPoint)(void);

   BOOL bVisualC = FALSE;
   BOOL bUnregister = FALSE;
   LPCSTR pszDllEntryPoint = _szDllRegSvr;
   LPCSTR pszDllName = LibraryName;

   if (FAILED(OleInitialize(NULL))) {
       return FAIL_OLE;
   }

   SetErrorMode(SEM_FAILCRITICALERRORS); 

       HINSTANCE hLib = LoadLibraryEx(pszDllName, NULL, 
LOAD_WITH_ALTERED_SEARCH_PATH);

       if (hLib < (HINSTANCE)HINSTANCE_ERROR) {
           TCHAR szError[12];
           wsprintf(szError, _T("0x%08lx"), GetLastError());

           iReturn = FAIL_LOAD;
           goto CleanupOle;
       }

       (FARPROC&)lpDllEntryPoint = GetProcAddress(hLib, 
pszDllEntryPoint);

       if (lpDllEntryPoint == NULL) {
           TCHAR szExt[_MAX_EXT];
           _tsplitpath(pszDllName, NULL, NULL, NULL, szExt);

           if ((_stricmp(szExt, ".dll") != 0) && (_stricmp
(szExt, ".ocx") != 0))
           {
       
           }
           else
           {
               
           }

           iReturn = FAIL_ENTRY;
           goto CleanupLibrary;
       }

       
       if (FAILED((*lpDllEntryPoint)())) {
           iReturn = FAIL_REG;
           goto CleanupLibrary;
       }

CleanupLibrary:
       FreeLibrary(hLib);
   
CleanupOle:
   OleUninitialize();

   return iReturn;
}

INFFileArchitecture.doc


Posted by SB패밀리

윈도우즈 예약작업.



윈도우즈를 사용하다 보면 백그라운드로 실행중이 무수한 프로그램들이 있다.

 이 프로그램들은 시작프로그램을 이용하거나 서비스 프로그램을 이용하거나 예약작업을 이용한다.


여기에서 예약 작업을 이용하는 방법인 schtasks를 사용하는 방법에 대하여 간단히 알아보자.


프로그램 개발에 유용하게 사용가능하다.

예약작업을 생성하는 예는 여기에서도 볼 수 있다. http://sbrich.tistory.com/1372





1 예약작업 등록


SCHTASKS /Create [/S system [/U username [/P password]]] [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day] [/I idletime] /TN taskname /TR taskrun [/ST starttime] [/M months] [/SD startdate] [/ED enddate]


설명:

로컬 또는 원격 시스템에서 관리자가 예약된 작업을 만들 수 있도록 합니다. 


매개 변수 목록:

/S system 연결할 원격 시스템을 지정합니다. 생략되면 기본값으로 로컬시스템이 시스템 매개 변수로 지정됩니다.


/U username 명령을 실행할 사용자 컨텍스트를 지정합니다.


/P password 제공된 사용자 컨텍스트에 대한 암호를 지정합니다.


/RU username 작업을 실행할 사용자 계정(사용자 컨텍스트)을 지정합니다.

시스템 계정에 유효한 값: "", "NT AUTHORITY\SYSTEM" 또는 "SYSTEM"입니다.


/RP password 사용자에 대한 암호를 지정합니다.

암호를 묻도록 하려면 값이 "*" 또는 비어 있어야 합니다.

암호가 시스템 계정에는 해당되지 않습니다.


/SC schedule 일정 빈도를 지정합니다.

유효한 일정 유형: MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE.


/MO modifier 일정이 반복되는 것을 자세하게 제어할 수 있도록 일정 유형을 구체화합니다. 유효한 값은 아래 

"수정자" 구역에 나열되어 있습니다.


/D days 작업을 실행할 요일을 지정합니다.

유효한 값: MON, TUE, WED, THU, FRI, SAT, SUN 및 MONTHLY 일정에는 1 - 31(달의 날짜 수).


/M months 달을 지정합니다.

달의 첫 번째 날이 기본값입니다.

유효한 값: JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC.


/I idletime 예약된 ONIDLE 작업을 실행하기 전에 기다리는 유휴 상태 시간을 지정합니다.

유효한 범위: 1 - 999분.


/TN TaskName 이 예약된 작업을 식별해 주는 고유한 이름입니다.


/TR taskrun 이 예약된 작업에서 실행할 경로 및 파일이름을 지정합니다.

예: 

C:\windows\system32\calc.exe


/ST starttime 작업을 실행할 시간을 지정합니다.

시간 형식은 HH:MM:SS(24시간 형식)입니다. 예를 들어, 오후 2:30은 14:30:00입니다.


/SD startdate 작업을 실행할 첫 번째 날짜를 지정합니다. 형식은 "yyyy/mm/dd"입니다.


/ED enddate 작업을 실행할 마지막 날짜를 지정합니다. 형식은 "yyyy/mm/dd"입니다.


/? 이 도움말/사용법을 표시합니다.


수정자: 일정 유형에 따라 /MO 스위치에 대해 유효한 값:

MINUTE: 1 - 1439분.

HOURLY: 1 - 23시간.

DAILY: 1 - 365일.

WEEKLY: 1 - 52주.

ONCE: 수정자 없음.

ONSTART: 수정자 없음.

ONLOGON: 수정자 없음.

ONIDLE: 수정자 없음.

MONTHLY: 1 - 12, 또는 

FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.


예:

SCHTASKS /Create /S system /U user /P password /RU runasuser 

/RP runaspassword /SC HOURLY /TN rtest1 /TR notepad 

SCHTASKS /Create /S system /U domain\user /P password /SC 

MINUTE

/MO 5 /TN rtest2 /TR calc.exe /ST 12:00:00 

/SD 2001/12/30 /ED 2001/12/30 /RU runasuser /RP 

SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN game 

/TR c:\windows\system32\freecell

SCHTASKS /Create /S system /U user /P password /RU runasuser

/RP runaspassword /SC WEEKLY /TN test1 /TR 

notepad.exe

SCHTASKS /Create /S system /U domain\user /P password /SC 

MINUTE

/MO 5 /TN test2 /TR c:\windows\system32\notepad.exe 

/ST 18:30:00 /RU runasuser /RP *

SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN cell 

/TR c:\windows\system32\freecell /RU runasuser




2 예약작업 제거


SCHTASKS /Delete [/S system [/U username [/P password]]] /TN TaskName [/F]


설명:

하나 이상의 예약된 작업을 삭제합니다.


매개 변수 목록:

/S system 연결할 원격 시스템을 지정합니다.


/U username 명령을 실행할 사용자 컨텍스트를 지정합니다.


/P password 제공된 사용자 컨텍스트에 대한 암호를 지정합니다.


/TN TaskName 삭제할 예약된 작업의 이름을 지정합니다. "*" 와일드카드를 사용하여 모든 작업을 삭제할 수 있습니다.


/F (강제) 작업을 삭제하며 지정한 작업이 현재 실행하고 있는 경우 경고를 표시하지 않도록 합니다.


/? 이 도움말/사용법을 표시합니다.


예:

SCHTASKS /Delete /TN * /F

SCHTASKS /Delete /TN "Backup and Restore"

SCHTASKS /Delete /S system /U user /P password /TN "Start Restore"

SCHTASKS /Delete /S system /U user /P password /TN "Start Backup" /F




3 예약작업 조회


SCHTAKS /Query [/S system [/U username [/P password]]] [/FO format] [/NH] [/V] [/?]


설명: 

관리자가 로컬 또는 원격 시스템의 예약된 작업을 표시할 수 있도록 합니다.


매개 변수 목록:

/S system 연결할 원격 시스템을 지정합니다.


/U username 명령을 실행할 사용자 컨텍스트를 지정합니다.


/P [password] 제공된 사용자 컨텍스트에 대한 암호를 지정합니다. 생략된 경우 입력하도록 묻습니다.


/FO format  출력이 표시될 형식을 지정합니다. 

유효한 값 : TABLE, LIST, CSV.


/NH  출력에 열 머리글이 표시되지 않도록 지정합니다. TABLE 및 CSV 형식에만 유효합니다.


/V   자세한 작업 출력을 표시합니다.


/?  이 도움말을 표시합니다.



예:

SCHTASKS /Query 

SCHTASKS /Query /?

SCHTASKS /Query /S system /U user /P password

SCHTASKS /Query /FO LIST /V /S system /U user /P password

SCHTASKS /Query /FO TABLE /NH /V




4 예약작업 실행 


예약작업 실행은 이미 예약된 작업에 대하여 명령을 실행하는 것으로 해당 작업명을 알아야 한다.


schtasks의 run을 통한 예약된 작업 실행 및 테스트

schtasks /run /tn TaskName [/s computer [/u [domain\]user /p password]]




5. 예약작업 종료


예약작업이 실행중인 경우 이를 종료하는 명령어 이다.


SCHTASKS /End [/S system [/U username [/P password]]] /TN TaskName


설명:

실행하고 있는 예약된 작업을 중지합니다.


매개 변수 목록:

/S system 연결할 원격 시스템을 지정합니다.



/U username 명령을 실행할 사용자 컨텍스트를

지정합니다.


/P password 제공된 사용자 컨텍스트에 대한 암호를 지정합니다.


/TN taskname 종료될 예약된 작업을 지정합니다.


/? 이 도움말/사용법을 표시합니다.


예:

SCHTASKS /End /? 

SCHTASKS /End /TN "Start Backup"

SCHTASKS /End /S system /U user /P password /TN "Backup and Restore"




Posted by SB패밀리

선크림을 바르면 왜 피부가 타지 않을까요?

  
우리가 흔희 '선크림'이라고 부르는 것은 자외선 차단제로 자외선 A와 B를 차단하는 역할을 하는데요, 제2차세계대전 당시 군인들을 위해 개발되었다고 합니다. 
자외선은 파장의 길이에 따라 A,B,C,세 종류가 있어요. 

자외선 C는 파장이 200~290nm로 가장 짧고, 생명체에 치명적인 해를 입히지만 다행히 지궁서는 오존층에서 모두 흡수하지요. 자외선 B는 290~320nm의 파장을 갖고 있으며 피부의 모세혈관층까지 침투해서 노출된 뒤 하루 정도가 지나면 피부를 붉게 만들거나 화상을 입히기도 하지요. 이때 멜라닌 색소 세포를 자극해서 멜라닌의 양이 늘어나기 때문에 결국 피부가 검게 돼요. 320~400nm의 자외선 A도 마찬가지로 멜라닌의 색소를 증가시키는데요, 진피층까지 침투해서 노출된 뒤 바로 피부를 검게 만들어요. 결국 피부를 자외선에 오래 노출시키게 되면, 피부 조직이 상하게 되거나 노화가 빨라지고, 염증이나 피부암을 일으킬 수도 있어요. 




그렇기 때문에 자외선 차단제는 자외선 A나 자외선B를 차단하는 역할을 하는데요, 그 방법에 따라 화학적 차단제와 물리적 차단제로 나눌 수 있어요. 화학적 차단제는 자외선을 흡수해서 무해한 성분으로 바꾸고, 물리적 차단제는 벽을 만들어 자외선을 반사시키는 거랍니다. 

자외선 차단제를 보면 'SPF'라는 표시가 되어 있는데요, 이것은 '자외선차단지수'를 나타내는 것으로 숫자가 높을수록 자외선을 차단하는 효과가 높아요. 보통 15~25 정도 사이면 적당하다고 해요. 자외선 차단 지수가 너무 높은 경우에는 피부에 지나친 자극을 줄 수도 있거든요. 
요즘은 오존층이 많이 파괴되었기 때문에, 너무 오랫동안 햇빛에 나가는 것을 피하고 자외선 차단제를 발라 주는 것이 좋답니다.

Posted by SB패밀리

예전에는 이런 이벤트도 있었는데... 요즘은 더 찾기가 힘든것 같다.

경쟁이 치열할 수록 더 생겨야 할텐데 말이다.






애플코리아, 단 하루 세일 실시…'최대 13만원'



애플이 블랙프라이데이 행사를 열고, 14일 단 하루동안 제품을 할인해 판매한다.



애플코리아는 이날 애플스토어(store.apple.com/kr)를 통해 그동안 베일에 싸여 있던 행사 품목과 할인 가격을 공개했다. 



i맥(iMac), 맥북프로, 맥북에어(13인치) -  최대 13만2000원 할인


아이팟 터치 - 5만5000원 할인


아이팟나노 - 3만2000원 할인



아이패드 - 5만2000원 할인



'와이파이(Wi-Fi) 모델'과 '3G+와이파이 모델' 일괄 5만2000원이 할인.


와이파이(Wi-Fi) 모델


16GB(64만→58만8000원)


32GB(77만→71만8000원)


64GB(89만→83만8000원)



3세대(3G) 모델


16GB(79만→73만8000원)


32GB(92만→86만8000원)


64GB(103만9000→98만7000원)



다양한 디지털기기와 액세서리도 기존 가격보다 저렴하게 판매.


애플의 국내 할인 행사는 최초임.

Posted by SB패밀리

국내 브라우저별 점유율 : 아직 IE가 85% 이상의 점유율을 보여주고 있다.

Source: StatCounter Global Stats - Browser Market Share



Source: StatCounter Global Stats - Browser Version Market Share



Source: StatCounter Global Stats - Browser Market Share



Source: StatCounter Global Stats - Browser Version Market Share


2010년12월과 2012년12월




Posted by SB패밀리

유튜브에서 황수관 박사의 강의를 쉽게 볼 수 있도록 아래에 링크를 모았습니다.

황수관 박사님의 강의를 듣고 보고 나면 내가 왜 웃어야 하는지 의미를 찾을 수 있습니다.


황금알 황수관

http://www.youtube.com/results?search_query=%ED%99%A9%EA%B8%88%EC%95%8C+%ED%99%A9%EC%88%98%EA%B4%80&oq=%ED%99%A9%EA%B8%88%EC%95%8C+%ED%99%A9%EC%88%98%EA%B4%80&gs_l=youtube.3..0.10487.18511.0.18735.34.26.4.2.2.10.204.3466.7j18j1.26.0...0.0...1ac.1j4.GN7T681JATs


아래는 다음팟


http://tvpot.daum.net/search/#service=total&q=%ED%99%A9%EA%B8%88%EC%95%8C%20%ED%99%A9%EC%88%98%EA%B4%80




Posted by SB패밀리



warning LNK4099: 'vc90.pdb' PDB를 '???.lib' 또는 '???\Release\vc90.pdb'에서 찾을 수 없습니다. 디버그 정보가 없는 것처럼 개체를 링크합니다.



정적 라이브러리 프로젝트를 컴파일한 후 다른 컴퓨터에서 가져다 쓸때 위의 warning이 발생한다.


디버깅 정보가 pdb파일에 포함되는데 이것을 컴파일시 출력파일과 동일한 폴더에 생성되는 lib 파일에

포함시키는 방법으로 기능엔 문제 없으나 없애기 위한 방법은 다음과 같다.


1. lib에 디버깅 정보를 포함하여 컴파일 한다.

디버그 정보를 lib에 포함하여 컴파일 하도록 한다. (lib 파일이 커짐)


1) C/C++ > 일반 > 디버깅 정보 형식 > C7 호환(/Z7)




2) C/C++ > 코드 생성 -> 최소 다시 빌드 가능 > 아니오




3) C/C++ >명령줄 > /Ylsymbol 입력




정적 라이브러리 사용시 lib에 대한 pdb가 vc90.pdb에 생성되는데

디버그 모드로 테스트시 lib 내부에 디버깅 정보를 포함시키는 것이 편리하며

다음 설정 변경으로 lib에 디버깅 정보를 포함시키도록 한다. (lib 파일이 커짐)


Posted by SB패밀리

쌍용차 2008년과 2009년 파업과 인력,구조조정이 있었다.

그 당시 MB정부의 방식대로 강압적으로 노조탄압이 이뤄진 뒤..

많은 사람들이 희망퇴직, 정리해고, 무급휴직 등으로 경영정상화에 나섰고

인도의 자동차 회사인 마힌드라 마힌드라가 인수를 했다.


쌍용차야 정치적인 이해관계 때문에 사태가 악화되었다고 밖에 생각이 들지 않는다.

지리하게 끌어오던 정치문제로 쌍용차 노사문제가 해결되지 못하고 있다가 정권이 바뀌면

가능성을 볼 수 있을 꺼라 생각했었는데

결국, 조금의 진전은 있었다.

2008년 8월 2646명에 대한 인력 구조조정시 무급휴직자 455명 전원의 복직을 합의했다.

쌍용차의 무급휴직자 일괄 복귀는 정치권의 국정조사 회피 수단으로 활용되는 것이라는 

해석도 있지만 맞는 것 같다.


그리고 2011년에 쌍용자동차의 대주주가 된 마힌드라 마힌드라의 대규모 투자 소식도 한 몫을 한 것 같다.

약 9억달러를 5년내 투자해서 신차 3종과 엔진 6종 개발을 이뤄낼 계획이라고 한다.


또, 무급휴직자 복귀를 계기로 해고자, 희망퇴직자 2000여명 복직에 대한 논의가 있을 꺼라고 하는데

이 일 또한 정치관계와 무관하지 않다고 보기 때문에 정치 이해관계에 따라 진행될 꺼라는 생각이 든다.




Posted by SB패밀리



아이러니한 역계급 지지 투표

국민 분열 갈등 조장이 성공한 것으로 보이나

앞으로 이러한 국민들을 어떻게 화합시킬지....의문이 된다.





<위키트리 출처>

직업별 지지율


  *농림 임업 어민: 朴 55.2-文 37.1%
  *자영업: 朴 50.2-文 37.1%
  *화이트칼라: 朴 32.7-文 53.5%
  *블루칼라: 朴 43.1-文 48.1%
  *가정주부: 朴 55.6-文 32.3%
  *학생: 朴 27.9%-文 57.7%
  *무직: 朴 60.4-文 19.3%
  
  월(月) 소득별 지지율
  
  *200만 원 이하: 朴 56.1-文 27.6%
  *201만~300만 원: 朴 40.1%-文 47.6%
  *301만~400만 원: 朴 43.5-文 47.3%
  *401~500만 원: 朴 39.4-文 50.6%
  *501만 원 이상: 朴 40.8-文 46.4%
  
  학력별 지지율
  
  *중졸 이하: 朴 63.9-文 23.5%
  *고졸 이하: 朴 52.8-文 33.1%
  *대재(大在) 이상: 朴 37.4-文 49.6%



더불어... 이러한 이해되지 않는 투표에 대한 
그동안의 노력을 함께보자.
아래 링크를 통하여....

http://blog.naver.com/seok118/130154584605




Posted by SB패밀리

[자동차/과학] 터널에 전등은 왜 주황색일까 ?


터널에 전등은 왜 주황색일까? (흰색이 아니고???) 


자동차를 타고 가다 보면 주황색 등이 켜진 터널을 지나가 봤을 것입니다. 왜 하필이면 주황색 전등을 쓰는 것일까요? 흰색도 아니고..?

사실 어두운 터널을 통과할 때는 사고가 나기 쉽습니다. 사고를 줄이기 위해서는 차들을 잘 볼 수 있어야겠지요. 사물을 잘 구별하기에는 단색광을 쓰는 것이 낫다고 합니다. 그럼 왜 단색광 중에서도 주황색일까요?

주황색은 붉은 계통입니다. 빛에 있어서 붉은 계통으로 갈수록 파장이 길어집니다. 그리고 파장이 길수록 산란이 덜 일어나게 됩니다. 즉, 붉은 계통의 광선이 멀리 갈 수 있다는 말입니다. 저녁놀이 붉은 이유도 붉은 광선이 멀리까지 도달해서 우리 눈에 들어오기 때문이죠. 
주황색 등을 쓰게 되면 터널에 안개가 끼게 되더라도 빛의 산란이 덜 일어나므로 교통사고도 줄어드는 것입니다. 그렇다면 파장이 더 긴 붉은 색은 왜 안 쓸까요? 붉은 색 전등을 쓰면 너무 어두워서 또 문제가 되기 때문입니다.

자동차 중에도 보면 노란색 전등이 있는 차가 있습니다. (안개가 끼었을 때 자주 쓰는...) 이 전등이 노란색인 것도 같은 이유로 설명할 수 있습니다. 그리고 자동차의 깜빡이등이 주황색인 것도 비슷한 이유겠죠? 그런데 어떤 자동차에는 깜빡이등을 녹색으로 다는 경우가 있더군요. 녹색의 경우에는 파장이 아주 짧은 쪽에 속하기 때문에 위험한 상황에 처할 수 있습니다. 예를 들면 안개가 자욱한 곳에서 그 차가 녹색 깜빡이를 켜고 차선을 변경하다가 ...

꽈당! 하는 경우가 있을 수 있죠. 안개가 끼면 빛의 산란이 잘 일어나는데 녹색이니 더욱 산란이 잘 일어나서 다른 운전자가 녹색 등을 못 볼 수가 있는 것입니다 .



그런데... 요즘은 고속도록 터널에 주황색이 아닌 흰색, 녹색, 파란색 등 다양한 색의 전등빛을 사용합니다.

개인적으로는 주황색보다는 녹색이 눈이 가장 편하더라구요...

이론적으로 주황색이 자동차 운전에 도움이 될지 모르겠지만 말이에요.


Posted by SB패밀리