This past week we set up our biggest and best challenge of the season: the blindfolded table mazes. I also spent some time working on Graphics and constructing a new game on my website called Digits.
In terms of Software Engineering, our team started working on populating our API with sorting calls. I finished connecting the instance pages and made them look nice using Bootstrap. I feel like we also have good infrastructure in place for our next milestone.
I spent a lot of time this week on my Graphics presesntation, which was due on Tuesday. I am commiting this from my phone on a roadtrip. Also, Survivor Texas starting took up a bit of time, but honestly, all of these were very fun.
Next week, we will finish our milestone for the project by having our API filter calls completed and tested. I will finish my Graphics project and have a good time with Survivor Texas.
The Dependency Inversion Principle is something that I was not familiar with but makes quite a bit more sense to me after reading this paper. When working on long-term projects, it makes sense to enforce the modularity of your code by making modules not overly-dependent to any other objects, especially objects that do not immediately relate to them by separating complex interfaces.
Instance methods operate on individual instances of a class and have access to instance-specific data through the "self" parameter. They are commonly used for actions or behaviors that are specific to each instance. Static methods, on the other hand, are not bound to any specific instance and do not have access to instance data. They are often used for utility functions that do not require access to instance variables. Class methods are similar to static methods but have access to the class itself via the "cls" parameter. They are commonly used for methods that need to access or modify class-level attributes or perform operations on the class itself. Each method type serves a distinct purpose in Python, providing flexibility and clarity in object-oriented programming.
Select allows users to filter and retrieve only the data that meets certain conditions, making it a powerful tool for data analysis and manipulation. On the other hand, "project" refers to selecting specific columns or attributes from a dataset while discarding others. This operation is essential for tailoring the retrieved data to meet specific requirements or for optimizing query performance by reducing unnecessary data transfer.
I was most excited about our challenge on Thursday, because it was so so cool. Our puzzle maze tables looked amazing and the Crew shirts were fantastic. I also loved spending time with Joyce and reading the new webtoon that she showed me (don't tell her I like it).
My tip of the week is to learn the functional aspects of JavaScript programming. I always hated it so I never learned it for real, but to add this game, Digits, to my website I had to learn a lot more about functional programming. For example to shuffle a list in JavaScript, you can do it in one line with this: numbers = numbers.slice().sort(() => Math.random() - 0.5);