RSS 스콧 한스만의 블로그 노트

RSS 스콧 한스만의 블로그

제공된 링크는 미국의 작가이자 학교에서 컴퓨터 과학을 옹호하며, 수년 동안 마이크로소프트 개발자 커뮤니티 프로그램 공동 부의장인 스콧 한스만(Scott Hanselman)의 개인 블로그 사이트에 대한 것입니다. 이 블로그는 주로 컴퓨터 프로그래밍, 소프트웨어 개발 및 기술의 최신 동향에 대한 다양한 측면을 논의하는 데 중점을 둡니다.

노트 스레드

다음은 제공된 텍스트의 한국어 번역입니다.---"저자는 일본 목공예로 대표되는 전통적인 장인 정신과 아버지의 개인 작업실 활동에 대한 감사를 표하며 글을 시작합니다. 그는 이러한 직접적인 수작업 창작 활동을 IKEA 가구와 같은 대량 생산된 품목과 대조합니다. 저자는 35년간 전문적으로 코딩을 해왔음에도 불구하고, 현대 컴퓨팅 시스템이 여전히 지나치게 복잡하며 기계와 인간 모두 계속해서 오류를 범하고 있다고 지적합니다. 이러한 지속적인 복잡성은 어셈블리 언어에서 C로의 전환, 그리고 구문 강조(syntax highlighting), 인텔리센스(IntelliSense), 그리고 스택 오버플로우(Stack Overflow) 기반 개발의 광범위한 사용과 같은 프로그래밍의 역사적 기술 변화와 비교됩니다.핵심 주장은 기술 발전과 관계없이 진정한 가치는 여전히 좋은 취향, 장인 정신, 그리고 건전한 인간적 판단에 있다는 것입니다. 응집력 있는 시스템을 구축하는 것은 인테리어 디자인과 유사하게 묘사되는데, 이는 숙련된 조립이 필요한 사소하지 않은 작업입니다. 저자는 단순한 도구와 '일회성' 소프트웨어 솔루션에 현혹되는 것에 대해 경고하며, 개발자들이 더 이상 입출력(I/O) 속도에 제약을 받지 않음에도 불구하고 소프트웨어 개발은 본질적으로 여전히 어렵다는 점을 강조합니다.그는 서둘러 개발된 결과물로 인해 발생한 '엉성함(slop)'을 정리하는 데 상당한 미래 작업이 수반될 것이라고 예측합니다. 그러나 저자는 깊은 이해를 가진 사람들에게는 AI가 증강된 개발이 놀라운 결과를 약속한다고 믿습니다. 그는 현재 이러한 시대적 전환기에 학습 과정을 즐기고 있으며, 소프트웨어 개발의 근본적인 장인 정신은 지속된다는 점을 확인하고 있습니다."
작성자는 Windows Edge Light 앱을 만들었고, Mac Tahoe의 Edge Light 기능과 유사한 가상 링 라이트 기능을 추가하고 싶었습니다. 앱의 신뢰도를 높이기 위해 Microsoft에서 제공하는 클라우드 기반 코드 서명 서비스인 Azure Trusted Signing을 사용하기로 결정했습니다. 이 서비스는 자동 인증서 관리, GitHub Actions 통합을 지원하며 Windows에서 신뢰할 수 있어 SmartScreen 경고를 방지하는 데 도움이 됩니다. 작성자는 Azure Trusted Signing이 기존 코드 서명 방식보다 번거로움이 덜했지만, 여전히 설정 및 구성이 필요하다는 것을 알게 되었습니다. 서비스를 사용하기 위해 리소스 공급자를 등록하고, 신뢰할 수 있는 서명 계정을 만들고, 신원 유효성 검사를 완료하고, 인증서 프로필을 생성해야 했습니다. 그런 다음 Azure CLI를 사용하여 올바른 역할을 할당하고 올바른 범위로 로그인했으며, 실행 파일을 서명하기 위해 서명 도구를 설치했습니다. 또한 서명 권한이 있는 서비스 주체를 생성하여 GitHub Actions를 통한 자동 서명을 설정했습니다. 이 과정에는 설정 확인 및 일반적인 문제 해결을 포함한 여러 단계가 포함되었습니다. 전반적으로 작성자는 Azure Trusted Signing이 앱에 신뢰를 더하는 데 유용한 도구이지만, 설정 및 구성에는 어느 정도의 기술적 전문 지식이 필요하다는 것을 알게 되었습니다. Azure Trusted Signing에 대한 작성자의 경험은 대체로 긍정적이었지만, 일반적인 문제를 극복하기 위해서는 세심한 주의와 문제 해결이 필요하다는 점을 강조했습니다.
CdXz5zHNQW_skY9OmNcGf.png
웹캠 관련 문제를 겪은 작성자는 이 문제를 해결하기 위해 다음과 같은 과정을 거쳤습니다.작성자는 웹캠을 사용할 때 정기적으로 일시정지 현상이 발생하는 문제를 겪었습니다. 이 문제는 OBS와 같은 스트리밍 애플리케이션에서도 발생했습니다. 작성자는 이 문제가 "LSVCam"이라는 가상 카메라와 관련이 있음을 발견했습니다. 이 가상 카메라는 윈도우 장치 목록에 표시되었지만 일부 애플리케이션에서는 인식되지 않았습니다.이 문제는 TikTok Live Studio와 관련이 있음을 작성자는 발견했습니다. TikTok Live Studio는 가상 카메라를 설치하지만, 이 가상 카메라는 완전히 설치되지 않거나 열거 과정에서 중단될 수 있습니다.작성자는 PowerShell 스크립트와 자바스크립트 코드 조각을 사용하여 연결된 장치를 열거하고 웹캠을 열거했습니다. 이 과정에서 "LSVCam"이 TikTok Live Studio 디렉토리의 DLL 파일과 연결되어 있음을 발견했습니다. 이 가상 카메라는 웹캠 액세스를 사용하는 다양한 애플리케이션에서 오류와 중단을 일으킬 수 있습니다.작성자는 "LSVCam"과 관련된 레지스트리 키를 발견하고 이 키를 삭제하여 문제를 해결할 수 있음을 발견했습니다. 그러나 이 해결책은 일시적이며, TikTok Live Studio를 실행할 때마다 레지스트리 키가 다시 나타납니다. 작성자는 이 문제가 TikTok Live Studio의 가상 카메라 구현에서 발생한 회귀 오류라고 믿습니다.작성자는 이 정보를 공유하여 유사한 웹캠 문제를 겪는 다른 사용자들에게 도움을 주고자 했습니다. 또한, TikTok Studio 개발 팀이 이 문제를 인식하고 해결할 수 있도록 희망했습니다. 레지스트리 키를 삭제하는 것은 개발자들이 적절한 해결책을 제공할 때까지 일시적인 해결책입니다.
마스토돈은 사용자 검색 및 접근을 용이하게 하기 위해 WebFinger 프로토콜을 사용하는 분산형 오픈 소스 소셜 네트워크 서비스입니다. WebFinger를 통해 사용자는 이메일 주소 또는 기타 식별 정보를 사용하여 마스토돈 네트워크의 다른 사용자에 대한 정보를 찾을 수 있습니다.WebFinger는 사용자가 이메일 주소 또는 식별 정보를 사용하여 서버에 요청을 보내는 단순한 HTTP 기반 프로토콜을 통해 작동합니다. 서버는 요청된 정보를 포함하는 JSON 객체인 리소스 디스크립터를 응답합니다.리소스 디스크립터는 사용자의 이름, 프로필 사진, 소셜 미디어 링크 및 보안 연결을 설정하기 위한 공개 키를 포함한 사용자에 대한 다양한 정보를 제공합니다.마스토돈 사용자를 검색할 때 네트워크는 사용자의 서버에 특정 엔드포인트 형식을 사용하여 쿼리를 보냅니다. 사용자의 서버는 필요한 정보를 포함하는 WebFinger 응답을 반환합니다.WebFinger를 구현하려면 사용자는 자신의 도메인에 WebFinger API 엔드포인트를 만들고 필요한 정보를 제공하는 JSON 파일을 정의할 수 있습니다.또는 사용자는 마스토돈 서버의 WebFinger 응답을 사용하여 자신의 서버에 정적 JSON 파일로 저장할 수 있습니다.WebFinger는 사용자 검색 및 접근에 필수적인 마스토돈 네트워크의 핵심 기능으로, 사용자가 서버 위치에 관계없이 서로를 찾고 팔로우할 수 있도록 합니다.마스토돈은 분산형 및 ActivityPub와 같은 웹 표준을 준수하는 추가적인 이점을 제공하는 트위터와 유사한 경험을 제공합니다.마스토돈을 처음 사용하는 경우 시작하기 위한 포괄적인 가이드가 제공됩니다.
홈 어시스턴트는 연결된 장치, 사람, 조명 및 가전제품을 포함한 광범위한 제어를 허용하는 다기능 홈 오토메이션 플랫폼입니다. 클라우드 서비스에서 독립적으로 로컬에서 작동하여 개인 정보 보호와 독립성을 제공합니다. 홈 어시스턴트를 라즈베리 파이와 이더넷 전원 공급 장치(PoE)로 실행하는 것이 설정이 용이하므로 권장됩니다.통합 기능을 통해 홈 어시스턴트는 유니파이 프로텍트 도어벨과 같은 보안 시스템을 포함한 다양한 장치와 연결할 수 있습니다. 서드 파티 통합 기능을 통해 기능을 확장하고 사용자 지정 자동화를 활성화할 수 있습니다.유니파이 프로텍트 도어벨이 눌렸을 때 알림을 생성하려면 홈 어시스턴트 커뮤니티 스토어와 유니파이 프로텍트 및 알렉사 미디어 플레이어 통합 기능을 설치합니다. 두 통합 기능을 구성하고 알렉사 "모든 곳" 스피커 그룹을 생성합니다.홈 어시스턴트의 개발자 도구에서 알렉사 TTS(텍스트-음성 변환)가 작동하는지 확인합니다. 그런 다음 도어벨의 상태가 "켜짐"으로 변경될 때 트리거되는 자동화를 생성하고 알렉사 "모든 곳" 그룹에 알림을 보냅니다.자동화는 사용자 인터페이스와 자동화.yaml 파일 모두에서 정의할 수 있습니다. "to: 'on'" 트리거는 상태 변경 중에 중복 알림을 방지합니다.홈 어시스턴트는 편리함과 연결된 홈에 대한 향상된 제어를 제공하는 다양한 자동화 가능성을 제공합니다.
Visual Studio 2022는 독립적인 JavaScript/TypeScript 앱을 위한 새로운 .esproj 프로젝트 유형을 도입합니다. 이 프로젝트 유형은 Angular, React 및 Vue의 네이티브 CLI를 사용하여 최신 템플릿을 제공합니다. Visual Studio 2022는 JavaScript 기반의 프론트엔드 앱과 JavaScript/TypeScript 컴포넌트가 포함된 ASP.NET 앱을 모두 지원합니다. MSBuild를 사용하여 앱을 빌드하기 위한 TypeScript NuGet 패키지를 제공합니다. Visual Studio 2022의 새로운 JavaScript/TypeScript 지원에는 TypeScript 기반의 완전한 JavaScript 언어 서비스가 포함되어 있습니다. 개발자는 프론트엔드에 .esproj와 백엔드에 .csproj를 사용하여 솔루션을 만들 수 있습니다. Visual Studio 2022는 개발자가 JavaScript/TypeScript 프론트엔드 앱에 ASP.NET Web API 통합을 추가할 수 있도록 해줍니다. 이렇게 하면 프론트엔드가 Web API 백엔드를 호출할 수 있습니다. React CLI를 사용하여 프론트엔드를 생성하여 원하는 버전의 React가 설치됩니다. Visual Studio 2022는 웹 서버와 웹 브라우저를 선택할 수 있는 유연성을 제공하여 개발자가 Launch.json 파일을 사용하여 선호하는 설정을 지정할 수 있습니다. 개발자는 또한 ASP.NET Core 프로젝트에서 TypeScript/JavaScript를 보조 컴포넌트로 사용하여 기존의 ASP.NET 앱에 JavaScript/TypeScript 기능을 추가할 수 있습니다.