맥북 에어 M1, M2는 모니터를 하나만 지원한다고 스펙에 지정되어 있습니다. 공식적으로 듀얼 모니터를 지원하지 않는 거죠. 다만 이를 우회하기 위한 방법이 있습니다. DisplayLink를 지원하는 어댑터 또는 허브를 사용하면 됩니다. 

사용 방법이야 다른 곳에서 많이 기술되어 있고, 어떤 제품을 사야 되느냐 때문에 고민을 좀 했습니다. 

 

DisplayLink를 지원하는 제품 찾기 

Synaptics에서 DisplayLink Chipset 및 관련 기술의 소유권을 가지고 있습니다. 그래서 관련된 제품을 Synaptics 사이트에서 찾을 수 있습니다. 다만 국내에서 판매되는 제품들은 나와 있지 않은 경우가 많습니다. 

 

https://www.synaptics.com/products/displaylink-graphics/displaylink-products-list?field_displaylink_category_value=usb_adapters 

 

DisplayLink Products list | Synaptics

Diamond Wireless Vstream USB 2.0 to HDMI/VGA Transmitter and Receiver Adapter Kit Max Resolution : 1920 × 1080 (Full HD)

www.synaptics.com

 

칩셋에 따른 성능 

위의 사이트에서 찾다 보니 어댑터 별로 해상도가 다르고, 지원 모니터도 다르고 복잡하더군요. 그래서 좀 더 찾아보니, 내장된 칩셋에 따라서 다 다릅니다. 국내에서 판매되는 어댑터들은 대부분 HD 해상도만 지원합니다. 

어쨌든 저는 DL-5XXX 계열로 하여, 4K 해상도 지원되는 제품을 Amazon에서 구매하였습니다. 국내 제품들은 대체로 DL-1xxx 제품을 사용해서 HD 해상도만 지원됩니다. 

 

 


WRITTEN BY
HanDDol
여행이란 건 말이지. 첫 걸음을 내딜 때는 모든 게 낯설고.. 그리고 점점 더 낯선 세상에 익숙해지면서 세상의 모든 곳이 고향처럼 느껴진다. 고향으로 돌아오는 여행의 마지막 걸음에는 나의 고향이 더 이상 익숙한 곳이 아닌 낯선 곳임을 알게 된다.

,

이게 뭔가 독특한게 사용자가 정의한 것과 시스템 환경 변수가 사용 방법이 다르다. 

소스 코드를 뜯어봐야 알겠지만, 사용자가 정의한 환경 변수는 별도의 env 변수에 넣는 걸로 보인다. 

 

그래서 사용 방법이 달라진다. 웃긴 건 이걸 적어 놓은 게 아무 데도 없다는 거다. -.-

 

 

    environment {
        commitHash = ""         // 
    }

	pipeline {
    
    	...
        
    	stage('Some') {
        
        	script {
            	echo "${commitHash}" 		// Error 
                echo "${env.commitHash}" 	// Work well
                
                echo "${BRANCH_NAME}"		// work well
        
        
        }
        
        ...
    }

	

WRITTEN BY
HanDDol
여행이란 건 말이지. 첫 걸음을 내딜 때는 모든 게 낯설고.. 그리고 점점 더 낯선 세상에 익숙해지면서 세상의 모든 곳이 고향처럼 느껴진다. 고향으로 돌아오는 여행의 마지막 걸음에는 나의 고향이 더 이상 익숙한 곳이 아닌 낯선 곳임을 알게 된다.

,

회사 보안 정책으로 인해서 여러 가지 보안 SW를 설치하고 사용합니다. 그 중 잘 만든 것도 있고, 쓰레기 같은 프로그램도 있습니다. 쓰레기 류 중의 하나가 V3죠. 

 

NPM과 Gradle을 CI를 돌리거나, NPM Install을 하게 되면, 대량의 파일 복사를 하게 됩니다. 특히 NPM은 Directory나 파일의 Link를 Rename 해 놓은 후, 나중에 영구 삭제하는 과정을 거치는 걸로 보입니다. 

 

문제는 NPM이 파일을 처리하고 나서 바로 Rename에 들어가게 되는데, NPM이 처리한 파일을 V3가 붙잡고 있습니다. 그래서 rename하는 과정에 예외가 발생합니다. 아주 거지 같죠. 

 

회사 직원들이 Jenkins가 자꾸 실패가 뜬다는 말에 살펴 보니, 또 V3가 문제인 것 같습니다. 


WRITTEN BY
HanDDol
여행이란 건 말이지. 첫 걸음을 내딜 때는 모든 게 낯설고.. 그리고 점점 더 낯선 세상에 익숙해지면서 세상의 모든 곳이 고향처럼 느껴진다. 고향으로 돌아오는 여행의 마지막 걸음에는 나의 고향이 더 이상 익숙한 곳이 아닌 낯선 곳임을 알게 된다.

,