Author Archives: Angus Cheng

Sprint 3 Retrospective

 Hello and welcome to my last sprint retrospective blog post for CS-448, my capstone class. 

This sprint was a lot less shorter and was more focused on sprint cleanup. Luckily, our team cleaned up pretty well at the end of each sprint so there was not much cleanup left. Instead, we decided to keep working on creating tests for the backend and get the test-runner branch working. Instead of branching out and having everyone writing separate tests, we decided to come together and figure out how to write one test which was a great decision. In the end with some help from Team 1, we ended up getting 2 tests working in the end.

Links to issues:

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/60. 

For this issue, we fixed a bug where GET inventory was returning an id value instead of a number.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/52. 

For this issue, we created the manual addInventory test for the addInventory endpoint.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/59. 

For this issue, we created the addInventory test in chai.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/53. 

For this issue, we created both the manual test and the chai test for the getAPIVersion endpoint.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/inventoryapi/-/issues/8. 

For this issue, we reviewed the current API as well as checked and made sure if everything was correct.

For what worked well, our cross-team communication worked really well this sprint. We would ask Team 1 questions and they were more than happy to answer any questions and help us with our tests. Our scrum master worked together with Team 1 to create a working test-runner branch. Communication between team members has improved a lot. We were all viewing the code together expressing ideas on what to add to make the tests work. We also made sure any guesses on what may be the problem were checked to hopefully get the tests running. In the end, the test runner branch and 2 tests were working.

For what did not work well this sprint, I cannot think of anything that did not work well since we all communicated well. I also cannot think of anything that the team could do to improve since we worked together more this sprint. I guess one thing I could have done better was to work on it more at home like how committed Team 1 worked on their issues.

For any improvements I could have done as an individual, the first thing I could improve on would be to read up on more of the Chai plugins. A plugin that I have not read up on may have made writing the tests easier and more efficient. It was also near the end of the semester and I was juggling a bunch of other assignments, so it was difficult to have enough time to complete issues at home. So a second thing to improve on would be my time management skills.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Sprint 3 Retrospective

 Hello and welcome to my last sprint retrospective blog post for CS-448, my capstone class. 

This sprint was a lot less shorter and was more focused on sprint cleanup. Luckily, our team cleaned up pretty well at the end of each sprint so there was not much cleanup left. Instead, we decided to keep working on creating tests for the backend and get the test-runner branch working. Instead of branching out and having everyone writing separate tests, we decided to come together and figure out how to write one test which was a great decision. In the end with some help from Team 1, we ended up getting 2 tests working in the end.

Links to issues:

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/60. 

For this issue, we fixed a bug where GET inventory was returning an id value instead of a number.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/52. 

For this issue, we created the manual addInventory test for the addInventory endpoint.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/59. 

For this issue, we created the addInventory test in chai.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/issues/53. 

For this issue, we created both the manual test and the chai test for the getAPIVersion endpoint.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/inventoryapi/-/issues/8. 

For this issue, we reviewed the current API as well as checked and made sure if everything was correct.

For what worked well, our cross-team communication worked really well this sprint. We would ask Team 1 questions and they were more than happy to answer any questions and help us with our tests. Our scrum master worked together with Team 1 to create a working test-runner branch. Communication between team members has improved a lot. We were all viewing the code together expressing ideas on what to add to make the tests work. We also made sure any guesses on what may be the problem were checked to hopefully get the tests running. In the end, the test runner branch and 2 tests were working.

For what did not work well this sprint, I cannot think of anything that did not work well since we all communicated well. I also cannot think of anything that the team could do to improve since we worked together more this sprint. I guess one thing I could have done better was to work on it more at home like how committed Team 1 worked on their issues.

For any improvements I could have done as an individual, the first thing I could improve on would be to read up on more of the Chai plugins. A plugin that I have not read up on may have made writing the tests easier and more efficient. It was also near the end of the semester and I was juggling a bunch of other assignments, so it was difficult to have enough time to complete issues at home. So a second thing to improve on would be my time management skills.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.

Reflect As You Work

Hello and welcome back to another week of my blog. This week, I looked through chapter 5 of the book Apprenticeship Patterns by Dave Hoover named “Perpetual Learning.” I was quite interested in the apprenticeship pattern called “Reflect as you work” once I read it. This pattern talks about how important it is to reflect on your own work and what you have learned in order to improve and progress as a computer science apprentice. All computer science apprentices should plan for a time to regularly review their work and see what areas they can improve in. It is also important to see what you accomplished and identify where you succeeded. You should always cherish those successes. “Reflect as you work” recommends you as an aspiring computer science major to draw a personal map for your own working habits and focus on the habits that have not changed in a while. Figure out if changing one habit would make you more productive and adopt that change.

To apply “Reflect as you work” to myself, I am going to make an analogy to playing video games again. No matter what video game I play, I always reflect on my actions, both when I succeed and fail. If one strategy fails, then I look back and try to identify points of failure and see how I can correct those mistakes. If my strategy succeeds, I celebrate that I’ve won (mentally in my head) and then look back and see if I can make the strategy better or make it more efficient. This is just a habit I’ve developed over years and years of playing video games. The same can be applied to being a software apprentice. If I fail to write working code, then I will try to identify the errors and try to correct them. If the code does work, then I will analyze it to see where it can be more efficient. In the future, I will always reflect as I work. As an example, look at this code:

int count;

count = 0;

while (count < 3){

System.out.println(count);

count = count + 1;

}

This code can be condensed down into:

int count = 0;

while (count < 3) {

    System.out.println(count++);

}

Which can be further condensed down to: 

for (int count = 0; count < 3; count++) {

    System.out.println(count);

}

Reflecting on my work as I go will greatly help me as a software engineer apprentice.

From the blog Comfy Blog by Angus Cheng and used with permission of the author. All other rights reserved by the author.