This mini-project involves interacting with Wikipedia and performing many operations.
Some of the learning goals for this project are:
- Working with external libraries (such as
jwiki,gson, andantlr); - Implementing reusable datatypes such as a
FSFTBuffer; - Using multi-threading to handle certain aspects of the implementation;
- Managing shared memory when multiple threads are involved;
- Implementing parsers for a given grammar and executing queries on a database.
In this assignment, I used:
- Use external libraries and APIs for data processing;
- Implement concurrent processing of related operations;
- Implement core computing abstractions such as caching;
- Parse and execute structured queries.
An FSFTBuffer can be used to implement a data cache.