shopkeeper/korean_wiki_content_only_120125 huggingface dataset:
1753년부터 1754년까지 모이시오다카스는 테살로니키와 스미르나의 그리스 학교에 다니면서 신아리스토텔레스주의의 영향을 받았다. 1754년부터 1755년까지는 당시 근대 그리스 계몽주의의 또 다른 저명한 주창자인 에브게니오스 불가리스가 교장으로 있던 아토니테 아카데미에서 수년간 수학했다. 1759년부터 1762년 사이에는 파도바 대학교에서 조반니 폴레니 밑에서 공부했다. 이 시기에 그는 동방 정교회 부제로 서품받았다.
1765년, 그리고레 3세 기카가 통치하던 시기에 모이시오다카스는 몰다비아로 와서 이아시 공립 아카데미의 교장이자 철학 교수가 되었다. 존 로크의 영향을 받은 그의 철학 가르침은 전통적 질서를 옹호하는 학자들과 갈등을 빚었고, 결국 1766년 사임으로 이어졌다. 1766년, 결핵일 가능성이 있는 질병으로 인해 그는 교수직에서 물러나 왈라키아로 가서 다음 10년을 보냈다. 병에서 회복된 후 그는 이아시로 돌아와 두 번째로 아카데미의 교장직을 수락했다. 그러나 불과 몇 달 만에 그는 자신의 교육 방식에 대한 보야르(귀족)들의 반대로 인해 다시 사임해야만 했다. 그는 먼저 브라쇼브(1777년)로 갔다가, 이어서 빈으로 가서 자신의 가장 중요한 저서인 《변명(The Apology)》을 출판했다. 1797년에는 부쿠레슈티 공립 아카데미에서 잠시 교수로 재직했다. 그는 1800년에 부쿠레슈티에서 사망했다.
1780년에 출판된 모이시오다카스의 저서 "《변명(The Apology)》"은 여러 면에서 주목할 만하다. 이 책은 특히 근대 그리스 문학 최초의 에세이라는 의의를 지닌다. 그러나 《변명》의 가장 중요한 가치는 모이시오다카스가 제시한 "합리적 철학"(sound philosophy) 개념에 있다.
그가 주장한 합리적 철학은 당시 그리스어권 전역에서 가르치던 코리달레오스 학파의 신아리스토텔레스주의와 대비되는 서구의 자연 철학이었다. 모이시오다카스는 르네 데카르트, 갈릴레오 갈릴레이, 크리스티안 볼프, 존 로크 등을 존경했지만, 특히 아이작 뉴턴을 가장 높이 평가했다. 그는 철학 교육이 수학 연구에서 시작되어야 하며, 좋은 철학은 곧 수학적 철학이라고 생각했다.
또한 모이시오다카스는 학술 교과 과정에서 아리스토텔레스 논리학을 배제하고 그 자리를 인식론으로 대체할 것을 주장했다. 나아가 그는 수업의 명확성을 높이기 위해 고대 그리스어를 교실에서 현대 그리스어로 대체해야 한다고 제안했다.
고대인과 현대인의 갈등.
이오시포스 모이시오다카스는 근대 그리스 계몽주의 시기에 그리스 사회와 문화를 비판했던 인물이다. 그리스 사회와 문화에 대한 그의 철학은 '고대인과 근대인 논쟁'에 참여하며 형성된 교육 개혁에 중점을 두었다. 모이시오다카스는 이 논쟁에서 근대인들의 입장을 옹호했다. 그는 그리스 사회가 유럽과 비교할 때, 계몽주의 시대에 발전한 현대 철학 이론을 수용하기보다 고대 철학 이론을 유지하는 것을 지나치게 강조한다고 보았다. 모이시오다카스에 따르면, 이러한 경향은 그리스 사회가 사회적, 문화적으로 발전하는 것을 가로막아, 많은 유럽 지역에 비해 그리스를 불리한 위치에 놓이게 했다. 또한 당시 일부 그리스인들은 아리스토텔레스와 같은 고대 철학자들이 오류 없는 철학 이론을 만들었다고 믿었으며, 현대 철학 이론 대신 이를 따를 의무가 있다고 생각했다. 이는 현대 철학 이론을 그리스 사회 및 문화 생활에 통합하려는 모이시오다카스의 주장에 장애물로 작용했다. 모이시오다카스는 이러한 인식을 바꾸기 위해 존 로크의 인간 지각 이론에 영향을 받아, 사람들이 자유로운 사상가가 되기 위해서는 고대 철학자들의 이론을 이성으로 평가해야 한다고 주장했다. 그는 고대 이론의 중요성을 현대 철학의 토대로 인정하면서도, 그 오류 불가능성이라는 개념은 거부했다. 저서 "《변명》"에서 모이시오다카스는 자신의 "합리적 철학"(sound philosophy)을 제시했다. 이는 지식인들이 수학, 과학, 그리고 이성을 사용하여 인간 지식이 자연 세계에 대한 인간의 경험으로부터 어떻게 파생되는지 설명하는 철학이다. 이러한 의미에서 '합리적 철학'은 아리스토텔레스의 원질 이론과 그리스 사회가 아리스토텔레스적 교육관을 고수하는 것에 대한 모이시오다카스의 광범위한 비판의 일부였다. 모이시오다카스의 '건전한 철학'은 그의 다른 저서에서도 나타난다. 그는 《지리학 이론》이라는 저서에서 자신의 '건전한 철학'을 사용하여 고대인들의 지구 기본 기능에 대한 이론에 이의를 제기했다.
모이시오다카스는 진보적인 사회 및 문화적 변화를 이루기 위해서는 그리스가 유럽이 계몽주의 이후 채택한 교육 체계를 따라 교육 제도를 개혁해야 한다고 주장했다. 그는 저서 "《교수법(Pedagogy)》"에서 계몽주의 사상을 확산시키고 그리스 전역에 자유로운 사고를 함양하는 교육 시스템을 개발하고자 했다. 모이시오다카스는 자신의 교육 개혁 사상을 존 로크의 교육 이론, 특히 로크의 저서 "《교육에 관한 몇 가지 생각》"에 담긴 이론들을 본떴다. 그의 이론들은 또한 디드로의 《백과전서》에 수록된 교육 관련 부분과도 유사했다.
모이시오다카스는 아이들에게 덕성(德性, virtue)을 함양하는 것의 중요성을 강조했던 존 로크의 신념을 반영하여, 그리스 교육 시스템에 대한 비판에서 아동 교육에 중점을 두었다. 그는 아이들이 생애 초기에 자존감과 어른에 대한 존경심을 가르침 받아야 한다고 믿었다. 모이시오다카스는 이러한 초기 교육을 제공하는 책임을 부모에게 부여했다. 그는 이를 위해 부모가 자녀를 핵가족의 일상 기능에 참여시키고, 결혼식이나 도박 행사와 같은 특정 공개적인 자리로부터 자녀를 보호해야 한다고 주장했다. 모이시오다카스는 교실 교육 개혁안을 자신의 어린 시절 학생 경험에 기반을 두었다. 그는 그리스 교육자들이 아이들을 덜 가혹하게 벌하고, 대신 아이들의 불복종 행위에 적합한 처벌을 고안해야 한다고 주장했다. 또한 그리스 교육자들은 학급 전체를 대상으로 하는 일반적인 교육과정 대신, 개별 학생들의 기술 능력을 개발하는 데 초점을 맞춘 교육과정을 만들어야 한다고 보았다. 모이시오다카스에 따르면, 이 교육과정은 그리스 학생들이 그의 "합리적 철학"에 맞는 방식으로 교육받도록 실용적이고 도덕적인 가르침을 모두 포함해야 했다.
모이시오다카스는 나아가 그리스어 교육 개혁을 주장했다. 그는 전통적인 문법 수업을 특정 그리스 문학 작품을 다루는 수업으로 대체해야 한다고 믿었다. 이러한 주장은 고전 그리스 문학에 담긴 잠재적인 도덕적 교훈을 학생들이 이해하는 것이 문법을 기계적으로 암기하는 것보다 중요하다고 본 그의 신념에서 비롯되었다. 이 이론을 증진하기 위해 모이시오다카스는 고전 그리스어 문헌과 더불어 아이소포스와 투키디데스가 쓴 텍스트를 가르치는 것을 지지했다. 또한 모이시오다카스는 학생들이 현대 그리스어로 간단한 문법을 사용하여 글을 쓰는 법을 배워야 한다고 주장했다. 그는 고대 그리스어와 와 전례 헬레니즘 그리스어도 학교에서 계속 가르칠 수 있다고 보았지만, 현대 그리스어를 배우는 것이 실용적인 생각이라고 역설했다. 상업과 법률을 포함한 그리스 사회의 여러 분야에서 현대 그리스어가 보편적으로 사용되고 있었으므로, 학생들이 이를 배우는 것이 유용할 것이라는 판단이었다.
그리스 정교회와 교육 개혁.
그리스 정교회는 오스만 제국의 지배 아래에서 그리스 지식인들이 자신들의 전통 언어와 문화를 유지하는 기관으로 기능했다. 또한 당시 그리스 정교회는 아리스토텔레스적 교육관을 고수했기 때문에 교육에 대해 보수적인 입장을 취했다. 그럼에도 불구하고, 모이시오다카스와 같은 성직자들은 그리스 정교회 내에서의 엘리트적 지위를 활용하여 근대 계몽주의 이론을 전파했다.
그리스 정교회 부제였던 모이시오다카스는 학교에서 종교를 가르치는 것에 반대하지 않았지만, 교육을 세속화하기 위해 자신의 "건전한 철학"을 교육과정에 통합해야 한다고 주장했다. 또한 그는 학교에서 종교적 미신을 가르치는 것에 반대했는데, 이는 중세 유럽 교육 시스템에서 종교적 미신을 가르치는 것에 반대했던 존 로크의 주장을 따르는 것이었다. 모이시오다카스는 종교적 미신이 학생들이 계몽된 사회 구성원으로 행동하는 능력을 저해한다고 보았다. 종교적 미신에 대한 모이시오다카스의 주장은 루도비코 안토니오 무라토리의 가르침에도 영향을 받았다. 무라토리는 그리스 정교회가 사람들을 도덕적으로 행동하게 만들기 위해 설교에서 지옥에 대한 언급을 중단해야 한다고 주장했다. 대신, 사람들은 두려움이 아닌 사랑을 통해 신에게 이끌려야 한다는 것이었다. 모이시오다카스가 번역한 무라토리의 저서 《도덕 철학》은 도덕적 필연성으로 인해 "건전한 철학"이 그리스 교육 시스템에 통합되어야 한다는 그의 주장의 토대가 되었다. 이러한 방식으로 그리스 사회는 종교적 미신의 전파가 아닌 지적 성장을 통해 발전할 수 있다고 보았다. 모이시오다카스와 다른 그리스 정교회 성직자들은 계몽주의 시대에 발전한 현대 교육 이론을 그리스 정교회의 맥락으로 가져와 종교적 미신 교육에 계속 반대했다. 이러한 이론 중 일부는 특히 아이작 뉴턴 경의 저서에서 비롯되었다. 예를 들어, 모이시오다카스는 뉴턴의 물리학 이론과 자연과학을 통한 물리적 세계 설명에 호의적이었다. 모이시오다카스는 이러한 이론들을 사용하여 그의 "건전한 철학"을 그리스 교육 시스템에 통합하는 것의 중요성을 주장했다. 그는 사회적, 문화적 변화가 종교적 미신이 아닌 자연과학을 통해 자연 세계를 설명함으로써 가장 잘 이루어질 수 있다고 역설했다.
능력 중심 사회.
모이시오다카스는 그리스가 오스만 제국의 지배를 받던 시기, 파나리오테스를 비롯한 엘리트들이 운영하던 교육 시스템이 야기한 불평등을 비판했다. 그는 이러한 시스템이 엘리트 계층에게만 교육 접근성을 허용했기 때문에 그리스 사회의 발전을 저해했다고 주장했다. 이는 개인의 능력이 아닌 사회경제적 지위에 기반한 사회적 불평등을 초래했다. 오스만 통치 하에서 많은 그리스 엘리트 남성들은 그리스 정교회의 성직자가 되기 위한 교육을 받으며 사회적으로 출세했다. 또한 파나리오테스 가문에서 태어난 사람들도 높은 사회적 지위를 얻었다. 모이시오다카스는 파나리오테스들이 교육을 받았음에도 불구하고, 허영심 많고 게으른 삶을 살며 사회의 도덕적 기반을 훼손한다고 보았다. 많은 파나리오테스들은 부와 지위를 얻기 위해 노력하기보다, 고객 관계나 가족 유대에 의존하여 부를 유지했다. 모이시오다카스는 이러한 사회가 오늘날 이론가들이 "시민 사회"(civil society)라고 부를 만한 것을 만들기 위한 개혁을 시행해야 한다고 제안했다. "시민 사회"에서는 모든 사람이 자신의 능력에 따라 사회적으로 발전할 동등한 기회를 제공받는다. 모이시오다카스에게 그리스 디아스포라 내의 상인 공동체는 "시민 사회"의 모범을 제시했다. 이들 상인들은 교육과 상업 무역에서의 노력으로 얻은 능력 덕분에 사회적으로 성공했다. 모이시오다카스는 이러한 사회에 대한 감탄으로 그들과 관계를 발전시켰다. 이 관계를 통해 상인들은 모이시오다카스가 학교에서 현대 그리스어 교육을 지지하는 것에 감탄하게 되었다. 더 많은 학생들이 현대 그리스어를 배울수록, 현대 그리스어가 그리스 디아스포라 전역의 상업 활동에 필수적이었기 때문에 상업 사회는 더욱 성장할 수 있었다. 이 상인들 중 몇몇은 모이시오다카스에게 재정적 지원을 제공했고, 그는 이 자금을 현대 그리스어 교육을 옹호하는 자신의 저서들을 출판하는 데 사용했다.
모이시오다카스는 자신의 사상을 전파하면서 비판과 폭력적인 위협에 직면하기도 했다. 예를 들어, 전통적인 교육 체제에 충성하는 많은 사람들이 모이시오다카스의 가르침을 부정했다. 또한 모이시오다카스는 '고대인과 근대인 논쟁'에서 고대인들을 지지하는 일부 철학자들에게 비판을 받았다고 생각했다. 그는 이 철학자들이 그리스 사회가 현대 철학 이론을 채택할 경우 자신들의 이론이 무의미해질 것을 두려워했다고 믿었다. 그럼에도 불구하고 모이시오다카스는 계몽주의 사상을 확산시키는 것이 자신의 의무라고 느꼈다. 그는 모든 그리스인을 계몽시키려는 희망으로 자신의 이론을 전파하고자 했다.
하지만 모이시오다카스가 실제로 믿기던 만큼 많은 폭력적인 비판에 직면하지는 않았을 수도 있다. 그의 긴 생애와 사회적, 문화적 비판에 대한 꾸준한 저작 활동은 그가 비판자들에 의해 폭력적으로 억압받지 않았다는 주장의 근거가 된다.
컴퓨팅에서 커먼 퍼블릭 라이선스(Common Public License, CPL)는 IBM이 발행한 자유 소프트웨어 / 오픈 소스 소프트웨어 라이선스이다. 자유 소프트웨어 재단과 오픈 소스 이니셔티브는 CPL의 라이선스 조항을 승인했다.
CPL은 다른 라이선스, 특히 많은 사유 소프트웨어 라이선스가 적용된 소프트웨어와 CPL 적용 콘텐츠를 함께 사용할 수 있는 능력을 유지하면서도 협력적인 오픈 소스 개발을 지원하고 장려하는 것을 목표로 한다. 이클립스 공용 허가서(EPL)는 CPL을 약간 수정한 버전으로 구성된다.
CPL은 GNU 일반 공중 사용 허가서(GPL)와 유사한 일부 조항을 가지고 있지만, 몇 가지 주요 차이점이 존재한다. 유사점은 수정된 컴퓨터 프로그램의 배포와 관련이 있다. CPL 또는 GPL 어떤 라이선스 하에서든 수정된 프로그램의 소스 코드를 다른 사람에게 제공해야 한다.
CPL은 GNU 약소 일반 공중 사용 허가서와 같이 CPL 라이선스가 아닌 소프트웨어가 CPL 하의 라이브러리에 링크하는 것을 허용하며, 링크된 소스 코드를 라이선스 사용자에게 제공할 것을 요구하지 않는다.
CPL은 GPL의 두 버전과 모두 호환되지 않는데, 이는 섹션 7에 "준거법 조항" 섹션이 있어 법적 분쟁을 특정 법원으로 제한하기 때문이다. 또 다른 비호환성 원인은 카피레프트 요구 사항이 다르다는 점이다.
오픈 소스 라이선스의 수를 줄이기 위해 IBM과 이클립스 재단은 향후 이클립스 공용 허가서만을 사용하기로 합의했다. 따라서 오픈 소스 이니셔티브는 커먼 퍼블릭 라이선스를 더 이상 사용하지 않으며 EPL로 대체되었다고 명시한다.
커널 모드 드라이버 프레임워크(Kernel-Mode Driver Framework, KMDF)는 드라이버 개발자가 윈도우 2000 이상 버전용 커널 모드 장치 드라이버를 생성하고 유지 관리하는 데 도움을 주기 위해 마이크로소프트가 개발한 드라이버 프레임워크이다. 이것은 윈도우 드라이버 프레임웍스에 포함된 프레임워크 중 하나이다.
WDM과의 관계.
일반적으로 KMDF는 윈도우 드라이버 모델용으로 작성된 드라이버를 지원하며 WDM에서 실행된다. WDM은 윈도우 98 출시 이후 사용된 드라이버 모델인 반면, KMDF는 마이크로소프트가 윈도우 2000 이상 버전에 권장하고 사용하는 드라이버 프레임워크이다.
일반적으로 전원 관리 및 플러그 앤 플레이와 같은 더 많은 기능이 KMDF 프레임워크에서 처리되기 때문에 KMDF 드라이버는 동등한 WDM 드라이버보다 덜 복잡하고 코드가 적다.
KMDF는 객체 기반이며 WDM 위에 구축되었다. 슈퍼셋인 WDF의 아키텍처적 지시를 따라 WDM에 객체 기반 관점을 제공한다. 기능은 다양한 유형의 객체에 포함되어 있다. KMDF 구현은 다음으로 구성된다.
사용자 모드 드라이버 프레임워크(User-Mode Driver Framework, UMDF)는 마이크로소프트의 윈도우 비스타 운영체제에서 처음 도입되었으며 윈도우 XP에서도 사용할 수 있는 장치 드라이버 개발 플랫폼이다. 이는 특정 종류의 장치에 대한 드라이버 생성을 용이하게 한다.
표준 장치 드라이버는 특히 다중 스레드 소프트웨어 환경에서 매우 광범위한 시스템 및 장치 상태를 처리해야 하므로 작성하기 어려울 수 있다. 모든 표준 드라이버는 커널에 직접 접근할 때 높은 권한을 가지므로 잘못 작성된 장치 드라이버는 시스템에 심각한 손상(예: BSoD 또는 데이터 손상)을 일으킬 수 있다. 사용자 모드 드라이버 프레임워크는 직접적인 드라이버 접근 문제로부터 커널을 격리시키고, 대신 사용자 수준의 인터럽트 및 메모리 관리에서 전용 응용 프로그래밍 인터페이스를 가진 새로운 종류의 드라이버를 제공한다. 오류가 발생하면 이 새로운 프레임워크는 시스템에 영향을 주지 않고 즉각적인 드라이버 재시작을 허용한다. 이는 시스템에 간헐적으로 연결되거나 USB 또는 파이어와이어와 같은 버스 기술을 통해 핫 스와핑을 지원하는 장치에 특히 유용하다.
마이크로소프트에 따르면 UMDF 드라이버는 커널 모드 드라이버보다 작성 및 디버그가 더 간단하다. 그러나 UMDF는 성능 집약적이거나 상태가 많은 장치에는 사용되지 않는다.
UMDF의 첫 번째 버전은 2004년 10월 12일에 윈도우 미디어 플레이어 버전 10의 일부로 출시되었다. "크레센트"라는 코드명으로 미디어 전송 프로토콜 드라이버를 지원하도록 설계되었으며, 공개 인터페이스나 문서는 제공되지 않았다. 나중에 마이크로소프트는 UMDF를 장치 드라이버 개발 플랫폼으로 전환하기로 결정했다.
UMDF 드라이버는 마이크로소프트의 컴포넌트 오브젝트 모델 (COM) 기반의 DLL이다. 그러나 UMDF는 로드, 언로드 또는 병행성 제어에 COM을 사용하지 않는다. UMDF는 단지 프로그래밍 패턴으로 COM을 사용하며, 예를 들어 COM의 IUnknown 인터페이스를 활용한다. 시작 시, UMDF는 DllGetClassObject를 호출하여 드라이버의 IClassFactory 인터페이스에 대한 포인터를 얻고, 그 다음 IClassFactory 인터페이스의 CreateInstance 메서드를 사용하여 드라이버 콜백 객체의 인스턴스를 생성한다.
드라이버 객체는 프레임워크에서 제공하는 IWDFDriver 인터페이스의 인스턴스이다. 드라이버는 IDriverEntry COM 인터페이스를 통해 콜백 집합을 제공하는데, 이는 드라이버 사용자 정의를 위한 주요 진입점이다.
마이크로소프트 윈도우 플랫폼 특정 암호화 응용 프로그래밍 인터페이스(Cryptographic Application Programming Interface, 일반적으로 크립토API, CryptoAPI, Microsoft Cryptography API, MS-CAPI 또는 단순히 CAPI로도 알려져 있음)는 마이크로소프트 윈도우 운영체제에 포함된 응용 프로그래밍 인터페이스로, 개발자가 암호학을 사용하여 윈도우 기반 응용 프로그램을 보호할 수 있도록 서비스를 제공한다. 이는 데이터를 암호화하는 데 사용되는 코드로부터 프로그래머를 격리시키는 추상화 계층을 제공하는 동적 링크 라이브러리 세트이다. 크립토 API는 윈도우 95 OSR2 및 윈도우 NT 4.0에서 처음 도입되었으며 이후 버전에서 향상되었다.
크립토API는 영구적인 대칭 키는 지원하지 않지만 공개 키 및 대칭 키 암호화를 모두 지원한다. 데이터 암호화 및 복호화 기능과 디지털 인증서를 사용한 인증 기능이 포함되어 있다. 또한 암호학적으로 안전한 유사난수 생성기 함수 CryptGenRandom도 포함되어 있다.
크립토API는 컴퓨터에 설치된 여러 CSP(암호화 서비스 공급자)와 함께 작동한다. CSP는 암호화 기능을 수행하여 데이터를 인코딩하고 디코딩하는 실제 작업을 수행하는 모듈이다. HSM 공급업체는 해당 하드웨어와 함께 작동하는 CSP를 제공할 수 있다.
암호화 API: 차세대.
윈도우 비스타는 Cryptography API: Next Generation (CNG)으로 알려진 Crypto API 업데이트를 특징으로 한다. 이는 더 나은 API 분할을 통해 동일한 함수가 다양한 암호화 알고리즘을 사용하여 작동할 수 있도록 하며, 미국 국가안보국(NSA) 스위트 B의 일부인 여러 최신 알고리즘을 포함한다. 또한 CNG 런타임에 사용자 지정 암호화 API를 플러그인하는 것을 지원하는 유연성을 갖추고 있다. 그러나 CNG 키 저장 공급자는 여전히 대칭 키를 지원하지 않는다. CNG는 사용자 및 커널 모드 모두에서 작동하며, 크립토API의 모든 알고리즘도 지원한다. CNG를 구현하는 마이크로소프트 공급자는 Bcrypt.dll에 저장된다.
CNG는 또한 타원 곡선 암호 방식을 지원하는데, 이는 동일한 예상 보안 수준에 대해 더 짧은 키를 사용하므로 RSA보다 효율적이다. CNG API는 스마트 카드 API를 캡슐화하는 기본 스마트 카드 암호화 서비스 공급자(Base CSP) 모듈을 포함하여 스마트카드 하위 시스템과 통합된다. 스마트카드 제조업체는 처음부터 해결책을 제공하는 대신 자사 장치가 이에 호환되도록 하기만 하면 된다.
CNG는 또한 Dual_EC_DRBG에 대한 지원을 추가하는데, 이는 NIST SP 800-90A에 정의된 유사난수 생성기로, 개발자가 다른 암호학적으로 안전한 유사난수 생성기 또는 진정 난수 생성기로 새로운 기본점을 생성하고 NSA 백도어를 제거하기 위해 생성된 시드를 게시하는 것을 잊지 않는 한, 클렙토그래피 백도어를 포함하고 있기 때문에 사용자가 미국 국가안보국에 의한 도청에 노출될 수 있다. 또한 매우 느리다. 이는 명시적으로 호출될 때만 사용된다.
CNG는 또한 기본 PRNG를 AES를 블록 암호로 사용하는 CTR_DRBG로 대체하는데, 이전의 RNG(현재는 폐지된 FIPS 186-2에 정의됨)는 DES 또는 SHA-1에 기반을 두었으며, 둘 다 해독되었기 때문이다. CTR_DRBG는 NIST SP 800-90에 있는 두 가지 알고리즘 중 하나로, 슈나이어가 지지하며, 다른 하나는 Hash_DRBG이다.
데이터 보호 애플리케이션 프로그래밍 인터페이스(Data Protection Application Programming Interface, DPAPI)는 윈도우 2000 및 이후 버전의 마이크로소프트 윈도우 운영체제에 내장된 구성 요소로 제공되는 간단한 암호화 애플리케이션 프로그래밍 인터페이스이다. 이론적으로 데이터 보호 API는 모든 종류의 데이터를 대칭 암호화할 수 있지만, 실제로는 윈도우 운영체제에서 비대칭 개인 키를 대칭 암호화하는 데 주로 사용되며, 이 때 사용자 또는 시스템 비밀이 엔트로피에 크게 기여한다. DPAPI 내부 작동에 대한 자세한 분석은 2011년 버스츠테인 등이 발표했다.
거의 모든 암호체계에서 가장 어려운 과제 중 하나는 "키 관리"이다. 부분적으로는 복호화 키를 안전하게 저장하는 방법이다. 만약 키가 플레인 텍스트로 저장된다면, 키에 접근할 수 있는 모든 사용자가 암호화된 데이터에 접근할 수 있다. 만약 키를 암호화해야 한다면, 또 다른 키가 필요하며 이는 무한히 반복된다. DPAPI는 개발자가 사용자 로그인 비밀에서 파생된 대칭 키를 사용하여 키를 암호화하거나, 시스템 암호화의 경우 시스템의 도메인 인증 비밀을 사용하여 키를 암호화할 수 있도록 한다.
사용자 RSA 키를 암호화하는 데 사용되는 DPAPI 키는 codice_1 디렉터리에 저장되며, 여기서 {SID}는 해당 사용자의 보안 식별자이다. DPAPI 키는 사용자의 개인 키를 보호하는 마스터 키와 동일한 파일에 저장된다. 일반적으로 64바이트의 임의 데이터이다.
보안 속성.
DPAPI는 자체적으로 영구적인 데이터를 저장하지 않고, 단순히 평문을 받아서 암호문을 반환(또는 그 반대)한다.
DPAPI 보안은 마스터 키와 RSA 개인 키를 손상으로부터 보호하는 윈도우 운영 체제의 능력에 의존하며, 대부분의 공격 시나리오에서 이는 최종 사용자 자격 증명의 보안에 가장 크게 의존한다. 주요 암호화/복호화 키는 PBKDF2 함수에 의해 사용자 암호에서 파생된다. 특정 데이터 바이너리 라지 오브젝트는 솔트가 추가되거나 외부 사용자 프롬프트 암호(일명 "강력한 키 보호")가 필요한 방식으로 암호화될 수 있다. 솔트 사용은 구현별 옵션으로 즉, 애플리케이션 개발자의 통제하에 있으며 최종 사용자나 시스템 관리자는 통제할 수 없다.
COM+ 객체를 사용하여 키에 대한 위임된 접근 권한을 부여할 수 있다. 이를 통해 IIS 웹 서버가 DPAPI를 사용할 수 있다.
액티브 디렉터리 백업 키.
컴퓨터가 도메인의 구성원일 때, DPAPI는 사용자의 암호가 손실된 경우 데이터 보호를 허용하는 백업 메커니즘을 가지고 있으며, 이를 "자격 증명 로밍"이라고 한다.
도메인 컨트롤러에 새 도메인을 설치할 때, DPAPI와 관련된 공개 및 개인 키 쌍이 생성된다.
클라이언트 워크스테이션에서 마스터 키가 생성될 때, 클라이언트는 인증된 RPC 호출을 통해 도메인 컨트롤러와 통신하여 도메인의 공개 키 사본을 검색한다. 클라이언트는 마스터 키를 도메인 컨트롤러의 공개 키로 암호화한다. 마지막으로, 이 새로운 백업 마스터 키를 기존 마스터 키 저장 방식과 마찬가지로 AppData 디렉터리에 저장한다.
마이크로소프트 소프트웨어의 DPAPI 사용.
모든 마이크로소프트 제품에 보편적으로 구현된 것은 아니지만, 마이크로소프트 제품의 DPAPI 사용은 윈도우의 각 후속 버전과 함께 증가했다. 그러나 마이크로소프트 및 타사 개발사의 많은 애플리케이션은 여전히 자체 보호 방식을 선호하거나 최근에야 DPAPI로 전환했다. 예를 들어, 인터넷 익스플로러 4.0~6.0 버전, 아웃룩 익스프레스 및 MSN 익스플로러는 저장된 암호 등 자격 증명을 저장하기 위해 이전 Protected Storage (PStore) API를 사용했다. 인터넷 익스플로러 7은 이제 저장된 사용자 자격 증명을 DPAPI를 사용하여 보호한다.
소프트웨어 팩토리(software factory)는 제조 과정을 통해 외부에서 정의된 특정 최종 사용자 요구 사항에 따라 컴퓨터 소프트웨어 응용 프로그램 또는 소프트웨어 구성 요소를 생산하는 데 도움이 되는 관련 소프트웨어 자산의 구조화된 모음이다. 소프트웨어 팩토리는 전통적인 제조의 이점을 모방하기 위해 소프트웨어 개발에 제조 기술 및 원칙을 적용한다. 소프트웨어 팩토리는 일반적으로 아웃소싱된 소프트웨어 생성과 관련이 있다.
소프트웨어 공학 및 엔터프라이즈 소프트웨어 구조에서 소프트웨어 팩토리는 프레임워크 기반 구성 요소를 조정, 조립 및 구성하여 전형적인 제품의 변형 개발 및 유지 관리를 자동화하기 위해 스키마 기반 템플릿을 사용하여 광범위한 도구, 프로세스 및 콘텐츠를 구성하는 소프트웨어 제품군이다.
코딩은 소프트웨어 공학자 (또는 전통적인 제조의 경우 숙련공)를 필요로 하므로, 응용 프로그램 계층에서 프로세스에서 제거되고 소프트웨어는 전통적인 IDE를 사용하는 대신 미리 정의된 구성 요소를 조립하여 생성된다. 전통적인 코딩은 새로운 구성 요소나 서비스를 생성하는 데에만 사용된다. 전통적인 제조와 마찬가지로 엔지니어링은 구성 요소 생성과 시스템 요구 사항 수집에 남겨진다. 소프트웨어 팩토리에서 제조의 최종 결과는 복합 응용 프로그램이다.
소프트웨어 팩토리 기반 응용 프로그램 개발은 유사한 응용 프로그램 개발에서 얻은 지식과 생성된 자산을 활용하지 않고 응용 프로그램이 개발 및 제공되는 전통적인 응용 프로그램 개발의 문제를 해결한다. 교육, 문서화 및 프레임워크와 같은 많은 접근 방식이 이 문제를 해결하는 데 사용된다. 그러나 이러한 접근 방식을 사용하여 여러 응용 프로그램 개발 중에 이전에 얻은 귀중한 지식을 일관되게 적용하는 것은 비효율적이고 오류가 발생하기 쉬운 프로세스일 수 있다.
소프트웨어 팩토리는 프로젝트 팀이 채택하기 쉬운 통합 지침 패키지 내에서 특정 스타일의 응용 프로그램을 개발하기 위한 검증된 사례를 인코딩함으로써 이 문제를 해결한다. 적절한 소프트웨어 팩토리를 사용하여 응용 프로그램을 개발하면 생산성, 품질 및 진화 기능 향상과 같은 많은 이점을 얻을 수 있다.
소프트웨어 팩토리는 독특하며 특정 유형의 응용 프로그램을 구축하는 데 도움이 되도록 설계된 고유한 자산 세트를 포함한다. 일반적으로 대부분의 소프트웨어 팩토리는 다음과 같은 유형의 상호 관련 자산을 포함한다.
소프트웨어 팩토리를 사용하여 제품을 구축하는 데는 다음과 같은 활동이 포함된다.
소프트웨어 팩토리를 사용하여 응용 프로그램을 개발하면 기존 소프트웨어 개발 접근 방식과 비교하여 많은 이점을 얻을 수 있다. 다음과 같은 이점이 있다.
이러한 이점은 다음과 같은 방식으로 여러 다른 팀에 가치를 제공할 수 있다.
비즈니스를 위한 가치.
비즈니스 작업이 단순화되어 사용자 생산성을 크게 높일 수 있다. 이는 최종 사용자 교육의 필요성을 줄이는 일반적이고 일관된 사용자 인터페이스를 사용하여 달성된다. 새롭고 업데이트된 기능의 쉬운 배포와 유연한 사용자 인터페이스 또한 최종 사용자가 비즈니스 워크플로에 따라 작업을 수행할 수 있도록 한다. 데이터 품질 향상은 ALT+TAB 및 복사 및 붙여넣기 기술을 통한 응용 프로그램 부분 간의 데이터 교환 필요성을 줄인다.
아키텍트를 위한 가치.
아키텍트는 소프트웨어 팩토리를 사용하여 품질과 일관성이 향상된 응용 프로그램 및 시스템을 설계할 수 있다. 이는 가장 중요한 메커니즘과 공유 요소만 포함하는 솔루션의 부분 구현을 생성하는 능력을 통해 달성된다. 기준 아키텍처라고 불리는 이러한 유형의 구현은 설계 및 개발 문제를 해결하고, 아키텍처 결정을 노출하며, 개발 주기 초기에 위험을 완화할 수 있다. 소프트웨어 팩토리는 또한 비즈니스 로직과 무관하게 아키텍처 표준을 적용하기 위해 비즈니스 구성 요소를 개발, 패키징, 배포 및 업데이트하는 일관되고 예측 가능한 방법을 생성할 수 있도록 한다.
개발자를 위한 가치.
개발자는 소프트웨어 팩토리를 사용하여 생산성을 높이고 램프업 시간을 줄일 수 있다. 이는 코드와 패턴을 포함하는 응용 프로그램의 고품질 시작점(기준선)을 생성함으로써 달성된다. 이를 통해 프로젝트는 전통적으로 개발된 응용 프로그램보다 더 높은 성숙도 수준에서 시작할 수 있다. 재사용 가능한 자산, 지침 및 예제는 일반적인 시나리오 및 과제를 해결하는 데 도움이 되며, 일반적인 작업의 자동화는 개발자가 일관된 방식으로 지침을 쉽게 적용할 수 있도록 한다. 소프트웨어 팩토리는 응용 프로그램 복잡성을 숨기고 관심사를 분리하는 추상화 계층을 제공하여 개발자가 인프라 또는 기준 서비스에 대한 심층적인 지식 없이 비즈니스 로직, 사용자 인터페이스(UI) 또는 응용 프로그램 서비스와 같은 다양한 영역에 집중할 수 있도록 한다. 일반적인 개발자 작업의 추상화 및 인프라 코드의 재사용성 증가는 생산성 및 유지 관리성을 높이는 데 도움이 될 수 있다.
운영을 위한 가치.
소프트웨어 팩토리로 구축된 응용 프로그램은 운영 노력의 통합을 가져온다. 이는 일반적인 비즈니스 요소 및 모듈의 쉬운 배포를 제공하여 응용 프로그램 제품군 전반에 걸쳐 일관된 구성 관리를 가능하게 한다. 응용 프로그램은 플러그형 아키텍처를 통해 중앙에서 관리할 수 있으며, 이를 통해 운영 팀은 기본 서비스를 제어할 수 있다.
다른 접근 방식.
소프트웨어 팩토리 개념에 대한 대조적인 견해를 나타내는 여러 접근 방식이 있으며, 도구 지향적인 것부터 프로세스 지향적인 이니셔티브까지 다양하다. 다음 접근 방식은 일본, 유럽 및 북미 이니셔티브를 다룬다.
산업화된 소프트웨어 조직(일본).
이 접근 방식에 따르면 소프트웨어 팩토리에서 생산되는 소프트웨어는 주로 제어 시스템, 원자로, 터빈 등에 사용된다. 이 접근 방식의 주요 목표는 생산성과 일치하는 품질이며, 증가된 비용이 경쟁력을 약화시키지 않도록 보장하는 것이다. 또한 설계, 프로그래밍, 테스트, 설치 및 유지 보수를 통합된 방식으로 수행할 수 있는 환경을 조성하는 추가 목표도 있다.
품질과 생산성을 향상시키는 핵심은 소프트웨어 재사용이다. 조직 설계의 지배적인 특징은 운영 작업을 일상적이고 단순하며 반복적으로 만들고 작업 프로세스를 표준화하려는 확고한 노력이다.
이 접근 방식의 대표적인 예는 도시바의 소프트웨어 팩토리 개념으로, 각각 1981년과 1987년의 회사 소프트웨어 부서 및 절차를 나타낸다.
일반 소프트웨어 팩토리(유럽).
이 접근 방식은 유레카 프로그램의 지원을 받아 유레카 소프트웨어 팩토리라고 불렸다. 이 프로젝트의 참가자는 유럽 대기업, 컴퓨터 제조업체, 소프트웨어 회사, 연구 기관 및 대학이다. 이 접근 방식의 목표는 독립 공급업체가 판매하는 구성 요소에서 소프트웨어 팩토리를 구축하고 맞춤화하는 데 필요한 기술, 표준, 조직 지원 및 기타 필수 인프라를 제공하는 것이다.
이 접근 방식의 목표는 통합 개발 환경을 위한 아키텍처와 프레임워크를 생산하는 것이다. 일반 소프트웨어 팩토리는 소프트웨어 구성 요소를 위한 표준 및 지침과 함께 소프트웨어 팩토리의 일부인 구성 요소 및 생산 환경을 개발한다.
경험 기반 구성 요소 팩토리(북미).
경험 기반 구성 요소 팩토리는 NASA 고다드 우주 비행 센터의 소프트웨어 공학 연구소에서 개발되었다. 이 접근 방식의 목표는 "생산 환경에서 소프트웨어 프로세스를 이해하고, 사용 가능한 기술의 영향을 결정하며, 식별/정제된 방법을 개발 프로세스에 다시 주입하는 것"이다. 이 접근 방식은 생산 환경에서 새로운 기술을 실험하고, 실험에서 경험과 데이터를 추출하고 적용하며, 비용, 신뢰성 및 품질과 관련하여 영향을 측정하는 것이었다.
이 접근 방식은 특정 프로세스 특성과 제품 품질 간의 관계를 이해함으로써 지속적인 개선에 중점을 둔다. 소프트웨어 팩토리는 강점과 약점에 대한 데이터를 수집하여 개선을 위한 기준선을 설정하고 새로운 프로젝트에서 재사용할 경험을 수집하는 데 사용된다.
성숙한 소프트웨어 조직(북미).
능력 성숙도 모델에 의해 정의된 이 접근 방식은 고품질 소프트웨어를 생산하는 예측 가능하고 신뢰할 수 있으며 자체 개선적인 소프트웨어 개발 프로세스를 달성하기 위한 프레임워크를 만드는 것을 목표로 했다. 이 전략은 소프트웨어 조직에서 단계별 개선으로 구성되며, 개발에서 어떤 프로세스가 중요한지 정의한다. 소프트웨어 프로세스와 소프트웨어 제품 품질은 측정 가능한 한계 내에 유지되므로 예측 가능하다.
쿠수마노(Cusumano)는 소프트웨어 팩토리의 여섯 가지 단계를 제안한다.
컴퓨팅에서 동적 데이터 교환(Dynamic Data Exchange, DDE)은 마이크로소프트 윈도우 및 OS/2 초기 버전에서 사용된 프로세스 간 통신 기술이다. DDE는 프로그램이 다른 프로그램에서 제공하는 개체를 조작하고, 해당 개체에 영향을 미치는 사용자 작업에 응답할 수 있도록 한다. DDE는 객체 연결 삽입(OLE)에 의해 부분적으로 대체되었으며, 현재는 하위 호환성을 위해서만 윈도우 시스템에서 유지되고 있다.
역사 및 아키텍처.
동적 데이터 교환은 1987년 윈도우 2.0 출시와 함께 한 프로그램이 다른 프로그램과 통신하거나 제어할 수 있도록 하는 프로세스 간 통신 방법으로 처음 도입되었다. 이는 선 RPC(원격 프로시저 호출)와 다소 유사하다. 당시 운영 체제와 클라이언트 애플리케이션 간의 유일한 통신 방법은 "윈도우 메시징 레이어"였다. DDE는 이 프로토콜을 확장하여 메시지 브로드캐스트를 통해 클라이언트 애플리케이션 간의 피어 투 피어 통신을 허용했다.
DDE는 메시지 브로드캐스트를 통해 실행되기 때문에 메시지 펌핑을 하지 않는 모든 창 관리 코드에 취약하다. 이 문제는 마이크로소프트 윈도우에서 선점형 멀티태스킹이 등장하기 전에 DDE가 설계되었기 때문에 고려되지 않았다.
또한, 윈도우 핸들을 관리하는 모든 코드는 DDE 브로드캐스트에 응답할 수 있다. DDE 시작자는 예상되는 응답과 예상치 못한 응답을 구별해야 한다. DDE 대화자는 일반적으로 계층적 문자열 키를 사용하여 원하는 정보를 표현한다. 예를 들어, 마이크로소프트 엑셀의 셀은 "애플리케이션" 이름으로 DDE에 알려졌다. 각 애플리케이션은 "토픽"으로 알려진 그룹으로 정보를 추가로 구성할 수 있었고, 각 토픽은 "아이템"으로 개별 데이터 조각을 제공할 수 있었다. 예를 들어, 사용자가 "Book1.xls"라는 스프레드시트의 첫 번째 행, 첫 번째 열에 있는 셀의 값을 마이크로소프트 엑셀에서 가져오려면, 애플리케이션은 "Excel"이 되고, 토픽은 "Book1.xls", 아이템은 "r1c1"이 된다. 엑셀 작업으로 인한 셀 내부의 변경 사항은 추가 메시지 브로드캐스트를 통해 호출 애플리케이션에 (역방향으로) 신호로 전달된다.
최신 자동화 기술과의 관계.
DDE의 일반적인 용도는 사용자 정의 개발 애플리케이션이 상용 소프트웨어를 제어하는 것이다. 예를 들어, 사용자 정의 사내 애플리케이션은 DDE를 사용하여 마이크로소프트 엑셀 스프레드시트를 열고, 엑셀과 DDE 대화를 열고 DDE 명령을 보내 데이터를 채울 수 있다. 이 기능은 주로 컴포넌트 오브젝트 모델 기술 제품군으로 대체되었다. 마이크로소프트는 윈도우 95 출시 이후 DDE를 내부적으로 사용하지 않았다. 예를 들어, 엑셀은 이제 엑셀과 통신하기 위한 권장 방법인 광범위한 OLE 자동화 객체 모델을 노출한다. 그러나 이 기술은 특히 금융 데이터 배포에 여전히 사용되고 있다. DDE는 기존 윈도우 GUI 프로그램보다 더 많은 운영 체제 구성 요소를 요구하지 않으므로, 종속성을 최소화하려는 프로그램에 대한 [거의 사용되지 않는] 대안이기도 하다.
NetDDE.
원더웨어는 DDE의 확장 기능인 NetDDE를 개발했는데, 이는 네트워크의 다른 컴퓨터에서 실행되는 DDE 인식 애플리케이션 간에 DDE 대화에 필요한 네트워크 연결을 시작하고 유지하며 데이터를 투명하게 교환하는 데 사용될 수 있었다. DDE 대화는 클라이언트 및 서버 애플리케이션 간의 상호 작용이다. NetDDE는 DDE 및 DDE 관리 라이브러리(DDEML)와 함께 애플리케이션에서 사용될 수 있었다.
NetDDE 라이브러리 파일
마이크로소프트는 Windows for Workgroups부터 윈도우 XP까지 다양한 버전의 윈도우에 포함하기 위해 기본(NetBIOS 프레임만 해당) 버전의 제품에 대한 라이선스를 획득했다. 또한, 원더웨어는 TCP/IP 지원을 포함하는 향상된 버전의 NetDDE를 자체 고객에게 판매했다. 이 기술은 스카다 분야에서 광범위하게 사용된다. NetDDE를 사용하는 기본 윈도우 애플리케이션으로는 클립북 뷰어, 윈챗 및 하트 (윈도우)가 있다.
NetDDE는 윈도우 서버 2003 및 윈도우 XP 서비스 팩 2에 여전히 포함되었지만 기본적으로 비활성화되어 있었다. 윈도우 비스타에서는 완전히 제거되었다. 그러나 이는 기존 버전의 NetDDE가 이후 버전의 윈도우에 설치되고 작동하는 것을 막지는 않는다.
윈도우 이미징 컴포넌트(Windows Imaging Component, WIC)는 윈도우 비스타에서 도입된(이후 윈도우 XP 서비스 팩 3에서도 사용 가능) COM 기반 이미징 코덱 프레임워크로, 디지털 이미지 및 이미지 메타데이터 작업 및 처리를 위해 사용된다.
WIC는 애플리케이션 개발자가 특정 이미지 형식에 대한 사전 지식 없이도 단일 공통 API 집합을 통해 모든 이미지 형식에 대한 이미지 처리 작업을 수행할 수 있도록 한다.
윈도우 이미징 컴포넌트는 새로운 형식의 자동 런타임 검색을 통해 이미지 코덱, 픽셀 형식 및 메타데이터를 위한 확장 가능한 아키텍처를 제공한다. 이는 이미지 파일에서 임의의 메타데이터를 읽고 쓸 수 있도록 지원하며, 편집 중에 인식되지 않는 메타데이터를 보존하는 기능도 제공한다. 이미지 작업 시, 윈도우 비스타에 내장된 개선된 HDR 이미지 처리 파이프라인을 통해 채널당 최대 32비트의 높은 비트 깊이 이미지 데이터를 유지한다.
윈도우 이미징 컴포넌트는 윈도우 비스타의 ICC V4 호환 색상 관리 기술인 윈도우 컬러 시스템을 지원한다.
기본적으로 윈도우 비스타는 JPEG, TIFF, GIF, PNG, BMP 및 HD 포토 인코더 및 디코더와 ICO 디코더를 함께 제공한다. 또한, 2009년 현재 일부 카메라 제조업체 및 타사에서 독점 Raw 이미지 포맷용 WIC 코덱을 출시하여, 윈도우 7 및 비스타에서 맥과 유사한 Raw 이미지 지원이 가능하게 되었다. 2011년 7월, 마이크로소프트 자체에서 대부분의 최신 디지털 카메라용 별도 코덱 팩을 제공함으로써 이러한 지원이 크게 확장되었다. 프로그레시브 그래픽스 파일(PGF) 뷰어는 WIC 코덱과 함께 배포된다.
WIC는 교환 이미지 파일(Exchangeable Image File, Exif), PNG 텍스트 메타데이터, 이미지 파일 디렉터리(IFD), IPTC 정보 교환 모델(IPTC), 그리고 XMP(Extensible Metadata Platform, XMP) 형식을 지원한다. 또한, WIC는 타사 메타데이터 구현을 지원하기 위한 확장 가능한 프레임워크를 포함한다.
메타데이터 형식 지원은 코덱별로 다르다. 예를 들어, 기본 JPEG 코덱은 XMP를 지원하지만, 기본 GIF 및 PNG 코덱은 지원하지 않는다.
마이크로소프트 제품에서의 WIC.
WIC는 서비스 팩 2가 포함된 윈도우 XP에서 독립형 다운로드 프로그램으로 제공되며, 서비스 팩 3이 포함된 윈도우 XP에는 내장되어 있다. 또한 .NET Framework 3.0의 일부로도 제공된다. 마이크로소프트의 윈도우 XP용 단종된 PowerToy 중 하나인 Photo Info는 윈도우 탐색기에서 이미지 메타데이터를 보고 편집할 수 있도록 해주며, 이 역시 WIC를 사용한다.
윈도우 비스타부터 윈도우 탐색기와 윈도우 사진 갤러리는 WIC를 기반으로 하므로, WIC 코덱이 설치된 모든 형식의 이미지를 보고 정리할 수 있다. Office 2010 및 이후 버전의 핵심 Office 앱(워드, 엑셀, 파워포인트, 아웃룩)은 WIC가 지원하는 이미지 파일 형식을 가져올 수 있다.
윈도우 7부터 윈도우 미디어 센터 (윈도우 7 홈 프리미엄 이상에서 사용 가능)는 WIC를 지원한다. 또한 GDI+ 그래픽 라이브러리는 WIC를 기반으로 구축되었지만, GDI+는 타사 또는 외부 코덱을 로드하지 않는다. 윈도우 7에서는 WIC 스택 자체가 대대적인 개편을 거쳐 이제 모든 내장 및 윈도우와 함께 제공되는 외부 코덱과 마찬가지로 자유 스레드 방식이 되었다. 자유 스레드 방식은 윈도우 7을 대상으로 하는 새로운 코덱의 요구 사항이기도 하다.
Microsoft Expression Design의 가져오기 및 내보내기 기능은 전적으로 WIC를 기반으로 한다. 익스프레션 미디어(현재 Phase One Media Pro) 서비스 팩 1 이후 버전도 WIC를 사용하여 추가 Raw 카메라 형식 및 HD Photo(현재 JPEG XR)를 지원한다.
2018년 현재, WIC를 활용하는 타사 이미징 애플리케이션(이미지 편집기, 이미지 정리 도구, 이미지 뷰어)은 거의 없다.
간단한 독립형 타사 이미지 뷰어인 FastPictureViewer는 WIC를 사용하여 표준 이미지 형식과 HD Photo 및 Raw 카메라 형식(NRW, NEF, CR2, DNG)을 지원한다. FastPictureViewer 웹사이트에서는 Adobe 포토샵용 실험적인 WIC 가져오기 플러그인도 찾을 수 있다.
김프용 또 다른 WIC 가져오기 플러그인은 Gimp-Forum.net에서 찾을 수 있다.
WIC는 다음 뜻이 있다.
Shareaza는 마이크로소프트 윈도우에서 실행되는 P2P 파일 공유 클라이언트로, 그누텔라, 그누텔라2 (G2), 이동키, 비트토렌트, FTP, HTTP 및 HTTPS 네트워크 프로토콜을 지원하며 마그넷 링크, ed2k 링크, 그리고 현재는 사용되지 않는 그누텔라 및 파이올렛 링크를 처리한다. 30개 언어로 제공된다.
Shareaza는 2004년 6월 1일까지 마이클 스토크스에 의해 개발되었으며, 이후 자원봉사자 그룹에 의해 유지되었다. 2004년 6월 1일, Shareaza 2.0이 소스 코드와 함께 GNU 일반 공중 사용 허가서 (GPL-2.0-or-later) 하에 출시되어 자유 소프트웨어가 되었다.
다중 네트워크.
Shareaza는 그누텔라, G2, 이동키 및 비트토렌트에 연결할 수 있다. Shareaza는 모든 네트워크의 파일에 해시를 적용한 다음 해당 해시 값을 G2에 분산한다. 이를 통해 Shareaza는 여러 네트워크에서 동시에 하나의 파일을 다운로드할 수 있다. G2에 연결된 다른 클라이언트가 그러한 파일을 찾으면, 모든 네트워크에 대한 해시 값을 제공받고 해당 해시 값으로 다른 네트워크에서 검색할 수 있어 소스 수와 파일 다운로드 속도가 증가한다. Shareaza는 또한 G2 네트워크를 사용하여 토렌트의 더 많은 소스를 찾는다.
보안 필터.
Shareaza 클라이언트는 강제 아동 필터와 선택적 성인 포르노 필터를 포함한 몇 가지 기본 콘텐츠 필터를 가지고 있으며, 디지털 권리 관리(DRM)로 인해 제약을 받는 파일에 대한 필터와 같은 다른 선택적 필터도 있다. Shareaza의 보안 필터는 사용자 정의 키워드 및 IP 주소를 사용하여 확장할 수도 있다. Shareaza의 이후 버전에서는 정규 표현식 및 해시를 통한 필터링을 사용할 수 있다. 이러한 필터는 사용자가 원하는 파일을 얻을 가능성을 높이고 악성 또는 가짜 파일을 얻을 가능성을 줄여준다. 필터에 사용되는 파일 형식은 확장 가능한 XML 스키마이다. 필터는 Shareaza 내에서 편집할 수 있으며, 다른 사람들과 공유하기 위해 응용 프로그램에서 내보낼 수 있다.
Shareaza는 추가 플러그인을 위한 프레임워크를 구현한다. Shareaza 설치 프로그램에는 여러 플러그인이 포함되어 있다. 대부분은 해시되는 파일에서 내장된 메타데이터를 읽고 제거하여 외부 XML 기반 형식으로 변환하거나, 다른 G2 클라이언트를 위한 미리보기를 만들기 위해 멀티미디어 파일을 디코딩하는 데 사용된다. 다른 일부는 Shareaza 내의 미디어 플레이어 및 해당 미디어 플레이어의 향상 기능을 제공한다. 서드 파티 플러그인도 사용할 수 있는데, 예를 들어 Sharemonkey는 저작권 자료를 다운로드하거나 검색할 때 Shareaza 내에 해당 자료를 합법적으로 다운로드할 수 있는 링크를 추가한다.
클라이언트는 GUI의 거의 모든 부분을 스킨으로 변경할 수 있다. 여기에는 막대, 아이콘뿐만 아니라 배경 및 버튼도 포함된다. 이러한 방식으로 Shareaza는 색상, 이미지, 새로운 버튼 등으로 완전히 변경될 수 있다. 기본 스킨 목록은 Shareaza 설치 패키지에 포함되어 있다. 다른 스킨은 커뮤니티 포럼에서 다운로드하거나 G2 네트워크에서 .sks (Shareaza 스킨 파일)를 검색하여 찾을 수 있다. 스킨은 zip 아카이브이며, 아이콘과 이미지, 그리고 이미지와 색상을 GUI와 연결하는 XML 파일이 포함된 .sks 확장자로 이름이 변경된다.
이 기능은 지역화에도 사용된다. 언어 파일은 일반 스킨과 같이 XML 파일이지만 압축되지 않는다. XML 파일에는 프로그램의 특정 부분에 대한 번역이 포함되어 있다. 이를 통해 이진 전체를 컴파일하지 않고도 언어를 쉽게 변경, 업데이트 및 테스트할 수 있다.
Shareaza에는 세 가지 사용자 모드가 있다. 첫 번째는 일반 사용자를 위한 것이다. 이 모드는 기본 모드이며 깔끔하고 다듬어진 GUI를 제공한다. 사용자는 이 모드에서 설정에 큰 변경을 할 수 없지만 검색 및 다운로드와 같은 가장 필수적인 기능을 사용할 수 있다. 두 번째 모드는 파워 유저를 위한 것이다. 네트워크 및 고급 설정에 더 많은 접근 권한을 제공하지만 네트워크 연결을 끊을 수도 있다. 세 번째 모드는 창 모드이다. 이 모드에서 사용자는 다른 탭 (창)을 동시에 볼 수 있어 발생하는 일에 대한 많은 제어를 제공한다. 이 모드는 또한 클라이언트의 모양을 해당 사용자의 필요에 완벽하게 맞게 개인화할 수 있게 해준다.
Shareaza에는 사용자들이 서로 통신할 수 있는 내장 IRC (채팅) 클라이언트가 포함되어 있다. 지원 및 도움을 위한 여러 언어 채널이 있다. 이 채널은 P2PChat 서버에 있으며, 모든 일반 IRC 클라이언트 또는 Shareaza 홈페이지의 자바 애드온을 통해 참여할 수도 있다.
2002년 중반, 스토크스는 자신이 작성한 그누텔라 클라이언트의 첫 번째 버전을 "Shareaza"라고 명명하여 출시했다. 처음부터 이 클라이언트는 다른 그누텔라 클라이언트에는 없는 기능을 갖는 것을 목표로 했다. 다음 2년 동안 스토크스는 이동키2000 네트워크, 비트토렌트 및 그가 그누텔라2라고 명명한 재작성된 그누텔라 기반 프로토콜에 대한 지원을 코딩했다.
2004년 6월 1일, 스토크스는 GPL-2.0-or-later 라이선스 하에 Shareaza 소스 코드를 출시했다(Shareaza 버전 2.0 출시와 동시에). Shareaza는 라임와이어, Gnucleus 등과 함께 그누텔라 네트워크의 오픈 소스 클라이언트가 되었다.
Shareaza는 처음부터 "완전히 무료. 광고 없음, 스파이웨어 없음, 상업용 버전으로 업그레이드하라고 죄책감 느끼게 하지 않음"이라고 광고했으며, 개발자들은 "그런 쓰레기 같은 것을 참을 수 없었다"고 말했다. 이후 모든 후속 릴리스에서도 그러한 상태를 유지했다.
첫 버전부터 Shareaza는 스워밍, 메타데이터, 라이브러리 관리 및 자동 파일 해싱을 지원했다.
도메인 탈취.