<?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: Raksha</title>
    <description>The latest articles on DEV Community by Raksha (@garambharaksha).</description>
    <link>https://dev.to/garambharaksha</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%2F828995%2Fa14eb221-46bc-4579-9f5d-fa3380915e8a.jpg</url>
      <title>DEV Community: Raksha</title>
      <link>https://dev.to/garambharaksha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/garambharaksha"/>
    <language>en</language>
    <item>
      <title>Useful Tips for writing testable code in iOS.</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Fri, 06 Jan 2023 12:06:09 +0000</pubDate>
      <link>https://dev.to/canopassoftware/useful-tips-for-writing-testable-code-in-ios-3670</link>
      <guid>https://dev.to/canopassoftware/useful-tips-for-writing-testable-code-in-ios-3670</guid>
      <description>&lt;p&gt;Many developers don't like writing tests. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But&lt;/strong&gt; once you start writing it, you may fall in love with writing tests. You might not want to implement any feature without writing tests once you learn how to write them effectively. And that’s the reality.&lt;/p&gt;

&lt;p&gt;However, the leading cause is code, which is highly coupled and difficult to test. But like with anything in life, &lt;strong&gt;it’s all about practice, and eventually, you will love it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Writing testable code is an important practice for any software developer. It ensures that your code is reliable, maintainable, and easy to improve.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In this post, I tried to share a few important Dos and Don’ts points for writing testable Swift code that we need to consider while writing the test.&lt;/p&gt;

&lt;p&gt;By following these best practices, you can write code that is easy to test and maintain, and that delivers the desired results.&lt;/p&gt;

&lt;p&gt;Few points to get started...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use dependency injection&lt;/li&gt;
&lt;li&gt;Use appropriate app architecture&lt;/li&gt;
&lt;li&gt;Avoid using singletons&lt;/li&gt;
&lt;li&gt;Write tests for every feature&lt;/li&gt;
&lt;li&gt;Use the mocking library&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a detailed post, &lt;a href="https://blog.canopas.com/swift-essential-tips-to-know-for-writing-testable-code-65287584d83c" rel="noopener noreferrer"&gt;check out canopas blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>career</category>
    </item>
    <item>
      <title>Cool tooltips designed using only CSS</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Fri, 23 Dec 2022 12:20:32 +0000</pubDate>
      <link>https://dev.to/canopassoftware/cool-tooltips-designed-using-only-css-5666</link>
      <guid>https://dev.to/canopassoftware/cool-tooltips-designed-using-only-css-5666</guid>
      <description>&lt;p&gt;Beautify your tooltips with customized arrows. &lt;/p&gt;

&lt;p&gt;Do you know how to design tooltips using only CSS?&lt;/p&gt;

&lt;p&gt;In the UI design, we often need to show limited information using images or icons. On hovering over it, we can show more information using &lt;strong&gt;tooltips&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This article will guide you to design different types of tooltip arrows using pure CSS. We will draw arrows on pseudo-selectors like &lt;strong&gt;:before&lt;/strong&gt; and &lt;strong&gt;:after&lt;/strong&gt; with the absolute position using only CSS.&lt;/p&gt;

&lt;h2&gt;
  
  
  We will draw below shapes for the tooltips.
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Triangle&lt;/li&gt;
&lt;li&gt;Right triangle&lt;/li&gt;
&lt;li&gt;Curved&lt;/li&gt;
&lt;li&gt;V-curved&lt;/li&gt;
&lt;li&gt;Circled&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For implementation details, &lt;a href="https://blog.canopas.com/fancy-tooltip-arrows-using-pure-css-e82d8f349e44"&gt;check out our Blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>tooltips</category>
      <category>design</category>
    </item>
    <item>
      <title>How to improve performance of your SwiftUI iOS app?</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Wed, 21 Dec 2022 14:34:30 +0000</pubDate>
      <link>https://dev.to/canopassoftware/how-to-improve-performance-of-your-swiftui-ios-app-5hh6</link>
      <guid>https://dev.to/canopassoftware/how-to-improve-performance-of-your-swiftui-ios-app-5hh6</guid>
      <description>&lt;p&gt;SwiftUI is a powerful new framework for building user interfaces on Apple platforms.&lt;/p&gt;

&lt;p&gt;It’s a &lt;strong&gt;declarative&lt;/strong&gt; framework, which means you can define the desired state of your user interface and the framework takes care of updating the views to match the state.&lt;/p&gt;

&lt;p&gt;This can make it easier to write and maintain your code, but it also means that you need to be mindful of how you use the framework to avoid performance issues.&lt;/p&gt;

&lt;p&gt;SwiftUI has been around for almost 3 years now, and during this period, I have noticed a few things that can impact its performance, the mistakes every developer should avoid.&lt;/p&gt;

&lt;p&gt;In this post, I’ve tried to cover a few important tips that we can take care of for SwiftUI app performance.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Use structs instead of classes for your data model&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
SwiftUI works best with value types (such as structs) because they are easier to work with and can result in better performance. When possible, try to use structs instead of classes to store your data and pass it around your app.&lt;/p&gt;

&lt;p&gt;This can be more efficient than using classes, which are reference types and require more memory management.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Use lazy stacks and grids when appropriate&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Lazy stacks and grids are efficient ways to display large lists of views, as they only create the views that are currently visible on the screen.&lt;/p&gt;

&lt;p&gt;This can help improve the performance of your app, especially when displaying large lists of views that are expensive to create.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.canopas.com/swiftui-performance-tuning-tips-and-tricks-a8f9eeb23ec4"&gt;Check out our blog&lt;/a&gt; for more tips and tricks to boost the performance of your SwiftUI iOS app.&lt;/p&gt;

</description>
      <category>ios</category>
      <category>swift</category>
      <category>swiftui</category>
      <category>mobile</category>
    </item>
    <item>
      <title>How to deploy a website using serverless architecture?</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Thu, 15 Dec 2022 12:56:33 +0000</pubDate>
      <link>https://dev.to/canopassoftware/how-to-deploy-a-website-using-serverless-architecture-3lm5</link>
      <guid>https://dev.to/canopassoftware/how-to-deploy-a-website-using-serverless-architecture-3lm5</guid>
      <description>&lt;p&gt;How to deploy a website with AWS S3 + CloudFront using CloudFormation?&lt;/p&gt;

&lt;p&gt;After making the backend serverless, it’s time for the frontend to go serverless.&lt;/p&gt;

&lt;p&gt;So, why do we go serverless or say what are the benefits?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get rid of server management and code deployment stuff&lt;/li&gt;
&lt;li&gt;Pay for what you use&lt;/li&gt;
&lt;li&gt;Infinite scaling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This article will show you how to deploy a website using &lt;code&gt;AWS S3&lt;/code&gt;, &lt;code&gt;CloudFront&lt;/code&gt;, and &lt;code&gt;CloudFormation&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Add IAM permissions&lt;/li&gt;
&lt;li&gt;Create an S3 bucket and upload the code&lt;/li&gt;
&lt;li&gt;Create OriginAccessControl(OAC)&lt;/li&gt;
&lt;li&gt;Configure CloudFront&lt;/li&gt;
&lt;li&gt;Update the S3 bucket policy&lt;/li&gt;
&lt;li&gt;Point the domain to CloudFront&lt;/li&gt;
&lt;li&gt;FAQs&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For detailed implementation, &lt;a href="https://blog.canopas.com/deploy-a-website-with-aws-s3-cloudfront-using-cloudformation-c2199dc6c435" rel="noopener noreferrer"&gt;check out our blog.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>neovim</category>
      <category>vscode</category>
      <category>productivity</category>
    </item>
    <item>
      <title>CSS pseudo-classes with examples</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Thu, 08 Dec 2022 11:55:00 +0000</pubDate>
      <link>https://dev.to/canopassoftware/css-pseudo-classes-with-examples-42af</link>
      <guid>https://dev.to/canopassoftware/css-pseudo-classes-with-examples-42af</guid>
      <description>&lt;p&gt;Do you know how to apply CSS based on some conditions?&lt;/p&gt;

&lt;p&gt;Did you know HTML elements can adopt CSS based on conditions?&lt;/p&gt;

&lt;p&gt;The answer is YES. Using CSS pseudo-classes.&lt;/p&gt;

&lt;p&gt;CSS pseudo-class functions free us from the nested CSS rules. As a result, styles are precise and easy to understand.&lt;/p&gt;

&lt;p&gt;It takes a selector list as an argument and selects any element that can be selected by one of the selectors in that list.&lt;/p&gt;

&lt;p&gt;Imagine you want to apply styles based on a few conditions. But you don’t want to integrate javascript or jquery into your webpage. That's where you can use CSS pseudo-classes.&lt;/p&gt;

&lt;p&gt;In this post, you will learn 6 CSS classes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;:where()&lt;/li&gt;
&lt;li&gt;:has()&lt;/li&gt;
&lt;li&gt;:is()&lt;/li&gt;
&lt;li&gt;:not()&lt;/li&gt;
&lt;li&gt;:dir()&lt;/li&gt;
&lt;li&gt;:lang()&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It’s always possible to design pages without advanced selectors. But if you want to make styles pretty and precise, it might be proved a savior!&lt;/p&gt;

&lt;p&gt;For a detailed implementation guide, &lt;a href="https://blog.canopas.com/css-advanced-pseudo-classes-with-examples-c1d253c662e6" rel="noopener noreferrer"&gt;check out canopas blog.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>career</category>
    </item>
    <item>
      <title>Resize TextField in Jetpack Compose</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Tue, 06 Dec 2022 12:27:37 +0000</pubDate>
      <link>https://dev.to/canopassoftware/resize-textfield-in-jetpack-compose-1pkg</link>
      <guid>https://dev.to/canopassoftware/resize-textfield-in-jetpack-compose-1pkg</guid>
      <description>&lt;p&gt;Do you know how to make TextField responsive to fit content perfectly?&lt;/p&gt;

&lt;p&gt;Let’s make TextField Responsive to fit perfectly within its bounds.&lt;/p&gt;

&lt;p&gt;I was working on the app where I needed a few TextField that should resize as the text grows. Currently, there’s no way to accomplish this in Jetpack compose. So let’s implement a custom resizable text field.&lt;/p&gt;

&lt;p&gt;We’ll implement the TextField that resizes depending on the fixed height.&lt;/p&gt;

&lt;p&gt;The complete source code of the implementation is available on &lt;a href="https://github.com/cp-radhika-s/AutoSizeTextFieldDemo" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I've divided the implementation into smaller parts to make it easy.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Calculate the line count and height of the Text with the given Text Style&lt;/li&gt;
&lt;li&gt;Shrink the font size to fit on the specified max line&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For detailed implementation, &lt;a href="https://blog.canopas.com/autosizing-textfield-in-jetpack-compose-7a80f0270853" rel="noopener noreferrer"&gt;check out our blog.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>security</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>SwiftUI animations with examples</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Mon, 05 Dec 2022 11:01:01 +0000</pubDate>
      <link>https://dev.to/canopassoftware/swiftui-animations-with-examples-180n</link>
      <guid>https://dev.to/canopassoftware/swiftui-animations-with-examples-180n</guid>
      <description>&lt;p&gt;Why do users love motion(animation) so much? &lt;/p&gt;

&lt;p&gt;Because animation supports the essence of actual and real interaction.&lt;/p&gt;

&lt;p&gt;Here are some of the cool and eye-pleasing animations developed using SwiftUI.&lt;/p&gt;

&lt;p&gt;This post consists of 3 animations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rotating Dot Animation&lt;/strong&gt; — Dot rotates in the circle and works as a loader&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three Bouncing Dot animation&lt;/strong&gt; — 3 dots that bounce in the flow one-by-one&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clock Animation&lt;/strong&gt; — Self-explanatory right?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The final implementation will look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Fan1h9kmrv5pgyw9buiqn.gif" class="article-body-image-wrapper"&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%2Farticles%2Fan1h9kmrv5pgyw9buiqn.gif" alt="Image description" width="296" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're not interested in the process and want to use them directly in your project, check out the source code on our &lt;a href="https://github.com/canopas/Swiftui-animations-examples" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For implementation detail, &lt;a href="https://blog.canopas.com/animations-in-swiftui-with-examples-part-3-56411ae2ffe0" rel="noopener noreferrer"&gt;visit canopas blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tooling</category>
    </item>
    <item>
      <title>How to Use Firestore and Firebase Realtime Database with Combine in iOS</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Fri, 25 Nov 2022 10:47:55 +0000</pubDate>
      <link>https://dev.to/canopassoftware/how-to-use-firestore-and-firebase-realtime-database-with-combine-in-ios-4man</link>
      <guid>https://dev.to/canopassoftware/how-to-use-firestore-and-firebase-realtime-database-with-combine-in-ios-4man</guid>
      <description>&lt;p&gt;In this post, you will learn how to observe items from the Firebase databases in real-time using combine framework.&lt;/p&gt;

&lt;p&gt;The database is at the &lt;strong&gt;heart&lt;/strong&gt; of every application, be it Android, iOS, or the Web. When it comes to iOS databases, there are so many popular options like Coredata, SQLite, and Realm.&lt;/p&gt;

&lt;p&gt;They all have a common disadvantage though, they are local databases and thus it’s not sufficient if we want our users to interact with each other or want to store data in the cloud.&lt;/p&gt;

&lt;p&gt;If we want to save data in the cloud, we will need a backend, which mostly comes at a &lt;strong&gt;huge cost.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s where the &lt;strong&gt;Firebase database&lt;/strong&gt; comes into the picture. I’m not going to list out &lt;strong&gt;all the benefits&lt;/strong&gt; of it as it’s a well-known database in the community but you can check out &lt;a href="https://firebase.google.com/docs/firestore" rel="noopener noreferrer"&gt;official&lt;/a&gt; docs for more information.&lt;/p&gt;

&lt;p&gt;Today, we will explore how we can observe items from the database in &lt;strong&gt;real-time&lt;/strong&gt; using &lt;strong&gt;combine&lt;/strong&gt; framework.&lt;/p&gt;

&lt;p&gt;Initially, we will understand an example but later we will create an &lt;strong&gt;extension&lt;/strong&gt; that can convert any database reference to a combine stream.&lt;/p&gt;

&lt;p&gt;For detailed implementation, please &lt;a href="https://blog.canopas.com/use-firestore-and-firebase-realtime-database-with-combine-f7f865c0befc" rel="noopener noreferrer"&gt;check out canopas blog.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Reorder items with Drag and Drop using SwiftUI</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Fri, 18 Nov 2022 12:28:26 +0000</pubDate>
      <link>https://dev.to/canopassoftware/reorder-items-with-drag-and-drop-using-swiftui-1mii</link>
      <guid>https://dev.to/canopassoftware/reorder-items-with-drag-and-drop-using-swiftui-1mii</guid>
      <description>&lt;p&gt;Learn how to replicate UIKit’s Drag and Drop feature in the SwiftUI&lt;/p&gt;

&lt;p&gt;Earlier, we implemented a Drag and Drop feature for UICollectionView, which was used to copy the dragged item. Very useful for functionality like adding items to the cart.&lt;/p&gt;

&lt;p&gt;Please &lt;a href="https://blog.canopas.com/ios-drag-and-drop-collection-view-cell-using-swift-ea21d1f4045c"&gt;check out the article&lt;/a&gt; if you’ve missed it.&lt;/p&gt;

&lt;p&gt;Last week, we received a new requirement to provide drag and drop feature in the app for a better user experience.&lt;/p&gt;

&lt;p&gt;According to requirements, we wanted to allow users to prioritize their activity according to their needs. While we did the implementation with UIKit in the past, we never had a chance to do it using SwiftUI.&lt;/p&gt;

&lt;p&gt;I have divided this into 3 parts, feel free to jump around according to your needs!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a basic UI&lt;/li&gt;
&lt;li&gt;Add drag support&lt;/li&gt;
&lt;li&gt;Add drop support and update the list&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For detailed implementation, &lt;a href="https://blog.canopas.com/reorder-items-with-drag-and-drop-using-swiftui-e336d44b9d02"&gt;check out our blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ios</category>
      <category>swift</category>
      <category>swiftui</category>
      <category>mobile</category>
    </item>
    <item>
      <title>How to draw text on Canvas using drawText API in Jetpack Compose?</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Fri, 11 Nov 2022 09:16:44 +0000</pubDate>
      <link>https://dev.to/canopassoftware/how-to-draw-text-on-canvas-using-drawtext-api-in-jetpack-compose-1119</link>
      <guid>https://dev.to/canopassoftware/how-to-draw-text-on-canvas-using-drawtext-api-in-jetpack-compose-1119</guid>
      <description>&lt;p&gt;Exploring text on Canvas using drawText API in Jetpack Compose.&lt;/p&gt;

&lt;p&gt;Before Compose 1.3.0, there was no &lt;code&gt;drawText()&lt;/code&gt;. We couldn’t draw text directly on the Jetpack Compose canvas, we had to use android native canvas &lt;code&gt;canvas.nativeCanvas.drawText&lt;/code&gt; to draw text.&lt;/p&gt;

&lt;p&gt;The recent release of Jetpack Compose 1.3.0 introduces many new APIs. And Text on Canvas is one of them.&lt;/p&gt;

&lt;p&gt;Please note that this API is still in the experimental state and it is likely to change in the future.&lt;/p&gt;

&lt;p&gt;In this blog post, we’ll explore the new &lt;code&gt;DrawScope.drawText()&lt;/code&gt; API with multiple examples.&lt;/p&gt;

&lt;p&gt;For those who are interested in code only, &lt;a href="https://github.com/cp-radhika-s/TextOnCanvasDemo"&gt;here you go&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.canopas.com/exploring-text-on-canvas-using-drawtext-api-in-jetpack-compose-402e1285935c"&gt;The original post&lt;/a&gt; is published on the Canopas blog.&lt;/p&gt;

</description>
      <category>android</category>
      <category>jetpackcompose</category>
      <category>kotlin</category>
      <category>mobile</category>
    </item>
    <item>
      <title>What is moment.js alternative in Javascript?</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Thu, 10 Nov 2022 09:19:34 +0000</pubDate>
      <link>https://dev.to/canopassoftware/what-is-momentjs-alternative-in-javascript-k0e</link>
      <guid>https://dev.to/canopassoftware/what-is-momentjs-alternative-in-javascript-k0e</guid>
      <description>&lt;p&gt;Most web developers have used moment.js. Do you know what's the alternative?&lt;/p&gt;

&lt;p&gt;Are you looking for a Moment.js alternative in Javascript?&lt;/p&gt;

&lt;p&gt;In one of our laravel projects, after upgrading dependencies, the docker build suddenly started throwing an error of moment.js.&lt;/p&gt;

&lt;p&gt;On debugging, I noticed that &lt;a href="https://github.com/moment/moment/"&gt;moment.js&lt;/a&gt; was now in maintenance mode and they recommends using different libraries as an alternative.&lt;/p&gt;

&lt;p&gt;As our requirements for date and time are not much complex, we decided to use javascript’s default &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date"&gt;Date()&lt;/a&gt; object and comes up with this article.&lt;/p&gt;

&lt;p&gt;We've gathered a few alternatives that you can use in your projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here's what you'll learn?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get the year, month, date, day, and time&lt;/li&gt;
&lt;li&gt;First and Last day of the month&lt;/li&gt;
&lt;li&gt;Add and Subtract day, month, year, time&lt;/li&gt;
&lt;li&gt;Get and Set the timezone for the date&lt;/li&gt;
&lt;li&gt;Get dates in various formats&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For implementation detail, check out &lt;a href="https://blog.canopas.com/date-and-time-utilities-in-javascript-1f1330fd206e"&gt;our blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>momentjs</category>
    </item>
    <item>
      <title>Learn How to use Google Sheets in GoLang?</title>
      <dc:creator>Raksha</dc:creator>
      <pubDate>Fri, 04 Nov 2022 09:50:56 +0000</pubDate>
      <link>https://dev.to/canopassoftware/learn-how-to-use-google-sheets-in-golang-31il</link>
      <guid>https://dev.to/canopassoftware/learn-how-to-use-google-sheets-in-golang-31il</guid>
      <description>&lt;p&gt;Do you know how to perform crud operations in Google sheets from the backend?&lt;/p&gt;

&lt;p&gt;Google is providing APIs to use Google spreadsheets in your project.&lt;/p&gt;

&lt;p&gt;We can easily access those services and add or update the same using APIs.&lt;/p&gt;

&lt;p&gt;Today, you will learn...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to authenticate and create a google sheet&lt;/li&gt;
&lt;li&gt;Append data to google sheet&lt;/li&gt;
&lt;li&gt;Update cells of the google sheet&lt;/li&gt;
&lt;li&gt;Append data with a background color to google sheet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We will use the &lt;a href="https://github.com/googleapis/google-api-go-client"&gt;google SDK library&lt;/a&gt; implemented in Golang.&lt;/p&gt;

&lt;p&gt;Explore google’s &lt;a href="https://developers.google.com/sheets/api/guides/concepts"&gt;spreadsheet API reference&lt;/a&gt; in depth for a detailed explanation. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/D1wsR6GXRuY"&gt;Here's the video tutorial&lt;/a&gt; if you prefer watching over reading.&lt;/p&gt;

&lt;p&gt;For detailed implementation, check out the &lt;a href="https://blog.canopas.com/golang-interacting-with-google-spreadsheets-b381f819c2eb"&gt;original post.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>go</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
