Posts

CST 334 - Week 3

This week was about memory management, which, honestly, was hard to understand. I had some ideas about how it works from when I learned programming and also in the architecture course, but that was some time ago. Now, after reading it again, it’s more confusing than helpful. However, what I understand about how memory works is that it’s used to store data, code, instructions, and more. The main memory is one type of memory that allows fast data processing, but it has a limited size and is cleared when it's no longer needed. The purpose of memory management is to allocate the required memory for each program to run and also to protect the memory of other processes while this happens. For programs, memory is stored in locations to be read and to hold variables and arguments. In some programming languages, memory allocation is done automatically, but in others like C, you can manually allocate memory and also free it when it's no longer necessary. According to the book, allocation...

CST 334 - Week 2

This week in the book, I learned about processes, which are instructions waiting for an action. For the CPU to function efficiently, it’s beneficial to have more than one process working concurrently, such as running a web browser and a video game at the same time. To enable this, the operating system uses virtualization to simulate multiple CPUs. In the process API, UNIX systems contain methods like fork(), exec(), and wait() that allow process management. The fork() system call creates a new process for the parent process. The wait() system call allows the processes to be scheduled to run in order. As for the exec() system call, I didn’t fully understand it from the book, but according to Google, it replaces the current process with a new one. I’m still not sure how this works. Then comes my new nightmare: CPU scheduling, specifically the metric Response Time. The challenge for me was understanding where to find the T first run in order to calculate the T response. I’m still having ...

CST 334 - Week 1

 I have never used Docker before, so I learned the basic commands to use it for the lab and assignment. I'm still not sure about the full usage of Docker, but I found that it is used to have containers for easy access and testing of projects. After that, I also practiced and learned more about the C programming language because I'm not too familiar with it, but with the homework, I had the chance to practice more.

CST 363 - Final

 In this course, I learned about database design. I initially had some difficulties, but by the end, I understood the relationships and how to implement them in a database diagram. I also learned SQL using MySQL Workbench and how to use it in Java. By the end of the course, I gained an understanding of how to work with NoSQL databases, such as MongoDB, and how to implement them in Java.

CST 363 - Week 7

In both databases, you can update, insert, delete, and perform query operations. However, MongoDB's query functions are limited compared to SQL. Additionally, MongoDB lacks a join clause for combining collections. Another difference between MongoDB and MySQL is their format: MongoDB uses JSON documents, while MySQL is a relational database. I like the simplicity of MongoDB; it looks easy to work with and handle data. However, I'm not sure if it will be as helpful as MySQL when projects become more complicated. I find that learning about joins in SQL is useful, so the lack of that option in MongoDB makes me question whether it's the best choice for me. Still, I enjoyed working with MongoDB.

CST 363 - Week 6

 This week focused on programming with databases, specifically using SQL and the Java API (JDBC). I learned how to connect to databases and query data in Java to create applications. I also worked on improving my diagram creation skills and fixing the errors in my Lab 18.

CST363 - Week 5

 https://use-the-index-luke.com/sql/anatomy/slow-indexes The author suggests that slow indexes can be caused by the leaf node chain, which may lead to performance issues depending on the number of entries. Additionally, an index range scan can contribute to this slowness when it involves traversing the leaf node chain.