내년 출시 예정인 마이크로소프트(MS) ‘윈도우 12’가 인공지능(AI) 기능을 통해 획기적으로 변신할 것이란 전망이 나왔다. PC에 탑재한 신경처리장치(NPU) 장착 프로세서를 기반으로, 윈도우에 생성 AI를 통합한 ‘코파일럿(Copilot)’이 컴퓨터 상호작용 방식을 근본적으로 변화시킬 것이란 설명이다.
25일(현지시간) 퀄컴의 ‘스냅드래곤 서밋 2023’ 행사에서 사티아 나델라 MS CEO가 크리스티아노 아몬 퀄컴 CEO와 차세대 PC에 대해 논의 도중이다.
윈도우 12는 코파일럿이 ‘시작’ 버튼을 대체함으로써 전체 사용자 경험을 바꿀 수 있다고 밝혔다고 전했다.
이에 따르면 나델라 CEO는 “코파일럿은 시작 버튼과 같다. 모든 앱 경험의 조정자가 된다”라고 강조했다.
또 “예를 들어 내 의도만 표현하면 코파일럿이 알아서 해당 앱으로 이동하거나, 앱을 가져온다”
” 배우고, 쿼리하고, 생성하는 데 도움이 되는 것은 물론 사용자 습관을 완전히 바꿔 놓을 것”이라고 설명했다.
사용자가 단순히 ‘사진 편집 방법’ 또는 ‘재무 계획에 대한 도움’ 등과 같이 의도만 입력하면, 관련 앱을 추천하거나 대신 실행한다는 내용이다.
메뉴에서 앱을 찾는 대신 기존 검색처럼 앱 기능을 끌어내는 식이다.
나아가 윈도우 12에서는 AI로 인해 초개인화된 컴퓨팅 경험도 가능해질 전망이다.
파일럿이 사용자의 패턴을 기억하고 학습해 전체 워크플로를 최적화한다는 설명이다.
즉 코파일럿은 현재 진행되는 내용을 기반으로 다음 작업을 예측해 이동하거나 필요한 앱을 제시할 수 있다.
이는 전통적인 탐색 방법에서 벗어난 완전히 새로운 사용자 상호 작용 패러다임으로의 전환이라는 분석이다.
또 과거 그래픽 사용자 인터페이스(GUI)가 그랬듯, 새로운 사용자 인터페이스(UI)의 등장을 의미한다.
나델라 CEO는 이를 위해서 “새로운 시스템 아키텍처를 개발하고 있다”라고 덧붙였다.
특히 NPU가 장착된 퀄컴의 차세대 ‘스냅드래곤 X 엘리트’와 같은 강력한 프로세서로 인해 윈도우 12에는 더 많은 AI 기능이 도입될 수 있으며 상호작용이 훨씬 더 원활해질 수 있다고 밝혔다.
그 외에도 인텔의 ‘메테오 레이크’나 AMD의 ‘호크 포인트’ 프로세서도 AI 워크로드를 처리하기 위한 전용 NPU를 제공한다.
따라서 MS가 추가하는 기능은 인텔이나 AMD 칩이 탑재된 PC에서도 사용할 가능성이 높다.
이 밖에도 ‘하이브리드 컴퓨팅’이 중요한 역할을 할 것으로 예상됐다.
즉 AI 기능 중 일부는 PC 칩을 통해 직접 처리하는 동시에 일부는 추가적인 컴퓨팅 성능과 기능을 위해 클라우드에 접근하는 방식을 활용하게 될 거라는 설명이다.
NPU를 탑재한 차세대 PC는 많은 AI 기능을 로컬에서 처리할 수 있지만, 모든 작업을 시스템에서 수행할 수 있는 것은 아니다.
가볍고 단순한 작업은 인터넷 연결 없이 바로 처리할 수 있지만, 복잡하고 추론을 필요로 하는 작업은 클라우드에 연결한다.
이는 물론 기존의 시스템보다 서버 비용과 에너지 사용량을 크게 줄여줄 수 있다.
이는 갈수록 비용 문제로 고민이 커지는 MS로도 큰 이득이다.
나델라 CEO는 “우리는 최고의 AI 경험을 위한 목적지가 되도록 구축하고 있다. 앞으로 이를 위해서는 클라우드와 에지 사이의 경계를 모호하게 만드는 OS가 필요하며 올바른 위치에 올바른 실리콘을 사용하는 것이 우리의 기반”이라고 설명했다.
물론 이날 나델라 CEO가 밝힌 내용이 구체적으로 언제부터 적용될지는 미지수다.
하지만 “2024년 이후에는 PC 공간이 크게 변할 것이라는 점만은 분명하다”라며 “MS는 윈도우를 최초의 AI 기반 OS로 만들기 위해 애쓰고 있다”라고 평했다.
인공지능(AI) 영상 분석 솔루션을 제공하는 인텔리빅스가 지난 25일 서울 광진구에서 진행된 ‘서울시-광진구 다중운집 예방훈련’에서 인파감지 AI 기술을 시연했다고 26일 밝혔다.
서울시-광진구의 인파밀집예방 훈련은 광진구 건대 맛의 거리에서 오세훈 서울시장이 참석한 가운데 진행됐다. 인파밀집 사고 상황에 대비해 AI 인파감지 시스템을 가동 점검하고 실제 인파밀집 상황을 가정한 유관 기관 합동 대응 훈련이 실시됐다. 서울시는 핼러윈을 앞둔 이번 주말을 대비해 이태원, 홍대, 강남역 등 인파 밀집이 예상되는 지역을 현장 점검하고 있다.
해당 훈련에 활용된 AI 인파감지 시스템은 인텔리빅스가 독자 개발한 AI 기술을 활용해 골목길, 지하철역 등 대규모 인파가 모인 장소의 밀집도를 분석하는 솔루션이다. 단위 면적 당 몇 명의 인파가 몰렸는지 계산해 주의, 경계, 심각 등 위험 단계별로 밀집도를 분석하고 이상 상황을 포착해 유관 기관에 즉각 알리는 방식이다.
인텔리빅스 관계자는 “단순히 영상 내 다중 객체 여부만 확인하는 게 아니라, 카메라당 관심 구역별로 밀집 위험도를 세분화하여 놓치기 쉬운 구역까지 분석해 위험 사각지대를 최소화한다”고 설명했다. 해당 기술은 현재 서울 중구, 강동구, 경기도 오산시 등 20여개 이상의 국내 지자체에 도입됐다.
최은수 인텔리빅스 대표는 “이태원 참사 1주기를 앞두고 다시는 이런 비극이 없도록 첨단기술을 활용해 인파 사고를 효과적으로 예방할 수 있는 기술을 고도화해왔다”고 말했다.
어디에나 오픈소스가 있다. 시놉시스(Synopsys) 보고서를 보면 모든 소프트웨어 코드의 96%에 오픈소스 소프트웨어가 포함돼 있다.
반가운 소식이지만 오픈소스의 대중화에 따르는 위험을 감안하면 걱정스러운 소식이기도 하다.
수십년 전 독점 기업은 오픈소스 보안에 대해 의문스러운 공포감과 불확실성, 의심을 퍼뜨린 적이 있는데,
어쩌면 그 말이 이제야 맞아 들어가는 것일지도 모르겠다.
그것도 한때 비평가들이 헛짚었던 개별 프로젝트 수준이 아니라 공급망 수준에서 말이다.
실제로 솔라윈즈(SolarWinds), Log4j 같은 대규모 취약점은 오픈소스 보안에서 여전히 해결해야 할 필수 과제가 남아 있음을 알려 준다.
대부분 기업은 네트워크 및 경계 보안에서 상당히 성숙한 수준에 이르렀지만, 오픈소스의 출처와 소프트웨어 공급망 보안에 대한 이해와 대응 체계는 여전히 미진하다.
해커는 개별 오픈소스 프로젝트 자체의 보안뿐만 아니라 소프트웨어 아티팩트 간의 허점, 즉 추이 종속성과 빌드 시스템의 약점을 집중적으로 파고들고 있다.
이 문제는 개별 프로젝트 수준에서 대응할 수 없다. 배포판 수준에서 해결해야 한다.
타이밍이 모든 것
체인가드(Chainguard)의 CEO이자 창업자인 댄 로렝은 인터뷰에서 “기본적으로 오픈소스의 인기는 전보다 훨씬 더 높아졌다.
이제 정문을 부수고 들어가기가 더 어려워진 공격자는 뒷문을 노리고 있다”고 말했다.
즉, 공격자는 코드를 표적으로 삼을 필요 없이 대부분이 존재하는지 조차 모르는 종속성 중 하나를 공격할 수 있다.
오픈소스의 인기에 따른 대가는 많은 신뢰 메커니즘이 처음부터 제대로 구축되지 않았다는 점이다.
리눅스 및 기타 배포판은 오픈소스 패키징과 빌딩, 서명이라는 많은 힘든 일을 수행함으로써 역사적으로 오픈소스 도입에서 중요한 역할을 했다.
데비안, 알파인, 젠투와 같은 배포판은 권위 있는 배포판으로 평판이 높기 때문에 사용자가 무턱대고 여러 배포판을 설치할 필요가 없으며, 얼마간의 안전장치도 보장돼 있다.
그러나 새로운 오픈소스 패키지가 등장하는 속도는 이미 배포판이 따라잡을 수 있는 수준을 훨씬 넘어섰다.
예를 들어 자바스크립트의 npm 같은 인기 있는 레지스트리 한 곳에서만 매일 1만 종의 새로운 패키지가 나온다.
새로운 오픈소스 기술의 빠른 속도와 상대적으로 느린 배포판 속도 간의 이 기본적인 불일치에 따른 결과는 개발자가 배포판 밖으로 나가게 된다는 것이다.
이들은 최대한 빨리 최신, 최고의 기술을 얻기 위해 패키지를 설치하지만 이 과정에서 신뢰성에 대한 보장을 잃게 된다.
물론 배포판이 의도적으로 속도를 늦춘 것은 아니다.
이들은 업데이트 속도와 배포 안정성 사이에서 균형을 맞춰야 한다.
그러나 개발자의 조급함을 고려할 때, 배포판은 업데이트 속도를 높여 걷잡을 수 없을 정도로 확산되는 오픈소스 소프트웨어 도입과 보안 유지에 더 보조를 맞춰야 할 필요가 있다.
보안은 어렵다
공통 취약점 등급 시스템(CVSS), 그리고 오픈SSF 스코어카드와 같은 기타 신호는 특정 취약점 및 그 심각도에 대한 유용한 지표를 제공한다.
그러나 최신 운영체제 배포판에는 너무 많은 패키지가 사전 설치돼 있어 평균적인 운영체제에는 이런 취약점이 넘쳐난다.
자동차의 엔진 점검 표시등이 항상 켜져 있다면 진짜 정비소를 찾아가야 하는 상황이 와도 어떻게 알겠는가? 리눅스 배포판도 마찬가지다.
취약점이 너무 난무하다 보니 다 무시하기가 쉽다.
또 다른 문제는 개발자가 오픈소스를 배포판과 패키지 데이터베이스 외부에 설치할 때 발생하는 의미상의 차이다.
최신 보안 스캐너는 모두 이 메타데이터에 의존하기 때문에 배포판 또는 패키지 데이터베이스 외부에 설치되는 오픈소스의 경우 보안 취약점이 탐지되지 않는다.
그렇다면 이 같은 성장통의 대안은 무엇일까
미니멀리즘 및 모듈성에 맞게 설계되는 배포판은 전체적인 오픈소스 보안을 개선하는 데 도움이 될 수 있다.
배포판은 작업에 필요한 것 이외의 요소를 포함하지 않음으로써 공격 표면을 줄이고 더 안전한 공급망을 만들 수 있다.
이것이 오픈소스 보안을 대폭 개선하기 위한 출발점이다.
개발자 워크플로우와 툴의 발전
오픈소스 프로젝트의 보안은 지난 몇 년 동안 상당한 진전을 이뤘다.
앞서 언급한 SSDF 프레임워크부터 시그스토어(Sigstore) 및 SLSA에 이르기까지, 상호 보완적인 여러 프로젝트를 통해 오픈소스 출처, 변조 여부 등을 확인할 수 있는 더 신뢰성 높은 개발자 툴체인을 만들었다.
이를 전반적으로 “기원(provenance)”이라고 하며, 이런 오픈소스 프로젝트는 npm, 메이븐, 파이파이와 같은 주요 프로그래밍 언어 레지스트리에 적극적으로 반영됐다.
또한 쿠버네티스 자체도 시그스토어를 사용한 소프트웨어 서명을 지원한다.
eBPF 및 실리움(Cilium)과 같은 추상화는 소프트웨어 공급망 보안 가시성과 구현을 리눅스 커널 더 가까이 가져오고 있다.
오픈소스 생태계는 이런 방식으로 개발자 워크플로우 전반에서 오픈소스 구성요소의 기원을 더욱 네이티브하게 만들기 위한 기본 요소를 강화하고 있다.
특히 주목할 만한 기술은 체인가드가 만들고 유지보수하는 오픈소스 배포판인 울피(Wolfi)다.
체인가드는 시그스토어와 SLSA의 공동 설립자들이 만들었다.
울피는 배포판의 군더더기를 빼서 가장 필수적인 구성요소만 포함하며, 업데이트된 패키지만 다운로드할 수 있도록 하는 독창적인 롤링 릴리스 케이던스를 채택했다.
개발자는 더 이상 배포판 외부에서 오픈소스 소프트웨어를 다운로드할 필요가 없다.
이 배포판은 필수적이지 않은 모든 패키지를 없애므로 CVE 또는 CVSS 점수가 실질적인 취약점을 나타내며 거짓 음성(false negative)을 놓칠 일이 없다.
배포판의 코드와 버그, 취약점이 더 줄어든 만큼 울피는 사용자에게 더 많은 심각도 수준 데이터 CVSS 점수를 제공할 수 있고 새로운 버전의 오픈소스 소프트웨어 패키지를 지원한다.
1주년을 맞은 울피는 1,300개의 패키지 구성을 지원하며, 도커 스카우트(Docker Scout), 그라이프(Grype), 스니크(Snyk), 트리비(Trivy), 위즈(Wiz), 프리즈마 클라우드( Prisma Cloud)와 같은 주요 컨테이너 보안 업체의 스캐너도 울피를 지원한다.
로렝은 “과거 오픈소스는 소스코드의 무료 복사본을 영구적으로 갖는다는 것을 의미했다.
더 이상 소프트웨어는 그렇게 작동하지 않는다.
취약점이 발견되는 속도가 빠른 만큼 소프트웨어의 모든 부분을 지속적으로 업데이트할 계획을 세워야 한다.
소프트웨어는 만료된다. 더 이상 정적인 문제가 아니라 동적인 문제다”라고 말했다.
앞으로 몇 년은 오픈소스 보안의 책임 구도가 바뀌고 배포판이 속도를 우선시함으로써 더 뛰어난 보안을 제공할 수 있는 잠재력을 보여주는 흥미로운 기간이 될 것이다.
기업 역시 사용하는 오픈소스에 대해 훨씬 더 까다로워지는 동시에, 이미 존재할 수 있는 취약점을 찾아서 수정하는 데 있어 더 민첩해져야 한다.
이게 효과가 있을까?
충분하다고는 할 수 없겠지만, 적어도 한 가지는 확실하다.
기업이 필요로 하는 오픈소스 보안을 제공하지 못하는 배포 패턴에 더는 의존할 수 없다는 사실이다.
윈도우 11 최신 테스트 빌드에 참신한 네트워크 기능이 등장했다. QR 코드를 사용해 다른 장치와 와이파이 암호를 공유할 수 있는 기능이다.
윈도우 11 와이파이 속성에서 찾을 수 있는 이 기능을 사용하면 PC 화면에 노출된 QR 코드를 스마트폰으로 스캔해 네트워크에 빠르게 연결할 수 있다.
설명에 따르면 이 기능은 무선랜 암호를 쉽게 공유할 수 있을 뿐 아니라 개인 정보 보안도 강화된다. 윈도우 11에는 사용자가 로컬 영역의 와이파이 네트워크 목록에 접근할 수 있는 기능이 존재한다. 일부 앱은 이 정보를 사용해 사용자의 위치를 추적할 수 있기에 이 기능이 중요하다.
마이크로소프트는 이에 더해 개인 정보 및 보안 설정에서 앱이 와이파이 네트워크 목록에 접근하는 것을 제어하는 기능을 추가할 방침이라고 밝혔다. 특정 앱이 사용자의 위치 또는 와이파이 정보에 처음 접근하려 할 때 메시지가 나타나게 된다.
한·미 양국이 북한 정보기술(IT) 인력의 위장 취업 문제 관련 합동 주의보를 19일 발표했다.외교부는 이날 누리집을 통해 ‘북한 정보기술 인력에 대한 한·미 정부 주의보 공동 발표’를 공개했다. 한·미 양국 정부는 지난해 5월과 12월에도 ‘북한 정보기술 인력에 대한 합동 주의보’를 각각 발령한 적이 있다.
우리 외교부와 국가정보원·경찰청, 그리고 미국 국무부와 연방수사국(FBI)은 이번 합동 주의보에서 북한 정보기술 인력의 신분 위장 등을 의심해볼 수 있는 요소들로 고용 대상자가 △면접 등에서 부정행위를 한 징후가 관찰되거나 △이력서상 사용 언어와 출신 지역이 맞지 않거나 △급여 지급과 관련해 계좌정보 대신 다른 지불방식을 요청하거나 △회사가 제공하는 물품 수령 장소로 집주소가 아닌 화물 운송회사 전용 주소로 제시한 경우 등을 제시했다.양국 당국은 고용 후보자에 대한 철저한 신원조사와 계좌 및 실제 주소 확인, 회사 네트워크와 비밀정보 보호를 위한 보안조치 강화 등을 정보기술 기업들에 권고했다.
한편, 황준국 주유엔인권 대사는 18일(현지시각) 뉴욕 유엔본부에서 열린 유엔총회 3위원회 일반토의에서 최근 중국 당국의 탈북자 강제 북송을 ‘인권과 관련한 중대 사태’라며 규탄했다.
비즈니스 핸디맨, 엔터프라이즈 급 리눅스 CLI 도구 ‘BHMsh’ 출시 오픈 소스로 데드옵스 통해 AI 기반 bash 쉘 활성화
리눅스 CLI(Command Line Interface)는 사용자가 입력한 명령어를 그대로 해석하여 실행한다. 따라서 사용자가 입력한 명령어의 의미를 정확하게 이해하지 못하면, 예상치 못한 결과가 발생할 수 있다. 여기에 AI 기술이 접목되면 사용자의 의도를 보다 정확하게 파악하여 사용자의 실수를 줄이고, 사용자의 작업을 자동화해 생산성을 높이고, 사용자 맞춤형 서비스도 가능해진다.
비즈니스 핸디맨(Business Handyman)는 개인과 중소기업에서 사용할 수 있는 엔터프라이즈 수준의 리눅스 명령줄 인터페이스(CLI) 도구인 BHMsh를 출시했다.
사용자는 ssh 또는 터미널 bash 요청을 인간 언어로 입력하고 요청을 데브옵스(DevOps) 모니터링 환경에서 실행될 bash 쉘 스크립트로 안전하게 변환할 수 있다.
BHMsh는 사용자의 기본 로그인 셸로도 사용할 수 있는 CLI로 작동한다. 주요 목적은 최종 사용자가 터미널(bash 쉘)에서 수행할 작업을 설명하고 BHMsh가 쉘 스크립트를 생성하여 그래픽 인터페이스에서 수행하기 쉽지 않은 복잡한 포그라운드 및 백그라운드 작업을 실행하도록 하는 것이다.
마이크로소프트(MS)가 지난 주 화요일 출시된 윈도우 10 보안 업데이트(KB5031356) 설치 실패 문제에 대해 조사에 착수했고 해외 매체 윈도우 센트럴이 17일(현지시간) 보도했다.
MS에 따르면 윈도우 10에서 최신 보안 업데이트 설치를 시도할 경우 처음에는 진행 상황이 표시되지만 0x8007000d 오류가 발생하면서 설치가 안되는 문제가 확인됐다.
이 문제는 윈도우 10 버전 22H2 및 버전 21H2에 영향을 미치는 것으로 파악된다. MS는 조사를 진행하고 업데이트를 제공할 예정이다. 업데이트 출시 전 KIR(알려진 문제 롤백)를 사용해 해결하는 방법도 있다. 임시 해결 방법은 이곳(링크)을 방문해 확인할 수 있다.
다음달 9일 ‘엔씨소프트·펄어비스’부터 3분기 실적발표 시작 크래프톤 제외한 대부분 게임사 영업이익 전년비 감소 전망
국내 주요 게임사들이 다음달 초부터 2023년도 3분기 경영실적을 발표한다. 크래프톤을 제외한 대부분의 게임사들이 전년 동기 대비 영업이익이 감소하는 실적을 낼 것으로 전망된다.
19일 금융감독원 전자공시시스템에 따르면 내달 9일 엔씨소프트와 펄어비스를 시작으로 크래프톤, 카카오게임즈, 넷마블, 더블유게임즈, 컴투스 등 국내 주요 상장 게임사들이 3분기 경영실적을 발표할 예정이다.
교보증권은 크래프톤과 더블유게임즈를 제외한 엔씨소프트, 펄어비스, 카카오게임즈, 넷마블, 컴투스가 컨센서스를 밑도는 실적을 기록할 것으로 예상했다.
먼저, 엔씨소프트는 2분기 경쟁 MMORPG 출시 영향으로 리니지 W와 리니지 2M 매출이 크게 감소한 것으로 추정된다. 펄어비스는 검은사막 PC 트래픽 증대에 따른 매출 증대 효과가 기대치에 미치지 못한 것으로 분석, 카카오게임즈는 아키에이지: 워의 매출 하향과 함께 아레스 출시에 따른 지급수수료 증가가 발목을 잡은 것으로 보인다.
넷마블은 다수의 신작 게임 출시에 따른 마케팅비 집행과 지급수수료 비율 증가로 손실을 기록한 것으로 추정, 컴투스는 신작 제노니아의 매출 기여가 제한적인 가운데 서머너즈 워: 크로니클 매출이 크게 감소한 것으로 전망된다.
반면, 크래프톤은 중국 지역 매출의 하락폭이 축소, PC/모바일 매출의 성수기 반등과 함께 인도 BGMI 매출 회복까지 더해지면서 호실적을 기록한 것으로 보인다. 더블유게임즈는 소셜카지노 신작 펀타스틱 슬롯의 소프트 런칭 관련 마케팅비가 실적에 반영됐지만, 소셜카지노 시장 내 출혈 경쟁이 완화되면서 전망치 수준의 실적을 거둔 것으로 전망된다.
애플의 최신 스마트폰 아이폰15 시리즈가 중국에서 예전만큼의 판매 실적을 거두지 못하고 있다. 중국 정부의 견제, 현지 스마트폰 제조사 화웨이가 내놓은 ‘메이트 60 시리즈’의 인기 등에 영향을 받은 것으로 보인다.
16일(현지시간) 시장분석기관 카운터포인트 리서치에 따르면 아이폰15 시리즈는 출시 이후 17일간 중국 판매량이 지난해 같은 기간의 아이폰14보다 4.5% 감소한 것으로 추산된다. 아이폰15 시리즈는 지난달 12일 처음 공개된 후 같은 달 22일 중국에서 출시됐다.
블룸버그에 따르면 투자은행 제프리스의 분석가들은 “아이폰15의 판매가 (중국에서)전작보다 두 자릿수 비율로 감소한 것으로 추정된다”고 분석했다. 제프리스 분석가들은 “중국 스마트폰 제조사인 오포와 비보 제품이 아시아 시장에서 큰 인기를 끌었던 2018년 이후 최악의 아이폰 데뷔”라고 평가했다.
아이폰15의 부진은 중국의 경기 침체, 화웨이와 애플의 경쟁 심화 등으로 인해 빚어진 것으로 보인다. 앞서 지난달 중국 정부는 공무원 및 공공기관 종사자들을 상대로 아이폰 사용을 금지하는 조치를 내리기도 한 것으로 전해졌다.
반면 화웨이가 지난 8월 내놓은 ‘메이트 60 시리즈’는 애국소비 바람을 타고 흥행에 성공한 것으로 알려졌다. 메이트 60에는 미국의 첨단 반도체 수출 제재를 뚫고 화웨이가 자체 개발한 7나노 반도체 AP칩이 장착됐다. 아직 메이트 60과 아이폰15의 중국 내 정확한 판매 수치는 집계되지 않았다. 카운터포인트리서치는 “미국 정부의 제재로 부당한 대우를 받았다고 생각하는 중국 소비자들이 메이트 60에 끌리고 있으며, 이는 애플의 판매량이 빠지는 것으로 이어지고 있다”면서 “국가주의를 목격하고 있다”고 언급했다.
팀 쿡 애플 최고경영자(CEO)도 중국을 찾았다. 아이폰15의 부진한 판매량을 끌어올리려는 것 아니냐는 해석이 나온다. 쿡 CEO는 16일(현지시간) 자신의 웨이보(중국판 트위터) 계정에 중국 청두 방문 사실을 전했다. 팀 쿡은 아이폰15 프로맥스로 청두 안순교의 야경을 찍은 사진과 함께 중국어까지 써가며 “안녕, 청두! 아이폰15 프로맥스가 유서 깊은 안순교의 멋진 사진을 포착했다”고 올렸다. 쿡 CEO가 중국을 찾은 건 지난 3월 베이징 중국발전고위급포럼 참석 이후 7개월 만이다.
CPU 요구사항과 TPM 2.0 칩을 지원하지 않는 구형 PC에서도 윈도우 11을 설치할 수 있는 간단한 꿀팁이 공개됐다.
윈도우 11은 공식적으로 호환되는 64비트 CPU 또는 TPM 2.0 칩이 없는 PC에서는 설치할 수 없지만, Rufus, Ventoy 등 외부 프로그램을 이용하면 요구사항을 우회해 설치할 수 있다.
X(구 트위터) 사용자 밥 포니(@TheBobPony)가 공유한 새로운 우회 방법은 레지스트리를 수정하지 않고 윈도우 11 설치 디렉토리에서 setup.exe에 “/product server” 스위치를 추가해 윈도우 11 설정 루틴을 시작하면 간단하게 하드웨어 요구 사항을 우회할 수 있다.
밥 포니는 “현재 윈도우 11 카나리 인사이더 버전에서 작동하는 것을 확인했다”고 밝혔다. 설치시 “윈도우 서버” 브랜딩이 나타나지만 실제로는 윈도우 11 홈 또는 윈도우 11 프로가 설치된다.
단, 우회 방법이 매우 간단한 만큼 마이크로소프트(MS)가 향후 이 방법을 차단할 가능성도 있다.
그것이 제공하는 즉각적인 재미와는 달리, 게임 산업은 비디오 게임을 개발하고 플레이하는 데 많은 에너지가 사용되며 기후 변화에 영향을 미치는 배출물이 발생한다는 사실을 느리게 인식해 왔습니다. 한 연구원은 2022년에 게임 산업의 탄소 배출량이 8,100만 톤이 넘는 것으로 나타났습니다.
디지털 게임 연구자이자 AfterClimate의 창립자인 Benjamin Abraham 박사는 게임 산업이 기후 변화에 대처하는 방법을 면밀히 평가합니다. 그는 ‘ Net Zero Snapshot 2023 ‘ 에서 업계의 Net Zero 야망에 대한 연간 진행 보고서를 발표합니다 .
게임 산업의 탄소 발자국
Abraham은 1,800억 달러 이상의 비디오 게임 산업이 글로벌 영화 산업과 맞먹는 에너지를 소비하고 탄소 배출량을 배출한다고 추정합니다.
그의 보수적인 추정에 따르면 게임 산업의 탄소 발자국은 8,100만 톤의 CO2 에 달 하지만, 비디오 게임만으로 얼마나 많은 양이 배출되는지 구체적으로 분석하지는 않습니다. 이 추정치는 작년에 비디오 게임과 거대 기술 기업이 얼마나 많은 양을 배출했는지를 보여 주며, 이는 많은 소규모 국가가 배출하는 것보다 훨씬 더 큽니다.
데이터에는 2022년 매출이 약 1조 2천억 달러에 달하는 35개 이상의 글로벌 게임 및 기술 기업이 포함되어 있습니다. Tencent, Microsoft, Apple, Sony 및 Google이 전체 배출량의 대부분을 차지합니다.
5개의 거대 기술 기업을 제외하면 다른 기업들은 2022년에 700만 톤 이상을 보고했습니다 . 연구원은 데이터를 공개하지 않은 기업의 총 배출량의 절대 최소치를 포함하여 1,400만 톤 이상의 CO2를 추정했습니다 .
따라서 비디오 게임 회사만으로도 약 1400만 톤의 CO2에 해당하는 탄소 배출에 책임이 있습니다. 그 양은 2021년 에스토니아 국가가 배출한 양과 거의 같습니다.
분석에서는 특히 Scope 3 배출 에 해당하는 다른 배출원도 고려하지 않았습니다 . 여기에는 콘솔 및 컴퓨터 하드웨어 제조, 서버 전원 공급, 회의 및 회의를 위한 개발자 또는 임원 비행 등 비디오 게임 회사 또는 개발자의 통제 범위를 벗어난 활동이 포함됩니다.
Abraham의 2023년 보고서에서 가장 주목할만한 결과 중 하나는 게임 산업의 탄소 배출량이 전 세계적으로 증가했다는 것입니다. 34개의 대형 게임 회사 중 3개만이 2022년에 탄소 배출량을 줄일 수 있었습니다.
21세기에 진입하며 불었던 벤처 열풍과 함께 국내 IT산업에서 가장 잠재력 있는 분야로 여겨졌던 리눅스는 당시 지속되는 경기침체에 줄곧 내리막길을 걸었다. 많은 기업들이 파산하거나 주력 분야를 변경하면서 230여 개에 이르렀던 리눅스 관련 기업은 2003년 초 80여 개로 줄었다. 당시 업계는 “리눅스의 성장 잠재력은 사라진 것일까”라는 우려를 보이기도 했다.
이 가운데 리눅스 활용의 ‘활로’를 찾던 기업들이 있었다. 2003년 리눅스 관련 기업들의 동향과 정부의 지원책, 주요 리눅스 활용 사례를 짚어본다.
2000년 국내 리눅스 산업 분야의 대표기업으로는 리눅스원, 리눅스인터내셔널, 자이온리눅스시스템즈, 리눅스코리아, 한컴리눅스, 미지리서치 등이 있었다.
해당 기업들 중 당시 큰 변화 없이 사업을 완만하게 이끌고 있던 곳은 미지리서치 등 몇 개사에 불과했다.
한때 135명의 직원 수, 200억 원에 이르는 연 매출을 기록했던 리눅스원은 2003년, 매출액은 4분의 1, 직원 수는 5분의 1로 줄어들었다.
리눅스인터내셔널 및 자이온리눅스시스템즈의 경우, 각 사가 인수합병(M&A)되면서 사라져 버렸다.
또한 국내에 진출했던 외국계 리눅스 기업들은 지사를 철수하거나 사업을 축소했다.
업계 관계자들은 이러한 리눅스 사업의 부진 및 실패의 원인으로 ‘경영마인드의 부재’를 꼽았다. 한 전문가는 “경험 없는 의사결정자와 원칙 없는 벤처 캐피털의 합작품”이라고 비평하기도 했다.
먼저 당시 리눅스 관련 업계 최고경영자(CEO)들의 평균 연령이 30.7세였다는 점이 주목된다. 평균 연령 자체가 문제는 아니지만, 이들이 리눅스를 처음 접하게 된 시기가 대학 재학 시절인 20대 초반으로 대개 개인적인 취미 차원에서 리눅스에 접근하고 있었다는 점이 당시에 지적됐다. 리눅스 기업 CEO들이 실질적으로 취업을 준비하던 시점인 90년대 후반, IMF 여파로 취업이 어려워지면서 생존의 차원에서 ‘리눅서’들이 모인 기업들이 탄생하기 시작했다는 것이다. 당시 이러한 성격의 기업들이 우후죽순 늘어나자 많은 기업들이 시스템 유지보수, 네트워크 망 구축 등을 통해 가까스로 회사를 유지했던 것으로 진단된다.
그러던 중 2000년에 들어서며 회사에 리눅스라는 단어만 들어가면, 그리고 리눅스 관련 사업을 하는 기업으로 확인되면 벤처 캐피털들의 일차적인 관심거리가 됐다. 또 그중 성장 가능성만 보이면 대대적인 투자의 대상이 됐다. 이 지점이 문제가 시작된 대목이었다. 당시 리눅스 업계의 한 관계자는 “회사가 기업 규모 면이나 매출 면에서 급성장하는 것처럼 보이지만 회사 설립 이후 한 번도 흑자를 기록한 적이 없으며, 회사가 어려워질 때마다 펀딩 받은 금액으로 적자를 메웠다”고 말했다.
다음으로 일부 대기업 출신 임원들의 ‘대기업적인 사고방식’이 주된 문제로 꼽혔다. 회사의 외형적 성장만을 추구하다 보니 회사의 재정 상황과는 상관없이 ‘관행’이라는 이름으로 출혈 매출을 주장하는 이들도 있었다. 더불어 IT산업 경험이 없는 인물이 중간관리자로 영입되면서 저렴하다는 이유만으로 당시 10억 원어치의 램(RAM)을 사재기하는 일도 발생했다.
리눅스 사업 부진의 또 다른 원인은 리눅스 전문가가 생각보다 많지 않았다는 점이다. 이외에도 경기침체에 따른 매출 부진 등으로 구조조정이나 정리 작업을 벌인 경우도 있었다. 업계 관계자들은 경영진의 경험 부족에 따른 적절한 대응 부족을 지적했다.
이러한 리눅스 산업의 문제와 암담한 상황에도 불구하고, 리눅스의 성장 잠재력이 모두 사라진 것은 아니었다. 몇몇 기업들은 수익모델과 리눅스 활용에 대한 해답을 찾아 나섰다.
수익 모델은 임베디드, 클러스터, 서비스
2003년 리눅스 분야에서 성공적인 수익 모델을 갖고 있다고 평가받은 대표 기업은 미지리서치였다. 미지리서치가 설립 초기 추진했던 사업은 데스크톱 리눅스 배포판, 임베디드(Embedded) 리눅스, 응용애플리케이션 등의 분야였다. 그 중 임베디드 리눅스 분야에 우선적으로 공을 들였었다.
올해 최고의 게임을 선정하는 2023년 게임대상이 약 한달 앞으로 다가왔다. 올해는 대상을 차지하기 위한 경쟁이 그 어느때보다 치열할 것으로 예상된다. 올해는 다양한 장르의 게임들이 출시돼 좋은 평가를 받았을 뿐만 아니라 좋은 성과도 냈다.
위메이드의 MMORPG ‘나이트 크로우’는 매출순위 상위권을 점령해 올해 MMORPG 시장을 지배했다. 사실상 가장 유력한 대상 후보다. 하지만 도전자들도 만만치 않다. 네오위즈의 ‘P의 거짓’은 K콘솔의 가능성을 보여줬고, 넥슨의 ‘데이브 더 다이버’는 게임성과 상업성을 동시에 잡았다.
8일 게임업계에 따르면 한국게임산업협회는 지난 5일 2023년 대한민국 게임대상 접수를 시작했다. 문화체육관광부가 주최하고, 한국게임산업협회가 주관하는 이번 행사는 본상(대상, 최우수상, 우수상, 기술창작상), 인기게임상 , 인디게임상 등 총 13개 부문을 시상한다. 게임대상 접수는 10월 5일부터 13일까지 9일 동안 온오프라인으로 진행되며, 수상작/자는 심사위원 심사 이외에 일반인 및 전문가(게임업계 종사자 및 게임 기자 등)의 온라인 투표(10월 30일~11월 6일) 결과를 반영해 최종 결정된다.
업계선 이번 게임대상 경쟁이 그 어느때보다 치열할 것으로 보고 있다. MMORPG부터 소울라이크, 모바일부터 PC-콘솔까지 다양한 장르, 다양한 플랫폼에서 수작이 나온 것.
지난 4월 출시된 나이트 크로우는 가장 유력한 대상 후보다. 출시 2주만에 구글플레이 매출순위 1위를 달성했다. 올해 초까지 매출 상위권을 굳건히 지키던 오딘: 발할라 라이징, 아키에이지 워, 프라시아 전기 뿐만아니라 리니지M까지 모두 제쳤다.
이후 매출순위 1위는 내줬지만 꾸준히 상위권을 유지하고 있다. 전형적인 모바일 MMORPG 공식에 언리얼 엔진5를 기반으로 한 높은 퀄리티의 그래픽, 비행 시스템 같은 나이트 크로우만의 차별성을 더해 게임 이용자들로부터 호평을 받았다. 이에 나이트 크로우는 누적 매출 1억달러(약 1300억원)을 넘겼다. 앞서 게임대상을 받은 게임들의 성과와 비교해보면, 나이트 크로우가 게임대상을 받는 것은 자연스러워 보인다.
자바가상머신(JVM) 최적화를 통해 JVM 내에서 실행되는 자바 애플리케이션의 성능과 효율성을 높일 수 있다. 실행 속도를 개선하고 메모리 사용량을 줄이고 리소스 사용을 최적화하는 다양한 기법을 사용한다.
JVM 최적화 작업에는 힙 크기, 가비지 수집기 매개변수와 같은 JVM의 메모리 할당 설정 변경이 포함된다. 최종 목표는 효율적인 메모리 사용을 보장하고 불필요한 객체 생성과 메모리 누수를 최소화하는 것이다. JVM의 JIT(Just-In-Time) 컴파일러를 최적화하는 것도 중요하다. 코드 패턴을 분석하고 핫스팟을 파악하고 인라이닝 및 루프 풀기와 같은 최적화를 통해 JIT 컴파일러는 자주 실행되는 바이트코드를 네이티브 기계 코드로 동적으로 해석할 수 있게 된다. 그 결과 실행 속도가 더 빨라진다.
JVM 최적화의 또 다른 중요한 측면은 스레드 관리다. 효율적인 스레드 활용은 동시성 자바 애플리케이션에 매우 중요하다. 스레드 사용 최적화 방법에는 경합 최소화, 컨텍스트 전환 감소, 스레드 풀링 및 동기화 메커니즘의 효과적인 채용 등이 있다.
마지막으로, 힙 크기 및 스레드 스택 크기와 같은 JVM 매개변수를 잘 조정하면 JVM의 동작을 최적화해 더 좋은 성능을 얻을 수 있다. 프로파일링과 분석 툴은 성능 병목 지점, 핫스팟, 메모리 문제를 파악하는 데 유용하고, 개발자가 정보에 근거한 최적화 작업을 할 때 도움이 된다. JVM 최적화는 이런 여러 기법을 결합하고 지속적으로 애플리케이션을 벤치마킹, 테스트해 자바 애플리케이션의 성능과 응답성을 강화한다. 하나씩 자세히 살펴보자.
JVM 최적화는 자바 애플리케이션의 성능과 효율성을 개선하는 데 핵심적인 단계다. 개발자는 힙 크기, 가비지 수집기 알고리즘, 스레드 스택 크기, JIT 컴파일 설정과 같은 매개변수를 조정해 리소스 사용률을 최대화하고 확장성을 개선할 수 있다. 또한 자바 플라이트 리코더, JDK 미션 컨트롤과 같은 모니터링 및 프로파일링 툴은 성능 병목 지점을 파악하고 정보에 근거한 최적화를 실행하는 데 필수적이다.
단, JVM 최적화에 한 가지 정답이 없다. 최적의 매개변수 값은 특정 애플리케이션과 하드웨어 구성, 성능 목표에 따라 다르다. 가장 효과적인 JVM 최적화 전략을 찾기 위해서는 철저한 테스트와 분석이 필요하다. 신중한 접근과 실험을 반복하며 여기서 소개한 기법을 사용하면 JVM의 성능을 최적화하고 자바 애플리케이션의 모든 잠재력을 끌어낼 수 있을 것이다.
사물인터넷 장비들 대부분 리눅스를 기반으로 하고 있는데, 이 리눅스 시스템에서 공통적으로 발견되는 취약점이 있다는 경고가 나왔다.
예외가 없지 않지만 그리 많지 않은 것으로 보이며, 익스플로잇 성공 시 파급력이 엄청나다고 한다.
공격자들이 수많은 리눅스 기반 시스템들에 접근해 높은 권한을 가져갈 수 있도록 해 주는 취약점이 발견됐다.
이 취약점은 익스플로잇 난이도가 낮으며, 리눅스 배포판 대부분에서 흔하게 사용되는 라이브러리에서 발견되고 있어 파급력이 높다.
이 취약점에는 루니튜너블즈(Looney Tunables)라는 이름이 붙었다.
루니튜너블즈의 공식 관리 번호는 CVE-2023-4911이며 CVSS를 기준으로 7.8점의 점수를 받았다.
유명 리눅스 배포판인 페도라, 우분투, 데비안이 모두 영향을 받는 것으로 분석됐다.
보안 업체 퀄리스(Qualys)가 자사 블로그를 통해 공개한 바에 의하면 루니튜너블즈는 GNU C 라이브러리(줄여서 glibc)에서 발견되고 있다고 한다.
GNU C 라이브러리는 리눅스 커널이 존재하는 모든 시스템에 존재한다고 봐도 무방하며, 그러므로 거의 모든 리눅스 시스템이 위험하다고 봐야 한다고 퀄리스는 경고했다.
GNU C 라이브러리는 시스템 호출과 기타 여러 기본 적인 기능들(예 : open, malloc, printf, exit 등)을 규정하는 역할을 담당한다.
일반적인 프로그램이라면 이런 기능들이 반드시 필요하기 때문에 GNU C 라이브러리는 핵심 중 핵심이라고 해도 과언이 아니다.
이 라이브러리 내에는 GLIBC_TUNABLES이라는 환경 변수가 있는데, 이 변수가 처리되는 과정에서 오류가 발생하는 것이 바로 루니튜너블즈다.
리눅스 기반 시스템이라고 하면 생소할 수 있는데, 사물인터넷으로 분류될 만한 장비들 중 대다수가 리눅스 기반 시스템이라고 볼 수 있다.
이런 장비들에 침투한 공격자가 권한을 상승시킬 경우 대단히 위험해질 수 있다고 보안 업체 비아쿠(Viakoo)의 부회장 존 갈라어(John Gallagher)는 설명한다.
“사물인터넷 장비라면 스마트 팩토리나 각종 산업 현장에서 사용되는 드론이나 로봇, 센서들을 말합니다.
이 장비들이 오작동을 하면 금전적 손실은 물론 물리적 피해도 발생 가능합니다.”
루니튜너블즈 취약점은 2021년 4월부터 존재해 왔던 것으로 분석됐다.
페도라 37과 38, 우분투 22.04와 23.04, 데비안 12와 13 버전에 이 취약점이 있음 역시 확실하게 확인이 되었다.
하지만 리눅스 커널과 관련된 문제이기에 퀄리스의 연구원들은 다른 리눅스 배포판에도 이 취약점이 도사리고 있을 가능성이 매우 높은 것으로 보고 있다.
다만 알파인 리눅스는 예외다. 퀄리스의 위협 분석가 사이드 아바시(Saeed Abbasi)는 “알파인은 glibc가 아니라 musl libc라는 라이브러리를 사용하기 때문”이라고 설명한다.
루니튜너블즈가 위험한 건 익스플로잇 난이도가 낮기 때문이라고 아바시는 강조한다.
“너무나 쉬운 익스플로잇 단계를 거치면 공격자는 여러 데이터에 아무렇지도 않게 접근할 수 있게 되고 시스템 경보를 자기 마음대로 울릴 수 있게 되는 등 각종 악성 행위를 실시할 수 있게 됩니다.
생산 환경에 있는 리눅스 장비가 공격에 당했다면 생산 체제를 망가트리거나 일시적으로 마비시킬 수도 있습니다. 중요한 생산 관련 데이터를 훔쳐갈 수도 있게 되고요.”
퀄리스는 9월 4일 레드햇(Red Hat) 측에만 비밀리에 해당 취약점을 알렸다.
오픈월(OpenWall)이라는 오픈소스 보안 프로젝트에는 9월 19일에 보고서를 전송했다.
두 곳은 모두 적절하게 반응했고 10월 3일 패치가 배포되기 시작했다. 레드햇, 우분투, 업스트림, 데비안, 젠투 등 주요 리눅스 배포판들이 일제히 사용자들을 위한 보안 업데이트를 발표했다.
glibc 취약점, 왜 위험한가 루니튜너블즈 취약점을 이해하려면 glibc의 ‘다이내믹 로더(dynamic loader)’라는 기능을 알아야 한다.
glibc가 프로그램을 실제로 실행시키는 것을 담당하는 기능이다. ‘프로그램을 실행시킨다’는 것 안에는 여러 가지 행위들이 포함된다. 1) 공유되는 라이브러리들을 찾아내고 할당한다 2) 공유되는 라이브러리들을 실행 파일과 연결시킨다. 3) 함수와 변수 등 각종 레퍼런스들을 정립한다 4) 프로그램 실행에 있어 방해가 될 만한 요소들을 찾아 정리하거나 사용자에게 알린다
아바시는 “보안의 관점에서 보면 다이내믹 로더는 매우 민감한 기능이자 요소라고 볼 수 있다”고 설명한다.
“공유된 라이브러리들과 관련이 있고, 여러 변수들까지 다뤄야 하기 때문에 높은 권한을 가지고 있을 수밖에 없습니다.
공격자 입장에서 이 다이내믹 로더 요소만 잘 공략하면 꽤나 높은 권한을 가져갈 수 있게 되니 관심이 쏠릴 수밖에 없습니다.
실제로 이번 취약점도 이 다이내믹 로더를 통해 공격자가 높은 권한을 가져가게 되는 게 핵심이죠.” 아바시의 설명이다.
그렇다면 GLIBC_TUNABLES 환경 변수는 무엇일까?
사용자들이 런타임 시 라이브러리의 행동 패턴을 조정할 수 있게 해 주는 것으로, 이 변수가 있어서 사용자가 매번 필요할 때마다 컴파일링 작업을 다시 하지 않아도 된다.
편리함을 높여주는 것이기 때문에 사용자들이 많다. 하지만 사용자들이 직접 값을 입력해 설정하는 것이므로, 늘 이상한 값이 입력될 위험성이 존재하고, 그럴 때 예상 외의 현상이 발동될 수 있다.
루니튜너블즈 취약점이 바로 여기에 해당한다.
이번에 배포되는 패치의 경우 사용자 입력값을 좀 더 꼼꼼하게 확인할 수 있도록 하는 절차를 추가하는 방식으로 마련됐다.
3줄 요약 1. 거의 모든 리눅스 시스템에 존재하는 새로운 취약점 발견됨. 2. 발견된 것 자체가 새롭긴 하지만 실상은 2021년 4월부터 존재해왔던 취약점. 3. 각 배포판 별로 패치를 배포하고 있으니 사용자들은 최대한 빨리 받아 적용하는 게 안전.
윈도우 ‘암호 키(Passkeys)’는 윈도우 11의 새로운 ‘윈도우 헬로(Windows Hello)’일 수 있다. 암호 키가 윈도우 11 22H2 업데이트에서 공개됐다. 이제 막 사용해 본 소감은 다음과 같다. 매우 편리해 보이지만, 아직은 갈 길이 멀어 보인다.
윈도우 헬로는 윈도우 10에서 처음 도입된 생체 인식 인증 수단이다. 이 기능 덕분에 노트북을 열고 카메라에 얼굴을 보여주기만 하면 윈도우 암호를 입력할 필요 없이 PC 잠금을 해제할 수 있게 됐다. 매우 간단하고, 매우 편리하다.
암호 키도 웹사이트에 비밀번호를 입력하는 대신, PC의 생체 인식 정보를 사용한다. 윈도우 헬로를 사용해 웹사이트에 로그인하는 것이다.
단, 현재는 암호 키를 지원하는 웹사이트가 적다. 베스트바이, 왓츠앱, 깃허브, 원패스워드 등이다. 더 큰 문제는 사이트마다 암호 키를 만들어야 한다는 점이다.
또 일부 웹사이트의 암호 키 지원은 윈도우가 아닌 모바일 기기에만 연결된다. 데스크톱 PC에서 로그인하면 휴대폰으로 지문을 등록하라는 메시지가 표시된다. 어떤 방식이 더 안전하다고 말할 수는 없지만, PC에서 암호 키를 사용하는 것이 휴대폰으로 지문을 등록하는 것보다 확실히 더 편리하다.
암호 키를 활성화하는 방법은 간단하다. 마이크로소프트 계정 사이트를 방문해 윈도우용 암호 키를 설정할 수도 있고, 윈도우 헬로를 통해 간단하게 암호 키를 만들 수도 있다. 구글 계정을 사용하려면 패스키를 설정해야 한다. 구글의 패스키 생성 절차에서는 연결된 휴대폰을 쓸 수 있는 옵션도 제공하지만, ‘이 기기(PC)’에서도 패스키를 만들 수 있다. 그러려면 해당 옵션을 클릭하고 구글 비밀번호를 입력해야 한다.
HTMX는 자바스크립트 대신 확장된 HTML 구문을 사용해 상호작용성을 달성한다. HTMX는 마크업에서 바로 HTTP 상호작용을 제공하며, 자바스크립트에 의존하지 않고도 다른 많은 상호작용 요구사항을 지원한다. 향후 웹 프론트 엔드의 작동 방식에 영향을 미칠 잠재력을 지닌 흥미로운 개념이다. HTMX가 어떻게 사용되는지, 매력은 무엇인지를 알아보자.
HTMX란
HTMX는 꽤 오래전에 나왔지만 그동안 활동이 다소 뜸했던 프로젝트다. 최근 깃허브 액셀러레이터(GitHub Accelerator)에 발탁된 만큼 분위기가 바뀔 가능성이 높다. 기본적인 개념은 상용구 자바스크립트-HTML 상호작용이 필요한 일반적인 상황에서 자바스크립트 없이 HTML 구문만 사용한다는 것이다. 많은 상호작용이 HTMX를 통해 선언적이 된다. 여기까지만 들어도 귀가 솔깃하다. 웹 개발자라면 누구나 상용구 사례가 많다는 것을 알고 있다. HTMX를 만든 카슨 그로스는 “하이퍼텍스트로 HTML을 완성해 더 진보적인 현대 웹 애플리케이션을 위한 경쟁력 있는 대안이 되도록 표현력을 높이는 것이 목표다”라고 말했다.
HTMX에 대해 대략적인 감을 잡기 위해 이 데모를 보자. 기본적으로 버튼을 클릭해 사용자 객체의 필드를 편집하는 예제다. 데이터는 백엔드 엔드포인트로 들어간다(PUT). <화면 1>을 보면 Show를 클릭한 이후 하단 프레임의 네트워크 상호작용을 볼 수 있다.
<화면 1> HTMX 폼 데모 ⓒ IDG
일반적으로 어느 프레임워크를 사용하든 이런 작업을 하려면 자바스크립트가 필요하다. 하지만 HTMX는 <예시 1>에서 볼 수 있듯이 이 상호작용을 표시 UI를 위한 마크업과 편집 UI를 위한 마크업, 2개의 마크업 덩어리로 바꾼다.
<예시 1> HTMX 사용자 업데이트
<div hx-target=”this” hx-swap=”outerHTML”> <div><label>First Name</label>: Joe</div> <div><label>Last Name</label>: Blow</div> <div><label>Email</label>: [email protected]</div> <button hx-get=”/contact/1/edit” class=”btn btn-primary”> Click To Edit </button> </div> <!– The edit: –> <form hx-put=”/contact/1″ hx-target=”this” hx-swap=”outerHTML”> <div> <label>First Name</label> <input type=”text” name=”firstName” value=”Joe”> </div> <div class=”form-group”> <label>Last Name</label> <input type=”text” name=”lastName” value=”Blow”> </div> <div class=”form-group”> <label>Email Address</label> <input type=”email” name=”email” value=”[email protected]”> </div> <button class=”btn”>Submit</button> <button class=”btn” hx-get=”/contact/1″>Cancel</button> </form> <예시 1>을 보면 어떤 동작이 이뤄지는지 쉽게 알 수 있다. hx-swap 속성은 편집되기 전 div를 위한 HTML을 제공하고, outerHTML은 이것이 프레임워크에 내부의 동적 콘텐츠와 어떻게 관련되는지 알려준다. 편집 가능한 버전은 PUT HTML 메서드와 사용할 엔드포인트를 식별하는 x-put 속성이 포함된 양식(form) 요소로 구현된다.
여기서 HTMX는 자바스크립트를 전혀 사용하지 않고 이 “swap”과 그 이후의 PUT을 어떻게 구현했을까하는가? 답은 쉽다. 편집 마크업에 HTML의 서버 측 렌더링을 사용하고, 양식 마샬링을 프레임워크로 추상화하는 것이다. 배후에서는 여전히 자바스크립트가 실행된다. 사실상 우리가 보는 것은 전체 페이지 대신 세그먼트만 로드할 수 있고 Ajax 요청을 제출할 수 있는 더 세분화된 HTML 구문이다. 이는 DRY 원칙의 흥미로운 실제 예시다. 리액트(React) 등을 사용해도 한 양식에서 다른 양식으로 정보를 섞을 때는 상용구 코드를 일정 정도 써야 한다. HTMX는 이를 완전히 제거한 것은 아니지만, 그 작업을 서버로 옮겼다.
서버 측 HTMX
이제 서버 측을 보자. 그로스는 “HTMX는 백엔드를 가리지 않는다. HTML만 사용하면 어느 백엔드를 쓰든 관계없다”라고 말했다. 이런 장점은 HTMX를 사용하는 서버 측 기술이 다양하기 때문이다. 어떤 식으로 작동하는지 알아보기 위해 익스프레스(Express)와 함께 퍼그(Pug) HTML 템플릿 엔진을 사용하는 TODO 예제를 보자. 이 예제는 일반적인 TODO 애플리케이션이다.
우선, 기존 to-do 항목은 다음 명령을 사용한 익스프레스의 출력이다.
res.render(‘index’, { todos: filteredTodos, filter, itemsLeft: getItemsLeft() }); 이 명령은 메모리 내 to-do 컬렉션을 사용하고, HTMX 상호작용을 이끄는 특수한 hx- 속성을 포함한다는 점을 제외하면 일반적인 형식의 퍼그 템플릿을 사용해 렌더링한다. 예를 들어 새 to-do를 POST하는 양식은 <예시 2>와 같다.
<예시 2> HTMX 속성을 사용한 양식 POST
form(hx-post=”/todos”, hx-target=”#todo-list”, hx-swap=”afterbegin”, _=”on htmx:afterOnLoad set #txtTodo.value to ””) input#txtTodo.new-todo(name=”todo”,placeholder=’What needs to be done?’, autofocus=”) afterbegin 속성이 새 콘텐츠를 목록의 맞는 위치에 어떻게 넣는지는 여기서 볼 수 있다. on htmx 스크립트는 일종의 간소화된 스크립팅 언어인 하이퍼스크립트다. HTMX와 함께 자주 쓰이지만, HTMX의 일부이거나 HTMX를 사용하기 위해 필수적인 것은 아니다. 여기서 on htmx는 새 to-do가 만들어진 후 입력 양식의 값 설정을 처리하는 역할을 한다. <예시 3>에서는 to-do 편집을 위한 퍼그 템플릿을 볼 수 있다.
<예시 3> 퍼그의 서버 측 템플릿 편집
form(hx-post=”/todos/update/” + todo.id) input.edit(type=”text”, name=”name”,value=todo.name) <예시 3>에서 마크업은 편집된 to-do에 대한 JSON을 어디로 보낼지 나타내기 위해 hx-post 속성을 사용한다. 이 예제의 핵심은 앞서 언급한 부분, 즉 다양한 상호작용을 위해 프론트 엔드에서 필요로 하는 화면의 다양한 부분을 채우기 위한 적절한 크기의 HTML(HTMX 태그로 데코레이션됨)을 제공하는 작업을 서버가 담당한다는 점이다. HTMX 클라이언트는 속성을 기반으로 이를 적절한 위치에 배치하고, 서비스에서 소비할 수 있도록 적절한 데이터를 전송하는 부분도 처리한다.
데이터 수신을 담당하는 엔드포인트는 일반적인 엔드포인트처럼 작동할 수 있는데, 차이점은 필요한 HTMX가 응답이 되어야 한다는 것이다. 예를 들어 <예시 4>에서 익스프레스 서버가 새 to-do를 생성하기 위해 POST를 어떻게 처리하는지 볼 수 있다.
<예시 4> to-do 생성 처리
app.post(‘/todos’, (req, res) => { const { todo } = req.body; const newTodo = { id: uuid(), name: todo, done: false }; todos.push(newTodo); let template = pug.compileFile(‘views/includes/todo-item.pug’); let markup = template({ todo: newTodo}); template = pug.compileFile(‘views/includes/item-count.pug’); markup += template({ itemsLeft: getItemsLeft()}); res.send(markup); }); <예시 4>는 일반적인 POST 본문 핸들러로, 양식 데이터에서 값을 가져와 새 비즈니스 객체를 생성한다(newTodo). 그런 다음 이 값을 사용해서 퍼그 템플릿을 채우고 이를 클라이언트로 돌려보내 프론트 엔드의 Todo 목록에 삽입한다. 이외 또다른 서버 측 기술도 있다. 예를 들어 자바 환경에서는 타임리프(Thymeleaf) 및 스프링 부트(Spring Boot) 조합과 함께 HTMX를 사용하고, 파이썬 환경에서는 장고(Django) 및 스프링 부트 조합으로 사용할 수 있다.
HTMX를 사용한 클라이언트 측 템플릿
HTMX가 지원하는 또다른 시나리오는 클라이언트 측 템플릿을 사용하는 것이다. 이는 클라이언트에서 실행되고 서버로부터 JSON을 받아 마크업 해석을 수행하는 계층이다. 필자는 그로스에게 RESTful 서비스를 JSON과 함께 사용하는 방법에 대해 물었는데, 그로스는 클라이언트 측 템플릿을 사용하면 가능하지만 REST에 대한 일반적인 오해를 주의해야 한다고 말했다. 그렇다면 역으로, 기본 양식 인코딩 대신 JSON을 서버에 제출하려면 어떻게 해야 할까? 여기에는 확장 기능인 JSON-ENC가 있다.
결론
HTMX는 여러 가지 점에서 매우 흥미롭다. 결론은 이 개념이 프로젝트 자체 못지않게 유익하다는 것이다. 점점 성숙해지면서 HTMX가 지금과 똑같이 작동하지 않을 수 있지만, 유익한 영향은 이미 입증됐다. 가장 매력적인 부분은 일반적으로 fatch() 또는 이와 비슷한 것을 사용하는 매우 보편적인 Ajax 스타일의 온갖 다양한 요청을 HTML 속성 하나로만 처리한다는 개념이다. 더 단순하고 깔끔하며 모든 요소를 한 곳에 두는 방식이다. 마크업이 무엇을 하는지가 매우 명확하다.
필자는 서버 측 마크업 생성에 대해서는 더 양면적인 생각을 갖고 있다. 개발자는 이미 이런 목적으로 JSON을 다루는 데 매우 익숙하다. 마크업을 가져오는 것은 클라이언트 생성에서 한 단계를 추가하는 것일 뿐이다. 그동안 수많은 서버 측 접근 방식이 등장했고 이런 방식은 항상 HTML, 자바스크립트, CSS라는 강력한 3요소를 잘 뒤로 숨기는 것처럼 보였지만 결국은 모두 실패했다. 반면 HTMX는 다를 수 있다. 큰 추가 흔들리고 있다.
물론 서버를 익숙한 JSON 이미터(emitter)로 남겨두는 클라이언트 측 템플릿 옵션도 있다. 필자는 이 방식이 대규모 소프트웨어 프로젝트에서 어떻게 작동할지 상상해봤다. 대규모 프로젝트에서 전체적인 복잡성을 낮춰줄까? 그로스는 이런 복잡성에 대해 나름의 생각이 갖고 있고, HTMX의 설계를 보면 이것이 반영된 것을 알 수 있다. 이 기술은 웹 애플리케이션을 위한 상태 메커니즘으로써 하이퍼텍스트로 돌아가서 이런저런 일을 단순화하는 데 목표를 둔다. 이 예제는 개념이 실제로 어떻게 작동하는지 보여준다. JSON을 프로토콜로 사용한다는 것은 곧 클라이언트를 더 스마트하고 더 복잡하게 만들고, 아키텍처를 덜 자기 설명적으로 만드는 것을 의미한다.
만약 이런 이상이 실제로 구현된다면, 기반 언어인 HTML을 확장해 Ajax와 같은 최신 요구사항을 실제로 처리함으로써 내재된 복잡성을 피하고 더 단순한 시대로 돌아갈 수 있다. 마크업은 다시 한 번 중앙 데이터 설명자가 되어 UI는 물론 오가는 데이터도 충분히 설명할 수 있게 될 것이다.
마이크로소프트가 게임을 다운로드하지 않고도 플레이할 수 있는 새로운 ‘인스턴트 게임(Instant Games)’ 기능을 출시한다. 인스턴트 게임은 향후 몇 주에 걸쳐 배포될 윈도우 11 2023 업데이트(버전 23H2)에 맞춰 마이크로소프트 스토어 업데이트 일부로 프리뷰 버전이 출시된다.
인스턴트 게임은 이미 안드로이드 구글 플레이의 인스턴트 기능과 유사하게 작동할 보인다. 안드로이드와 윈도우에서 ‘인스턴트’라는 단어는 새로운 게임을 선택하면 일반적인 다운로드 및 설치 과정을 생략하고 즉시 게임을 즐길 수 있다는 의미다. 인스턴트 플레이 기능을 사용하려면 안드로이드 앱의 경우 게임 용량이 15MB로 비교적 작아야 하는데, 윈도우의 인스턴트 게임 기능도 비슷하게 작동할 가능성이 높다.
마이크로소프트 소비자 마케팅 책임자 유수프 메흐디는 블로그에서 마이크로스프트가 인스턴트 게임을 “윈도우 기기에 게임을 다운로드해 설치할 필요 없이 윈도우의 마이크로소프트 스토어에서 바로 좋아하는 캐주얼 게임을 즉시 플레이할 수 있는 새로운 경험”이라고 소개했다. 이어 “게임 퍼블리셔와 파트너십을 맺어 캐주얼 게임 컬렉션에 이런 경험을 제공할 수 있게 됐다”라고 덧붙였다.
마이크로소프트는 인스턴트 게임 프로그램에 어떤 게임을 포함할지 밝히지 않았지만, 지뢰 찾기나 솔리테어 같은 1980년대 출시된 일부 8비트 게임이 포함될 것으로 예상된다.
또한 마이크로소프트는 사용자가 게임 설치를 위해 특정 드라이브와 위치를 선택할 수 있도록 마이크로소프트 스토어 앱이 업데이트될 것이라고 밝혔다. 이 기능은 이달 말 출시된다.