지난 글들
744개의 글이 있습니다
WebAssembly를 활용한 브라우저 내 Ruby 개발 환경 구축
Svyatoslav Kryukov, "Assembling the Future: crafting the missing pieces of the Ruby on Wasm puzzle"
- 본 발표는 WebAssembly(WASM)를 활용하여 브라우저 환경에서 Ruby 코드를 실행하고 개발 환경을 구축하는 방법을 다룹니다.
- WebAssembly의 샌드박스 특성과 WASI(WebAssembly System Interface)의 한계를 JavaScript 인터롭 및 패치 기법으로 극복하는 과정을 상세히 설명합니다.
- runruby.dev와 같은 Ruby 플레이그라운드 구현 사례를 통해 브라우저 내에서 젬 설치 및 웹 서버 구동 가능성을 시연합니다.
EuRuKo
2025년 01월 13일
Ruby Ractors를 활용한 실전 프로젝트 경험과 미래
Seong Heon Jung, "Using Ractors and Making Ractors Usable"
- Ractors는 Ruby에서 스레드의 한계를 극복하고 안전한 동시성 및 병렬성을 제공하기 위해 도입된 새로운 추상화 모델입니다.
- Ractors는 메모리 공유를 지양하고 메시지 전달 방식을 채택하여 데드락과 데이터 경쟁 같은 동시성 문제를 해결하는 데 중점을 둡니다.
- 현재 Ractors는 불안정한 API와 잠재적 버그를 포함하고 있으나, Ruby가 현대 프로그래밍 언어로서 경쟁력을 확보할 핵심적인 기회로 평가됩니다.
EuRuKo
2025년 01월 13일
AI 에이전트 소개: 비즈니스 프로세스 자동화 및 LLM 활용 전략
Andrei Bondarev, "Build an AI agent in 15 min"
- 본 강연은 AI 에이전트의 개념과 구성 요소를 소개하며, 특히 대규모 언어 모델(LLM)을 활용한 비즈니스 프로세스 자동화 가능성을 탐구합니다.
- 계획 및 추론, 환경 인식, 도구 호출, 메모리 등 AI 에이전트 구축의 핵심 원리를 설명하고, 실제 전자상거래 시나리오를 통해 그 적용 방안을 시연합니다.
- Ruby 기반의 오픈소스 프레임워크인 `langchainrb`를 소개하며, AI 기술을 실제 애플리케이션에 통합하고 비즈니스 효율성을 높이는 구체적인 방법을 제시합니다.
EuRuKo
2025년 01월 13일
WebMock: Ruby HTTP 요청 모킹 Gem의 기능과 내부 동작 원리
Bartosz Blimke, "WebMock Unmocked"
- WebMock은 Ruby 애플리케이션의 HTTP 요청을 모킹하여 테스트를 격리하고, 신뢰성 및 속도를 향상시키는 데 사용되는 강력한 Gem입니다.
- 이 Gem은 깔끔한 DSL을 통해 복잡한 HTTP 요청 시나리오를 쉽게 스텁하고 검증할 수 있게 하며, TDD와 레거시 코드 관리에 매우 유용합니다.
- WebMock은 내부적으로 몽키 패칭과 어댑터를 활용하여 HTTP 클라이언트의 동작을 가로채며, Ruby 커뮤니티의 열정과 지원 속에서 탄생하고 발전했습니다.
EuRuKo
2025년 01월 13일
Ruby에서 gRPC의 현재 상태 탐색: REST의 대안인가?
Fernando Perales, "Let's give REST a rest: exploring the state of gRPC in Ruby"
- 본 강연은 Ruby 개발 환경에서 gRPC의 현재 활용도와 인기가 다른 언어에 비해 낮은 이유를 심층적으로 탐구합니다.
- gRPC는 HTTP/2와 프로토콜 버퍼를 기반으로 높은 성능과 다국어 시스템 간의 효율적인 통신을 가능하게 하는 RPC 프레임워크입니다.
- REST API가 대부분의 상황에서 충분하고 익숙하기 때문에 Ruby 커뮤니티에서는 gRPC 도입에 대한 필요성이 낮으며, 복잡성과 디버깅의 어려움이 주요 고려사항입니다.
EuRuKo
2025년 01월 13일
Ruby on Rails 서비스 객체의 숨겨진 아이디어와 최적의 코드 구성 방식
Ivan Nemytchenko, "The Curse of Service Objects"
- Ruby on Rails에서 서비스 객체는 복잡성을 조직화하는 사실상의 표준이지만, 내부적으로 복잡성을 증가시키는 비효율적인 방식입니다.
- 강연자는 비즈니스 규칙, 데이터 변이, 컨트롤러 로직 등 '작업 유형별'로 코드를 분리하여 계층형 아키텍처를 구축하는 새로운 방법론을 제시합니다.
- 이는 기존 서비스 객체의 모호한 개념을 벗어나, Martin Fowler와 Eric Evans의 '서비스 레이어' 및 '도메인 서비스' 개념에 부합하는 명확한 코드 구조를 제안합니다.
EuRuKo
2025년 01월 13일
Ruby와 WebAssembly: 어디서든 Ruby를 실행하다
Yuta Saito, "What you can do with Ruby on WebAssembly"
- RubyWasm 프로젝트는 Ruby를 WebAssembly(Wasm) 기반으로 웹 브라우저부터 엣지 컴퓨팅까지 다양한 플랫폼에서 실행할 수 있도록 지원합니다.
- 이는 C Ruby 인터프리터를 Wasm으로 컴파일하고, Ruby 파일 패키징 및 JavaScript 인터프리테이션 라이브러리 제공을 통해 구현됩니다.
- 특히, Wasm의 최신 컴포넌트 모델을 활용하여 C 확장 라이브러리의 동적 링킹을 지원함으로써 RubyGems와의 호환성을 크게 향상시켰습니다.
EuRuKo
2025년 01월 13일
Ruby 디버거의 작동 원리 및 활용
Dmitry Pogrebnoy, "Demystifying Debugger"
- Ruby 디버거는 코드에서 버그를 찾고 실행을 제어하는 가장 진보된 도구입니다.
- 이는 TracePoint와 Instruction Sequence 기술을 활용하며, 특히 최신 Ruby 버전에서는 성능 최적화가 이루어졌습니다.
- RubyMine 디버거는 모든 Ruby 버전에서 빠르고 편리한 디버깅 경험을 제공하며, Rails 애플리케이션 디버깅 및 인라인 값 표시와 같은 강력한 기능을 지원합니다.
EuRuKo
2025년 01월 13일
Ruby 파서 문법 개선: Racc(라마)의 도입과 역할
Yudai Takada, "How does Lrama make the Ruby parser grammar G.O.A.T.?"
- Ruby 3.3부터 Bison 대신 자체 파서 생성기 Racc(라마)를 도입하여 문법 유지보수성과 확장성을 크게 개선했습니다.
- Racc는 기존 Bison의 숫자 참조 방식의 가독성 문제를 명명된 참조로 해결하고, 문법 규칙의 추상화를 위한 매개변수화된 규칙을 제공합니다.
- Ruby의 파싱 과정은 렉서, 파서, 컴파일러로 구성되며, Racc는 이 중 파서를 생성하여 코드의 추상 구문 트리 생성을 담당합니다.
EuRuKo
2025년 01월 13일
Ruby 최신 기능 활용 및 커뮤니티 기여 방안
Lucian Ghinda, "The Modern Rubyist: When and How to Use the Latest Features"
- Ruby의 새로운 기능(Endless Method, Data Object, Hash Value Omission, Pattern Matching)을 채택하여 코드의 가독성과 간결성을 높일 수 있습니다.
- 성숙한 프로그래밍 언어로서 Ruby가 직면한 '프로그래밍 언어 딜레마'를 극복하고 관련성을 유지하기 위해 새로운 기능에 대한 개방적인 태도가 필요합니다.
- 개발자는 새로운 기능을 적극적으로 실험하고 피드백을 제공함으로써 Ruby 커뮤니티의 성장과 언어의 지속적인 발전에 기여할 수 있습니다.
EuRuKo
2025년 01월 13일
AI를 활용한 애플리케이션 개발 패턴
Obie Fernandez, "Patterns of Application Development Using AI"
- 본 강연은 기존 애플리케이션에 AI 컴포넌트를 점진적으로 통합하는 개발 패턴과 접근 방식을 소개합니다.
- 추상 패턴(경로 좁히기, 다수의 작업자)과 구체 패턴(구조화된 입출력, 복화술사)을 통해 AI 활용의 실제적 방법을 제시합니다.
- Ruby on Rails 애플리케이션 내에서 AI를 개별적이고 모듈화된 비즈니스 로직 구성 요소로 활용하는 전략을 강조합니다.
EuRuKo
2025년 01월 13일
오픈 소스 코드 읽기: Ruby 개발자를 위한 효과적인 학습 및 디버깅 전략
Kasper Timm Hansen, "How to Break into Reading Open Source"
- 이 발표는 Ruby 개발자가 오픈 소스 코드를 읽는 두 가지 모드('미리 읽기'와 '즉시 읽기')와 세 가지 원칙('클릭하기', '중립 유지', '계속 돌아오기')을 소개하며, 이를 통해 학습 및 디버깅 능력을 향상시키는 방법을 제시합니다.
- Rails와 MiniTest 사례를 통해 실제 코드 탐색 방법을 보여주고, 특히 MiniTest에서 다형성(Polymorphism) 개념을 재발견한 경험을 공유합니다.
- 복잡한 문제를 해결하고 새로운 지식을 습득하는 데 오픈 소스 코드 읽기가 얼마나 효과적인지 강조하며, 꾸준한 연습의 중요성을 역설합니다.
EuRuKo
2025년 01월 13일
Rust를 활용한 Ruby 확장 기능 개발: 성능 최적화 및 프로덕션 고려사항
Guilherme Carreiro, "Building native Ruby extensions in Rust"
- Ruby 확장 기능을 Rust로 개발하는 여정과 그 과정에서 겪는 주요 도전 과제를 다룹니다.
- 성능 향상을 위한 네이티브 확장 기능의 오해를 해소하고, TOML 파서 개발을 통해 실제 구현 과정을 시연합니다.
- 에러 처리, 메모리 누수 방지, 사전 컴파일 등 프로덕션 환경 배포를 위한 핵심 고려사항을 제시합니다.
EuRuKo
2025년 01월 13일
Zendesk Rails 모놀리스의 17년 역사: 아키텍처, 성능, 테스트 및 업그레이드 여정
C. Planas, A. Mikhaylov, "2000 engineers, 2 millions lines of code: the history of a Rails monolith"
- Zendesk는 17년간 Ruby on Rails 모놀리스를 주력으로 사용하며 아키텍처, 데이터베이스, 테스트 전략을 발전시켜왔습니다.
- 성능 병목은 Ruby가 아닌 데이터베이스에 있었으며, 방대한 테스트 스위트와 MiniTest 활용이 안정적인 운영에 기여했습니다.
- Rails 버전 업그레이드의 어려움과 '선발 주자 불이익'을 극복하며 지속적인 개선을 이뤄낸 경험을 공유합니다.
jeff
2025년 01월 13일
Saeloun, Rails Foundation의 기여 회원으로 합류
Saeloun joins the Rails Foundation as a Contributing member
- Ruby on Rails 컨설팅 기업 Saeloun이 Rails Foundation의 새로운 기여 회원으로 합류했습니다.
- Saeloun은 Rails 프레임워크와 커뮤니티에 오랜 기간 활발히 기여해왔으며, Rails Issue 팀 소속 개발자들이 핵심 기여자 명단에 이름을 올리고 있습니다.
- 이번 합류를 통해 Saeloun은 Rails의 성장과 발전에 더욱 적극적으로 참여할 예정입니다.
Ruby on Rails 소식지
2025년 01월 10일