Development and Programming Notes
Development and Programming Notes
This section contains a collection of notes, guides, and resources related to various programming languages and development tools.
Table of Contents
- Git: Notes and commands related to the Git version control system.
- Java: Guides for Java development, including SDK management with SDKMAN.
- JavaScript & Node.js: Notes, commands, and recommended libraries for the JavaScript/Node.js ecosystem.
- TypeScript: Learning topics and notes for TypeScript.
General Development Tools & Resources
UI Design
- Figma: A collaborative interface design tool.
Localhost Tunneling
Expose your local development server to the internet.
- ngrok: A popular tool for creating secure tunnels to localhost.
- Download and unzip
ngrok. - Run:
./ngrok http 8080(forwards to your local port 8080).
- Download and unzip
- localtunnel: An npm package alternative to ngrok.
Image & Asset Tools
- Pic to Svg: A web-based tool to convert images to SVG format: picsvg.com
- Random Placeholder Images:
- Picsum Photos:
https://picsum.photos/500/300 - Random User:
https://randomuser.me/api/portraits/men/34.jpg
- Picsum Photos:
File Sharing
- filetransfer.io: A simple service for sharing files.
Video Downloading
- youtube-dl: A command-line program to download videos from YouTube and other sites.
- If you encounter a 403 error, try clearing the cache:
youtube-dl --rm-cache-dir
- If you encounter a 403 error, try clearing the cache:
Miscellaneous Commands & Snippets
Downloading a Single File from GitHub
You can use curl with the GitHub API to download a single file without cloning the entire repository.
# Replace :owner, :repo, and :path with your details
# The -O flag saves the file with its original name
curl \
-H 'Authorization: token YOUR_PERSONAL_ACCESS_TOKEN' \
-H 'Accept: application/vnd.github.v3.raw' \
-O \
-L 'https://api.github.com/repos/:owner/:repo/contents/:path_to_file'
- The
Authorizationheader is only required for private repositories. - Ensure the URL points to the
rawcontent.