IT

 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 

 

 






 







 


IT

 

 

AI  

 

 






 







 


 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 






 







 


 

Web  

 

 

PlayStation  

 

YouTuber  

 





 

 





 

 

 












Horizontally scaling the Rails backend of Shop app with Vitess

4users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Good problems We experienced hockey stick growth after we launched the Shop app. We were glued to our dashboards and saw millions of users onboard onto the app. This was gratifying, but we were becoming more nervous as our backend was pushed closer to its limit. We wrote the backend in Ruby on Rails, and used a MySQL



 

2024/01/19 09:20
 



 

















Introducing Ruvy  

36users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Weve recently open sourced a project called Ruvy! Ruvy is a toolchain that takes Ruby code as input and creates a WebAssembly module that will execute that Ruby code. There are other options for creating Wasm modules from Ruby code. The most common one is ruby.wasm. Ruvy is built on top of ruby.wasm to provide some



 

2023/10/19 02:36
 













 











10 Tips for Building Resilient Payment Systems  

8users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window During the past five years Ive worked on a lot of different parts of Shopifys payment infrastructure and helped onboard dozens of developers in one way or another. Some people came from different programming languages, others used Ruby before but were new to the payments space. What was mostly consistent among new



 

2023/05/01 12:50
 



 











Adventures in Garbage Collection: Improving GC Performance in our Massive Monolith  

3users  
shopify.engineering  


At the beginning of this year, we ran several experiments aimed at reducing the latency impact of the Ruby garbage collector (GC) in Shopify's monolith. In this article, Jean talks about the changes we made to improve GC performance, and more importantly, how we got to these changes.More



 

2023/04/21 12:35
 



 











Improving the Developer Experience with the Ruby LSP  

19users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Ruby has an explicit goal to make developers happy. Historically, working towards that goal mostly meant having rich syntax and being an expressive programming languageallowing developers to focus on business logic rather than appeasing the languages rules. Today, tooling has become a key part of this goal. Many mo



 

2023/02/27 11:19
 







 











The Case Against Monkey Patching, From a Rails Core Team Member  

3users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Monkey patching is considered one of the more powerful features of the Ruby programming language. However, by the end of this post Im hoping to convince you that they should be used sparingly, if at all, because they are brittle, dangerous, and often unnecessary. Ill also share tips on how to use them as safely as



 

2023/02/25 19:11
 





 











Bringing Javascript to WebAssembly for Shopify Functions  

24users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window At Winter Editions 2023 we announced a Local Developer Preview for JavaScript for Shopify Functions. That means that were adding JavaScript right next to Rust as our first-class languages for Shopify Functions (but you can still use anything that compiles to WebAssembly!). While you cant deploy a Shopify Function w



 

2023/02/09 23:57
 









 











How Good Documentation Can Improve Productivity  

21users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window When I joined Shopify last year, I knew its engineering culture was top class. What I didnt know was the companys documentation culture was even more developed than I previously experienced. Simply put, I was impressed with the amount of documentation about pretty much everything: onboarding, projects, internal too



 

2023/01/18 23:13
 









 











Ruby 3.2s YJIT is Production-Ready  

22users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Shopify and YJIT Back in July 2020, I joined the Ruby & Rails Infrastructure (R&RI) team at Shopify. Our team focuses on making sure that Ruby as well as Ruby on Rails, central to the infrastructure behind all Shopify stores and much of the modern web, run as smoothly and efficiently as possible. As part of the R&RI



 

2023/01/18 00:44
 





 











From Ruby to Node: Overhauling Shopifys CLI for a Better Developer Experience  

17users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window The Shopify CLI (command line interface) is an essential tool for developers when building and deploying Themes, Apps, Hydrogen storefronts on the Shopify platform. It provides workflows to create new projects that follow best practices, integrate with the platform during development, and distribute the production ar



 

2023/01/13 09:00
 









 











Migrating our Largest Mobile App to React Native  

3users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window In 2020, we announced that React Native is the future of mobile at Shopify and since then weve been migrating all our native mobile apps to React Native. Since each app is different, there is no single approach that works for all of them. So, we evaluated all the possible options for each app and chose the ones that



 

2022/12/30 09:02
 













Optimizing Rubys Memory Layout: Variable Width Allocation  

5users  
shopify.engineering  


In this blog post, Ill be introducing how Shopify is improving CRubys performance in Ruby 3.2 by optimizing the memory layout in the garbage collector through the Variable Width Allocation project. Rubys Memory Structure and Limitations Ruby is a garbage collected language. It automatically allocates memory when objects are created and releases the memory when it detects that an object is no lo



 

2022/12/25 17:13
 



 











Year in Review 2022: Tenderlove's Ruby and Rails Reflections and Predictions  

14users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Hi everyone! How are you doing? It's me, Aaron (some people know me on the internet as Tenderlove)! I hope you're doing well.  Since we're coming up on the end of the year, I thought it might be a good idea to take a moment to reflect on cool stuff that's happened or is happening in the Ruby community right now. Ac



 

2022/12/24 03:11
 









 











Shopify Embraces Rust for Systems Programming  

17users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Shopify builds internet infrastructure for commerce to serve the needs of millions of merchants. Doing that requires building both flexible business logic and robust, high-performance systems. In addition to our commitment to Ruby for its flexibility and expressiveness, we have recently adopted Rust as our official s



 

2022/12/15 08:32
 







 











Caching Without Marshal Part 1: Marshal from the Inside Out  

3users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Caching is critical to how Rails applications work. At every layer, whether it be in page rendering, database querying, or external data retrieval, the cache is what ensures that no single bottleneck brings down an entire application. But caching has a dirty secret, and that secrets name is Marshal. Marshal is Ruby



 

2022/11/12 18:23
 













Mixing It Up: Remix Joins Shopify to Push the Web Forward  

28users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window We are very excited to announce that the open-source web framework Remix and its team are joining Shopify. Why? The web is always evolvingand were entering a new era. First, we had the document web, and then we sprinkled in richer interactivity. Most recently, we entered the world of single page apps. Weve learned



 

2022/10/31 23:22
 











 











When is JIT Faster Than A Compiler?  

4users  
shopify.engineering  


It gets hand-wavy at the end, doesnt it? I find that frustrating. These days I work on YJIT, a JIT for Ruby. So I can make this extremely NOT hand-wavy. Lets talk specifics. I like specifics. Wait, Whats JIT Again? An interpreter reads a human-written description of your app and executes it. Youd usually use interpreters for Ruby, Python, Node.js, SQL, and nearly all high-level dynamic languag



 

2022/08/12 09:51
 













Shopify and Open Source: A Mutually Beneficial Relationship  

4users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Shopify and Rails have grown up together. Both were in their infancy in 2004, and our CEO (Tobi) was one of the first contributors and a member of Rails Core. Shopify was built on top of Rails, and our engineering culture is rooted in the Rails Doctrine, from developer happiness to the omakase menu, sharp knives, and



 

2022/07/07 02:55
 





 











How We Built Hydrogen: A React Framework for Building Custom Storefronts  

4users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Weve been building Hydrogen, a React framework for building custom storefronts on Shopify, for more than a year. We invested in cutting-edge new technology, like React Server Components, to ensure building on the Shopify platform is a terrific experience for developers. Heres a look behind the scenes at how we did



 

2022/06/24 08:02
 







 











Shopify Invests in Research for Ruby at Scale  

17users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Shopify is continuing to invest on Ruby on Rails at scale. Weve taken that further recently by funding high-profile academics to focus their work towards Ruby and the needs of the Ruby community. Over the past year we have given nearly half a million dollars in gifts to influential researchers that we trust to make



 

2022/05/17 09:39
 





 











Our Experience Porting the YJIT Ruby Compiler to Rust  

17users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Last year, my team at Shopify implemented YJIT, a new Just-In-Time (JIT) compiler for CRuby, which was recently upstreamed as part of Ruby 3.1. Because the CRuby codebase is implemented in C99, we also decided to implement YJIT in C99 so that integration with the rest of the CRuby codebase would be as simple as possi



 

2022/05/11 23:24
 







 











Best-in-Class Developer Experience with Vite and Hydrogen  

4users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Hydrogen is a framework that combines React and Vite for creating custom storefronts on Shopify. It maximizes performance for end-users and provides a best-in-class developer experience for you and your team. Since it focuses on evergreen browsers, Hydrogen can leverage modern capabilities, best practices, and the la



 

2022/03/31 23:59
 





 











React Server Components Best Practices You Can Use with Hydrogen  

37users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window When my team and I started experimenting with React Server Components (RSC) while building Hydrogen, our React-based framework for building custom storefronts, I was incredibly excited. Not only for the impact this would have on Hydrogen, and the future of ecommerce experience (goodbye large bundle sizes, hello impro



 

2022/02/10 07:12
 











 











How We Fixed the Dependency Confusion Vulnerability in Over 600 Ruby Applications  

6users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window



 

2022/01/28 02:29
 





 











Upgrading MySQL at Shopify  

4users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window In early September 2021, we retired our last Shopify database virtual machine (VM) that was running Percona Server 5.7.21, marking the complete cutover to 5.7.32. In this post, Ill share how the Database Platform team performed the most recent MySQL upgrade at Shopify. Ill talk about some of the roadblocks we encou



 

2021/12/04 02:17
 



 











Building Blocks of High Performance Hydrogen-powered Storefronts  

3users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window The future of commerce is dynamic, contextual, and personalized. Hydrogen is a React-based framework for building custom and creative storefronts giving developers everything they need to start fast, build fast, and deliver the best personalized and dynamic buyer experiences powered by Shopifys platform and APIs. We



 

2021/11/14 09:00
 



 











5 Steps for Building Machine Learning Models for Business  

4users  
shopify.engineering  


2. Keep It Simple When developing a first model, the excitement of seeking the best possible solution often leads to adding unnecessary complexity early on: engineering extra features or choosing the latest popular model architecture can certainly provide an edge. However, they also increase the time to build, the overall complexity of the system, as well as the time it takes for a new team member



 

2021/10/25 15:57
 





 











YJIT: Building a New JIT Compiler for CRuby  

32users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window The 1980s and 1990s saw the genesis of Perl, Ruby, Python, PHP, and JavaScript: interpreted, dynamically-typed programming languages which favored ease of use and flexibility over performance. In many ways, these programming languages are a product of the surrounding context. The 90s were the peak of the dot-com hype



 

2021/10/15 16:14
 







 











How to Build a Web App with and without Rails Libraries  

7users  
shopify.engineering  


Opens in a new windowOpens an external siteOpens an external site in a new window Ruby on Rails is a web framework that contains many libraries youd need to create and deploy a successful web application. We often take for granted the ability to run rails new to create a fully functional web application with tons of built-in features. For many of us, thats good enough since the goal of Rails is



 

2021/03/31 21:09
 



 








 




























 

Shopify Engineering  

 



j

k

l

e

o
 
 
















 









 

















 









 









 







Pro



 




 






App Storeからダウンロード
Google Playで手に入れよう


Copyright © 2005-2024 Hatena. All Rights Reserved.
 





x