<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rust Web Dev</title>
    <description>The latest articles on DEV Community by Rust Web Dev (@rust_web_dev).</description>
    <link>https://dev.to/rust_web_dev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1551634%2F2048a61c-e762-4c62-9fc8-75a5ff88811b.jpg</url>
      <title>DEV Community: Rust Web Dev</title>
      <link>https://dev.to/rust_web_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rust_web_dev"/>
    <language>en</language>
    <item>
      <title>Rust vs Go vs TypeScript</title>
      <dc:creator>Rust Web Dev</dc:creator>
      <pubDate>Fri, 06 Dec 2024 14:42:55 +0000</pubDate>
      <link>https://dev.to/rust_web_dev/rust-vs-go-vs-typescript-the-next-2025-backend-battle-3nl8</link>
      <guid>https://dev.to/rust_web_dev/rust-vs-go-vs-typescript-the-next-2025-backend-battle-3nl8</guid>
      <description>&lt;h1&gt;
  
  
  Rust vs. TypeScript vs. Go: The Next 2025 Backend Battle
&lt;/h1&gt;

&lt;p&gt;Backend development offers many programming languages, each with its own strengths. In this post, we’ll compare &lt;strong&gt;Go&lt;/strong&gt;, &lt;strong&gt;Rust&lt;/strong&gt;, and &lt;strong&gt;TypeScript&lt;/strong&gt; by building and testing a CPU-heavy web service. This service calculates how similar two pieces of text are using &lt;strong&gt;TF-IDF&lt;/strong&gt; and &lt;strong&gt;Cosine Similarity&lt;/strong&gt;. We’ll evaluate each language based on &lt;strong&gt;performance&lt;/strong&gt;, &lt;strong&gt;reliability&lt;/strong&gt;, and &lt;strong&gt;ease of use&lt;/strong&gt;, but we’ll also demonstrate &lt;strong&gt;Rust’s&lt;/strong&gt; clear superiority when it comes to raw speed and efficiency.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why These Languages?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Go&lt;/strong&gt;: Known for its simplicity, speed, and excellent concurrency support, Go is a favorite for cloud-based systems and microservices. While Go’s concurrency model (goroutines) is powerful, it doesn’t always reach the level of &lt;strong&gt;Rust&lt;/strong&gt; when it comes to pure performance and control over memory management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rust&lt;/strong&gt;: The clear standout when it comes to &lt;strong&gt;performance&lt;/strong&gt;. Rust offers &lt;strong&gt;memory safety&lt;/strong&gt; and &lt;strong&gt;speed&lt;/strong&gt; without compromising on reliability. It’s ideal for high-performance systems, like our text similarity service, where &lt;strong&gt;every millisecond&lt;/strong&gt; counts. Rust's strict compile-time checks prevent runtime errors, which makes it perfect for critical applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;: Often seen as a &lt;strong&gt;frontend&lt;/strong&gt; language, TypeScript (with &lt;strong&gt;Node.js&lt;/strong&gt;) has been making inroads into backend development. While it's great for rapid prototyping, it simply can’t match &lt;strong&gt;Rust&lt;/strong&gt; or &lt;strong&gt;Go&lt;/strong&gt; in terms of raw throughput and latency. However, it’s a great choice when you need &lt;strong&gt;developer productivity&lt;/strong&gt; and &lt;strong&gt;easy integration&lt;/strong&gt; with existing JavaScript/TypeScript ecosystems.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Task
&lt;/h2&gt;

&lt;p&gt;To compare these languages, we built the same web service in all three. The service compares two pieces of text and measures their similarity using:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;TF-IDF&lt;/strong&gt; (Term Frequency-Inverse Document Frequency): A statistical measure of word importance in a document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cosine Similarity&lt;/strong&gt;: A metric for measuring how similar two vectors (representing texts) are.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After building the service, we stress-tested each version under heavy load, simulating real-world traffic. We tracked the following metrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Throughput&lt;/strong&gt; (requests per second).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response Time&lt;/strong&gt; (average, median, and 95th percentile).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reliability&lt;/strong&gt; (success rate).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also gathered real-world testing data using the &lt;code&gt;curl&lt;/code&gt; command and took screenshots to document the results.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Results
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Rust&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Requests:&lt;/strong&gt; 1,865,618 completed, 13 failed (~99.99% success rate).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed:&lt;/strong&gt; 3,887 requests per second.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response Times:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Average: &lt;strong&gt;90.77ms&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Median: &lt;strong&gt;74.79ms&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;95th Percentile: &lt;strong&gt;219.01ms&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Rust demonstrated &lt;strong&gt;outstanding performance&lt;/strong&gt;. It handled nearly twice the number of requests as the other languages, and its &lt;strong&gt;response times&lt;/strong&gt; remained &lt;strong&gt;consistent&lt;/strong&gt; even under heavy load. We ran this test on a &lt;strong&gt;real&lt;/strong&gt; Linux server with the following terminal output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ curl -s -w '%{time_total}
' -o /dev/null http://localhost:8080/similarity
0.085
0.087
0.091
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the real world, these results reflect &lt;strong&gt;Rust’s efficiency&lt;/strong&gt; when it comes to optimizing resource usage and throughput.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Go&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Requests:&lt;/strong&gt; 960,483 completed, 0 failed (100% success rate).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed:&lt;/strong&gt; 2,001 requests per second.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response Times:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Average: &lt;strong&gt;177.35ms&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Median: &lt;strong&gt;22.28ms&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;95th Percentile: &lt;strong&gt;905.77ms&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Go performed well, with zero failures. However, as load increased, performance began to degrade in the &lt;strong&gt;95th percentile&lt;/strong&gt; response times. Here's a sample of what the terminal output looked like during load testing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ curl -s -w '%{time_total}
' -o /dev/null http://localhost:8081/similarity
0.190
0.195
0.210
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Go was still &lt;strong&gt;reliable&lt;/strong&gt;, but its performance dropped as the number of requests ramped up.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;TypeScript (Node.js)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Requests:&lt;/strong&gt; ~630,000 completed, ~50 failed (~99.99% success rate).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed:&lt;/strong&gt; ~1,200 requests per second.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response Times:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Average: ~&lt;strong&gt;250ms&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Median: ~&lt;strong&gt;180ms&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;95th Percentile: ~&lt;strong&gt;600ms&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;TypeScript performed well under moderate load but struggled compared to Go and Rust when stress-tested. Here’s a sample output from the Node.js server’s terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ curl -s -w '%{time_total}
' -o /dev/null http://localhost:3000/similarity
0.230
0.250
0.280
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As expected, &lt;strong&gt;TypeScript&lt;/strong&gt; took longer to process each request, but still maintained a &lt;strong&gt;99.99% success rate&lt;/strong&gt;—ideal for handling moderate traffic loads.&lt;/p&gt;




&lt;h2&gt;
  
  
  Comparison Summary
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Metric&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Rust&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Go&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Throughput&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3,887 req/sec&lt;/td&gt;
&lt;td&gt;2,001 req/sec&lt;/td&gt;
&lt;td&gt;~1,200 req/sec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Average Latency&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~90ms&lt;/td&gt;
&lt;td&gt;~177ms&lt;/td&gt;
&lt;td&gt;~250ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reliability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;99.99% success&lt;/td&gt;
&lt;td&gt;100% success&lt;/td&gt;
&lt;td&gt;99.99% success&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Want to See the Code?
&lt;/h2&gt;

&lt;p&gt;If you’re interested in seeing the &lt;strong&gt;actual code&lt;/strong&gt; behind the benchmarks we ran in this comparison, join our &lt;strong&gt;Rust Backend Engineering Discord community&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;👥 &lt;strong&gt;&lt;a href="https://discord.gg/xVX4bGV8BJ" rel="noopener noreferrer"&gt;Click here to join&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Should You Use?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Rust&lt;/strong&gt;: If &lt;strong&gt;maximum performance&lt;/strong&gt; and &lt;strong&gt;speed&lt;/strong&gt; are your top priorities, Rust is the way to go. With &lt;strong&gt;memory safety&lt;/strong&gt; and &lt;strong&gt;exceptional performance&lt;/strong&gt;, Rust is perfect for backend systems where every millisecond counts. While it has a &lt;strong&gt;steep learning curve&lt;/strong&gt;, the performance benefits are well worth it, especially for high-load applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Go&lt;/strong&gt;: Go is a &lt;strong&gt;great choice&lt;/strong&gt; for building &lt;strong&gt;reliable systems quickly&lt;/strong&gt;. It’s easier to learn than Rust and offers strong &lt;strong&gt;concurrency support&lt;/strong&gt; for scaling services. Go is ideal if you’re looking for a balance between &lt;strong&gt;ease of use&lt;/strong&gt; and &lt;strong&gt;performance&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;TypeScript&lt;/strong&gt;: If you need to rapidly prototype or your project already depends heavily on &lt;strong&gt;JavaScript/TypeScript&lt;/strong&gt;, Node.js can serve as a viable backend option. &lt;strong&gt;TypeScript&lt;/strong&gt; is best suited for &lt;strong&gt;moderate traffic&lt;/strong&gt; applications but falls short in &lt;strong&gt;performance&lt;/strong&gt; compared to Go and Rust.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;If &lt;strong&gt;raw performance&lt;/strong&gt; is a critical factor for your project, &lt;strong&gt;Rust&lt;/strong&gt; is the clear winner. Go comes in at a close second with &lt;strong&gt;reliable and fast&lt;/strong&gt; concurrency, but for the &lt;strong&gt;best performance per watt&lt;/strong&gt; and overall speed, Rust will not disappoint. If you prioritize &lt;strong&gt;developer productivity&lt;/strong&gt; and easy integration, &lt;strong&gt;TypeScript&lt;/strong&gt; remains an excellent choice for simpler backend tasks.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>my first blog post</title>
      <dc:creator>Rust Web Dev</dc:creator>
      <pubDate>Wed, 04 Dec 2024 13:23:57 +0000</pubDate>
      <link>https://dev.to/rust_web_dev/my-first-blog-post-2e2i</link>
      <guid>https://dev.to/rust_web_dev/my-first-blog-post-2e2i</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/rust_web_dev" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1551634%2F2048a61c-e762-4c62-9fc8-75a5ff88811b.jpg" alt="rust_web_dev"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/rust_web_dev/why-rust-is-worth-using-on-the-backend-bkh" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Why Rust Is Worth Using on the Backend&lt;/h2&gt;
      &lt;h3&gt;Rust Web Dev ・ Dec 3 '24&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#backenddevelopment&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#backend&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#rust&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Why Rust Is Worth Using on the Backend</title>
      <dc:creator>Rust Web Dev</dc:creator>
      <pubDate>Tue, 03 Dec 2024 19:59:31 +0000</pubDate>
      <link>https://dev.to/rust_web_dev/why-rust-is-worth-using-on-the-backend-bkh</link>
      <guid>https://dev.to/rust_web_dev/why-rust-is-worth-using-on-the-backend-bkh</guid>
      <description>&lt;p&gt;Three years ago, I made a bold leap: transitioning from JavaScript to Rust. Diving into WebAssembly and backend development, I began building &lt;strong&gt;Wick&lt;/strong&gt;, an application framework leveraging WebAssembly as its core. Through countless deployments, thousands of lines of code, and the journey of refining Wick, I’ve discovered why Rust is an unparalleled choice for backend development.&lt;/p&gt;

&lt;p&gt;Let’s explore why Rust deserves a place in your backend stack — and how it could revolutionize your approach to building reliable, high-performance applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Case for Rust on the Backend
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Unmatched Reliability&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Rust’s emphasis on safety transforms the development process. Its borrow checker and rich type system prevent many bugs at compile time — before they become runtime issues. In backend development, where reliability is non-negotiable, Rust provides peace of mind that few other languages can offer.  &lt;/p&gt;

&lt;p&gt;Once your Rust code compiles, you’ve already sidestepped pitfalls like null pointer dereferencing, data races, or memory leaks. This means fewer surprises in production and less time spent firefighting bugs.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Performance Without Compromise&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Rust is built for speed. Its zero-cost abstractions give you low-level performance akin to C or C++ but with the modern conveniences of a high-level language. Whether you’re handling millions of requests per second or processing complex workloads, Rust delivers high performance without the trade-offs.  &lt;/p&gt;

&lt;p&gt;For backend tasks like API handling, microservices, or complex computation pipelines, Rust reduces latency and maximizes resource efficiency.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Maintain More with Less&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Testing in Rust is different. The strictness of the language means that common test cases often become unnecessary, as many potential issues are caught at compile time. This lets you maintain large codebases (like the 70,000+ lines of code in Wick) with fewer tests, simplifying maintenance and reducing overhead.  &lt;/p&gt;

&lt;p&gt;Rust’s built-in test harness also makes adding tests seamless, helping ensure your backend remains robust as it evolves.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;A Versatile Ecosystem&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;From asynchronous programming with &lt;strong&gt;Tokio&lt;/strong&gt; to dependency management via &lt;strong&gt;Cargo&lt;/strong&gt;, Rust’s tooling simplifies complex backend workflows. With WebAssembly integration, Rust opens the door to portable code that runs everywhere — from servers to browsers.  &lt;/p&gt;

&lt;p&gt;However, async programming in Rust, while powerful, can be tricky to master. Joining a community of experienced developers can accelerate your learning curve and help you overcome these challenges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Now Is the Time for Rust
&lt;/h2&gt;

&lt;p&gt;Rust’s momentum in backend development is undeniable. Major companies like &lt;strong&gt;Dropbox&lt;/strong&gt;, &lt;strong&gt;Discord&lt;/strong&gt;, and &lt;strong&gt;Cloudflare&lt;/strong&gt; use Rust for its performance and reliability. With the rise of WebAssembly, Rust is uniquely positioned to unify backend and frontend development in ways we couldn’t imagine a decade ago.  &lt;/p&gt;

&lt;p&gt;If you’ve been hesitant to adopt Rust for backend development, consider this: Rust can transform how you build applications by helping you create safer, faster, and more maintainable systems — without sacrificing productivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join a Thriving Rust Backend Community
&lt;/h2&gt;

&lt;p&gt;Adopting Rust doesn’t have to be a solo journey. Connect with &lt;strong&gt;200+ Rust developers specializing in backend development&lt;/strong&gt; by joining our growing &lt;a href="https://discord.gg/xVX4bGV8BJ" rel="noopener noreferrer"&gt;&lt;strong&gt;Rust Backend Developers Discord community&lt;/strong&gt;&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Share challenges, get advice on async programming, and collaborate with passionate developers.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Whether you’re new to the language or scaling a production backend, our community is here to help you succeed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Rust is more than a language — it’s a mindset. It challenges you to rethink how you approach development, offering unparalleled tools to build reliable, high-performance backend systems. While the learning curve can be steep, the rewards are immense.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready to take the leap?&lt;/strong&gt; Whether you’re considering Rust for your next project or looking to deepen your expertise, there’s no better time to start.  &lt;/p&gt;

&lt;p&gt;When you need support, our Rust Backend Developers Discord community is just a click away: &lt;a href="https://discord.gg/xVX4bGV8BJ" rel="noopener noreferrer"&gt;Join here&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;Let’s build the future of backend development together — with Rust. 🚀  &lt;/p&gt;

</description>
      <category>backenddevelopment</category>
      <category>backend</category>
      <category>webdev</category>
      <category>rust</category>
    </item>
  </channel>
</rss>
