내 메인 작업용 PC를 2년전에 구매했었는데, 그 구매 내역 중 파워의 크기가 궁금해서 찾아봤다.
보통 구매한 내역은 대부분 메일에 저장되어 있었는데, 
이 제품은 없었다.

내역을 찾아 Excel로 정리하긴 했는데, 내 단기 기억력의 장애상,
분명 파일을 잃어버릴 것 같고, 블로그에 남기도록 한다.

AS 3년이니까... 1년 조금 덜 남은듯.

PC 견적내용정리.pdf
0.04MB

728x90

5월 말즈음 삼천리 팬텀 Q SF 플러스를 구매했다.

전기자전거를 구매한 뒤, 지금까지 쭉 타고 다녔다. 중간에 장마로 인해 비가 중간 중간 쏟아져서
중간에 좀 안타긴 했지만, 최대한 꾸준히 탔다.

물론 다른 사람들 처럼 운동을 위해서 타기보다는 출퇴근을 위한 개인 이동 탈 것으로 활용을 하다보니,
다른 사람들과는 다른 활용성이긴 했지만...

오늘 모니터 기록기를 보니까, 960Km를 찍은 상태라, 과연 오늘 1,000을 찍을까? 했다.
드디어 찍었다.

집근처에서 1,000 찍고 사진으로 남겨보았다.

 

728x90

Windows 11에서 MS SQL 을 Samsung의 NVME M.2 에 설치할 때, 설치가 안되는 문제가 있다.
옵션 다 잡고 설치를 하다가보면, 설치가 한 2~30% 될 때 갑자기 Rollback을 하면서
설치 실패가 된다.

처음에는 백신 문제인가, 아니면 설정의 문제인가...
당최 알 수 없었는데, 확인해보니, Windows 11에서 삼성 NVME의 M.2 저장소에서 이런 문제가 발생한다는 것이다. 정확히 삼성것만 그런 것인지는 모르지만, 다른 저장소에도 일부 발견된다고 한다.

문제원인

이 사태가 벌어지는 원인은 MS SQL이 설치될 위치의 디스크의 섹터 크기가 512바이트이거나 4K바이트이여야
된다는 것이다. 만일 저 사이즈가 아닌 경우 에러가 발생한다는 것이다.
이 섹터 사이즈를 확인하려면 다음과 같은 명령을 넣으면 된다.

fsutil fsinfo sectorinfo C:

저 명령은 관리자 권한으로 실행해야 되고, MS SQL 서버 설치 위치가 다른 곳이면 C: 대신 설치될 위치로 변경해야 한다.

이렇게 명령을 넣어 확인해서 PhysicalBytesPerSectorForAtomicity: 항목에 적힌 사이즈를 보면 된다.
이게 삼성 것은 이 값이 거의 30K 크기 값으로 잡혀 있었다.
원인은 바로 이 부분...
이 값을 4K로 낮춰야 적용이 된다.

 

수정 방법

이 문제를 해결하려면, 운영체제에서 해당 값을 강제적으로 변경해야 한다.

저장소 관련 레지스트리를 수정하는 것인데, 다음 명령을 관리자 권한으로 넣으면 된다.

REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t   REG_MULTI_SZ /d "* 4095" /f

저렇게 입력하면 해당 위치의 레지스트리 값이 적용된다.

그리고 재부팅!

(다만, 저렇게 적용한 직후 운영체제 올라올 때는 많은 시간이 걸린다!)

 

참고링크

해당 전체 내용은 다음 링크에서 확인할 수 있다.

https://docs.microsoft.com/en-us/troubleshoot/sql/admin/troubleshoot-os-4kb-disk-sector-size

 

Troubleshooting operating system disk sector size greater than 4 KB - SQL Server

This article troubleshoots SQL Server installation or startup failures related to some new storage devices and device drivers exposing a disk sector size greater than the supported 4 KB sector size.

docs.microsoft.com

 

728x90

2022년 4월 부로 .NET Framework 4.5 이하는 더 이상 지원되지 않는다.

그러다보니, Visual Studio 2022에서는 .NET Framework 4.5, 4.6.1 대의 Framework로 개발한 프로젝트들이 Load되지 않는다. 이에 대한 많은 글들이 있고, 다양한 방법들을 제시하면서 Loading 방법을 제공한다.
그런데, 생각보다 잘 되지는 않았다. 뭔가 방법이 잘못되었거나 빼먹은 것이 있을 것 같았지만...
당장 예전에 만들어 놓은 프로젝트는 띄워야 겠고, 그렇다고 4.8 이상으로 올리기에는 다른 사람과 공유하는 프로젝트라 쉽지만은 않다.

결국 방법을 선회한 것이, Visual Studio 2019를 설치하고, 그 중 .NET Framework Targeting을 추가하는 방법.

먼저 Visual Studio 2019를 설치해야 했다. 
그런데, MS의 공식 홈페이지에 가면, 2022는 Community 버전은 다운이 되었는데, 이상하게 2019 부터는 Professional 버전을 받아야 되었다. 안타깝게도 나에게는 MSDN이 없어 해당 버전을 다운 받아 설치할 수 없었다. 
고민이 슬슬 되었는데, 다행히 다른 블로그에 그 Community 버전을 다운 받을 수 있는 링크를 제공했다.

https://developerinsider.co/download-visual-studio-2019-web-installer-iso-community-professional-enterprise/#downloadvisualstudio2019iso

 

Download Visual Studio 2019 Web Installer / ISO (Community / Professional / Enterprise)

Please read Visual Studio 2019 system requirements before installing: Supported Operating Systems Visual Studio 2019 will install and run on the following operating systems (64 bit recommended): * Windows 10 version 1703 or higher: Home, Professional, Educ

developerinsider.co

여기를 통해서 다운 받았고, 나중에 다운 조차 안될 것이 두려워서 Offline 버전도 만들고 있다.

여튼 이 Community 버전 설치에서 .NET Framework Desktop App 기능을 기본적으로 추가했고, "개별 구성 요소"에서 각종 Targeting 버전들을 추가했다.

 

이렇게 다 설치하고 Visual Studio 2022에서 프로젝트를 띄우는데, 아주 매끄럽게 떳다.

Visual Studio 2022는 4.7 이후 버전만 타겟팅이 지원되어 난감했는데, 아주 용량 잡아먹는 짓이긴 하지만, 예전 버전 Loading을 위해서라면 Visual Studio 2019 정도는 더 설치해줘야 될 것 같다. (거의 4~5G 먹던데...)

무식하지만... 일단 급한데로 예전 버전 로드해서 사욯할 수 있었다.
(예전에는 정확히 해당되는 부분만 추출하고 설치하고 구성해서 적용했는데... 점점 귀찮아져가서 지금은 그냥...)

728x90

대외 수출입에서 항상 흑자였던 나라지만, 그래도 나름 환율이 높은 편이라, 
해외 구매하는데 큰 지장이 없었다.
그런데, 요근래는 1,300 원 찍은 뒤 내려올 생각을 아주 안한다.
이미 뽑힌 거... 할 수 없지라는 생각은 하지만,
이거 맨날 남 탓만 하고, 처음해본다고 쇼하는 것 지켜보면...
아주.. 그냥..

여튼 현재로는 해외 구매는 포기.
구매욕을 자극할만한 저렴한 제품이 나왔지만, 
여튼 포기.

구매할 바에는 그냥 참거나 넘어가는게 현 시점에서는 맞는 것 같다.
돈 많아 주체를 못하는 친구야 뭐 그렇다고 싶지만...
난 그런 친구가 아니니깐.

728x90

작년, Lenovo 공홈에서 T14 Gen2 AMD 버전을 구매했다.
당시 구매할 때, Dell에서 하고 있는 Complete Care와 같은 서비스라고 생각하는 서비스에도 가입했다.
제품 자체 가격은 좀 커스터마이징을 해서 160 만원 좀 넘게 잡혔는데, 
이 케어 서비스 때문에, 거의 200가까이 금액을 지불했다.

어느날 회사에서 LTE 기반으로 동작하는 서비스를 테스트하려 했는데, 마땅한 테스트 머신이 없었다.
다행히(?)도 내 노트북이 LTE 모뎀이 달려 있어서, 내 노트북으로 하면 될 것 같았다.
다만, 원래 달려 있던 NVME를 떼어내고 내가 가진 가장 빠른 NVME 였던 
Sabrent의 Rocket NVME 4.0의 1TB 짜리 제품을 달았었다. 뭐 속도야 노트북 자체가 PCI-ex 1.4를 지원안해서
의미는 퇴색했지만, 원래 달려 있던 512GB의 두배용량인 1TB 라서 만족하면서 썼었다.
그러다가, 이번에 테스트를 하기 위한 환경을 위해서 지금까지 잘 쓴 1TB 짜리 NVME를 빼고
원래 달려 있던 NVME로 교체하면, 테스트가 끝난 뒤, 난 기존에 설치 구성했던 그대로 
복구할 것이라는 생각으로 시작했다.

그런데 왠걸. 
나사 대가리가 뭉개지기 시작했다.

NVME를 고정해주는 나사를 푸는데 이게 안풀리기 시작했다.
단순하게 안풀리는 정도가 아니라, 드라이버 토크를 견디지 못하고 나사의 십자구멍은 점점 둥글게 둥글게
변하기 시작했다.

일단 이 나사를 빼야되겠다는 생각에 드라이버에 강력본드를 발라 나사와 한몸으로 만들어
돌려보기도 했다. 안되었다. 틀렸구나... 싶었는데, 당장 데모는 해야 되서, 
할 수없이 내가 사용하던 환경을 모조리 포멧하고 데모 구성으로 사용했다.

데모가 끝나고....

노트북에서 저렇게 망가진 나사를 어떻게든 복구하고 싶어서 A/S 신청을 했다.
답변이 오긴 했는데, 근처 수리센터로 가라는게 결론이였다.
그나마 집에서 가까운 곳이 신도림 테크노마트라, 휴가를 내서 방문했다.

방문을 해보니, 3층에 삼보컴퓨터 A/S 센터에서 여러 브랜드의 PC 계열을 수리했고,
그중 Lenovo도 하고 있었다. 
당시 Lenovo 담당한 엔지니어가 머리가 양배추 모양의 개그맨, 송영길 좀 닮은 것 같았다.

약간 틱틱 거리는 느낌으로 대하는데 조금 거슬리는 기분이지만, 너그러이 받아줄만했다.
현재 내 노트북에는 행거 같은 것을 LCD 판 뒷면에 붙여 있었는데, 그것 때문에, 노트북 나사선 만드는
작업에서 힘을 줄 수 없다고 그랬다.


뭐 하긴 행거 부분이 얇은(?) LCD 뒷판에 있어, 뒤집어 작업하는데
힘을 주면 LCD가 망가질 것 같다는 의견이였다.
하지만, 다시 생각해보면 행거 부분의 두께보다 두꺼운 무언가를 덧대면 상관 없지 않나 싶지만...-_-;;;
좀 열린 마음이 전혀 안보이는 꽁해보이고 틱틱거리는 성격이라 저런 아이디어는 없을 것 같긴하다

일단 맡겨놓고, 식사를 하려고 했는데, 완료되었다고 해서 다시 방문했다.

슬슬 저 나사선 만드는 작업에서 부터 왜 이런 문제가 발생했는지를 설명했다.

근본적인 문제는 내가 교체한 NVME가 양면으로 되어 있는데, 이 노트북은 단면용이라는 것이다.
그것도 단도직입적으로 이야기하지도 않고, 무슨 십이고개 맞추듯 나한테 묻고 앉아 있었다.
뭐가 다른지 알겠냐고..... 
일단 눈으로 대충 보니 뭔소린지는 알겠는데, 조금씩 내 심사를 뒤틀리게 하긴 했다.

일단 이 양면 NVME 를 내가 고정하는 과정에서 두께가 있다보니, 나사의 결착이 약간 경사가
지게되었고, 결국에는 쉽게 분해가 안되었고, 이 문제로 인해 나사선이 망가졌다는 것이다.

그리고 앞서 했던 강력본드가 나사 헤드에 남아 있어 그거 제거하느라 힘들었다고 투덜되었다.
(여기까지 오니 틱틱 거림이 투덜로 들렸다.)

뭐 내가 잘못했다는 것은 알겠는데, 왜 나에게 투덜되는지 이해가 안되기 시작했다.
그렇다고 뭐 문제없이 고쳐낸 부분은 인정하기에 뭐라하지는 않았다.
하지만 사실 내가 저지른 문제지만, NVME의 단면 양면에대해서는 생각해본적도 없고,
게다가 그 나사가 열처리도 제대로 안되었는지 저렇게 망가진거 자체도 문제가 있지 않나 싶다.

어쨌던 이렇게 마무리되는줄 알았는데....

공임을 받아야 겠다고 한다.
사실 내가 내 블로그에다 이런 글을 쓰려고 마음먹게된 이유도 바로 여기에서 생겼다.
이거 니 과실인데 공임 받아야 되겠다는 것이다.
30만원 넘게 보험처럼 들어놓은 케어 서비스가 아니라는 것이다. 
물론 다 받지는 못하고 3.3만원 받겠다고 하길래, 
뭐라 하려다가, 그래 그거 먹고 떨어지라는 마음에 그냥 결제는 해줬다.

그런데.......
이거 니들이 Lenovo에 청구해야 하는거 아닌가 했다.
내가 물론 나사선을 망가뜨리게 하긴 했는데, 그 나사선 망가진 부분으로 인해, 노트북의 LCD를 망가트린 것도,
키보드를 나가게 한 것도, 배터리를 터트린 것도 아닌데...좀... 그랬다.

그 나사를 빼기 위해 나사선을 만드는 작업을 힘겹게 했다는건 이해하는데,
이 따위로 틱틱 거리면서 나한테 투덜댄것도 마음에 안드는데,
공임도 받아간다라...

좀 기분이 많이 상했다.

어쨋던 기존에 원래 달렸던 NVME로 교체하고, 
내 업무에 필요한 것들을 다시 설치 구성을 하긴 했다.

다시는 Lenovo 제품은 손대지 않는 것으로 하겠다.
처음에 분명 HP 생각했는데, 왜 갑자기 Lenovo 제품에 손을 댔는지...
돈지랄 좀 해봤는데, 실망스럽기 그지 없다.

 

728x90

Windows 11을 처음 깔면, 제일 먼저 Task Bar 가 가운데로 몰린 것이 제일 먼저 들어오는데,
사실 사용 중에 가장 크게 다가오는 불편함은 Context Menu, 
바탕화면에서 마우스 오른쪽 버튼을 눌렀을 때 나오는 메뉴지 않을까 싶다.

예전 프로그램들, 압축프로그램, 에디터 프로그램의 메뉴 항목을 보려면 맨 아래 쪽의 "더 많은 옵션 표시"라는 것을 선택해야 보이기 때문에, 새로 바뀐 UI가 이쁘고 직관적이고 정리가 잘되어 있음은 인지하지만, 사용의 불편함은 어쩔 수 없다.

이를 돌리는 방법은 유튜브를 보니까, 무슨 프로그램을 깔아서 설정을 적용하면 된다고 하는데, 
간단하게 원리를 소개하는 글을 찾아서 적용했더니 되어 공유한다.

https://pureinfotech.com/bring-back-classic-context-menu-windows-11/

 

How to bring back classic context menu on Windows 11 - Pureinfotech

You can bring back the classic right-click context menu with all the options on Windows 11 by editing this key in the Registry. Here's how.

pureinfotech.com

 

요약하면, 레지스트리 편집을 통해 저 Context Menu가 뜨는 부분에 일부러 오류를 만드는 작업이다.

HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32

를 생성한 뒤, 안의 값을 완전히 비워놓으면 된다.

reg 파일로 만든다면 다음과 같다.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32]
@=""

위의 내용을 x.reg 파일로 만든 뒤, 실행 시킨 뒤, 재부팅을 1회 해주면 된다.

 

728x90

.NET Framework 개발 중, System.Data 라는 참조를 했을때,
Visual Studio 2022로 빌드를 하면, 아래와 같은 메시지가 계속 나온다.

1>CSC : warning CS8012: 참조된 어셈블리 'System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'이(가) 다른 프로세서를 대상으로 합니다.

내가 만든 프로그램이 x86 으로 빌드를 할 때 이런 현상이 자주 발생한다.

그런데 Visual Studio 2022로 바뀌면서 제일 큰 변화가 바로 x64 기본 지원이다.
아예 IDE 자체가 x64 기반으로 동작해서 매우 빠르게 잘 컴파일되고 작동하는데,
유독 x86 전용 프로젝트만 돌리면 저런 오류가 발생한다.

문제의 원인은 아무래도 System.Data 와 같은 Assembly를 기본 참조하는 위치가 x64 들이 담긴 곳을 먼저 뒤져서 연결하다보니 위와 같은 문제가 발생하는 것 같다.

Visual Studio 내에서 해결하는 방법을 나는 아직 발견하지 못했다.
이 문제를 해결하려면, csproj 파일 자체를 수정해야 한다.

Notepad 혹은 Notepad++ 같은 텍스트 편집기로 해당 csproj 파일을 연다.

그리고 문제가 발생한 Assembly를 찾아 <Reference ... > 부분을 찾는다.

해당 부분을 아래와 같이 수정한다.

<Reference Include="System.Data" >  
	<HintPath>C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll</HintPath>
</Reference>

추가할 부분이 바로 HintPath 부분이다.
x64 DLL 대신 Load할 x86 DLL이 담긴 위치를 직접 꽂은 것이다.
저렇게 컴파일하면 x86 DLL 연결에 문제가 있어, 에러가 나는 부분이 깔끔하게 수정된다.

만일 컴파일 중에 다른 DLL 에서도 저렇게 발생하면, 해당 DLL이 어디 있는지 체크해서 Hint에 추가한다.

다만 주의할 점은 공동 팀 작업을 할 때, 자신만의 고유 폴더에 위치한 경로를 Hint에 담지 말아야 한다.
위의 C:\Windows\Microsoft.NET\Framework\v2.0.50727 이라는 폴더는 최소한 .NET Framework 2.x, 3.x 대 개발자라면  100% 저 폴더가 있다. 만일 그렇게 구성하기 힘들다면 아예 프로젝트 폴더에 두고, ..\xxx 식으로 폴더를 잡아주어도 된다.

 

728x90

+ Recent posts

728x90