{"id":14113098,"url":"https://github.com/Jacob-Roberts/awesome-resources","last_synced_at":"2025-08-01T16:32:25.135Z","repository":{"id":155473375,"uuid":"454585519","full_name":"Jacob-Roberts/awesome-resources","owner":"Jacob-Roberts","description":"📝 Notes and resources that have been particularly helpful to me","archived":false,"fork":false,"pushed_at":"2024-04-02T11:10:28.000Z","size":116,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-22T03:12:24.153Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jacob-Roberts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-02-01T23:30:50.000Z","updated_at":"2022-02-01T23:30:50.000Z","dependencies_parsed_at":"2024-04-07T02:04:13.778Z","dependency_job_id":"515292b6-3f55-41d9-9a71-3baab9681e25","html_url":"https://github.com/Jacob-Roberts/awesome-resources","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-Roberts%2Fawesome-resources","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-Roberts%2Fawesome-resources/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-Roberts%2Fawesome-resources/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jacob-Roberts%2Fawesome-resources/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jacob-Roberts","download_url":"https://codeload.github.com/Jacob-Roberts/awesome-resources/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228393599,"owners_count":17912862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-14T10:04:03.109Z","updated_at":"2024-12-06T00:31:19.282Z","avatar_url":"https://github.com/Jacob-Roberts.png","language":null,"funding_links":[],"categories":["Other Lists"],"sub_categories":["TeX Lists"],"readme":"# Awesome Resources\n\n📝 Notes and resources that have been particularly helpful to me\n\nIt is a collection of concise write-ups on small things I learn day to day across a variety of languages and technologies.\n\n---\n\n## Categories\n\n- [General](#general)\n- [Financial](#financial)\n- [Privacy](#privacy)\n- [Development](#development)\n  - [Git](#git)\n  - [Docker](#docker)\n  - [Web](#web)\n  - [JavaScript](#javascript)\n  - [TypeScript](#typescript)\n  - [React](#react)\n    - [Testing](#testing)\n  - [Security](#security)\n  - [API](#api-openapi)\n  - [Go](#go)\n  - [C#](#c)\n  - [Dynamodb](#dynamodb)\n- [DevOps](#devops)\n  - [Grafana](#grafana)\n  - [Nginx](#nginx)\n\n## General\n\n- [List of skills to learn](https://collegeinfogeek.com/skills-to-learn/)\n- [Free online courses](https://collegeinfogeek.com/free-online-courses/)\n\n## Financial\n\n- [Financial Independence Flowchart](https://www.reddit.com/r/personalfinance/comments/4gdlu9/how_to_prioritize_spending_your_money_a_flowchart/)\n- [Morning Brew Email Newsletter](https://link.morningbrew.com/click/23341498.1837890/aHR0cHM6Ly93d3cubW9ybmluZ2JyZXcuY29tL2RhaWx5L3IvP2tpZD1hZGM1OGY/5f8496268f047f47312d3f65B8e00c413)\n- [Financial Term Dictionary](https://www.investopedia.com/financial-term-dictionary-4769738)\n- [Why you can't time the market](https://www.personalfinanceclub.com/time-the-market-game)\n\n## Privacy\n\n- [Spread Privacy Blog](https://spreadprivacy.com/)\n- [Privacy Crash Course](https://duckduckgo.com/newsletter)\n- [Techlore](https://techlore.tech/index.html)\n\n## Development\n\n- [12 Factor App Guidelines](https://12factor.net/)\n- [Create beautiful project badges](https://javascript.plainenglish.io/how-to-make-custom-language-badges-for-your-profile-using-shields-io-d2aeaf016b6b)\n- [Security Headers Check](https://securityheaders.com/)\n- [How to load your .env into the current shell natively](https://www.cicoria.com/loading-env-dotenv-using-bash-or-zsh/)\n- [Load Balancing animation](https://samwho.dev/load-balancing/)\n\n### Git\n\n- [Semantic Commit Guide](https://medium.com/swlh/write-better-commits-with-semantic-commits-3316c68763f6)\n- [Make a local branch track a remote branch](https://www.git-tower.com/learn/git/faq/track-remote-upstream-branch/)\n- [.gitattributes generator](https://www.richie-bendall.ml/gitattributes-generator/)\n- [.gitignore generator](https://www.toptal.com/developers/gitignore)\n\n### Docker\n\n- [Getting Started With Docker](https://runnable.com/docker/)\n- [Difference between CMD and ENTRYPOINT](https://phoenixnap.com/kb/docker-cmd-vs-entrypoint)\n- [How to Setup Up a Private Docker Registry on Ubuntu](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-18-04)\n\n#### Samples\n\n- [eShopOnContainers](https://github.com/dotnet-architecture/eShopOnContainers)\n\n### Web\n\n- [Great guide to HTML/CSS](https://www.internetingishard.com/)\n- [CSS Layout Algorithms](https://www.joshwcomeau.com/css/understanding-layout-algorithms/)\n- [Design](https://twitter.com/i/events/994601867987619840?lang=en)\n- [The Front-End Features You Missed](https://betterprogramming.pub/the-front-end-features-you-might-have-missed-38f3ad1360a9)\n- [Sign-in form best practices](https://web.dev/sign-in-form-best-practices/)\n- [How to design a favicon](https://www.creativebloq.com/illustrator/create-perfect-favicon-12112760) (although you can probably just use an .svg now)\n- [100vh in safari](https://www.bram.us/2020/05/06/100vh-in-safari-on-ios/)\n- [Responsive Image lint](https://ausi.github.io/respimagelint/)\n\n#### Resources\n\n- [Unsplah Source (free photos)](https://source.unsplash.com/)\n\n### JavaScript\n\n- [Fireship.io courses](https://fireship.io/) / [YouTube](https://www.youtube.com/c/Fireship)\n- [Let vs Const](/javascript/let-vs-const.md)\n- [For of loops](/javascript/for-of.md)\n\n### TypeScript\n\n- [Common beginner mistakes](https://fettblog.eu/how-not-to-learn-typescript/)\n- [Check published packages types](https://arethetypeswrong.github.io/)\n\n#### TSX\n\n- [React Typescript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/)\n\n### React\n\n- The best intro to react is the [new react.dev site](https://react.dev/)\n- [The React beginners handbook](https://www.freecodecamp.org/news/react-beginner-handbook) This is much better than the tutorial on react's website.\n- Don't use React class components. Go straight to learning [hooks](https://reactjs.org/docs/hooks-intro.html).\n- [React Props](https://www.robinwieruch.de/react-pass-props-to-component/)\n- [Kent C Dodds Blog](https://kentcdodds.com/)\n- [Log Rocket Blog](https://blog.logrocket.com/)\n- [Fireship.io courses](https://fireship.io/) / [YouTube](https://www.youtube.com/c/Fireship)\n- [How to structure React apps](https://blog.usejournal.com/how-i-structure-my-react-apps-86e897054593)\n- [Synchronizing vs Lifecycle. Why syncing is a better mental model](https://epicreact.dev/myths-about-useeffect/) this one is good too [react hook pitfalls](https://kentcdodds.com/blog/react-hooks-pitfalls)\n- [Don't put that in React State](https://kentcdodds.com/blog/dont-sync-state-derive-it). Here is [another article](https://medium.com/@harshit-jain/dont-put-that-in-react-state-thinking-in-react-4f989400c973?source=linkShare-768b7931d0ca-1621452020)\n- [6 tips for better react performance](https://itnext.io/6-tips-for-better-react-performance-4329d12c126b?source=linkShare-768b7931d0ca-1621451945)\n- [Using React to upgrade your UX](https://levelup.gitconnected.com/master-ux-with-react-in-2020-four-ways-to-upgrade-your-react-app-user-experience-a053b3ffbf59)\n- [React Typescript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/basic_type_example/)\n- [Use absolute paths in a React app](https://spin.atomicobject.com/2017/10/07/absolute-paths-javascript/)\n\n#### Server Components\n\n- [Josh W Comeau's RSC visual explainer](https://www.joshwcomeau.com/react/server-components)\n\n#### Testing\n\n- [Make your Tests Resilient to Change](https://kentcdodds.com/blog/making-your-ui-tests-resilient-to-change)\n- [Static vs Unit vs Integration vs E2E Testing for Frontend Apps](https://kentcdodds.com/blog/static-vs-unit-vs-integration-vs-e2e-tests)\n- [Testing Playground](https://testing-playground.com/)\n- [React Testing Library Cheatsheet](https://testing-library.com/docs/react-testing-library/cheatsheet/)\n- [What query should I use?](https://testing-library.com/docs/guide-which-query)\n- [How to test components that use React.Lazy and Suspense](https://www.youtube.com/watch?v=lfb5jvHq9c4)\n- [How to mock correctly](https://blog.logrocket.com/testing-react-apps-jest-react-testing-library/#mocking-with-react-and-jest)\n\n### Security\n\n- [NIST Password Guidelines and Best Practices for 2020](https://auth0.com/blog/dont-pass-on-the-new-nist-password-guidelines/)\n- [OAuth2.0 modern guide](https://fusionauth.io/learn/expert-advice/oauth/modern-guide-to-oauth)\n\n### API\n\n- [Idempotency part 1](https://brandur.org/http-transactions)\n- [Idempotency part 2](https://brandur.org/idempotency-keys)\n\n#### OpenAPI\n\n- [API's you won't hate](https://apisyouwonthate.com/blog/how-to-build-a-perfect-api-description/)\n- [An Introduction to OpenAPI](https://betterprogramming.pub/4-use-cases-of-openapi-which-are-good-to-know-1a041f4ad71e)\n- [A visual guide to what's different between OpenAPI 2 and 3](https://blog.readme.com/an-example-filled-guide-to-swagger-3-2/)\n- (Still exploring) [Aspen API Tool](https://blog.treblle.com/meet-aspen-api-testing-tool/?ref=apisyouwonthate.com)\n- [API Insights](https://apiinsights.io/)\n\n\n### Go\n\n- [Your master plan to learn go fast and deep](https://medium.com/p-society/master-plan-to-learn-golang-edbf85c7ae83?source=linkShare-768b7931d0ca-1621451797)\n- [Golang Weekly](https://golangweekly.com/)\n- [8 Go hacks that I wish I'd known when I started](https://levelup.gitconnected.com/8-code-hacks-for-go-that-i-wish-id-known-when-i-started-56a6f4399acf?source=linkShare-768b7931d0ca-1621451782)\n- [How to slice an array into chunks](https://dev.to/jinagamvasubabu/split-array-into-chunks-in-golang-40n)\n- [All Design Patterns in Go](https://golangbyexample.com/all-design-patterns-golang/)\n- [Style guideline for Go packages](https://rakyll.org/style-packages/)\n- [Testing a middleware](http://www.inanzzz.com/index.php/post/xgod/testing-a-middleware-within-golang)\n- [Portable apps with next.js and go](https://v0x.nl/articles/portable-apps-go-nextjs)\n- [Don't make this mistake with go web servers](https://ryanc118.medium.com/dont-make-this-mistake-with-go-http-servers-bd313baee41)\n- [Go Localisation](https://go.dev/blog/matchlang)\n- [Unit tests and fire and forget go routines](https://jeffy-mathew.medium.com/unit-testing-and-mock-calls-inside-goroutines-7a19b853e084)\n\n#### Go Samples\n\n- [wild-workouts-go-ddd-example](https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example)\n\n### C\u0026#35;\n\n- [C# Digest](https://csharpdigest.net/)\n- [Ardalis blog](https://ardalis.com/blog)\n\n#### C# Samples\n\n- [eShopOnWeb](https://github.com/dotnet-architecture/eShopOnWeb)\n- [eShopOnContainers](https://github.com/dotnet-architecture/eShopOnContainers)\n\n### Dynamodb\n\n- [Full DynamoDB Guide](https://www.dynamodbguide.com/)\n\n## Devops\n\n### Grafana\n- [Grafana in your homelab](https://brooks.sh/2018/06/03/monitoring-your-home-lab-with-grafana-in-docker/)\n\n### NGINX\n\n- [How to Set Up Nginx with HTTP/2 Support](https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-with-http-2-support-on-ubuntu-16-04)\n- [How to Secure Nginx with Let's Encrypt Ubuntu](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04)\n- [How to Secure Nginx with Let's Encrypt CentOS 7](https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-centos-7)\n- [Understanding Nginx Proxying](https://www.digitalocean.com/community/tutorials/understanding-nginx-http-proxying-load-balancing-buffering-and-caching)\n- [How to delete a Certbot SSL Certificate](https://medium.com/@mhagemann/correct-way-to-delete-a-certbot-ssl-certificate-e8ee123e6e01)\n- [Subdomain configuration](nginx/web-server-configuration.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacob-Roberts%2Fawesome-resources","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJacob-Roberts%2Fawesome-resources","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacob-Roberts%2Fawesome-resources/lists"}