<?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: Sharesquare engineering bits</title>
    <description>The latest articles on DEV Community by Sharesquare engineering bits (@sharesquare).</description>
    <link>https://dev.to/sharesquare</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%2F1210392%2Fb83749ec-c7cf-4707-b977-aa3364969dc5.png</url>
      <title>DEV Community: Sharesquare engineering bits</title>
      <link>https://dev.to/sharesquare</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sharesquare"/>
    <language>en</language>
    <item>
      <title>SRE for the SaaS</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Thu, 05 Dec 2024 16:14:08 +0000</pubDate>
      <link>https://dev.to/sharesquare/sre-for-the-saas-2ngh</link>
      <guid>https://dev.to/sharesquare/sre-for-the-saas-2ngh</guid>
      <description>&lt;p&gt;In latest new blog &lt;a href="https://sharesquare-engineering.medium.com/site-reliability-engineering-sre-for-self-contained-saas-solutions-5b151b72ff02" rel="noopener noreferrer"&gt;story&lt;/a&gt; we take a close look at what Site Reliability Engineering means for the modern Software-as-a-Service solution, particularly in the Microsoft Azure world.&lt;/p&gt;

&lt;p&gt;We will share specific pointers to classic SRE practices, starting from a healthy and fully automated CI/CD pipeline, but go a little deeper too covering things like security and redundancy.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>sre</category>
      <category>cloud</category>
    </item>
    <item>
      <title>A dep dive into (our own) CI/CD pipelines</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Sat, 07 Sep 2024 13:41:05 +0000</pubDate>
      <link>https://dev.to/sharesquare/a-dep-dive-into-our-own-cicd-pipelines-3noh</link>
      <guid>https://dev.to/sharesquare/a-dep-dive-into-our-own-cicd-pipelines-3noh</guid>
      <description>&lt;p&gt;In this new &lt;a href="https://sharesquare-engineering.medium.com/from-code-to-cloud-a-deep-dive-into-ci-cd-pipelines-0ee1619a66ee" rel="noopener noreferrer"&gt;story&lt;/a&gt; by our team, a sneak peek into our own CI/CD pipelines at Sharesquare. The workflows are powered by Github Actions and the destination is an Azure webapp (or more, as you will see).&lt;/p&gt;

&lt;p&gt;Whether you are on an oldschool LAMP and seeking some advice on modernizing your rollout the Azure way, or just wanna get some tips on useful things to check at release time, this story is for you!&lt;/p&gt;

</description>
      <category>cicd</category>
      <category>nuxt</category>
      <category>laravel</category>
      <category>azure</category>
    </item>
    <item>
      <title>Homemade Caching - pt. 2</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Wed, 10 Jul 2024 15:07:21 +0000</pubDate>
      <link>https://dev.to/sharesquare/homemade-caching-pt-2-356n</link>
      <guid>https://dev.to/sharesquare/homemade-caching-pt-2-356n</guid>
      <description>&lt;p&gt;In the &lt;a href="https://sharesquare-engineering.medium.com/homemade-caching-with-laravel-part-two-b5fa808863c7" rel="noopener noreferrer"&gt;second part&lt;/a&gt; of the story describing our Homemade Caching strategy in Laravel, we delve into even more succulent and technical details around cache invalidation and refreshing.&lt;/p&gt;

&lt;p&gt;With this second part, we complete our most advanced story so far! It took us a month of work to get it to work perfectly, but if you follow the stories it will take you just a couple of hours!&lt;/p&gt;

&lt;p&gt;If you have not yet read the &lt;a href="https://dev.to/sharesquare/homemade-caching-379l"&gt;first part&lt;/a&gt;, start there.&lt;/p&gt;

</description>
      <category>performance</category>
      <category>laravel</category>
      <category>restapi</category>
      <category>php</category>
    </item>
    <item>
      <title>Homemade Caching</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Fri, 07 Jun 2024 17:42:25 +0000</pubDate>
      <link>https://dev.to/sharesquare/homemade-caching-379l</link>
      <guid>https://dev.to/sharesquare/homemade-caching-379l</guid>
      <description>&lt;p&gt;It it almost never a good idea to reinvent the wheel, but if you really have a need a patch it rather than reinventing it... maybe it will work!&lt;/p&gt;

&lt;p&gt;In our latest &lt;a href="https://sharesquare-engineering.medium.com/homemade-caching-with-laravel-64c2a6a8cd2d" rel="noopener noreferrer"&gt;story&lt;/a&gt; we present an elegant caching layer we developed in Laravel, and we do so not without pride.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Update&lt;/em&gt;. The &lt;a href="https://dev.to/sharesquare/homemade-caching-pt-2-356n"&gt;second part&lt;/a&gt; of the story is published!&lt;/p&gt;

</description>
      <category>performance</category>
      <category>laravel</category>
      <category>restapi</category>
      <category>php</category>
    </item>
    <item>
      <title>The Human Touch in Software Testing</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Fri, 10 May 2024 12:17:37 +0000</pubDate>
      <link>https://dev.to/sharesquare/the-human-touch-in-software-testing-3cj3</link>
      <guid>https://dev.to/sharesquare/the-human-touch-in-software-testing-3cj3</guid>
      <description>&lt;p&gt;In our latest &lt;a href="https://sharesquare-engineering.medium.com/the-human-element-in-testing-e1bd5b7609b2"&gt;story&lt;/a&gt; we share a short reflection on the vital contribution of a Q&amp;amp;A team member.&lt;/p&gt;

&lt;p&gt;We argue that the &lt;em&gt;human touch&lt;/em&gt; of a flesh-and-bone Quality Assurance (or testing, in general) specialist is not really replaceable by agents of bots.&lt;/p&gt;

</description>
      <category>qa</category>
      <category>testing</category>
      <category>development</category>
      <category>codequality</category>
    </item>
    <item>
      <title>When traits conflict</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Tue, 16 Apr 2024 13:21:54 +0000</pubDate>
      <link>https://dev.to/sharesquare/when-traits-conflict-4p9k</link>
      <guid>https://dev.to/sharesquare/when-traits-conflict-4p9k</guid>
      <description>&lt;p&gt;In our latest &lt;a href="https://sharesquare-engineering.medium.com/traits-and-conflicts-64ae7842af7a"&gt;story&lt;/a&gt; we show a couple of smart ways to get around some import conflicts in &lt;a href="https://www.php.net"&gt;PHP&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Especially when classes get bigger and more powerful in your codebase, keeping things clean and well-studied is the key to guarantee maintainability.&lt;/p&gt;

</description>
      <category>php</category>
      <category>oop</category>
      <category>refactorit</category>
    </item>
    <item>
      <title>Realizing an RBAC scheme in Laravel Nova</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Wed, 06 Mar 2024 12:12:19 +0000</pubDate>
      <link>https://dev.to/sharesquare/realizing-an-rbac-scheme-in-laravel-nova-1kdc</link>
      <guid>https://dev.to/sharesquare/realizing-an-rbac-scheme-in-laravel-nova-1kdc</guid>
      <description>&lt;p&gt;&lt;a href="https://nova.laravel.com"&gt;Laravel Nova&lt;/a&gt; is the administration panel solution for the &lt;a href="https://laravel.com"&gt;Laravel&lt;/a&gt; framework, and you know that when it comes to administration, you want to have a tight grip on who is doing what.&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://sharesquare-engineering.medium.com/custom-role-based-access-control-rbac-in-laravel-nova-a-handy-implementation-example-09a5dc0fd123"&gt;this&lt;/a&gt; story we have a look at a practical implementation example, with a step-by-step approach based on Laravel natives, so that you will be able to realize your &lt;a href="https://en.wikipedia.org/wiki/Role-based_access_control"&gt;RBAC&lt;/a&gt; scheme in No(va) time!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>security</category>
    </item>
    <item>
      <title>Observing your integrity</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Tue, 06 Feb 2024 12:57:51 +0000</pubDate>
      <link>https://dev.to/sharesquare/observing-your-integrity-50gb</link>
      <guid>https://dev.to/sharesquare/observing-your-integrity-50gb</guid>
      <description>&lt;p&gt;In enterprise applications, maintaining integrity in complex situations, when the state can be modified by different agents in multiple ways, is essential.&lt;/p&gt;

&lt;p&gt;Our full-stack specialist Umer shares a golden nugget: how to address this elegantly and idiomatically in Laravel. Full story &lt;a href="https://sharesquare-engineering.medium.com/4794501b2d25"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>designpatterns</category>
      <category>php</category>
      <category>eloquent</category>
    </item>
    <item>
      <title>Before you modify the domain model and break production, be careful</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Mon, 08 Jan 2024 15:57:25 +0000</pubDate>
      <link>https://dev.to/sharesquare/before-you-modify-the-domain-model-and-break-production-be-careful-3m65</link>
      <guid>https://dev.to/sharesquare/before-you-modify-the-domain-model-and-break-production-be-careful-3m65</guid>
      <description>&lt;p&gt;Evolving a complex and stratified domain model takes quite some energy: due to a considerable amount of legacy developments, you cannot just light heartedly change your classes and hope for good.&lt;/p&gt;

&lt;p&gt;Our backend specialist Rohit will break it down for us a little, giving some practical explanation plus code snippets! See the story &lt;a href="https://sharesquare-engineering.medium.com/data-driven-feature-development-unveiling-the-hidden-consequences-of-code-changes-518ee34de625"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SSHing your way into AppService</title>
      <dc:creator>Sharesquare engineering bits</dc:creator>
      <pubDate>Wed, 15 Nov 2023 13:54:15 +0000</pubDate>
      <link>https://dev.to/sharesquare/sshing-your-way-into-appservice-3l29</link>
      <guid>https://dev.to/sharesquare/sshing-your-way-into-appservice-3l29</guid>
      <description>&lt;p&gt;When we started to migrate our core platform from a single virtual machine on DigitalOcean to a managed webapp solution on Azure, AppService, the first question was: can we recycle our CI/CD flows?&lt;/p&gt;

&lt;p&gt;The answer was: yes! Together with fellow cloud engineer &lt;a class="mentioned-user" href="https://dev.to/ayoayomide"&gt;@ayoayomide&lt;/a&gt; , let us tell you how we did it! See the full story &lt;a href="https://medium.com/@sharesquare-engineering/appservice-meets-ci-cd-fb1729787f35"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Spoiler alert&lt;/em&gt;. We could keep our SSH-based deployment pipeline, written in &lt;a href="https://deployer.org/"&gt;Deployer&lt;/a&gt;, yet we had to enable and patch a rather hidden SSH feature in the Azure AppService itself.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>devops</category>
      <category>webdev</category>
      <category>security</category>
    </item>
  </channel>
</rss>
