프로그램에서 Windows “Documents”폴더를 합법적으로 사용 있는가? 프로그래머가 어떻게 든 덤핑 장으로 사용하지

문서 폴더를 좋아하는 사용자는 자신이 배치 한 항목 만 포함하고 표준 문서 폴더가이 작업에 적합하지 않다는 것을 알고 있습니다. 모든 프로그램은 이 작업을 위해 특별히 폴더가 있다는 사실에도 불구하고 설정, 데이터 또는 그와 똑같이 관련이없는 것을 Documents 폴더 에 넣기를 원하는 것 같습니다 1 .

빈 소리가 나지 않도록 내 개인 “문서”폴더를 예로 들어 보겠습니다. 내가없는 지금 이 폴더 나 자신에 아무것도 저장, 어떤 상황에서도, 결코 I에, 그것을 사용하지 않습니다. 그러나 최상위 폴더에는 46 개의 폴더와 3 개의 파일이 있으며 500 개의 폴더에 총 800 개의 파일이 있습니다. 내가 만들지 않은 190MB의 “문서”입니다. 분명히 실제 문서는이 혼란에서 즉시 잃어 버릴 것입니다.

내 질문은 : 향후 5 년 동안 “문서”를 다시 유용하게 사용할 수 있도록 상황을 개선하기 위해 무엇을 할 수 있는가? 프로그래머가 어떻게 든 덤핑 장으로 사용하지 않도록 교육받을 수 있습니까? OS가 기존 API를 통해 AppData 아래에 숨겨진 “가짜”위치를보고하면서 탐색기와 다양한 열기 / 저장 대화 상자에서만 “실제”문서 폴더가 어디에 있는지 알 수 있습니까? 아니면 완전히 허무하거나 불필요한 시도가 있습니까?


1 다음은 “문서”대신 사용해야하는 다양한 표준 디렉토리에 대한 간략한 요약입니다.

  • RoamingAppData에 대한 사용자 별의 데이터와 설정. 이다 사용자 별이 아닌 임시 데이터에 사용하는 디렉토리. 여기에 있는 모든 것은 지정된 사용자가 구성된 네트워크에 로그온 한 모든 컴퓨터에서 사용할 수 있습니다. 큰 파일은 이러한 환경에서 로그인 / 로그 아웃 속도가 느리므로 여기에 두지 마십시오.
  • LocalAppData에 대한 사용자 및 기계 고유의 데이터와 설정. 이 데이터는 모든 사용자와 컴퓨터마다 다릅니다. 또한 매우 큰 사용자 별 데이터를 배치해야합니다.
  • ProgramData대한 시스템 특정의 데이터와 설정. 로그온 한 사용자에 관계없이 동일하며 네트워크의 다른 시스템으로 로밍되지 않습니다.
  • GetTempPath사용하지 않을 때 데이터 손실없이 삭제 될 수있는 모든 파일 임시 데이터와 같이 캐시를 백업 할 필요가 없기 때문에 캐시 와 같은 곳 이기도 합니다 . 거대한 캐시를 여기에두면 사용자에게 백업 문제를 줄일 수 있습니다.

“문서”자체에만해야한다 이제까지 사용자가 경로를 입력하거나 저장 대화 상자에서 선택하여 수동으로 지정된 경우에 사용. 즉, 유일한 시간이다 지금 “문서”에 물건을 저장하기에 적합합니다.



답변

눈에 띄는 인센티브가 필요합니다. 예를 들어, 사용자가 설치시 문서 폴더에 저장할 수있는 권한을 제공해야한다면 프로그래머는 그 무서운 대화를 유발하지 않기를 원할 것입니다.

인센티브가 있으면 사람들은 자연스럽게 “프로그램 별 프로그램 데이터를 ProgramData에 저장”과 같은 문서를 우연히 발견하게됩니다.

실제로 멋진 권한 프레임 워크로 많은 문제를 해결할 수 있습니다 …


답변

제 질문은 “문서”를 다시 유용하게 사용할 수 있도록 상황을 개선하기 위해 앞으로 5 년 동안 할 수있는 일이 있습니까?

이론적으로는 무언가 할 수 있습니다. 이론적으로 Microsoft는 다음을 수행 할 수 있습니다.

  • 사용자 설정 파일을 넣을 수있는 더 좋은 곳을 찾으십시오 (이 과정에서 많은 응용 프로그램이 파일에 설정 을 적용해야하는 유효한 이유가 있음을 인식 함 ).
  • 이것을 표준 Windows 응용 프로그램 개발자 지침에 추가하십시오. (나는 그러한 지침이 존재한다고 가정합니다.)
  • 메이크업 큰 것 , 예를 통해 인증 일종의 가이드 라인 또는 적합성 스코어 카드를 작성하고 게시하여 응용 프로그램의 적합성에 대한합니다. “네이밍과 쉐이 밍”은 놀라운 일이 될 수 있습니다 …

애플은 전통적으로 이런 종류의 일에 훨씬 더 적극적이었다고 말해야한다. 그리고 그것은 그들의 플랫폼에서 실행되는 것들의 품질을 보여줍니다.


답변

프로그래머 교육으로 귀결된다는 질문에 답하십시오. Windows API에 대해 충분히 알지 못하고 물건을 저장하는 Documents것이 특히 쉬운 경우이지만 그렇지 않은 경우 응용 프로그램이 오염시키지 않아야합니다. 데이터가 상주 할 수있는 사용자 별 알려진 위치를 갖는 것으로 생각됩니다. 여러분이 이야기하는 데이터의 종류에 따라 Mac OS X은 ~/Library폴더를 사용하지만 일부 앱은 여전히 ​​아래에 Documents있습니다. 어쩌면 Windows에 대해 비슷한 것이 있습니까?

개인적으로, 문서를 Dropbox 루트 아래의 동일한 제목의 폴더에 보관하여 추가 작업 수준을 높이지만 제기 한 문제를 피할 수 있습니다.


답변

개발자가이 작업을 중단하도록하는 방법에 대한 토론에 참여하고 싶지만, 중지 할 수없는 작업 표시 줄 알림 아이콘과 같은 것들 중 하나가 될 수 있으므로 Microsoft는 깔개 밑에서 쓸어 버렸습니다.

나는 이전에 비유, 문서 폴더에 대해 블로그에 한 나쁜 이웃의 이사 . 사용자로서, 나는 그것을 스스로 청소하려고 시도하는 많은 해킹을 생각해 냈습니다. 초대되지 않은 모든 폴더를 “숨김”으로 표시하면 탐색기에서 사라집니다. Visual Studio 2005, 2008, 2010 폴더에 대한 심볼릭 링크를 일반적인 “Visual Studio”폴더 등으로 만듭니다.

그러나 PowerShell 스크립트를 사용하여 자동화하더라도 사용하는 모든 새 컴퓨터에서 스크립트를 작성하는 데 어려움을 겪었습니다. 다행히 Windows 7에는 나에게 잘 맞는 다른 옵션이 있습니다.

Windows 7은 Documents 폴더가 아닌 “Documents” 라이브러리 를 기본값으로 사용하는 경향이 있습니다. 이 라이브러리에서 % userprofile % \ documents 폴더를 제거하고 대신 Dropbox 폴더를 추가했습니다. 이제 대화 상자 열기 / 저장 대화 상자 가이 위치로 기본 설정되어 있으며 시작-> 문서를 클릭하면 Dropbox로 이동합니다.

궁극적으로 iOS App Store 지침과 유사한 앱에 대한 일종의 기본 인증을보고 싶습니다. 그러나 드라이버 제조업체가 드라이버에 서명하도록 할 수도 없습니다 …


답변

장기 전략은 문서 이외의 파일을 파일에 저장하는 것을 중지해야한다고 생각합니다. 시스템 데이터, 특히 설정은 파일 시스템 이상의 데이터베이스와 유사한 스토리지 시스템에 저장해야합니다. 해당 데이터베이스를 웹상의 서비스와 쉽고 자동으로 동기화 할 수있는 경우 보너스 포인트를 사용하므로 사용하는 컴퓨터 수와 위치에 관계없이 하나의 설정 세트를 효과적으로 보유 할 수 있습니다.

필자는 파일 시스템의 역사에 대해 잘 모르지만 그 시스템에서 초기에 실현 된 것으로 보이며 실행 파일은 문서와 근본적으로 다른“사물”입니다. 그래서 그것들은 디렉토리와 같은 특수 폴더에 보관 C:\DOS되어 사용자는 기본적으로 나머지 드라이브를 제어했습니다.

아무도 수년에 걸쳐 훨씬 더 복잡하고 관리가 불가능한 시스템이 어떻게 될지, 그리고 이것이 어떻게 혼란 스러울 지 아무도 예측하지 못했습니다. 기술을 처음부터 다시 생각하고 클라우드의 시너지를 활용해야 할 때라고 생각합니다. 회사가하기 전에 실행 가능한 오픈 소스 솔루션이 시작되면 보너스 포인트 🙂


답변

일부 프로그램이 여전히 일부 데이터를 Documents에 저장하더라도 대부분 데이터를 AppData에 저장한다고 생각 합니다. 따라서 이미 올바른 방향으로 가고 있지만 사용자가 할 수있는 일은 많지 않습니다. 각 프로그램은 무엇을 담당해야합니까? 그렇습니다.


답변

해결 방법 :
1. ‘문서’폴더를 마우스 오른쪽 버튼으로 클릭하고 ‘위치’탭을 선택하십시오.
2. ‘Documents’위치를 ‘C : \ Admin \ Configs’를 선택한 다른 위치로 변경합니다 (이 작업이 완료되면 ‘documents’에 쓰는 모든 응용 프로그램은 C : \ Admin \ Configs로 전송되어야합니다).

그러나 이것은 문제의 절반 만 해결하므로 다음 단계는 분명합니다.

  1. ‘C : \ User \\ Documentation’에 새 폴더를 만듭니다.

그런 다음 해당 디렉토리를 라이브러리에 추가하고 이전 디렉토리를 삭제할 수 있어야합니다 .’C : \ User \ ** Documentation ** ‘에 다른 폴더 이름을 의도적으로 설정했기 때문에 그 경로에 딱 맞는 경로를 만들 수 없었습니다. 폴더.

위의 사실 때문에 C : \ User \ 폴더에 ‘documents’폴더가 다시 나타나면 폴더를 마우스 오른쪽 단추로 클릭하여 보이지 않는 폴더로 만듭니다.