CS373 Spring 2021: Week 8

Jyoti Luu
3 min readMar 14, 2021

What did you do this past week?

This past week I spent some time looking into Phase 2, setting up our PostgreSQL database on AWS, and prettifying some of our frontend components.

What’s in your way?

Currently, we need to populate our database with the data from our three models. We need to figure out a way to display a subset of the information we receive back from the API sources we are using, in addition to finding a way to gracefully add columns to link together our models by distance.

What will you do next week?

Next week I will continue to work on Phase 2 with my group, working on connecting our database and getting our API up and running. After that, we will work on prettifying our frontend and writing tests and documentation.

If you read it, what did you think of the Liskov Substitution Principle?

I thought it was useful to read about the Liskov Substitution Principle. As Computer Science majors we are always taught to use inheritance, but I have never heard it so clearly defined that you should not have derivatives of your base class have different behavior than your base class. It does seem a bit extreme, but there are lots of places where this principle could save users from making a lot of errors because the design of the program did not have in mind this principle. Overall, I see the utility of this principle and hope to keep it in mind as I go into my career.

What was your experience of iteration, comprehensions, generators, and digits iterator? (this question will vary, week to week)

I think my understanding of iteration has been reinforced since last week. The digits iterator exercise was straightforward.

Some key points I learned this week were…

  • That you cannot call next() on containers like lists, dicts, sets → you need to get the iterator for that container and call next on the iterator.
  • Iterators DO NOT respond to __getitem__ or __len__ while containers DO respond to __getitem__ or __len__.
  • In python, zip is an iterator that takes any number of iterables.
  • For a list comprehension like “g = x*x for x in my_list”, g is a generator and this statement is an O(1) operation — because it doesn’t actually do anything yet.

What made you happy this week?

Playing tennis and volleyball with my friends. I also had hot pot this week which I love. And of course, I was super happy to start Spring Break!

What’s your pick-of-the-week or tip-of-the-week?

This was actually a tip from someone else’s post, but I finally checked out some more React Bootstrap documentation in detail and it was super helpful. Here are some specific links so that you can get those pretty card displays or a beautiful and simple navbar.

--

--

Jyoti Luu

I am a senior at The University of Texas at Austin studying Computer Science. I am interested in Full Stack Development in web and mobile applications.