<?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: Cullen Kirkpatrick</title>
    <description>The latest articles on Forem by Cullen Kirkpatrick (@cjk101812).</description>
    <link>https://forem.com/cjk101812</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%2F448814%2F9e582b09-53f5-46df-9fce-8cce251e5b84.jpeg</url>
      <title>Forem: Cullen Kirkpatrick</title>
      <link>https://forem.com/cjk101812</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/cjk101812"/>
    <language>en</language>
    <item>
      <title>Become a coding Adonis with AdonisJs</title>
      <dc:creator>Cullen Kirkpatrick</dc:creator>
      <pubDate>Fri, 23 Oct 2020 02:30:46 +0000</pubDate>
      <link>https://forem.com/cjk101812/become-a-coding-adonis-with-adonisjs-ne4</link>
      <guid>https://forem.com/cjk101812/become-a-coding-adonis-with-adonisjs-ne4</guid>
      <description>&lt;p&gt;A few months back while I was scouring the web for some new tech to check out, I stumbled upon a Node.js framework called AdonisJs.  Most of my development experience comes in the form of JS/TS so I was instantly interested in what Adonis could bring to the table. Putting it simply, Adonis is an emerging Nodejs framework that puts stability at the forefront.  Similar to Nest.js and other Node frameworks, it aims to enhance experience and simplify development.  A few key takeaways and differentiators with Adonis is that it does not have anywhere close to the amount of overhead code that Nest.js does.  Adonis manages to still provide a lot of simplified functionality to help streamline development of API's and server-side logic despite being leaner than most other frameworks.  After a few days of hacking around with it I was hooked and am already using it on some of my newer projects.  Let's dive in and check out how to get up and running with Adonis!&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;If you're familiar with Node and JavaScript, getting Adonis up and running will be a breeze.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1. First thing we'll do is download the Adonis CLI (cause everyone needs to have a CLI tool).
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  npm i &lt;span class="nt"&gt;-g&lt;/span&gt; @adonisjs/cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Step 2. Next, we'll create our project. This creates the project in your current working directory, so make sure to navigate to the desired location.
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  adonis new hello-adonis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;We used "hello-adonis" as our project name here, but you can replace it with whatever you want to call the project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Step 3. Now we're ready to start up the server.
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  adonis serve &lt;span class="nt"&gt;--dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Boom, we've got an Adonis project up and running! Just navigate over to &lt;code&gt;localhost:3333&lt;/code&gt; in your browser to see your project in action.
&lt;/h4&gt;

&lt;p&gt;I definitely encourage you to poke around the code, and check out what comes out of the box with your project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building your first API endpoint.
&lt;/h2&gt;

&lt;p&gt;This is where the magic really starts to happen and where I was really sold on the whole Adonis thing.  Stick with me here.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 4.  Let's create a resource.
&lt;/h4&gt;

&lt;p&gt;Let's create our first real resource by opening up the &lt;code&gt;start/routes.js&lt;/code&gt; file of our project.  You'll see an existing route in there that serves up the welcome page, feel free to leave that in there and add this line below it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;Route&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;resource&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;developers&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DeveloperController&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;formats&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This single line handles the logic for up to 8 DIFFERENT ENDPOITNS!!  Possible endpoints include GET, POST, PUT, PATCH, DELETE, as well as endpoints like GET by ID endpoint (&lt;code&gt;/:id&lt;/code&gt;). Pretty rad, right?!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Step 5. Create a Controller for our new resource.
&lt;/h4&gt;

&lt;p&gt;Using the &lt;code&gt;Route.resource&lt;/code&gt; method automagically maps the respective HTTP verbs to named functions within your controller, so make sure you're following along closely here!&lt;/p&gt;

&lt;p&gt;To create the new controller where we'll put our logic, run this command from the root of the project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;adonis make:controller Developer &lt;span class="nt"&gt;--type&lt;/span&gt; http
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;We can accomplish the same thing by manually creating a file, but this does a little scaffolding for us to make our lives easier.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You should now have the file &lt;code&gt;app/Controllers/Http/DeveloperController.js&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 6. Add some logic to an endpoint.
&lt;/h4&gt;

&lt;p&gt;For the sake of brevity, we're just going to have our endpoint return a static JSON response.  Once you're familiar with the basics, I definitely encourage you to check out the &lt;a href="https://adonisjs.com/docs/4.1/database"&gt;Database section&lt;/a&gt; of the Adonis docs to see how you can pull actual data.&lt;/p&gt;

&lt;p&gt;In our new &lt;code&gt;DeveloperController.js&lt;/code&gt; file, lets add some code inside the class to bring it to life.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// DeveloperController.js&lt;/span&gt;
&lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nx"&gt;DeveloperController&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GREAT SUCCESS!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;The &lt;code&gt;index&lt;/code&gt; function will automagically be referenced by the GET &lt;code&gt;/developers&lt;/code&gt; endpoint behind the scenes.  This can seem a little weird at first, but trust me, it grows on you. To check out the other functions that are linked to the resource, head over to the &lt;a href="https://adonisjs.com/docs/4.1/routing#_route_resources"&gt;Adonis Routing Docs&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Sit back and admire your awesome API.
&lt;/h4&gt;

&lt;p&gt;You can now test you new API by navigating to &lt;code&gt;localhost:3333/developers&lt;/code&gt; in your browser.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You should see the &lt;code&gt;[{ status: 'GREAT SUCCESS!' }]&lt;/code&gt; response that we set as the return value.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/S6TEoUBJuGfQCoGl8l/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/S6TEoUBJuGfQCoGl8l/giphy.gif" alt="Sit Back"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;I hope this quick tutorial helps show how easy getting an API up and running can be with AdonisJs.  For more info on the topics we covered, head over to the &lt;a href="https://adonisjs.com/docs/4.1/routing#_route_resources"&gt;Adonis Docs&lt;/a&gt;.  They're a currently in beta for v5.0, which I'm sure will be packed with even more awesome features. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Share your thoughts and feedback in the comments.  I'd love to hear about other's experience with Adonis or other Node frameworks!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  HAPPY CODING!!
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;I'm in no way affiliated with the AdonisJs company, so all opinions expressed in this post are based solely on my experience with the framework.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>node</category>
      <category>webdev</category>
    </item>
    <item>
      <title>If Frontend Frameworks were NFL Teams</title>
      <dc:creator>Cullen Kirkpatrick</dc:creator>
      <pubDate>Wed, 02 Sep 2020 22:15:28 +0000</pubDate>
      <link>https://forem.com/cjk101812/if-frontend-frameworks-were-nfl-teams-206i</link>
      <guid>https://forem.com/cjk101812/if-frontend-frameworks-were-nfl-teams-206i</guid>
      <description>&lt;p&gt;Are you ready for some Footba... I mean, frontend frameworks!  Football season is right around the corner so what better way to kick it off than by comparing top teams to the most popular frontend frameworks.  It should go without saying, but is still worth mentioning that this is all in good fun.  I highly encourage everyone to try out all the frameworks and avoid rooting for one as if it was your favorite football team.  All these frameworks have unique use cases and different strengths and advantages.  Without further ado, here's my take on frontend frameworks if they were NFL teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Angular (New England Patriots)
&lt;/h2&gt;

&lt;p&gt;What was once the best dynasty in the world is now trying to find its place.  Just like the Patriots consistent Super Bowl runs, Angular came on strong and laid a lot of the ground work we see in applications on the web today.  Fast forward to present day, both the Patriots and Angular are fighting through some major changes, but will no doubt still be a powerhouse for years to come.  Just like the Pats, Angular has some major haters out there, but ultimately there's no arguing the success that they've had over the past decade.  Don't be surprised if Angular pulls off an upset here in the coming years and finds its way back to the top.&lt;/p&gt;

&lt;h2&gt;
  
  
  React (Kansas City Chiefs)
&lt;/h2&gt;

&lt;p&gt;The reigning champs.  Just like the Chiefs, React has steadily made improvements, combining the best features of other frameworks with its own innovations.  Kansas City is all about speed, but they still keep it simple.  This has proved to be a winning formula since React and KC both had a great year last year. On top of all that, React and KC have great communities around them and will no doubt be around for a while.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Vue (San Francisco 49ers)
&lt;/h2&gt;

&lt;p&gt;Coming out of basically nowhere, the 49ers are now one of the best teams in the league. Vue has also had a parabolic rise over the last few years, and is now one of the most popular frameworks in the world.  The community around Vue and the fanbase for the 49ers are growing fast and its hard for even the fans of other teams to root against them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Svelte (Baltimore Ravens)
&lt;/h2&gt;

&lt;p&gt;The new kids on the block.  The Ravens came up strong last year.  With a really young team, it wouldn't be surprising to see them do really well this season.  Svelte's the newer framework among this crew, but is right up there in quality with the rest of them.  Support around the Ravens and Svelte seem to still be growing which is critical for success.  With a little more support from the community and a few good enhancements, Svelte (and the Ravens) can definitely make a run this year.&lt;/p&gt;

&lt;h3&gt;
  
  
  Good luck to everyone!  Comment your takes!
&lt;/h3&gt;

&lt;p&gt;As mentioned before, this is all in good fun and is not meant to promote one framework over the others.  Just like the NFL teams that were mentioned, all of these frameworks are great and have a great chance of doing well this year.  If you haven't had the chance to work with any of these frameworks, I encourage you to check them out!  Good luck to everyone's teams this season!  If you're like me, your just happy that sports are back!&lt;/p&gt;

&lt;h3&gt;
  
  
  Comment your takes or what you think I might have missed!
&lt;/h3&gt;

</description>
      <category>watercooler</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>What I learned in my first month of Live Coding on Twitch</title>
      <dc:creator>Cullen Kirkpatrick</dc:creator>
      <pubDate>Sat, 22 Aug 2020 20:15:42 +0000</pubDate>
      <link>https://forem.com/cjk101812/what-i-learned-in-my-first-month-of-live-coding-on-twitch-k7d</link>
      <guid>https://forem.com/cjk101812/what-i-learned-in-my-first-month-of-live-coding-on-twitch-k7d</guid>
      <description>&lt;p&gt;A few months ago I was stuck in a bit of a rut.  I would get my work done for my job then not want to touch a keyboard for the rest of the day.  Now there's nothing wrong with wanting to disconnect for a while and keep up a solid work life balance, but I just wasn't engaged in learning, personal development... or anything, really.  One day I wandered onto Twitch and just happened to think "I wonder if there's a category for coding?".&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Spoiler Alert: There is!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I quickly started watching a few live coding streamers regularly and becoming part of their communities.  I had no intentions of starting my own channel at first, but after giving it more thought (and a little motivation from a few streamers I followed), I decided it could be a great way to get back into the groove of learning and meet some awesome people while I'm at it.  So, without any more rambling, here are the biggest things I've learned in my first month of Live Coding on Twitch.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) The Live Coding community exists, and they're awesome!
&lt;/h2&gt;

&lt;p&gt;I would not be doing the Science and Tech category any justice if this wasn't the first thing I mentioned.  The first things you'll notice when you tune in for a few streams is that most of the live coders on Twitch seem to like genuinely good people.  The community is super inclusive, always there to pick each other up when someone is down or celebrate each others wins.  The overall Science and Tech community, as well as the individual channel communities, really do feel like friends and family after a little while.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. You will learn a TON.
&lt;/h2&gt;

&lt;p&gt;Whether you're just lurking (Twitch term for passively watching) on someone's channel or streaming yourself, you will learn a ton from the community.  Chat has saved me on many occasions when it comes to troubleshooting errors and I've also been able to help out a few folks on roadblocks of their own.  There's people of different backgrounds/skillsets all over the place and the best part is... &lt;em&gt;hardly any&lt;/em&gt; trolls!  One of my main goals going into each stream is to not only learn something myself, but also make sure that chat is learning right along with me.  Nothing beats the feeling of building a feature or solving an issue with your community.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. You don't have to be an expert to make a difference.
&lt;/h2&gt;

&lt;p&gt;People seem to think that you should only stream live coding if you're one of the smartest people in the world... definitely not true.  While there are some pretty great programmers on Twitch, you won't hear anyone boasting about how they built "blah blah" all by themselves and how great they are.  The vast majority of streamers are super humble and even the best will get tripped up on a bug every once in a while.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. If you're considering streaming. Stop considering, and JUST DO IT.
&lt;/h2&gt;

&lt;p&gt;I went back and forth in my head on whether or not I was going to start streaming for about 3 weeks.  The hardest part is clicking "Go Live" on that very first stream.  Just remember, when you click that daunting button, there's a 99.9% no one is watching for at least a few minutes.  Practice narrating what your doing even when chat is empty and no one is watching.  Don't be discouraged if you aren't pulling in viewers.  If you got into Live Coding for the money and fame, you probably made a mistake.  Streaming is just like programming... it takes time and practice to get better.Just have fun and always be learning.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/GcSqyYa2aF8dy/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/GcSqyYa2aF8dy/giphy.gif" alt="Just Do It"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;This is my first post on dev.to about my first month on Twitch, so I'm clearly not an expert in this stuff.  That being said, I hope this post can serve as the last nudge needed for a few people to give live coding a shot.  If you have any questions or, better yet, you decide to start a channel, let me know and I'll gladly tune in and be your first follower!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.twitch.tv/directory/game/Science%20%26%20Technology"&gt;Science and Tech Twitch&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Happy coding!
&lt;/h3&gt;

</description>
      <category>webdev</category>
      <category>computerscience</category>
      <category>motivation</category>
      <category>watercooler</category>
    </item>
  </channel>
</rss>
