# Resources
This page provides a bevy of good self-learning resources for every topic, accessible for anyone (not just Launch Pad members)! Looking for Launch Pad-specific documentation? Head on over to the Handbook!
If you want further pointers, get in touch with your tech lead - they can direct you to more resources or to another Launch Pad member that knows more. And if you want to add even more resources, feel free to make a pull request.
# ๐ถ Git Workflow
A recommended git/GitHub collaborative development workflow is introduced in Git Workflow.
# ๐ฌ Programming Languages
Looking for resources to a specific programming language? Drop by the Programming Languages page!
# โ๏ธ Tools
Boost your productivity and learn about the tools we use at Launch Pad over in the Tools page!
# ๐น Deployment
Want to make your project available to the world? Head on over to our Deployment section!
# ๐จโ๐ผ Repo Management
- Shields.io provides a frankly massive number of badges that you can put in your repo's README to show off your Travis builds, website, license, issue tracking, and lots of other stuff!
- Pull Reminders is a service that notifies you over Slack of pull-request-related activity on your repos, and also has lots of useful dashboards showing stats on review turnaround time, number of reviews, and so on. Pull Reminders is already set up with Launch Pad's repos, and we highly recommend enabling reminders!
- Our Handbook also has a section about managing repositories: Repository Management.
# ๐ป Command Line
- Matt Might has a pair of Unix tutorials, one for total beginners and one for advanced beginners, which are like the missing user's guide for the command line.
- Remy Sharp has a list of command line tools better than their built-in counterparts.
- Included in that list but also worth mentioning separately, tldr pages is a project to build short-and-sweet guides to common use cases.
- If you're using bash, the bash-completion project provides a huge number of tab-completion scripts for common command line programs.
- git also has autocomplete scripts available - these will save you literally hours of your life.
# ๐จ Front End Development
- Grab, an Uber competitor in Southeast Asia, has a great big guide to front end development, which covers everything from React to hosting and deployment.
# Vue
- The official UBC Launch Pad website is written in Vue and TypeScript, and the repository includes introductory documentation on working with Vue and TypeScript
# ๐ Cheatsheets
- devhints.io provides cheat sheets for a huge number of web development and sysadmin/ops-related tools and programs.
- cheat.sh is a service along the lines of the above, but it can also be run from the command line.
- If you want to learn vim, or just use a vim mode in the editor or IDE of your choice, you can't go wrong with this vim cheat sheet.
# ๐งช Coding Challenges
- LeetCode is probably the most popular website for coding challenges and comes highly recommended for interview preparation - big companies often take interview questions directly from LeetCode!
- HackerRank is a similar coding challenge site, which many companies use directly for interview screening.
- Project Euler is a very different style of coding challenge site - it has a much sparser presentation than rivals like LeetCode and HackerRank, and generally focuses on (sometimes rather esoteric) mathematical conundrums. But for the mathmatically-inclined programmer, it can be a rich resource for delightful insights. Also, our very own ML Tech Lead Kevin built a command line tool to make it easier to work on Project Euler problems in Python!
# ๐๏ธ Windows
Having trouble with Windows? Check out our Windows guidance!
# ๐ญ General Learning
- Launch Pad has its very own Medium publication! Talk to one of the co-presidents if you're interested in being published and becoming famous.
- The consulting firm Thoughtbot recently made their Upcase learning platform free for everyone. It has a lot of short video lectures on a variety of topics, espcially Ruby and Vim, which can be quite useful for new developers.
- every-programmer-should-know provides a collection of technical things every software developer should know.
- Slides contains slideshow decs for most UBC Launch Pad presentations and workshops, both internal and external.
# ๐ง Exploration
The Exploration section has Tech Lead-approved resources for those that want to explore more complicated topics like operating systems, programming languages, and machine learning.