반응형

자료출처: Gartner's Top 10 Strategic Technology Trends for 2024 (techrepublic.com) Written ByEsther Shein

번역: COPILOT

가트너(Gartner)의 최신 기술 트렌드 보고서에서 인공지능이 주목을 받고 있으며 상위 세 가지 위치를 차지하고 있습니다. 가트너는 조직이 2024년에 탐구해야 할 10가지 주요 전략기술 트렌드를 발표했습니다. 상위 세 가지 트렌드가 모두 다양한 유형의 인공지능과 관련되어 있어서 놀라운 일은 아닙니다.

가트너 부사장 분석가인 **바트 윌렘센(Bart Willemsen)**은 "지난 몇 년 동안 그리고 2023년까지 AI와 함께 작업을 시작한 조직 수가 급증했습니다. 이러한 추세는 더욱 더 빨라질 것으로 예상됩니다"라고 TechRepublic과의 이메일 인터뷰에서 말씀하셨습니다 .

2024년을 위한 **가트너(Gartner)**의 상위 10가지 전략 기술 트렌드는 다음과 같습니다. 순위별로 나열해 보겠습니다:

  1. 보편화된 생성 AI (Democratized Generative AI).
  2. AI 신뢰, 위험 및 보안 관리 (AI Trust, Risk, and Security Management).
  3. AI-증강 개발 (AI-Augmented Development).
  4. 지능형 응용 프로그램 (Intelligent Applications).
  5. 증강-연결 된 노동력 (Augmented-Connected Workforce).
  6. 기계 고객 (Machine Customers).
  7. 지속적인 위협 노출 관리 (Continuous Threat Exposure Management).
  8. 지속 가능한 기술 (Sustainable Technology).
  9. 플랫폼 엔지니어링 (Platform Engineering).
  10. 산업 클라우드 플랫폼 (Industry Cloud Platforms).

이러한 트렌드들은 기업과 기술 리더들이 내년에도 주목해야 할 분야로, 전략적 기술 투자 로드맵을 수립하는 데 도움이 될 것입니다.

1. **보편화된 생성 AI(Democratized Generative AI)**는 현재 조직들이 우선적으로 고려하고 있는 트렌드입니다. 가트너(Gartner)에 따르면, 이는 대규모 사전 훈련된 모델, 클라우드 컴퓨팅, 오픈 소스의 융합으로, 이러한 모델을 전 세계 노동자들이 접근할 수 있도록 하는 것을 의미합니다. 가트너는 2026년까지 80% 이상의 기업이 GenAI API와 모델을 사용하거나 GenAI 활성화된 애플리케이션을 프로덕션 환경에서 배포할 것으로 예측하고 있습니다. 이는 2023년 초보다 적은 5%에서 상승한 수치입니다.

많은 조직이 이미 AI와 작업하고 있지만, ChatGPT와 기타 GenAI 플랫폼에 의한 관심이 조사 결과로 나타나며, 이로 인해 응답자의 45%가 AI 예산을 늘리고 있다고 설명했습니다 .

 

2. **AI 신뢰, 위험 및 보안 관리 (AI Trust, Risk, and Security Management)**은 이러한 노력의 강도를 보장하기 위해 조직은 실제로 프로덕션에 도달하는 AI 프로젝트의 가능성을 높일 수 있는 예방적인 조치에 집중해야 합니다. 가트너(Gartner)는 이를 "AI TRiSM"이라고 부르며, 이는 전반적으로 AI 신뢰, 위험 및 보안 관리 프로그램으로, 미리 통합된 거버넌스를 지원하고 AI 시스템이 준수되고 공정하며 신뢰성 있으며 데이터 프라이버시를 보호하도록 사전에 적극적으로 보장합니다.

이는 "과거 실패의 끔찍한 숫자를 피하고 AI 기술을 사용할 때 처음부터 고려해야 할 트렌드 중 하나로, 설명 가능성, 신뢰성, 프라이버시 및 보안을 높이는 데 도움이 됩니다"라고 그는 말했습니다.

 

3. **AI-증강 개발 (AI-Augmented Development)**은 인공지능 기술을 활용하여 소프트웨어 엔지니어가 애플리케이션을 설계, 코딩 및 테스트하는 데 도움을 주는 방법입니다. 이는 GenAI와 머신러닝과 같은 인공지능 기술을 사용하여 소프트웨어 엔지니어가 코드 작성에 덜 시간을 할애할 수 있도록 합니다.

이러한 AI-포함 개발 도구를 사용하면 소프트웨어 엔지니어가 더 전략적인 활동에 시간을 투자할 수 있게 됩니다. 예를 들어 흥미로운 비즈니스 애플리케이션을 설계하고 구성하는 데 더 많은 시간을 할애할 수 있습니다. 이는 개발자의 생산성을 향상시키고 비즈니스 운영에 필요한 소프트웨어 수요를 충족시킬 수 있도록 합니다.

AI-증강 개발을 준비하는 것은 "개발 주기에서 주요 병목 현상이 어디에 있는지 명확하게 파악하는 것"이라고 Willemsen은 지적했습니다. 이는 애플리케이션 코드 생성, 레거시 코드를 현대 언어로 변환, 디자인에서 코드로의 변환 및 애플리케이션 테스트 기능 강화 등을 포함할 수 있습니다.

“소프트웨어 엔지니어 팀이 평가, 테스트 및 설정을 주로 수행하도록 하세요. 결국 그들이 이 작업을 수행해야 하기 때문입니다,” 그는 조언했습니다.

 

4. **지속적인 위협 노출 관리(CTEM)**은 조직이 사이버 보안 검증 접근 방식을 자동화할 수 있도록 하는 체계적인 변화입니다.

이러한 접근 방식을 시작하려면 침해 및 공격 시뮬레이션 또는 자동화된 침투 테스트 도구를 구현하고, 점진적으로 공격자의 시각을 체계적으로 적용하여 공격이 성공할 수 있는지 여부를 확인해야 합니다.

가트너는 2026년까지 CTEM 프로그램을 기반으로 보안 투자를 우선순위로 정하는 조직은 침해 사고를 3분의 2 이상 줄일 수 있다고 예측하고 있습니다

 

지속적인 위협 노출 관리(CTEM)란 무엇인가요?

지속적인 위협 노출 관리(CTEM)는 위협 인텔리전스 상황 인식과 자동화된 대응 기능을 통합합니다.

powerdmarc.com

 

5. **기계 고객(Machine Customers)**는 때로는 "custobots"라고도 불리며, 지불을 위해 자율적으로 협상하고 상품 및 서비스를 구매할 수 있는 비인간적인 경제 주체입니다. 가트너(Gartner)에 따르면, 2028년까지 150억 개의 연결된 제품이 고객으로서 행동할 수 있는 잠재력을 갖추게 될 것으로 예측되며, 이후 몇 년 동안 더 많은 수의 제품이 이어질 것입니다.

“기계 고객 기회를 활용하는 것은 기술이나 마케팅과 관련이 없습니다,” Willemsen은 지적했습니다. “이것은 모든 경영진이 참여해야 할 비즈니스 기회입니다. 모든 C-레벨 임원은 자신이 어디에 속하는지 결정해야 합니다. 팀 전체의 협력 없이는 진전이 부분적이고 효과가 없으며 결정적이지 않을 것입니다.”

 

6. **지능형 응용 프로그램(Intelligent Applications)**은 학습된 적응력을 갖추어 적절하고 자율적으로 응답하여 작업을 더 효과적으로 보완하거나 자동화하는 애플리케이션을 의미합니다. 이러한 응용 프로그램의 지능은 머신러닝, 벡터 저장소 및 연결된 데이터와 같은 다양한 AI 기반 서비스로 구성됩니다.

가트너(Gartner)는 "지능형 응용 프로그램에 대한 명확한 필요성과 수요가 존재한다"고 언급했습니다. 가트너의 2023년 CEO 및 고위 경영진 조사에서 26%의 CEO가 지속적인 인재 부족을 조직에 가장 큰 위험 요소로 지적했습니다. CEO 응답자들은 인재 유치와 유지를 최우선 인력 우선 사항으로 지목했으며, 다음 세 해 동안 가장 큰 영향을 미칠 기술로 AI를 지목했습니다

 

Gartner Survey Finds CEOs Cite AI as the Top Disruptive Technology Impacting Industries

A new @Gartner_inc survey revealed that #AI was the top technology that CEOs believe will significantly impact their industry over the next three years. Learn more here. #GartnerIT #CEO

www.gartner.com

 

7. **증강-연결 된 노동력(Augmented-Connected Workforce)**는 인간 근로자의 가치를 최적화하기 위한 전략으로, 인공지능 애플리케이션과 노동력 분석을 활용하여 노동자의 경험, 웰빙 및 기술 개발 능력을 지원합니다. 동시에 비즈니스 결과를 도출합니다.

가트너(Gartner)에 따르면, 2027년까지 CIO의 25%가 핵심 역할의 역량 향상 시간을 50% 줄이기 위해 증강-연결 된 노동력 이니셔티브를 활용할 것으로 예측되고 있습니다

 

Gartner Identifies the Top 10 Strategic Technology Trends for 2024

Gartner, Inc. today announced its list of 10 top strategic technology trends that organizations need to explore in 2024. Analysts presented their findings during Gartner IT Symposium/Xpo.

www.gartner.com

 

8. **지속 가능한 기술(Sustainable Technology)**은 환경, 사회 및 거버넌스 결과를 가능하게 하는 디지털 제공 프레임워크입니다. 이는 인공지능, 암호화폐, 사물 인터넷 및 클라우드 컴퓨팅과 같은 기술의 에너지 소비에 대한 우려가 커지면서 주목받고 있습니다.

IT 관점에서 이 문제를 해결하는 것에는 좋은 동기가 있습니다. 가트너(Gartner)는 2027년까지 CIO의 25%가 지속 가능한 기술의 영향과 개인 보상을 연결할 것으로 예측하고 있습니다

 

Are You Thinking Too Small About Sustainable Technology?

Technology investments are vital to supporting sustainable enterprise operations. Learn how sustainable technology drives ESG outcomes: https://www.gartner.com/en/articles/are-you-thinking-too-small-about-sustainable-technology

www.gartner.com

 

9. **플랫폼 엔지니어링(Platform engineering)**은 여러 애플리케이션과 서비스를 지원할 수 있는 소프트웨어 플랫폼의 설계, 개발, 운영을 다루는 분야입니다. 이러한 플랫폼은 전용 제품 팀에 의해 생성 및 유지되는 레이어를 가지며 사용자의 요구를 지원하기 위해 도구 및 프로세스와 상호 작용합니다. 플랫폼 엔지니어링의 목표는 생산성과 사용자 경험을 최적화하고 비즈니스 가치의 전달을 가속화하는 것입니다.

참고 자료: TechRepublic의 플랫폼 엔지니어 채용 키트

 

Hiring Kit: Platform Engineer | TechRepublic

Cloud computing and cloud services play a vital role in modern business organizations. However, with the additional deployment of microservices, container

www.techrepublic.com

 

10. **산업 클라우드 플랫폼(Industry Cloud Platforms)**은 기업의 산업별 비즈니스 결과를 지원하기 위해 기본 SaaS, PaaS 및 IaaS 서비스를 조합하여 구성 가능한 기능을 갖춘 제품으로 제공합니다. 일반적인 요소에는 산업 데이터 패브릭, 패키지화된 비즈니스 기능 라이브러리 및 구성 도구가 포함됩니다.

반응형
반응형
Ghostwire:Tokyo [epic games] on Steam Deck

최근 epic store 에서 ghostwire (고스트와이어) 를 무료로 배포 하였습니다. 스팀덱 (Steamdeck) 에 #heroic #Launcher 를 통해 다운로드 및 설치를 하였는데, 바로 실행을 하면, 게임 시작 시 검은 화면만 나오고 게임 진행이 안되는 문제를 경험했습니다. 다음 설정으로 문제 해결을 했으니, 저와 같은 문제를 가지고 있는 스팀덱 사용자라면 확인 해 볼 만한 설정이여서 로그 남깁니다.

[출처: https://postimg.cc/gallery/ZSVB0NtW/]

즐겜하세요

Ghostwire : Tokyo [epic games] on Steam Deck

 

반응형
반응형

다음 내용은 Obsidian 의 정식 Help 싸이트 내용을 ChatGPT 로 번역 후 수정된 내용입니다. Help 싸이트: Sync your notes across devices - Obsidian Help

Obsidian 을 사용하여 Tistory 글 작성은 두번째 이며, 그동안 작성했던 글을, 컴퓨터에만 저장하기 보다는, 외부 클라우드 저장소를 통해 저장하고 불러 들여오고 하면 편할 것 같다는 생각을 하게 되었는데, 마침, 내가 사용하는 PC 외 다른 기기들 (아이폰, 집PC, 회사PC 등) 과 동기화 할 수 있는 방법이 검색되어 해당 내용을 적용해 보며 공유합니다.

동기화란, Obsidian 으로 기록/작성 된 최신의 노트 들을 내가 사용하는 모든 기기 (랩탑 이나 아이폰 등)에서 읽고 작성할 수 있는 기능입니다.

기본적으로 Obsidian 에서 제공하는 Obsidian Sync 와 애플의 iCloud Drive 가 있으며, 이 중 다른 기기 간에 노트를 동기화하는 가장 쉬운 방법은 - Obsidian Sync 를 사용하는 것입니다. 이미 - Obsidian Sync 구독(유로)을 가지고 있다면 - Obsidian Sync 설정 방법을 참조하십시오.

다른 동시에 여러 동기화 서비스를 사용하는 것(예: Obsidian Sync 및 Dropbox)은 데이터 손실, 손상 및 기타 문제를 일으킬 수 있으므로 주의해야 합니다. 다른 서비스와 함께 Obsidian Sync를 사용하는 방법에 대해 자세히 알아보려면 여기 를 확인하십시오.

여러 PC 가 노트 동기화 하기

만약 Obsidian 을 모바일 기기에서 사용하지 않는다면, 로컬 폴더를 클라우드 저장소로의 동기화를 위해 다음과 같은 클라우드 서비스를 사용할 수 있습니다.

  • Dropbox
  • Google Drive
  • iCloud Drive
  • OneDrive
  • Syncthing

노트를 동기화하려면 사용 중인 서비스의 지침을 따라 로컬 파일 시스템의 폴더를 동기화하고, 그런 다음 모든 데스크톱 기기에서 기존 Valut 로 폴더를 열면 됩니다.

아이폰, 아이패드 와 노트 동기화 하기

iPhone 및 iPad에서 노트 동기화 iPhone 또는 iPad에서 노트를 동기화 하기 위해 다음 클라이드 저장소를 공식적으로 지원합니다:

참고: 다음 서비스들을 통한 아이폰, 아이패드와 노트 동기화 지원은 되지 않습니다. 이러한 서비스를 사용하여 iOS 기기에서 노트를 동기화하는 방법을 발견하면 커뮤니티 채널에서 알려주세요.

  • Dropbox
  • Google Drive
  • OneDrive
  • Syncthing
  • iCloud Drive

iCloud Drive

Obsidian은 로컬 파일 시스템으로 iCloud Drive를 사용할 수 있습니다.

macOS에서 iCloud Drive를 사용할 때, 데스크톱 앱의 설치 버전을 v0.13.0 이상으로 업데이트해야 합니다.

노트: iCloud 저장 공간 한도를 초과하지 마십시오. 동기화가 중지될 수 있습니다.

iCloud Drive에 새로운 Vault 만들기

iPhone 또는 iPad에서 iCloud Drive에 새 Vault 를 만들려면 다음 단계를 따르십시오:

  1. 새로운 Vault 만들기를 탭합니다.
  2. Vault name에 Vault의 이름을 입력하십시오.
  3. Store in iCloud를 활성화합니다.
  4. Create를 탭합니다.

Obsidian은 iCloud Drive 내부에 새 폴더를 생성합니다. 컴퓨터에서 iCloud Drive 폴더를 Vault로 열려면 다음을 수행하십시오:

  1. 컴퓨터에서 Obsidian을 엽니다.
  2. Open folder as vault의 오른쪽에서 Open을 선택합니다.
  3. iCloud Drive → Obsidian으로 이동합니다.
  4. 동기화하려는 Vault 이름으로 폴더를 선택합니다.

기존 Vault 와 iCloud Drive 동기화하기

기존 Vault를 iCloud Drive로 동기화하려면, 우선, iCloud Drive에 비어 있는 Vault를 만들고 다른 기기의 노트를 비어 있는 Vault로 이동해야 합니다.

iCloud Drive에 새로운 비어 있는 Vault를 만들려면 다음을 수행하십시오:

  1. Create new vault를 탭합니다.
  2. Vault name에 동기화하려는 Vault와 동일한 이름을 입력합니다.
  3. Store in iCloud를 활성화합니다.
  4. Create를 탭합니다.

노트를 새 iCloud Drive 폴더로 이동하려면 다음을 수행하십니다:

  1. 컴퓨터에서 iCloud Drive 폴더를 엽니다.
  2. Obsidian 폴더를 엽니다. 몇 분이 걸릴 수 있습니다.
  3. 기존 Vault의 파일을 Vault 이름으로 된 폴더로 이동합니다.

iCloud는 파일을 모바일 기기로 동기화합니다. Vault의 크기에 따라 몇 분이 걸릴 수 있습니다.

Working Copy

Working Copy 노트를 Git 리포지토리에 저장하는 경우 Working Copy 라는 iOS용 Git 클라이언트를 사용하는 것을 추천합니다.

Working Copy 를 사용하여 동기화하는 방법:

  1. iPhone 또는 iPad에 비어 있는 Vault 를 만듭니다.
  2. Setup Folder Sync 동작을 사용하고 비어 있는 Vault 를 선택합니다.
  3. Working Copy 앱을 사용하여 Vault에 대한 변경 사항을 커밋하고 푸시합니다.

참고: 이 방법은 공식으로 지원하지 않지만 몇몇 사용자가 Working Copy를 사용하여 노트를 성공적으로 동기화했다고 보고했습니다.

X 사용으로 동기화 불가능한 이유

많은 사용자들이 파일 동기화에 다른 서비스를 사용을 원하는 것을 잘 알고 있습니다.

Obsidian은 iOS 의 다른 Markdown 편집기와는 다르게 작동합니다. 1Writer 및 iA Writer와 같은 편집기는 한 번에 하나의 노트에 액세스하며 내장 문서 지원을 사용할 수 있습니다.

반면에 Obsidian 의 많은 기능들이 Vault 전체에 대한 액세스를 필요로 합니다… 예를 들어 파일 이름을 변경하면 Obsidian은 해당 파일에 링크된 Vault 내의 모든 파일을 업데이트 합니다.

지원되는 위치 이외의 수천 개의 노트로 이루어진 전체 폴더 구조를 읽고 수정하고 모니터링하는 시스템을 구현하는 것은 복잡합니다. 이러한 제한은 앞으로 해결할 예정 입니다.

개발자라면 각 개별 동기화 서비스에 대한 Web API를 사용하는 플러그인을 만들 수 있습니다.

내 Vault는 어디에 저장되나요?

Vault 를 만들 때 iCloud Drive를 사용하지 않는다면 Obsidian은 해당 Vault를 Obsidian 앱의 로컬 파일 시스템에 저장합니다. 다른 앱인 Working Copy와 같이 Obsidian 폴더를 파일 시스템에서 선택하여 Vault에 액세스할 수 있습니다.

주의: Obsidian 앱을 삭제할 때 iOS에서 로컬 파일 시스템에 저장된 노트가 삭제됩니다. Obsidian 앱을 삭제하기 전에 노트를 백업하십시오.

Android에서 노트 동기화

Android 기기에서 노트를 동기화하는 가장 쉬운 방법은Obsidian Sync 를 사용하는 것입니다.

Obsidian은 Android 기기의 로컬 폴더에 노트를 저장하므로, 폴더 동기화를 허용하는 어떠한 앱을 사용할 수 있습니다.

Obsidian은 Documents 폴더 내의 Obsidian 폴더를 생성합니다. Documents/Obsidian 하위의 모든 폴더는 Obsidian Vault로 간주됩니다.

일부 클라우드 저장소 서비스인 OneDrive와 같은 서비스는 파일을 사용할 때만 다운로드하고 나중에 로컬에서 제거하여 공간을 확보할 수 있게 해줍니다. 이 파일들은 더 이상 로컬에서 사용할 수 없기 때문에 Obsidian Sync는 이 파일들이 삭제된 것으로 간주하고 원격 보트에서 제거합니다.

Files On-Demand 및 유사한 기능과 함께 Obsidian Sync를 사용하려면 서비스를 구성하여 항상 파일을 장치에 보존하도록 해야 합니다.

<============ Posted using Obsidian ==>

반응형

'Mac 어플 리뷰-활용 > Obsidian' 카테고리의 다른 글

Obsidian 에서 티스토리로 글 보내기  (0) 2023.09.22
반응형

Obsidian - Sharpen your thinking 이라는 메모 툴을 사용하게 되었습니다.

Pasted image 20230922144404.png

테스트 용도로, Obsidian 메모 툴을 사용하여, 티스토리에 글 남겨봅니다.

Obsidian 은 무료 메모 툴이며, windowsOS, MacOS, LinuxOS 등 모두 지원하며 모바일 어플도 있습니다.

생각보다 사용이 쉽고, 여러가지 기능들과 plug-in 들이 많아서, 자주 사용하게 될 것 같네요.
사용하면서 발견하는 기능들에 대한 생각 공유를 해야 할 것 같아요.

참고로, 이 글은 windowsOS 용 Obsidian 에서 적은 글이며, Tistory 로 보낼 때 사용 된 plug-in 은 GitHub - anpigon/obsidian-tistory-plugin: 옵시디언(Obsidian) 티스토리 플러그인 입니다.

생각보다 설치도 간편하고, 간단하게 글을 보내고 수정할 수 있어서 플러그인 추천합니다.

아직까지는 그림 업로드 기능이 없어서 옵시디언 Imgur 플러그인을 사용하지만, 해당 플러그인 사용도 간단합니다.

Pasted image 20230922144440.png

<============ Posted using Obsidian ==>

반응형
반응형

스팀덱 구매 후 설정 관련해서 찾아보면 #CryoByte33 의 #Steam-Deck-Utility 설정 부분이 빠지지 않고 나온다. 설정은 하라는데로 했고, 복잡한 원리는 사실, 게임이 잘 되기 때문에, 알고 싶은 생각은 없었다.  이 설정을 왜 하는지, 향상되는 이유가 무엇인지 궁금하지 않았다.

하지만.. 이 유틸리티의 기본적인 원리? 에 대해 질문을 받았으며, 이를 답변해 주기 위해, 우선 내가 먼저 이해를 해야 했고, 지루한? 유튜브(youtube) 비디오 내용을 시청 하였다. CryoByte33 의 깃허브(Github) 에 공유된 내용도 정리하여 확인 해 보았다.

*참고로 번역은 #ChatGpt (https://chat.openai.com/) 의 도움을 받았다.

 

GitHub - CryoByte33/steam-deck-utilities: A utility to improve performance and help manage storage on Steam Deck.

A utility to improve performance and help manage storage on Steam Deck. - GitHub - CryoByte33/steam-deck-utilities: A utility to improve performance and help manage storage on Steam Deck.

github.com

#cyobyte33 #steam-deck-utilities

- 요약

스팀덱은 알려진 바와 같이 CPU + GPU (그래픽카드) 가 합쳐진 APU 를 사용 하며, 16기가 램을 탑재하였다. 하지만 GPU 용 VRAM 이 별도로 없어서, 탑제된 16GB 의 시스템 램 (RAM) 을 공유 한다. 일 (Task)들을 처리 하면서, 필요하면 서로 램 공간을 사용하는 식으로 작동 되며, 특별히 Valve 에서 1GB 램을 GPU 전용으로 사전 설정하였다. 그래서 15기가의 램 공간이 CPU 와 GPU 간 공유하도록 설정이 되었는 상태이다.

CryoByte33 의 steam deck utilities 는 swap 과 swapiness 의 허용 사이즈 변경 하여, 1GB 의 GPU 용 램 사이즈를 4GB로 높이더라도, CPU 가 필요한 RAM 공간의 대체 공간을 ssd 에 16GB 정도로  설정하여, 보다 안정적으로 메모리 사용의 효율을 높여준다. 

CryoByte33 의 steam deck utilities 는 swap 과 swapiness 의 허용 사이즈 는 "recommended" 로 설정하면 되며, VRAM 사이즈 변경은 스팀덱 부팅 시 BIOS 집입하여 UMA Frame Buffer Size 를 1 - > 4로 변경을 해주면 된다.

다음은, CryoByte33 의 steam deck utilities 를 통해 어떤 부분이 변경이 되었고, 왜 되었으며, 어떻게 되었는지 CryoByte33 의 Github 내용을 ChatGPT 의 번역 기능의 도움을 받아 정리해 보았다.

- Swap Size

더보기

Swap Size 란?

Arch Wiki에 따르면 다음과 같습니다:

리눅스(Linux) 는 물리적인 RAM(랜덤 액세스 메모리 Random Access Memory)을 페이지(page) 라는 메모리(Memory) 덩어리(chunk) 로 나눕니다. 스와핑(swapping) 은 메모리의 한 페이지 가 물리적인 (physical) 메모리에서 사전 설정된 공간인 스왑 공간이라고 불리는 하드 디스크(hard Disk)로 복사되는 프로세스(Process)입니다. 이를 통해 해당 페이지의 메모리를 해제(free up)할 수 있습니다. 물리적인 메모리와 스왑 공간의 결합된 크기가 가용한 가상 메모리의 양입니다.

왜 변경하였나요?

스왑 크기를 늘리면 몇 가지 작업을 수행할 수 있습니다:

  • 메모리 압력을 크게 감소시킬 수 있습니다. 이렇게 하면 더 많은 캐시가 가능하며, 동시에 VRAM이 조금 더 확장될 수 있습니다.
  • 물리적인 메모리가 부족해지면 "긴급 메모리"의 저장 공간을 확보할 수 있습니다. 이렇게 하면 대량의 메모리 이전을 방지하고, 메모리 관리를 더 긴 시간 동안 분산시켜 지연 시점을 방지할 수 있습니다.

어떻게 변경하였나요?

sudo swapoff -a
sudo dd if=/dev/zero of=/home/swapfile bs=1G count=SIZE_IN_GB status=none
sudo chmod 0600 /home/swapfile
sudo mkswap /home/swapfile  
sudo swapon /home/swapfile

- Swappiness

더보기

Swappiness 란?

또한 Arch Wiki에 따르면 다음과 같습니다:

swappiness는 스왑 공간에 대한 커널(Kernel)의 선호 (혹은 회피) 정도 나타내는 sysctl 매개변수입니다. swappiness 값은 0부터 200까지 가질 수 있습니다 (Linux 5.8 미만의 경우 최대 100). 기본값은 60입니다. 낮은 값은 커널이 스왑을 피하도록하고, 높은 값은 커널이 스왑 공간을 사용하려고 시도하며, 100의 값은 IO 비용이 동등하다고 가정합니다. 대부분의 시스템에서 메모리가 충분한 경우 낮은 값이 IO 의 반응을 향상시키는 것으로 알려져 있습니다.

왜 변경하였나요?

기본적으로 스팀덱(SteamDeck)은 스왑니스(swappiness) 값이 매우 높은 100으로 설정되어 있어 많은 물리적 메모리가 남아 있을 때에도 데이터가 스왑으로 이동할 수 있습니다.

이는 두 가지 이유로 인해 문제가 될 수 있습니다:

  • 과도한 쓰기 작업은 드라이브 수명을 단축시킬 수 있습니다.
  • 스왑은 메모리보다 훨씬 느리며, 스왑을 사용하면 성능이 저하됩니다.

따라서, 스왑을 낮은 값으로 또는 제안된 값 1로 줄여서 다음과 같은 이점을 얻을 수 있습니다:

  • 스왑은 실제로 필요한 경우에만 마지막 순간에 사용되도록 보장합니다.
  • 드라이브의 건강 상태를 유지합니다.

어떻게 변경하였나요?

echo VALUE | sudo tee /proc/sys/vm/swappiness

- sysctl 매개 변수라는 스왑니스. sysctl 은 뭘까 궁금해서 찾아보았다.

더보기

sysctl은 리눅스 커널 매개변수를 동적으로 구성하고 관리하기 위한 유틸리티입니다. 이 도구를 사용하면 운영 체제의 커널 매개변수를 읽고 수정할 수 있습니다.

커널 매개변수는 운영 체제의 동작을 제어하는데 사용되는 변수입니다. 이러한 변수는 시스템의 다양한 측면을 조정하고 최적화하는 데 사용됩니다. 예를 들어, 스케줄링 동작, 메모리 관리, 네트워크 설정 등에 대한 커널 매개변수를 조정할 수 있습니다.

sysctl을 사용하면 커널 매개변수를 실시간으로 조정할 수 있으므로 시스템 동작을 변경하거나 성능을 향상시킬 수 있습니다. 이는 커널 매개변수를 재부팅 없이 조정하고 테스트할 수 있는 편리한 방법을 제공합니다.

sysctl은 주로 터미널 또는 명령줄 인터페이스를 통해 사용되며, 많은 리눅스 배포판에서 기본적으로 설치되어 있습니다.

- Transparent Hugepages

더보기

Transparent Hugepages 란?

트랜스페어런트(Transparent  hugepages)는 Emin이 작성한 훌륭한 설명에 따르면 다음과 같습니다:

CPU가 필요한 프로세스에 메모리를 할당할 때, 일반적으로 4KB 페이지 청크로 할당합니다. CPU의 MMU(메모리 관리 유닛)는 들어오는 I/O 요청에 따라 가상 메모리를 물리 메모리로 변환하기 위해 활동적으로 작동해야 합니다. 모든 4KB 페이지를 거치는 것은 자연스럽게 비용이 많이 드는 작업입니다. 다행히 CPU는 자체적인 TLB 캐시(번역 룩어사이드 버퍼)를 가지고 있어 가장 최근에 사용된 메모리를 캐싱하여 특정 메모리 주소에 액세스하는 데 필요한 시간을 줄일 수 있습니다.

왜 변경하였나요?

설명에서 언급한 대로, 페이지를 할당하는 것은 비용이 많이 듭니다. 트랜스페어런트(hugepages)는 할당과 조회가 훨씬 쉽고, 대량의 메모리를 처리할 때 발생하는 지연을 많이 줄여줍니다.

어떻게 변경하였나요?

echo always | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

- Shared Memory in Transparent HugePages

더보기

Shared Memory in Transparent HugePages 란?

커널 문서에 따르면 다음과 같습니다:

마운트는 SysV SHM, memfd, 공유 익명 mmap (/dev/zero 또는 MAP_ANONYMOUS), GPU 드라이버의 DRM 객체, Ashmem에 사용됩니다.

이렇게 함으로써 이러한 요소들이 hugepages에 저장될 수 있게 됩니다.

왜 변경하였나요?

거대 페이지(hugepages)를 활성화하는 것과 같은 이유로 인해, 이는 메모리 관리에서 일부 지연 시간을 줄일 수 있습니다.

어떻게 변경하였나요?

echo advise | sudo tee /sys/kernel/mm/transparent_hugepage/shmem_enabled

- Compaction Proactiveness

더보기

Compaction Proactiveness 란?

이 기능은 Linux에서 "다운타임"을 감지할 때, 메모리 조각화를 예방차원에서 수행합니다.

왜 변경하였나요?

심지어 커널 문서에서도 이 기능이 전체 시스템 성능에 영향을 미친다고 인정하고 있습니다:

참고로, 컴팩션은 서로 다른 프로세스에 속한 페이지들이 이동함으로써 전체 시스템에 중대한 영향을 미칠 수 있으며, 예상치 못한 응용 프로그램에서 지연 증가를 초래할 수도 있습니다.

기본적으로 Linux는 컴팩션을 수행할 적절한 시기를 감지하려고 노력하지만, 게임 중에는 좋은 시기가 없으므로 비활성화하는 것이 가장 좋습니다.

어떻게 변경하였나요?

echo 0 | sudo tee /proc/sys/vm/compaction_proactiveness

- Hugepage Defragmentation

더보기

Hugepage Defragmentation란?

기능은 proactive compaction과 같은 기능이지만 hugepages에 대한 것입니다.

왜 변경하였나요?

proactive compaction을 비활성화하는 이유를 참조하세요.

어떻게 변경하였나요?

echo 0 | sudo tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag

- Page Lock Unfairness

더보기

Page Lock Unfairness란?

PLU (Page Lock Unfairness) 설정은 "허용 가능할 정도의 정상적인" 상태가 될 때까지, 프로세스가 페이지에 대한 잠금을 시도할 수 있는 횟수를 설정하며, 해당 프로세스에 페이지 액세스를 보장합니다. 자세한 내용은 커밋을 참조하십시오.

왜 변경하였나요?

불행히도, 이는 특히 게임에서 부정적인 부작용을 일으킬 수 있습니다. 반복적으로 대기하는 프로세스는 게임의 지연 문제를 뱔생 시키고, 일부 프로세스는 올바르지 않은 상태에서 휴면 상태로 진입 할 수 있습니다.

어떻게 변경하였나요?

echo 1 | sudo tee /proc/sys/vm/page_lock_unfairness

 

- 마치며

대부분의 내용이 리눅스 (Linux) 관련된 내용으로, 번역한 내용은 크게 와닿는 부분은 없지만, 이를 통해 스팀 OS 및 리눅스 에 대해 궁금한 점도 많아졌고, 그외에도 시스템 적인 부분이 명령어, 혹은 스크립트를 통해 변경이 가능하다는 것도 알게 되었다. 신기한 점은 이렇게 수정이 가능한 것을 알아냈다는 점이다. 내용에 나오는 Emin 이란 분이 이 리눅스 깊숙한 최적화에 큰 도움을 주신 분이라고 한다. 

Emin 의 Github

 

GitHub - CachyOS/linux-cachyos: Archlinux Kernel based on different schedulers and some other performance improvements.

Archlinux Kernel based on different schedulers and some other performance improvements. - GitHub - CachyOS/linux-cachyos: Archlinux Kernel based on different schedulers and some other performance i...

github.com

여하튼, 이 유틸리티를 설치하고, retrodeck 에서 스위치 에뮬레이션이 아주 안정적으로 구동이 되고 있으며, 테스트 해본 게임 중엔 The Division, Death Stranding, Tekken 7, Call of Duty 시리즈 등, 모두 안정적인 프레임 을 유지 했으며, 낮음 설정의 그래픽도, 상향 조정이 가능해질 만큼 게임 내 그래픽 퀄리티 와 성능이 좋아졌다.

이 유틸리티는 개인 적으로도, 그리고 많은 사람들이 강력 추천하는 프로그램이니, 스팀덱으로 게임 진행할 때 버벅거림을 경험한다면 설치해 보도록 한다.

반응형
반응형

항상, Steam (이하 스팀)이 만든 기기들 (스팀머신, 컨트롤러, 링크 등) 의 소식과 리뷰, 그리고 스팀OS 의 소식도 전해 들으며, 언젠가는 스팀 플랫폼 게임들을 구동시킬 기기 하나, 제대로 만들 것 같은 느낌으로 항상 관심있게 관련 소식을 기다리고 있었는데, 마침내, 2021년에 발표가 되고 2022년 초? 에 #스팀덱이 세상에 선을 보이게 되었다. 생각했던데로 물량이 별로 없어서, 국내엔 작년 8월 초부터 예약을 받아서 2022년 말쯤 배송 시작 된 것으로 기억된다. 

photo from:&amp;nbsp;Steam Deck vs Logitech G Cloud: Which handheld should you buy? (xda-developers.com)

애플 제품들 (아이폰3gs, 아이패드 1세대 등) 과는 다르게, 여러 리뷰들을 보며, 바로 예약 구매 신청은 하지 않았다. 개인적으로 모니터 상의 리뷰들을 통한 간접 경험 보다는 직접 손으로 각 버튼들을 눌러보고, 무게나 화면 크기등을 직접 경험해 보고 싶었기 때문이다. 언젠가, 스팀덱을 구입한 주위 친구들을 통해, 확인해 보거나, 해외 나가서 직접 체험 후, 구입할 기회가 되면 구매를 하려고 했다. 음.. 올해 (2023) 초, 해당 기기를 리뷰해 본 친구의 말을 빌리자면, 스팀덱은 무조껀 구입해야 하는 기기이며, 내가 무척 좋아할 것이라는 말로 날 설레이게 했다.

photo from:&amp;nbsp;Steam Deck vs Logitech G Cloud: Which handheld should you buy? (xda-developers.com)

직접 체험을 고대하는 중에, UMPC 혹은 hand-handled PC 시장엔 오래전부터 나왔던 Ayaneo 에서 window 10을 탑재한 비슷한 제품이 또 출시 되었고, Logitech 에서도, Logitech G Cloud 이라는 이름으로 안드로이드를 탑재하고 출시하면서, UMPC 시장을 나눠먹기 시작했다. 두 기기 모두 훌륭했고, 모양도 비슷했으며 성능도 우수 하다고 리뷰 되었다. 다음 스팀덱과 로지텍G클라우드 의 사양 비교 표에서, 내가 가장 중요하게 본 부분은 1. OS 와 2. 화면크기, 3. 배터리, 4. 확장 그리고  5. 가격 이다. 

from : Steam Deck vs Logitech G Cloud: Which handheld should you buy? (xda-developers.com)

이  5가지 사양 중 대부분 로지텍G클라우드 가 스팀덱 보다 우수했다. 단 하나.. 가장 큰 단점은 OS 였고, 그 이유는 다음과 같다. 그동안 스마트 기기들 (스마트폰, 웨어러블, IoT, ai 스피커 등)이 무수히 나오면서, 안드로이드 OS 는 v2.0 부터 v12까지 충분히 스마트폰과 태블릿들로 체험을 했다. 또한, 가지고 있는 기기들이 로지텍G클라우드 보다 성능이 더 좋은 기기들이기도 했고, 게임 관련 악세사리들도 있기 때문에, Logitech G Cloud 의 경험은 집에 있는 기기와 악세사리의 조합으로 충분히 충족이 되어, 구입 목록에서 자연스럽게 제외 되었다.

photo from :&amp;nbsp;Ayaneo 2 review: I wouldn&amp;rsquo;t trade a $400 Steam Deck for this $1,300 handheld - The Verge

그에 비해, Ayaneo 는 말 그대로  UMPC (울트라 모바일 PC) 이며 최고의 hand-handle Gaming PC 라고 생각한다. 현재 Ayaneo2 말고도 여러가지 제품들이 나와 있고, 스펙도 어느 PC 못지 않을 성능으로 만들어져 나와서, 안돌아가는 게임이 없을 정도라는 한다. 가장 눈에 띄는 사양은 CPU AMD Ryzen 6800U 이다. 회사 내, 주변에서 이 프로세서를 탑재한 노트북으로 작업 하시는 분들이 꽤 여럿 있는데, 해당 기기에 대한 만족도가 꽤 높았다. (2022-2023). GPU 로 들어가 있는 라데온 기종은 사용해본적이 없어서 잘 모르겠지만, 검색해 보니, 3.4TFlops 의 성능까지 낼 수 있으며 4TFlops 성능을 내는 xbox series S 과 근접한 수치여서 꽤 준수한 그래픽 효과들을 보여줄 수 있을 것 같았다. 

from&amp;nbsp;Ayaneo 2 vs Steam Deck: Which will be the better choice for handheld gaming in 2023? (sportskeeda.com)

실제로 이 유튜버분 (무적풍화륜) 의 리뷰를 보면,  Ayaneo 2 는 진정, 게임에 최적화된 기기라는 것을 알수 있었다. 리뷰에 나온 모든 게임들이 안정적으로 동작하였고, 디자인도 스팀의 투박한 모습과 비교해 보면 훨씬 좋아 보였다. 

ayaneo 2 review by 무적풍화륜

자, 그럼 이 최고 사양의 Ayaneo2 를 구입해야 하는 것이 당연하다는 생각이 들기도 하지만, 가격 대비 만족도를 확인해 봐야 할 것이다. 1년 좀 전 쯤, 구입한 PS5 의 가격은 63만원.. 비슷한 시기에 구입한 인텔12세대 PC 의 가격은 100만원. 이 2가지만 비교했을 경우, 비싼 PC 구매 후 만족도가 컸어야 하지만, 여러가지 (설정 및 추가 구매 등) 생각 해보면 PS5 구매의 기쁨과 사용 시의 만족도는 PC 와는 비교할 수 없을 만큼 컸다. 설정도 간단하고, 사용도 쉬웠다. 그만큼 게임 판매 플랫폼이 있는 기기들은 플랫폼에서 판매되는 모든 소프트웨어들이 해당 기기에 거의 완벽에 가까울 정도로 맞춤 출시를 하기 때문에 설정 및 사용이 쉽게 되어 있다. 반면 모든 곳에서 구입해서 게임을 즐길 수 있는 windowsOS PC 그만큼 설치해아 하는 게임런처들도 많이 있으며 세일 때 구입을 많이 하기 때문에 게임들이 여러 판매 플랫폼에 분산되어 있는 단점이 있다. Ayaneo2 는 windowsSO PC 와 동일한 단점을 가지고 있기도 하지만, 가격 또한 Gaming (이하 게이밍) 노트북 처럼 매우 높게 책정되었다. (16기가 램, 1T SSD 기기 네이버 검색가격 1,790,000 원 2023/07/05) 아쉽게도.. 구매 목록에서 제외 되었다.

from:&amp;nbsp;Ayaneo 2 vs Steam Deck: Which will be the better choice for handheld gaming in 2023? (sportskeeda.com)

사실, WIndowsOS 에서 게이밍 경험이 더 많기도 하고, 게이밍 시 여러모로 수월 하기 때문에, 게임 판매 플랫폼의 이유 보다는 가격의 이유로 Ayaneo  2 를 구매하지 않았다가 좀더 사실적인 이유다. 만약, windowsOS PC 가 집에 없었다면.. 아마 고려 할 만한 기기 이지만, ubisoft 의 the division2 등 fps 만을 위한 pc 를 이미 가지고 있어서, 좀 애매한 기기가 될 것 같았다. (가격이 비싸다라는 다른 말 ㅋ)

결국, 스팀덱만 남았다. 직접 체험 해 보고 구입하자고 마음을 먹기 전에 이것 저것 검색을 통해 알아본 내용은 다음과 같다. 

  • 구입 시 모델은 64기가를 구입 후, 필요한 용량은 ssd 혹은 microSD 로 추가한다.
  • PD 충전 시 스팀덱이 사용하는 용량은 35W.
  • Steam 에서 제공하는 게임 외, 다른 플랫폼에서 제공하는 게임들도 스팀OS 에서 가능하다.
    • Epic Games, GOG, Ubisoft Connect, Battle.Net 등
  • 전동 스팀용 DOCK(이하 독) 은 DP 연결을 필요하면 구입하고 아니면 다른 제품들 사용이 가능하다.
  • COMODO 에서 구입 시 2주정도 걸리며 배송비는 8,000원. 
  • 다른 제품들보다 크고, 무겁고 구입 후 별로 안쓰게 된다. - 헙!@! 이런 글을 보니 중고마켓을 확인해 보았는데, 꽤 많이 등록되어 있어서, 중고 구매도 고민했다.
  • Windows OS 설치가 가능하다 (듀얼부팅)

그리고 구입했다. 와이프에게 아주 작은 PC 여서 가지고 싶다고 전했고. #Steam 외 게임유통사들에서 구입한 게임들 중, 가볍게 즐기려고 했지만 PC 에 설치를 안하는 게임들을 하고 싶다는 전하지 않았다.

음.. 일하는데 필!요! 할지도 모른다.. 라고 해서 허가가 났다. 바로 뽀록이 나버렸지만.. ㅡ,.ㅡa

SteamDeck - 64Gb 용량 버전을 구매했으며, 2023-06 월 어느날 일렉트로마트에서 구입이 가능하다는 이야기를 듣고 사무실에서 가장 가까운 일렉트로마트 물량 확인 후 가보려고 했는데, 와이프가 동네 이마트 (일레트로마트가 있는) 간다며 구매해 주겠다고 했다. 

와이프: (일렉트로 마트 직원에게) 혹시 스팀 이라는 컴퓨터 있나요?

직원: 아.. 게임기요? 있습니다. 

딱!!! 걸렸으..  아웅.. 박스도 저렇게 생겼네.. 아놔.. ㅋㅋ

우선 정상적인 제품이 왔는지 꼼꼼하게 확인 해 보라는 글도 있고, 혹시 모르니 영상으로 남겨야 한다는 글도 있어서, 언박싱? 영상을 찍게 되었다. 

Youp Han - YouTube

 

반응형
반응형

https://hbr.org/2020/03/best-practices-for-instant-messaging-at-work  (2020 년 03월 by Dustin York)

 

Best Practices for Instant Messaging at Work

The benefits of instant messaging tools like Slack, Microsoft Teams, and Zoom have become quickly obvious. There’s just one problem: We’re still figuring out how to properly, and professionally, communicate via IM. Organizations should begin to adopt b

hbr.org

이 포스트는 위의 Dustin York 의 Best Practices for Instant Messaging at Work 내용을 ChatGPT 를 통해 요약하였습니다.

- 직장내 인스턴트 메신저 사용에 대한 모범 사례는 다음과 같습니다.

slack

1. 목적과 용도를 명확히 이해하세요: 인스턴트 메시징은 실시간 소통과 빠른 결정에 유용하지만, 전화나 이메일 등 다른 커뮤니케이션 도구와는 목적과 용도가 다릅니다. 간단한 질문, 업무 업데이트, 미팅 일정 확인 등의 일상적인 대화에 사용하되, 복잡한 주제나 중요한 결정에는 더 적합한 도구를 사용하는 것이 좋습니다.

2. 적절한 메시지 전달 시기: 인스턴트 메시징은 실시간으로 이루어지지만, 상대방이 바쁠 수도 있으므로 메시지를 전달할 때 적절한 시간을 선택해야 합니다. 업무 시간에 다른 사람을 방해하지 않도록 주의하고, 긴급한 문제가 아니라면 비즈니스 시간 외에는 보내지 않는 것이 좋습니다.

microsoft Teams

3. 명확하고 간결한 메시지 작성: 인스턴트 메시징은 일반적으로 짧은 메시지를 주고받기 때문에 명확하고 간결하게 작성하는 것이 중요합니다. 불필요한 세부사항을 제거하고, 필요한 정보를 명확하게 전달하세요. 길고 복잡한 메시지는 효율성과 이해도를 저해할 수 있습니다.

4. 존중과 전문성 유지: 인스턴트 메시징은 빠르고 비공식적인 소통 방법이지만, 직장에서도 존중과 전문성을 유지해야 합니다. 다른 사람의 시간과 일정을 고려하고, 적절한 인사말과 단정한 언어를 사용하세요. 또한, 감정적인 반응이나 논쟁을 피하고, 긍정적이고 협력적인 태도를 유지해야 합니다.

WhatsApp for Business

5. 개인정보와 보안 유의: 인스턴트 메시징은 정보를 빠르게 공유하는 도구이므로 개인정보나 기밀 정보를 신중하게 다루어야 합니다. 개인정보를 포함한 민감한 정보는 보안을 강화한 다른 도구를 사용하는 것이 좋습니다. 또한, 악의적인 링크나 파일에 대한 조심도 필요합니다.

6. 적절한 그룹 채팅과 채널 사용: 인스턴트 메시징 플랫폼은 그룹 채팅이나 채널 기능을 제공합니다. 이를 통해 특정 프로젝트나 팀에 대한 대화를 진행할 수 있습니다. 필요한 경우 적절한 그룹 채팅을 만들고 관련 인원들을 초대하여 커뮤니케이션의 효율성을 높일 수 있습니다.

Zoho Cliq

7. 기록과 검색 가능성: 인스턴트 메시징은 대화의 기록을 남기기 때문에 필요한 정보를 나중에 찾을 수 있습니다. 필요한 정보를 빠르게 검색하고 참조할 수 있는 방법을 익히고, 중요한 결정이나 약속은 다른 도구에도 기록하는 것이 좋습니다.

8. 효과적인 알림 관리: 인스턴트 메시징은 즉각적인 알림을 제공하기 때문에 알림 관리가 중요합니다. 중요한 메시지에 대해서만 알림을 받도록 설정하고, 직장 외의 시간에는 알림을 꺼두는 등 개인의 작업 흐름에 맞춰 알림을 관리하세요.

Mattermost

9. 비상 상황에서의 사용: 인스턴트 메시징은 긴급한 상황에서 유용할 수 있습니다. 하지만 심각한 긴급 사태에 대해서는 더욱 빠른 응답이 필요하므로, 전화나 대면 소통을 우선으로 고려하는 것이 좋습니다. 비상 시나리오에 대비하여 대체 커뮤니케이션 방법을 항상 알아두는 것이 좋습니다.

이러한 모범 사례를 따르면 인스턴트 메시징을 효과적으로 활용하여 직장에서의 효율성과 협업을 향상시킬 수 있습니다.

반응형
반응형

     

<프로그램 실행 화면 - cmd 환경>

이번 포스팅에서는 Services 내 jenkins 서비스를 찾아 Status 를 Stop 으로 하고 나서,  특정 폴더 내 폴더들 및 파일들을 찾아 삭제를 하는 FolderControlCore 코드를 확인 해 본다.

Main Code - 1
Main Code - 2

1. Service (0) 을 던져, 서비스를 멈추고 나서 foreach 를 실행한다. 이때 deleteFolderName 은 스트링 배열로, Main code 에 다음과 같이 선언되어 있다. 

Main Code -3

2. 배열 갯수만큼 foreach 가 돌면서 folderName 이 하나씩하나씩 클래스 멤버로 설정이 되며, SearchAndDeleteFolders() 메소드를 실행 시킨다. - 예) lastStable

FolderControlCore - SearchAndDeleteFolders()

3. SearchAndDeleteFolders() 메소드 는 설정된 directoryName 으로 폴더를 우선 찾아본다. SearchDirectories() 의 결과를  folderFound 변수에 담아 Count 확인 후, DeleteDirectories() 를 호출한다.

FolderControlCore - SearchDirectories&nbsp;()

4. SearchDirectories() 메소드는 .Net 에서 지원하는 Directory 클래스 내 GetDirectoreis 메소드를 사용하여 검색한다. 이때 특정 폴더 (upperDirectoryName = %Jenkins HOME% ) 와 지울 폴더 (예) lastStable) 가 있는지 검색 하여 검색 결과를 IEnumerable<string> folderFound 로 전달한다.

FolderControlCore - DeleteDirectories()

5. DeleteDirectories() 메소드에서는 전달받은 폴더 경로들(list) 을 다시 한번 CheckPath() 메소드로 string 이 파일경로 형태의 string 포멧인지를 확인한다. CheckPath() 는 True/False 값을 넘기며, 경로확인이 되었을 때 .net framework 에서 지원하는 Directory 클래스의 Delete() 메소드를 이용하여 경로(path)를 삭제한다.

FolderControlCore - CheckPath()

6. CheckPath() 는 정규 표현식으로 path 문자열을 확인 한다. .net framework 내 Regex 클래스의 IsMatch 메서드는 지정된 패턴과 경로 문자열이 일치하는지 확인하며, 일치하는 경우 메서드는 true를 반환하고, 그렇지 않은 경우 false를 반환한다.

  • ^는 문자열의 시작을 나타냄
  • (([a-zA-Z]:)|(\))는 드라이브 문자와 : 또는 단일 백슬래시()와 일치하는지 확인
  • (\{1}|((\{1})^\)+)는 나머지 경로를 일치시키며, 백슬래시() 다음에는 , :, *, ?, <, >, ", |가 아닌 문자열의 시퀀스가 와야 하며, 이 패턴은 여러 번 반복 가능하다.

7. 각 폴더별 (예: lastStable ) 로 찾은 폴더 갯수 및 삭제한 폴더 갯수, 그리고 지워지지 않은 폴더 갯수를 로그파일에 남긴다. 갯수 위에는 폴더 경로들이 찍히며, 총 4번이 찍히게 된다.

삭제 결과로그

이렇게 foreach() loop 이 완료되면 ServiceControlCore 의 메소드인 ControlService(1) 을 호출하여 Jenkins 서비스를 재시작한다.

사실 현재 사용하는 프로그램에 대한 설명은 완료 되었지만, Jenkins 서비스를 강제 shutdown 시키는 방법보다는 safe-shutdown 시키는 방법을 권장 된다. 이 방법은 Jenkins 내 shutdown 명령어가 적용 될 때, 실행 시작이 된 프로세스가 있는지 확인 하며, 완료 후 shutdown 실행이 되는데, 이 방법을 사용하려면 프로그램 안에서 cmd 명령어를 실행 시켜 진행한다. 다음 포스팅에서 이부분에 대해 알아보려고 한다.

-끝-

youp-han/Jenkins-Restart: it restarts the running Jenkins Service locally (github.com)

 

GitHub - youp-han/Jenkins-Restart: it restarts the running Jenkins Service locally

it restarts the running Jenkins Service locally. Contribute to youp-han/Jenkins-Restart development by creating an account on GitHub.

github.com

 

반응형
반응형

젠킨스 (Zenkins) 구성 중에 3분마다 서비스가 살아있는지 확인하는 구성이 하나 있었는데, 처음에 크론탭 (Chrontab) 설정 할때는 다음과 같이 설정하여 3분마다 지속적으로 확인 할 수 있도록 했습니다.

H/3 * * * *

이후에, 서비스 사용하는 시간 동안에만 확인 하도록 설정을 다음과 같이 바꾸게 되었습니다. 사실 크론탭 설정 관련하여 지식이 없어, chatGPT 의 도움을 받았습니다. Schedule 은 월-금, 오전 8시부터 오후 19시 이전까지 걸어놨습니다. 

< Schedule 설정 >

*/3 8-18 * * 1-5

  • */3 in the first field means "every third minute"
  • 8-18 in the second field means "between 8:00 AM and 6:59 PM"
  • * * in the third and fourth fields means "every day of the month" and "every month of the year" respectively
  • 1-5 in the fifth field means "Monday to Friday"
  • -- from ( openai.com )

이틀간의 빌드 히스토리를 열어서 UTC 를 한국 시간으로 수정한 결과 입니다.

확인 결과

 

 

 

 

반응형
반응형

src/main/webapp directory will be ignored if packaged as a Jar

it works only with War packaging

반응형

+ Recent posts