CS373 Fall 2021 Blog 10: Mason Eastman
What did you do this week?
This week my team and I finished Phase 2, and in Game Programming Paradigms my team and I turned in our demo for the AI and Networking project. I attended all my lectures and took a bit of a break since Phase 2 was a lot of work; though I did meet with my team so we could plan out issues for Phase 3.
What’s in your way?
Thankfully, nothing currently!
What will you do next week?
Next week I’ll attend lectures, and get started on my portion of Phase 3. We’ve already got the issues planned out, so we’ll each assign ourselves to some and talk about where we can best help to get the features implemented. I’ll also finish up my game with my team in Game Programming Paradigms and look at the next one.
If you read it, what did you think of the Paper #10: Dependency Inversion Principle?
Like all the other SOLID principles papers, I thought it was interesting and important! A good lesson in why abstractions exist and are crucial to making general use programs that don’t require tedious changing when dependencies change. I also thought the classic Reader-Writer example was very good in explaining the practicality of it, as that’s what (I think) C++ does with instreams and outstreams.
What was your experience of =, *, ** and regular expressions?
I’ve seen *args and **kwargs on Python documentation and online forums before, but didn’t really have an idea of what it meant nor how to use it. After learning about it in lecture though, it makes a lot of sense, and I can see the uses for it! A unique thing I haven’t encountered in any other language before. I’ve used = with parameters, so that wasn’t new to me, though the rules on ordering was. Lastly, I have been exposed to regular expressions several times throughout CS, most notably Compilers, so I am familiar; however, I forget some of the meta-characters sometimes so it’s nice to get a refresher.
What made you happy this week?
After a lot of work on Phase 2, it was really nice to see the end result and turn it in! We didn’t have to stress too much either (outside some wild AWS issues crashing our API, which thankfully stabilized before submitting), which was nice. To top it off, on Wednesday I went to a sorority date event with my girlfriend at Cidercade, which was really fun! I challenged her to Street Fighter and she button-mashed her way to a victory, but I got her back on the racing games afterwards. Really cool venue and a fun time all around.
What’s your pick-of-the-week or tip-of-the-week?
My pick-of-the-week this week is about Selenium testing! I forgot to share it earlier, so it may not be as applicable before, but if you’ve been struggling to get the selenium web-drivers installed and on your PATH and linking everything together just for Selenium to run, you can skip that entirely! The docker image
joyzoursky/python-chromedriver:3.9-selenium comes with selenium, a chrome webdriver, and all the python modules needed to run it, so once you enter the docker image you can write the file and run the tests with no errors! There are some other configurations too that have to do with python versions and the specific webdriver, but this is just the one I picked when writing tests for my team. Then for GitLab CI/CD testing you can use this docker image like any other.