{"id":16990478,"url":"https://github.com/gabrielweyer/nuggets","last_synced_at":"2025-03-23T17:31:09.872Z","repository":{"id":44337607,"uuid":"96596278","full_name":"gabrielweyer/nuggets","owner":"gabrielweyer","description":"This is where I record the tips, tricks and tools I've accumulated over the years.","archived":false,"fork":false,"pushed_at":"2024-11-24T04:08:09.000Z","size":1202,"stargazers_count":21,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-18T22:24:06.505Z","etag":null,"topics":["dotnet","guidelines","knowledge","troll"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabrielweyer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security/README.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-08T04:38:54.000Z","updated_at":"2025-01-13T10:26:09.000Z","dependencies_parsed_at":"2024-04-02T10:47:27.787Z","dependency_job_id":"d65cdaba-b227-4824-aea4-329939935dae","html_url":"https://github.com/gabrielweyer/nuggets","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/gabrielweyer%2Fnuggets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielweyer%2Fnuggets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielweyer%2Fnuggets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielweyer%2Fnuggets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielweyer","download_url":"https://codeload.github.com/gabrielweyer/nuggets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245140897,"owners_count":20567468,"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":["dotnet","guidelines","knowledge","troll"],"created_at":"2024-10-14T03:10:14.515Z","updated_at":"2025-03-23T17:31:09.860Z","avatar_url":"https://github.com/gabrielweyer.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nuggets\n\nThis is where I record the tips, tricks and tools (free unless indicated otherwise :moneybag:) I've accumulated over the years.\n\n## Tips and tricks\n\n- [Cake build][cake-build] - demonstrate a basic build of a `.NET` `NuGet` package using [Cake][cake]\n- [Git][git-tutorial] - getting started with Git on Windows\n- [Markdown][markdown-tutorial] - writing nice Markdown\n- [PowerShell][powershell-tutorial] - pretend you know `PowerShell`\n- [SSH key pair][ssh-key-pair-tutorial] - generate / import a `SSH` key pair\n- [TLS certificate][tls-certificate-tutorial] - generate a `TLS` server certificate on Windows and macOS\n- [Visual Studio Code][vs-code-guide] - Visual Studio Code configuration and extensions\n- [WinDbg][windbg-tutorial] - a brief guide (i.e. you are on your own)\n- [WireMock][wiremock-tutorial] - mock `HTTP` server\n\n## Practices\n\n- `.NET`\n  - [Coding convention][dotnet-coding-conventions] - easily enforceable `.NET` coding convention\n  - [Layout][dotnet-project-layout] - layout of a `.NET` project\n- [Pull Request][pull-request-guidelines] - guidelines for easier to review Pull Requests\n- [Code review][code-review-guidelines] - guidelines for valuable code reviews\n- [Documentation][documentation-guidelines] - help your future self\n- [Logging][logging-guidelines] - an insider guide\n- [Security][security-guidelines] - it doesn't matter until it does\n- [The way we work][the-way-we-work] - agree as a team on the importance of each task\n- [SQL conventions][sql-conventions] - readable `SQL`\n- Azure\n  - [Azure naming conventions][azure-naming-conventions] - consistent Azure resources name\n  - [Azure role assignment][azure-role-assignment] - hardcode assignment name for easier troubleshooting\n\n## ASP.NET Core and Angular cookbook\n\n- [Update Angular][update-angular]\n- [Mitigate CSRF][mitigate-csrf]\n- [SPA routing][spa-routing]\n\n## Instant nuggets\n\n### Finding Application Insights instance using Instrumentation Key\n\nYou found a lone binary on a forgotten server and are wondering where the telemetry is going to? Fear not, with the command below you'll be able to find the Application Insights resource in no time:\n\n```powershell\nGet-AzResource -ExpandProperties -ResourceType 'microsoft.insights/components' | Select -ExpandProperty Properties | Where InstrumentationKey -eq '{InstrumentationKey}' | Select Name\n```\n\n### Clear HSTS in Chrome\n\nNavigate to `chrome://net-internals/#hsts`\n\n## Software for developers on Windows\n\n- [Azure Data Studio][azure-data-studio] - A lightweight replacement for SQL Server Management Studio (Windows, macOS and Linux)\n- [Azure Storage Explorer][azure-storage-explorer] - Manage Azure Storage Accounts (Windows, macOS and Linux)\n- [Azurite][azurite] - Azure storage emulator (Windows, macOS and Linux)\n- [Cosmos DB emulator][cosmos-db-emulator] - Azure Cosmos DB emulator (Windows)\n- [dotPeek][dot-peek] - Decompiler (Windows)\n  - [Navigate to compiled source][dot-peek-navigate-compiled] when used with ReSharper\n  - [Symbol server][dot-peek-symbol-server]\n- :moneybag: [dotUltimate][dotultimate] - a **paid** suite of .NET tools\n  - Includes:\n    - [dotMemory][dotmemory] - memory profiling\n    - [dotTrace][dottrace] - performance profiling\n    - [ReSharper][resharper] - extension for Visual Studio. Find and fix errors and code smells; navigate and refactor; run unit tests (Windows)\n    - [Rider][rider] - cross-platform `.NET` `IDE` (Windows, macOS and Linux), my `IDE` of choice\n- [Fiddler][fiddler] - `HTTP` debugging proxy server (Windows)\n  - Requires an **email address**\n  - :moneybag: **Buy** the book [Debugging with Fiddler, Second Edition][debugging-with-fiddler] by Eric Lawrence (the creator of Fiddler)\n- [Git][git] - Distributed version control system (Windows, macOS and Linux)\n  - I wrote a Git [tutorial][git-tutorial]\n- [GraphiQL][graphi-ql] - A graphical interactive in-browser GraphQL `IDE` (Windows, macOS and Linux)\n- [LINQPad][linqpad] - Instantly test any `C#`/`F#`/`VB` snippet or program (Windows)\n  - :moneybag: I highly recommend the **paid** [Developer Version][linqpad-developer] which adds `NuGet` integration (packages can still be restored in the free and pro editions)\n  - `LINQPad` is maintained by Joseph Albahari an independent software developer\n- [MailHog][mail-hog] - email testing tool for developers (Windows, macOS and Linux)\n- [MSBuildStructuredLog][ms-build-structured-log] - A logger for `MSBuild` that records a structured representation of executed targets, tasks, property and item values (Windows)\n- [NuGet Package Explorer][nuget-package-explorer] - Explore the content of a `NuGet` package (Windows)\n- [Log Parser][logparser] - `CLI` mainly used to query `IIS` logs (Windows)\n- [Open Broadcaster Software][open-broadcaster-software] - Free and open source software for video recording and live streaming (Windows, macOS and Linux)\n- [Paint.NET][paint-dotnet] - image and photo editing (Windows)\n  - :moneybag: Buy it on the [Windows Store][paint-dotnet-store] to support Paint.NET\n- [PerfView][perfview] - CPU and memory performance-analysis tool (Windows)\n- [Postman][postman] - A graphical `HTTP` client (Windows, macOS and Linux)\n- [RegExr][regexr] - A website to test Regular Expressions\n- [ScreenToGif][screen-to-gif] - Quick and small screen recorder (Windows)\n  - This is what I use on my [blog][blog]\n- [Service Bus Explorer][service-bus-explorer] - Connect to a Service Bus namespace and administer messaging entities (Windows)\n- [Sysinternals][sysinternals] - Manage, troubleshoot and diagnose your Windows systems and applications (Windows)\n  - Most commonly used utilities:\n    - [Autoruns][autoruns] - Shows what programs are configured to startup automatically when your system boots and you login\n    - [ProcDump][proc-dump] - Process dump utility\n    - [Process Explorer][process-explorer] - List currently active processes\n    - [Process Monitor][procmon] - Shows real-time file system, registry and process/thread activity\n- [Visual Studio Code][visual-studio-code] - Editor (Windows, macOS and Linux)\n  - My editor of choice to edit markdown, `csproj`, ... files\n  - Read my [guide][vs-code-guide]\n- [WinDbg][windbg] - The Windows Debugger (Windows)\n  - For the rare occasions when you need to go thermonuclear\n  - Also available in preview in the [store][windbg-store]\n  - I wrote a *succint* [tutorial][windbg-tutorial] for WinDbg\n- [WinDirStat][win-dir-stat] - Disk usage statistics viewer (Windows)\n- [Windows Magnifier][windows-magnifier] - Magnifier makes part or all of your screen bigger so you can see words and images better (Windows)\n- [WireMock][wiremock] - Mock `HTTP` server (Windows, macOS and Linux)\n  - I wrote a [tutorial][wiremock-tutorial] for WireMock\n- [Windows Subsystem for Linux][wsl] - Lets developers run Linux environments - including most command-line tools, utilities, and applications - directly on Windows, unmodified, without the overhead of a virtual machine (Windows)\n- [Windows Terminal][windows-terminal] - a modern terminal for Windows (Windows)\n\n## .NET libraries\n\n- [Fluent Assertion][fluent-assertions] assertions for automated tests\n- [FluentValidation][fluentvalidation] extensible validation library\n\n[cake-build]: https://github.com/gabrielweyer/cake-build\n[cake]: https://cakebuild.net/\n[wiremock-tutorial]: docs/wiremock/README.md\n[azure-storage-explorer]: https://azure.microsoft.com/en-au/features/storage-explorer/\n[dot-peek]: https://www.jetbrains.com/decompiler/\n[fiddler]: https://www.telerik.com/fiddler\n[debugging-with-fiddler]: https://ericlaw.gumroad.com/l/dwf2\n[dot-peek-symbol-server]: https://www.jetbrains.com/help/decompiler/Using_product_as_a_Symbol_Server.html\n[dot-peek-navigate-compiled]: https://www.jetbrains.com/help/decompiler/Navigation_and_Search__Navigating_to_External_Sources.html\n[git]: https://git-scm.com/downloads\n[graphi-ql]: https://github.com/graphql/graphiql\n[linqpad]: https://www.linqpad.net/\n[linqpad-developer]: https://www.linqpad.net/Purchase.aspx\n[nuget-package-explorer]: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer\n[postman]: https://www.getpostman.com/\n[dotultimate]: https://www.jetbrains.com/dotnet/\n[dottrace]: https://www.jetbrains.com/help/profiler/Introduction.html\n[dotmemory]: https://www.jetbrains.com/help/dotmemory/Introduction.html\n[rider]: https://www.jetbrains.com/rider/\n[screen-to-gif]: https://www.screentogif.com/\n[blog]: https://gabrielweyer.net/\n[sysinternals]: https://docs.microsoft.com/en-us/sysinternals/\n[autoruns]: https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns\n[procmon]: https://docs.microsoft.com/en-us/sysinternals/downloads/procmon\n[process-explorer]: https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer\n[proc-dump]: https://docs.microsoft.com/en-us/sysinternals/downloads/procdump\n[visual-studio-code]: https://code.visualstudio.com/\n[windbg]: https://docs.microsoft.com/en-au/windows-hardware/drivers/debugger/debugger-download-tools\n[windbg-store]: https://www.microsoft.com/en-au/store/p/windbg-preview/9pgjgd53tn86\n[win-dir-stat]: https://windirstat.net/\n[wiremock]: https://wiremock.org/\n[wsl]: https://docs.microsoft.com/en-us/windows/wsl/install\n[git-tutorial]: docs/git/README.md\n[ms-build-structured-log]: https://github.com/KirillOsenkov/MSBuildStructuredLog\n[windbg-tutorial]: docs/windbg/README.md\n[vs-code-guide]: docs/vs-code/README.md\n[service-bus-explorer]: https://github.com/paolosalvatori/ServiceBusExplorer\n[windows-magnifier]: https://support.microsoft.com/en-au/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198\n[open-broadcaster-software]: https://obsproject.com/\n[perfview]: https://github.com/Microsoft/perfview\n[logparser]: https://www.microsoft.com/en-us/download/details.aspx?id=24659\n[paint-dotnet]: https://www.getpaint.net/\n[paint-dotnet-store]: https://www.microsoft.com/store/apps/9NBHCS1LX4R0?ocid=badge\n[markdown-tutorial]: docs/markdown/README.md\n[mail-hog]: https://github.com/mailhog/MailHog\n[powershell-tutorial]: docs/powershell/README.md\n[fluent-assertions]: https://fluentassertions.com/\n[fluentvalidation]: https://fluentvalidation.net/\n[resharper]: https://www.jetbrains.com/resharper/\n[pull-request-guidelines]: docs/code-review/README.md\n[ssh-key-pair-tutorial]: docs/ssh-key-pair/README.md\n[tls-certificate-tutorial]: docs/tls/README.md\n[dotnet-coding-conventions]: docs/dotnet/coding-convention/README.md\n[dotnet-project-layout]: docs/dotnet/layout/README.md\n[code-review-guidelines]: docs/code-review/README.md\n[documentation-guidelines]: docs/documentation/README.md\n[logging-guidelines]: docs/logging/README.md\n[security-guidelines]: docs/security/README.md\n[the-way-we-work]: docs/the-way-we-work/README.md\n[mitigate-csrf]: docs/aspnet-core/csrf/README.md\n[spa-routing]: docs/aspnet-core/spa-routing/README.md\n[sql-conventions]: docs/sql/README.md\n[azure-naming-conventions]: docs/azure/naming/README.md\n[azure-role-assignment]: docs/azure/role-assignment/README.md\n[azure-data-studio]: https://azure.microsoft.com/en-au/services/developer-tools/data-studio/\n[azurite]: https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=visual-studio-code\n[cosmos-db-emulator]: https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21\n[windows-terminal]: https://www.microsoft.com/en-au/p/windows-terminal/9n0dx20hk701?rtc=1\u0026activetab=pivot:overviewtab\n[regexr]: https://regexr.com/\n[update-angular]: docs/angular/README.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielweyer%2Fnuggets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielweyer%2Fnuggets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielweyer%2Fnuggets/lists"}