2025-03-10 주간 URL 모음

  • GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.
  • Why does target=”_blank” have an underscore in front? | Kyrylo Silin
    • 요약
      • HTML5 이전에는 개발자들이 브라우저 창을 여러 프레임으로 나누어 SPA와 유사한 기능을 구현하기 위해 <frameset>을 사용했으며, 각 프레임에는 고유한 name 속성이 있었습니다.
      • 링크의 target 속성은 연결된 콘텐츠를 표시할 프레임을 지정했습니다(예: <a href="/pricing" target="content"></a>).
      • 링크가 존재하지 않는 대상 프레임을 지정한 경우(예: target="blank"), 브라우저는 새 창을 만들고 해당 이름을 부여했습니다.
      • target="_blank"의 밑줄은 일반 프레임 이름이 아닌 특수 값을 의미하며, 브라우저에게 링크를 새 탭/창에서 열도록 명시적으로 지시합니다.
      • 같은 대상 이름(밑줄 없는)을 가진 여러 링크를 클릭하면 여러 개의 새 창을 열지 않고 동일한 창을 재사용했습니다.
      • 밑줄은 일반 프레임 타겟팅과 특수 브라우저 동작을 구분하는 규칙으로 도입되었습니다.
      • <frameset> 요소는 이제 HTML5에서 더 이상 사용되지 않으며 현대 웹 개발에서 사용하지 않아야 합니다.
  • If it is worth keeping, save it in Markdown
    • 요약
      • 마크다운은 디지털 콘텐츠의 내구성을 보장합니다 웹사이트 구조 변경, 서비스 종료, 또는 기술적 오류로 인해 온라인 출판물이 불가피하게 사라지는 반면, UTF-8 인코딩과 마크다운 형식을 갖춘 일반 텍스트 파일은 컴퓨터가 존재하는 한 계속 읽을 수 있기 때문입니다.
      • 디지털 콘텐츠 보존의 동기는 개인적 소유권, 중앙화된 검색 가능성, AI 도구 통합, 그리고 다양한 형식과 플랫폼에서 콘텐츠를 재사용하거나 공유할 수 있는 자유에 있습니다.
      • 마크다운은 "최소 권한의 법칙" 원칙을 따르며 장기적인 접근성을 손상시킬 수 있는 PDF와 같은 형식의 복잡성을 피하면서, 단순성과 기능성 사이의 이상적인 균형을 이룹니다.
      • 노트 작성을 위한 Obsidian과 블로깅을 위한 정적 사이트 생성기와 같은 도구들은 마크다운을 활용하여 개인 메모와 발행된 콘텐츠 사이의 원활한 워크플로우를 만듭니다.
      • 마크다운으로 콘텐츠를 보존할 때, 검색 가능성을 향상시키고 맥락을 제공하기 위해 발행 날짜, 출처, 관련 태그를 포함한 프론트매터(frontmatter)를 추가하세요.
      • 한 번 검색할 가치가 있는 콘텐츠는 영원히 보존할 가치가 있는 콘텐츠입니다라는 원칙이 저자의 보존 전략을 이끌며, 특히 컨퍼런스 초록, 기술적 설명, 의미 있는 소셜 미디어 게시물과 같은 유용한 콘텐츠에 적용됩니다.
      • AI 도구는 다양한 형식을 마크다운으로 변환하는 데 탁월하며, pandoc과 같은 특수 도구는 수십 가지의 다른 형식 간에 문서를 변환할 수 있습니다.
      • 마크다운 파일의 경량성은 Git과 같은 버전 관리 시스템에 이상적이며, 백업과 동기화 기능을 모두 제공합니다.
      • 다양한 서비스에서 정기적인 데이터 내보내기는 즉시 마크다운으로 변환이 불가능하더라도 콘텐츠 보존 보험을 제공합니다.
      • 현재의 한계점으로는 Facebook과 같은 플랫폼에서 불완전한 내보내기 기능이 있으며, 특히 가장 가치 있는 콘텐츠를 포함하는 경우가 많은 토론 스레드에 대한 부분이 그렇습니다.
  • Anthropic's Claude AI is playing Pokémon on Twitch — slowly | TechCrunch
    • 요약
      • Anthropic은 새로운 AI 모델 Claude 3.7 Sonnet의 능력을 선보이기 위해 "Claude Plays Pokémon"을 Twitch에서 시작했으며, 이 AI가 포켓몬 레드를 플레이하는 모습을 보여주고 있습니다.
      • 게임 초반에 실패했던 이전 모델 Claude 3.5 Sonnet과 달리, Claude 3.7 Sonnet은 체육관 배지 세 개를 획득하는 데 성공했지만, 여전히 바위 벽을 우회하는 것과 같은 특정 장애물에서는 어려움을 겪고 있습니다.
      • Twitch 스트림은 실시간 게임플레이와 함께 Claude의 "사고 과정"을 보여주며, AI가 각 도전 과제를 어떻게 추론하는지 보여주지만, 그 과정은 느리고 때로는 혼란스러워 보입니다.
      • 포켓몬과 같은 비디오 게임은 AI 모델의 추론 능력을 테스트하는 유용한 벤치마크 역할을 하며, Claude 3.7 Sonnet은 퍼즐을 해결하는 데 있어 향상된 "사고" 능력을 보여주고 있습니다.
      • 이 실험은 2014년 수백만 명이 채팅 명령을 통해 집단적으로 게임을 제어했던 "Twitch Plays Pokémon" 현상과 비교됩니다.
      • 수천 명의 시청자들이 Claude의 게임플레이를 시청하는데, 일부는 AI의 느린 진행에 조급해하는 반면, 다른 사람들은 AI의 학습 과정에 매료되어 있습니다.
      • 이 기사는 온라인 경험이 공동체적 활동(원래의 Twitch Plays Pokémon과 같은)에서 인간이 어린 시절에 마스터한 작업을 AI가 수행하는 것을 구경하는 더 수동적인 관람자 경험으로 변화하고 있다고 제안합니다.
      • 다른 연구자들도 유사한 AI 게임 실험을 수행했으며, 포켓몬을 성공적으로 탐색하기 위해 50,000시간의 게임플레이가 필요했던 강화 학습 알고리즘 등이 있습니다.
  • This Keyboard Was Milled From a Single Block of Aluminum
    • 요약
      • The Icebreaker는 독특한 디자인을 갖춘 Serene Industries의 브루탈리즘에서 영감을 받은 새로운 기계식 키보드입니다.
      • 이 키보드는 단단한 알루미늄 블록에서 밀링 가공되었으며, 비정통적인 웨지 형태로 17.7 x 1.7 x 0.9 인치의 크기를 자랑합니다.
      • 대부분의 키보드와 달리, The Icebreaker는 알루미늄으로 제작된 키캡을 특징으로 하며, RGB 조명이 보이도록 800개의 미세 천공 작업을 거쳤습니다.
      • 알루미늄 구조에도 불구하고, 이 키보드는 RGB 조명 기능을 유지합니다.
      • 이 장치에는 약 3개월의 전력을 제공하는 4,000mAh 배터리가 탑재되어 있습니다.
      • 원치 않는 진동과 소음을 흡수하도록 설계된 이중 댐핑 시스템을 갖추고 있습니다.
      • 이 키보드는 VIA 소프트웨어와 Serene Industries의 자체 구성 도구를 모두 지원하여 사용자 맞춤 설정이 가능합니다.
      • 65% 레이아웃을 가지고 있지만 긴 손목 받침대와 회전 노브 때문에 풀 사이즈에 가깝습니다.
      • 블루투스 무선 버전은 1,600달러이며, 유선 모델은 1,500달러입니다.
      • The Icebreaker는 투명 또는 블랙 마감으로 사전 주문이 가능합니다.
  • 너와 나, 단 둘 만이 이해할 수 있는 언어
    • 요약
      • 최근 두 AI 에이전트가 인간이 알아들을 수 없는 전자음으로 대화하는 영상이 공개되었으며, 이는 'ggwave'라는 소리에 데이터를 담는 프로토콜을 활용한 것이다.
      • AI 에이전트들의 전자음 대화는 쌍둥이들이 서로만 이해할 수 있는 옹알이로 소통하는 현상과 유사하게 보인다.
      • 쌍둥이들이 둘만의 언어를 만드는 현상을 '크립토파시아(Cryptophasia)'라고 하며, 이는 소수의 사람만이 사용하는 독특한 언어인 '이디오글로시아(Idioglossia)'의 특수한 예이다.
      • 준 기븐스와 제니퍼 기븐스 자매는 서로에게만 대화하고 외부와 소통하지 않아 '침묵의 쌍둥이'라 불렸으며, 그들만의 독특한 언어를 사용했다.
      • 포토와 카벵고(그레이스와 버지니아 케네디) 자매는 부모의 관심 부족으로 영어를 익히지 못하고 영어와 독일어가 혼합된 독특한 언어를 발전시켰다.
      • 청각 장애 아동이 적절한 교육을 받지 못해 자신만의 수화를 만드는 'Home sign'도 이디오글로시아의 한 예이다.
      • 크립토파시아와 이디오글로시아의 사례들은 대부분 슬픈 배경에서 발생했으며, 이는 의사소통의 중요성과 언어 발달에 있어 사회적 상호작용의 필요성을 보여준다.
  • Tailscale is pretty useful
    • 요약
      • Tailscale은 사용자가 도메인 약식 이름을 사용하여 어디서나 자신의 기기에 접속할 수 있는 가상 사설 네트워크를 만들어, 포트 포워딩이나 CGNAT 제한 없이 가정 서버에 접속하는 문제를 해결합니다.
      • Tailscale 설정은 기기에 클라이언트 소프트웨어(대부분 오픈소스)를 설치하고 계정으로 로그인하는 것만 필요합니다.
      • Tailscale은 개발자가 Tailscale에서 생성된 도메인 이름을 사용하여 실제 기기에서 웹 애플리케이션을 테스트하기 위해 노트북에서 휴대폰으로 포트를 노출할 수 있게 합니다.
      • Taildrop 기능은 물리적 근접성 없이도 Airdrop과 유사하게 다양한 기기(MacBook과 Windows HTPC 간 등) 사이에 쉽게 파일을 전송할 수 있게 합니다.
      • 사용자는 기기를 출구 노드(exit node)로 지정하여 별도의 VPN 클라이언트 없이 VPN과 유사한 기능을 제공받을 수 있습니다.
      • Tailscale의 Mullvad와의 파트너십은 Tailscale이 트래픽을 볼 수 없고 Mullvad는 사용자 신원을 알 수 없는 이중 VPN 설정을 통해 향상된 개인정보 보호를 제공합니다.
      • Tailscale은 개인 사용을 위한 무료 티어와 비즈니스 사용 사례를 위한 엔터프라이즈 플랜을 제공합니다.
      • Tailscale 서비스 사용에 우려가 있는 사람들을 위해, Headscale은 Tailscale 클라이언트 소프트웨어와 작동하는 오픈소스 서버 구현을 제공합니다.
  • ESLint now officially supports linting of CSS - ESLint - Pluggable JavaScript Linter
    • 요약
      • ESLint는 공식 @eslint/css 플러그인을 통한 CSS 지원 도입으로 범용 린터로 확장되었으며, 이전에 발표된 JSON 및 Markdown 지원에 추가되었습니다.
      • @eslint/css 플러그인은 파싱을 위해 CSSTree를 활용하며 no-duplicate-imports, no-empty-blocks, no-invalid-at-rules, no-invalid-properties, require-baseline, use-layers와 같은 내장 규칙을 포함합니다.
      • 설치를 위해서는 npm install @eslint/css -D를 실행하고 구성 파일을 업데이트하여 플러그인을 포함시키고, 언어를 "css/css"로 지정하며, 규칙을 정의해야 합니다.
      • CSS 린팅은 기본적으로 엄격한 파싱을 사용하지만 languageOptions: { tolerant: true }를 설정하여 브라우저 오류 복구를 모방하는 관대한 파싱 모드를 제공합니다.
      • 이 플러그인은 customSyntax 옵션을 통해 사용자 정의 구문 구성을 지원하여 사용자가 CSSTree 형식으로 사용자 정의 at-rules, 속성 및 유형을 정의할 수 있습니다.
      • Tailwind CSS 사용자를 위해 플러그인은 가져와서 대부분의 Tailwind 특정 구문 기능을 구성하는 데 사용할 수 있는 내장 tailwindSyntax 객체를 제공합니다.
      • 개발자는 CSSTree AST 형식을 사용하여 사용자 정의 CSS 린팅 규칙을 만들 수 있으며, Code Explorer는 이제 규칙 생성을 지원하기 위해 CSS 파싱을 지원합니다.
      • ESLint는 스타일시트를 포함한 전체 코드베이스에서 일관된 코드 품질을 유지하는 데 도움이 되는 다목적 도구로 계속 발전하고 있습니다.