유돌이

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2011. 7. 9. 22:08 핫이슈

그것이알고싶다 포항괴담,마늘밭 110억,그것이 알고싶다 결방,마산어린이손가락절단,토끼 마스카라 그것이 알고싶다,동성애 그것이 알고싶다,화장실의 삼남매,십자가에못박혀죽은사람


9일 방송되는 SBS '그것이 알고싶다'에서는 지난 4월 전국을 떠들썩하게 했던 전북 김제 마늘밭 110억원 사건의 숨겨진 이야기가 공개된다.


전북 김제의 한적한 시골마을, 한 포크레인 기사가 7억원을 훔친 도둑으로 몰려 억울하다며 경찰을 찾았다. 수사에 착수한 경찰은 땅 속에 어마어마한 규모의 돈뭉치가 있음을 발견했고 110억원을 찾아냈다.

 
땅 속에 묻은 110억원은 모두 불법 인터넷 도박 사이트의 운영자가 은닉한 도박 수익금이었다. 소문으로만 떠돌던 인터넷 도박판의 검은 돈이 얼굴을 드러낸 것.

110억원을 은닉한 인터넷 도박사이트 운영자는 이모씨 형제로 이들이 이끄는 조직은 지난 2009년 경찰에 적발됐다. 당시 조직의 실제 운영 및 관리를 담당했던 동생은 실형을 살고 있고 조직의 우두머리이자 전체 자금을 총괄했던 형은 수배 중인 상황이다.


인터넷 도박 업계 사람들은 이씨 형제를 신화적 존재, 범접할 수 없는 거물로 경외의 대상처럼 생각하고 있었다.


이씨형제의 고향 마을 사람들은 이들을 구멍가게를 하는 홀어머니와 함께 살다가 일찍 상경해 자수성가한 성실한 사람들로 알고 있었다. 실제로 이들은 마을회관에 노인들을 위한 물품을 기증하고 공장을 운영해 마을 사람들을 위해 쓰는 등 오히려 선행을 베풀고 있었다. 철저한 이중적 생활을 해오고 있었던 것이다.


수배돼 도피 생활 중인 형은 성형수술로 얼굴을 바꾸고 여권을 새로 발급바다 중국에서 살고 있었다. 중국 청도에서 인터넷 도박 사이트를 운영할 뿐 아니라 큰 식당을 차리고 성공한 사업가 행세를 하며 교민 사회에서도 건드리기 힘든 존재가 됐다는 것이다.


이들이 여전히 이름을 바꿔 인터넷 도박판을 운영하고 있으며, 드러난 110억원은 빙산의 일각에 불과한 자금 규모라는 소문이 여전히 파다하게 퍼져 있다.


수사기관과 불법 도박 업계 관계자들은 이구동성으로 불법 도박 사이트의 실체와 자금 규모를 정확히 드러내는 것은 불가능에 가깝다고 입을 모은다. 이들이 가지고 있는 검은 돈은 도대체 어디로부터 왔으며, 어디로 흘러가고 있는가?


도박에 중독된 사람들이 이루어질 수 없는 한탕을 노리며 계속 도박에 빠져들고, 이 심리를 노린 운영자, 환전상, 기타 도박업자들이 결국 모든 판돈을 가져가는 게 인터넷 도박 업계의 구조이다.


결국 도박에 중독돼 또는 인생역전을 노리고 인터넷 도박에 뛰어든 사람들은 결코 이길 수 없는 게임 속에서 신기루를 쫓다가 폐인이 되고 있었다.

posted by 유돌이
2011. 7. 9. 21:58 핫이슈

일제고사를 거부한 교사들을 인터뷰했다는 이유로 MBC 라디오 <박혜진이 만난 사람>을 중징계한 방송통신심의위원회의 결정에 대한 비판이 거세다.

일제고사를 거부한 교사에 대한 징계가 부당하다는 대법원 판결까지 나왔음에도 이들을 인터뷰를 방송했다는 ‘박혜진…’을 징계한 방통심의위의 인식 수준이 5공 때를 벗어나지 못하고 있다는 지적이다.

방통심의위는 지난 7일 MBC 라디오 <손에 잡히는 경제 홍기빈입니다>와 KBS <박경철의 경제포커스>가 공정성과 객관성을 위반했다며 ‘권고’를 결정했다. 특히 일제고사를 거부해 해임됐다가 복직한 교사들을 출연시킨 MBC <박혜진이 만난 사람>에 대해서는 ‘일방의 의견을 전달해 공정성 규정을 위반했다’는 이유로 중징계에 해당하는 ‘주의’를 결정했다.

이를 두고 한국PD연합회는 8일 성명을 내어 “인터뷰 프로그램에서 출연자가 말하는 내용을 그대로 방송했다고 문제 삼은 것”이라며 “상식 밖의 징계에 실소를 금할 수 없다”고 비판했다.

박혜진 아나운서,박혜진 아나운서 남편,박혜진 결혼,박혜진 노출,박혜진이 만난사람,박혜진 남편

PD연합회는 “그렇다면 과연 인터뷰 프로그램에서 누구를 인터뷰할 수 있단 말인가”라며 “‘박혜진이 만난 사람’이 ‘일제고사’를 강행하고 있는 교과부의 인사를 인터뷰 한다면 방심위는 이 또한 ‘주의’라는 중징계를 줄 것인가? 방심위의 이번 결정은 방송에서 그 누구도 인터뷰를 하지 말라는 소리와 같다”고 지적했다. “명백히 PD의 제작 자율성을 침해한 것”이라는 얘기다.

이들은 현업의 방송사 PD들이 “사내에서는 낙하산으로 떨어진 사장이 검열을 하고, 이것도 안 되면 방심위가 완장을 차고 사후 검열을 한다, 5공 시절로 돌아갔다”고 말한다고 전했다. PD연합회는 “방송사의 심의 기구가 방송의 공적 기능을 외면한 채, 정치권력과 자본권력을 비호하고, PD들의 자율성을 심각하게 침해하는 것을 묵과하지 않을 것”이라고 목소리를 높였다.

참여연대도 논평에서 “방통심의위가 방송심의 규정상의 객관성 조항을 얼마나 자의적이고 기계적으로 적용하는지 보여준 것”이라며 “기계론적 사고 방식을 그대로 드러낸 것”이라고 꼬집었다.

언론인권센터은 “당사자의 양심의 자유와 언론의 자유를 정면으로 부정하는 것”이라고 비판했고, 민주언론시민연합도 이날 성명을 내어 “방통심의위의 ‘공정성’ 기준을 따르자면 인터뷰 프로그램인 ‘박혜진이 만난 사람’은 사회 현안에 관련된 인물은 섭외하지 않거나, 생각이 다른 사람들을 모두 불러내 ‘토론프로그램’을 만들어야 할 판”고 개탄했다.

청취자인 전아무개는 MBC <박혜진…> 홈페이지 게시판에 남긴 글에서 “방통위의 '주의' 결정을 비판합니다”라며 “대법원에서 부당해고 판결으로 법적 정리된 사항에 대한 방통위 주의 결정은 대법원 판결을 무시한 입장입니다. 법치국가에서 대법원의 판결을 청취자에게 알려주는 것은 당연한 일”이라고 비판했다. 그는 아울러 제작진과 박 아나운서에게 “힘내시라”고 격려했다.

무엇보다 사회적 소수자의 목소리를 적극 반영해야 한다는 방송법 조항이 있음에도 공정성만을 잣대로 삼은 것이야말로 일방적이고 편파적인 횡포라는 지적이다. “앞으로 누구도 사회적 소수의 의견에 대해 방송하지 말라고 권고한 것 아닌가”(언론인권센터)라는 물음이 나오는 이유다.

이와 함께 방통심의위가 MBC 라디오 <손에 잡히는 경제 홍기빈입니다>와 KBS <박경철의 경제포커스>에 공정성과 객관성을 위반했다며 ‘권고’를 결정한 데 대해서도 성토의 목소리가 많다.

 

posted by 유돌이
2011. 7. 9. 21:53 핫이슈

민효린 담배,써니 본드녀,민효린 성형전후,민효린 노출 사고, 민효린 가슴성형,민효린 노출

민효린 담배,써니 본드녀,민효린 성형전후,민효린 노출 사고, 민효린 가슴성형,민효린 노출

민효린이 자신의 명품코에 대한 자부심을 드러냈다.

7월9일 방송된 KBS 2TV ‘연예가중계’에서는 민효린과의 인터뷰가 진행됐다.

민효린은 데뷔 초부터 ‘명품코’라는 애칭을 받고 있다. 타고나게 예쁜 코 덕에 성형설에 휘말리는곤욕을 치르기도. 이에 대해 민효린은 “"코 때문에 지금까지 먹고 살았다”며 “아빠 코를 닮았다”고 말해 웃음을 자아냈다.

한편 이날 민효린은 연예계 생활했던 아버지에게 영상편지를 보내며 눈물을 흘려 눈길을 끌었다.

posted by 유돌이
2011. 7. 9. 11:58 핫이슈



할리우드 매력녀 메간 폭스(25)가 보톡스 시술 루머에 해명하는 듯 셀카 사진을 공개해 화제다.

8일(현지시간) 영국 일간지 '데일리 메일'에 따르면 메간 폭스는 최근 자신의 페이스북에 셀카 사진을 여러 장 게재했다. '당신이 보톡스를 맞았다면 할 수 없는 것들'이란 제목으로 사진을 올려 더욱 눈길을 끌었다. 그동안 불거진 자신의 보톡스 시술 소문에 맞대응하는 듯한 글이다.

공개한 사진 속 메간 폭스는 얼굴을 클로즈업한 뒤 이마를 잔뜩 찡그리고 있다. 손가락으로 이마를 가리키며 성형수술 소문에 대한 억울한 심정을 토로하는 듯한 표정을 지었다. 팬들에게 그간의 루머에 대한 마음고생을 하소연하는 것 같은 포즈로 보는 이들을 깜짝 놀라게 했다.

 솔로컴백 현아 '섹시한 맨발댄스!'
 유벤투스는 왜
박지성을 원할까?
 이민정 비닐의상 논란 해명
또 다른 사진도 비슷한 분위기다. 메간 폭스는 미간을 한껏 찡그린 채 입술을 내미는 등 얼굴 근육을 최대한 활용했다. 보톡스 루머를 불식시키기 위한 눈물겨운(?) 노력이 엿보인다. 하지만 나머지 사진은 메간 폭스 본연의 아름다움이 담겨 있어 팬들의 눈을 즐겁게 만들었다.

메간 폭스는 지난해 공식석상에 몇 차례 등장했을 때 어색한 표정과 달라진 외모로 성형수술 의혹을 낳았다. 당시 그는 인터뷰를 통해 "현재 내 얼굴은 자연산이다. 그렇지만 성형수술이 꼭 나쁜 건 아니라고 생각한다"고 솔직하게 발언해 화제를 모았다. 하지만 이번 셀카 사진 공개로 보톡스 루머는 당분간 잠잠할 것으로 보인다.

한편 메간 폭스는 자신을 스타로 만들어 준 영화 '트랜스포머'의 3편에는 출연하지 않았다. 2009년 한 매체와 인터뷰에서 마이클 베이 감독을 히틀러와 나폴레옹에 비유해 영화에서 퇴출당했다고 알려졌다. 그를 대신해 '트랜스포머3'에는 모델 겸 신인배우 로지 헌팅턴 휘틀리(24)가 열연을 펼쳤다.

매간폭스,메건폭스,매건폭스,megan fox,폭스메간,메건팍스,메간팍스,섹시사진

매간폭스,메건폭스,매건폭스,megan fox,폭스메간,메건팍스,메간팍스,섹시사진

매간폭스,메건폭스,매건폭스,megan fox,폭스메간,메건팍스,메간팍스,섹시사진

매간폭스,메건폭스,매건폭스,megan fox,폭스메간,메건팍스,메간팍스,섹시사진


 

posted by 유돌이
2011. 7. 9. 11:41 핫이슈

주민하 합격, 주민하 연기, 주민하 신들린 연기, 주민하 미모, 주민하 몸매, 배우 주민하

주민하 합격, 주민하 연기, 주민하 신들린 연기, 주민하 미모, 주민하 몸매, 배우 주민하


신인 배우 주민하가 극찬을 받아 화제다.

지난 8일 방송된 SBS '기적의 오디션'에 출연한 주민하는 영화 '오로라 공주'의 한 장면을 재연했다.

주민하는 극중 유괴로 딸을 잃은 엄정화가 사건과 관련된 사람들을 납치해 복수하는 연기를 선보였다.

이어 '북한 금강산 안내원' 연기 역시 즉석에서 펼쳐보여 눈길을 끌었다.

이에 심사위원들은 "북한 사투리가 어려운데 잘 소화했다" "예쁜 척 하지 않아 좋다" "열정과 능력을 높이 사고싶다"고 극찬하며 합격점을 내렸다.

심사위원들의 극찬에 주민하는 눈물을 쏟아냈다.

이 방송을 접한 시청자들은 '신들린 연기에 놀랐다' '저렇게 연기 잘 하는 배우를 왜 몰라봤을까' '꼭 끝까지 살아남았으면 좋겠다'는 등 호평을 내렸다.

posted by 유돌이
2011. 7. 9. 11:30 핫이슈

가수 김종서가 실력파 임재범에게 박탈감을 느낀 사연을 고백해 눈길을 끌고 있다.

지난 8일 방송된 MBC 스페셜 ‘나는 록의 전설이다’에 출연한 김종서는 과거 록그룹 시나위의 보컬로 준비 중이던 당시 임재범에 밀려 그 자리를 내줘야만 했던 사연을 전했다.

이날 김종서는 "시나위 1집 앨범이 임재범 보컬로 나왔을 때 '저 자리에 내가 있어야 하는데'하는 박탈감? 그런게 있었다"며 당시를 회상했다.

이는 앞서 김종서가 임재범보다 먼저 시나위 보컬을 맡았지만 노래실력이 부족해 보컬자리에서 물러나게 된 것.


당시 김종서는 "정말로 두고 보자. 목표는 그거였다. 너희들이 다시 나를 부를 때까지 내가 연습한다"고 생각했다며 "잘 때는 음악 듣고 자고 일어나면 발성연습을 했다. 집에서는 워낙 큰 소리가 나기 때문에 한강 마포대교 밑에 가서 연습하곤 했다"고 전했다.

결국 김종서는 임재범이 군 입대한 뒤 시나위에 재합류 하게 돼 2집 '새가 되어 가리'를 히트시켜 대한민국 대표 록커로 이름을 날렸다.

한편 이날 방송에서 시나위 부활 백두산 등 국내 대표 록그룹의 이야기와 대한민국 록커들의 음악 인생을 담은 MBC '나는 록의 전설이다'는 11.8%(AGB닐슨미디어리서치)의 시청률을 기록하며 동시간대 1위의 기염을 토했다.

임재범,임재범 로커 자존심,김도균,임재범 영국 진출 사진,김종서 방송,임재범 콘서트 나는 록의 전설이다,mbc 스페셜 나는 로커다,mbc스페셜 임재범,mbc스페셜 나는 록커다,김종서

 

 


posted by 유돌이
2011. 7. 9. 11:15 핫이슈



냉동인간,냉동인간 부활,영화 냉동인간,냉동인간 동영상,냉동인간 영상


20세기 과학고전으로 꼽히는 `냉동인간`(로버트 에틴거) 원전이 최근 국내에 소개돼 냉동보존술에 대한 관심을 높이고 있다. 미국 물리학자 에틴거는 1962년 집필한 `냉동인간`에서 인체 냉동보존술에 관한 근거를 처음 제시하고 냉동인간 사회가 현실화할 것이라고 주장했다. 그는 생명공학과 미래 담론에 큰 획을 그은 것으로 평가받는다. 에틴거 저서가 나온 지 5년이 지난 1967년 미국에서 최초로 인간이 냉동 보존됐고 현재까지 100여 구가 부활을 기다리고 있다는 점도 흥미롭다. 과연 냉동인간 부활은 가능할까.

물론 확률은 떨어지지만 기술적으로만 따져보면 가능성이 있다는 게 전문가들 의견이다.

해동 과정에서 얼음이 뭉치고 커지면서 세포를 파괴하는 결빙 현상을 막아주는 해동 기술, 혈액을 대체할 수 있는 기술, 냉동 과정과 보관 중에 인체 여러 곳에 발생한 손상들을 치료할 수 있는 나노기술 등이 모두 있다면 냉동인간을 살릴 가능성은 있다는 것이다.

현재 냉동보관 기술은 미국이 선도하고 있으나 국내 과학자들도 냉동인간을 현실화할 수 있는 실마리를 찾아가고 있다. 특히 극지연구소 김학준 박사가 메디포스트 휴림바이오셀 가천의과학대와 손잡고 `국가문제해결형 연구사업` 중 하나인 `생물자원 동결보존 기술`을 개발 중이다.

국내 연구팀은 생물을 냉동 보관하는 데 필수적인 `결빙방지 단백질`을 대량 생산하는 기술을 최근 개발했고 `얼린 뒤 다시 해동해 살리는` 확률을 크게 높이는 데 성공했다.

연구팀은 극한의 추위에서 생존하는 극지생물들이 어떻게 얼어 죽지 않고 살아갈 수 있는지에 주목하고 있다. 일반적인 생물과 다르게 극지생물들은 `결빙방지 물질` 또는 `부동 단백질`이라고 부르는 천연 `동사(冬死) 방지` 물질을 가지고 있다.

생물이 얼어 죽는 것을 세포단위로 살펴보면 이해하기 쉽다. 일반적으로 온도가 낮아져 세포가 얼게 되면 세포 안팎에서 얼음 결정이 뭉치고 커지면서 세포가 눌리거나 찢어져 파괴된다. 또 얼었을 때 세포가 살아 있다 해도 해동되는 과정에서 작은 얼음들이 뭉치는 재결정화가 발생해 세포가 찢어지거나 눌려서 파괴되는 현상이 발생한다.

김 박사는 "극지생물이 가지고 있는 결빙방지 물질은 얼거나 녹을 때 얼음이 뭉치고 커져 세포를 죽이는 것을 막아준다"며 "이러한 메커니즘을 활용하면 살아 있는 세포나 생물을 얼려서 보존할 수 있다"고 말했다. 그는 냉동보다 해동 과정에서 결빙을 막는 기술이 더 까다롭다고 설명했다.

전문가들은 작은 생물이나 장기 등을 냉동보관할 수 있다면 냉동인간의 해법도 찾을 수 있다고 전망하고 있다. 김 박사가 이끄는 연구팀은 최근 북극에서 자라는 효모에서 결빙방지 물질을 찾아내고 대량생산(배양)하는 데 성공했다.

그동안 알려진 결빙방지 물질은 많았지만 많은 양을 생산하지 못하는 게 한계였다.

연구팀은 유전자를 재조합하는 기술을 이용해 대량으로 생산할 수 있었다. 연구팀은 특히 이 물질을 활용해 사람 혈액과 줄기세포를 얼렸다 녹이는 실험을 해 생존율을 95%까지 끌어올렸다. 국내외적으로 혈액이나 줄기세포를 얼렸다 다시 살리는 생존율은 약 85%가 최대치였다. 냉동과 해동 과정에서 결빙현상을 효과적으로 없앤 것이 유효했다.

김 박사는 "혈액은 40일이 지나면 폐기처분해야 하므로 냉동보관 기술이 필요하다. 또 장기이식 수술에서 신선도 유지가 중요하므로 냉동기술이 유용할 것"이라며 "냉동인간을 실현하기 전에도 냉동보존 기술이 쓰일 곳은 많다"고 말했다.

posted by 유돌이
2011. 7. 9. 11:06 핫이슈

 

배우 류승룡과 고창석이 한국 전쟁영화의 새로운 도전으로 기대를 모으는 영화 '고지전'에서 자존심 대결을 펼친다. 북한의 엘리트 장교 출신 현정윤 역할을 맡은 류승룡은 영화의 주요 배경인 '애록고지'를 사이에 두고 남한군과 뺏고 뺏기는 고지전투를 수 개월간 해온 인물. 의미 없이 희생되는 전쟁에 회의를 가지면서도 명령에 따라 다시 전쟁을 수행하는 역할이다.

강은표(신하균 )와 김수혁(고수)이 군 초년병 시절에 만났던 인물로 나오는 현정윤은 짧은 등장만으로도 카리스마 넘치는 존재감을 보여준다. 특히 영화를 위해 얼굴 한 쪽 전체가 일그러진 특수 분장을 한 채 촬영해야해서 다른 배우보다 긴 준비 시간을 거쳐야했다는 후문이다. 류승룡은 "분량이 짧은 대신 확실한 인상을 심어주기 위해 실리콘을 이용한 특수 메이크업을 해야했다. 햇볕이 비출 때면 피부 속부터 간지러움이 올라와 고생이 남달랐다"며 그간의 고생을 토로하기도.

최근 버라이어티 프로그램을 통해 국민 '고요미(고창석+귀요미)'로 떠오른 고창석은 만주 독립군으로 입대해 일제와 맞선 이력을 가지고 한국전쟁 발발 이후 또 한번 군대에 입대한 가장 독특한 이력을 가진 양효삼 캐릭터를 열연했다. '고지전'에서는 그동안 코믹연기는 물론, 강단있고 뚝심있는 캐릭터를 선보이며 또 다른 면모를 보여줄 예정이다.

특히 두 사람은 역할 특성상 능숙한 북한 사투리를 소화해야 했는데 짧은 기간임에도 사투리 전문가들이 혀를 내두를 정도로 완벽한 말투를 습득해 전문가의 감탄을 자아냈다. 현장에 상주하고 있던 북한 사투리 전문가는 "두 배우 모두 언어 습득에 타고난 소질이 있는 것 같다. 집중력이 남달라 서로 경쟁하듯 빠르게 사투리를 익혀 나갔다. 배우 중 가장 북한말을 잘 하는 사람들일 것 "이라고 말했다.

'고지전'은 마무리 후반작업에 박차를 가하고 있으며 관객들의 요청으로 개봉일을 하루 앞당겨 7월20일 전국 개봉된다.

 

[예고편]                                  

 

 

[인터뷰 영상] 

 고지전 실화 영화,고지전 시사회,신하균,전쟁영화,고지전 평점,김옥빈 고지전 무대인사,고지전 고수,고지전 고창석,고지전 류승수,영화 고지전

 고지전 실화 영화,고지전 시사회,신하균,전쟁영화,고지전 평점,김옥빈 고지전 무대인사,고지전 고수,고지전 고창석,고지전 류승수,영화 고지전

     고지전 실화 영화,고지전 시사회,신하균,전쟁영화,고지전 평점,김옥빈 고지전 무대인사,고지전 고수,고지전 고창석,고지전 류승수,영화 고지전                              

 

          고지전 실화 영화,고지전 시사회,신하균,전쟁영화,고지전 평점,김옥빈 고지전 무대인사,고지전 고수,고지전 고창석,고지전 류승수,영화 고지전                 

 

posted by 유돌이
2011. 7. 9. 10:55 핫이슈

COM은?
-.컴포넌트 객체 모델 (Component Object Model)의 약자이다. COM은 컴파일과 링크가 되어 있는 바이너리코드로 객체지향 프로그래밍이 가능하게 해주는 윈도우의 기능 중에 하나이다.
-."인터페이스라는 미리 정의된 루틴들을 통해 객체들 사이의 상호작용을 가능하게 해주는 객체기반의 바이너리 표준"라고 MS에서 정의 해 놓았다. 이 말은 객체(Application도 포함)들 사이에 인터페이스가 있는데, 이 인터페이스를 통해 객체간의 공유가 가능하다. 분산환경(Corba, COM) 프로그래밍에는 각각 인터페이스를 정의 하는 표준적인 룰과 그를 응용한 룰(타입 라이브러리 등)이 있다.
-.인터페이스가 상속과 다형성 등의 할 수 있으므로 바이너리 코드기반으로 객체지향 프로그래밍이 가능하다.
-.COM 객체는 위에서 말했듯이 바이너리코드 이다. 이것을 프로세스 단위로 실행 시켜 주어야 한다. 그 프로세스 단위 안에 COM 객체는 1개 이상 있을 수 있다. 또 그 프로세스는 DLL (in-process), EXE (out-of-process) 형태로 만들어질 수 있다.
-.이상 위의 내용을 정리하면 "COM은 인터페이스라는 약속을 정해놓고 특정 프로세스단위 내에 존재하는 클래스를 지금 개발자가 만들고 있는 Application의 인스턴스로 갖다 쓰자." 라고 이해 하자. 추가로 "그 인터페이스를 상속 받아서 다른 COM Class도 만들 수 있다." 라고 이해 하자.
-. 위의 내용을 그림으로 그린 것이 [그림1] 이다.

[그림1] COM의 기본구조.

[그림1] 같이 COM객체는 COM 서버 내에 존재해야 하고, 각각의 COM 객체는 1개 이상의 인터페이스를 통해 Client Application 에게 COM객체 자신의 기능을 노출시킨다. Client Application은 노출된 인터페이스의 GUID (= IID)를 가지고 해당 COM 객체에 접근할 수 있는 것이다. COM 객체 자체가 어떤 일을 하고 그에 따른 함수를 노출하기만 하면(인터페이스를 통해서 ) Client Application 에서는 COM 객체가 어떻게 구현되어있는지 알지 않아도 COM 객체의 기능을 사용할 수 있다. 그렇다면 인터페이스를 이해할 필요가 있을 것이다. 아래에 인터페이스의 기본원리와 어떤 규칙을 따르는지 알아보자.

Interface는?
-.인터페이스는 COM 객체를 외부에서 사용할 수 있도록 하는 매개체 역활을 한다.
-.인터페이스는 함수들의 선언으로만 구성되어있고 COM 객체에서 인터페이스의 함수를 구현해 준다.
-.인터페이스를 서로를 식별하기 위해 GUID 타입의 128bit의 유일한 값을 가진다.
-.인터페이스는 언어 독립적으로 제작가능하고 인터페이스 내의 함수들은 포인터를 통해서 접근할 수 있다.

COM 서버의 형태는?
-. 위에서 COM객체는 COM 서버 내에 존재해야 한다고 설명했는데, COM 서버의 형태에 따란 Client Application에 바인딩이 달리 된다. [그림2]는 이것을 설명하는 그림이다.


[그림2-1 ] In-Process 의 형태


-. [그림2-1]의 In-Process는 COM 서버가 *.DLL로 제작되어있을 경우 이다. DLL로 되어있는 COM 객체에 Client Application이 접근하면 Client Application의 프로세스내에 COM 서버의 인스턴스가 바인딩 된다. 주로 ActiveX 컨트롤이 이런 형태이다. 익스플로어에서 COM서버내의 COM 객체를 호출할 때 익스플로어 프로세스내에 바인딩 되는 것이다. 참고로 ActiveX 컨트롤의 OCX 파일은 구조적으로 DLL과 동일하다.



[그림2-2] Out-Of-Process 의 형태


-. [그림2-2]의 Out-of-process는 COM 서버가 *.EXE로 제작되어있을 경우 이다. EXE로 되어있는 COM 객체에 Client Application이 접근하면 COM 서버는 자체적으로 프로세스를 생성된다. 내부적으로 Client Application에서는 Proxy로 COM서버의 Stub으로 연결된 구조로 In-process 보다 복잡하지만 개발자는 별다른 신경을 쓰지않아도 In-Process와 동일하게 작성하면 된다. 단지 Client Application내에 COM 서버가 인스턴스화 되는지 아니면 다른 프로세스로 생성 되는지 가 중요하다. 그래서 여러 Client Application에서 하나의 COM 객체를 호출할 때 Out-of-Process의 경우에는 호출한 Client Application의 수 만큼 COM 서버 프로세스가 생성되고, In-Process의 경우에는 호출한 Client Application의 수 만큼 COM 서버 인스턴스가 생성되는 것이다.

-. 그 외로 다른 컴퓨터의 COM서버의 COM객체를 호출하는 구조의 Remote COM 이 있다. 하지만 이 문서에는 따로 언급을 하지 않겠다.

COM의 확장이란?
-.MS나 그 외 여러 문서를 살펴보면 OLE, ActiveX, COM 등의 정의를 분명하게 하지않아서 혼동의 여지가 있다. 어떤 곳에서는 COM에서 OLE한 면이 없으면 ActiveX 이라고도 하고 OLE3.0에서 부터 COM를 ActiveX라고 부르기도 하지만 모두 틀린 말은 아니다.
-.그래도 계속 혼동스럽 다면 기본 COM에 추가된 기능, 확장된 기능 이라고 생각하자. (단어에 연연하지 말자는 뜻 이다.)
•.Automation Server (독립실행 가능한 Application(EXE)이나 DLL이 프로그래밍을 할수 있도록 객체(COM객체)를 다른 애플리케이션에 제공하는것)
•.Automation Control (위에서 설명한 Automation Sever에서 제공된 COM 객체를 이용하는 Client Application)
•.ActiveX Control(프로그래밍의 언어에 상관 없이 일반 컴포넌트처럼 사용할 수 있고 웹에서도 사용 가능한 객체)
•.Type Library (COM 서버내의 COM객체에 대한 정보를 Client Application에서 사용 가능하도록 하는 바이너리 코드. 표준적인 방식으로 저장되므로, 프로그래밍의 언어와 상관없이 읽을 수 있다. 또 COM 서버파일(DLL)등에 함께 저장될 수 있고 따로 저장해서 링크해서 사용할 수 있다. )
-.그 외 ActiveX Documemt , DCOM, MTS 등은 COM를 기초로 확장된 모습이다.

실습 (간단한 COM서버(DLL=In-Process)와 Client Application 만들기. Delphi5 Ent 기준)

-. COM 서버와 COM 객체 만들기.
1. 모든 프로젝트를 종료하고 File|New 해서 New Items 대화상자에서 --> ActiveX 탭 --> ActiveX Library 를 선택하고 [ OK ]버튼을 클릭한다. 여기서 추가한 ActiveX Library는 일반 DLL과 같은 파일을 생성하지만 COM객체를 레지스트리에 등록하고 해제하고 COM 서버 내의 특정 COM객체를 얻을 수 있는 함수를 Export 한다.

2.File|Save 해서 프로젝트명을 COMSrv.dpr로 저장한다. 다시 File|New --> ActiveX 탭 --> COM Object 를 선택하고 [ OK ]버튼을 클릭한다. CoClassName 을 COMObject로 하고 나머지 옵션은 기본사항으로 하고 [ OK ]버튼을 클릭한다.

옵션 설명
•.Instancing
-. Internal = COM객체를 COM 서버 내부적으로만 사용 가능하게 생성한다.
-. Single Instance = Application 마다 하나의 COM 인터페이스 만을 허용. 다른 인스턴스를 요구하면 COM 서버자체를 또 생성한다.
-. Multiple Instance = 여러 Application에서 서버객체를 연결 하면 인스턴스를 계속 새로 성성 한다. In-Process는 이것만 적용 가능하다.
•. Thread Model
-. Single = COM 서버전체가 하나의 쓰레드에서 생성한다. 쓰레드 사용이 불가능 하다.
-. Apartment = COM 객체는 각각의 쓰레드에서 생성된다. STA 라고 부르고  [그림 3-1]의 모습이다.
-. Free = Client Application은 어떤 시점이나, 어떤 쓰레드 상에서도 COM 객체의 메소드를 호출할 수 있다. MTA 라고 부르고 [그림 3-2]의 모습이다.
-. Both = STA와 MTA 둘 다 사용 가능하다.

[그림 3-1] Single Thread Apartment 모델 [그림 3-2] Mutipul Thread Apartment 모델

그림3-1처럼 STA의 경우에는 COM 객체를 생성한 Thread 만이 해당 COM 객체를 접근할 수 있다. 다른 Thread에서 생성한 COM객체는 접근할 수 없다. 그림3-2 처럼 MTA의 경우에는 COM 객체를 생성한 Thread 말고도 다른 쓰레드 에서도 COM객체에 접근할 수 있다. 개발자가 프로젝트가 쓰레드를 사용하지 않는 다면, STA로 만들고 별로 신경 쓰지 않아도 된다.

3. 타입 라이브러리에서 ICOMObject (COM 객체의 인터페이스)에 팝업메뉴을 띄워서 method를 새로 추가한다.

4. Method 이름을 "callDialog" 로 변경하고 오른쪽 파라메타 탭에서 파라메타를 1개 추가 한다. Name = uName , Type = BSTR

5. Method 를 한 개 더 추가해 이름을 "getNowTime" 로 변경하고 오른쪽 파라메타를 1개 추가한다. Name = nowtime, Type = BSTR* , Modifier = [out, retval] nowTime 파라메타는 호출한 Application으로 리턴할 수 있다.

6. Refresh 버튼을 눌러서 현재 상태를 적용한다.
-. 참고로 기본 리턴값인 HResult 는 COM서버의 내장된 객체의 메소드를 호출이 성공, 실패의 리턴값을 돌려준다.

7. File|SaveAll 해서 Unit1.pas를 ComSrvImpl.pas 로 저장한다. 그리고 다음과 같이 소스코드를 작성한다.

 unit ComSrvImpl;
 interface
 uses
   Windows, ActiveX, Classes, ComObj, COMServer_inpro_TLB, StdVcl;
 type
   TMyCOMObject = class(TTypedComObject, IMyCOMObject)
   protected
     function callDialog(const uName: WideString): HResult; stdcall;
     function getNowTime(out nowTime: WideString): HResult; stdcall;
   end;
 implementation
 uses ComServ, Dialogs, SysUtils;
 function TMyCOMObject.callDialog(const uName: WideString): HResult;
 begin
    ShowMessage('이름: ' + uName  +#13#10 + 'COM 서버에서실행된 대화상자');
 end;
 function TMyCOMObject.getNowTime(out nowTime: WideString): HResult;
 begin
    nowTime := TimeToStr(Now);
 end;
 initialization
   TTypedComObjectFactory.Create(ComServer, TMyCOMObject, Class_MyCOMObject,
     ciMultiInstance, tmApartment); //COM Object Factory 에 인스턴스 등록 
 end.

-. Client Application 만들기


[그림 4] Client Application 폼

1. 그림4 처럼 폼을 디자인 한다. 그리고 아래와 같이 소스코드를 작성한다.

  uses COMSrv_TLB, COMObj;
  {$R *.DFM}
  procedure TForm1.Button1Click(Sender: TObject);
  var
    COMObj: ICOMObject;
    strTime: wideString;
  begin
   COMObj := CoCOMObject.Create;
   oleCheck(COMObj.callDialog(Edit1.Text));
   oleCheck(COMObj.getNowTime(strTime));
   Label2.Caption := '호출된 시간: ' + strTime
  end;
 

2. 테스트.
-. 일반적인 DLL 파일은 실행파일과 같은 디렉토리나 Windows\System\ 디렉토리에 위치하면 되지만 COM 서버 DLL은 위치에 상관없도록 레지스트리에 등록해서 사용한다.
-. 레지스트리에 등록되는 내용은 ClassID (CLASS_), Type Libray ID (LibID_), InterfaceID(IID_) 등에 DLL 파일의 위치와 ProID 등이 저장된다.
-. 등록하는 방법은 COMSrv.dpr프로젝트를 Open 하고 RUN 메뉴에 Register ActiveX Server를 선택하면 된다. Out-Of-Process 경우 RUN만 한다.
-. Client Application을 실행하고 [COM 객체의 함수 호출] 버튼을 클릭한다. 그러면 메시지 창과 함께 현재시간이 Label1에 출력되면 COM 서버를 레지스트리 에서 위치를 얻고 난 후에 해당 인터펭이스를 통해 COM서버를 Client Application 내에 바인딩 한다.

Automation 서버 / Client 만들기

- Automation 서버 만들기 ( Out-Of-Process )

-.델파이에서는 자동화 컨트롤러가 자동화 서버를 호출하는 3가지방법을 제공한다.
1.Virtual Method Table (Vtable) 을 이용하는 방식 - Interface를 이용( 초기 바인딩 )
2.Dispatch Interface 를 이용하는 방식 - Idispatch.invoke()를 이용 ( 후기 바인딩 )
3.Variant를 이용하는 방식( 후기 바인딩 )
참고로 성능 Vtable이 가장 좋고, Dispath Interface가 그 다음이고, Variant는 가장 느리다. 델파이에서는 Vtable을 생성하는 Interface방식으로 Client Application을 만들면 되고, COM 객체는 Dual Interface(Vtable, Dispateh Interface) 형식으로 호환성을 생각해서 작성한다.


[그림 5 ] Automation 서버의 폼

1. 그림5 처럼 File|New Application 해서 폼안에 TShape 컴포넌트를 한 개 추가해서 폼을 디자인한다. File|SaveAll해서 프로젝트이름 AutoSrv.dpr 로 Unit1.pas --> SrvFrm.pas 로 한다.

2. File|New 해서 ActiveX 탭 --> Automation Object 를 선택하고 [ OK ]버튼을 클릭한다. CoClassName을 AutoTest 로 하고 나머지는 기본값으로하고 [ OK ] 버튼을 클릭한다.

3. Type Library 에서 IAutoTest 인터페이스를 클릭하고, setShapeType 메소드를 추가한다. 파라메타 탭에서 paramater name = sType , Type = int 로 파라메타 한개를 추가한다.

5. File Save All 해서 COM 객체 유닛을 AutoImpl.pas로 저장한다.

6. AutoImpl.pas 파일에 선언되어있는 setShapeType 메소드를 구현한다.

  uses ComServ,SrvFrm, extCtrls ;
  procedure TAutoTest.setShapeType(sType: SYSINT);
  begin
    Form1.Shape1.Shape := TShapeType(sType);
  end; 

7. 전체를 다시 저장하고, COM 서버를 레지스트리에 등록한다. Out-Of-Process(.Exe)는 실행만 해도 레지스트리에 자동 등록 된다.

- Automation Control 만들기


[그림6 ] Automation Control의 폼

1. 그림6 처럼 File | New Application 해서 폼안에 TEdit 한개와 TUpDown 1개 Associcate 속성을 Edit1 으로 한다. 그리고 TButton 컴포넌트 4개를 추가하고 위에서부터 vTable호출 (Button1) ~ 연결해제 (Button4) 로 캡션을 입력한다.

2. 소스코드를 아래와 같이 작성한다.

  uses AutoServer_TLB, COMObj;
  {$R *.DFM}
  var
    AutoTest: IAutoTest;  // interface 이용
    AutoTestDisp: IAutoTestDisp; //dispinterface 이용
    vAutoTest: Variant; // variant 이용

  procedure TForm1.Button1Click(Sender: TObject); // Interface(Vtable)을 이용해서 COM 객체 생성
  begin  
     AutoTest := CoAutoTest.Create;
    AutoTest.setShapeType(UpDown1.Position);
  end;

  procedure TForm1.Button2Click(Sender: TObject); // Dispatch Interface를 이용해서 COM 객체 생성
  begin
    AutoTestDisp := CreateComObject(Class_AutoTest) as IAutoTestDisp;
    AutoTestDisp.setShapeType(UpDown1.Position);
  end;
 
  procedure TForm1.Button3Click(Sender: TObject); // Variant 변수에 Program ID 값을 넣고 COM 객체 생성
  begin
    vAutoTest := CreateOleObject('AutoServer.AutoTest');
    vAutoTest.setShapeType(UpDown1.Position);
  end;

  procedure TForm1.Button4Click(Sender: TObject);
  begin
    AutoTest := nil; // Pointer 변수 해제
    AutoTestDisp := nil; 
    vAutoTest := Unassigned; //Variant 변수 해제 
  end;

3. 모두 저장하고 Automation Control (Client Application ) 을 실행한다. UpDown 컴포넌트의 값을 0 ~5 사이에서 변경하면서 테스트 해보자.

Excel 97, 2000 을 Control 하는 Automation Controler 만들기

-. MS사에서 만든 많은 제품들이 COM 객체로써 외부에서 Control 할 수 있도록 만들어져 있다. 이번 실습은 Excel 97, 2000 을 간단히 Control 할 수 있도록 COM Controler 를 만들어 본다.


[그림7 ] Excel Controler 폼

- . 델파이 5 에서 Server 탭에 MS의 Office 제품군을 Control 할 수 있도록 컴포넌트를 만들어 놓았는데, 기본적으로 Interface (VTable) 방식으로 접근할수 있다. 물론 다른 방식도 가능하지만 위에서 설명했듯이 Automation 서버를 Control하는 Client Application 을 델파이에서 만들때에는 Interface 방식의 성능이 가장 우수하다.

1. File|New Application 해서 그림7과 같이 TMemo 컴포넌트 1개와 TButton 3개, Server탭에서 TExcelApplication, TExcelWorkSheet, TExcelWorkBook 1개를 폼안에 추가한다.

2. 아래와 같이 소스코드를 작성한다.

  var
    vExcel: Variant;
 implementation
  uses COMObj;

  procedure TForm1.Button1Click(Sender: TObject);
  Var 
    i: Integer;
  begin
    varExcel := CreateOleObject('Excel.Application');
    varExcel.workbooks.Add;
    for i := 0 to Memo1.Lines.Count-1 do
      varExcel.workbooks[1].worksheets[1].Cells[i+1, 1] := Memo1.Lines[i];
    varExcel.Visible := true;
  end;

  procedure TForm1.Button2Click(Sender: TObject);
  var
    i: Integer;
  begin
    ExcelApplication1.Connect;
    ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Item[1]);
    ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Sheets[1] as _WorkSheet);
    with ExcelWorkSheet1 do
      for i := 0 to Memo1.Lines.Count-1 do
        Cells.Item[i+1, 1] := Memo1.Lines[i];
    ExcelApplication1.Visible[0] := True;
  end;

  procedure TForm1.Button4Click(Sender: TObject);
  begin
    if not varIsEmpty(varExcel) then
      varExcel.quit;
    if not varIsEmpty(ExcelApplication1.Application) then
    begin
      ExcelApplication1.Disconnect;
      ExcelApplication1.Quit;
    end;
  end;
 

3. 실행 하고 버튼을 눌러본다. 위의 예제는 PC에 Excel 프로그램이 설치되어 있는 경우에만 제대로 동작 한다.

-이외에도 Delphi에서는Excel의 차트등 거의 모든 객체를 Control 할수 있다. Excel .vbs 파일을 생성해서 실행할수도 있다
아래 소스코드는 Excel 내에 특정 매크로를 생성해서 실행시키는 예제 이다.

  procedure TForm1.Button1Click(Sender: TObject);
  var
    str: String;
    vModule: OleVariant;
  begin
    str := 'Sub Macro()' + #13#10 +
         'Dim X, Y' + #13#10 +
         'Dim X_END, Y_END' + #13#10 +
         'Dim Min, Max' + #13#10 +
         'If Cells(1, 2) = "N" Then'+ #13#10 +
         'X_END = 21'+ #13#10 +
         'Else'+ #13#10 +
         'X_END = 25'+ #13#10 +
         'End If'+ #13#10#13#10+
         'Y_END = Cells(1, 3) + 4'+ #13#10#13#10+
         'For Y = 5 To Y_END'+ #13#10 +
         ' For X = 2 To X_END'+ #13#10 +
         '   Min = Cells(3, X)'+ #13#10 +
         '   Max = Cells(4, X)'+ #13#10 +
         '   Cur = Cells(Y, X)'+ #13#10#13#10+
         '   Cells(Y, X).Font.ColorIndex = 2'+ #13#10 +
         '   Cells(Y, X).Font.FontStyle = "굵게"'+ #13#10#13#10+
         '   If (Min <= Cur) And (Cur <= Max) Then'+ #13#10 +
         '     Cells(Y, X).Interior.ColorIndex = 5'+ #13#10 +
         '   Else'+ #13#10 +
         '     Cells(Y, X).Interior.ColorIndex = 3'+ #13#10 +
         '   End If'+ #13#10 +
         '  Next X' + #13#10 +
         '  Next Y' + #13#10 +
         'End Sub';

    vModule :=  ExcelWorkBook1.VBProject.VBComponents.Add(1);
    vModule.CodeModule.AddFromString(str);
    ExcelApplication1.Run('Macro');
  end; 

'핫이슈' 카테고리의 다른 글

★냉동인간★ 부활시킬 단초 발견!!!  (0) 2011.07.09
고지전 예고편!!  (0) 2011.07.09
나도가수다!! 도플겡어들..ㅋ  (0) 2011.07.08
연금복권 인터넷구매 방법!!!!  (0) 2011.07.08
옵티머스3d 상세스펙  (0) 2011.07.08
posted by 유돌이
2011. 7. 8. 09:48 핫이슈

 

인기 프로그램 MBC ‘나는 가수다’를 패러디한 ‘나도 가수다’가 임재범, 임소라에 이어 이번에는 박정현과 정엽의 도플갱어를 등장시켜 눈길을 끈다.

 

8일 방송될 MBC 예능 ‘웃고 또 웃고’에서는 박정현과 정엽을 패러디할 방정현(정명옥)과 천엽(추대엽)이 새 가수로 투입됐다.

 

두 사람은 정엽의 ‘낫 띵 베러’(Nothing Better)와 ‘첫 인상’ 무대를 완벽 패러디, 촬영장을 웃음바다로 만들었다는데.

 
 

또 이들은 겉모습뿐 아니라 뛰어난 노래 실력까지 선보여 기존 가수 ‘정재범’(정성호)와 ‘이소다’(김세아)를 바짝 긴장시켰다는 귀띔이다.

 

한편, ‘나도 가수다’는 ‘우리들의 일밤’의 ‘나가수’를 패러디한 코너로 뜨거운 반응을 일으키며 지속적인 관심을 받고 있다.

'핫이슈' 카테고리의 다른 글

고지전 예고편!!  (0) 2011.07.09
COM은?  (0) 2011.07.09
연금복권 인터넷구매 방법!!!!  (0) 2011.07.08
옵티머스3d 상세스펙  (0) 2011.07.08
카카오톡 무료통화 서비스 시작??  (0) 2011.07.08
posted by 유돌이