인디오홀덤 | 슬롯무료머니 WPT Prime Taiwan Festival에서 엄청난 상품이 기대됩니다

인디오홀덤 | 슬롯무료머니는 다른 모든 라이브 포커 투어와 마찬가지로 2024년 월드 시리즈 오브 포커(WSOP) 동안 잠시 중단되었지만 8월 6일 타이베이시의 아시아 포커 아레나 에서 열리는 WPT Prime Taiwan을 시작으로 화려하게 돌아옵니다.

World Poker Tour 사이트에서는 아직 공식적으로 WPT Prime Taiwan 일정을 발표하지 않았지만 챔피언십 이벤트에 대한 세부 정보는 공개되었습니다. WPT Prime Taiwan Main Event는 8월 15-17일에 진행되는 3개의 출발편으로 구성되며, 8월 18일에 2일차가 시작되고 8월 19일에 마무리됩니다.

WPT 글로벌
WPT 글로벌이용약관
첫 입금 매치: $1,500 + 카지노 코인, 무료 스핀 및 티켓


인디오홀덤 | 슬롯무료머니 각 항공편은 대만 달러로 35,000달러(약 1,100달러) 가 들어가며, 이 금액으로 World Poker Tour는 야심찬 100만 달러 보장 상금 풀을 달성 할 수 있습니다. WPT Prime이 대만을 홈으로 삼았던 지난 두 차례를 고려하면 100만 달러를 돌파하는 것은 문제가 되지 않을 것입니다.

2022년 11월, 877명의 참가자가 809,133달러에 해당하는 상금 풀을 만들었습니다. 프랑스인 마크 이니잔이 주로 대만인으로 구성된 참가자를 제치고 138,939달러 상당의 1등 상금을 차지했습니다.

계급 플레이어 국가 상금(USD)
1 마크 이니잔 프랑스 138,939달러
2 카이초우 대만 92,597달러
삼 치 리 대만 68,285달러
4 위안 쉬 리 대만 50,908달러
5 창위판 대만 38,375달러
6 야오웨이 황 대만 29,252달러
7 박영 대한민국 22,550달러
8 스미레 호리 일본 17,582달러
WPT Prime 대만 | 8월 6일 – 8월 19일
WPT Prime은 2023년 8월에 대만으로 돌아왔고, 메인 이벤트는 모든 기대를 뛰어넘었습니다. 늦은 등록이 마감될 때까지 1,359개의 참가 신청이 처리되었고, 플레이어는 1,238,709달러의 상금을 놓고 경쟁했습니다.

한국의 허선국은 2023년에 프랑스의 레너드 야닉을 상대로 1대 1로 승리하여 208,363달러 상당의 최고 상금을 챙겼 습니다 . 허선국은 그 후 날개를 펼쳐 일부 EPT 파리 사이드 이벤트와 2024 WSOP의 777달러 Lucky 7’s 이벤트에서 현금을 획득했습니다.

계급 플레이어 국가 상금(USD)
1 허선국 대한민국 208,363달러
2 레너드 야닉 프랑스 131,930달러
삼 승코 대한민국 97,663달러
4 재키 왕 싱가포르 73,012달러
5 통 웡 홍콩 55,127달러
6 김동규 대한민국 42,034달러
7 타오 창 대만 32,387달러
8 펭 첸 대만 25,173달러
WPT Global, 새로운 “Passport Dollars” 시스템으로 엄청난 유연성 추가

WPT Global의 WPT Passport Dollars를 사용하여 WPT Taiwan에서 플레이하세요
WPT Global은 최근 WPT Passports 시스템을 개편하여 플레이어에게 더 많은 유연성을 제공했습니다. $12,400 WPT Championship Passport 또는 $1,500 WPT Prime Passport를 획득하면 이제 이를 사용하여 해당 이벤트에 참여하거나 Passport Dollars로 분할하여 WPT Prime Taiwan을 포함한 거의 모든 WPT 또는 WPT Prime 이벤트에 참여할 수 있습니다.

풍성한 환영 패키지로 WPT 글로벌 커리어를 시작하세요
Passport Dollars를 획득하고 WPT Prime Taiwan으로 플레이하고 싶다면 오늘 PokerNews를 통해 WPT Global을 다운로드하세요 . 엄청난 환영 보너스도 받을 수 있습니다. 아래의 환영 패키지 표를 확인하여 어떤 보너스를 받을 자격이 있는지 확인하세요.

인디오홀덤 | 메가슬롯 | ‘AI 기반’이라는 실리콘밸리의 새빨간 거짓말

인디오홀덤 | 메가슬롯 오래된 PPT 자료를 모두 살펴보고 ‘암호화’라는 단어를 ‘AI’로 바꿔줄 수 있나요?”

벤자민 슈워츠가 그린 뉴요커 만화에 나오는 이 캡션은 실리콘밸리의 새로운 ‘AI 워싱(AI Washing)’ 정신을 완벽하게 묘사한다.

인디오홀덤 | 메가슬롯 AI 워싱은 단순한 현상처럼 들리지만, 실제로는 복잡하고 다면적이다. 그리고 이 글을 읽는 모든 사람(기술 리더, 마케터, 제품 개발자, 사용자, 모든 유형의 IT 전문가)은 마케팅과 영업뿐 아니라 업계 주장에 근거한 기사에서 과장, 왜곡된 강조, 노골적인 거짓말을 쉽게 접할 수 있다는 점을 알아야 한다.

AI 워싱의 이해
AI 워싱은 기업이 홍보하는 제품이나 서비스에서 AI의 역할을 지나치게 강조하는 기만적인 마케팅 관행을 말한다. ‘워싱’이라는 표현은 1986년 환경운동가 제이 웨스터벨트가 만든 ‘그린워싱(greenwashing)’에서 유래했다. 그린워싱은 소비자 제품이 환경에 미치는 영향과 관계없이 친환경적인 것처럼 마케팅하는 것을 말한다.

인디오홀덤 | 메가슬롯 구식 알고리즘을 사용하는 제품은 AI인 것과 AI가 아닌 것에 대해 보편적으로 합의된 정의가 없다는 점을 이용해 ‘AI 기반’이라는 수식어를 붙인다. 스타트업은 공개적으로 사용 가능한 생성형 AI API에 플러그인하는 앱을 개발해 AI 앱으로 마케팅한다. 대형 AI 프로젝트는 종종 뒷단에서 일하는 사람에게 의존하곤 한다. 야심찬 AI 솔루션을 실제로 작동시킬 수 있는 유일한 방법이 사람뿐이기 때문이다.

마지막 부분에 대해 더 자세히 알아보자.

AI는 결국 사람이 만드는 기술
유통 대기업 아마존은 2016년부터 ‘저스트 워크 아웃(Just Walk Out)’ 기술을 적용한 참단 기술 매장 아마존 고(Amazon Go)와 아마존 프레시(Amazon Fresh)를 44곳에서 운영하고 있다.

필자는 아마존의 이 같은 이니셔티브에 대한 글을 2017년 처음 썼다. 소비자가 매장에 들어와 진열대에서 물건을 고른 다음, 계산대에서 직원을 마주하지 않고 바로 나갈 수 있는 매장이 아마존의 비전이었다. 이런 매장에서는 센서와 카메라가 AI 기반으로 누가 무엇을 구매했는지 파악하고 그에 따라 요금을 청구한다. 모든 구매 경험이 계산 없이 이뤄진다. 절도처럼 느껴지지만, 합법적인 구매 절차다.

이런 시스템은 첨단 컴퓨터 비전으로 구동돼 고객과 고객이 집어 든 물건을 감시한다. 선반의 센서는 카메라가 감지한 품목의 종류와 개수를 확인해 꺼낸 품목의 무게를 전달하며, RFID 태그가 부착된 품목 정보도 전달된다. 고급 ML 알고리즘이 카메라와 센서의 데이터를 처리해 제품을 식별하고 특정 쇼핑객과 연결한다. 전자 출입 게이트는 누가 언제 출입하는지 파악한다. 이런 알고리즘은 수백만 개의 AI 생성 이미지와 동영상을 학습해 제품, 사람 행동 방식과 동작을 인식한다.

아마존은 7년 동안 저스트 워크 아웃 기술의 구성 요소에 대해 열심히 이야기해 왔다. 하지만 이 기능을 실제로 작동시키기 위해 고용된 1,000여 명의 인력에 대해서는 언급하기를 꺼려했고, 언론 보도가 나온 후에야 이런 직원들의 존재를 인정했다. 그 후에도 아마존은 이 직원들이 영상을 검토하지 않았다고만 말하며 구체적인 역할에 대해서는 함구했다.

1,000여 명의 직원이 매장 44곳을 모니터링하고 지원(보고서에 따르면 주문의 3/4을 확인)하고 있음에도 불구하고, 저스트 워크 아웃 기술은 영수증 발급 지연, 잘못된 주문 관리, 높은 운영 비용 등의 문제에 봉착했다. 올해 아마존은 주요 매장에서 저스트 워크 아웃 기술을 단계적으로 폐지하기로 했지만, 고객사 대상으로는 여전히 서비스를 제공하고 있다.

‘AI 뒤에 숨은 인간’을 보여주는 또 다른 예는 자율 주행 자동차 세계다. 알파벳의 웨이모(Waymo)는 직원들이 카메라를 통해 자동차를 모니터링하고 문제가 발생하면 원격으로 개입하는 NASA 스타일의 지휘 센터를 운영하고 있다. 제너럴 모터스 산하 로보택시 기업 크루즈(Cruise)는 자율 주행 택시가 평균 6~8km마다 사람의 도움이 필요하며, 각 원격 제어 세션은 평균 3초 동안 지속한다고 인정했다.

다른 자율 주행 기업들은 원격 조종사의 도움을 더 많이 받고 있다. 베이(Vay)라는 독일 기업이 최근 라스베이거스에서 시작한 원격 발렛 파킹 서비스가 대표적인 예다. 고객이 원하는 곳으로 원격으로 차를 가져다주고, 운전자는 원하는 곳으로 차를 운전한다. 목적지에 도착해 차에서 내리면 원격 근무자가 대신 주차한다.

아마존의 상점과 자율 주행 자동차는 널리 퍼진 AI 워싱을 보여주는 2가지 예다.

AI 워싱이 발생하는 이유
AI 시스템을 구축하는 고액 연봉의 고급 기술자들은 AI가 매우 복잡한 문제를 해결할 수 있다고 믿는다. 물론 이론적으로는 가능하다. 이들은 상사에게 ‘그렇게 할 수 있다’라고 말한다. 이 말은 들은 리더들은 이사회에 ‘그렇게 할 수 있다’라고 말한다. 회사의 최고 경영진은 투자자들에게 ‘그렇게 할 수 있다’라고 말한다. 마지막으로 기업은 대중에게 ‘할 수 있다’라고 한다.

하지만 한 가지 작은 문제가 있다.

대부분 기업은 거창한 주장에 대해 책임감을 느끼기 때문에 제품이나 서비스가 결정을 내리고 문제를 해결하며 ‘마법’을 부리는 데 있어 커튼 뒤의 사람에 얼마나 의존하는지를 숨긴다. 뻔뻔한 기업일수록 AI의 능력이 자신이 주장하거나 믿었던 것만큼 뛰어나지 않다는 증거에 굴하지 않고 계속해서 자신의 주장을 되풀이한다. 이와 관련해 테슬라 CEO 일론 머스크가 떠오른다.

2016년 10월, 머스크는 2017년 말까지 테슬라가 로스앤젤레스에서 뉴욕까지 완전 자율 주행을 시연할 것이라고 말했다.
2017년 4월에는 약 2년 후에는 운전자가 차량이 스스로 운전하는 동안 차 안에서 잠을 잘 수 있을 것이라고 전망했다.
2018년, 머스크는 테슬라의 완전한 자율 주행에 대한 약속을 2019년 말로 앞당겼다.
2019년 2월 머스크는 “올해 안에” 완전 자율 주행 실현을 약속했다.
2020년에는 그해 연말까지 테슬라가 100만 대 이상의 자율 주행 로보택시를 도로에 배치할 것이라고 주장했다.
올해 역시 완전 자율 주행 테슬라가 “올해 말”에 실현될 수 있다고 말했다.

그런 일은 일어나지 않을 것이다. 머스크는 자신과 고객을 속이고 있는 AI 워싱의 대표주자다.

AI 워싱의 진짜 문제
누적되는 AI 워싱은 대중과 기술 산업 모두를 잘못된 길로 인도할 수 있다. AI 워싱은 AI가 할 수 없는 일을 할 수 있다고 착각하게 만든다. AI가 모든 문제에 대한 만능 해결책이라고 생각하게 만들거나, 세계관에 따라서는 디스토피아로 가는 미끄러운 경사라고 생각하게 만든다.

AI 워싱은 품질보다는 ‘마법’에 초점을 맞춘 열등한 솔루션에 금전적인 인센티브를 제공한다. 개를 목욕시키는 호스가 “AI로 구동된다”라고 주장한다고 해서 개가 더 깨끗해지는 것은 아니다. 단지 비싼 호스가 될 뿐이다.

왜곡된 투자를 이끌어내기도 한다. 오늘날 실리콘밸리의 투자는 실제 AI와 AI 워싱 솔루션에 완전히 사로잡혀 있다. 현명한 투자자조차도 구매자의 순진함 덕분에 AI 이야기가 시장에서 팔릴 것이라는 생각에 AI 워싱의 과장이나 거짓말을 간과할 수 있다.

가장 큰 문제는 업계의 과대광고가 아니라 자기기만이다. AI 솔루션 공급업체는 인간의 도움이 수치스러운 일이라고 생각하지만, 필자는 인간의 개입이 안도감으로 받아들여질 것이라고 생각한다.

대중은 쇼핑과 운전 경험에 사람이 관여하기를 원한다. 우리에게 필요한 것은 기계가 아닌 사람이다. 지금 이 순간에도 AI가 생성한 쓰레기는 기괴하고 때로는 끔찍한 이미지와 함께 엉뚱한 산문과 거짓말로 넘쳐나고 있다. 구글은 검색 엔진을 답변 엔진으로 대체하는 데 급급해 ‘피자에 접착제를 발라야 한다’라는 결과를 만들고 있다.

대중이 진정으로 원하는 것은 사람이 만든 콘텐츠를 찾아주는 검색 엔진, 적어도 사람이 만든 콘텐츠를 선호하고 AI가 만든 콘텐츠에 레이블을 붙이는 페이지랭크(PageRank) 시스템이다.

AI 워싱 현상은 착각에 기반한다. 사람은 기계가 모든 것을 만들고 통제하기를 바란다는 착각, AI를 추가하면 무언가가 자동으로 개선될 것이라는 착각, 사람을 고용하는 것이 기술의 실패를 의미한다는 착각이다. 실제로는 그렇지 않다.

AI에 대한 망상은 이쯤에서 충분하다. 판매자는 AI에 대해 진실을 말해야 하며, 구매자는 돈을 지불하는 제품과 서비스에 포함된 AI가 실제로 유용한 기능을 수행한다는 증거를 요구해야 한다. 기술 업계, 기술 고객 커뮤니티, 기술 언론에 종사하는 모두를 대표해 필자는 AI에 대한 가스라이팅을 멈춰달라고 말하고 싶다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/opinion/343081#csidx45dfd3d8640d2e1babda5d17683d233

인디오홀덤 | 슬롯포인트게임 개발자가 고 언어를 좋아하는 8가지 이유, 그리고 싫어하는 8가지 이유

인디오홀덤 | 슬롯포인트게임 2007년, 구글의 몇몇 프로그래머가 소프트웨어를 만들기 위한 여러 옵션을 살펴봤지만 마음에 드는 것을 찾을 수 없었다. 이들은 월드 와이드 웹을 위한 데이터를 끊임없이 저장하고 전송하는 수백만 라인의 코드를 관리해야 했고 이 코드는 전 세계의 네트워크에서 수백만 개에 이르는 연결을 처리해야 했다. 데이터 경로에는 경합과 동시성에 따른 문제가 가득했다.

기존 프로그래밍 언어는 별로 도움이 되지 않았다. 기존 언어는 게임, 데스크톱 관리, 또는 웹 브라우저가 등장하기 전부터 존재했던 다른 일반적인 작업을 관리하기 위한 용도로 만들어졌다. 이러한 언어의 매끄럽지 못한 부분이 마음에 들지 않았던 구글 코더는 더 나은 방법을 고민하기 시작했다. 구글에 필요한 모든 안전과 보안을 충족하면서 단 몇 줄의 코드로 I/O 작업을 처리할 수 있는 방법이 없을까?

이 질문에 대한 답은 ‘없다’였다. 그래서 표면적으로 C 또는 자바와 비슷한 간단한 언어인 고랭(Golang)을 만들었다. 첫 공개 버전은 2009년에, 첫 1.0 버전은 2012년에 출시됐다. 구글은 지금도 고 언어에 계속 투자하고 있다. 기사 작성 시점에 최신 안정화 버전은 1.22.5다.

구글 내에서 고 언어는 인프라의 많은 부분을 움직인다. 구글 외부의 많은 프로그래머도 고를 채택했다. 고는 최근 티오베(Tiobe) 인덱스에서 상위 10개 언어에 포함됐으며 현재 8위를 차지하고 있다.

인디오홀덤 | 슬롯포인트게임 놀라운 성공은 많은 찬사를 받았지만 신랄한 비판도 따랐다. 많은 경우 똑같은 기능을 두고 비난과 칭찬이 동시에 쏟아진다. 어떤 개발자가 좋아하는 고의 특성을 또 다른 개발자는 싫어한다.

고는 배우기 쉽다
고 언어에는 복잡한 기능이나 유별난 부분이 많지 않다. 고 설계자들은 의도적으로 빠르게 배울 수 있는 언어를 만들었다. 이런저런 부가 기능을 더하는 대신 구글에서 맡은 일을 수행하는 데 필요한 최소한의 기능만 갖추도록 했다. 이 말은 좋은 아이디어라고 다 받아들이는 것이 아니라 프로그래머에게 필요한 이상적인 비전에 집중했다는 의미다.

좋아하는 이유 : 단순한 언어일수록 새로운 프로그래머와 팀원이 배우기 쉽다. 마스터해야 할 기능이나 구조의 수가 적으므로 숙련된 프로그래머라면 하루만에 어느정도 익힐 수 있다. 기존 방식에 익숙하더라도 고의 새로운 트릭을 빠르게 가르칠 수 있으므로 프로젝트 인력을 꾸리기도 더 쉽다. 뿐만 아니라 이상한 곳에 불쑥 등장하는 낯설거나 알 수 없는 구조가 없으므로 코드를 읽기도 더 쉽다.

싫어하는 이유 : 단순함이 무조건 나쁘지는 않지만 문제는 빠진 부분이다. 마녀가 축소판 주문 서적을 선택할까? 쿼터백이 소수의 플레이만 포함된 플레이북을 선택할까? 일부 프로그래머는 고를 사용한 프로그래밍이 한 손을 뒤로 묶고 코딩을 하는 것과 같다고 느낀다. 다른 언어 설계자가 세상에 내놓은 온갖 좋은 기능이 고에는 없다. 간소함을 위한 큰 대가다.

고는 인기에 영합하지 않는다
고를 처음 개발한 사람들은 작은 언어를 만들기를 원했고, 그 목표를 위해 다른 언어에서 볼 수 있는 많은 인기 있는 기능을 뺐다. 고는 간소화된 언어다. 해야 할 일을 하지만 부가적인 기능은 없다.

좋아하는 이유 : 많은 개발자가 고의 간소함을 높게 평가한다. 능숙하게 다루기 위해 수십 가지의 기능에 대한 전문 지식을 습득하거나 유지할 것을 요구하지 않는다. 코드를 읽어 내려가다가 이전에는 본 적 없는 구조를 발견하게 될 일이 없다.

싫어하는 이유 : 사람마다 좋아하는 기능과 트릭이 있지만 고에서는 그 기능을 찾을 수 없을 가능성이 높다. 개발자들은 종종 고를 사용해서 할 수 있는 일을 코볼이나 자바, 또는 선호하는 다른 언어에서 한 줄로 할 수 있다고 불평한다.

C 기반의 구문
고를 만든 사람들은 유닉스에 깊게 뿌리를 둔 사람들이다. 고의 구문은 C, 또는 자바나 C#과 같이 C를 기원으로 하는 언어를 사용해본 사람들에게는 매우 친숙하다. 이들에겐 고의 중괄호와 유형(type) 특성이 익숙하다. 전통적인 C에서 거친 부분을 다듬고 몇 가지 세부 사항을 간소화해서 더 현대적으로 만들었지만 대체로 C에서 시작된 전통을 그대로 계승한다.

좋아하는 이유 : C 스타일과 함께 성장한 프로그래머는 고의 대부분을 직관적으로 이해한다. 구문을 매우 빠르게 익힐 수 있고 C 또는 자바에서 불편했던 부분을 고에서 어떻게 정리했는지 알아보며 시간을 보낼 수 있다. 좋아하지 않을 이유가 있을까?

싫어하는 이유 : 많은 면에서 파이썬은 C와 대조되는 특성을 갖도록 설계됐다. 코드 블록을 구분하기 위한 구두점 표시가 없고 유형은 의도적으로 동적이다. 파이선의 접근법을 좋아하는 사람이라면 고에서 마음에 들지 않는 부분을 많이 발견하게 된다. 이 관점에서 보면 고를 사용한 프로그래밍은 몇 단계 후퇴한 것처럼 느껴진다.

고에는 규칙이 (너무) 많다
고를 만든 사람들은 처음부터 구문뿐만 아니라 언어의 스타일과 사용 패턴도 정의하고자 했다. 예를 들어 고 코드의 들여쓰기에 관한 논쟁을 방지하기 위해 표준 서식 라이브러리를 마련했고, 관용구 목록을 선별해서 프로그래머에게 가장 좋은 관용구를 사용하도록 장려했다. 또한 사용되지 않는 변수, 순환 종속성 등 다른 언어에서 조금 못마땅히 여기는 정도인 몇 가지 습관을 아예 명시적으로 금지했다. 고의 빌드 프로세스는 코드베이스에서 이러한 요소를 발견할 때 멈추도록 프로그램되어 있다.

좋아하는 이유 : 고의 강력한 관용적 규칙은 코드의 높은 가독성을 보장한다. 또한 각 개인의 스타일을 형성할 옵션이나 이유 자체가 적기 때문에 스타일을 두고 팀에서 논쟁이 생길 일도 적다.

싫어하는 이유 : 이 같은 모든 부가적인 규칙과 규약은 족쇄처럼 느껴진다. 사용되지 않는 변수가 왜 문제인가? 컴파일러가 탐지할 수 있다면 귀찮게 하지 않고 알아서 없애 준다. 프로그래머가 조금의 자유를 얻는 것이 그렇게 나쁜 일인가?

고의 부가적인 오류 처리
현대 프로그래밍에는 대부분 오류 발생 시 코드가 취할 부가적인 경로 구축이 포함된다. 뭔가 잘못될 때까지 코드는 정상적으로 실행된다. 오류가 발생하면 복구해야 하는데, 잠시 멈출 수도 있고 실행을 완전히 중단할 수도 있다. 자동화된 시스템을 구축하기 위해서는 정상 작동 또는 실패하는 경우를 파악하기 위한 성찰이 필요하다.

고는 새로운 접근 방식을 취해서 프로그래머에게 동일한 함수에 두 개의 경로를 작성하도록 독려한다. 모범적인 고 코드는 일반적인 접근 방식과 오류 발생 시의 대처 방법을 모두 명시한다. 고 프로그래머는 “오류는 정규값”이라고 말하곤 한다. 같은 코드의 일부이기 때문이다. 고에는 프로그래머가 더 구체적인 형태의 오류를 생성한 다음 처리 방법을 명시할 수 있게 해주는 오류를 위한 별도의 유형 시스템까지 있다.

좋아하는 이유 : 고 접근 방식은 오류의 존재를 인정하고 프로그래머가 오류 처리를 위한 계획을 세우도록 이끈다. 따라서 프로그래머는 미리 계획하고 회복탄력성을 구축해 더 나은 소프트웨어를 만들 수 있다.

싫어하는 이유 : 불필요한 오류 처리는 고 함수를 더 거추장스럽고 이해하기 어렵게 한다. 딥 체인의 모든 함수가 동일한 오류에 대해 대체로 같은 작업을 수행하는 비슷한 코드를 포함해야 하는 경우가 많다. 자바, 파이썬과 같은 다른 언어는 프로그래머에게 오류를 “잡을” 체인 위의 특정 블록으로 오류를 “던지라”고 독려한다. 결과적으로 코드가 더 깔끔해진다.

표준 라이브러리
팀을 결속시켜주는 단순하지만 강력한 표준으로 설계된 것은 고의 구문만이 아니다. 표준 라이브러리에는 웹 기반 마이크로서비스 프로그래밍에서 일반적인 많은 주요 작업을 위한 지원이 포함된다. 입력과 출력 루틴은 저수준 네트워크 패킷 처리부터 시작해서 HTTPS 프로토콜 처리나 JSON 데이터 디코딩과 같이 더 복잡한 모든 작업을 처리한다. 전체 웹 서버를 코드 몇 줄로 설정할 수 있다. 라이브러리의 “net/http” 부문에 모두 포함돼 있기 때문이다.

좋아하는 이유 : 많은 표준 기능이 기본 라이브러리로 처리되면 누구도 자기만의 버전으로 코드를 쓰거나 어느 패키지 또는 써드 파티 라이브러리가 더 나은지를 두고 논쟁할 일이 없으므로 대부분의 코드가 더 읽기 쉬워진다.

싫어하는 이유 : 이와 같이 유용한 코드 모음에 대해 불평하긴 어렵지만 까다로운 사람들은 경쟁이 수요와 혁신을 나타내는 좋은 지표임을 지적한다. 일부 언어가 동일한 작업을 처리하는 여러 개의 패키지를 지원한다는 사실은 깊은 관심과 풍성한 문화를 나타낸다.

실행 파일 크기
고 팀의 목표 중 하나는 고 프로그램을 배포하기 쉽도록 하는 것이었는데, 모든 것을 하나의 실행 파일로 묶어 그 목표를 달성했다. 모든 고의 라이브러리 루틴이 표준 빌드에 포함돼 있으므로 모든 것을 즉시 실행할 수 있다.

시간이 지나면서 수십 MB에서 크게는 수백 MB에 이르는 실행 파일을 좋아하지 않는 개발자들이 불필요한 부분을 없애는 방법을 찾아냈다. 적절한 플래그를 설정하고 빌드 프로세스에 부가적인 단계를 포함해야 하므로 할 일이 조금 더 많지만 어쨌든 가능하다.

좋아하는 이유 : 디스크 공간은 저렴하다. 다양한 버전의 라이브러리가 설치되어 있는 경우 잘 모르는 여러 위치에 코드를 배포하는 것은 고역일 수 있다. 고 개발자들이 하나의 실행 파일을 빌드한 덕분에 엄청나게 많은 시간을 절약할 수 있다.

싫어하는 이유 : 디스크 안에 고 라이브러리의 복사본이 몇 개일까? 100개의 프로그램이 있다면 라이브러리 복사본도 100개가 있다는 뜻이다. 어느 시점이 되면 효율성이 문제가 된다. 물론 지금 디스크 공간의 비용이 어느 때보다 저렴하지만 메모리 대역폭과 캐싱은 실행 속도에서 여전히 주요 문제다.

든든한 후원자 구글
고랭은 구글에서 개발됐고, 구글은 지금도 여전히 고의 주 후원사 중 하나로 컴파일러와 툴체인의 대부분을 제공하고 있다. 구글 외에 고를 자바스크립트로 바꿔주는 트랜스파일러인 고퍼JS(GopherJS)도 있다. 그러나 고 개발 작업의 대부분은 구글 내부에서 이뤄진다.

좋아하는 이유 : 현대의 작업에서는 서버와 클라이언트를 위한 코드 작성이 차지하는 비중이 크다. 이는 구글 워크로드에서도 마찬가지로 큰 부분을 차지한다. 즉, 고가 구글에 유용하다면 같은 방식으로 작업하는 다른 사람들에게도 유용하다. 구글 엔지니어들이 자신의 마음에 들게 무언가를 만들었다면 비슷한 프로젝트를 하는 다른 사람들의 마음에도 들 수밖에 없다.

싫어하는 이유 : 사람들이 구글을 싫어하는 것이 아니다. 프로그래머는 중앙에 집중된 권한을 신뢰하지 않는다. 벤더 종속, 통제력 상실과 같은 문제는 기술 스택을 조율하는 누구에게나 심각한 문제다. 구글의 관대한 정책에도 불구하고, 특히 방대한 오픈소스 커뮤니티가 구축되어 있는 다른 언어를 선택할 수 있는 상황인 만큼 프로그래머는 여전히 구글에 대한 경계심을 늦추지 않고 있다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/topnews/343970#csidx8637336715261388f048ef08f7791ae

“인디오홀덤 | 오마하게임 API를 위한 유연한 쿼리 언어” 그래프QL 제대로 시작하기

인디오홀덤 | 오마하게임 페이스북이 개발해 모두가 사용할 수 있도록 오픈소스 표준으로 공개한 그래프QL(GraphQL)은 REST API의 대안을 표방한다. 그래프QL은 REST와 마찬가지로 웹 기반 API를 만들고 소비하는 방법을 제공하지만, 쿼리와 반환된 데이터는 형식 스키마와 유형 시스템을 사용해 일관성을 보장한다.

여기서는 그래프QL API 설계와 구현의 기본 사항을 살펴보고 여러 가지 주요 고려 사항과 이 과정에서 내리게 되는 의사 결정에 대해 알아본다.

인디오홀덤 | 오마하게임 그래프QL 언어와 프레임워크
웹 애플리케이션 API로 그래프QL을 사용할 계획이라면 이미 사용 중인 언어 및 데이터 구성요소가 이를 지원할 가능성이 높다. 그래프QL 라이브러리는 프로덕션에 사용되는 거의 모든 주요 언어에 제공된다. 클라이언트는 C#/닷넷, 고, 자바, 안드로이드, 자바스크립트, 스위프트/오브젝티브 C, 파이썬용으로 제공되며 서버 라이브러리는 그보다 더욱 광범위하게 지원된다.

완전히 새로 시작한다 해도 다른 프로젝트에서 가장 익숙한 언어와 런타임, 데이터 계층을 선택하는 것이 최선이다. 그래프QL은 서버나 클라이언트에 많은 제약을 두지 않으며 데이터베이스를 가리지 않는다. 다만 데이터 계층에 따라 얼마간의 수동 통합이 필요할 수는 있다. (이 부분에 대해서는 다음 섹션에서 더 자세히 살펴본다.)

인디오홀덤 | 오마하게임 여기서는 참고용으로 그래프QL의 파이썬 구현을 사용한다. 개념과 기능은 다른 언어에서도 대체로 동일하다.

그래프QL의 데이터 쿼리 스키마
그래프QL은 다양한 계층 구조의 강한 유형의 필드에서 구성된 쿼리를 받는다. 그래프QL API를 만들 때 가장 잘 생각해야 하는 부분은 쿼리에 제공할 스키마다.

많은 경우 쿼리 필드를 기반 데이터 소스에 일 대 일로 매핑해서 쿼리를 위해 데이터베이스(또는 다른 데이터 소스)의 모든 관련 필드를 노출할 수 있다. 그래프QL 쿼리는 REST 쿼리에 비해 훨씬 더 제약이 없고 다양할 수 있으므로 처음부터 쿼리 가능한 필드와 이러한 필드를 데이터베이스에 매핑할 계획을 세워야 한다.

예를 들어, 영화를 위한 데이터베이스 테이블이 있고 이 테이블에 title과 year(정수)가 있다면 다음과 같은 그래프QL을 사용할 수 있다.

type Character {
title: String!
year: Int
}

String 뒤에 나오는 !는 필드가 필수임을 의미하므로, 이 쿼리를 수행하려면 최소한 제목은 필요할 것이다.

또한 그래프QL을 통해 노출하는 필드가 기반 데이터와 정확히 일치하는 유형을 사용하도록 해야 한다. 예를 들어 그래프QL에는 기본 “date” 또는 “datetime” 데이터 유형이 없다. 사용 가능한 구현이 매우 다양하다는 것이 주된 이유다. 날짜 범위에 따른 검색을 허용하려면 API를 통해 가져온 날짜의 서식을 강제하고, 쿼리할 때 이러한 날짜 요청이 백엔드 데이터베이스에 적절한 유형으로 변환되도록 해야 한다.

사용 중인 프레임워크에 따라 이 작업이 이미 이뤄졌을 수도 있다. 파이썬에서 인기 있는 그래프QL 라이브러리인 그래핀(Graphene)은 ISO-8601 형식의 날짜-시간 값을 유형 네이티브로 제공하므로 직접 처리할 필요가 없다.

인디오홀덤 | 오마하게임 데이터 집합에 많은 필드가 있다면 복잡한 유형 강제가 불필요한 최소 기능 하위 집합을 노출하는 것부터 시작한다(예를 들어, 간단한 문자열 또는 숫자 쿼리). 그런 다음 사용 중인 그래프QL 커넥터를 통해 쿼리를 구현하는 방법을 파악하면서 사용 가능한 필드를 점진적으로 확대할 수 있다.

그래프QL 데이터 저장과 검색
백엔드에 데이터를 저장하고 검색하려면 일반적으로 사용 중인 언어의 그래프QL 라이브러리에서 지원하는 미들웨어를 사용한다.

많은 경우 일반적인 애플리케이션 프레임워크의 데이터 계층을 통해 그래프QL이 이 작업을 수행하도록 할 수 있다. 예를 들어 파이썬의 그래프QL용 그래핀 라이브러리는 장고(Django) 웹 프레임워크와 함께 장고의 내장된 ORM을 지원한다. 그래핀은 SQL알케미(SQLAlchemy) ORM을 지원하며, 인기 있는 스탈렛(Starlette)과 패스트API(FastAPI) 프레임워크에 대한 지원도 추가됐다. 또한 구글 앱 엔진의 데이터 커넥터, 릴레이 자바스크립트 프레임워크(리액트에 사용됨)와 상호운용이 가능하다.

이런 구성요소에 의해 기술되지 않은 데이터 계층을 사용하는 경우 그래핀의 미들웨어와 DataLoader 객체를 사용해 빈 틈을 채울 수 있다. 이 둘은 데이터 계층에 필요한 통합을 수동으로 연결할 수 있게 해준다. DataLoader를 사용하면 관련 데이터에 대한 여러 개의 통시 요청을 합쳐서 백엔드를 오가는 횟수를 줄일 수 있다.

한편 이 중 어느 것도 애플리케이션의 아무 계층에서 직접 캐싱을 수행하는 것을 막지는 않는다. 예를 들어 반환하는 응답은 프록시를 사용하여 캐시할 수 있고, 백엔드 데이터는 멤캐시드(Memcached) 또는 레디스를 사용해 캐시할 수 있다. 다만 데이터가 변경될 때마다 이러한 캐시를 비우는 작업도 직접 챙겨야 한다.

인디오홀덤 | 오마하게임 그래프QL 쿼리와 뮤테이션
그래프QL은 “뮤테이션(mutation) 쿼리”라고 하는 특정 쿼리 형식을 사용해서 데이터 집합에서 요소를 생성, 업데이트하거나 삭제한다. 이러한 쿼리가 작동하는 방식, 즉 어느 쿼리를 허용하고 어느 필드를 요구할지 뿐만 아니라 뮤테이션 후 쿼리에서 어떤 데이터를 반환할지에 대해서도 잠시 생각해 보자.

뮤테이션 쿼리를 설계할 때 원하는 수만큼의 출력 필드를 반환하도록 허용할 수 있다. 그러나 응답 객체를 한두 계층 이상으로 중첩하는 것은 대체로 좋은 생각이 아니다. 그렇게 하면 쿼리 자체를 볼 때, 그리고 결과를 처리하기 위한 코드를 작성할 때 모두 결과를 구문 분석하기가 어렵기 때문이다.

또 다른 중요한 주의 사항은 오랜 REST API 설계 습관이 뮤테이션 쿼리 작성 방식에 영향을 미치지 않도록 하는 것이다. 예를 들어 동일한 객체에 대한 여러 종류의 변경을 처리하기 위해 여러 뮤테이션 쿼리를 만드는 대신(REST에서 일반적인 패턴) 하나의 뮤테이션 쿼리로 통합할 수 있다. 이를 위한 한 가지 방법은 이 예제의 “upvote/downvote”와 같이 별도의 비선택적 필드를 사용해서 가능한 각 작업을 기록하는 것이다.

또 다른 방법은 값 필드와 열거형을 함께 사용해서 이 값으로 원하는 동작을 기술하는 것이다. 열거형의 한 가지 큰 장점은 모호하지 않은 명확성이다. 즉, 열거형을 사용해서 정확하게 의도를 반영할 수 있으므로 고도의 자체 문서화가 가능하다. 어느 언어든 언어의 그래프QL 라이브러리는 대부분 언어 자체의 개념 구현과 일치하는 열거형을 사용할 방법을 제공한다. 예를 들어 파이썬용 그래핀의 그래프QL 열거형은 파이썬 표준 라이브러리 enum 클래스와 상당히 비슷해 보일 수 있다.

그래프QL 캐싱과 성능 가속화
내부적으로 그래프QL 쿼리는 다른 쿼리와 마찬가지로 데이터를 폴링하고 검색한다. 즉, API 쿼리 속도를 높이기 위해 사용되는 많은 방법을 똑같이 사용해서 가속화할 수 있다.

캐싱 : 데이터베이스를 백엔드로 두거나 프론트엔드에서 데이터를 반환하는 모든 서비스는 두 끝단 모두에서 캐싱을 통한 이점을 얻을 수 있다. 단, 이러한 캐시의 만료에 대한 책임은 여러분 각자에게 있음을 유의해야 한다. 따라서 앞서 그래핀용으로 설명한 것과 같은 그래프QL 프레임워크의 미들웨어 후크를 사용해서 만료를 트리거해야 할 수 있다. 가능한 고유 식별자를 사용해서 클라이언트 측 캐싱을 지원하는 것이 좋다.
커서와 페이지 매김 : 클라이언트와 서버의 과부하를 방지하기 위해서는 요청에 한 번에 반환하는 레코드의 수에 대한 기본 상한선이 필요하다. 또한 클라이언트가 반환할 레코드의 최대 수와 요청할 레코드의 “페이지”를 명시적으로 기술하도록 허용하는 것이 좋다. 공식 그래프QL 문서에서 그래프QL 요청 형식에 페이지 매김 메타포를 통합하는 방법에 관한 몇 가지 유용한 팁을 볼 수 있다.

그래프QL 툴
다양한 언어용으로 제공되는 라이브러리 외에, 그래프QL에는 클라이언트, 서버, 스키마, 쿼리 처리 계층을 더 쉽게 개발하기 위한 다음과 같은 다양한 네이티브 및 서드파티 툴이 있다.

인디오홀덤 | 오마하게임 아폴로 그래프QL(Apollo GraphQL)은 그래프QL 클라이언트와 그래프QL 서버를 포함한 그래프QL을 위한 오픈소스 툴을 만드는 데 전력한다. 또한 아플로 그래프QL은 그래프QL 스키마를 생성 및 모킹하고 여러 API를 하나의 API로 “이어 붙이기” 위한 일련의 유틸리티인 그래프QL 툴도 유지관리하면서 여러 API 엔드포인트를 통합하고 관리 편의성을 높인다는 그래프QL의 목표를 추구한다.
기존 스웨거(Swagger) 생성 API를 그래프QL로 이식하려는 경우 스웨거2그래프QL(Swagger2GraphQL)을 사용하면 된다. 또한 이 툴은 레거시 스웨거 생성 API를 함께 유지하도록 허용하므로 전환 기간 동안 두 가지 표준을 모두 사용할 수 있다.
마지막으로, 페이스북 자체 그래프QL 그룹도 몇 가지 주목할 만한 툴을 만들었다. 그래피QL(GraphiQL)은 그래프QL 쿼리를 생성하기 위한 브라우저 내 IDE다. 내부적으로 또는 공개 솔루션으로 사용 가능하다. 그래프QL의 자바스크립트 구현인 그래프QL 오버 HTTP(GraphQL-over-HTTP) 서버 및 클라이언트 제품군, 그리고 IDE를 위한 그래프QL 언어 서비스도 있다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/topnews/343305#csidxd2c0d78f2d7c483ae707bb313070268

인디오홀덤 | 슬롯게임 코파일럿 런타임 백터 검색의 핵심” DiskANN 기초지식 다지기

인디오홀덤 | 슬롯게임 윈도우용 마이크로소프트 코파일럿 런타임(Copilot Runtime) 엣지 AI 개발 플랫폼의 주요 구성요소 중 하나는 DiskANN(Disk Accelerated Nearest Neighbors)이라는 새로운 벡터 검색 기술이다. 마이크로소프트 리서치의 장기 프로젝트를 기반으로 하는 DiskANN은 애플리케이션 내에 벡터 인덱스를 구축하고 관리하는 방법이다. 인메모리 및 디스크 저장을 함께 사용해서 메모리 내의 양자화된 벡터 그래프를 디스크의 고정밀 그래프에 매핑한다.

DiskANN이란?
정확히 똑같다고는 할 수 없지만 DiskANN은 SQL라이트와 같은 툴의 벡터 인덱스 버전이라고 생각하면 된다. 코드에 추가하면 코파일럿 런타임의 파이 실리카(Phi Silica)와 같은 SLM(Small Language Model)의 시맨틱 임베딩으로 구성된 벡터 인덱스를 간편하게 검색할 수 있다.

인디오홀덤 | 슬롯게임 DiskANN은 데이터베이스가 아니라, 벡터 검색을 지원하도록 설계되지 않은 다른 저장소에 벡터 인덱스를 추가하기 위한 툴로 제공되는 일련의 알고리즘이라는 것을 이해하는 것이 중요하다. 따라서 DiskANN은 관계형이든 NoSQL 키 값 저장소든 상관없이 다른 임베디드 저장소의 이상적인 동반자라고 할 수 있다.

인메모리 및 디스크 저장을 위한 요구사항은 이전 윈도우 기본 메모리보다 2배 많은 메모리와 더 크고 빠른 SSD가 필요한 코파일럿+ PC의 하드웨어 사양을 이해하는 데 도움이 된다. CPU 요구사항은 다른 벡터 검색 알고리즘에 비해 낮아서, 애저 서비스에서 대규모로 구현할 경우 기존 방법에서 사용하는 CPU의 5%만 있으면 된다.

인덱싱되는 데이터를 위한 별도의 저장소가 필요하다. 인덱스와 임베딩 소스, 두 가지에 별도의 저장소를 둘 경우 그 자체의 문제점도 있다. 개인 식별 정보를 비롯한 규제 대상 데이터를 다루는 경우 소스 데이터의 암호화를 간과하면 안 된다. 이로 인해 쿼리에 오버헤드가 추가될 수 있는데, 흥미로운 점은 마이크로소프트가 보관 중인 데이터와 사용 중인 데이터를 모두 암호화해서 PII 유출 또는 맬웨어에 의한 프롬프트 조작 위험을 낮출 수 있는 소프트웨어 기반 보안 인클레이브를 개발 중이라는 것이다.

인디오홀덤 | 슬롯게임 DiskANN은 바마나(Vamana) 그래프 인덱스를 사용해서 근사 최근접 이웃 검색을 구현한다. 자주 변경되는 데이터를 다루도록 설계됐으므로 로컬 파일, 또는 이메일이나 팀즈(Teams) 채팅 등 마이크로소프트 365와 같은 서비스에 보관된 데이터를 인덱싱해야 하는 에이전트형 AI 애플리케이션에 유용하다.

diskannpy 파이썬 구현 형태로 제공되는 유용한 퀵스타트가 있다. diskannpy는 인덱싱 구축과 검색을 위한 클래스를 제공한다. 넘파이(NumPy)와 같은 수치 분석 파이썬 라이브러리를 사용해서 인덱스를 구축하고 사용해서 기존 데이터 과학 툴에 연결할 수 있는 옵션도 제공된다. 또한 인덱스를 중심으로 애플리케이션을 구축하기 전에 비주얼 스튜디오 코드에서 주피터(Jupyter) 노트북을 사용해서 인덱스를 테스트할 수 있다. 프로토타이핑에 노트북 기반 접근 방식을 사용하면 SLM 기반 애플리케이션의 요소를 개별적으로 개발해서 셀 간에 결과를 전달할 수 있다.

먼저 2개의 인덱스 빌더(Index Builder) 클래스 중 하나를 사용해서 넘파이 배열 또는 DiskANN 형식 벡터 파일의 내용으로 하이브리드 또는 인메모리 벡터 인덱스를 구축한다. diskannpy 라이브러리에는 배열에서 이 파일을 구축하기 위한 툴이 포함돼 있으므로 인덱스에 신속하게 임베딩을 추가할 수 있다. 인덱스 파일은 지정된 디렉터리에 저장되어 검색이 가능하다. 그 외에 인덱스를 업데이트하고 동적인 작업을 지원할 수 있는 기능이 있다.

검색은 간단한 클래스로, 검색 임베딩이 포함된 쿼리 배열과 함께 반환할 이웃의 수와 목록의 복잡성을 정의하는 매개변수가 있다. 목록이 클수록 결과를 제공하는 데 더 오랜 시간이 걸리지만 더 정확하다. 정확성과 지연 사이에서 절충해야 하므로 최종 코드를 커밋하기 전에 실험이 필요하다. 그 외에 쿼리를 일괄 처리해서 성능을 개선할 수 있는 옵션이 있다. 인덱스의 복잡성, 검색에 사용되는 거리 척도의 유형을 정의할 수 있다. 복잡성과 그래프 도수의 값은 클수록 좋지만 결과 인덱스를 생성하는 데 그만큼 더 오랜 시간이 걸린다.

인디오홀덤 | 슬롯게임 diskannpy는 DiskANN 사용 방법을 익히기에 유용한 툴이다. 코파일럿 런타임이 발전하게 되면 아마 마이크로소프트는 코스모스 DB의 경우와 비슷한, 높은 수준의 추상화를 위한 일련의 래퍼를 제공할 것이다. 초기 코파일럿 런타임 발표를 보면 이 부분이 어떻게 작동할지에 대한 힌트가 있고, 검색 증강 생성(RAG) 기반 애플리케이션을 구축하는 데 사용되는 벡터 임베딩 API에 대한 언급이 나온다. 이는 코파일럿 런타임 업데이트를 통해 구현될 계획이다.

왜 DiskANN인가?
해당 프로젝트의 깃허브 리포지토리를 살펴보면 마이크로소프트가 코파일럿 런타임의 기본 기술 중 하나로 DiskANN을 선택한 이유를 쉽게 알 수 있다. DiskANN은 SSD와 인메모리 작업에 모두 최적화되며 많은 데이터를 경제적으로 인덱싱하는 하이브리드 접근 방식을 제공한다. 초기 마이크로소프트 리서치에서 발표한 DiskANN 논문에 따르면 하이브리드 SSD/RAM 인덱스는 대등한 순수 인메모리 알고리즘에 비해 5~10배 더 많은 벡터를 인덱싱할 수 있고, 약 10억 개의 벡터를 높은 검색 정확성과 5ms의 지연으로 처리할 수 있다.

물론 실제 엣지에 호스팅되는 SLM 애플리케이션이 그 정도로 많은 데이터를 인덱싱해야 하는 경우는 드물고, 따라서 성능과 정확성은 더 높을 것이다.

SLM에서 시맨틱 AI 애플리케이션을 구축하는 경우 처리량에 집중하면서 각 작업에 적은 수의 토큰을 사용해야 한다. RAG 애플리케이션을 위한 근거에 기초한 프롬프트를 구축하는 데 필요한 검색을 최대한 빠르게 유지할 수 있다면 간단한 답을 얻기 위해 기다려야 하는 사용자들의 불편을 줄일 수 있다.

시작 시점에 인메모리 인덱스를 로드하면 검색을 간소화해서 애플리케이션이 SLM을 위한 근거에 기초한 프롬프트를 구축하는 데 필요할 때만 소스 데이터에 액세스하도록 할 수 있다. 한 가지 유용한 옵션은 검색에 필터를 추가해서 결과를 정제하고 애플리케이션에 더 정확한 근거를 제공하는 기능이다.

지금은 코파일럿 런타임의 초기인 만큼 퍼즐을 완성하기 위해 필요한 조각 일부가 아직 없다. DiskANN 인덱스를 사용하기 위한 한 가지 필수 요소는 소스 데이터를 벡터 임베딩으로 인코딩하기 위한 툴이다. 이는 코드의 일부로, 또는 애플리케이션에 기본 벡터 인덱스 집합을 제공하기 위해 벡터 검색을 구축하는 데 필요하다.

인디오홀덤 | 슬롯게임 다른 곳에서 볼 수 있는 DiskANN
코파일럿 런타임 외에 마이크로소프트는 코스모스 DB에 빠른 벡터 검색을 추가하기 위한 용도로도 DiskANN을 사용한다. 또한 마이크로소프트 365와 빙 서비스에도 DiskANN이 사용된다. 코스모스 DB에서는 고도로 분산된 대량의 데이터로 작업할 가능성이 높은 노SQL API에 벡터 검색을 추가하고 있다. DiskANN은 빠르게 변화하는 데이터를 지원하고, 이것이 코스모스 DB의 동적 확장과 함께 작동하면서 각각의 새로운 파티션에 새 인덱스를 추가한다. 그러면 사용 가능한 모든 파티션 인덱스에 병렬로 쿼리를 전달할 수 있다.

마이크로소프트 리서치는 꽤 오래 전부터 DiskANN과 같은 툴을 연구하고 있는데, 순수한 연구가 실제 제품(특히 코스모스 DB와 윈도우처럼 광범위하게 사용되는 제품)까지 이어지는 것은 반가운 일이다. 코파일럿 런타임의 일부로 빠르고 정확한 벡터 인덱스를 사용할 수 있으면 생성형 AI와 관련된 위험을 낮추고 인덱스를 PC에 유지해서 소스 데이터를 비공개로 유지하고 SLM의 근거를 확보할 수 있다. 여기에 윈도우의 기밀 컴퓨팅 기법을 결합한 마이크로소프트는 사용자 자체 디바이스에서 안전한 비공개 AI를 제공할 준비가 된 것으로 보인다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/topnews/343494#csidxd96b64408e976f491cfecfd2f92e18a

유저를 위한 유연한 쿼리 언어” 그래프QL 제대로 시작하기

인디오홀덤 | 슬롯게임 페이스북이 개발해 모두가 사용할 수 있도록 오픈소스 표준으로 공개한 그래프QL(GraphQL)은 REST API의 대안을 표방한다. 그래프QL은 REST와 마찬가지로 웹 기반 API를 만들고 소비하는 방법을 제공하지만, 쿼리와 반환된 데이터는 형식 스키마와 유형 시스템을 사용해 일관성을 보장한다.

여기서는 그래프QL API 설계와 구현의 기본 사항을 살펴보고 여러 가지 주요 고려 사항과 이 과정에서 내리게 되는 의사 결정에 대해 알아본다.

인디오홀덤 | 슬롯게임 그래프QL 언어와 프레임워크
웹 애플리케이션 API로 그래프QL을 사용할 계획이라면 이미 사용 중인 언어 및 데이터 구성요소가 이를 지원할 가능성이 높다. 그래프QL 라이브러리는 프로덕션에 사용되는 거의 모든 주요 언어에 제공된다. 클라이언트는 C#/닷넷, 고, 자바, 안드로이드, 자바스크립트, 스위프트/오브젝티브 C, 파이썬용으로 제공되며 서버 라이브러리는 그보다 더욱 광범위하게 지원된다.

완전히 새로 시작한다 해도 다른 프로젝트에서 가장 익숙한 언어와 런타임, 데이터 계층을 선택하는 것이 최선이다. 그래프QL은 서버나 클라이언트에 많은 제약을 두지 않으며 데이터베이스를 가리지 않는다. 다만 데이터 계층에 따라 얼마간의 수동 통합이 필요할 수는 있다. (이 부분에 대해서는 다음 섹션에서 더 자세히 살펴본다.)

여기서는 참고용으로 그래프QL의 파이썬 구현을 사용한다. 개념과 기능은 다른 언어에서도 대체로 동일하다.

그래프QL의 데이터 쿼리 스키마
그래프QL은 다양한 계층 구조의 강한 유형의 필드에서 구성된 쿼리를 받는다. 그래프QL API를 만들 때 가장 잘 생각해야 하는 부분은 쿼리에 제공할 스키마다.

많은 경우 쿼리 필드를 기반 데이터 소스에 일 대 일로 매핑해서 쿼리를 위해 데이터베이스(또는 다른 데이터 소스)의 모든 관련 필드를 노출할 수 있다. 그래프QL 쿼리는 REST 쿼리에 비해 훨씬 더 제약이 없고 다양할 수 있으므로 처음부터 쿼리 가능한 필드와 이러한 필드를 데이터베이스에 매핑할 계획을 세워야 한다.

예를 들어, 영화를 위한 데이터베이스 테이블이 있고 이 테이블에 title과 year(정수)가 있다면 다음과 같은 그래프QL을 사용할 수 있다.

type Character {
title: String!
year: Int
}

String 뒤에 나오는 !는 필드가 필수임을 의미하므로, 이 쿼리를 수행하려면 최소한 제목은 필요할 것이다.

인디오홀덤 | 슬롯게임 또한 그래프QL을 통해 노출하는 필드가 기반 데이터와 정확히 일치하는 유형을 사용하도록 해야 한다. 예를 들어 그래프QL에는 기본 “date” 또는 “datetime” 데이터 유형이 없다. 사용 가능한 구현이 매우 다양하다는 것이 주된 이유다. 날짜 범위에 따른 검색을 허용하려면 API를 통해 가져온 날짜의 서식을 강제하고, 쿼리할 때 이러한 날짜 요청이 백엔드 데이터베이스에 적절한 유형으로 변환되도록 해야 한다.

사용 중인 프레임워크에 따라 이 작업이 이미 이뤄졌을 수도 있다. 파이썬에서 인기 있는 그래프QL 라이브러리인 그래핀(Graphene)은 ISO-8601 형식의 날짜-시간 값을 유형 네이티브로 제공하므로 직접 처리할 필요가 없다.

데이터 집합에 많은 필드가 있다면 복잡한 유형 강제가 불필요한 최소 기능 하위 집합을 노출하는 것부터 시작한다(예를 들어, 간단한 문자열 또는 숫자 쿼리). 그런 다음 사용 중인 그래프QL 커넥터를 통해 쿼리를 구현하는 방법을 파악하면서 사용 가능한 필드를 점진적으로 확대할 수 있다.

그래프QL 데이터 저장과 검색
백엔드에 데이터를 저장하고 검색하려면 일반적으로 사용 중인 언어의 그래프QL 라이브러리에서 지원하는 미들웨어를 사용한다.

많은 경우 일반적인 애플리케이션 프레임워크의 데이터 계층을 통해 그래프QL이 이 작업을 수행하도록 할 수 있다. 예를 들어 파이썬의 그래프QL용 그래핀 라이브러리는 장고(Django) 웹 프레임워크와 함께 장고의 내장된 ORM을 지원한다. 그래핀은 SQL알케미(SQLAlchemy) ORM을 지원하며, 인기 있는 스탈렛(Starlette)과 패스트API(FastAPI) 프레임워크에 대한 지원도 추가됐다. 또한 구글 앱 엔진의 데이터 커넥터, 릴레이 자바스크립트 프레임워크(리액트에 사용됨)와 상호운용이 가능하다.

이런 구성요소에 의해 기술되지 않은 데이터 계층을 사용하는 경우 그래핀의 미들웨어와 DataLoader 객체를 사용해 빈 틈을 채울 수 있다. 이 둘은 데이터 계층에 필요한 통합을 수동으로 연결할 수 있게 해준다. DataLoader를 사용하면 관련 데이터에 대한 여러 개의 통시 요청을 합쳐서 백엔드를 오가는 횟수를 줄일 수 있다.

인디오홀덤 | 슬롯게임 한편 이 중 어느 것도 애플리케이션의 아무 계층에서 직접 캐싱을 수행하는 것을 막지는 않는다. 예를 들어 반환하는 응답은 프록시를 사용하여 캐시할 수 있고, 백엔드 데이터는 멤캐시드(Memcached) 또는 레디스를 사용해 캐시할 수 있다. 다만 데이터가 변경될 때마다 이러한 캐시를 비우는 작업도 직접 챙겨야 한다.

그래프QL 쿼리와 뮤테이션
그래프QL은 “뮤테이션(mutation) 쿼리”라고 하는 특정 쿼리 형식을 사용해서 데이터 집합에서 요소를 생성, 업데이트하거나 삭제한다. 이러한 쿼리가 작동하는 방식, 즉 어느 쿼리를 허용하고 어느 필드를 요구할지 뿐만 아니라 뮤테이션 후 쿼리에서 어떤 데이터를 반환할지에 대해서도 잠시 생각해 보자.

뮤테이션 쿼리를 설계할 때 원하는 수만큼의 출력 필드를 반환하도록 허용할 수 있다. 그러나 응답 객체를 한두 계층 이상으로 중첩하는 것은 대체로 좋은 생각이 아니다. 그렇게 하면 쿼리 자체를 볼 때, 그리고 결과를 처리하기 위한 코드를 작성할 때 모두 결과를 구문 분석하기가 어렵기 때문이다.

또 다른 중요한 주의 사항은 오랜 REST API 설계 습관이 뮤테이션 쿼리 작성 방식에 영향을 미치지 않도록 하는 것이다. 예를 들어 동일한 객체에 대한 여러 종류의 변경을 처리하기 위해 여러 뮤테이션 쿼리를 만드는 대신(REST에서 일반적인 패턴) 하나의 뮤테이션 쿼리로 통합할 수 있다. 이를 위한 한 가지 방법은 이 예제의 “upvote/downvote”와 같이 별도의 비선택적 필드를 사용해서 가능한 각 작업을 기록하는 것이다.

또 인디오홀덤 | 슬롯게임 다른 방법은 값 필드와 열거형을 함께 사용해서 이 값으로 원하는 동작을 기술하는 것이다. 열거형의 한 가지 큰 장점은 모호하지 않은 명확성이다. 즉, 열거형을 사용해서 정확하게 의도를 반영할 수 있으므로 고도의 자체 문서화가 가능하다. 어느 언어든 언어의 그래프QL 라이브러리는 대부분 언어 자체의 개념 구현과 일치하는 열거형을 사용할 방법을 제공한다. 예를 들어 파이썬용 그래핀의 그래프QL 열거형은 파이썬 표준 라이브러리 enum 클래스와 상당히 비슷해 보일 수 있다.

그래프QL 캐싱과 성능 가속화
내부적으로 그래프QL 쿼리는 다른 쿼리와 마찬가지로 데이터를 폴링하고 검색한다. 즉, API 쿼리 속도를 높이기 위해 사용되는 많은 방법을 똑같이 사용해서 가속화할 수 있다.

캐싱 : 데이터베이스를 백엔드로 두거나 프론트엔드에서 데이터를 반환하는 모든 서비스는 두 끝단 모두에서 캐싱을 통한 이점을 얻을 수 있다. 단, 이러한 캐시의 만료에 대한 책임은 여러분 각자에게 있음을 유의해야 한다. 따라서 앞서 그래핀용으로 설명한 것과 같은 그래프QL 프레임워크의 미들웨어 후크를 사용해서 만료를 트리거해야 할 수 있다. 가능한 고유 식별자를 사용해서 클라이언트 측 캐싱을 지원하는 것이 좋다.
커서와 페이지 매김 : 클라이언트와 서버의 과부하를 방지하기 위해서는 요청에 한 번에 반환하는 레코드의 수에 대한 기본 상한선이 필요하다. 또한 클라이언트가 반환할 레코드의 최대 수와 요청할 레코드의 “페이지”를 명시적으로 기술하도록 허용하는 것이 좋다. 공식 그래프QL 문서에서 그래프QL 요청 형식에 페이지 매김 메타포를 통합하는 방법에 관한 몇 가지 유용한 팁을 볼 수 있다.

그래프QL 툴
다양한 언어용으로 제공되는 라이브러리 외에, 그래프QL에는 클라이언트, 서버, 스키마, 쿼리 처리 계층을 더 쉽게 개발하기 위한 다음과 같은 다양한 네이티브 및 서드파티 툴이 있다.

인디오홀덤 | 슬롯게임 아폴로 그래프QL(Apollo GraphQL)은 그래프QL 클라이언트와 그래프QL 서버를 포함한 그래프QL을 위한 오픈소스 툴을 만드는 데 전력한다. 또한 아플로 그래프QL은 그래프QL 스키마를 생성 및 모킹하고 여러 API를 하나의 API로 “이어 붙이기” 위한 일련의 유틸리티인 그래프QL 툴도 유지관리하면서 여러 API 엔드포인트를 통합하고 관리 편의성을 높인다는 그래프QL의 목표를 추구한다.
기존 스웨거(Swagger) 생성 API를 그래프QL로 이식하려는 경우 스웨거2그래프QL(Swagger2GraphQL)을 사용하면 된다. 또한 이 툴은 레거시 스웨거 생성 API를 함께 유지하도록 허용하므로 전환 기간 동안 두 가지 표준을 모두 사용할 수 있다.
마지막으로, 페이스북 자체 그래프QL 그룹도 몇 가지 주목할 만한 툴을 만들었다. 그래피QL(GraphiQL)은 그래프QL 쿼리를 생성하기 위한 브라우저 내 IDE다. 내부적으로 또는 공개 솔루션으로 사용 가능하다. 그래프QL의 자바스크립트 구현인 그래프QL 오버 HTTP(GraphQL-over-HTTP) 서버 및 클라이언트 제품군, 그리고 IDE를 위한 그래프QL 언어 서비스도 있다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/topnews/343305#csidxf92b6337697ce1984468c347c5d3123

게임써 노바 HD 리뷰 | 저예산 컨트롤러 시장에 도전장을 내밀다

컨트롤러는 비싸다. 적어도 콘솔용 퍼스트 파티 게임 패드나 사실상 PC용 표준인 마이크로소프트의 엑스박스 컨트롤러를 고집한다면 언제나 그랬다. 게임써의 노바 HD는 이런 트렌드를 바꾸고자 한다.

실제로도 성공한 듯하다. 사실 노바 HD는 일반 콘솔 컨트롤러에서 찾아볼 수 없는 몇 가지 기능을 갖추고 있을 뿐 아니라 멀티 플랫폼을 지원해 PC, 모바일 기기, 닌텐도 스위치 사이를 쉽게 전환할 수 있다. 또한 닌텐도가 고집하는 이상한 레이아웃에 맞춰 조정해야 하는 다른 컨트롤러와 달리 노바 HD는 드라이버 소프트웨어 없이도 표준 버튼과 닌텐도 페이스 버튼을 즉시 전환할 수 있다.

‘프리미엄’ 컨트롤러의 그립감과 마감은 아니지만 추가 기능, 특히 레이아웃 교체 옵션과 홀 효과 아날로그 스틱은 예산을 절약하려는 모든 사람에게 게임써의 옵션이 훌륭한 경쟁자임을 의미한다. 35달러(약 4만 9,000원)에 아무것도 포기하지 않고 오히려 몇 가지 옵션까지 얻을 수 있다.

기능
필자는 슈퍼 NES를 연상시키는 차분한 베이지색, 회색, 보라색의 ‘레트로’ 색상 조합이 적용된 노바 HD를 받았다. 평소에 필자가 선호하는 스타일은 아니지만, 게임써의 로고와 잘 어울리는 테마다. 레트로 테마 외에 80년대풍의 괴감한 투명 청록색 색상도 제공된다.

컨트롤러의 뒷면은 모노톤이지만 전원을 켜면 약간의 조명 쇼가 펼쳐진다. 아날로그 스틱 주위에 여러 가지 색상의 원이 켜지는데, 이는 저가형 컨트롤러와 ROG 엘라이와 같은 프리미엄 기기에서 볼 수 있을 정도로 일반적인 추세다. 나중에 자세히 설명하겠지만 원한다면 바꿀 수 있다.

그 외에는 평범한 엑스박스 스타일의 컨트롤러다. 버튼은 놀랍지는 않지만 느낌이 좋고, 레이아웃은 멋지고 친숙하며, 스틱은 약간 느슨한 편이다(홀 효과 스틱도 마찬가지다). 한 가지 불만이 있다면 무엇보다 PS5 컨트롤러처럼 느껴지는 트리거의 이동 거리가 조금 짧다는 것이다.

전면의 모드 전환 버튼과 스위치와 호환되는 추가 컨텍스트 버튼 하나 외에도 최근 점점 더 인기를 얻고 있는 기능인 어사인 버튼이 뒷면에 2개 탑재됐다. 뒷면에는 매우 가벼운 다이아몬드 질감의 그립이 있어 장시간 게임으로 땀을 흘리기 쉬운 게이머에게 유용하다.

패키지에는 무료 휴대용 케이스도 포함되어 있다. USB 동글이 패키지에 포함된다면 좋았겠지만, 이 가격이라면 이해할 수 있다.

레이싱 게임을 제외하면 전천후 컨트롤러
필자는 하데스 II(Hades II)를 플레이했으며, 심각한 문제는 발생하지 않았다. 처음에는 스틱이 약간 뜨는 현상이 있어서 멜리노에가 원을 그리며 천천히 걷는 경우가 있었다. 마찰점이 없는 홀 효과 구성 요소의 부작용이라고 할 수 있다. 하지만 몇 시간이 지나면 저절로 해결되는 듯했고 이런 현상이 다시 나타나지는 않았다. 끔찍한 스틱 드리프트에 영향을 받지 않는 디자인만으로도 가치가 있다.

브롤할라(Brawlhalla)를 플레이했을 때도 불만은 없었지만 좀 더 진지한 격투 게임 팬이라면 더 클릭감이 좋은 페이스 버튼을 원할 수도 있을 것 같다. 레이싱 게임을 할 때도 괜찮았지만, 천천히 속도를 올리는 것보다 풀 스로틀에서 클릭하는 경향이 훨씬 더 강했다. 노바 이 컨트롤러로는 드라이빙 게임은 피하고 싶었다.

페어링 및 레이아웃 옵션
노바 HD는 일반 컨트롤러 기본값 외에 3가지 페어링 모드를 제공한다. 스위치, 안드로이드, ‘수신기(Reveiver)’는 각각 홈 버튼+X, B, Y로 전원을 켜서 활성화할 수 있다. 필자는 컨트롤러의 USB 기반 수신기를 사용해 보지 못했고 항상 블루투스만 사용했다. 게임써 스토어에서도 리시버가 보이지 않아 ‘수신기’는 어떤 기능인지 알아내지 못했다.

어쨌든, 페어링 모드에서는 거의 차이를 발견하지 못했다. 특히 스팀에서 이미 컨트롤을 개인화할 수 있기 때문이다. 기본 레이아웃이 스위치 스타일이고 A 버튼이 동쪽에 있기 때문에 개인화할 생각이었지만, 알고 보니 번거로운 작업이 필요 없는 제품이었다. 노바 HD를 사용하면 펌웨어에 포함된 다양한 설정 조정 외에도 닌텐도 기본 레이아웃과 엑스박스(A가 남쪽 위치) 레이아웃을 전환할 수 있다.

모드 전환 버튼인 M과 B를 2초간 길게 누르면 레이아웃이 전환된다. 이 2가지 레이아웃은 거의 모든 게임 플랫폼에서 사용되며, 노바 HD는 기기의 전원을 끌 때 마지막 설정을 기억한다. 외부 소프트웨어 없이 이런 옵션을 제공하는 컨트롤러는 이전에 보지 못했다. 정말 유용한 기능이다.

노바 HD는 별도의 소프트웨어 없이 파티 트릭을 지원한다. M 버튼과 다른 버튼의 조합으로 LED 조명의 밝기, 애니메이션 효과 속도, 일반 색상 등을 조정할 수 있다. 스틱의 데드 존을 활성화하고 매크로나 터보를 후면 ‘패들’ 버튼에 프로그래밍하는 것도 마찬가지다. 모든 조합을 익히기 위해 잠시 동안은 매뉴얼을 가까이에 두거나 PDF를 다운로드해야 할 수도 있지만, 얼마 지나지 않아 익숙해질 것이다.

호환성 문제
이 훌륭한 컨트롤러에 한 가지 아쉬운 점이 있다면, 스위치 프로 게임패드(자이로스코프 센서를 포함해 에뮬레이션함)를 지원하지 않는 게임이라면 노바 HD도 지원하지 않는다는 점이다. 예를 들어, 포트나이트(Fornite)의 로켓 레이싱(Rocket Racing)에서는 컨트롤러의 트리거를 감지하지 않고 작동하지 않았다. 이 게임과 밀접하게 관련 있는 로켓 리그(Rocket League)에서는 제대로 작동했지만, 엑스박스 스타일의 입력과 일치하는 인터페이스 표시가 기본값으로 설정됐다.

일부 게임에서 가끔 골치 아픈 문제가 발생할 수 있다. 개별 게임 설정과 스팀의 뛰어난 컨트롤러 지원으로 극복할 수 있겠지만, 미리 경고한다.

게임써 노바 HD, 구매해야 할까?
35달러에 불과한 노바 HD는 가치와 기능 면에서 우수한 8비트두(8BitDo)와도 견줄 수 있는 환상적인 저가형 제품이다. 스위치, 모바일, PC에서 동일한 저렴한 컨트롤러를 사용하고자 하는 사람이라면 이보다 더 좋은 제품은 없을 것이다.

레이싱 게임 팬이라면 트리거가 마음에 들지 않을 것이고, USB 동글이 없다는 점은 아쉽다. 하지만 개인화할 수 있는 후면 버튼, 럼블 및 홀 효과 스틱이 있는 컨트롤러와 가장 일반적인 레이아웃을 빠르게 오갈 수 있는 옵션이 있다는 점을 고려하면 이런 단점은 기꺼이 용서할 수 있다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/review/341730#csidx4a1e72b6dc612df836b12ab22fc6f4a

성능과 디자인, 실용성 모두 잡았다” 비싼 가격 아깝지 않은 프리미엄 노트북 8선

노트북은 사무실에서도 집에서도 매우 실용적인 도구다. 꼭 그럴 필요는 없지만, 노트북에 예산을 조금만 더 투자하면 이런 실용적인 기기에서 고급스러운 분위기까지 연출할 수 있다.

단순히 유용하기만한 기기를 넘어서 사용할 때 즐겁고 보기에 쾌적한 노트북을 원하는가? 그런 사용자의 눈을 반짝이게 할, 가장 화려하고 스타일리시하며 고급스러운 최신 노트북 8가지를 소개한다.

“접을 수 있는 미래로의 안내” HP 스펙터 폴드

올해 초 필자와 동료 PCWorld 기자들은 HP 스펙터 폴드(HP Spectre Fold)를 심층 리뷰하면서 놀라움을 금치 못했다. 스펙터 폴드의 독창적인 접이식 디자인은 기존 디자인으로는 불가능했던 방식으로 노트북을 사용할 수 있는 길을 열었다. 투인원 노트북마저도 스펙터 폴드에 비하면 한계가 있다. OLED 디스플레이도 훌륭하며, 키캡 높이는 얇지만 입력감이 좋고 이동성이 뛰어나다. 터치패드 성능도 나쁘지 않다. 충격적인 가격이 진입 장벽을 높이지만, 미래형 노트북을 찾고 있다면 HP 스펙터 폴드만한 제품이 없다.

“고급스러운 디자인의 끝판왕” 델 XPS 14

델의 XPS 노트북 제품군은 항상 프리미엄 고객층을 겨냥해 왔지만, 최신 모델이라고 해서 모두 그만한 가치가 있지는 않았다. 하지만 델 XPS 14는 비싼 값어치를 하는 노트북이다. 뛰어난 성능, 긴 배터리 사용 시간, 밝고 생생한 OLED 터치스크린을 제공한다. 얇고 가벼운 디자인은 현대적이고 우아한 느낌을 준다. 한 세대 이전 제품인 XPS 플러스(XPS Plus)와 같은 분위기를 자아내지만, ‘플러스’라는 수식어는 빠져 있다. 가격이 비싸서 가성비 좋은 노트북이라고 말할 수는 없지만, 고급스러운 외관과 느낌의 노트북을 원한다면 델 XPS 14를 추천한다.

“이동 중에도 멀티 모니터를” 레노버 요가 북 9i

노트북이라고 해서 화면이 작을 필요는 없다. 화면이 꼭 하나뿐일 필요도 없다. 레노버 요가 북 9i는 3K에 가까운 해상도의 13.3인치 터치스크린과 HDR을 제공하는 노트북이다. OLED 디스플레이를 탑재해 잉크처럼 짙은 검은색과 밝고 생생한 색상을 표현한다. 여행 중에 사진이나 동영상 편집 작업을 해야 할 때 적합한 노트북으로, 보조 모니터를 통해 편집 타임라인을 확장해 더 많은 공간과 기능을 활용할 수 있다. 배터리 수명도 길고 성능도 평균 이상이며, 엄청난 화면 공간을 제공하지만 섀시가 작고 가볍다. 일반 노트북과 휴대용 모니터를 함께 들고 다니는 것보다 훨씬 편리하다.

“괴짜들을 위한 프리미엄 노트북” 프레임워크 랩톱 16

최신 PC 하드웨어를 파헤치는 것을 좋아하는가? 필자는 그렇다. 그렇기 때문에 필자 같은 사람은 데스크톱 PC를 업무용과 취미용으로 모두 사용할 수 있도록 구성한다. 일반적으로 노트북에서는 기본 사양을 자유자재로 바꿀 수 없지만, 프레임워크 랩톱 16(Framework Laptop 16)에서는 가능하다. 이 제품은 스마트한 모듈식 설계 덕분에 사용자화, 업그레이드, 수리가 쉽다. 환상적인 성능을 발휘하도록 원하는 대로 구성할 수 있으며, 성능과 배터리 수명 모두 뛰어나다. 디스플레이가 일부 OLED만큼 인상적이지는 않지만, 분해해서 구성할 수 있는 노트북은 프레임워크 랩톱 16이 유일하다. 진정한 의미의 ‘독점적인’ 프리미엄 럭셔리 노트북이다.

“다방면에서 인상적인 성능” 삼성 갤럭시 북4 울트라

삼성은 놀라운 성능, 최고급 기능, 윈도우 노트북 중 가장 오래 가는 배터리를 제공하는 노트북인 갤럭시 북4 울트라(Galaxy Book4 Ultra)를 출시하며 프리미엄 노트북 시장에 도전장을 던졌다. 테스트에서 20시간 가까지 지속했으며, 충전 속도도 매우 빠르다. 인상적인 오디오 성능, 멋진 OLED 화면, 강력한 그래픽 칩을 탑재해 뛰어난 게이밍 경험을 제공한다. 갤럭시 북4 울트라는 모든 면에서 고급스럽다. 배터리 수명, 성능, 연결성, 기능 어느 것 하나 놓칠 필요가 없다. 경제적인 여유만 있다면 그만한 가치가 있는 다재다능한 노트북이다.

“프로 출장러에게 딱” HP 드래곤플라이 G4

이동이 잦은 사람을 위한 전문가용 노트북을 떠올리면 ‘럭셔리’라는 단어가 머리속에서 멀어질 수 있다. 하지만 그럴 필요가 없는 노트북이 있다. HP 드래곤플라이 G4(HP Dragonfly G4)는 다양한 기능을 갖춘 고급 노트북이다. 비싼 가격만 아니었다면 소비자용 노트북으로도 제격이다. 테스트 결과, 18시간에 가까운 뛰어난 배터리 수명을 제공하면서도 무게가 2.6파운드(1.17kg)로 가벼워 하루 종일 무겁지 않게 들고 다닐 수 있다. 썬더볼트 4, 와이파이 6E뿐 아니라 5G 모듈을 갖추고 있어 셀룰러 데이터로 연결할 수 있다. 1080p 디스플레이가 그다지 고급스럽지는 않지만, 이 제품은 업무용 기기다. 어차피 이걸로 UHD 영화를 감상할 일은 없다. 업무용으로는 충분하며, 특히 기능적이고 빠르게 타이핑할 수 있는 편안한 키보드도 큰 차이를 만든다.

“2개의 화면, 생산성도 2배” 에이수스 젠북 듀오 2024

에이수스 젠북 듀오(Asus Zenbook Duo)는 지난 몇 년 동안 꾸준히 눈에 띄는 노트북이다. 듀얼 OLED 디스플레이로 다른 대부분 노트북보다 더 넓은 화면을 제공한다. 2024년 출시된 버전도 마찬가지다. 멋진 외관과 업무와 여가를 위한 넉넉한 화면 공간, 터치스크린 컨트롤 옵션을 통해 좋아하는 앱과 더 쉽게 상호작용하고 효율적으로 업무를 처리할 수 있다. 젠북 듀오는 인상적인 디스플레이에도 불구하고 배터리 수명이나 성능을 희생하지 않으므로 모든 면에서 진정한 의미의 프리미엄 기기다. 그리고 어디를 가나 시선을 사로잡는다.

“현재까지 가장 인상적인 맥” 애플 M3 시리즈 맥북 프로

M3 칩이 탑재된 맥북 프로는 맥북 제품군 중에서 가장 뛰어난 최신 제품으로, 견고하고 잘 만들어진 섀시에 뛰어난 기능과 배터리 수명을 제공한다. 디스플레이 또한 화려하다. 애플 제품답게 키보드도 훌륭하고 와이파이 6E, 블루투스 5.3, 썬더볼트 4를 비롯한 최신 연결 기술을 지원한다. 기본 모델의 성능은 그리 뛰어나지 않지만, M3 프로와 M3 맥스 모델은 엄청나게 빠르며, 최대 128GB의 엄청난 용량의 메모리를 지원한다. 얇고 가벼운 울트라북처럼 보이면서도 성능이 뛰어난 노트북이다. 저장 공간이 많이 필요하다면 가격이 비싸지지만, 모든 것을 놓치고 싶지 않다면 M3 시리즈 맥북 프로만 한 제품이 없다.
editor@itworld.co.kr

원문보기:
https://www.itworld.co.kr/topnews/342906#csidx6d010082e5ff4428f6a5e8c5864fe23