패턴 스테이의 모든 것

① 초장 스테이는 언제 하는가?
8과 9는 좋은 숫자와 나쁜 숫자로 나뉘며, 8은 스테이를 해도 좋지만 9는 위험한 숫자이다. 패턴 9의 경우는 카드가 아주 안 풀릴 때나 돈이 아주 적을 때 스테이하면 된다.
② 초장 스테이가 공격당할 때
초장 스테이란 상대방이 책을 할 때에만 배팅할 수 있고 상대방이 선제 공격으로 나오면 콜밖에 못하게 된다. 상대방이 강하게 나오며 9는 죽어야 하나 8이나 7이면 콜이 좋다.
③ 초장 스테이는 돈이 적을 때 하는 것이다
내가 가진 돈이 올인 직전이면 9나 10 또는 k라도 승부를 걸어볼 만하다. 이때는 많이 따기 보다는 한번 목욕시키는 것이 목적이므로 메이드만 되면 스테이 하는 것이 좋다.
④ 초장 스테이를 잡는 법
초장 스테이를 잡기 위해 애써 메이드를 만들 필요는 없다. 다만 적당한 때를 봐서 노메이드 스테이를 하고 밀어내기를 하면 된다. 이때 초장 스테이를 밀어 내려면 점심 컷트 후에 스테이를 하면 된다.
⑤ 초장 스테이는 노메이드로 잡아야 한다.
초장 스테이의 경우 히든에서는 꼭 책을 내리기 때문에 상대방이 크게 배팅을 하게 되면 대개 죽게 마련인데 저녁까지 계속 컷트를 했다면 받지 않고도 따라 오는 수가 많다.
따라서 뺑끼로 밀어내고 싶다면 점심 후 스테이를 한 후 마음껏 배팅하는 것이 좋다.
⑥ 초장 스테이 집은 반드시 1만에서 아침을 맞아야 한다.
초장 스테이 집은 반드시 1만에서 아침을 맞이해야 좋다. 왜냐하면 상대방이 카드를 실컷 본 후 뺑끼칠 수 있기 때문이다. 따라서 초장 스테이 집은 모름지기 짧고 굵게 끝내야 한다.
상대방의 컷트 수를 확인하라. 바둑이의 첫째는 컷트를 하는가, 하지 않는가를 제일 중요하게 생각하기 때문이다.
카드는 빨리 봐야 한다. 바둑이는 누구보다도 재빨리 펴보고 상대방의 표정을 살피는 데서 승부가 나기 때문이다. 상대방의 얼굴 모습, 카드 놓는 자세, 돈 집는 태도, 컷트 수, 몸의 움직임을 재빨리 살펴야 하는데 언제 내 카드를 즐길 시간이 있겠는가. 엔조이는 선수가 할 일이 아니다.
바둑이가 무슨 장난인가?
패 떠먹기 게임이 아니다. 적극적으로 기교를 부려 뺑끼를 쳐야 하는 것이다.

바둑이 고수가 되는 길

일단 100% 믿지 마시길 먼저 당부드립니다
제가 쓴글처럼 하다 돈잃었다고 하심 대략 난감 하거든여 ㅋㅋ 전그냥 도움이 되고자 올립니다..
어느덧 바둑이를 한지도 15년정도가 되었네여 ㅋㅋㅋ
한지역에서 세미라는 소리도 들어보고 뺀지도 맞아보고 돈도 많이 잃어보고 많이도 따보고
(전문 놀음꾼은 아닙니다 오해는 하지마세여 -_-)
바둑이라는 것이 초창기에 나올때만 해도 콧구멍이라는것이 없었습니다..
일단 메이드되면 다박고 봤었져 .. 지금 생각하면 그때가 정말 재미있었는데
요즘은 콧구멍들이 많아서 게임이 영재미가 없습니다 ㅋㅋ
그래도 안하면 더심심하니 자꾸 하게 되네여 ^^
제가 하면서 느낀점들 몇가지만 적어드릴꼐여

1.배팅은 타순을 보고때려라.

타순이란? 배팅순서입니다 아무때나 막배팅하는것은 말그대로 호구져 게임좀 하신다는분들은 이 타순을 보고 배팅을 합니다
예를들어 내가 딜일떄는(마지막배팅이겠져) 추라이 좋을때 배팅하고 퍼스트일때는 책으로 이정도를 타순에 의한 배팅이라 합니다. 제일 좋은 타순은 마지막 배팅일때 가장 좋은 타순이라 합니다.. 앞사람들 배팅상황을 보면서 게임을 운영할수있으니까여. 퍼스트일때 승부보고싶다면 데구나가고 아니라면 거의 책이져.. 대강 이정도가 타순을 보고 배팅하는 정도입니다

2.졌다는 느낌이 들었다면 더이상 생각하지말고 죽어라

가끔씩 게임을 하다보면 아 졌겠다 하는 생각이 들때가 있을겁니다
그런느낌을 촉이라고 하는데 개촉이 들기전까지는 거진 맞는다고 보시면 됩니다..
그런거 콜하고 들어가서 이기는경우 진짜 드뭅니다..

3.판돈에 미련두지말아라

게임을 하다보면 죽어야 하는거알면서도 내가 들어간돈이 얼마라서 판돈이 얼마라서 못죽는 경우가 종종있습니다
이럴때는 그냥 죽으세여좀 ㅠㅠ 빈집에 소들어 갑니다 ㅋㅋ

4.6-7이라도 절대 자만하지말아라

요즘 추세가 콧구멍들이 많다보니 6-7잡고도 지는 경우가 많이 나옵니다
절대 6-7이라해서 단다고 달지마시고 죽일사람은 다죽이고 가시는게 더 안전합니다
물론 6-7로도 죽어야 할때는 과감하게 죽어야 겠져

5.계획을 미리 짜라..

어떻게 할껀지 저사람이 어떻게하면 어떻게할껀지 미리 작전을 세우는것이 중요합니다..
머뭇머뭇거리면 고수들은 그것을 읽습니다..

6.의심하지말아라

상대방이 구라스테이인거 같다고 절대 의심하지마십시요 그냥 인정하는것이
정신적으로 현실적으로 좋습니다

7.열리지마라
열린다고 먹어주는 사람없습니다 혼자 바보되는것입니다 항상 차분히 ^^

로컬 로그인 안내 문서 숨긴 마이크로소프트 “사용자 데이터를 원해”

컴퓨터가 플로피 드라이브를 사용하던 시절의 방식대로 로컬 전용 계정으로 윈도우 11을 사용할 수 있다는 사실을 알고 있는가?

몰랐다고 해도 사용자의 잘못은 아니다. 실제로 마이크로소프트는 사용자에게 로컬 계정 로그인 방법을 알려주는 정보를 바로 삭제하고 있다.

마이크로소프트는 윈도우에서 가장 자주 검색되는 기능에 대한 짧고 핵심적인 도움말과 안내 자원을 꽤 많이 보유하고 있다. 예를 들어, 한 문서에서는 로컬 전용, 연결되지 않은 사용자 계정에서 전체 마이크로소프트 계정으로 이동하는 방법을 알려준다.

하지만 원래는 훨씬 더 많은 정보가 있었다. 톰즈하드웨어는 지원 문서에서 마이크로소프트 계정에서 로컬 계정으로 전환하는 방법에 대한 정보가 삭제된 것을 발견했다. 이 변경은 최신 서피스 기기가 출시된 지난 주에 이루어졌으나 원래 버전은 인터넷 아카이브로 확인할 수 있다.

실망스럽지만 놀라운 일은 아니다. 마이크로소프트는 수십 년 동안 윈도우에 더 많은 온라인 상시 연결 기능을 통합해 왔다(마이크로소프트 오피스를 구입하거나 엣지 브라우저로 전환하라는 몇 가지 반갑지 않은 강요를 포함). 그리고 마이크로소프트가 코파일럿을 통해 생성형 AI에 큰 판돈을 걸고 더 많은 기능을 제공하는 유료 업그레이드까지 내놓으면서 이러한 움직임은 더욱 가속화되고 있는 것으로 보인다.

윈도우 11은 여전히 로컬 계정으로 작동할 수 있으며, 예전처럼 웹 브라우저를 통해 마이크로소프트 서비스에 로그인하는 것만 가능하다. 하지만 먼저 계정을 설정한 다음 수동으로 계정을 해제해야 한다.

이러한 과정의 번거로움에는 마이크로소프트의 의도가 있는 것으로 보인다. 최근 윈도우 11 설정 프로세스가 변경된 데 이어 이제 자체 지원 페이지에서도 안내가 사라진 것은 모든 사용자의 데이터를 계속 전송받겠다는 의지를 뜻한다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/t/54650/%EC%9C%88%EB%8F%84%EC%9A%B0/341842#csidx7ce4b8beb28e9b0ae05505e2faaa83d

곧 사라지는 워드패드, 윈도우 11에서도 계속 쓸 수 있는 ‘임시변통’ 방법

2023년 9월, 마이크로소프트는 무료 텍스트 편집 프로그램 워드패드 종료를 발표했다. 많은 사용자에게 워드패드는 마이크로소프트 워드를 대체하는 간단하면서도 유용한 프로그램이었지만, 앞으로의 윈도우에서는 더 이상 찾아볼 수 없게 된다.

윈도우 AI가 레거시 기능을 대체하면서 윈도우 11 24H2 버전은 워드패드가 기능하는 마지막 버전이 될 것이다. 이 업데이트는 올가을에 공개될 예정이다.

리브르오피스 같은 다른 무료 앱으로 전환하는 방법도 있지만, 예전과 같지는 않을 것이다. 여전히 워드패드를 선호하고 계속 사용하고 싶다면 다음 방법을 사용하자.

윈도우 11에서 워드패드를 다시 사용하는 방법
워드패드를 윈도우 11로 다시 가져오는 것은 그리 어렵지 않다. 24H2 이전 버전의 윈도우에서 여전히 워드패드를 지원하는 적절한 파일만 있으면 된다. (워드패드 폴더는 24H2에도 여전히 존재하지만 wordpad.exe는 없다.)

윈도우 11 버전 23H2 이상을 사용하는 Windows 컴퓨터에서 탐색기의 주소 표시줄에 이 파일 경로를 입력한다.

여기에 다음 세 가지가 표시된다: WordpadFilter.dll, wordpad.exe, 그리고 로컬 폴더(e.g., en-US).

이 3가지를 모두 USB 스틱이나 외장 데이터 드라이브에 복사한다. 더 이상 워드패드가 없는 컴퓨터로 가져간 다음 모든 파일을 아무 폴더에나 붙여넣는다. 위치는 상관없지만 영구적인 위치를 선택하고 ‘워드패드’라는 이름의 새 폴더를 만드는 것이 좋다.

모든 내용을 붙여넣은 후 폴더에서 wordpad.exe 파일을 마우스 오른쪽 버튼으로 클릭하고 추가 옵션 표시를 선택한다. 보낸 사람으로 이동한 다음 바탕화면(바로 가기 만들기)으로 이동하여 바로 가기를 만든다.

새로 만든 바로가기를 복사하여 탐색기에서 여기로 이동한다.

여기에 바로가기를 붙여넣고 필요한 경우 이름을 바꾼다.

다음으로 시작 메뉴를 열고 모든 앱을 클릭한 다음 아래로 스크롤하여 워드패드를 찾는다. 이제 시작 메뉴나 작업 표시줄에 고정할 수 있다. (이 방법으로 설치한 경우 검색 결과에 워드패드가 나타나지 않으므로 시작 메뉴 등에 고정하기가 반드시 필요하다.)

또한 앱 설정에서 워드패드를 사용하여 문서를 열 수 있도록 지정해야 한다. 이렇게 하려면 설정 > 앱 > 기본 앱으로 이동한 다음 목록에서 워드패드를 선택한다. 예를 들어, 모든 RTF 문서를 워드패드로 열 수 있다.

윈도우 11 24H2에서 안전한 방법인가?
윈도우 11에 워드패드를 설치하는 것은 마이크로소프트의 공식 파일을 사용하기 때문에 안전하다. 하지만 향후 버전의 윈도우에서는 워드패드에 기능이나 보안 업데이트가 제공되지 않는다는 점에 유의해야 한다.

따라서 시간이 지나면서 앱에 버그가 발생하거나 다른 요소와 호환되지 않는다면 언젠가는 워드패드를 포기할 수밖에 없다. 또한 최신 마이크로소프트 오피스 버전의 문서를 더 이상 워드패드로 열 수 없게 될 수도 있다.

하지만 최소한 그 때까지는 이러한 임시변통으로 무료 텍스트 편집기를 예전처럼 계속 사용할 수 있다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/t/54650/%EC%9C%88%EB%8F%84%EC%9A%B0/341996#csidx58d76a6de1a2f079c84f3a577e4a198

“코파일럿+ PC에서 AI 개발” 한계와 가능성

홀덤사이트는 명품콜센터

마이크로소프트의 새로운 AI 탑재 하드웨어는 개발자에게 가능성을 보여주지만, 플랫폼의 파편화된 툴체인을 해결하기 위해 여전히 작업이 필요하다.

마이크로소프트와 하드웨어 파트너는 최근 NPU(Neural Processing Unit)가 내장된 Arm CPU로 구동되는 코파일럿+ PC를 출시했다. 이는 기존의 주류 x64 플랫폼에서 흥미로운 방향 전환으로, 첫 제품은 최신 빌드의 Arm용 윈도우를 구동하는 퀄컴 스냅드래곤 X 프로세서를 사용했다. 지금 구입해도 윈도우 11 24H2가 다른 하드웨어에 적용되기 최소 두어 달 전에 이미 실행된다.

코파일럿+는 기본적으로 최신 노트북에서 기대할 수 있는 모든 기능을 갖춘 고성능 PC이다. Arm 기반 프로세서를 사용해 배터리 사용시간이 길며, Arm 네이티브 벤치마크는 대부분 인텔 또는 AMD 기반 하드웨어만큼, 경우에 따라 그보다 더 우수하다. 심지어 애플의 M2 및 M3 Arm 프로세서를 능가한다. 따라서 비주얼 스튜디오(Visual Studio) 및 비주얼 스튜디오 코드(Visual Studio Code)를 사용하는 일반적인 개발 작업 대부분에 이상적인 하드웨어이다. 두 제품 모두 Arm64 빌드를 지원하므로 Arm용 윈도우의 프리즘(Prism) 에뮬레이션 계층에 따르는 복잡한 과정을 거칠 필요가 없다.

Arm 개발을 위한 Arm PC
깃허브나 기타 버전 관리 시스템을 사용해 코드를 관리하는 경우, Arm 버전의 애플리케이션을 작업하는 개발자는 리포지토리를 빠르게 복제하고, 새 브랜치를 설정하고, 빌드, 테스트 및 로컬 변경을 수행한 후 풀 리퀘스트를 사용해 변경 사항을 병합할 준비가 된 메인 리포지토리로 브랜치를 푸시할 수 있다. 이 접근 방식은 지원 하드웨어가 소프트웨어 개발 라이프사이클의 일부가 되면서 기존 애플리케이션의 Arm 버전 개발 속도를 높여준다.

솔직히 말해 이는 이전의 Arm용 윈도우 하드웨어와 크게 달라진 점은 없다. 이 새로운 세대의 하드웨어는 더 다양한 소스를 제공할 뿐이다. 델이나 HP 또는 레노버 등의 대형 업체와 구매 계약을 맺은 기업이라면, Arm 하드웨어를 빠르게 추가할 수 있으며, 마이크로소프트 서피스만을 사용하지 않아도 된다.

새로운 디바이스의 가장 흥미로운 기능은 내장된 NPU이다. 최소 40TOPs의 추가 컴퓨팅 성능을 제공하는 NPU는 PC에 첨단 추론 성능을 제공해 소형 언어 모델 및 기타 머신러닝 기능을 지원한다. 마이크로소프트는 우선 디바이스 카메라 처리 경로에서 라이브 캡션 툴과 다양한 실시간 비디오 필터를 통해 이런 기능을 선보이고 있다. 논란이 됐던 리콜 AI 인덱싱 툴은 보안 문제로 재개발 중이다.

AI 하드웨어에서 구축하는 나만의 AI
번들로 제공되는 AI 앱은 흥미롭고 유용하지만 하드웨어의 기능을 확인하는 정도로 생각하는 것이 더 나을 수도 있다. 항상 그렇듯이 마이크로소프트는 하드웨어의 한계를 뛰어넘을 수 있는 더 복잡한 애플리케이션을 제공하는 것은 개발자의 몫으로 남겼다. 코파일럿 런타임이 중요한 것은 이 때문이다. 여기에 ONNX 추론 런타임에 대한 지원, 탑재된 윈두우 릴리즈에는 포함되지 않은 코파일럿+ PC 및 퀄컴 NPU용 DirectML 추론 API도 포함된다.

DirectML을 지원하면 AI 애플리케이션을 쉽게 빌드하고 실행할 수 있지만, 마이크로소프트는 이미 자체 AI 애플리케이션을 빌드하는 데 필요한 몇 가지 툴을 출시했다. 하지만 아직 많은 부분이 누락되어 AI 개발 워크플로우 전체를 구현하기는 쉽지 않다.

그렇다면, 어디서부터 시작해야 할까? 가장 확실한 곳은 비주얼 스튜디오 코드용 AI 툴킷이다. 이 툴킷은 CPU, GPU, NPU를 사용하여 PC와 노트북에서 실행할 수 있는 소형 언어 모델을 시험하고 조정할 수 있도록 만들어졌다. 최신 빌드는 Arm64를 지원하므로 코파일럿+ PC에 AI 툴킷과 비주얼 스튜디오 코드를 설치할 수 있다.

비주얼 스튜디오용 AI 툴킷으로 작업하기
설치는 기본 제공되는 마켓플레이스 도구를 사용해 금방 할 수 있다. AI 애플리케이션을 빌드할 계획이라면 파이썬 및 C# 툴과 것허브 또는 기타 소스 코드 리포지토리에 연결하기 위한 툴도 모두 설치하는 것이 좋다. 추가해야 할 다른 유용한 기능으로는 애저 지원 및 리눅스용 윈도우 서브시스템(WSL)과 함께 작동하는 데 필요한 확장 기능이 있다.

설치가 완료되면 AI 툴킷을 사용해 PC 및 엣지 하드웨어에서 실행하기 위한 소규모 언어 모델 라이브러리를 평가할 수 있다. 현재 이용할 수 있는 것은 5가지로, 마이크로소프트의 Phi-3 버전 4종과 미스트랄 7b 인스턴스 1종이 있다. 모두 로컬로 다운로드할 수 있으며, AI 툴킷의 모델 플레이그라운드를 사용해 컨텍스트 명령과 사용자 프롬프트를 실험해 볼 수 있다.

안타깝게도 모델 플레이그라운드에서는 NPU를 사용하지 않으므로 모델이 NPU에서 어떻게 실행되는지 알 수 없다. 그렇더라도 애플리케이션의 컨텍스트 개발을 실험하고 모델이 사용자 입력에 어떻게 반응하는지 살펴보면 좋다. 모델을 중심으로 더 완전한 기능을 갖춘 애플리케이션을 구축하는 좋은 방법이 될 수 있는데, 예를 들어, 자체 데이터에서 소형 언어 모델을 기반으로 실험하는 프롬프트 플로우(Prompt Flow)나 유사한 AI 오케스트레이션 툴을 구현할 수 있다.

코파일럿+ PC에서 모델을 미세 조정할 수 있을 거라고 기대하지는 말자. 우분투 Arm64 WSL 빌드를 지원하는 등 대부분의 요구사항을 충족하지만, 퀄컴 하드웨어에는 엔비디아 GPU가 포함되어 있지 않다. NPU는 추론 전용으로 설계됐기 때문에 알고리즘 미세 조정에 필요한 기능을 제공하지 않는다.

그래도 전체 또는 일부 GPU에 액세스할 수 있는 클라우드 호스팅 가상머신과 함께 사용할 수 있으므로 미세 조정 워크플로우의 일부로 Arm 장치를 사용할 수는 있다. 마이크로소프트 데브 박스(Dev Box)와 깃허브(GitHub) 코드스페이스 모두 GPU 지원 가상머신 옵션을 제공하지만, 대규모 작업을 실행하는 경우 비용이 많이 들 수 있다. 또는 기밀 데이터로 작업하는 경우 엔비디아 GPU가 탑재된 PC를 사용할 수 있다.

마음에 드는 모델을 찾았다면 애플리케이션을 본격적으로 구축할 수 있다. 이 단계에서는 AI 툴킷에서 바로 코드 편집으로 이동할 수 없기 때문에 코파일럿+ PC AI 개발 워크플로우에 큰 구멍이 있다. 대신 테스트 중인 모델의 로컬 복사본이 있는 숨겨진 디렉터리를 찾거나 선택한 미세 조정 서비스에서 튜닝된 버전을 다운로드해 PC의 NPU를 지원하는 ONNX 런타임을 설정하고 이를 사용해 코드 빌드 및 테스트를 시작하자.

퀄컴 NPU용 AI 런타임 빌드하기
소스부터 Arm ONNX 환경을 빌드할 수도 있지만, 필요한 모든 요소가 이미 제공되므로 자신만의 런타임 환경을 조립하기만 하면 된다. AI 툴킷에는 로드된 모델을 위한 기본 웹 서버 엔드포인트가 포함되어 있으며, 이를 포스트맨(Postman) 같은 툴과 함께 사용하면 마치 웹 애플리케이션에서 사용하는 것처럼 REST 입력 및 출력과 함께 작동하는 방식을 확인할 수 있다.

직접 코드를 빌드하는 것을 선호하는 경우, 윈도우용 파이썬 3의 Arm64 빌드와 퀄컴의 QNN NPU용 ONNX 실행 공급자(Execution Provider)의 사전 빌드 버전이 있다. 이를 통해 AI 툴킷 내에서 CPU 추론을 사용해 모델을 검증한 후 비주얼 스튜디오 코드 내에서 파이썬 코드를 빌드하고 테스트할 수 있다. 이상적인 접근 방식은 아니지만, 코파일럿+ PC를 AI 개발 환경으로 사용할 수 있는 경로를 제공한다. 마이크로소프트의 시맨틱 커널(Semantic Kernel) AI 에이전트 오케스트레이션 프레임워크의 파이썬 버전과 함께 사용할 수도 있다.

C# 개발자도 예외는 아니다. NuGet에는 QNN ONNX 툴의 .NET 빌드가 제공되므로 로컬 모델을 빠르게 가져와 코드에 포함할 수 있다. 모델을 .NET 애플리케이션에 임베드하기 전에 AI 툴킷과 파이썬을 사용해 모델을 검증할 수 있다.

이때 QNN ONNX 툴의 한계를 이해하는 것이 중요하다. 이 툴은 양자화된 모델 전용으로 설계됐으므로 사용하는 모든 모델이 8비트 또는 16비트 정수로 양자화되어 있는지 확인해야 한다. 기성 모델을 사용하기 전에도 참고 문서를 확인해 애플리케이션에 포함하기 전에 변경해야 할 사항이 있는지 확인해야 한다.

성큼 다가온 로컬 AI 개발 환경과 해결과제
코파일럿+ PC 플랫폼및 관련 코파일럿 런타임은 많은 가능성을 보여주지만, 툴체인은 여전히 파편화되어 있다. 현재로서는 IDE에서 벗어나지 않고는 모델에서 코드로, 애플리케이션으로 이동하기가 어렵다. 하지만 향후 출시될 비주얼 스튜디오 코드용 AI 툴킷은 QNN ONNX 런타임을 번들로 제공할 뿐만 아니라 .NET 애플리케이션 개발을 위한 DirectML을 통해 사용할 수도 있다.

디바이스가 이미 개발자의 손에 들어왔기 때문에 향후 출시는 조만간 이루어질 예정이다. 로컬 디바이스에 AI 추론을 적용하는 것은 애저 데이터센터의 부하를 줄이는 데 중요한 단계이다. 물론, 현재 윈도우 상의 Arm64 AI 개발 상태는 실망스럽지만, 이는 툴이 부족해서가 아니라 가능성을 확인할 수 있기 때문이다. 하드웨어를 최대한 활용할 수 있도록 엔드 투 엔드 AI 애플리케이션 개발 플랫폼을 제공하기 위해 필요한 요소는 많으며, 이를 하나로 묶을 수 있는 방법이 필요하다.

현재로서는 코파일럿 런타임과 바로 사용할 수 있는 API가 포함된 기본 제공 파이-실리카(Phi-Silica) 모델을 사용하는 것이 가장 좋다. 필자는 이미 새로운 Arm 기반 서피스 노트북을 구매했고, 이제는 필자가 원하는 AI 개발 하드웨어로서 약속을 이행하는 것을 보고 싶다. 마이크로소프트가, 그리고 퀄컴이 부족한 부분을 채워서 완성된 NPU 코딩 환경을 제공해 주길 바란다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/t/54650/%EC%9C%88%EB%8F%84%EC%9A%B0/342416#csidxf447fc3f3c0eabdbb3962c34b516bbe

최신 윈도우 11 업데이트 “무한 재부팅 문제로 수정 중”

마이크로소프트가 6월 25일 KB5039302 업데이트 배포를 중단했다. 이 업데이트에는 몇 가지 흥미로운 내용이 포함되어 있지만, 윈도우 11 PC가 연속적으로 다시 시작될 수 있는 것으로 밝혀졌다.

특히 윈도우 11 버전 23H2와 윈도우 11 버전 22H2가 이 버그의 영향을 받는다. 윈도우 서버는 영향을 받지 않는다.

마이크로소프트는 다음과 같이 설명했다.
2024년 6월 26일에 릴리즈된 업데이트(KB5039302)를 설치한 후 일부 디바이스가 다시 시작되지 않을 수 있다. 영향을받는 시스템은 반복적으로 다시 시작될 수 있으며 정상적인 사용을 복원하려면 복구 작업이 필요할 수 있다.

이 문제는 가상 머신 도구 및 가상화 중첩 기능(예: 클라우드PC, 데브박스(DevBox), 애저 가상 데스크톱)을 사용하는 디바이스에 영향을 미칠 가능성이 높다. 이 문제가 발생할 수 있는 정확한 조건을 파악하기 위해 조사 중이다. 개인 환경에서는 가상화가 덜 널리 사용되기 때문에 윈도우 홈 에디션 사용자는 이 문제를 경험할 가능성이 적다.

조사가 진행 중인 동안 이 업데이트는 윈도우 업데이트 및 비즈니스용 윈도우 업데이트 형태로 배포되지 않는다. 따라서 현재 디바이스에 이 업데이트가 제공되지 않을 수도 있다.

마이크로소프트는 이 문제에 대한 해결 방법을 연구 중이며 향후 업데이트에 포함할 예정이다.

다시 시작이 멈춘 경우 수행 방법
컴퓨터에 업데이트를 설치했는데 끝없는 재부팅이 계속되는 경우 윈도우 11이 자체적으로 윈도우 11 복구 환경을 시작할 때까지 기다려야 한다.

복구 환경이 시작되면 문제 해결, 고급 옵션, 업데이트 제거를 차례로 선택한 다음 마지막으로 최신 품질 업데이트 제거를 클릭한다. 그런 다음 업데이트 제거를 확인해 보자.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/t/54650/%EC%9C%88%EB%8F%84%EC%9A%B0/342507#csidxa25a8f039f843498cf285bfce4c6fe2

UEFA 유럽 축구 선수권 대회 순위 – 유로 2024 베팅 가이드전 세계 1% 리눅스 기여자가 말하는 eBPF “리눅스와 플랫폼 엔지니어링의 미래UEFA 유럽 축구 선수권 대회 순위 – 유로 2024 베팅 가이드

2013년 도커가 등장한 시점에서 보면 리눅스 컨테이너가 마치 하룻밤 사이에 성공한 것처럼 느껴질 수 있다. 하지만 사실 컨테이너, 마이크로서비스와 쿠버네티스의 진화는 리눅스 운영체제의 커널 프리미티브를 기반으로 수십년에 걸쳐 이뤄졌다.

도커는 가볍고 사용하기 쉬운 소프트웨어 패키징 형식을 만들기 위해 이러한 프리미티브, 즉 cgroup과 네임스페이스를 빌딩 블록으로 사용했다. 리눅스 컨테이너는 오래전부터 구글을 비롯한 여러 기업에 사용됐는데 단지 도커가 등장하면서 주류 개발자가 컨테이너에 쉽게 액세스할 수 있게 된 것이다.

ⓒ Getty Images Bank

지금의 eBPF는 그렇게 해서 리눅스 커널 프리미티브에서 탄생한 또 다른 기술이다. 현재 모든 주요 네트워킹, 관찰가능성 및 보안 벤더는 “eBPF 기반” 제품을 제공한다고 주장한다. 실리움(Cilium), 테트라곤(Tetragon), 팔코(Falco)와 같은 eBPF 툴이 엔터프라이즈 아키텍처와 클라우드 서비스 제공업체 제품에서 모두 자리를 잡고 있다. 또한 eBPF를 만든 장본인 한 명에 따르면 지금은 eBPF 기반 혁신의 시작에 불과하다.

Infoworld는 eBPF의 공동 창시자이며 현재 리눅스 커널의 eBPF 공동 유지관리자인 대니얼 보크만에게서 이 기술의 기원, eBPF가 리눅스 커널 프로그래밍과 커스터마이징을 위한 표준 접근 방법으로 부상한 이유, 그리고 이것이 리눅스와 플랫폼 엔지니어링의 미래 측면에서 의미하는 바에 대한 이야기를 들어봤다.

솔라리스 학생에서 리눅스 커널 유지관리자로

eBPF를 향한 대니얼 보크만의 여정은 솔라리스의 내부를 이해하기 위한 탐구에서 시작됐다. 당시 솔라리스는 보크만이 다니던 대학의 컴퓨터과학 교육과정에서 아직 가르치던 과목이었다. 그러나 정작 원리를 살펴보기 위한 소스 코드의 부재는 이해를 가로막는 큰 장벽이었다. 보크만은 운영체제 수업의 이론에도 흥미를 느꼈지만 늦은 밤까지 리눅스 커널 소스 코드, 깃 로그, 메일링 리스트를 공부하는 데 열중하면서 본격적인 관심을 갖게 됐고, 커널과 접하는 저수준 사용자 애플리케이션을 만들기 시작했다.

곧 보크만은 패킷 필터, tcpdump와 libpcap, 그리고 패킷이 다양한 계층을 오갈 때 네트워크 스택이 어떻게 작동하는지를 탐구했다. 보크만은 여가 시간에 더 효율적인 tcpdump 클론을 만들어서 리눅스 네트워킹 스택에 작은 코드 개선을 보내기 시작했다. 석사 과정을 시작할 시점에 독일 라이프치히 지역의 스타트업에서 리눅스 커널 코드 개발 업무를 담당하는 첫 직장을 구했다.

보크만은 2010년에 인터페이스당 여러 rx_hook를 실행할 수 있도록 netpoll을 확장하는 첫 번째 패치를 리눅스 커널에 제출했는데, 스스로의 표현에 따르면 “완전한 초보” 시절이라 커널에 교착 상태를 유발하는 버그를 일으켰다. 다행히 다른 기여자가 신속하게 이를 발견해 수정했다. 그러나 보크만은 이 일에 매료됐다. 그에게 리눅스 커널 개발은 천직이라고 할 만큼 매력적인 환경이었다.

보크만은 커널을 위한 조합 가능한(composable) 네트워킹 스택 개발을 주제로 한 석사 논문을 완성하기 위해 취리히로 거처를 옮겼다. 프리BSD의 netgraph에서 영감을 받아 네트워킹 블록을 FPGA로 오프로드하고 패킷 처리를 위한 조합 가능한 그래프를 구축하는 방법을 실험했다. 그러나 이 과정에서 보크만은 학술 논문이 너무 단조로우며 장기적이고 실질적인 영향은 미미하다는 사실을 깨닫고 리눅스 커널에 풀타임으로 기여하는 것이 훨씬 더 보람 있는 일이라는 생각을 갖게 됐다. 보크만은 스위스 도메인(.ch) 이메일을 사용하는 토마스 그라프라는 리눅스 기여자를 알게 되어 자연스럽게 연락했고, 초대를 받아 레드햇의 리눅스 커널 네트워킹 팀에 합류했다(두 사람 모두 이후 실리움의 공동 제작자가 됨).

현재 보크만은 전 세계 상위 1%의 리눅스 커널 기여자다.

리눅스 OS의 네트워킹에 대한 재고

eBPF의 기원은 2011년까지 거슬러 올라간다. 당시는 소프트웨어 정의 네트워킹(SDN)이 부상하고 리눅스 도입이 급증하던 시기였다. 리눅스 서브시스템은 하나의 서버와 호스트 운영체제가 아니라 리눅스 머신 클러스터에서 실행되는 마이크로서비스 아키텍처와 분산 애플리케이션의 새로운 패러다임에 보조를 맞춰야 했다.

보크만이 속한 네트워킹 스택의 커널 개발은 SDN과 클라우드 네이티브 네트워킹 요구사항을 충족하기 위한 작업이 이뤄지는 최전선이었다. cgroup(CPU, 메모리 처리), 네임스페이스(net, mount, pid), SELinux, seccomp, Netfilter, Netlink, AppArmor, Auditd, Perf 등 리눅스 빌딩 블록의 상당수가 10년 이상 전에 설계된 만큼 리눅스에는 새로운 추상화가 필요했다. 또한 보크만은 당시 가장 진보적인 SDN 프로젝트였던 오픈 vSwitch(OVS)뿐만 아니라 netfilter의 nftables와 같은 기술이 “차세대” 리눅스 네트워킹으로 추진되는 모습을 보면서 더 나은 방법이 있다고 생각했다.

리눅스 커널은 더 높은 네트워킹 속도에 보조를 맞추기 위해 확장되고 있었지만 새로운 맞춤형 기능을 프로그래밍하기 위한 유연성이 부족했다. 또 다른 제약은 “사용자 공간을 망가뜨리면 안 된다”는 요건이었다. 즉, 리눅스 커널은 클라우드 네이티브 애플리케이션이 등장하기 훨씬 전에 개발된 모든 소프트웨어를 계속해서 지원해야 했다. 아쉽게도 이 “레거시의 무거운 짐”으로 인해 네트워킹 혁신의 일부가 커널에서 사용자 공간으로 이동했다. 

간단히 말해 새로운 클라우드 운영 모델은 훨씬 더 많은 자동화, 기능의 이동, 확장, 그리고 더 까다로운 네트워크 성능 요구사항을 불러왔다. 그러나 리눅스 커널의 독립적인 서브시스템에는 커널에서 이 모든 새로운 클라우드 컨텍스트를 푸시하고 집계하고 관련하여 조치를 취하기 위한 규칙이 없었다.

리눅스 프로그래밍에서 패킷 처리(구문 분석, 조작, 필터링, 포워딩)는 “가능한 것”에 대한 가장 기본적인 관심사다. 이는 네트워크 패킷이 스택을 따라 이동할 때 커널 개발자가 이 패킷을 라우팅, 제어, 검사하기 위한 메커니즘이다. 커널의 네트워킹 스택에서 패킷 처리의 역할은 엔진에서 기화기, 들로리안 타임머신에서 플럭스 커패시터의 역할과 같다.

애플리케이션 개발자는 대부분 사용자 공간에서 애플리케이션을 작성하면서 커널에 필요한 시스템 호출로부터 애플리케이션을 보호하는 추상화를 사용한다. 따라서 애플리케이션은 하드웨어와 인터페이스해야 하는 경우, 즉 화면에 쓰거나 파일에 쓰거나 네트워크 패킷을 보내야 하는 경우 커널의 도움이 필요하다. 커널은 사용자 공간 애플리케이션과 하드웨어 사이에 일반적인 공통 인터페이스를 제공하며, 동시에 실행되는 여러 사용자 공간 프로세스를 조율한다.

가상화에서 컨테이너로 진화하면서 iptables, nftables, OVS, 리눅스 트래픽 제어(TC)를 비롯해 패킷 필터링을 위한 많은 접근법이 리눅스 커널 내에서의 자리를 두고 경쟁했다. 이 경쟁에서 네이티브 성능으로 프로그램을 실행하면서 표현력과 검증자에 의한 안전까지 결합된 eBPF가 부상했다. 즉, eBPF는 사용자가 다른 대안으로는 불가능한 방식으로, 커널 손상에 대한 위험 없이 커널을 프로그램할 수 있게 해준다.

더 ‘프로그래머블’한 리눅스 커널

보크만이 처음 eBPF에 끌린 이유는 eBPF가 네트워킹에 가져올 수 있는 유연함과 성능이었지만 이 새로운 기술의 이점은 네트워킹을 훨씬 더 뛰어넘어 확장이 가능하다는 사실이 드러났다.

보크만은 “eBPF는 빌드하고 즉시 배포할 수 있는 기본 기능을 통해 큰 문제를 해결했다. eBPF가 내장된 오케스트레이션 프로그램을 만들어서 기반 커널 버전에 관계없이 배포할 수 있다. 또한 코어 커널 ABI 안정성을 위해 대형 벤더에 막대한 비용을 지불하는 대신 이제 eBPF를 사용하면 된다. 다양한 사용 사례에 따라 커널을 확장하기 위한 모듈이 필요 없다”고 말했다.

eBPF는 사용자가 리눅스 커널 내에 맞춤형 프로그램을 로드해서 안전하게 실행할 수 있게 해주는 범용 어셈블리 언어, 즉 런타임에 운영체제에 온갖 종류의 기능을 추가할 수 있는 방법이 됐다. 엄격한 형식이 지정되고 안정적인 명령어 집합을 갖고 있으며 확장 기능은 하위 호환된다.

보크만은 “eBPF는 일반적인 모놀리식 커널과 마이크로커널 사이의 간극을 잇는 새로운 유형의 소프트웨어라고 생각하면 된다. 신뢰할 수 있는 사용자 공간에서 안전하게 커널을 확장한다. eBPF의 좋은 점은 일반 커널 코드만큼 빠르다는 것이다. eBPF는 샌드박스가 아니며 검증자는 이 프로그램을 완전히 파악해서 신뢰할 수 있는 환경에서 실행하기에 안전한지 여부를 판단한 다음 네이티브 코드로 JIT 컴파일할 수 있다”고 말했다.

eBPF는 안전하고 빠를 뿐만 아니라 네이티브 속도로 작동한다. 매우 유연해서 다양한 사용자가 다양한 방식으로 사용할 수 있다. 보크만은 “eBPF의 강점은 사용 사례가 있거나 특정 방식으로 무언가를 처리해야 할 때만 사용자 관점에서 코드를 활성화할 수 있다는 것이다. 다른 부분에 불이익을 주지 않는다. 커널에 하드코딩되어 핵심 경로를 점점 더 느리게 하고 결국 성능을 죽이는 것과는 다르다”고 설명했다.

실리움의 그라프는 “eBPF가 나오기 전에는 대부분의 사용자가 엔터프라이즈 리눅스 배포판을 사용하거나 자신의 디바이스에 설치된 커널 버전을 그냥 실행했다. eBPF는 이를 근본적으로 바꿔 놓았다. 런타임이 존재하므로 어떤 아이디어든 몇 년이 아니라 며칠만에 eBPF 프로그램으로 바꿔서 런타임에 로드할 수 있다. 우리는 무엇을 먼저 다시 구축할지를 결정해야 했다”고 말했다.

보편화된 커널 엔지니어링

구글 보그(Borg)를 비롯해 하이퍼스케일러에서 탄생한 다른 기술과 마찬가지로 eBPF도 처음에는 커널 개발 기술을 갖춘 소수의 소프트웨어 엔지니어링 업체에서만 사용됐다. 커널 엔지니어링과 eBPF 프로그램 작성을 위해 필요한 저수준 C 프로그래밍 기술을 갖춘 개발자는 많지 않았다.

그러나 현재 이 소수의 전문가들이 수백만 명의 사용자들과 접하는 프로그램을 만들고 있다. eBPF 기반 프로그램은 네트워킹, 보안, 관찰가능성을 담당하는 플랫폼 엔지니어링 팀 관점에서 가장 흥미로운 분야이며, 이러한 프로그램을 사용하는 많은 사람들은 그것을 가능하게 해주는 기반 eBPF 추상화에 대해 아무것도 알 필요가 없다. 보크만은 eBPF에 대한 최근 워크숍 기조 연설에서 “클라우드 네이티브로부터의 조용한 플랫폼 혁명이라고 생각하면 된다”고 말했다.

방대한 eBPF 환경의 많은 애플리케이션을 잠깐 살펴보면 다음과 같다.

실리움은 컨테이너 워크로드 사이에 3계층 및 4계층 연결을 제공하기 위한 컨테이너 네트워크 인터페이스(CNI)의 eBPF 기반 구현으로 시작됐지만, 이후 발전하면서 대부분의 클라우드 서비스 제공업체의 쿠버네티스를 위한 기준 네트워크 계층이 됐다. 실리움은 쿠버네티스 팟 사이, 그리고 외부 서비스로 가는 트래픽에 대한 분산 로드 밸런싱을 구현하며, 거의 무제한의 규모에서 eBPF의 효율적인 해시 테이블을 사용해서 kube-proxy를 완전히 대체할 수 있다. 또한 3계층부터 7계층까지의 정책 시행, 통합 인그레스 및 이그레스 게이트웨이, 대역폭 관리, 엔보이(Envoy)와 결합된 서비스 메시, 심층 네트워크 가시성과 같은 고급 기능도 지원한다.

테트라곤 역시 eBPF 프로그램으로, 보안 관찰가능성과 런타임 실행 기능을 제공한다. 테트라곤은 eBPF의 낮은 오버헤드를 활용해서 플랫폼 팀이 네트워크 흐름과 기타 커널 내 이벤트를 매우 구체적인 프로세스 및 관련 프로세스 트리에 이르기까지 쿠버네티스 객체(레이블, 팟, 네임스페이스)에 연결할 수 있게 해준다. XZ 유틸즈(XZ Utils)와 같은 소프트웨어 공급망 보안 익스플로잇이 등장한 이후 테트라곤은 플랫폼 팀에 특정 소프트웨어가 환경의 어느 위치에서 실행되는지 찾고 커널 수준에서 구체적인 정책 조치를 취할 수 있는 더 심층적인 방법을 제공하는 데 목표를 두고 있다.

픽시(Pixie)는 eBPF를 사용해서 “수동 계측 없이 자동으로 텔레메트리 데이터를 캡처”한다. 차세대 애플리케이션 성능 관리 및 모니터링 벤더 사이에서 인기 있는 빌딩 블록으로 부상했다. 구글에서 “observability AND eBPF”를 검색해 보면 eBPF의 성능이 텔레메트리 데이터를 얼마나 풍부하게 변화시키고 있는지 볼 수 있다. 클라우드 네이티브 시스템의 실시간 상태 추론을 위해 지금까지는 상관관계를 파악할 모니터링 데이터를 축적해야 했다. 이 텔레메트리 데이터 컬렉션을 커널 가까이 가져오면 일관성을 대폭 높이고 리소스 사용량을 줄일 수 있다.

카트란(Katran)은 커널 내 패킷 처리를 기반으로 하는 새로운 접근 방식을 통해 독점적인 3계층 및 4계층 로드 밸런서의 위상에 도전할 수 있는 C++ 라이브러리다. 모두가 eBPF 프로그램을 만들 수 있는 것은 아니지만 현재 개발되고 있는 여러 프로그램은 기업 인프라에서 지금까지 비교적 정체된 영역을 대상으로 하며, 클라우드 네이티브 사용 사례를 위한 현대화를 이끌고 있다.

보크만은 “인프라 소프트웨어의 다음 10년은 eBPF를 사용할 수 있는 플랫폼 엔지니어와 eBPF를 활용하여 더 고수준 플랫폼을 위한 적절한 추상화를 만드는 프로젝트에 의해 정의될 것이다. 클라우드 네이티브 컨텍스트의 부재라는 커널 문제를 eBPF가 해결했다”고 말했다.

이달은 쿠버네티스 10주년이지만 그럼에도 여전히 분산 애플리케이션, 컨테이너 오케스트레이션, 플랫폼 엔지니어링은 현재 초창기다. 커널 수준에서 eBPF를 직접 엔지니어링하는 사람은 거의 없지만 수많은 사람들이 eBPF 기반 프로그램을 사용하게 될 것이다. 여러분이 대형 퍼블릭 클라우드 제공업체 플랫폼 중 하나의 쿠버네티스에서 워크로드를 실행 중이라면 이미 eBPF 기반 프로그램을 사용 중일 가능성이 높다.
editor@itworld.co.kr 

원문보기:
https://www.itworld.co.kr/topnews/342710#csidx315b915780b8f0a888f3c4d4ff1afcd