<?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>Forem: Anupam Singh</title>
    <description>The latest articles on Forem by Anupam Singh (@anupam___singh).</description>
    <link>https://forem.com/anupam___singh</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%2F929252%2Fa7e1a6e1-e90f-46e3-b9f6-e5923b5799e2.png</url>
      <title>Forem: Anupam Singh</title>
      <link>https://forem.com/anupam___singh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anupam___singh"/>
    <language>en</language>
    <item>
      <title>The Impact of AI in Banking: What to Expect</title>
      <dc:creator>Anupam Singh</dc:creator>
      <pubDate>Mon, 01 Jul 2024 11:48:14 +0000</pubDate>
      <link>https://forem.com/anupam___singh/the-impact-of-ai-in-banking-what-to-expect-e4g</link>
      <guid>https://forem.com/anupam___singh/the-impact-of-ai-in-banking-what-to-expect-e4g</guid>
      <description>&lt;p&gt;We live in an era where artificial intelligence (AI) is not just a buzzword but a transformative force reshaping industries worldwide. The banking sector is no exception. From personalized customer service to robust risk management, AI is making waves in ways we could only imagine a few years ago. So, what can we expect as AI continues to weave itself into the fabric of banking? Let’s dive in and explore the impact of &lt;a href="https://quokkalabs.com/blog/ai-in-banking/" rel="noopener noreferrer"&gt;AI in banking and finance&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore How AI is Changing The Banking Sector
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Personalized Customer Experiences
&lt;/h3&gt;

&lt;p&gt;Imagine walking into a bank and having an assistant who knows your financial habits, understands your preferences, and offers personalized advice. While this might sound futuristic, AI is making it a reality. AI-powered chatbots and virtual assistants revolutionize customer service by providing tailored financial advice and support. They can help you with everything from checking your account balance to making investment recommendations, all while learning and adapting to your unique needs. The best part? They’re available 24/7, offering convenience that traditional banking hours simply can't match.&lt;/p&gt;

&lt;p&gt;But it doesn’t stop there. AI in banking also enhances customer journeys by analyzing behavior, preferences, and feedback. This means banks can offer more personalized experiences that better meet your needs. Whether through personalized product recommendations or customized financial planning, AI makes banking more personal and intuitive.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Enhanced Security and Fraud Prevention
&lt;/h3&gt;

&lt;p&gt;Security is a top concern for any bank, and AI is stepping up to the plate significantly. By analyzing vast amounts of data in real time, AI can detect unusual patterns and flag potential fraudulent activities faster than any human could. Your bank can respond quickly to threats, keeping your money safer. Plus, AI can help identify customers at risk of defaulting on loans or credit cards, allowing banks to take proactive steps to mitigate these risks. In short, AI in banking is not just smarter but safer.&lt;/p&gt;

&lt;p&gt;Moreover, AI's ability to analyze complex data sets means it can also predict and prevent cyber-attacks before they occur. By continuously monitoring and learning from data, AI systems can identify vulnerabilities and enhance overall security, providing additional protection for your financial information.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Streamlined Operations and Reduced Costs
&lt;/h3&gt;

&lt;p&gt;Let’s face it: banking involves a lot of paperwork and repetitive tasks. These tasks can be time-consuming and costly, from processing loan applications to verifying compliance. Enter AI in banking and finance. By automating these manual processes, AI allows banks to operate more efficiently and at a lower cost. For instance, AI can handle document underwriting and compliance checks much faster than humans, freeing staff to focus on more critical tasks. This not only speeds up operations but also reduces the likelihood of errors.&lt;/p&gt;

&lt;p&gt;Furthermore, AI-driven automation is streamlining back-office functions, optimizing workflows, and reducing the need for human intervention. This efficiency not only cuts costs but also improves the speed and accuracy of banking operations. As a result, banks can offer faster services to their customers, enhancing overall satisfaction.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Smarter Loan Underwriting
&lt;/h3&gt;

&lt;p&gt;Applying for a loan can be lengthy, but AI is changing that. AI can automate credit checks and approvals by analyzing customer data, making the loan underwriting process faster and more efficient. This means you can decide on your loan application in minutes rather than days. Additionally, AI can identify opportunities for cross-selling and upselling by analyzing your financial habits and needs, allowing banks to offer products and services that truly benefit you.&lt;/p&gt;

&lt;p&gt;AI’s predictive analytics capabilities also play a crucial role here. By assessing creditworthiness more accurately, AI helps reduce the risk of loan defaults. This benefits the banks and ensures that customers are offered loan terms that are most suitable for their financial situations.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Glimpse into the Future of AI in Banking and Finance
&lt;/h2&gt;

&lt;p&gt;The possibilities of AI in banking are nearly limitless, and we’re only scratching the surface of what’s possible. As AI technology evolves, we can expect even more innovative applications to transform the banking experience further. From enhanced customer service to more robust security measures, AI is poised to make banking more personalized, efficient, and secure.&lt;/p&gt;

&lt;p&gt;Soon, we might see even more advanced uses of AI, such as fully automated branches, AI-driven investment advisory services, and predictive maintenance for banking infrastructure. These innovations will continue to reshape how we interact with our banks and manage our finances.&lt;/p&gt;

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

&lt;p&gt;The impact of AI in banking is profound and far-reaching. As we embrace these advancements, we can look forward to a future where banking is more convenient, secure, and tailored to our individual needs. The role of an &lt;a href="https://quokkalabs.com/artificial-intelligence-machine-learning-services" rel="noopener noreferrer"&gt;AI development company&lt;/a&gt; in this transformation cannot be overstated, as they are the driving force behind the innovative AI solutions reshaping the banking sector. So, the next time you interact with your bank, remember that AI, developed by specialized AI development companies, is working behind the scenes to improve your experience. Welcome to the future of banking!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>banking</category>
      <category>technology</category>
      <category>learning</category>
    </item>
    <item>
      <title>iOS App Performance Optimization | 10 Pro Tips</title>
      <dc:creator>Anupam Singh</dc:creator>
      <pubDate>Mon, 18 Mar 2024 07:38:35 +0000</pubDate>
      <link>https://forem.com/anupam___singh/ios-app-performance-optimization-10-pro-tips-1apa</link>
      <guid>https://forem.com/anupam___singh/ios-app-performance-optimization-10-pro-tips-1apa</guid>
      <description>&lt;p&gt;In iOS mobile app development, performance is a ubiquitous term that can signify various aspects of a system's functionality. When discussing performance monitoring or iOS app performance optimization, we're delving into the technical intricacies of app/software operation. Should one prioritize memory management, disk I/O, or network throughput? The answer is subtle. Understanding the technical dimensions of iOS app performance is imperative for delivering a smooth user experience. However, decoding this information isn't straightforward; it necessitates a deep understanding of contextual data to draw meaningful conclusions.&lt;/p&gt;

&lt;p&gt;In context to this, we’ve created a comprehensive blog on improving iOS app speed. I recommend that Apple/iOS users look at the measures to improve app speed and performance. But before that, some of us should wonder why it matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, Why Does the iOS App Performance Optimization Matter?
&lt;/h2&gt;

&lt;p&gt;When we talk about performance, we directly refer to various aspects of an application that can be improved. Here are the few most important reasons for &lt;a href="https://quokkalabs.com/blog/optimizing-performance-for-ios-apps/" rel="noopener noreferrer"&gt;optimizing performance for iOS apps&lt;/a&gt;. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;User Experience:&lt;/strong&gt; When we optimize performance, it helps ensure a seamless and responsive user experience for the users while functioning. iOS or even Android apps that load quickly, respond promptly to user input, and operate smoothly are more likely to retain users and acquire positive reviews.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Engagement and Retention:&lt;/strong&gt; High-performing apps have higher user engagement and retention rates. Users who encounter delays or glitches are likelier to leave the app and seek other alternatives.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Competitive Advantage:&lt;/strong&gt; In today's saturated app market, users have numerous options in a single second. Mobile Apps, either iOS or Android, with superior performance have a competitive edge over those that lag or crash frequently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Monetization:&lt;/strong&gt; iOS app performance optimization directly impacts monetization strategies. Poor-performing apps may need more ad revenue, in-app purchases, or subscriptions, as users are less inclined to spend time or money on a frustrating experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Brand Reputation:&lt;/strong&gt; A poorly performing app (speed, loading time, crash, etc.) can damage the reputation of the developer and the business brand. Users associate performance issues with the app's overall quality and may develop negative perceptions beyond the app itself.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Resource Efficiency:&lt;/strong&gt; Highly or better-optimized apps consume fewer system resources such as CPU, memory, and battery, improving device longevity and user satisfaction. It is especially important for mobile devices with limited hardware resources.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, iOS app speed improvement is essential for delivering a superior user experience, driving engagement and retention, maintaining a competitive advantage, and many other reasons. Therefore, the above-listed reasons make us work on speed or performance optimization. Go through and find the ways!&lt;/p&gt;

&lt;h3&gt;
  
  
  What 10 Measures to Take for iOS App Performance Optimization?
&lt;/h3&gt;

&lt;p&gt;I'm excited to start this performance speed improvement journey with 10 pro tips! Scroll down to see those measures or tips.&lt;/p&gt;

&lt;h4&gt;
  
  
  App Size Reduction
&lt;/h4&gt;

&lt;p&gt;Remove unused resources, dependencies, and code libraries to minimize the app bundle's overall size. And to achieve this, use app thinning techniques such as slicing and on-demand resources to reduce download and installation sizes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Background Task Optimization
&lt;/h4&gt;

&lt;p&gt;It is also necessary to iOS app speed improvement. Optimize background tasks such as data synchronization, push notifications, and location updates to minimize their impact on foreground app performance. For this, developers must prioritize essential background tasks and implement smart scheduling to avoid excessive resource consumption.&lt;/p&gt;

&lt;h4&gt;
  
  
  Database Optimization
&lt;/h4&gt;

&lt;p&gt;Optimize database queries and data retrieval operations to improve data access efficiency and reduce database load. In such cases, the developer should implement database indexing, query optimization techniques, and data caching to enhance the iOS app performance optimization.&lt;/p&gt;

&lt;h4&gt;
  
  
  Thread Management
&lt;/h4&gt;

&lt;p&gt;Efficiently manage concurrency and threading to maximize CPU utilization and minimize thread contention. Use Grand Central Dispatch (GCD) or Operation Queues to implement asynchronous and parallel processing tasks effectively.&lt;/p&gt;

&lt;h4&gt;
  
  
  Asset Preloading
&lt;/h4&gt;

&lt;p&gt;Preload frequently used assets and resources during app startup or idle periods to reduce loading times and improve responsiveness during user interactions. To achieve this, iOS app developers must Implement lazy loading for non-essential assets to defer resource loading until they are needed. “I’m sure it's the perfect way to go, but yes, one can explore these before implementing."&lt;/p&gt;

&lt;h4&gt;
  
  
  UI Performance Optimization
&lt;/h4&gt;

&lt;p&gt;Optimize UI rendering performance by reducing the complexity of UI components, minimizing view hierarchy depth, and optimizing layout calculations. Implement techniques such as cell reuse in table views and collection views to improve scrolling performance. This has been the top must-measure in iOS app performance optimization.&lt;/p&gt;

&lt;h4&gt;
  
  
  Network Optimization
&lt;/h4&gt;

&lt;p&gt;Optimize network communication using efficient protocols, minimize data transfer size, and implement caching strategies to reduce network latency and bandwidth usage. Utilize techniques such as HTTP/2 multiplexing and connection pooling to improve network performance. Ultimately, iOS app speed improvement enhances and delivers top-notch results.&lt;/p&gt;

&lt;h4&gt;
  
  
  Instrumentation and Profiling
&lt;/h4&gt;

&lt;p&gt;It also includes the best practices for optimizing iOS app performance. Use profiling tools and performance instrumentation to identify performance bottlenecks, hotspots, and areas for optimization. Profile CPU, memory, and disk usage during different app scenarios to prioritize optimization efforts effectively.&lt;/p&gt;

&lt;h4&gt;
  
  
  App Launch Time Optimization
&lt;/h4&gt;

&lt;p&gt;Reduce app launch time by optimizing initialization routines, deferring non-critical tasks, and minimizing dependencies on external resources. Utilize techniques such as lazy loading and background initialization to improve app launch performance.&lt;/p&gt;

&lt;h4&gt;
  
  
  Continuous Performance Optimization
&lt;/h4&gt;

&lt;p&gt;Establish a culture of continuous performance optimization by regularly monitoring app performance, gathering user feedback, and incorporating performance improvements into the development cycle. To achieve this, developers can prioritize performance optimization as an ongoing process rather than a one-time effort.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom Line
&lt;/h2&gt;

&lt;p&gt;Think about the world of mobile app optimization for a moment (be it Android or iOS app performance optimization), and one begins to think about the adventure full of excitement where attention to each small part matters. Imagine yourself as a traveler and navigator following the most subtle path through the dense forest of code efficiency, allocation, resource management, graphics output speed improvement, and UI/UX perfection. It’s not an easy trip, though; there are also things like network optimization hurdles, battery energy control challenges, and ventures that aim to minimize your app's size. However, fear not, for each task you surmount will take you closer to that one thing worth all your hard work: creating a user experience unlike any other imaginable.&lt;/p&gt;

</description>
      <category>ios</category>
      <category>tutorial</category>
      <category>apple</category>
    </item>
    <item>
      <title>Explore- Top 10 Eye-Opening Realities for Entry-Level Developers</title>
      <dc:creator>Anupam Singh</dc:creator>
      <pubDate>Tue, 27 Feb 2024 07:43:16 +0000</pubDate>
      <link>https://forem.com/anupam___singh/explore-top-10-eye-opening-realities-for-entry-level-developers-12b1</link>
      <guid>https://forem.com/anupam___singh/explore-top-10-eye-opening-realities-for-entry-level-developers-12b1</guid>
      <description>&lt;p&gt;So, you've just graduated from coding boot camp or university, armed with a fresh degree and a passion for programming. You're eager to dive into software &lt;a href="https://quokkalabs.com/mobile-app-development" rel="noopener noreferrer"&gt;mobile app development&lt;/a&gt; and make your mark. But before you embark on this exciting journey, there are a few eye-opening realities you need to be aware of as an entry-level developer. &lt;/p&gt;

&lt;p&gt;Let's deep dive into them!!&lt;/p&gt;

&lt;h2&gt;
  
  
  10 Cold Realities Every Junior Developer Must Grasp
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Continuous Learning is Key
&lt;/h3&gt;

&lt;p&gt;As an entry-level developer, your formal education is enough to carry you through your career. However, the reality is that the technology landscape is constantly evolving. New programming languages, frameworks, and tools emerge regularly. To stay relevant and competitive, you need to embrace lifelong learning. Dedicate time to self-study, take online courses, attend workshops, and participate in coding communities to keep your skills sharp.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Impostor Syndrome is a Normal
&lt;/h3&gt;

&lt;p&gt;Feeling like you don't belong or that you're not good enough compared to your peers is a common experience among entry-level developers. This phenomenon, impostor syndrome, can be daunting and demotivating. However, it's essential to understand that many seasoned developers have experienced it, too. Remember that everyone starts somewhere, and it's okay to ask for help when needed. Embrace the learning curve and trust in your ability to grow.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Collaboration is Key
&lt;/h3&gt;

&lt;p&gt;Software development is rarely a solitary endeavor. Instead, it often involves working closely with teammates, stakeholders, and other departments. Collaboration skills are just as important as technical skills in the workplace. You must communicate effectively, share ideas, give and receive feedback, and contribute to a team's success. Cultivate your interpersonal skills and learn to thrive in a collaborative environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Code Quality Matters
&lt;/h3&gt;

&lt;p&gt;In the rush to meet deadlines and deliver results, it can be tempting to prioritize speed over quality. However, writing clean, maintainable code is crucial for long-term success as a developer. Poorly written code can lead to bugs, technical debt, and headaches down the line. Take the time to write code that is well-structured, documented, and follows best practices. Your future self (and your colleagues) will thank you for it.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Soft Skills are Essential
&lt;/h3&gt;

&lt;p&gt;While technical proficiency is undoubtedly important, consider the value of soft skills in your career development. Skills such as problem-solving, critical thinking, time management, and adaptability are highly sought after by employers. Additionally, communicating effectively verbally and in writing can set you apart from other candidates. Invest time in honing your soft skills alongside your technical abilities.&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://quokkalabs.com/blog/complete-guide-to-becoming-a-web3-developer/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.quokkalabs.com%2Fblog%2Fobject%2F20221012150920_0c8e640b8291460cb330d40f96aa24a7.webp" height="512" class="m-0" width="1024"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://quokkalabs.com/blog/complete-guide-to-becoming-a-web3-developer/" rel="noopener noreferrer" class="c-link"&gt;
          Master Web3 Development: Your Complete Guide for 2024
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Embark on your Web3 journey in 2024 with our comprehensive guide. Learn the skills, tools, and insights needed to become a successful Web3 developer. Start your transformation now!
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.quokkalabs.com%2Fblog%2Fstatic%2Fimg%2Fblog%2FQuokkaLabsFavicon.png" width="17" height="17"&gt;
        quokkalabs.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  6. Feedback is Your Friend
&lt;/h3&gt;

&lt;p&gt;Receiving feedback on your work can be intimidating, especially when starting. However, feedback is an invaluable tool for growth and improvement. Embrace constructive criticism as an opportunity to learn and develop your skills. Actively seek feedback from mentors, peers, and supervisors, and be open to implementing suggested changes. Remember that feedback does not reflect your worth as a developer but rather an opportunity to grow.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Documentation is Non-Negotiable
&lt;/h3&gt;

&lt;p&gt;Writing code is only part of the job; documenting your code is equally important. Documenting your code effectively makes it easier for others (and your future self) to understand, maintain, and troubleshoot it. Whether through comments, README files, or internal documentation, ensure your code is well-documented and easy to follow. Your colleagues will appreciate the effort, and you'll thank yourself later when you revisit old projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Failure is a Learning Opportunity
&lt;/h3&gt;

&lt;p&gt;In the fast-paced world of software development, failures and setbacks are inevitable. Don't be discouraged, whether it's a bug in your code, a missed deadline, or a project that didn't go as planned. Instead, view failure as a valuable learning opportunity. Analyze what went wrong, identify areas for improvement, and use the experience to grow stronger and more resilient as a developer. Remember that every successful developer has faced failure along the way.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Networking is Essential
&lt;/h3&gt;

&lt;p&gt;Building a strong professional network can open doors to new opportunities, mentorship, and career advancement. Attend industry events, join online forums and communities, and connect with fellow developers, recruiters, and thought leaders in your field. Networking isn't just about finding a job; it's about building relationships and fostering a supportive community to help you throughout your career.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Your Career Path is Yours to Define
&lt;/h3&gt;

&lt;p&gt;Finally, remember that your career path as a developer is yours to define. There is no one-size-fits-all approach to success in this field. Explore different technologies, industries, and roles to find what resonates with you. Be proactive in seeking new opportunities for growth and advancement, whether through side projects, additional education, or career transitions. Stay true to your passions and aspirations, and don't be afraid to forge your path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrap Up
&lt;/h2&gt;

&lt;p&gt;Entering the world of software development as an entry-level developer can be both exhilarating and challenging. By embracing these eye-opening realities and approaching your career with an open mind and a willingness to learn, you'll be well-equipped to navigate the ups and downs of the industry and chart a course for success. Welcome to the exciting world of software development – the journey ahead is yours to shape!&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://quokkalabs.com/blog/latest-web-development-technologies/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.quokkalabs.com%2Fblog%2Fobject%2F20240216155627_880459bb8cb8425ba13dfcc15a588c92.webp" height="500" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://quokkalabs.com/blog/latest-web-development-technologies/" rel="noopener noreferrer" class="c-link"&gt;
          Latest Web Development Technologies- Hottest Top 8
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Curious about the latest in web development tech for 2024? Don't scroll! Open up and discover the top 8 hottest web development technologies happening right now.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.quokkalabs.com%2Fblog%2Fstatic%2Fimg%2Fblog%2FQuokkaLabsFavicon.png" width="17" height="17"&gt;
        quokkalabs.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>beginners</category>
      <category>softwaredevelopment</category>
      <category>discuss</category>
      <category>advice</category>
    </item>
    <item>
      <title>Difference between Local, Session, and Cache Storage</title>
      <dc:creator>Anupam Singh</dc:creator>
      <pubDate>Tue, 17 Jan 2023 09:43:28 +0000</pubDate>
      <link>https://forem.com/quokkalabs/difference-between-local-session-and-cache-storage-28bc</link>
      <guid>https://forem.com/quokkalabs/difference-between-local-session-and-cache-storage-28bc</guid>
      <description>&lt;p&gt;We've all heard of cache, local, and session storage. However, what precisely are they, what issues are they addressing, and how are they unique? In this write-up, we will discuss each of them. Stay tuned to this blog to learn about local storage, session storage, and cache storage.&lt;/p&gt;

&lt;p&gt;With the introduction of HTML5, we now have various choices for storing information on the client browser. Before this, we only had a minimal cache with a very modest size. However, now we also have local storage and session storage. &lt;/p&gt;

&lt;p&gt;The cache has been the buzz of the past, although it serves various functions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Head-to-Head Comparison of Local, Session, and Cache Storage
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameters&lt;/th&gt;
&lt;th&gt;Local Storage&lt;/th&gt;
&lt;th&gt;Session Storage&lt;/th&gt;
&lt;th&gt;Cache Storage&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Capacity&lt;/td&gt;
&lt;td&gt;10 Mb&lt;/td&gt;
&lt;td&gt;5 Mb&lt;/td&gt;
&lt;td&gt;4 Kb&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser&lt;/td&gt;
&lt;td&gt;HTML5&lt;/td&gt;
&lt;td&gt;HTML5&lt;/td&gt;
&lt;td&gt;HTML4/HTML5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accessible from&lt;/td&gt;
&lt;td&gt;Any Window&lt;/td&gt;
&lt;td&gt;Same tab&lt;/td&gt;
&lt;td&gt;Any Window&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Expires&lt;/td&gt;
&lt;td&gt;Never&lt;/td&gt;
&lt;td&gt;On tab close&lt;/td&gt;
&lt;td&gt;Manually set&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Storage location&lt;/td&gt;
&lt;td&gt;Browser only&lt;/td&gt;
&lt;td&gt;Browser only&lt;/td&gt;
&lt;td&gt;Browser &amp;amp; Server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sent with requests&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What is Local Storage?
&lt;/h2&gt;

&lt;p&gt;It is a technique for preserving the key-value combination in the web browser. The best thing about localStorage is that there is no expiration date, so the data will still be in the browser even if you refresh the page. &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/quokkalabs" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F5848%2F0dc79d9b-2f91-4042-9764-c58833444983.png" alt="Quokka Labs" width="678" height="662"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media.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%2F876919%2F1982e6a7-d5a2-41e3-bf7b-2d276a0f4dc2.png" alt="" width="300" height="300"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/quokkalabs/a-guide-to-browser-side-storage-14cm" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Guide to Browser-Side Storage&lt;/h2&gt;
      &lt;h3&gt;Quokka Labs for Quokka Labs ・ Jan 12 '23&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#guide&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Where is localStorage stored?
&lt;/h3&gt;

&lt;p&gt;Web storage data is saved in Google Chrome in an SQLite file in a subdirectory in the user's profile. The subdirectory is found at &lt;em&gt;\AppData\Local\Google\Chrome\User Data\Default\Local&lt;/em&gt; on Windows computers and macOS &lt;em&gt;/Library/Application Support/Google/Chrome/Default/Local Storage.&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What is window.localStorage?
&lt;/h4&gt;

&lt;p&gt;localStorage is available through windows.localStorage property is a component of the Window interface in Javascript that conveys the window holding the DOM Document.&lt;/p&gt;

&lt;h5&gt;
  
  
  How does localStorage work?
&lt;/h5&gt;

&lt;p&gt;There are five ways you may use localStorage in your web applications:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;setItem()&lt;/strong&gt;: It is to add key and value to the localStorage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;getItem()&lt;/strong&gt;: Used to get items from the localStorage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;removeItem()&lt;/strong&gt;: To remove an item by key from the localStorage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;clear()&lt;/strong&gt;: It is used to clear all localStorage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;key()&lt;/strong&gt;: Passed a number to retrieve the key of a localStorage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The above are the five ways or methods to use localStorage in your web application. Let's explore each respectively-&lt;/p&gt;

&lt;h6&gt;
  
  
  How to store values in localStorage using setItem()
&lt;/h6&gt;

&lt;p&gt;This function lets you save values in the localStorage object, as the name would imply.&lt;/p&gt;

&lt;p&gt;A key and a value are the two inputs. Later, we can retrieve the value associated with the key by referencing it.&lt;br&gt;
&lt;code&gt;window.localStorage.setItem('name', 'Anupam Singh');&lt;/code&gt;&lt;br&gt;
Where Anupam Singh is the value and name is the key. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;- Only strings are stored in localStorage.&lt;/p&gt;

&lt;p&gt;You would need to transform arrays and objects into strings to save them.&lt;/p&gt;

&lt;p&gt;Before submitting the data to setItem, we utilize the JSON.stringify() function to do this ().&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const person = {
    name: "Anupam Singh",
    location: "Noida",
}

window.localStorage.setItem('user', JSON.stringify(person));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h6&gt;
  
  
  How to get items from localStorage using getItem()
&lt;/h6&gt;

&lt;p&gt;The &lt;em&gt;getItem()&lt;/em&gt; function is used to retrieve things from localStorage. The data kept in the localStorage object of the browser are accessed using the getItem() function.&lt;/p&gt;

&lt;p&gt;The key is the only parameter that getItem() accepts and returns the result as a string.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To get a user key:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;window.localStorage.getItem('user');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The above returns a string with the value:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;“{“name”:”Anupam Singh”,”location”:”Noida”}”&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Before using this value, you must transform it back into an object.&lt;/p&gt;

&lt;p&gt;The JSON.parse() function, which turns a JSON string into a JavaScript object, is used to do this.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;JSON.parse(window.localStorage.getItem('user'));&lt;/code&gt;&lt;/p&gt;
&lt;h6&gt;
  
  
  How to delete localStorage sessions using removeItem()
&lt;/h6&gt;

&lt;p&gt;Use the removeItem() function to remove local storage sessions from the system.&lt;/p&gt;

&lt;p&gt;The removeItem() function, when given a key name, deletes the key from the store if it is there. This approach will only be effective if the key provided has a linked item.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;window.localStorage.removeItem('name');&lt;/code&gt;&lt;/p&gt;
&lt;h6&gt;
  
  
  How to delete all items in localStorage using clear()
&lt;/h6&gt;

&lt;p&gt;To completely delete the localStorage of all items, use the clear() function.&lt;/p&gt;

&lt;p&gt;When this approach is used, all the records for that domain's storage are entirely cleared. It receives no parameters at all.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;window.localStorage.clear();&lt;/code&gt;&lt;/p&gt;
&lt;h6&gt;
  
  
  How to get the name of a key in localStorage using key()
&lt;/h6&gt;

&lt;p&gt;The key() function lets you pass a number or index to localStorage to receive the name of the key and is useful when you need to loop over keys.&lt;br&gt;
&lt;code&gt;var KeyName = window.localStorage.key(index);&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What is Session Storage?
&lt;/h2&gt;

&lt;p&gt;Session storage is a type of storage specific to a single-user session on a web page. It allows data to be stored in key-value pairs and is typically used to keep data only required for a user's visit to a website, such as information entered into a form. When the user closes the web page or navigates to a different page on the website, the data in session storage is deleted. In contrast, local storage persists even after the user has closed the web page or browser.&lt;/p&gt;

&lt;p&gt;As we know, the sessionStorage is a Storage type. Thus, you can manage the data using the 5 Storage methods.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;setItem(name, value)&lt;/strong&gt; – It is used to set the value for a name.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;removeItem(name)&lt;/strong&gt; – Used to remove the name-value pair identified by name.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;getItem(name)&lt;/strong&gt; – Used to get the value for a given name.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;key (index)&lt;/strong&gt; – It is used to get the name of the value in the given numeric position.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;clear ()&lt;/strong&gt; – To remove all values in the sessionStorage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  How to Store data in the sessionStorage using setItem()
&lt;/h3&gt;

&lt;p&gt;Use the below code to store a name-value pair within the sessionStorage.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sessionStorage.setItem('mode','dark');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;setItem()&lt;/em&gt; function will change the value for the existing item to dark if the sessionStorage has an item with the name of the mode. Otherwise, a new item will be inserted.&lt;/p&gt;
&lt;h3&gt;
  
  
  How to remove an item by using removeItem()
&lt;/h3&gt;

&lt;p&gt;Use the &lt;em&gt;removeItem()&lt;/em&gt; method to remove an item. The 'mode' item is removed by doing the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sessionStorage.removeItem('mode');&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  How to get data from the sessionStorage using getItem()
&lt;/h3&gt;

&lt;p&gt;The &lt;em&gt;getItem()&lt;/em&gt; function retrieves an item's value by name. The value of the item "&lt;strong&gt;mode&lt;/strong&gt;" is obtained in the example below:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const mode = sessionStorage.getItem('mode');
console.log(mode); // 'dark'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The &lt;em&gt;getItem()&lt;/em&gt; method will return null if there is no item with the name mode.&lt;/p&gt;
&lt;h3&gt;
  
  
  How to Iterate over all items using the key()
&lt;/h3&gt;

&lt;p&gt;Should follow these steps to iterate through every item in the sessionStorage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To retrieve all keys from the sessionStorage object, use object.keys().&lt;/li&gt;
&lt;li&gt;To obtain the items by keys and iterate through the keys, use for...of.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The steps are shown in the code below:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let keys = Object.keys(sessionStorage);
for(let key of keys) {
  console.log(`${key}: ${sessionStorage.getItem(key)}`);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  How to delete all items in the sessionStorage using clear()
&lt;/h3&gt;

&lt;p&gt;When a web browser tab or window is closed, the data kept in the sessionStorage are automatically removed.&lt;/p&gt;

&lt;p&gt;Additionally, one can programmatically delete any information kept in the sessionStorage by using the &lt;em&gt;clear()&lt;/em&gt; function.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sessionStorage.clear();&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What is Cache or Cookies Storage?
&lt;/h2&gt;

&lt;p&gt;Before the introduction of HTML5, cookies were the sole option. Therefore, saving data with it is an old-fashioned method of doing so on the client system. It enables us to save client-side data to provide website visitors with a customized experience. These are sent to the server along with requests &amp;amp; back to the client after a response. Thus, the server and client exchange data whenever a request is made. The servers could deliver user-tailored content using the cookie data.&lt;/p&gt;

&lt;p&gt;It may be created, edited, or read using JavaScript: document. Cookie. To address security risks, such as cross-site scripting, we have an HTTPOnly cookie setting that can limit cookie access in JavaScript.&lt;/p&gt;

&lt;p&gt;Session cookies and persistent cookies are the two categories under which cookies fall.&lt;/p&gt;
&lt;h3&gt;
  
  
  Session Cookies
&lt;/h3&gt;

&lt;p&gt;Expire, and Max-Age characteristics are not specified; as a result, they are removed when the browser is closed.&lt;/p&gt;
&lt;h3&gt;
  
  
  Persistent Cookies
&lt;/h3&gt;

&lt;p&gt;Persistent cookies define the characteristic Expires or Max-Age. These will expire at a particular date (Expires) or period rather than upon quitting the browser (Max-Age).&lt;/p&gt;
&lt;h2&gt;
  
  
  Bottom Line
&lt;/h2&gt;

&lt;p&gt;Another big factor to consider when deciding which storage to use is the application type you are building. For example, if your goal is to create a mobile app, localStorage would be the best choice because it will be available offline. If your application is online only and has no user interface to display dynamic data, then the cacheStorage is the one you should use. If you want your website to create a user profile, you should use the sessionStorage because it will clear out after a browser session ends.&lt;/p&gt;

&lt;p&gt;Also Read&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://quokkalabs.hashnode.dev/kubernetes-storage-an-in-depth-look" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhashnode.com%2Futility%2Fr%3Furl%3Dhttps%253A%252F%252Fcdn.hashnode.com%252Fres%252Fhashnode%252Fimage%252Fupload%252Fv1672297233359%252F8a54ad14-140b-4a6c-8e92-2ebdaa13b6c5.png%253Fw%253D1200%2526h%253D630%2526fit%253Dcrop%2526crop%253Dentropy%2526auto%253Dcompress%252Cformat%2526format%253Dwebp%2526fm%253Dpng" height="420" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://quokkalabs.hashnode.dev/kubernetes-storage-an-in-depth-look" rel="noopener noreferrer" class="c-link"&gt;
          Kubernetes Storage: An In-Depth Look
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Understand Kubernetes storage concepts like Volumes, Persistent Volumes (PV), and Persistent Volume Claims (PVC), and discover K8s storage best practices.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611242173172%2FAOX1gE2jc.png" width="32" height="32"&gt;
        quokkalabs.hashnode.dev
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



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