Skip to main content

CST 438 Week 2 Learning Journal

 This week, I learned the core fundamentals of React, including how to build reusable components, manage state using useState, and handle side effects with useEffect. I also explored JSX syntax and how it allows us to write HTML-like code directly within JavaScript, making UI development more intuitive.

In my opinion, React’s biggest strength is its component-based architecture, which encourages modular and maintainable code. It also has a strong ecosystem, with tools like React Router and Redux that support complex application needs. The virtual DOM makes UI updates efficient, and the use of hooks makes it easier to manage logic in functional components.

However, React also has some weaknesses. The learning curve can be steep for beginners, especially when diving into advanced topics like context, custom hooks, or performance optimization. Additionally, setting up a project with all the necessary tooling can be overwhelming requiring building both the front and backend in different software and then getting them to work together.

Overall, I see React as a powerful tool for building modern web applications, but it requires some investment in learning to use it effectively.

Comments

Popular posts from this blog

CST311 Week 6 Journal

 This week, we developed a deeper understanding of the network control plane and explored routing algorithms such as Dijkstra and Bellman-Ford, focusing on how they determine the most efficient paths for data transfer. We also learned about the SDN control plane, which allows for dynamic network management and routing. In addition to the theory learned this week, we conducted a network lab exploring the use of a basic SDN controller using Mininet and Wireshark. We looked at how Internet Control Message Protocol (ICMP), can be used for network diagnostics, particularly for network troubleshooting with tools like ping and traceroute.

Week 5 Learning Journal

Part One:  Supporting and Commenting on Teammate's Goals I visited the following teammate's blogs and commented on their goals. Juan's Blog Vance's Blog Part Two: Possible Capstone Ideas The three ideas I have for my capstone project are two different mobile apps and one indie game. For the two apps I am thinking of creating something in Swift, the programming language of iOS. The first app is a passion project that involves a list builder for a miniature tabletop game called OnePageRules. It is an independent miniature game ruleset and already has a web version. My app would take that template and adapt it for iOS. The second app would be a simple star wars app that utilizes an online API for Star Wars call SWAPI. This API has a number of entries related to the Star Wars universe in JSON format. My app would connect to this online API, download specific pieces of data and display them in the app.  The third idea would be to create a simple side scroller game. The game ...

Leetcode Practice Reflection 1.Two Sum

LeetCode Practice Reflection - 1. Two Sum Date:   19MAY25 What I Worked on Today: Practiced doing LeetCode Problem 1.Two Sum. What I Learned: - How to use the enumerate() function - How to optimize possible solutions after considering brute force methods - How to declare a new dictionary (key value pair) Code Snippet I Wrote or Studied: class Solution(object): def twoSum(self, nums, target): seen = {} for i, num in enumerate(nums): compliement = target - num if compliment in seen: return [seen[compliment], i] seen[num] = i In My Own Words: This function takes in a list of numbers and will return the index of the two numbers that add up to the provided target value. The way this program works is that it creates a dictionary called "seen". It will then iterate through the list of numbers and use the enumerate function to keep track of the index and the value of the specific item in the provided list. The for loop will calculate the compliment numbe...