What did you do this past week?
This week I worked on the IDB project with my team for my SWE class and worked on the Allocator project for my OOP class. I also had an exam in one of my classes.
What's in your way?
Nothing is in my way this week, as I am taking the time of for Spring Break to relax.
What will you do next week?
Next week, I am going to relax, since it is Spring Break and I do not have many commitments. I am going to spend time with my friends and family.
What did you think of Paper #8. The Integration Segregation Principle?
The Interface Segregation Principle (ISP) in object-oriented design promotes creating smaller, more specialized interfaces. This prevents classes from being forced to implement methods they don't use. Imagine a "Swiss Army Knife" interface with functions for everything; ISP suggests creating separate, focused interfaces like "CanOpener" or "Screwdriver" for better organization and reduced complexity.
What did you think of cache, functions, and regexps?
In Python, caching can improve the performance of functions that perform expensive calculations or repetitive tasks. By storing the results for a specific input, the function can retrieve the cached value instead of recomputing it if the same input is encountered later. This is particularly useful with functions that use regular expressions (regexps). Regexps are powerful tools for searching and manipulating text, but compiling them can be computationally costly. Python's re module caches compiled regex objects, so subsequent uses of the same pattern avoid the compilation step. This optimization, combined with caching function results, can significantly speed up your Python code.
What did you think of initializations and std::vector?
std::vector in C++
Dynamically Sized Arrays: std::vector is a container class in the C++ Standard Template Library (STL) that provides functionality similar to arrays but with dynamic size allocation. This means you don't have to specify the size of the vector at compile time; it can grow or shrink as needed at runtime.
Initialization refers to the process of assigning an initial value to a variable at the time it's declared or created. This ensures the variable has a well-defined state before being used in your code. There are a few common initialization techniques: default constructor, constructor, and initializer list.
What made you happy this week?
This week, I went out with my friends a few times, and as a result made some good college memories. I am also excited for Spring Break next week.
What’s your pick-of-the-week or tip-of-the-week?
Recently, I have been using Arc. The app takes a novel approach to browsing by treating tabs as components that can be organized into folders, pinned for quick access, and grouped into different "spaces" for separating work and personal browsing. However, as of right now, the app is limited to MacOS.