CST 334 Week 1
I learned Docker by installing Docker Desktop, verifying with docker run hello-world. I dove a little deeper into what containers were, how it mounted and what I can do inside a docker container which taught me layering and caching. In C#, I realized high-level features hide a lot of complexity: strings are immutable and managed by the runtime, and memory allocation “just works.” To see what really happens under the hood we did an assignment based on C string library where I needed to juggle heap versus stack. The string struct itself lives on the stack or wherever i declare it but its data pointer refers to a heap buffer hat i allocate with malloc or grow with realloc. Managing the buffer safely can avoid issues and avoid memory leaks. A few new methods/concepts i've also learned on the fly was memmove where it lets me shift bytes directly inside my buffer even when the source and destination overlaps for example in my insert and erase function that I did for the string library a...