41554 blogs · [ { "id": "01a087bd-6d36-7135-aff9-8a1a0fd6336a", "title": "How to Transfer Files Between Computers Using HDMI (Part 2: Prototype Code Video Creation)", "url": "https://patrickdesjardins.com/blog/how-to-transfer-files-between-computers-using-HDMI-Part-2-prototype-code-video", "published_at": "2023-05-16T00:00:00+00:00" }, { "id": "01a087bd-6d36-7135-aff9-8a1a10992083", "title": "How to Transfer Files Between Computers Using HDMI (Part 1: Plan)", "url": "https://patrickdesjardins.com/blog/how-to-transfer-files-between-computers-using-HDMI-Part-1-Plan", "published_at": "2023-05-12T00:00:00+00:00" }, { "id": "01a087bd-6d36-7135-aff9-8a1a10c511b0", "title": "How to Create a Dispatch Function that is Strongly Typed with its Payload?", "url": "https://patrickdesjardins.com/blog/how-to-create-a-dispatch-function-strongly-typed-payload", "published_at": "2023-04-12T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc068e010", "title": "TypeScript Iterators, Generator Functions and Infinite Stream of Data", "url": "https://patrickdesjardins.com/blog/typescript-iterators-generator-functions-an-infinite-stream-of-data", "published_at": "2023-04-07T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc132c040", "title": "Understand TypeScript Iterator and Iterable", "url": "https://patrickdesjardins.com/blog/understand-typeScript-iterator-and-iterable", "published_at": "2023-03-24T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc13a36fd", "title": "How to use TypeScript Satisfies Operator Keyword?", "url": "https://patrickdesjardins.com/blog/how-to-use-typeScript-satisfies-operator-keyword", "published_at": "2023-03-17T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc22aaed3", "title": "How to set NodeJS Apollo GraphQL Subscription Context for your WebSocket functions and for your Resolvers?", "url": "https://patrickdesjardins.com/blog/how-to-set-nodejs-apollo-graphql-subscription-context", "published_at": "2023-03-09T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc2ffe06f", "title": "Migration from Create React App CRA to ViteJS", "url": "https://patrickdesjardins.com/blog/migration-from-create-react-app-cra-to-vitejs", "published_at": "2023-03-02T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc3a6c228", "title": "How to Recruit An Employee in 90 minutes?", "url": "https://patrickdesjardins.com/blog/recruit-someone-in-90-minutes", "published_at": "2023-02-24T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc4968004", "title": "My experience migrating TypeScript libraries to Rust", "url": "https://patrickdesjardins.com/blog/migrating-typescript-library-to-rust", "published_at": "2023-02-16T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc56c5258", "title": "How to have many GraphQL server with Apollo Client?", "url": "https://patrickdesjardins.com/blog/how-to-have-many-graphql-servers-with-apollo-client", "published_at": "2023-02-09T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc5d39f08", "title": "React Apollo Client Local State with Default Value on Fragment", "url": "https://patrickdesjardins.com/blog/react-apollo-client-local-state-default-value", "published_at": "2023-02-02T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc6241617", "title": "React Client Side State Management with Zustand", "url": "https://patrickdesjardins.com/blog/react-client-side-state-management-zustand", "published_at": "2023-01-27T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc6cfa0ae", "title": "React Context and How to Avoid repetitive re-rendering", "url": "https://patrickdesjardins.com/blog/react-context-how-to-avoid-rendering", "published_at": "2023-01-20T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc7159f91", "title": "How to Pause and Resume Apollo GraphQL Subscription using The Guild GraphQL CodeGen", "url": "https://patrickdesjardins.com/blog/how-to-pause-apollo-graphql-subscription", "published_at": "2023-01-12T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc7d8a99b", "title": "Steganography: How to hide text in an image", "url": "https://patrickdesjardins.com/blog/what-is-steganography-how-to-hide-text-in-image", "published_at": "2023-01-02T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc82d8ea7", "title": "11 Keys to be successful with remote workers as a software engineer in a hybrid work environment", "url": "https://patrickdesjardins.com/blog/keys-success-remote-work-hybrid-environment", "published_at": "2022-12-28T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc913526b", "title": "Recapitulation 2022", "url": "https://patrickdesjardins.com/blog/recapitulation-2022", "published_at": "2022-12-28T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afc98bde70", "title": "Sharing Code Between TypeScript Repositories Using Git Submodules", "url": "https://patrickdesjardins.com/blog/typescript-sharing-code-with-git-submodules", "published_at": "2022-12-15T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afca560745", "title": "How to use mpsc::unbounded to share data between Rust threads", "url": "https://patrickdesjardins.com/blog/rust-how-to-use-mpsc-unbounded-to-share-data-between-rust-threads", "published_at": "2022-11-26T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcb477857", "title": "How to debug Rust CLI application with VsCode using Windows", "url": "https://patrickdesjardins.com/blog/rust-how-to-debug-cli-", "published_at": "2022-11-21T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcb787f67", "title": "How to Minimized React Children Function Component Render", "url": "https://patrickdesjardins.com/blog/react-children-function-render", "published_at": "2022-11-16T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcbe321e1", "title": "Rust: Structure Memory when Using a Function", "url": "https://patrickdesjardins.com/blog/rust-struct-memory-function", "published_at": "2022-11-04T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcc1cca44", "title": "Porting my Hilbert Curve Code from TypeScript to Rust", "url": "https://patrickdesjardins.com/blog/rust-hilbert-curve-implementation", "published_at": "2022-11-01T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcc6d8915", "title": "How to use CSS variables in React components and CSS files", "url": "https://patrickdesjardins.com/blog/react-css-variable-component-css-files", "published_at": "2022-10-27T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcd464210", "title": "Using Framer Motion to animate keyframe event on a parent following up by a children transition", "url": "https://patrickdesjardins.com/blog/framermotion-keyframe-animation", "published_at": "2022-10-20T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afce2922ed", "title": "How to animate unmounting of a child with Framer Motion", "url": "https://patrickdesjardins.com/blog/framermotion-animate-children-unmount", "published_at": "2022-10-10T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afceec6007", "title": "Using Framer Motion to transition (position) between two React components", "url": "https://patrickdesjardins.com/blog/framermotion-div-position-transition", "published_at": "2022-10-04T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcf3e22dc", "title": "How to Add HTTPS to your Kubernetes Ingress", "url": "https://patrickdesjardins.com/blog/azure-kubernetes-https", "published_at": "2022-10-01T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afcff7d36e", "title": "How to fix the import EcmaScript module error with Create React App and Framer", "url": "https://patrickdesjardins.com/blog/create-react-app-framer-typescript", "published_at": "2022-09-21T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd000e26f", "title": "How to Debug a Kubernetes Pod that Crash at Startup (works on Microsoft Azure Kubernetes)?", "url": "https://patrickdesjardins.com/blog/azure-kubernetes-pod-debug-crash", "published_at": "2022-09-07T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd0c0ff06", "title": "How to Access your Web Application on Kubernetes Azure", "url": "https://patrickdesjardins.com/blog/azure-kubernetes-public-access", "published_at": "2022-09-07T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd16d5969", "title": "Typescript Utility Type Partial Expect", "url": "https://patrickdesjardins.com/blog/typescript-utility-type-partial-expect", "published_at": "2022-09-05T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd1f04bd2", "title": "How to reverse proxy your NodeJS frontend server with NGINX using Docker to talk to your backend?", "url": "https://patrickdesjardins.com/blog/docker-image-reverse-proxy-node", "published_at": "2022-08-23T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd2a2c917", "title": "How to have ViteJS (via SolidJS) to Hot Reload when inside a Docker Container", "url": "https://patrickdesjardins.com/blog/docker-vitejs-hot-reload", "published_at": "2022-08-09T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd2bcc1ae", "title": "An Introduction to Microsoft Azure and Kubernetes using Helm and Docker Images", "url": "https://patrickdesjardins.com/blog/azure-intro-kubernetes", "published_at": "2022-08-05T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd2c2bf87", "title": "How to use Kubernetes with Microsoft Azure and GitHub and how to debug if it does not workout", "url": "https://patrickdesjardins.com/blog/azure-docker-container-repository-github", "published_at": "2022-07-28T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd2cf6be9", "title": "How to host Docker images on Microsoft Azure", "url": "https://patrickdesjardins.com/blog/azure-docker-container-repository", "published_at": "2022-07-14T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd341e8b5", "title": "How to Output Audio and Video from a Windows machine to a MacBook Pro", "url": "https://patrickdesjardins.com/blog/how-to-output-audio-video-windows-macos", "published_at": "2022-06-17T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd43176a5", "title": "GraphQL Map Type", "url": "https://patrickdesjardins.com/blog/graphql-map-type", "published_at": "2022-05-20T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd4c5f1aa", "title": "How to configure Docker to have a shared folder between two containers?", "url": "https://patrickdesjardins.com/blog/docker-nodejs-shared-folder", "published_at": "2022-05-09T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd4f6de05", "title": "How to Import Files from a Sibling Folder when Using TypeScript and NodeJS", "url": "https://patrickdesjardins.com/blog/typescript-nodejs-sibling-project", "published_at": "2022-05-02T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd5bfcfed", "title": "How to configure Docker with two containers: Frontend and Backend", "url": "https://patrickdesjardins.com/blog/docker-nodejs-frontend-backend", "published_at": "2022-04-26T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd67d7995", "title": "Typescript and GraphQL: Custom Scalar with Apollo Client", "url": "https://patrickdesjardins.com/blog/typescript-codegen-graphql-custom-scalar", "published_at": "2022-04-19T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd72a04e0", "title": "SolidJS: How to create an animation of a wave", "url": "https://patrickdesjardins.com/blog/solidjs-animated-wave", "published_at": "2022-04-12T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd7f1b855", "title": "Side Project: Exercise Machine using Water", "url": "https://patrickdesjardins.com/blog/gym-project", "published_at": "2022-04-07T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd8b3f8f9", "title": "SolidJS: Where is useCallback?", "url": "https://patrickdesjardins.com/blog/solidjs-where-is-usecallback", "published_at": "2022-04-02T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afd9570c9e", "title": "TypeScript Type with Full Optional Field Might Cause you Issue", "url": "https://patrickdesjardins.com/blog/typescript-full-optional-type-issue", "published_at": "2022-03-30T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afda209c61", "title": "SolidJS: Context Simple Pattern", "url": "https://patrickdesjardins.com/blog/solidjs-context-pattern", "published_at": "2022-03-22T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afda5a4b88", "title": "SolidJS: CreateEffect without Triggering Initialization", "url": "https://patrickdesjardins.com/blog/solidjs-effect-reaction-initialization", "published_at": "2022-03-18T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdafa435c", "title": "How to have MP4 video in your GatsbyJS Blog MDX file", "url": "https://patrickdesjardins.com/blog/gatsbyjs-mdx-video-mp4-support", "published_at": "2022-03-15T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdb73f91a", "title": "SolidJS: How to Execute Code When UnMounting or when an Effect Ends", "url": "https://patrickdesjardins.com/blog/solidjs-cleanup", "published_at": "2022-03-10T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdb8beed8", "title": "SolidJS: How to React on Property Change", "url": "https://patrickdesjardins.com/blog/solidjs-react-on-props-change", "published_at": "2022-03-07T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdc232aed", "title": "SolidJS First Try Review", "url": "https://patrickdesjardins.com/blog/solidjs-first-try-review", "published_at": "2022-03-03T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdce9b269", "title": "A Safe Way to Define Immutable Default Values in TypeScript", "url": "https://patrickdesjardins.com/blog/typescript-immutable-default-values", "published_at": "2022-02-24T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdd5fb50c", "title": "How to type your React Children Property in TypeScript", "url": "https://patrickdesjardins.com/blog/typescript-react-children-types", "published_at": "2022-02-21T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdd66bf0f", "title": "TypeScript ImportHelpers Compiler Options", "url": "https://patrickdesjardins.com/blog/typescript-compiler-option-helpers", "published_at": "2022-02-15T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afde5df9e3", "title": "TypeScript Class Override Keyword Increase Maintainability", "url": "https://patrickdesjardins.com/blog/typescript-override-keyword", "published_at": "2022-02-11T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afde9ea87c", "title": "TypeScript Ergonomic Brand Checks", "url": "https://patrickdesjardins.com/blog/typescript-ergonomic-brand-checks", "published_at": "2022-02-04T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdecec2f8", "title": "TypeScript Dynamic Discriminant with Template String", "url": "https://patrickdesjardins.com/blog/typescript-dynamic-discriminant-with-template-string", "published_at": "2022-01-31T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdf4c0887", "title": "TypeScript Awaited Type", "url": "https://patrickdesjardins.com/blog/typescript-awaited-type", "published_at": "2022-01-26T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdf9d6b4a", "title": "Typescript Web Project and Environment Variables", "url": "https://patrickdesjardins.com/blog/typescript-webproject-environment-variables", "published_at": "2022-01-26T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afdfb9966e", "title": "TypeScript Static Unnamed Method with version 4.4", "url": "https://patrickdesjardins.com/blog/typescript-static-methods", "published_at": "2022-01-20T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe0ae2ec9", "title": "TypeScript Index Signature Dynamic Signature Property with version 4.4", "url": "https://patrickdesjardins.com/blog/typescript-index-signature-dynamic-properties", "published_at": "2022-01-14T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe1754432", "title": "TypeScript Guard Condition Improvements with version 4.4", "url": "https://patrickdesjardins.com/blog/typescript-guard-condition-improvements", "published_at": "2022-01-10T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe20db2b0", "title": "The CAP Theorem Explained", "url": "https://patrickdesjardins.com/blog/the-cap-theorem-explained", "published_at": "2022-01-06T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe2f352f8", "title": "Recapitulation 2021", "url": "https://patrickdesjardins.com/blog/recaptulation-year-2021", "published_at": "2021-12-28T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe3a70560", "title": "I Completed my Master Degree", "url": "https://patrickdesjardins.com/blog/i-completed-my-master-degree", "published_at": "2021-12-16T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe4332012", "title": "TypeScript Performance Tests with Github Workflow", "url": "https://patrickdesjardins.com/blog/typeScript-performance-tests-github-workflow", "published_at": "2021-12-13T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe4f94edb", "title": "How to be Notified of an Action between React Components?", "url": "https://patrickdesjardins.com/blog/how-to-be-notified-of-an-action-between-react-components", "published_at": "2021-11-08T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe575dd0a", "title": "Communicating Between Sibling React Hook Components", "url": "https://patrickdesjardins.com/blog/communicating-between-sibling-react-hook-components", "published_at": "2021-11-01T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe5820694", "title": "How to schedule blog articles with GatsbyJS", "url": "https://patrickdesjardins.com/blog/how-to-schedule-blog-articles-with-gatsbyjs", "published_at": "2021-10-05T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe5d8e7de", "title": "Migrating my WordPress Blog to Gatsby", "url": "https://patrickdesjardins.com/blog/migrating-my-wordpress-blog-to-gatsby", "published_at": "2021-09-23T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe6822fb8", "title": "Two Patterns with React Context", "url": "https://patrickdesjardins.com/blog/two-patterns-with-react-context", "published_at": "2021-08-27T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe724ca0f", "title": "My recapitulation of 2020: another great year", "url": "https://patrickdesjardins.com/blog/my-recapitulation-of-2020-another-great-year", "published_at": "2020-12-28T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe73c9b11", "title": "Working From Home Desk", "url": "https://patrickdesjardins.com/blog/working-from-home-desk", "published_at": "2020-05-11T00:00:00+00:00" }, { "id": "01a087bd-6d37-70e2-bec4-56afe7aeea60", "title": "Book of 2019", "url": "https://patrickdesjardins.com/blog/book-of-2019", "published_at": "2019-12-26T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68a700f891", "title": "Sending Telemetry from GraphQL under NodeJS without Spamming", "url": "https://patrickdesjardins.com/blog/sending-telemetry-from-graphql-under-nodejs-without-spamming", "published_at": "2019-06-11T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68a8006d19", "title": "Georgia Tech Online Master Degree Review after 4 semesters", "url": "https://patrickdesjardins.com/blog/georgia-tech-online-master-degree-review-after-4-semesters", "published_at": "2019-06-06T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68a8c8b36e", "title": "How to Collect HTTP Request Telemetry with GraphQL and RESTDataSource?", "url": "https://patrickdesjardins.com/blog/how-to-collect-http-request-telemetry-with-graphql-and-restdatasource", "published_at": "2019-05-28T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68a94ce9bc", "title": "Validating Consumer of GraphQL with Jenkins", "url": "https://patrickdesjardins.com/blog/validating-consumer-of-graphql", "published_at": "2019-05-22T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68a9f53981", "title": "A Single GraphQL's Schema for Internal and External Users", "url": "https://patrickdesjardins.com/blog/a-single-graphqls-schema-for-internal-and-external-users", "published_at": "2019-05-14T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68aae327b5", "title": "How to Pass Value to useCallback in React Hooks", "url": "https://patrickdesjardins.com/blog/how-to-pass-value-to-usecallback-in-react-hooks", "published_at": "2019-05-09T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68ab629d1c", "title": "TypeScript Exhaustive Check your Reducer", "url": "https://patrickdesjardins.com/blog/typescript-exhaustive-check-your-reducer", "published_at": "2019-05-01T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68abf4de06", "title": "The authorization and authentication in GraphQL", "url": "https://patrickdesjardins.com/blog/the-authorization-and-authentication-in-graphql", "published_at": "2019-04-25T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68acaab5ce", "title": "How to consume GraphQL in TypeScript and React", "url": "https://patrickdesjardins.com/blog/how-to-consume-graphql-in-typescript-and-react", "published_at": "2019-04-17T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68ad049242", "title": "GraphQL Extension to Collect HTTP and Resolvers Telemetry", "url": "https://patrickdesjardins.com/blog/graphql-extension-to-collect-http-and-resolvers-telemetry", "published_at": "2019-04-09T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68ad52e21e", "title": "How to automatically generate TypeScript for consumer of your GraphQL", "url": "https://patrickdesjardins.com/blog/how-to-automatically-generate-typescript-for-consumer-of-your-graphql", "published_at": "2019-04-02T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68adebbc51", "title": "Accessing your local machine from a Docker container", "url": "https://patrickdesjardins.com/blog/accessing-your-local-machine-from-a-docker-container", "published_at": "2019-03-22T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68ae4450eb", "title": "How to Curl a GraphQL API?", "url": "https://patrickdesjardins.com/blog/how-to-curl-a-graphql-api", "published_at": "2019-03-19T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68ae93b7cf", "title": "Configuring Apollo Playground and API on two different URL", "url": "https://patrickdesjardins.com/blog/configuring-apollo-playground-and-api-on-two-different-url", "published_at": "2019-03-13T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68af1be211", "title": "TypeScript with Strong Typed Action when using useReducer of React Hooks", "url": "https://patrickdesjardins.com/blog/typescript-with-strong-typed-action-when-using-usereducer-of-react-hooks", "published_at": "2019-03-05T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b0116f02", "title": "GraphQL Resolvers with Apollo", "url": "https://patrickdesjardins.com/blog/graphql-resolvers-with-apollo", "published_at": "2019-02-26T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b07867e3", "title": "How to setup a TypeScript, NodeJS, Express Apollo Server to easy debugging with VsCode", "url": "https://patrickdesjardins.com/blog/how-to-setup-a-typescript-nodejs-express-apollo-server-to-easy-debugging-with-vscode", "published_at": "2019-02-21T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b0f4b604", "title": "Apollo GraphQL Resolvers and Data Source separation", "url": "https://patrickdesjardins.com/blog/apollo-graphql-resolvers-and-data-source-separation", "published_at": "2019-02-13T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b0f764b7", "title": "GraphQL Query with Argument", "url": "https://patrickdesjardins.com/blog/graphql-query-with-argument", "published_at": "2019-02-07T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b14ce04c", "title": "GraphQL Context", "url": "https://patrickdesjardins.com/blog/graphql-context", "published_at": "2019-01-28T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b19a1ba2", "title": "Apollo Server and Secured Playground", "url": "https://patrickdesjardins.com/blog/apollo-server-and-secured-playground", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b269a4e9", "title": "Apollo Server Playground", "url": "https://patrickdesjardins.com/blog/apollo-server-playground", "published_at": "2019-01-22T00:00:00+00:00" }, { "id": "01a087bd-6d38-71ad-b978-3b68b35ba785", "title": "Install Apollo Server to host a GraphQL service", "url": "https://patrickdesjardins.com/blog/install-apollo-server-to-host-a-graphql-service", "published_at": "2019-01-14T00:00:00+00:00" } ] posts Claim your blog
Back to Patrick Desjardins Blog
Blog · corpus.blog/blogs/patrickdesjardins.com/posts

Patrick Desjardins Blog

patrickdesjardins.com

2023

2022

2021

2020

2019