<?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: CyberFriend</title>
    <description>The latest articles on Forem by CyberFriend (@cyberfriend).</description>
    <link>https://forem.com/cyberfriend</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%2F2033093%2F043fbe47-b240-449f-a42c-aa452a983aeb.jpeg</url>
      <title>Forem: CyberFriend</title>
      <link>https://forem.com/cyberfriend</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/cyberfriend"/>
    <language>en</language>
    <item>
      <title>Project 3:Nintendo Division. Tetris Game</title>
      <dc:creator>CyberFriend</dc:creator>
      <pubDate>Tue, 05 Nov 2024 20:38:04 +0000</pubDate>
      <link>https://forem.com/cyberfriend/project-3nintendo-division-tetris-game-2k76</link>
      <guid>https://forem.com/cyberfriend/project-3nintendo-division-tetris-game-2k76</guid>
      <description>&lt;p&gt;Hi Everyone,&lt;/p&gt;

&lt;p&gt;We’re getting closer and closer to the finish line of our course, and as usual, the cherry on top of our journey is the most challenging project yet—Project #3: Partitioning. At the start, our class was divided into two big teams: Atari and Nintendo. I'm part of the Nintendo division, and I’d love to share my experience with you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Project Phases:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Design and Partitioning Phase:&lt;/strong&gt; For our project, we’re redesigning the classic Tetris game. We started with a base file filled with bugs and missing features, and our job is to bring it to perfection.&lt;/p&gt;

&lt;p&gt;During this phase, we actively communicated with the entire division. We initially chose Microsoft Teams as our primary communication tool, but since some team members found Teams a bit heavy, we also set up a Discord server to keep things clear and organized. Before our first meeting, we had already selected a division team lead, along with local team leads for each subgroup. At our first meeting, Rachael, our division team lead, walked us through the agenda and introduced the project plan. Each team member semi-volunteered for responsibilities and contributed ideas.&lt;/p&gt;

&lt;p&gt;I say "semi" because, as you’d expect, things didn’t always go as planned. During both phases, we all ended up working towards one main goal: completing the design project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Implementation and Integration Phase:&lt;/strong&gt; Once we had the design in place, the fun part began. Our team, Team TypeScript, was primarily responsible for coding, testing, and design (both visual and document design). Shout out to Myo, who did an amazing job with the coding! My role focused on testing and discovering bugs. However, the part I’m really proud of is designing the visuals for the game. Our division wanted to use an animated version of a professor’s face as the game background, and I got to bring that to life. After finishing my design, I merged my code into the main branch and completed a pull request.&lt;/p&gt;

&lt;p&gt;Since this project involved so many people, each step required multiple reviews and approvals, which sometimes turned simple tasks into complex processes. To be honest, I prefer working with a smaller team, but I also recognize how essential it is to divide tasks when so many people are involved.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjjb9wzi1dyj4psr5iqe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnjjb9wzi1dyj4psr5iqe.png" alt="Image description" width="800" height="525"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When designing the background, I thought it would be cool to take our game to the next level with laser eyes that glow every time the player clears a line. I shared my idea with the team, and together with Myo, we brought it to life in the game.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1gk58yuaidh2ptwauvl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1gk58yuaidh2ptwauvl.png" alt="Image description" width="800" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As more team members started contributing, we added even more features like game music, bug fixes, and a "how to play" guide. Overall, the experience I gained during this project was invaluable, as it gave us insight into what real workflow in a large corporate environment is like.&lt;/p&gt;

&lt;p&gt;And just like that, this is my last blog post. What a ride! If I could go back to the beginning of the quarter, I’d tell myself that all the effort was worth it. It’s been an amazing experience filled with learning and growth.&lt;/p&gt;

&lt;p&gt;Until next time,&lt;br&gt;
 Your CyberFriend&lt;/p&gt;

</description>
      <category>tetris</category>
      <category>nintendodivision</category>
      <category>java</category>
      <category>github</category>
    </item>
    <item>
      <title>Design &amp; Implementation: Project 2</title>
      <dc:creator>CyberFriend</dc:creator>
      <pubDate>Tue, 22 Oct 2024 15:07:35 +0000</pubDate>
      <link>https://forem.com/cyberfriend/design-and-implementation-project-2-searchlist-and-bucket-item-structures-2oj0</link>
      <guid>https://forem.com/cyberfriend/design-and-implementation-project-2-searchlist-and-bucket-item-structures-2oj0</guid>
      <description>&lt;p&gt;Hey everyone!&lt;/p&gt;

&lt;p&gt;If you've been following my blog journey, you already know I write about my experiences in our Global Software Development class. For our next project, my team, TypeScript, was given a two-week task that was split into two parts.&lt;/p&gt;

&lt;p&gt;Part A required us to write a design for a SearchList, which we would later pass on to another team for implementation. Just like everything else in this class, this was a pretty new experience, but after our first meeting, we laid out the cards on the table and quickly started working on a design that followed the specific rules provided by our professor.&lt;/p&gt;

&lt;p&gt;Here’s the Project Description our team came up with:&lt;/p&gt;

&lt;p&gt;The goal of the project was to design a highly efficient data structure called SearchList. SearchList is a structure that implements node addition, node removal, or node searching by either name or index. The goal was to support an ordered list with efficient insertions, removals, and searches. We aimed to keep the code simple without using complicated constructs like templates, containers, or other high-level libraries. Our design document provided a clear, easy-to-follow plan for the implementation team to work from.&lt;/p&gt;

&lt;p&gt;In Part A, our objective was to provide as many details as possible, including skeleton code, a demo for insertion by name, UML diagrams, and design diagrams so the implementation team would have a clear vision of what we required. &lt;br&gt;
Design Diagram:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmm97z0phgjuz3p6ziswt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmm97z0phgjuz3p6ziswt.png" alt="Image description" width="745" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;UML:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpb5ze046x7cr72auofeq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpb5ze046x7cr72auofeq.png" alt="Image description" width="598" height="724"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, we created implementation tasks and set some deadlines. Honestly, these deadlines were not met by the other team. They also didn’t reach out for clarification or ask any questions, which made us wonder if our design was just that good—or if the other team didn’t care! LOL&lt;/p&gt;

&lt;p&gt;Part B switched things up. We were now responsible for implementing a design created by another team, and this is where the fun really began. We were given a design for a bucket-item data structure. The instructions stated: "The design should allow fast insertion, removal, and querying of both buckets and items."&lt;br&gt;
Besides this, we were provided with a list of tasks and rules to follow.&lt;/p&gt;

&lt;p&gt;We kicked off the implementation phase with a team meeting where we carefully reviewed the design requirements and reached out to the design team for clarification. Honestly, it seemed like the team that handed us the design had big ambitions but didn’t fully consider the short timeline. Also, their design included things like a proxy (supposedly for security) that felt overcomplicated for this project.&lt;/p&gt;

&lt;p&gt;Despite these challenges, we began by implementing the skeleton code and pushing it to our GitHub so the entire team could track the progress. Afterward, we divided the methods among us and started coding. After several attempts and meetings, we were finally able to implement the design, meeting all the requirements. During our final team meeting, we tested the code via Zoom, did some final touches, and then pushed the project to our GitHub repository.&lt;/p&gt;

&lt;p&gt;The last step was sending the project back to the design team. We shared a zip file along with the compiled files and instructions on how to run it. Overall, this was a great experience. It challenged us to collaborate, maintain strong communication, and deal with GitHub and coding challenges.&lt;/p&gt;

&lt;p&gt;After merging the final version of the project, it looks like this on GitHub: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbimpibakmssmg8n4c3f9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbimpibakmssmg8n4c3f9.png" alt="Image description" width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It doesn't include any .class files, so anyone who wants to test our project will need to compile the files using javac *.java and run the BucketControllerTest.&lt;br&gt;
See below for the testing results:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42syxrbzhoig3nt5pegu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42syxrbzhoig3nt5pegu.png" alt="Image description" width="800" height="729"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See you next time,&lt;br&gt;
Your CyberFriend!&lt;/p&gt;

</description>
      <category>searchlist</category>
      <category>buckets</category>
      <category>depaul</category>
      <category>github</category>
    </item>
    <item>
      <title>The Second Week of Project 1: Unit Testing</title>
      <dc:creator>CyberFriend</dc:creator>
      <pubDate>Tue, 08 Oct 2024 19:06:45 +0000</pubDate>
      <link>https://forem.com/cyberfriend/the-second-week-of-project-1-unit-testing-2i0h</link>
      <guid>https://forem.com/cyberfriend/the-second-week-of-project-1-unit-testing-2i0h</guid>
      <description>&lt;p&gt;As the second week of Project 1 rolled in, our task to build the unit tests we had each chosen began. To recap, me and seven other classmates were grouped into a team to practice unit tests, with a focus on working via GitHub. This project was designed to throw us into the reality of software engineering. Working in teams isn’t always as smooth as it should be, and remote work especially demands flawless communication, which not everyone is used to.&lt;/p&gt;

&lt;p&gt;For this project, I took on the role of team lead. Honestly, I did everything I could to ensure our final tests were 100% successful (and maybe even went beyond my assigned role to make that happen!).&lt;/p&gt;

&lt;p&gt;Below, you can see the methods I selected for my testing:&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Fn868uarrmn3hrplkrxhx.png" class="article-body-image-wrapper"&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%2Farticles%2Fn868uarrmn3hrplkrxhx.png" alt="Image description" width="800" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Part B of the project, I worked with IntelliJ using the Gradle tool. Our team agreed to maintain a consistent commenting style across all tests so our code would look cohesive as one unified project. For example, here’s part of my test for HSetTest:&lt;br&gt;
`@DisplayName("Yurii - HSetTest")&lt;br&gt;
class HSetTest {&lt;br&gt;
    HSet hSet;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@BeforeEach
@DisplayName("Setting up the test environment")
void setUp() { 
    hSet = new HSet&amp;lt;&amp;gt;(); 
}

@AfterEach
@DisplayName("Tearing down the test environment")
void tearDown() { 
    hSet.clear(); 
}

@Test
@DisplayName("HSet size should return 0 after creation")
void size() {
    assertEquals(0, hSet.size(), "The size of a newly created HSet should be 0");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;Since I had never done Unit Testing before, this project was not exactly a walk in the park. However, with some effort, I managed to complete all my tests and even helped other team members who ran into issues. One of the key lessons from this project was learning to work with GitHub’s pull requests. The whole process of reviewing and merging files was new to me but quite interesting to navigate as part of a team.&lt;/p&gt;

&lt;p&gt;I believe one of the most important aspects of this project was setting rules for the main branch. Since many of us were new to working with pull requests, some initial mistakes could have seriously harmed the entire project. Luckily, we reviewed each pull request carefully, which saved us from potential disaster.&lt;/p&gt;

&lt;p&gt;After missing our internal deadline (we are still on the project time tho), we finally managed to run all the tests successfully and achieved a 100% pass rate. &lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Fbjf8jbrgguijd7qef595.png" class="article-body-image-wrapper"&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%2Farticles%2Fbjf8jbrgguijd7qef595.png" alt="Image description" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introducing Teamwork and Unit Testing Project#1</title>
      <dc:creator>CyberFriend</dc:creator>
      <pubDate>Mon, 30 Sep 2024 14:37:13 +0000</pubDate>
      <link>https://forem.com/cyberfriend/introducing-teamwork-and-unit-testing-project1-5c3</link>
      <guid>https://forem.com/cyberfriend/introducing-teamwork-and-unit-testing-project1-5c3</guid>
      <description>&lt;p&gt;Week 4 began with forming teams and kicking off our first team project. Our team, TypeScript, consists of 9 members; however, despite it being the 4th week of class, one person still hasn't responded to us. So, it looks like we'll end up with a Fantastic 8—which, honestly, might just be our new team name.&lt;/p&gt;

&lt;p&gt;This first project is all about Unit Testing and breaking the ice in terms of teamwork. Our initial meeting was held over Zoom, where we discussed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Team Roles and selecting a team lead for Project #1.&lt;/li&gt;
&lt;li&gt;    Choosing the methods that each of us would use for Unit Testing (still in progress).&lt;/li&gt;
&lt;li&gt;    Discussing the tools and communication platforms that will help us move forward (Microsoft Teams, Google Docs, Excel Sheets, OneNote Class Notebook).&lt;/li&gt;
&lt;li&gt;    Planning future work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the challenges during our first meeting was defining and splitting roles between each member. Since the roles weren’t clearly defined, we tried a trick: we prompted the project requirements and the number of team members into an AI assistant, which helped us brainstorm some ideas. This helped a lot! Another thing is, as usual in team projects, people tend to stay away from extra responsibilities—so, naturally, nobody wanted to be the team lead. I decided to be proactive and took up the responsibility of team lead. This isn’t new to me; I manage my team at work daily, so I’m confident about keeping this project on the right track.&lt;/p&gt;

&lt;p&gt;After the meeting, one of the team members created the repository, allowing each of us to clone it to our local machines. I then created a branch for each team member and set restrictions on pull requests. Setting up these restrictions involved creating a &lt;code&gt;CODEOWNERS&lt;/code&gt; file at the root of our project, listing the people authorized to approve any pull requests to the main branch. This should help us avoid unnecessary problems down the line. Moreover, I also created a &lt;code&gt;.gitignore&lt;/code&gt; file to ensure that unnecessary files and directories are excluded from our project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fucys6aa6f6pcazmrrwuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fucys6aa6f6pcazmrrwuo.png" alt="Image description" width="800" height="367"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbki933barajmj147aiu8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbki933barajmj147aiu8.png" alt="Image description" width="800" height="621"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was the first part of Project #1. My main concern is working with people! Everyone has their own responsibilities, personal life, work/school obligations, and life outside of this project—which is completely normal. My part in all of this is to keep us together and stay on track towards our main goal.&lt;/p&gt;

&lt;p&gt;I think I covered most of what happened during the first week of Project #1.&lt;/p&gt;

&lt;p&gt;I'll keep you posted.&lt;/p&gt;

&lt;p&gt;Your CyberFriend!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Diving into the GitHub World</title>
      <dc:creator>CyberFriend</dc:creator>
      <pubDate>Mon, 23 Sep 2024 14:35:57 +0000</pubDate>
      <link>https://forem.com/cyberfriend/diving-into-the-github-world-blog2-3hj</link>
      <guid>https://forem.com/cyberfriend/diving-into-the-github-world-blog2-3hj</guid>
      <description>&lt;p&gt;For the past two weeks, our focus shifted to Git and GitHub. Despite hearing about it through blogs and from software engineers who always preach its importance, I hadn’t really used it much. Most DePaul classes either didn't mention GitHub or barely touched on it. As a sophomore student, I feel like this is a huge gap between what school teaches us and what the real world actually demands. But finally, here we are—learning something that will genuinely be useful down the road.&lt;/p&gt;

&lt;p&gt;I rolled up my sleeves and dived into the world of repositories. Not gonna lie, it looked complicated at first, but things are always hard before they get easier. After some research, I managed to set up my GitHub and figure out all the commands I needed for this project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1vikucsw4quatueuhgb3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1vikucsw4quatueuhgb3.gif" alt="Image description" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This week was all about getting a taste of how software engineers manage their day-to-day work: creating a repository, connecting it to my local machine, sending updates, and working with different branches like the main and doubleLink branches. I learned how to push updates and add meaningful comments for each step. Merging branches, though—that was the trickiest part. Specifically, understanding how to deal with merge conflicts. Seeing those weird markers like &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;, ======, and &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; threw me off at first. But after some back-and-forth comparing files and reading through the comments, I was able to resolve them, keeping the most important updates. Then came the usual ritual: compile, check, and "Add! Commit! Push."&lt;/p&gt;

&lt;p&gt;And just like that, several hours later, I completed all 16 tasks. Honestly, even though it took a lot of time, I enjoyed learning about Git and GitHub. As long as there’s real value in it for my future, I don't mind putting in the effort to learn.&lt;/p&gt;

&lt;p&gt;Catch you next time,&lt;br&gt;
Your CyberFriend&lt;/p&gt;

</description>
      <category>gloglobalsoftwaredevelopment</category>
      <category>github</category>
      <category>repository</category>
      <category>branches</category>
    </item>
    <item>
      <title>The Beginning of CyberFriend</title>
      <dc:creator>CyberFriend</dc:creator>
      <pubDate>Mon, 09 Sep 2024 13:52:34 +0000</pubDate>
      <link>https://forem.com/cyberfriend/blog1-the-beginning-of-cyberfriend-249i</link>
      <guid>https://forem.com/cyberfriend/blog1-the-beginning-of-cyberfriend-249i</guid>
      <description>&lt;p&gt;Let's kick off with a little intro about myself. Like many of you reading this, I'm a sophomore CS student at DePaul University. In the middle of my software engineering journey, I discovered my love for data science, so I added it as a minor to my major. Now, why is my blog called CyberFriend? Well, on the picture, you can see my best friend—my pet, Tokyo. Most of the time, Tokyo sits right next to me while we're trying to solve yet another complex coding problem, or he just listens to me complain when I get fed up about it. LOL.&lt;/p&gt;

&lt;p&gt;The first day of class was fun. Like most classes, it seemed easy at first. The lecture material was as simple as "1 + 1 = 2." But then, when it was time to do the homework, boom: "Write a Fibonacci program." At this point, I shouldn't be surprised, but somehow it always gets me. So, I opened my VS Code and started revising my knowledge of Fibonacci, along with JAVA.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvwatqfgtenxm9wjjugd.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvvwatqfgtenxm9wjjugd.gif" alt="Image description" width="640" height="640"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;While working on the problem, I remembered I had already solved a small Fibonacci problem in Python, which made my life much easier. Now, I just had to rewrite it in JAVA. What’s funny is that three other courses this semester have also reviewed Fibonacci. Isn't it amazing how these courses are designed to overlap and reinforce the material? I love it! Anyway, the program is done, and it successfully compiles.&lt;/p&gt;

&lt;p&gt;While testing it, I noticed that it would be helpful to add some exceptions, like "Only numbers allowed, no letters or words." This would make the program more explicit about only accepting integers. I thought about adding an exception for non-negative integers, but since the program returns zero for negative inputs, it felt redundant. Keeping my code clean and straightforward is important to me.&lt;/p&gt;

&lt;p&gt;So, the changes are complete, Tokyo and I are happy with the final product, and now it's time to tackle the next problem.&lt;/p&gt;

&lt;p&gt;See you next time,&lt;br&gt;
Your Cyber Friend&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs0ygm9f2exyu7fmrb2rd.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs0ygm9f2exyu7fmrb2rd.gif" alt="Image description" width="498" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>fibonacci</category>
      <category>se371</category>
      <category>gloglobalsoftwaredevelopment</category>
    </item>
  </channel>
</rss>
