지난 글들
398개의 글이 있습니다
Ruby 커뮤니티의 정신과 가치: 개발자들의 유대와 환영
RubyConf 2024 Chicago Recap
- 본 영상은 루비 프로그래밍 언어와 루비 온 레일즈 프레임워크를 중심으로 한 전 세계 루비 커뮤니티의 활기찬 모습과 가치를 조명합니다.
- 루비 개발자들은 서로에게 개방적이고 환영하며, 협력과 상호 지지를 통해 강력한 유대감을 형성하고 있음을 강조합니다.
- 특히 'Matz'의 정신을 본받아 친절하고 도움이 되는 태도를 유지하며 코드 작성뿐 아니라 인간적인 연결을 중요시하는 커뮤니티의 독특한 문화를 보여줍니다.
Ruby Central
2025년 01월 14일
기계적 공감: 빠른 Ruby 프로그램 작성 및 하드웨어 활용 극대화
Tim Kächele, "Mechanical sympathy, or: writing fast ruby programs"
- 이 강연은 레이싱에서 유래한 '기계적 공감' 개념을 소프트웨어 개발에 적용하여, 하드웨어 작동 원리를 이해함으로써 Ruby 프로그램의 성능을 최적화하는 방법을 제시합니다.
- 현대 소프트웨어의 비효율적인 성능은 하드웨어의 발전 부족이 아닌, 캐시 미스 등 데이터 지역성을 고려하지 않은 코드 설계에 기인함을 지적합니다.
- 데이터 중심의 '하드웨어 친화적' 접근 방식을 통해 캐시 참조를 절반으로 줄이고 처리 속도를 2.5배 이상 향상시킨 실제 Ruby 코드 최적화 사례를 보여줍니다.
EuRuKo
2025년 01월 13일
모던 Hotwire 및 Rails 시대를 위한 개발 도구(DevOps Tooling)의 진화와 미래
Marco Roth, "Leveling Up Developer Tooling For The Modern Rails & Hotwire Era"
- 본 강연은 Hotwire 및 Ruby on Rails 개발 환경의 생산성 향상을 위한 언어 서버 프로토콜(LSP) 기반의 개발 도구, 특히 Stimulus LSP의 개발 과정과 중요성을 다룹니다.
- JavaScript 생태계의 풍부한 개발 도구에 대한 갈증에서 시작된 Stimulus LSP는 자동 완성, 진단, 빠른 수정 등 HTML 내 Stimulus 속성 처리를 개선하여 개발 경험을 혁신합니다.
- 향후 Stimulus Lint, Turbo LSP, ERB 문서 지원 및 Hotwire 브라우저 확장과 같은 도구들이 개발자 생산성 향상과 현대적인 Rails 개발 환경 구축에 기여할 것입니다.
EuRuKo
2025년 01월 13일
루비 온 레일즈 프론트엔드 개발의 현대적 접근
Yaroslav Shmarov, "Rails 8 Frontend: 10 commandments and 7 deadly sins in 2025"
- 루비 온 레일즈 프론트엔드 개발은 Rails 6의 '암흑기'를 넘어 Rails 7에서 '르네상스'를 맞이했습니다.
- Webpacker, Rails UJS, jQuery 대신 Import Maps/ESBuild, Turbo, Stimulus JS와 같은 현대적인 도구들이 권장됩니다.
- 유지보수 가능하고 반응형인 웹 애플리케이션 프론트엔드를 구축하기 위한 레이아웃, 컴포넌트 및 CSS 추상화 전략이 중요합니다.
EuRuKo
2025년 01월 13일
Ruby에서 아름다운 뷰 구축하기 (Building Beautiful Views in Ruby)
Joel Drapper, "Building Beautiful Views in Ruby with Phlex"
- 본 강연은 Ruby의 유연성과 추상화 기능을 활용하여 아름답고 유지보수하기 쉬운 뷰를 구축하는 방법에 대해 다룹니다.
- 특히, HTML 의미론을 Ruby 구문에 직접 매핑하는 객체 지향 컴포넌트 라이브러리인 'Flex'를 소개하며 그 장점을 설명합니다.
- Flex는 코드 중복을 줄이고 일관성을 높이며, XSS 방지 및 고성능 렌더링을 제공하여 효율적인 웹 개발을 지원합니다.
EuRuKo
2025년 01월 13일
25년간의 개발과 10년간의 전쟁을 통해 얻은 7가지 통찰
Victor Shepelev, keynote, "Seven things I know after 25 years of development"
- 25년 개발 경력의 베테랑 루비 개발자가 프레임워크와 방법론의 한계를 뛰어넘어 코드의 '진실된 스토리'를 찾아야 한다고 역설합니다.
- 소프트웨어 프로젝트의 끊임없는 성장에 따라 기존의 사고방식과 접근법이 무용지물이 될 수 있음을 강조하며, 끊임없는 자기 성찰과 학습을 촉구합니다.
- 개발자는 코드베이스의 개별 서사에 집중하고, '진실'을 추구하며, 동료와의 활발한 코드 논의를 통해 장기적인 프로젝트 성공을 이끌어야 함을 제안합니다.
EuRuKo
2025년 01월 13일
객체 지향 프로그래밍과 언어 디자인의 미래: Matz와 Jose의 대화
Dave Thomas's uninterrupted conversation with Yukihiro Matsumoto & José Valim
- 본 대화는 객체 지향 프로그래밍(OOP)의 진화된 정의, 상태 관리, 사이드 이펙트, 그리고 루비(Ruby)와 엘릭서(Elixir) 같은 언어 디자인 철학에 대한 깊이 있는 논의를 담고 있습니다.
- Matz와 Jose는 언어 커뮤니티를 이끄는 데 따르는 도전과 책임감, 그리고 소프트웨어 복잡성 및 AI와 JIT 컴파일러와 같은 미래 기술에 대한 기대를 공유합니다.
- 특히 Matz는 OOP의 핵심으로 '정체성(Identity)'을 강조하며, AI가 테스트 작성과 타입 추론 등 '재미없는' 프로그래밍 작업을 자동화하여 개발자의 즐거움을 높일 것이라고 전망합니다.
EuRuKo
2025년 01월 13일
슬롯 스케줄링의 장점과 GCD 메서드 활용
Julik Tarkhanov, "On the benefits of slot scheduling"
- 본 발표는 Ruby on Rails 기반 핀테크 애플리케이션에서 발생하는 백그라운드 작업 부하 불균형 문제를 다룹니다.
- 문제 해결을 위해 사용자의 트랜잭션 동기화 작업을 슬롯 스케줄링 방식으로 분산시켜 처리하는 기법을 소개합니다.
- 이 방식은 Mersenne Twister와 GCD 메서드를 활용하여 시스템 부하를 평탄화하고 운영 비용을 절감하는 효과를 가져왔습니다.
EuRuKo
2025년 01월 13일
Matz (Yukihiro Matsumoto) 인터뷰: Ruby 창시자의 개인적인 이야기
Adrian & Yaro’s Friendly Show with Yukihiro Matsumoto
- Ruby 창시자 마츠모토 유키히로(Matz)는 우루코(Uruko)에서 비기술적이고 개인적인 주제에 대한 인터뷰를 진행했습니다.
- 그는 루비 개발을 '일'이 아닌 '퍼즐 풀이'로 즐기며, 루비 커뮤니티의 친절함이 자신에게서 비롯되었다는 'Matz is nice' 정신에 대해 이야기했습니다.
- 마츠는 프로그래밍의 즐거움에 집중하고 AI와 같은 기술로 불필요한 부분을 제거하여 더 나은 개발 환경을 만들기를 희망합니다.
EuRuKo
2025년 01월 13일
Zeitwerk: 루비 프로젝트를 위한 자동 로딩의 미래
Xavier Noria, keynote, "Zeitwerk: A Retrospective"
- Zeitwerk는 Ruby 및 Rails의 자동 로딩, 즉시 로딩, 코드 리로딩을 담당하는 핵심 Gem입니다.
- 기존 자동 로더의 한계를 극복하고, 'require' 의존성을 자동 관리하여 개발 편의성을 높였습니다.
- 투명성, 견고한 API 디자인, 버그 없는 소프트웨어 추구를 통해 루비 생태계에 기여하고 있습니다.
EuRuKo
2025년 01월 13일
Ruby 및 Rails에서 두 가지 복잡한 버그 해결 여정
Jean Boussier, "A Decade of Rails Bug Fixes"
- 이 강연은 Shopify 개발자이자 Ruby/Rails 핵심 기여자인 Jérôme 'Byoot' Dalembert가 겪었던 두 가지 중요한 버그 해결 경험을 다룹니다.
- 첫 번째 버그는 Active Record `counter_cache`의 동시성 문제로 인한 카운터 불일치였고, 두 번째 버그는 Ruby 3.2의 객체 모양(Object Shapes) 최적화로 인해 Marshall 역직렬화 시 발생하는 복잡한 문제였습니다.
- 두 사례를 통해 디버깅의 과학적 방법론, 재현의 중요성, 가정에 대한 의문 제기, 그리고 오픈 소스 프로젝트에서의 효과적인 커뮤니케이션의 중요성을 강조합니다.
EuRuKo
2025년 01월 13일
오픈 소스 지속 가능성에 대한 대화
Fireside chat, "A sustainable path in Open Source"
- 본 대화는 오픈 소스 기여의 동기, 개인 및 직업적 이점, 그리고 오픈 소스 프로젝트가 직면한 지속 가능성 위기를 탐구합니다.
- 패널들은 유지보수자의 번아웃 문제와 함께 기부, 상업적 지원, 오픈 코어 모델 등 다양한 지속 가능성 확보 방안을 논의합니다.
- 궁극적으로 오픈 소스 생태계의 복잡성을 인정하며 유지보수자에 대한 공감과 기업의 적극적인 기여가 필요함을 강조합니다.
EuRuKo
2025년 01월 13일
YARV (Yet Another Ruby Virtual Machine) 20년 개발 회고
Koichi Sasada, keynote, "20th year of YARV"
- YARV는 2004년 제안된 이후 20년간 발전해 온 Ruby 인터프리터의 핵심 가상 머신입니다.
- 스택 머신 모델, 자동 코드 생성, 다양한 최적화 기법을 통해 Ruby 성능 향상에 크게 기여했습니다.
- 미래 과제로는 메서드 인라이닝, 지연 로딩, 유연한 JIT 컴파일러 연구 등이 제시되었으며, 개발자는 20년의 여정에 감사를 표했습니다.
EuRuKo
2025년 01월 13일
RubyGems CVE의 역사와 보안 취약점
Samuel Giddins, "A survey of recent RubyGems CVEs"
- RubyGems, Bundler, rubygems.org는 지난 20년간 디렉토리 탐색, YAML 역직렬화 등 다양한 보안 취약점(CVE)에 직면했습니다.
- 특히 2013년 rubygems.org 침해 사건은 YAML RCE로 인해 인프라를 전면 재구축하는 계기가 되었습니다.
- Ruby Central은 HackerOne 보고, 서드파티 감사, 새로운 보안 프로젝트를 통해 Ruby 패키징 생태계의 보안 강화를 위해 지속적으로 노력하고 있습니다.
EuRuKo
2025년 01월 13일
콘텐츠 보안 정책(CSP) 도입 및 활용 전략
Igor S Morozov, "Benefits and challenges of introducing a strict Content Security Policy"
- 콘텐츠 보안 정책(CSP)은 크로스 사이트 스크립팅(XSS)과 같은 인젝션 공격으로부터 웹 애플리케이션을 보호하는 핵심적인 보안 표준입니다.
- 기존 프로젝트에 CSP를 도입할 때는 Ruby on Rails의 기본 정책부터 시작하여 '보고 전용 모드'로 문제를 식별하고 점진적으로 엄격한 정책으로 전환하는 것이 효과적입니다.
- CSP 구현은 초기 복잡성과 상당한 노력을 요구하지만, 웹 애플리케이션의 보안 수준을 크게 향상시키는 필수적인 투자입니다.
EuRuKo
2025년 01월 13일