Category: 개발

Streets GL: 오픈소스 실시간 3D 지도 엔진

2025-01-07

Streets GL은 개발자에게 놀라운 가상 세계를 구축하는 데 필요한 도구를 제공하는 강력한 오픈소스 실시간 3D 지도 엔진입니다. WebGL을 활용하여 뛰어난 성능을 자랑하며, 방대한 지리 데이터를 매끄럽게 렌더링하고 사용자 정의 재질, 조명, 효과를 지원합니다. 도시 시뮬레이터, 게임 맵, 몰입형 VR 애플리케이션 등 다양한 용도로 사용할 수 있습니다. 오픈소스이기 때문에 커뮤니티의 귀중한 자원으로 지속적인 업데이트와 개선이 이루어지고 있습니다.

1년 만에 두 번의 해고: 소프트웨어 엔지니어의 이야기

2025-01-07

소프트웨어 엔지니어가 1년 동안 두 번 해고당한 경험을 공유하는 글입니다. 첫 번째는 육아 휴가 시작 1주일 후, 두 번째는 크리스마스 직전이었습니다. 이 글에서는 감정의 롤러코스터, 새로운 일자리 찾기(이력서 업데이트, 실업 수당 신청, 구직 전략 등), 기술 산업의 현황과 자존감에 대한 성찰을 자세히 설명합니다. 해고에 대처하는 방법에 대한 조언도 제공하며, 회복력, 네트워킹, 지속적인 학습의 중요성을 강조합니다.

대규모 코드베이스에서 엔지니어들이 흔히 저지르는 실수

2025-01-07

대규모로 확립된 코드베이스에서 작업하는 것은 악명 높게 어렵습니다. 이 글에서는 10년간의 경험을 공유하고, 가장 일반적이며 치명적인 실수, 즉 기존 코드베이스 패턴을 무시하고 새로운 기능을 위한 깔끔한 코드에만 집중하는 것을 강조합니다. 일관성을 유지하는 것은 매우 중요합니다. 예상치 못한 문제를 방지하고, 코드베이스의 저하를 늦추고, 미래의 개선을 가능하게 하기 때문입니다. 저자는 또한 코드의 운영 환경에 대한 영향을 이해하고, 새로운 종속성을 도입할 때 신중하며, 중복 코드를 제거하고, 작은 PR로 작업하고, 팀의 전문 지식을 활용하여 오류를 감지하는 것의 중요성을 강조합니다. 어렵지만, 대규모 코드베이스를 숙달하는 것은 매우 중요합니다. 일반적으로 기업의 가장 가치 있는 제품의 기반이 되기 때문입니다.

매직 링크: 편리한가, 비극인가?

2025-01-07
매직 링크: 편리한가, 비극인가?

이 글에서는 로그인에 이메일 매직 링크만을 사용하는 웹사이트 디자인을 비판합니다. 안전하지만 여러 기기를 사용하는 사용자에게는 불편하며, 게임 PC나 업무용 노트북에서 직접 로그인하는 것을 방해하고 이메일 지연의 영향을 받기 쉽다는 주장입니다. 또한 업무용 기기에서 개인 이메일을 사용해야 하므로 보안 위험이 따릅니다. 사용자 경험을 개선하기 위해 비밀번호나 패스키와 같은 보다 유연한 로그인 방법을 제공할 것을 제안합니다.

HipScript: WebGPU에서 HIP 및 CUDA 코드 실행

2025-01-07

Ben Schattinger가 개발한 HipScript 온라인 컴파일러를 사용하면 HIP 및 NVIDIA CUDA 코드를 WebGPU에서 직접 실행할 수 있습니다. 즉, 개발자는 익숙한 프로그래밍 모델을 활용하여 고성능 컴퓨팅 작업을 브라우저에 배포할 수 있으며, 복잡한 이식 작업이 필요하지 않습니다. 라이프 게임과 같은 샘플 코드가 제공되어 학습을 용이하게 합니다. 이는 중요한 발전이며, 웹 애플리케이션에서 고성능 컴퓨팅의 가능성을 열어줍니다.

개발

OmniAI(YC)에서 풀스택 엔지니어 채용

2025-01-07
OmniAI(YC)에서 풀스택 엔지니어 채용

Y Combinator 지원 스타트업 OmniAI에서 연봉 125,000달러~175,000달러와 스톡옵션을 제공하는 풀스택 엔지니어를 채용하고 있습니다. 구조화되지 않은 데이터를 처리하는 새로운 방식을 구축하여 이전에는 불가능했던 대규모 분석을 가능하게 하는 것을 목표로 합니다. 3년 이상의 경력, Node.js, TypeScript, React/NextJS, Postgres 등 기술 스택에 대한 숙련도, 그리고 LLM과 OCR에 대한 깊이 있는 이해가 필요합니다. 면접 과정은 전화 면접, 아키텍처 설계 면접, 그리고 현장 코딩 과제로 이루어집니다.

개발

Hacki: Flutter로 구축된 풍부한 기능의 Hacker News 클라이언트

2025-01-07
Hacki: Flutter로 구축된 풍부한 기능의 Hacker News 클라이언트

Hacki는 Flutter로 구축된 풍부한 기능을 갖춘 Hacker News 클라이언트입니다. Hacker News 계정 로그인, 다양한 카테고리의 스토리 탐색, 스토리 검색 및 제출, 스토리 즐겨찾기 및 고정, 댓글 작성, 투표 참여, 오프라인 읽기 등을 포함한 포괄적인 기능을 제공합니다. 즐겨찾기 및 고정 스토리의 장치 간 동기화(iOS 전용) 및 시스템 공유 시트에서의 실행도 지원합니다. Hacki는 Hacker News를 더욱 편리하고 효율적으로 이용할 수 있도록 설계되었습니다.

PCalc: 20년 역사의 계산기 앱 여정

2025-01-07

겉보기에는 단순한 계산기 앱인 PCalc는 놀라운 20년 역사를 가지고 있습니다. 대학 프로젝트로 시작하여 처음에는 중앙 난방 제어판으로 설계되었습니다! 이후 개발자는 이를 프로그래머용 계산기로 바꾸어 1992년에 무료 소프트웨어로 출시했습니다. 수많은 업데이트와 플랫폼 이식을 거쳐 PCalc는 현재 iOS, Mac, Apple Watch 등 여러 플랫폼에서 사용할 수 있으며 혁신적인 기능을 갖추고 있습니다. 그 배경에는 기술에 대한 열정, Apple과의 관계, 그리고 고인이 된 더글러스 애덤스에 대한 경의가 담겨 있습니다.

개발 앱 개발

구식 연산 증폭기와 작별: 최신 대안 가이드

2025-01-07
구식 연산 증폭기와 작별: 최신 대안 가이드

이 글에서는 널리 사용되지만 구식이 된 LM741과 LM324/LM358 연산 증폭기를 비판하고, Microchip MCP6272, MCP6022, Texas Instruments OPA2323, TLV3542, OPA2356과 같은 성능이 뛰어나고 사용하기 쉬운 최신 대안을 추천합니다. 연산 증폭기를 선택할 때 고려해야 할 중요한 매개변수로 전원 전압 범위, 최대 출력 전류, 레일 투 레일 I/O(RRIO), 입력 단계 유형(FET 대 바이폴라), 이득 대역폭 곱, 슬루율, 노이즈 등을 자세히 설명합니다. 또한 많은 매개변수는 취미 프로젝트에서 과대 평가되는 경우가 많다고 강조합니다.

극한의 최소화: 400바이트 미만의 크로스 플랫폼 실행 파일 생성

2025-01-07

이 블로그 게시글에서는 Cosmopolitan Libc 프로젝트의 크기 최적화 기법을 자세히 설명합니다. x86 어셈블리와 정교한 컴파일 기술을 사용하여 실행 파일 크기를 획기적으로 줄입니다. 설명하는 주요 방법에는 런 레인지 인코딩, 분산 섹션, 데드 코드 제거, δzd 인코딩, 함수 오버랩, printf 최적화 등이 있습니다. 최종 결과물은 Linux, FreeBSD, NetBSD, OpenBSD 네 가지 운영 체제에서 실행되는 400바이트 미만의 ELF 실행 파일입니다. 이는 효율적인 리소스 사용을 보여주며 대규모 코드베이스의 확장성에 대한 새로운 관점을 제시합니다.

84,688개의 정규 표현식으로 만든 체스 엔진

2025-01-07

Nicholas Carlini는 휴가 기간 동안 84,688개의 정규 표현식을 사용하여 2단계 미니맥스 알고리즘의 체스 엔진을 만드는 엄청난 프로젝트를 수행했습니다. 그는 분기가 없는 조건부 실행, SIMD 명령어 집합을 갖춘 정규 표현식 기반 가상 머신을 설계했습니다. 기호 실행 컴파일러는 Python 코드를 정규 표현식 시퀀스로 변환하여 병렬 계산을 가능하게 합니다. 이 엔진은 SIMD를 활용하여 여러 조각의 이동을 동시에 계산하고, 정교한 정규 표현식 최적화를 통해 속도를 향상시킵니다. 깊이는 제한적이지만, 정규 표현식의 놀라운 계산 능력을 보여줍니다.

초고속, 메모리 효율적인 병렬 해시맵 라이브러리

2025-01-07
초고속, 메모리 효율적인 병렬 해시맵 라이브러리

parallel-hashmap은 매우 빠르고 메모리 효율적인 해시맵과 B-트리 컨테이너를 제공하는 훌륭한 C++ 라이브러리입니다. 완전히 헤더 전용이므로 빌드 프로세스가 필요 없습니다. 프로젝트에 디렉토리를 복사하기만 하면 됩니다. C++11 이상과 호환되며, 컴파일러의 기본 제공 unordered_map/set이나 Boost 라이브러리보다 훨씬 빠르고 메모리 사용량도 적습니다. 이종 조회를 지원하며, 전방 선언도 쉽고, 편리한 덤프/로드 기능도 갖추고 있습니다. Google의 Abseil 라이브러리를 기반으로 개선되었으며, Windows, Linux, macOS에서 광범위하게 테스트되었습니다.

Zig의 컴파일 타임 메타 프로그래밍: 놀랍도록 훌륭하다

2025-01-07

이 글은 Zig 프로그래밍 언어의 컴파일 타임 메타 프로그래밍(comptime) 기능을 심층적으로 다룹니다. 저자는 처음에 comptime을 어렵게 생각했지만, 결국에는 그 강력한 기능에 감탄하게 됩니다. comptime을 이해하기 위한 6가지 다른 관점이 제시되는데, comptime을 무시하는 것, 제네릭으로 보는 것, 컴파일 시 실행되는 표준 코드로 보는 것, 부분 평가, 컴파일 시 평가와 런타임 코드 생성, 그리고 텍스트 코드 생성 등이 포함됩니다. 예시를 통해 저자는 comptime이 코드 효율을 높이고, 코드 읽기 및 디버깅을 간소화하며, 코드 생성과 같은 고급 기능을 가능하게 하는 방법을 보여줍니다. Zig의 comptime은 컴파일 시 광범위한 계산과 코드 생성을 할 수 있으므로 성능이 향상되고 코드 작성이 간소화됩니다.

DiscoTool: Arduino USB 기기를 손쉽게 관리하세요

2025-01-07
DiscoTool: Arduino USB 기기를 손쉽게 관리하세요

DiscoTool은 USB에 연결된 Arduino 유형 개발 보드를 검색하고 관리하기 위한 강력한 명령줄 도구이자 Python 라이브러리입니다. macOS, Linux, Windows를 지원하며 추가 설치 없이 pip를 통해 간편하게 설치할 수 있습니다. DiscoTool은 REPL 연결, 모듈 설치 및 업데이트, 보드 데이터 백업 등 다양한 명령을 제공합니다. 명령줄 도구 및 환경 변수를 사용자 지정할 수도 있습니다. 또한 Python 모듈을 통해 개발자는 자신의 프로젝트에 통합하여 제조업체, 일련 번호, 버전 등의 기기 정보에 쉽게 액세스할 수 있습니다.

개발

대규모 언어 모델과 코드 최적화의 한계

2025-01-07
대규모 언어 모델과 코드 최적화의 한계

David Andersen는 100만 개의 난수 목록에서 자릿수의 합이 30인 가장 작은 수와 가장 큰 수의 차이를 찾는 코드를 최적화하기 위해 대규모 언어 모델(LLM)을 사용하는 실험을 했습니다. 초기 Python 및 Rust 코드는 느렸습니다. LLM은 자릿수 합계 함수 등 일부 코드를 개선했지만 중요한 최적화를 놓쳤습니다. 비용이 많이 드는 자릿수 합계 계산을 수행하기 전에 숫자가 관련이 있는지 확인하는 것입니다. 더 빠른 난수 생성기, 병렬 처리 및 전처리를 포함한 수동 개입을 통해 Rust 코드의 속도가 55배 향상되었습니다. 이는 특히 알고리즘에 대한 심오한 이해와 병렬화 전략이 필요한 복잡한 문제에서 LLM의 코드 최적화의 한계를 보여줍니다. 인간의 창의성은 여전히 필수적입니다.

개발

2024년 LLM을 이용한 프로그래밍: 저의 경험

2025-01-07

이 글에서는 저자가 지난 1년 동안 생성 모델을 사용하여 프로그래밍을 해 온 경험을 요약합니다. 자동 완성, 검색, 채팅 기반 프로그래밍에서 LLM이 생산성 향상에 크게 기여했다는 결론을 내립니다. 채팅 기반 프로그래밍은 워크플로 조정이 필요하지만, 초기 초안을 제공하고 오류 수정을 가속화합니다. 저자는 LLM이 명확하게 정의된 문제에 능숙하다고 강조하고, LLM과의 더 나은 상호 작용을 위해 더 작고 독립적인 코드 패키지를 사용할 것을 제안합니다. 마지막으로, 피드백 루프를 간소화하고 효율성을 높이기 위해 LLM용으로 설계된 Go IDE인 sketch.dev를 소개합니다.

개발

25년 후: Mac OS X 독의 비하인드 스토리

2025-01-06
25년 후: Mac OS X 독의 비하인드 스토리

이 블로그 게시물은 Mac OS X 독 개발 초기 엔지니어인 James Thomson의 경험을 이야기합니다. 아일랜드 애플에서 독 개발에 참여했던 기간, 초기 디자인, Steve Jobs와의 교류, 그리고 애플 퇴사 과정을 자세히 설명합니다. 프로젝트의 기밀 유지, Jobs의 엔지니어 위치에 대한 엄격한 요구, 개발 과정에서의 어려움과 성공 등 긴장감과 미스터리가 가득한 이야기입니다. Mac OS X의 핵심 요소 탄생과 소프트웨어 엔지니어의 커리어를 엿볼 수 있는 흥미로운 내용입니다.

개발

Triptych: 하이퍼텍스트를 다시 '하이퍼'하게 만드는 세 가지 제안

2025-01-06

Alexander Petros와 Carson Gross는 네트워크 요청 처리 방식에서 HTML을 훨씬 더 표현력 있게 만들도록 설계된 세 가지 작은 제안인 Triptych를 제안합니다. 이 제안은 HTML 폼에 PUT, PATCH, DELETE 지원을 추가하고, 폼 없이 버튼이 요청을 수행할 수 있도록 하며, 응답으로 부분적인 페이지 교체를 허용합니다. Triptych는 htmx와 같은 라이브러리의 장점을 네이티브 HTML로 가져와 REST 기능을 향상시키고 HTTP 요청에 대한 페이지 동작의 선언을 단순화하는 것을 목표로 합니다. 이를 통해 보다 깔끔한 코드와 전체 페이지 탐색 및 부분 페이지 업데이트의 보다 쉬운 구현이 가능해집니다.

개발 웹 요청

FormBee: 개인 정보 보호를 중시하는 개발자를 위한 오픈소스 양식 백엔드

2025-01-06
FormBee: 개인 정보 보호를 중시하는 개발자를 위한 오픈소스 양식 백엔드

FormBee는 데이터 개인 정보 보호를 우선시하는 개발자를 위해 구축된 오픈소스 양식 백엔드입니다. 서버측 코드를 작성하지 않고도 웹사이트 양식 데이터를 전송하여 이메일, Telegram, Webhook 등으로 보낼 수 있습니다. 플러그인 지원, CAPTCHA 보호, 도메인 화이트리스트, 자동 회신 이메일 등의 기능이 있습니다. Docker 이미지를 사용하면 쉽게 자체 호스팅할 수 있습니다.

개발 양식

pl_synth: JSON 기반 초소형 음악 신디사이저

2025-01-06

PhobosLab의 Dominic Szablewski가 경량 C/JS 음악 신디사이저와 함께 제공되는 트래커 에디터인 pl_synth를 출시했습니다. Sonant에서 영감을 받은 pl_synth는 코드와 데이터 크기를 최소화하는 데 중점을 두고 WASM을 활용하여 JavaScript 버전의 성능을 획기적으로 개선하여 음악 생성 시간을 5초에서 25밀리초로 단축했습니다. 다양한 악기와 효과를 지원하며, 실행 취소/다시 실행 기능을 갖추고 있으며, 최종 결과물을 URL에 직접 삽입할 수 있습니다. pl_synth는 이제 high_impact 게임 엔진에 번들로 제공됩니다.

C언어에서의 간단한 defer: 실용적인 구현

2025-01-06
C언어에서의 간단한 defer: 실용적인 구현

이 블로그 게시글에서는 C언어에서 `defer` 키워드를 구현하는 실용적인 방법을 탐구합니다. `defer` 키워드를 사용하면 코드 블록 이후에 자동으로 정리 작업(메모리 해제 또는 뮤텍스 잠금 해제 등)을 수행할 수 있습니다. 저자는 먼저 `defer`의 목적을 설명하고 GCC 확장 기능과 C++ 기능을 사용한 구현을 보여줍니다. 마지막으로, `defer`의 구현과 사용을 간소화하기 위한 새로운 구문 제안이 제시되어 C 코드의 가독성과 안전성이 크게 향상됩니다.

개발

코드 리뷰 팁: 엔지니어에게 "만든 게 어떻습니까?"라고 물어보세요

2025-01-06

복잡한 UI 변경 코드 리뷰에서 저자는 즉시 리뷰하는 대신 엔지니어에게 "새로운 동작은 어떻습니까?"라고 물었습니다. 엔지니어의 답변을 통해 여러 버그가 발견되어 수정되었고, 심지어 문제가 되는 요구 사항까지 삭제되었습니다. 이 간단한 질문으로 엔지니어는 자신의 작업에 대해 깊이 생각하고 개선하여 최종적으로 코드 품질을 높였습니다. 저자는 엔지니어에게 자신의 작품에 대해 정기적으로 질문하는 것이 시도해 볼 만한 효과적인 기술이라고 생각합니다.

개발

LLM로 재미있는 밈 생성하기: 생각보다 어렵다

2025-01-06
LLM로 재미있는 밈 생성하기: 생각보다 어렵다

워털루 대학교 인턴이 LLM과 Greptile API를 사용하여 GitHub 저장소를 비꼬는 밈을 생성하는 앱을 만들려고 시도했습니다. 이 과정은 예상 외로 어려운 것으로 판명되었습니다. LLM에 직접 밈 텍스트를 생성하도록 지시하면 일반적인 결과만 얻을 수 있었습니다. 따라서 코드 분석(Greptile을 사용하여 구체적인 문제점을 파악)과 밈 텍스트 생성(LLM을 사용하여 타겟을 지정한 유머 생성)이라는 두 가지 작업으로 나누었습니다. 텍스트 처리의 한계로 인해 이미지 생성이 어려워 미리 만들어진 밈 템플릿과 node-canvas를 사용하여 텍스트를 삽입했습니다. 이러한 어려움에도 불구하고 이 프로젝트는 사용자 지정 코드 비꼬는 밈을 생성할 수 있는 웹사이트 reporoast.com으로 결실을 맺었습니다.

개발 밈 생성

htmx: 차세대 jQuery? 안정성을 중시하는 웹 개발 도구

2025-01-06

intercooler.js에서 진화한 htmx는 jQuery처럼 오랫동안 사용할 수 있는 안정적이고 신뢰할 수 있는 웹 개발 도구를 목표로 합니다. 이 글에서는 htmx의 미래 방향으로 안정성을 우선시하고 잦은 업데이트를 피하며, 핵심 기능 추가를 제한하고 확장 API를 통해 기능을 확장하며, 분기별 릴리스를 유지하는 등을 설명합니다. htmx의 목표는 웹 애플리케이션의 만능 솔루션이 되는 것이 아니라, 하이퍼미디어 제어의 단순화에 초점을 맞추고 다른 도구 및 기술과의 더 나은 통합을 추구하며, 궁극적으로 핵심 기능이 HTML 표준에 통합되기를 기대하고 있습니다.

사용자 중심 속성 기반 테스트: 박사 학위 논문

2025-01-06

이 박사 학위 논문은 더 많은 개발자에게 도달하기 위해 속성 기반 테스트(PBT)의 사용 편의성을 향상시키는 데 중점을 둡니다. 심층적인 사용자 연구를 통해 연구자는 무작위 데이터 생성 및 테스트 효율성 평가에서 PBT 사용자가 직면하는 과제를 파악했습니다. 이를 해결하기 위해 본 논문은 개선된 무작위 데이터 생성기를 위한 새로운 알고리즘을 제안하고, PBT에 대한 더 깊이 있는 통찰력을 제공하고 사용 편의성을 향상시키는 오픈 소스 도구 Tyche를 개발했습니다. 궁극적으로 더 나은 소프트웨어 품질과 보증으로 이어집니다.

스플라인 거리 필드: 새로운 지형 생성 기술

2025-01-06

Tangerine 게임 엔진의 한계를 극복하기 위해 저자는 Star Machine이라는 CPU 광선 추적기와 Rainy Road라는 레이싱 게임 프로토타입을 개발했습니다. Rainy Road는 스플라인으로 정의된 도로 및 기타 지형 특징을 처리할 수 있는 효율적이고 컴팩트한 지형 렌더링 시스템이 필요합니다. 저자는 스플라인 거리 필드를 사용한 새로운 지형 생성 기술을 소개합니다. 이 기술은 스플라인을 사용하여 지형 표면을 생성하고, 점에서 가장 가까운 스플라인까지의 거리와 그 법선 벡터를 계산하여 고도를 결정합니다. 이는 기존 높이 맵의 한계를 피하고 프로시저럴 오브젝트 배치를 지원합니다. 이 기술은 현재 적극적인 실험 및 연구 중이며, 개선된 보간 전략 및 스파스한 점 구름 사용 등이 고려되고 있습니다.

42: 강력한 우주선 자세 제어 시스템 시뮬레이터

2025-01-06
42: 강력한 우주선 자세 제어 시스템 시뮬레이터

42는 우주선 자세 및 궤도 역학에 대한 포괄적인 범용 시뮬레이션으로, 개념 연구부터 통합 및 테스트에 이르기까지 전체 수명 주기 동안 자세 제어 시스템의 설계 및 검증을 지원하는 데 주로 사용됩니다. 강체 및/또는 유연체를 포함한 다체 우주선 자세 역학과 2체 및 3체 궤도 비행 체제를 정확하게 모델링하고, 저궤도에서 태양계 전체에 이르는 환경을 시뮬레이션합니다. 42는 여러 우주선을 동시에 시뮬레이션하여 랑데부, 근접 운영, 정밀 편대 비행 연구를 용이하게 합니다. 우주선 자세의 시각화 기능도 갖추고 있습니다.

Mashups.io: Yahoo Pipes의 현대적 대안

2025-01-06
Mashups.io: Yahoo Pipes의 현대적 대안

Mashups.io는 Yahoo Pipes의 기능을 계승하고 크게 개선된 강력한 온라인 데이터 통합 도구입니다. 사용자는 RSS 피드, CSV 파일, JSON 데이터를 쉽게 혼합, 필터링, 변환하여 사용자 정의 데이터 소스를 생성할 수 있습니다. 이 플랫폼은 직관적인 시각적 인터페이스를 제공하며, 프로그래밍 경험 없이도 복잡한 데이터 워크플로를 구축할 수 있습니다. Mashups.io는 다양한 요구 사항을 충족하기 위해 무료 및 유료 플랜을 제공하며, 실시간 업데이트를 통해 데이터는 항상 최신 상태로 유지됩니다.

구조적 코드 에디터의 진화: AST 조작에서 직관적인 UI로

2025-01-06
구조적 코드 에디터의 진화: AST 조작에서 직관적인 UI로

이 글에서는 구조적 코드 에디터의 수년간의 진화 과정을 설명합니다. 초기 버전은 추상 구문 트리(AST)를 직접 조작했지만, 다루기 어려운 것으로 판명되었습니다. 이후 반복 과정에서 AST를 단순화하고 텍스트 커서 기반 접근 방식을 시도했지만, 모두 불충분했습니다. 최종 버전은 AST와 텍스트 편집의 균형을 맞추고, 편집 가능한 유형, 투영, 프레임과 같은 기술을 사용합니다. 키보드, 마우스, 터치, 리모컨을 지원하는 시각적 아이콘 기반 UI가 추가되어 사용자 경험이 크게 향상되었습니다. Gleam과 Lustre를 사용하여 구축된 이 프로젝트는 구조적 코드 에디터 설계의 지속적인 탐구와 개선을 보여줍니다.

SPath: 반정형 데이터에 대한 쿼리 표현식

2025-01-06
SPath: 반정형 데이터에 대한 쿼리 표현식

SPath는 JSON, TOML 또는 사용자 정의 변형과 같은 반정형 데이터에 대한 JSONPath와 유사한 쿼리 표현식을 제공하는 Rust 크레이트입니다. JSONPath를 대체하여 사용할 수 있으며 여러 데이터 형식을 지원합니다. 라이브러리는 사용하기 쉽고 프로젝트의 Cargo.toml 종속성에 `spath`를 추가하기만 하면 됩니다. 예제에서는 SPath를 사용하여 JSON 데이터를 쿼리하고 결과를 확인하는 방법을 보여줍니다.

개발
1 2 191 192 193 195 197 198 199 214 215