# My approach to learning a new api This approach should work for languages 1. Read the introductory documentation - What does X do? - Why did they build X? - How is X different from other things that can do similar things? - What are people using X to do? - What are the essential concepts and architecture? - core concepts and terminology - patterns used (builders, factories, etc.) 2. Follow a tutorial to do a middle-of-the-road, common use case thing - make a GET request with a http client - do CRUD operations in a database - etc. 3. Read the summary section of the documentation on endpoints you used for the tutorial 4. Try to do something not in a tutorial 5. Read the docs on endpoints you use often - look for recommendations and best practices in the docs 6. Try to extend the functionality of the api - learn what is easy and what is hard to do with the api. Use it for things that are easy, look for something else for things that are hard. # Example: Rust sqlx library 1. Read the github README and learn what sqlx is trying to do 2. Query a sqlite database with sqlx following the examples 3. Read the endpoints used (Connection, sqlx_query!) 4. Try to roll back a transaction or make queries in concurrent threads with a connection pool 5. Read docs on transaction/connection pool/concurrency 6. See if you can implement sqlx for an unsupported database