From 631754c04d38e8b1d36e45881f509aa15a2edb4b Mon Sep 17 00:00:00 2001 From: Tom Fynes Date: Fri, 3 Apr 2026 14:07:33 +0100 Subject: [PATCH] updating cheatsheets --- docusaurus.config.js | 246 +++++++++++++++------- src/config/dashboardConfig.ts | 2 +- static/fynes-forge-git-cheatsheet.pdf | Bin 0 -> 92750 bytes static/fynes-forge-git-cheatsheet.svg | 261 ++++++++++++++++++++++++ static/fynes-forge-sql-cheatsheet.pdf | Bin 0 -> 93634 bytes static/fynes-forge-sql-cheatsheet.svg | 280 ++++++++++++++++++++++++++ 6 files changed, 715 insertions(+), 74 deletions(-) create mode 100644 static/fynes-forge-git-cheatsheet.pdf create mode 100644 static/fynes-forge-git-cheatsheet.svg create mode 100644 static/fynes-forge-sql-cheatsheet.pdf create mode 100644 static/fynes-forge-sql-cheatsheet.svg diff --git a/docusaurus.config.js b/docusaurus.config.js index 5bf6ebe..d090f75 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -29,103 +29,203 @@ const config = { plugins: [ tailwindPlugin, - ["@docusaurus/plugin-content-docs", { id: "Git-101", path: "git_101", routeBasePath: "git_101", sidebarPath: "./sidebars.js" }], - ["@docusaurus/plugin-content-docs", { id: "Python-101", path: "python_101", routeBasePath: "python_101", sidebarPath: "./sidebars.js" }], - ["@docusaurus/plugin-content-docs", { id: "Projects", path: "projects", routeBasePath: "projects", sidebarPath: "./sidebars.js" }], + [ + "@docusaurus/plugin-content-docs", + { + id: "Git-101", + path: "git_101", + routeBasePath: "git_101", + sidebarPath: "./sidebars.js", + }, + ], + [ + "@docusaurus/plugin-content-docs", + { + id: "Python-101", + path: "python_101", + routeBasePath: "python_101", + sidebarPath: "./sidebars.js", + }, + ], + [ + "@docusaurus/plugin-content-docs", + { + id: "Projects", + path: "projects", + routeBasePath: "projects", + sidebarPath: "./sidebars.js", + }, + ], ], themes: ["@docusaurus/theme-mermaid"], markdown: { mermaid: true, hooks: { onBrokenMarkdownLinks: "warn" } }, presets: [ - ["classic", ({ - docs: { - sidebarPath: "./sidebars.js", - routeBasePath: "docs/", - breadcrumbs: true, - showLastUpdateAuthor: true, - include: ["**/*.md", "**/*.mdx"], - exclude: ["**/_*.{js,jsx,ts,tsx,md,mdx}", "**/_*/**", "**/*.test.{js,jsx,ts,tsx}", "**/__tests__/**"], - }, - pages: { - path: "src/pages", - routeBasePath: "", - include: ["**/*.{js,jsx,ts,tsx,md,mdx}"], - exclude: ["**/_*.{js,jsx,ts,tsx,md,mdx}", "**/_*/**", "**/*.test.{js,jsx,ts,tsx}", "**/__tests__/**"], - mdxPageComponent: "@theme/MDXPage", - rehypePlugins: [], - beforeDefaultRemarkPlugins: [], - beforeDefaultRehypePlugins: [], - }, - blog: { - showReadingTime: true, - blogTitle: "The Forge Blog", - blogDescription: "Thoughts on data engineering, software, and the occasional rabbit hole — by Tom Fynes at Fynes Forge.", - blogSidebarTitle: "Recent Posts", - postsPerPage: 10, - feedOptions: { - type: ["rss", "atom"], - xslt: true, - title: "The Forge Blog", - description: "Thoughts on data engineering, software, and the occasional rabbit hole.", - copyright: `Copyright © ${new Date().getFullYear()} Fynes Forge`, + [ + "classic", + { + docs: { + sidebarPath: "./sidebars.js", + routeBasePath: "docs/", + breadcrumbs: true, + showLastUpdateAuthor: true, + include: ["**/*.md", "**/*.mdx"], + exclude: [ + "**/_*.{js,jsx,ts,tsx,md,mdx}", + "**/_*/**", + "**/*.test.{js,jsx,ts,tsx}", + "**/__tests__/**", + ], + }, + pages: { + path: "src/pages", + routeBasePath: "", + include: ["**/*.{js,jsx,ts,tsx,md,mdx}"], + exclude: [ + "**/_*.{js,jsx,ts,tsx,md,mdx}", + "**/_*/**", + "**/*.test.{js,jsx,ts,tsx}", + "**/__tests__/**", + ], + mdxPageComponent: "@theme/MDXPage", + rehypePlugins: [], + beforeDefaultRemarkPlugins: [], + beforeDefaultRehypePlugins: [], }, - onInlineTags: "warn", - onInlineAuthors: "warn", - onUntruncatedBlogPosts: "warn", + blog: { + showReadingTime: true, + blogTitle: "The Forge Blog", + blogDescription: + "Thoughts on data engineering, software, and the occasional rabbit hole — by Tom Fynes at Fynes Forge.", + blogSidebarTitle: "Recent Posts", + postsPerPage: 10, + feedOptions: { + type: ["rss", "atom"], + xslt: true, + title: "The Forge Blog", + description: + "Thoughts on data engineering, software, and the occasional rabbit hole.", + copyright: `Copyright © ${new Date().getFullYear()} Fynes Forge`, + }, + onInlineTags: "warn", + onInlineAuthors: "warn", + onUntruncatedBlogPosts: "warn", + }, + theme: { customCss: "./src/css/custom.css" }, }, - theme: { customCss: "./src/css/custom.css" }, - })], + ], ], - themeConfig: ({ + themeConfig: { image: "img/forge-mark.svg", metadata: [ - { name: "keywords", content: "data engineering, python, sql, software engineering, fynes forge" }, + { + name: "keywords", + content: + "data engineering, python, sql, software engineering, fynes forge", + }, { name: "twitter:card", content: "summary_large_image" }, ], navbar: { title: "", - logo: { alt: "Fynes Forge", src: "img/forge-mark.svg", srcDark: "img/forge-mark.svg" }, + logo: { + alt: "Fynes Forge", + src: "img/forge-mark.svg", + srcDark: "img/forge-mark.svg", + }, items: [ { to: "/blog", label: "The Forge Blog", position: "left" }, - { label: "Courses", position: "left", type: "dropdown", items: [ - { label: "SQL 101", to: "/docs/intro" }, - { label: "Git 101", to: "/git_101/intro" }, - { label: "Python 101", to: "/python_101/intro" }, - ]}, - { label: "Projects", position: "left", type: "dropdown", items: [ - { label: "VS Code Theme", href: "https://github.com/fynes-forge/nebula-nights" }, - { label: "SQL Query Optimiser", to: "/projects/sql-optimiser" }, - { label: "Pipelines", to: "/pipelines" }, - { label: "Dashboard", to: "/dashboard" }, - ]}, - { label: "Resources", position: "left", type: "dropdown", items: [ - { label: "Beginner's Data Toolkit", to: "https://tfynes.gumroad.com/l/phlyc" }, - { label: "Git Cheat Sheet", href: "/downloads/cheatsheet.jpg", target: "_blank", rel: "noopener noreferrer" }, - { label: "SQL Cheat Sheet", href: "/downloads/sql_cheatsheet.jpg", target: "_blank", rel: "noopener noreferrer" }, - ]}, + { + label: "Courses", + position: "left", + type: "dropdown", + items: [ + { label: "SQL 101", to: "/docs/intro" }, + { label: "Git 101", to: "/git_101/intro" }, + { label: "Python 101", to: "/python_101/intro" }, + ], + }, + { + label: "Projects", + position: "left", + type: "dropdown", + items: [ + { + label: "VS Code Theme", + href: "https://github.com/fynes-forge/nebula-nights", + }, + { label: "SQL Query Optimiser", to: "/projects/sql-optimiser" }, + { label: "Pipelines", to: "/pipelines" }, + { label: "Dashboard", to: "/dashboard" }, + ], + }, + { + label: "Resources", + position: "left", + type: "dropdown", + items: [ + { + label: "Beginner's Data Toolkit", + to: "https://tfynes.gumroad.com/l/phlyc", + }, + { + label: "Git Cheat Sheet", + href: "pathname:///fynes-forge-git-cheatsheet.pdf", + attributes: { + download: true, + }, + }, + { + label: "SQL Cheat Sheet", + href: "pathname:///fynes-forge-sql-cheatsheet.pdf", + attributes: { + download: true, + }, + }, + ], + }, { to: "skills", label: "Skills", position: "left" }, { to: "career", label: "Career", position: "left" }, - { href: "https://github.com/fynes-forge", position: "right", className: "navbar-github-link", "aria-label": "Fynes Forge on GitHub" }, + { + href: "https://github.com/fynes-forge", + position: "right", + className: "navbar-github-link", + "aria-label": "Fynes Forge on GitHub", + }, ], }, footer: { style: "dark", links: [ - { title: "Courses", items: [ - { label: "SQL 101", to: "/docs/intro" }, - { label: "Git 101", to: "/git_101/intro" }, - { label: "Python 101", to: "/python_101/intro" }, - ]}, - { title: "Socials", items: [ - { label: "GitHub", href: "https://github.com/fynes-forge" }, - { label: "Stack Overflow", href: "https://www.stackoverflow.com/users/7031452/tom" }, - { label: "LinkedIn", href: "https://www.linkedin.com/in/thomas-f-b00607163/" }, - ]}, - { title: "Contact", items: [ - { label: "tf.dev@icloud.com", to: "mailto:tf.dev@icloud.com" }, - ]}, + { + title: "Courses", + items: [ + { label: "SQL 101", to: "/docs/intro" }, + { label: "Git 101", to: "/git_101/intro" }, + { label: "Python 101", to: "/python_101/intro" }, + ], + }, + { + title: "Socials", + items: [ + { label: "GitHub", href: "https://github.com/fynes-forge" }, + { + label: "Stack Overflow", + href: "https://www.stackoverflow.com/users/7031452/tom", + }, + { + label: "LinkedIn", + href: "https://www.linkedin.com/in/thomas-f-b00607163/", + }, + ], + }, + { + title: "Contact", + items: [ + { label: "tf.dev@icloud.com", to: "mailto:tf.dev@icloud.com" }, + ], + }, ], copyright: `Copyright © ${new Date().getFullYear()} Fynes Forge`, }, @@ -134,7 +234,7 @@ const config = { darkTheme: prismThemes.dracula, additionalLanguages: ["python", "bash", "sql", "typescript"], }, - }), + }, }; export default config; diff --git a/src/config/dashboardConfig.ts b/src/config/dashboardConfig.ts index 565fbcb..eeedb56 100644 --- a/src/config/dashboardConfig.ts +++ b/src/config/dashboardConfig.ts @@ -1,4 +1,4 @@ -export const GITHUB_USERNAME = "Tom-Fynes"; +export const GITHUB_USERNAME = "fynes-forge"; // TODO: Update this to your most starred repository name (e.g. "sql-101") export const FEATURED_REPO = "YOUR_MOST_STARRED_REPO"; diff --git a/static/fynes-forge-git-cheatsheet.pdf b/static/fynes-forge-git-cheatsheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2a5346bb5241d279fc913447ee1e3bc6f24472fd GIT binary patch literal 92750 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 literal 0 HcmV?d00001 diff --git a/static/fynes-forge-git-cheatsheet.svg b/static/fynes-forge-git-cheatsheet.svg new file mode 100644 index 0000000..fe12f77 --- /dev/null +++ b/static/fynes-forge-git-cheatsheet.svg @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FYNES + FORGE + + + + GIT + CHEAT SHEET + + + + + + BASIC COMMANDS + + + + + + + git init + Initializes a new Git repository in the current directory. + + + + + + git clone [url] + Creates a local copy of a remote repository. + + + + + + git status + Displays the status of your working directory and staging area. + + + + + + git add [file] + Adds a specific file to the staging area. + + + + + + git add . + Stages all changes (new and modified files) in the current dir. + + + + + + git commit -m "message" + Records staged changes with a descriptive message. + + + + + + git log + Shows the commit history. + + + + + + git diff + Shows changes between commits, commit and working tree, etc. + + + BRANCHING & MERGING + + + + + + git branch + Lists all local branches. + + + + + git branch [branch-name] + Creates a new branch. + + + + + git checkout [branch] + Switches to a different branch. + + + + + git merge [branch-name] + Integrates changes from a specified branch into current branch. + + + + + git branch -d [branch] + Deletes a specified branch (only if merged). + + + + + git push -u origin [branch] + Pushes a new branch to remote and sets it upstream. + + + REMOTE OPERATIONS + + + + + + git pull + Fetches and integrates changes from remote to current branch. + + + + + git push + Uploads local branch commits to the remote repository. + + + + + git remote add origin [url] + Adds a new remote repository. + + + + + git remote -v + Lists all configured remote repositories. + + + UNDOING CHANGES + + + + + + git restore [file] + Unstages changes for a specific file. + + + + + git restore . + Discards all unstaged changes in the working directory. + + + + + git revert [commit] + Undoes a commit by creating a new reverting commit. + + + + + git reset --hard [commit] + Resets branch to a specific commit, discarding all subsequent. + + + STASHING + + + + + + git stash + Temporarily saves changes that are not ready to be committed. + + + + + git stash pop + Reapplies the most recently stashed changes. + + + + + git stash list + Shows a list of all stashed changes. + + + + + git stash drop + Deletes the most recent stash. + + + + + + + + + + + + + + + + FYNES FORGE · GIT CHEAT SHEET + Created by Tom Fynes · fynes-forge + diff --git a/static/fynes-forge-sql-cheatsheet.pdf b/static/fynes-forge-sql-cheatsheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..970ae2eb3afdffd768bc22c74c54f6877f85e701 GIT binary patch literal 93634 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 `sS}ytd?( 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%0A`m#oRM zrl6vaqt#F3{zNk<9{>Axc)3_!qX4cK98LkI{pSxi28{+ag06A@g5fZD1Q6SVA8v;~ zVK6)ll$#-fVNnP`fWNnc!GJeN1Or%t_J;vi$$oE#L}PKl&-|@FBnClH3ctZHFhWHm zA{YtU}$0-An_t^#>e!;&x!iA!EQ%fZBk9kiC`!M;pBq29g=W4k?`{$8iE7X zB5nsL2*O)%JQ7KaDx3Gzx#iEJlf&i>fyyplE3PM-lb}pgb-f#UOFlfkL0tx~rZ@;%gVQ~<8MgW-u z!2u2h3bzqG3xovmzM+69AzmA({DpF&b|^d!L);%Q z;|WKxzu^T5M?>Tl8U`d5Q9CpYs(XOQfygi<0u7;4G@xDL^&$}%2rqyWQwaZ};drQC zKw=^M3o0i-tbBpL&e5omC4m>Bm!7enM9pbUt9L!(fT{s`zJ?hgja z`4P(@7#_@;2=_2N4xHltzHcx*o=_R#x4k6X`zGc=I1ErAq#Yi@m!RGRnwT~~(E%8w zKR6m9H{fvKEfbFc$3w?OK=}g>n3{OKKqNxsAD9YM*8+ke<~KOlOyd28qhJs@31HB1 z0l5(K792$|@QLtDU=Sz_s(;ZaLYau)_XrJyA~6gDgUC*xL!skhP!L{)V=(`sL&0Ve zj{(#IgbuJMh-`vmF%VvbL@EC~k2VTxW z+u})|$YKD4*ayHPfzA(*BxGE0EC9hD4hfOt zNE}c!#Ph>JX&edcVq&=lV36|-BpwIxbpZ?_JAnxY;a>oQ=tdMU*og5AU=SM#1u8ic z&kw*LXCA;hfY@*V2GK{rhlQL`pnwV>#uW-MH8Ji13_@36CeXD3{(!6vh#|;2P%wzh z1}+^T9^yB81~AB80&fe#zW@fY+fjfQhR)sP3J;ts;{Nc!sD{9>5dRm2 zC)Be39e==#h0GZZjy#ERj|N*#Yy$%rWRHNK2RTm!QXEH2S7>m&L99Oj3}QQ?5kRsL z&lxNi(jP&ILfS!j9}Ub1$g|)S8S*SRjv(eEa6|#YGw@s>e2E4=1Tjs5V+)A90x*c4 zK?9^h@QlKPnt(+629gsIj{!6aWE}toki6HV6a5=sZKoap3$4vJMbTMl4@I(fNPM95)wJ8#_xE z3c_0+Z5waPpD!2)FSfKC9o@ix0J;4cm_>Mh1|qdUf4^Q6xw@IUxcz)90T>Cq*Ax(t I*HEDNKk6$e`v3p{ literal 0 HcmV?d00001 diff --git a/static/fynes-forge-sql-cheatsheet.svg b/static/fynes-forge-sql-cheatsheet.svg new file mode 100644 index 0000000..1d89f03 --- /dev/null +++ b/static/fynes-forge-sql-cheatsheet.svg @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FYNES + FORGE + + + + + + SQL + CHEAT SHEET + + + + + + DATA QUERY LANGUAGE (DQL) + + + + + + + + SELECT col1, col2 FROM table_name + Retrieves data from one or more columns in a table. + + + + + + SELECT * FROM table_name + Retrieves all columns from a table. + + + + + + SELECT DISTINCT col FROM table + Retrieves unique values from a specified column. + + + + + SELECT * FROM t WHERE condition + Filters records based on a specified condition. + + + + + + SELECT * FROM t ORDER BY col ASC + Sorts the result set in ascending or descending order. + + + + + SELECT COUNT(col) FROM table + Returns the number of rows matching a criterion. + + + + + + SELECT SUM(col) FROM table + Calculates the sum of a numeric column. + + + + + SELECT AVG(col) FROM table + Calculates the average value of a numeric column. + + + + + + SELECT MIN(col) FROM table + Returns the smallest value of the selected column. + + + + + SELECT MAX(col) FROM table + Returns the largest value of the selected column. + + + + + + SELECT col FROM t GROUP BY col + HAVING condition + Groups rows with same values; filtered by HAVING. + + + + + SELECT * FROM t LIMIT n + Limits number of records returned. (Syntax varies by DB) + + + DATA DEFINITION LANGUAGE (DDL) + + + + + + + CREATE DATABASE db_name + Creates a new SQL database. + + + + + CREATE TABLE t (col1 type, ...) + Creates a new table in a database. + + + + + + ALTER TABLE t ADD col type + Adds a new column to an existing table. + + + + + ALTER TABLE t DROP COLUMN col + Deletes a column from an existing table. + + + + + + DROP TABLE table_name + Deletes an existing table. + + + + + DROP DATABASE db_name + Deletes an existing database. + + + DATA MANIPULATION LANGUAGE (DML) + + + + + + + INSERT INTO t (c1, c2) + VALUES (val1, val2) + Inserts new records into a table. + + + + + UPDATE t SET col = val + WHERE condition + Modifies existing records in a table. + + + + + + DELETE FROM t WHERE cond + Deletes existing records from a table. + + + JOINS + + + + + + + INNER JOIN + Returns records matching values in both tables. + + + + + LEFT JOIN (LEFT OUTER JOIN) + All left table rows + matched right table rows. + + + + + + RIGHT JOIN (RIGHT OUTER JOIN) + All right table rows + matched left table rows. + + + + + FULL JOIN (FULL OUTER JOIN) + Returns all records when there is a match in either table. + + + + + + SELECT Orders.OrderID, Customers.CustomerName FROM Orders + INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID + Example of an INNER JOIN. + + + + + + + + + + + + + + + + + + FYNES FORGE · SQL CHEAT SHEET + Created by Tom Fynes · fynes-forge +