<?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: Jimster397</title>
    <description>The latest articles on DEV Community by Jimster397 (@jimster397).</description>
    <link>https://dev.to/jimster397</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%2F734664%2F2bd2504a-f3eb-4705-b519-9e6a669775fc.png</url>
      <title>DEV Community: Jimster397</title>
      <link>https://dev.to/jimster397</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jimster397"/>
    <language>en</language>
    <item>
      <title>What is C#?</title>
      <dc:creator>Jimster397</dc:creator>
      <pubDate>Mon, 10 Jan 2022 06:02:16 +0000</pubDate>
      <link>https://dev.to/jimster397/what-is-c-4kgf</link>
      <guid>https://dev.to/jimster397/what-is-c-4kgf</guid>
      <description>&lt;p&gt;C# is a software programming language that uses .NET. .NET is a framework that was created and developed by Microsoft.  C# is commonly known as a programming language that is object-orientated, easy to understand and is constantly evolving. C# was originally created as a bridge between two languages those being C++ and Visual Basic.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does it mean for C# to be object orientated?
&lt;/h2&gt;

&lt;p&gt;It means that the way to use C3 is to build and model our application by looking at it through a blueprint. A good analogy that is constantly referenced when discussing C# is that is like building a house. People design what a house is going to look like ahead of time before they start building. C# uses data points and models to create the end product. In order to achieve that end product C# also utilizes classes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The greatest power of C#.
&lt;/h2&gt;

&lt;p&gt;One of the strongest components is C# is the way it stores and creates these models. When a user would like to build an application that requires numerous different blueprints or classes, it stores each one of these in its own memory. &lt;/p&gt;

&lt;h2&gt;
  
  
  What Does C# help you build?
&lt;/h2&gt;

&lt;p&gt;C# has big potential to be used in Mobile Development. Knowing there are so many different types of platforms that users use sometimes code will have to be re-created for different platforms for example IOS and Android. However, with C# and another program that uses C# we can use the same code for both platforms. This program is called Xamarin. &lt;a href="https://dotnet.microsoft.com/en-us/apps/xamarin"&gt;A nice helpful link to Xamarin.&lt;/a&gt;. With Xamarin this allows for developers to create one application that works across multiple products. &lt;/p&gt;

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

&lt;p&gt;There are a lot of powerful programming languages available to beginners however, each one pales in comparison to C#. C# is an easy to understand language that uses .NET, it also utilizes classes to build final products, it stores memory of different blueprints to build out applications, and it is used to create cross platform applications on mobile devices. C# is a strong tool in the hands of beginners that can be used to great effect to build a reputable portfolio. &lt;/p&gt;

</description>
      <category>programming</category>
      <category>software</category>
      <category>productivity</category>
      <category>csharp</category>
    </item>
    <item>
      <title>My Reason Why</title>
      <dc:creator>Jimster397</dc:creator>
      <pubDate>Wed, 08 Dec 2021 00:25:41 +0000</pubDate>
      <link>https://dev.to/jimster397/my-reason-why-5hfd</link>
      <guid>https://dev.to/jimster397/my-reason-why-5hfd</guid>
      <description>&lt;p&gt;When I was younger I knew I always wanted to do something with computers but I was never sure what I wanted to do. At first it was building computers, like hardware or lego pieces. At 16 I built my first computer and I was extremely proud of myself. I found some much satisfaction out of building something that I could operate and I started devoting myself to researching more and more about computer hardware and future careers. Over the course of the next two years I found out that depending on the area of computer engineering a person would take on heavily relied upon their math level. In HS, I was always decent at math but comparatively to other people in these fields I was far behind everyone else. So I figured I needed to get a decent education in order to pursue these dreams and I found my interest in physics in my senior year of HS. I was elated by physics and wanted to pursue it. I studied at community college for 3 years to transfer to UCSD. My major was sociology but at UCSD I planned on switching that major to something I actually wanted to pursue. I got in, and quickly scheduled a meeting with a counselor. In my meeting with them, they had told me that all transfer students could not switch majors if completing the major requirements took longer than 2 years and that this policy was implemented the year I got in. Essentially, no matter how much money I would be willing to spend to stay at UCSD they would not accept it, I was shattered. I felt like the world was crashing on top of me that all this time building to go to UCSD and do something with computers would never come to fruition. I completed my sociology degree cause I came to realize that my degree would show that I am capable of dedicating myself to education. I have always had this dream of pursuing computers but I never pushed myself to get into the field until I decided to take the plunge at Flatiron school. That is my reason why. My reason why is because this is my dream and I want to be able to show my friends and family that I am capable of pursuing my dream.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>story</category>
      <category>teambuilding</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Constructors</title>
      <dc:creator>Jimster397</dc:creator>
      <pubDate>Tue, 23 Nov 2021 19:43:23 +0000</pubDate>
      <link>https://dev.to/jimster397/constructors-414h</link>
      <guid>https://dev.to/jimster397/constructors-414h</guid>
      <description>&lt;h1&gt;
  
  
  Some background
&lt;/h1&gt;

&lt;p&gt;I am currently attending Flatiron school and here at this program they introduced their students to constructors. Although I was able to learn what a constructor is I didn't really get the shape of what a constructor is used for. This implored me to ask a friend of mine who works at Amazon currently how important constructors are. He told me that he took a similar journey as mine. He started from the ground and self-taught and moved from job to job until he landed one at Amazon. He told me the importance of constructors that I feel could benefit everyone. &lt;/p&gt;

&lt;h1&gt;
  
  
  What is a constructor?
&lt;/h1&gt;

&lt;p&gt;A constructor is a special type of procedure to create an object. It prepares object made by a constructor to be used later in your code. Additionally, constructors take in arguments that are used to set variable requirements.&lt;/p&gt;

&lt;h1&gt;
  
  
  Are there any rules to a constructor?
&lt;/h1&gt;

&lt;p&gt;Indeed, there are 4 basic rules or principles that should be followed in order to ensure that your code is as clean as possible. &lt;/p&gt;

&lt;h1&gt;
  
  
  Rules
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;The name of the constructor should be the same as that of the class name.&lt;/li&gt;
&lt;li&gt;A constructor cannot be declared as final, static, synchronized, or abstract type.&lt;/li&gt;
&lt;li&gt;It cannot have an explicit return type.&lt;/li&gt;
&lt;li&gt;A constructor can have an access modifier to control the access.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Are there different types of constructors?
&lt;/h1&gt;

&lt;p&gt;Certainly, there are 3 different types of Constructors. Default, No-Args, and Parameterized. &lt;/p&gt;

&lt;h1&gt;
  
  
  This is a default constructor
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f1skwAR1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6gycnf0cri15vzr8ynx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f1skwAR1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6gycnf0cri15vzr8ynx.png" alt="Image description" width="880" height="439"&gt;&lt;/a&gt;&lt;br&gt;
Nothing special here a default constructor is what JavaScript builds itself if the constructor is not assigned a class.&lt;/p&gt;

&lt;h1&gt;
  
  
  This is a No-Args constructor
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qspsz7jo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j0rtxma62m4hjxaicldg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qspsz7jo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j0rtxma62m4hjxaicldg.png" alt="Image description" width="880" height="424"&gt;&lt;/a&gt;&lt;br&gt;
The No-Args constructor is quite similar to the default constructor, however the main difference is the that the body of this constructor can have any code where a default constructor can not. In fact, in this example the body of this constructor is empty and there is no value assigned.&lt;/p&gt;

&lt;h1&gt;
  
  
  This is a Parameterized constructor
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9TGfKE9d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6u960t69uw7laccyn6nw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9TGfKE9d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6u960t69uw7laccyn6nw.png" alt="Image description" width="880" height="568"&gt;&lt;/a&gt;&lt;br&gt;
Parameterized constructors are constructors that exist with passed arguments or parameters. &lt;/p&gt;

&lt;h1&gt;
  
  
  Key Differences between Constructors and methods.
&lt;/h1&gt;

&lt;p&gt;Some of you may have been able to point out the similarities between methods and constructors. However, there are some differences that are important. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The constructor class must be the same name as the Class name.&lt;/li&gt;
&lt;li&gt;Constructors do not have a return type.&lt;/li&gt;
&lt;li&gt;Constructor is only called when the object is created. &lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Constructors can be used within classes to contain unique data to when that new object is created. Since constructors are used to set unique data and assigning them to properties allows them to be passed to other class instances. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://tecloger.com/constructor-in-java/"&gt;Here is the link to an article that I found that might better explain constructors by Yasir Khatri.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>constructors</category>
      <category>webdev</category>
      <category>amazon</category>
    </item>
    <item>
      <title>Knowing the Difference is Half the Battle.</title>
      <dc:creator>Jimster397</dc:creator>
      <pubDate>Tue, 16 Nov 2021 21:40:43 +0000</pubDate>
      <link>https://dev.to/jimster397/knowing-the-difference-is-half-the-battle-2224</link>
      <guid>https://dev.to/jimster397/knowing-the-difference-is-half-the-battle-2224</guid>
      <description>&lt;h1&gt;
  
  
  A Little Bit of Background:
&lt;/h1&gt;

&lt;p&gt;When attempting multiple algorithms at Flatiron school I found myself not being able to finish. From this, I wanted to find out why. So I peeked at the solution and found that they were using Set instead of an Array. This led me to questioning what is a Set? How is it different from an Array? And does Set have any bigger advantages over an Array? With a some research I was able to find my answers and teach it to others. &lt;/p&gt;

&lt;h1&gt;
  
  
  What is a Set?
&lt;/h1&gt;

&lt;p&gt;A Set is a collection of values that a programmer can iterate through similar to an object.&lt;/p&gt;

&lt;h1&gt;
  
  
  How is a Set different from an Array?
&lt;/h1&gt;

&lt;p&gt;A Set is similar to an array or an object in that you can iterate through one and that it holds a collection of values. However, the main takeaway is that a Set is only able to hold unique values. This means that a value that appears in Set can only appear one time.&lt;/p&gt;

&lt;h1&gt;
  
  
  Does Set have any bigger advantages
&lt;/h1&gt;

&lt;p&gt;As mentioned previously, Set is not able to have any duplicating values so if a programmer would like to push a new value in an Array they are able to do so as many times as they would like. Through my research into this topic, it was found that adding values to an array is 4 times than adding them to a Set. Iterating through an Array is also much faster than a Set. However, where Set shines is when a programmer would like to remove a value from their collection. If a programmer needed a way to make a unique collection of values Set is much more useful. Set removes the overhead from an Array. When checking an Array with a unique object it goes through checking if that value exists and if it does skip or push, going through every index. The tests that were run were with 10k and 100k elements. With 10k elements an array took 16.7ms and a Set took 20.7ms. However, at 100k elements the array took 1974.8ms and the Set took 83.6ms. Showing the massive disparity between the two. Another test was run that uses 10k elements in an collection and the programmer adds 15 new values and 5 of the are duplicates. The results are an array took 74ms and the Set took 9ms which is a big margin. &lt;/p&gt;

&lt;h1&gt;
  
  
  In Conclusion
&lt;/h1&gt;

&lt;p&gt;Sets are faster than arrays when dealing with duplicates and checking if any duplicate exists with large amounts of Data. However, Arrays are much faster in all other circumstances. I believe understanding these differences can enhance junior developers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/44243103/javascript-set-vs-array-vs-object-definition"&gt;Here is the link to a Stack Overflow that tested Set vs Array.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>efficiency</category>
      <category>tooling</category>
    </item>
    <item>
      <title>One major key that will amplify your coding prowess.</title>
      <dc:creator>Jimster397</dc:creator>
      <pubDate>Tue, 26 Oct 2021 17:21:42 +0000</pubDate>
      <link>https://dev.to/jimster397/one-major-key-that-will-amplify-your-coding-prowess-4754</link>
      <guid>https://dev.to/jimster397/one-major-key-that-will-amplify-your-coding-prowess-4754</guid>
      <description>&lt;h1&gt;
  
  
  OnChange vs OnClick within React:
&lt;/h1&gt;

&lt;p&gt;When traversing through one of the advanced deliverables in my 2nd coding challenge at Flatiron school I realized there is a big difference between OnChange and OnClick. The deliverable asks you to create a sorting feature with a checkbox that changes the orientation of how certain cards are organized. This seemed simple at first to be an OnChange event since the page was changing its state however, the onChange event did not work. &lt;/p&gt;

&lt;h1&gt;
  
  
  Why did this happen?
&lt;/h1&gt;

&lt;p&gt;The state of the page changes yet on onChange did not work. This is due to the special events that happen under the hood of react. The method that was called was .sort() and onChange causes the page to lose focus of the event that you are calling. When an onClick event occurs it allows for the .sort() to happen on the event that you are calling. &lt;/p&gt;

&lt;h1&gt;
  
  
  This ties into the difference between setting state and calling that state.
&lt;/h1&gt;

&lt;p&gt;When setting the state we use a const variable and set it to  this. const [variable, setVariable]= useState(true). This setVariable is what we use when we want to call the state of the page and in this situation we set it to true. This page will automatically have everything rendered until we set a onClick or onChange to our components. &lt;/p&gt;

&lt;p&gt;Once we call that OnChange event to our page it attempts to find the state of the page and change it order for the change to occur. However, the detriment to this is that the when it changes and attempts to find the state of the page again it fails. Again as previously said it is because onChange loses the focus of what it is changing. The onChange event fires with the old value still attached to the checkbox where onClick triggers setting the new value and changing it and setting the focus back to the checkbox.&lt;/p&gt;

&lt;p&gt;In conclusion, whenever you need to sort a page through a checkbox it is critical to use onClick however, some other programmers have gotten onChange to work, but it requires more effort and more coding. Knowing the differnce between these two OnChange and OnClick gives insight into how both work and how they interact with useState.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/4471401/getting-value-of-html-checkbox-from-onclick-onchange-events"&gt;Here is the link to a Stack Overflow when encountering this issue.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>react</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
