<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Web Development on TommyGroshong.com</title>
    <link>https://tommygroshong.com/categories/web-development/</link>
    <description>Recent content in Web Development on TommyGroshong.com</description>
    <generator>Hugo -- 0.151.2</generator>
    <language>en</language>
    <managingEditor>tom@groshong.software (Tommy Groshong)</managingEditor>
    <webMaster>tom@groshong.software (Tommy Groshong)</webMaster>
    <lastBuildDate>Thu, 14 Sep 2023 21:01:20 -0400</lastBuildDate>
    <atom:link href="https://tommygroshong.com/categories/web-development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Node vs Bun and The Innovator&#39;s Dilemma</title>
      <link>https://tommygroshong.com/posts/2023-09-14-node-vs-bun-innovators-dilemma/</link>
      <pubDate>Thu, 14 Sep 2023 21:01:20 -0400</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2023-09-14-node-vs-bun-innovators-dilemma/</guid>
      <description>&lt;p&gt;If you haven&amp;rsquo;t heard (touching too much grass?), Bun has been making some waves
in JS-land with it&amp;rsquo;s big &lt;a href=&#34;https://bun.sh/blog/bun-v1.0&#34;&gt;1.0 announcement&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s been fun to watch the reactions.&lt;/p&gt;
&lt;p&gt;Jessie Frazelle had a tweet that went tech-twitter viral, describing a feeling
that many were thinking.  How did such massive change come, seemingly, out of
nowhere (relatively speaking of course; Bun was public about it&amp;rsquo;s work for the
last year).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://twitter.com/jessfraz/status/1700570689257013463&#34;&gt;&lt;img alt=&#34;How was it possible for bun to dunk on every single JS benchmark, does no one else care about performance or what?&#34; loading=&#34;lazy&#34; src=&#34;https://tommygroshong.com/img/jessie_tweet.png&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leading Effective Software Teams</title>
      <link>https://tommygroshong.com/posts/2022-07-27-leading-effective-teams/</link>
      <pubDate>Wed, 27 Jul 2022 00:00:00 +0000</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2022-07-27-leading-effective-teams/</guid>
      <description>What does it mean for a software engineering team to be productive and effective?</description>
    </item>
    <item>
      <title>Good Software: The Engineer&#39;s Perspective</title>
      <link>https://tommygroshong.com/posts/2022-07-26-engineering-perspective-on-good-software/</link>
      <pubDate>Tue, 26 Jul 2022 00:00:00 +0000</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2022-07-26-engineering-perspective-on-good-software/</guid>
      <description>What does it mean for software to be good? Some of the attributes that make software good are within the control of engineers, but others clearly are not. What&amp;#39;s the difference? How can engineers maximize their contribution to a software project and make it good?</description>
    </item>
    <item>
      <title>Tommy&#39;s Dope React (TDR) Project Layout</title>
      <link>https://tommygroshong.com/posts/2021-11-16-react-project-layout/</link>
      <pubDate>Tue, 16 Nov 2021 00:00:00 +0000</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2021-11-16-react-project-layout/</guid>
      <description>Wondering how to layout your React project? Tommy shares his Project Layout to help prioritize file organizing patterns conducive to refactoring, hiding implementation details, and growing with your project.</description>
    </item>
    <item>
      <title>React Context for Dependency Injection Not State Management</title>
      <link>https://tommygroshong.com/posts/2021-05-26-react-context-for-dependency-injection-not-state/</link>
      <pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2021-05-26-react-context-for-dependency-injection-not-state/</guid>
      <description>Dive into the concept that React Context API is primarily a tool for injecting dependencies into a React tree and how we can use that to improve testability, reusability, and maintainability of our apps.</description>
    </item>
    <item>
      <title>Reduce State Management Footprint with React Query</title>
      <link>https://tommygroshong.com/posts/2021-05-26-reduce-state-management-with-react-query/</link>
      <pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2021-05-26-reduce-state-management-with-react-query/</guid>
      <description>State management got you down? Miss the days when your React application was simple and fun? Use React Query and say goodbye to all that pesky cognitive overload.</description>
    </item>
    <item>
      <title>Conditional Rendering Tactics for React Components</title>
      <link>https://tommygroshong.com/posts/2020-02-03-react-conditional-rendering-tactics/</link>
      <pubDate>Mon, 03 Feb 2020 20:44:15 -0400</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2020-02-03-react-conditional-rendering-tactics/</guid>
      <description>A simple exploration and comparison of two tactics for handling conditionally rendering components in React.</description>
    </item>
    <item>
      <title>A Model View Controller Pattern for React</title>
      <link>https://tommygroshong.com/posts/2019-11-06-react-mvc/</link>
      <pubDate>Wed, 06 Nov 2019 20:44:15 -0400</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2019-11-06-react-mvc/</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally posted on the Test Double blog &lt;a href=&#34;https://blog.testdouble.com/posts/2019-11-04-react-mvc&#34;&gt;here&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;React is an amazing library. Over the last 5 years it has transformed the
landscape of frontend development and spawned an incredible ecosystem of tools,
libraries, and patterns. Over that time, React has changed quite a bit. As React
has evolved, so too have our applications, tools, and approaches.&lt;/p&gt;
&lt;p&gt;This year (2019), React went through one of its biggest changes with &lt;em&gt;&lt;a href=&#34;https://reactjs.org/blog/2019/02/06/react-v16.8.0.html&#34;&gt;React
v16.8: The One With
Hooks&lt;/a&gt;&lt;/em&gt;. Combined with
the &lt;a href=&#34;https://reactjs.org/blog/2018/03/29/react-v-16-3.html&#34;&gt;official Context API in
v16.3&lt;/a&gt;, this update
dropped a grenade into the React world. As developers like Kent C. Dodds
&lt;a href=&#34;https://kentcdodds.com/blog/application-state-management-with-react&#34;&gt;pointed
out&lt;/a&gt;,
complex state management became something that any React developer could
implement—without bringing in tools like Redux, MobX, or Apollo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Practical Appsync &#43; Cognito for Single-Page Applications</title>
      <link>https://tommygroshong.com/posts/2019-05-13-appsync-cognito-cloudfront/</link>
      <pubDate>Mon, 13 May 2019 20:44:15 -0400</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2019-05-13-appsync-cognito-cloudfront/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;If you want to get new-agey and deploy a &lt;a href=&#34;https://graphql.org&#34;&gt;GraphQL&lt;/a&gt; API in a &lt;em&gt;serverless&lt;/em&gt; architecture,
what&amp;rsquo;s the best way? You can make that work with API Gateway but it&amp;rsquo;s a little cludgey and normally results
in implementing a super Lambda function that contains all your GraphQL resolver logic.&lt;/p&gt;
&lt;p&gt;Lucky us! AWS has a GraphQL specific API proxy called AppSync. Last month, I did an
&lt;a href=&#34;https://tommygroshong.com/posts/2019-04-11-aws-appsync/&#34;&gt;article overviewing AppSync&lt;/a&gt; and concluded I would try it out on an upcoming
project. Well dear reader, I have done it and now I am bringing you my results!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mini-React-Redux Framework in Django</title>
      <link>https://tommygroshong.com/posts/2017-01-20-mini-react-redux-framework-in-django/</link>
      <pubDate>Fri, 20 Jan 2017 00:00:00 +0000</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2017-01-20-mini-react-redux-framework-in-django/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I have built several production web applications using React and Redux and generally have had an excellent experience with those technologies.  One of React&amp;rsquo;s greatest assets IMO is it&amp;rsquo;s ability to integrate into all kinds of stacks and setups but still play nice with the other kids.  That was something that impressed me back in Spring 2014 when I first used React.  We got React running in the jQuery spaghetti code of a massive, legacy Ruby on Rails application with incredibly little effort and huge productivity benefits to the team.  Redux is also incredible for the amount of good it does you with so little code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forms to Emails using AWS Lambda &#43; API Gateway &#43; SES </title>
      <link>https://tommygroshong.com/posts/2016-04-05-forms-emails-lambda-apigateway-ses/</link>
      <pubDate>Tue, 05 Apr 2016 17:18:28 -0400</pubDate><author>tom@groshong.software (Tommy Groshong)</author>
      <guid>https://tommygroshong.com/posts/2016-04-05-forms-emails-lambda-apigateway-ses/</guid>
      <description>&lt;p&gt;When deploying static websites, I am not a fan of provisioning servers to distribute them.  There are so many alternatives that are cheaper, simpler, and faster than managing a full backend server: S3 buckets, Content-Delivery Networks (CDNs), etc.  But the catch with getting rid of a server is now you don&amp;rsquo;t have a server anymore!  Without a server, where are you going to submit forms to?  Lucky for us, in a post-cloud world, we can solve this!&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
