# Launchpad development tips

Launchpad is a large, mature codebase with a number of conventions and
specialised tools that are not immediately obvious. These guides provide
practical knowledge accumulated by the team that you can apply to work more
effectively and avoid common pitfalls.

* [Updating the global configuration for tests](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/update-configuration-for-testing/index.html.md)
* [Handling security policies](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/security/index.html.md)
* [Testing CLI scripts](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/testing-scripts/index.html.md)
* [Handling exceptions](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/exceptions/index.html.md)
* [Preserving query count](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/preserve-query-count/index.html.md)
* [Profile Launchpad performance](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/profile-launchpad/index.html.md)
* [Running Launchpad with Chameleon template engine](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/chameleon/index.html.md)
* [Launchpad API docs generation](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/launchpad-api-docs/index.html.md)
* [How to use codehosting locally](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/codehosting-locally/index.html.md)
* [Renaming a database table](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/rename-database-table/index.html.md)
* [MockIo library](https://ubuntu.com/docs/launchpad/developer/how-to/launchpad-development-tips/mockio/index.html.md)
