<?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: Rahul</title>
    <description>The latest articles on DEV Community by Rahul (@rahull_0906).</description>
    <link>https://dev.to/rahull_0906</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%2F3226915%2F83e84bec-c90f-434d-b4ab-33c56447ede6.jpg</url>
      <title>DEV Community: Rahul</title>
      <link>https://dev.to/rahull_0906</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rahull_0906"/>
    <language>en</language>
    <item>
      <title>Creating Thumbnail Images in Swift using UIKit</title>
      <dc:creator>Rahul</dc:creator>
      <pubDate>Fri, 30 May 2025 16:47:26 +0000</pubDate>
      <link>https://dev.to/rahull_0906/creating-thumbnail-images-in-swift-using-uikit-15gh</link>
      <guid>https://dev.to/rahull_0906/creating-thumbnail-images-in-swift-using-uikit-15gh</guid>
      <description>&lt;h1&gt;
  
  
  📱 Creating Thumbnail Images in Swift using UIKit
&lt;/h1&gt;

&lt;p&gt;Creating thumbnail images is a great way to improve performance in iOS apps—especially when you're working with &lt;code&gt;UITableView&lt;/code&gt; or &lt;code&gt;UICollectionView&lt;/code&gt;. This post shows how to generate a resized and compressed version of a &lt;code&gt;UIImage&lt;/code&gt; using &lt;strong&gt;UIKit&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✂️ Why Use Thumbnail Images?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;: Smaller images load faster and reduce memory usage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Experience&lt;/strong&gt;: Helps keep your UI smooth and responsive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage&lt;/strong&gt;: Reduces app size and bandwidth when uploading/downloading images.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠 The Code
&lt;/h2&gt;

&lt;p&gt;Here's a simple function to create a thumbnail from a &lt;code&gt;UIImage&lt;/code&gt; while preserving its aspect ratio and compressing the result:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
swift
import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var tableView: UITableView!

    func createThumbnailImage(image: UIImage, size: CGSize) -&amp;gt; UIImage? {
        let scale = max(size.width/image.size.width, size.height/image.size.height)
        let width = image.size.width * scale
        let height = image.size.height * scale
        let newSize = CGSize(width: width, height: height)
        UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
        image.draw(in: CGRect(origin: CGPoint.zero, size: newSize))
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        if let jpegData = newImage?.jpegData(compressionQuality: 0.8) {
            return UIImage(data: jpegData)
        } else {
            return nil
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>swift</category>
      <category>ios</category>
      <category>uikit</category>
      <category>development</category>
    </item>
    <item>
      <title>How I Learned to Stop Worrying and Love Version Control - A Lesson in Software Collaboration</title>
      <dc:creator>Rahul</dc:creator>
      <pubDate>Fri, 30 May 2025 16:19:25 +0000</pubDate>
      <link>https://dev.to/rahull_0906/how-i-learned-to-stop-worrying-and-love-version-control-a-lesson-in-software-collaboration-jp4</link>
      <guid>https://dev.to/rahull_0906/how-i-learned-to-stop-worrying-and-love-version-control-a-lesson-in-software-collaboration-jp4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;An iOS developer’s reflection on learning to collaborate better through version control tools like Git.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;As an iOS developer, I’ve spent most of my time in Xcode building apps, writing Swift, and battling provisioning profiles. But one thing I never truly appreciated until recently is how much &lt;strong&gt;version control matters&lt;/strong&gt;, especially when you’re not working solo.&lt;/p&gt;

&lt;p&gt;I recently completed a short course module on software collaboration and version control, and honestly, it changed how I think about team workflows. If you're a developer (especially on a team), this is stuff you &lt;strong&gt;can’t afford to ignore&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤝 How Devs Collaborate Without Chaos
&lt;/h2&gt;

&lt;p&gt;One of the first things the module dove into was how developers around the world collaborate without stepping on each other's toes. And trust me, it’s not just about coding styles or conventions—it's about &lt;strong&gt;having a system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Big tech companies like &lt;strong&gt;Meta&lt;/strong&gt; use well-defined workflows to manage massive codebases, and even though their scale is huge, the core challenges are the same for us all: &lt;strong&gt;collaboration, clarity, and accountability&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Understanding Version Control (Finally, Properly)
&lt;/h2&gt;

&lt;p&gt;I’ve used Git for years, but I’ll admit—I learned it on the job, through Stack Overflow and trial by fire. This course helped me zoom out and really understand the &lt;strong&gt;why&lt;/strong&gt; behind the workflows.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Version control isn’t just about saving your code.&lt;/li&gt;
&lt;li&gt;It’s about &lt;strong&gt;tracking every meaningful change&lt;/strong&gt;, being able to go back when needed, and working with teammates without collisions.&lt;/li&gt;
&lt;li&gt;Git, SVN, Mercurial—they all aim to make that possible.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔧 Tools of the Trade
&lt;/h2&gt;

&lt;p&gt;In iOS dev, Git + GitHub is the standard combo. But it was still helpful to learn about tools like &lt;strong&gt;GitLab&lt;/strong&gt;, &lt;strong&gt;Bitbucket&lt;/strong&gt;, and even older systems like &lt;strong&gt;Subversion (SVN)&lt;/strong&gt;. Knowing the broader version control landscape helps if you ever walk into a legacy project or a different kind of team setup.&lt;/p&gt;

&lt;p&gt;Also, branching strategies were covered—like feature branches, hotfixes, and release branches—which are essential for shipping updates cleanly and avoiding bugs in production.&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 A Quick History Lesson
&lt;/h2&gt;

&lt;p&gt;There was a short reading on the &lt;strong&gt;evolution of version control systems&lt;/strong&gt;, from the old days of RCS and CVS to the rise of Git. It really puts things in perspective—how we got here and why tools like Git became the default.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Staging vs. Production
&lt;/h2&gt;

&lt;p&gt;This hit home for me as an iOS dev. Understanding the difference between &lt;strong&gt;staging&lt;/strong&gt; and &lt;strong&gt;production&lt;/strong&gt; is key when deploying to TestFlight or the App Store. A slip-up—like pushing a debug build to production—can be avoided with proper workflows and versioning strategies.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✅ Putting It into Practice
&lt;/h2&gt;

&lt;p&gt;There were a couple of quizzes and small assignments that helped solidify the concepts. Nothing too heavy - just enough to make sure I actually understood the differences between commits, branches, merges, and reverts.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 My Takeaway
&lt;/h2&gt;

&lt;p&gt;At the start of the module, I was asked what I hoped to learn. My answer was simple: I wanted to stop treating Git as a necessary evil and start using it as a &lt;strong&gt;collaboration tool&lt;/strong&gt;, not just a backup plan.&lt;br&gt;
Now, I feel way more confident in setting up proper workflows - not just for myself, but for any team I join or lead in the future.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;If you're an iOS developer (or any dev really) and still feel shaky about version control, &lt;strong&gt;investing time into understanding it will pay off&lt;/strong&gt;. It's not just about "git push" anymore. It's about &lt;strong&gt;working smarter, avoiding costly mistakes, and shipping better apps -&lt;/strong&gt; together.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
