41554 blogs · [ { "id": "01a087de-4dab-72b7-98aa-186b6c723d99", "title": "Building future facing frontend architectures", "url": "https://frontendmastery.com/posts/building-future-facing-frontend-architectures/", "published_at": "2024-04-24T22:52:58+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b6d205f7a", "title": "Navigating the future of frontend", "url": "https://frontendmastery.com/posts/navigating-the-future-of-frontend/", "published_at": "2024-04-15T23:44:43+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b6d93af7a", "title": "Use package.json#bin to create a CLI", "url": "https://sergiodxa.com/tutorials/use-package-json-bin-to-create-a-cli", "published_at": "2024-03-26T22:01:17+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b6df767e4", "title": "Margin considered harmful", "url": "https://mxstbr.com/thoughts/margin/", "published_at": "2024-03-26T15:17:50+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b6e6399d6", "title": "In Loving Memory of Square Checkbox", "url": "https://tonsky.me/blog/checkbox/", "published_at": "2024-03-18T18:36:56+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b6e999873", "title": "Access location.state in Remix Client Loaders and Actions", "url": "https://sergiodxa.com/tutorials/access-location-state-in-remix-loaders-and-actions", "published_at": "2024-03-13T22:39:02+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b6f171443", "title": "The Copenhagen Book", "url": "https://thecopenhagenbook.com/", "published_at": "2024-03-10T04:25:01+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b6f99cac5", "title": "Add Internationalization with remix-i18next to a Remix Vite App", "url": "https://sergiodxa.com/tutorials/add-i18n-to-a-remix-vite-app", "published_at": "2024-03-08T00:39:07+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b70135906", "title": "Documenting Architecture Decisions", "url": "https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions", "published_at": "2024-03-02T07:40:30+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b70b09420", "title": "Autoload the Correct Node.js Version with NVM", "url": "https://sergiodxa.com/tutorials/autoload-the-correct-node-version-with-nvm", "published_at": "2024-03-01T17:12:49+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b717e6bf4", "title": "HDR (aka Hot Data Revalidation)", "url": "https://sergiodxa.com/glossary#hdr", "published_at": "2024-02-24T22:39:38+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b721cde56", "title": "HMR (aka Hot Module Replacement)", "url": "https://sergiodxa.com/glossary#hmr", "published_at": "2024-02-24T22:39:11+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b725ad623", "title": "PPR (aka Partial Pre-Rendering)", "url": "https://sergiodxa.com/glossary#ppr", "published_at": "2024-02-24T22:37:34+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7321a0a8", "title": "ISR (aka Incremental Static Regeneration)", "url": "https://sergiodxa.com/glossary#isr", "published_at": "2024-02-24T22:34:42+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7410ed93", "title": "SSG (aka Static Site Generation)", "url": "https://sergiodxa.com/glossary#ssg", "published_at": "2024-02-24T22:32:58+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b74a6f913", "title": "PESPA (aka Progressively Enhanced Single-Page Application)", "url": "https://sergiodxa.com/glossary#pespa", "published_at": "2024-02-24T22:29:36+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7545fe57", "title": "PEMPA (aka Progressively Enhanced Multi-Page Application)", "url": "https://sergiodxa.com/glossary#pempa", "published_at": "2024-02-24T22:26:00+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7594e0be", "title": "Nest Routes with Dynamic Params in Remix", "url": "https://sergiodxa.com/tutorials/nest-routes-with-dynamic-params-in-remix", "published_at": "2024-02-15T16:52:53+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b75fc9ebd", "title": "Build Register, Login, and Logout Flows with Remix Sessions", "url": "https://sergiodxa.com/tutorials/build-a-simple-login-and-logout-with-remix", "published_at": "2024-02-13T05:57:59+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7668f4ec", "title": "Access React Router's loader data from a route ErrorBoundary", "url": "https://sergiodxa.com/tutorials/access-remix-s-loader-data-from-a-root-errorboundary", "published_at": "2024-02-13T05:35:44+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b774721a7", "title": "Access React Router's Loaders Data in entry.client", "url": "https://sergiodxa.com/tutorials/access-remix-s-loaders-data-in-entry-client", "published_at": "2024-02-13T05:25:07+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b77abb354", "title": "Handle not found URLs with Remix", "url": "https://sergiodxa.com/tutorials/handle-not-found-urls-with-remix", "published_at": "2024-02-10T04:07:57+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b78683310", "title": "Persist the User Locale Using Cookies with React Router and i18next", "url": "https://sergiodxa.com/tutorials/persist-the-user-locale-using-cookies-with-remix-i18next", "published_at": "2024-02-07T17:16:37+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b788348c8", "title": "Add dynamic canonical URL to Remix routes", "url": "https://sergiodxa.com/tutorials/add-dynamic-canonical-url-to-remix-routes", "published_at": "2024-02-04T05:38:01+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b79627e28", "title": "Parallelized Decision Making", "url": "https://arkwright.github.io/parallelized-decision-making.html", "published_at": "2024-02-03T05:27:57+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b79d3926b", "title": "Add custom attributes to Markdoc code fences", "url": "https://sergiodxa.com/tutorials/add-custom-attributes-to-markdoc-code-fences", "published_at": "2024-02-03T05:12:14+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7a416e49", "title": "Enable Remix ~/ aliased imports in Vitest", "url": "https://sergiodxa.com/tutorials/enable-remix-aliased-imports-in-vitest", "published_at": "2024-02-02T00:09:44+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7ada9c57", "title": "API (aka Application Programming Interface)", "url": "https://sergiodxa.com/glossary#api", "published_at": "2024-02-01T18:54:06+00:00" }, { "id": "01a087de-4dab-72b7-98aa-186b7af98944", "title": "MPA (aka Multi-Page Application)", "url": "https://sergiodxa.com/glossary#mpa", "published_at": "2024-01-31T22:16:18+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e445c9d832", "title": "SPA (aka Single-Page Application)", "url": "https://sergiodxa.com/glossary#spa", "published_at": "2024-01-31T22:15:08+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44639cedc", "title": "CSR (aka Client-Side Rendering)", "url": "https://sergiodxa.com/glossary#csr", "published_at": "2024-01-31T22:12:58+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e446f9b8cb", "title": "SSR (aka Server-Side Rendering)", "url": "https://sergiodxa.com/glossary#ssr", "published_at": "2024-01-31T22:12:48+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e447887709", "title": "Add syntax highlight to Markdoc using Prism.js", "url": "https://sergiodxa.com/tutorials/add-syntax-highlight-to-markdoc-using-prism-js", "published_at": "2024-01-31T00:08:25+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e4483dbf94", "title": "Create a CRUD with Remix", "url": "https://sergiodxa.com/tutorials/create-a-crud-with-remix", "published_at": "2024-01-25T05:04:07+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e448524590", "title": "I miss RSS", "url": "https://www.learnwithjason.dev/blog/i-miss-rss/", "published_at": "2024-01-23T08:46:20+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e448ed18db", "title": "RSC is React Server + Component | bobae kang", "url": "https://bobaekang.com/blog/rsc-is-react-server-plus-component/", "published_at": "2024-01-23T02:33:58+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e449c884ec", "title": "Pass Cookies from a React Router Loader to an External API", "url": "https://sergiodxa.com/tutorials/pass-cookies-from-a-remix-loader-to-an-external-api", "published_at": "2024-01-22T06:02:45+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44a0bdb3f", "title": "Call an action from a loader in Remix", "url": "https://sergiodxa.com/tutorials/call-an-action-from-a-loader-in-remix", "published_at": "2024-01-22T05:57:32+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44af8df4b", "title": "Use React Portal in Remix", "url": "https://sergiodxa.com/tutorials/use-react-portal-in-remix", "published_at": "2024-01-22T05:48:48+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44b39c576", "title": "Prevent the React Router Loader to Run after Document Request", "url": "https://sergiodxa.com/tutorials/prevent-the-remix-loader-to-run-after-document-request", "published_at": "2024-01-22T05:04:15+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44b80c08f", "title": "Passkey-Based Auth in Remix (feat. Alex Anderson) - YouTube", "url": "https://www.youtube.com/watch?v=cPwsNEkScoQ", "published_at": "2024-01-21T11:11:00+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44c310a60", "title": "Remix Movies: build a movie browser with Remix - YouTube", "url": "https://www.youtube.com/playlist?list=PLXoynULbYuEApkwAGZ7U7LmL-BDHloB0l", "published_at": "2024-01-21T11:09:30+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44c641d1b", "title": "Trellix: build a Trello clone using Remix - YouTube", "url": "https://www.youtube.com/playlist?list=PLXoynULbYuED9b2k5LS44v9TQjfXifwNu", "published_at": "2024-01-21T11:09:22+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44c78e358", "title": "Defer a Fetch response in Remix", "url": "https://sergiodxa.com/tutorials/defer-a-fetch-response-in-remix", "published_at": "2024-01-19T23:39:03+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44ceb831c", "title": "Use a CDN for your static assets in Remix", "url": "https://sergiodxa.com/tutorials/use-a-cdn-for-your-static-assets-in-remix", "published_at": "2024-01-19T23:32:26+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44d7c8db9", "title": "Get the absolute URL in Remix's MetaFunction", "url": "https://sergiodxa.com/tutorials/get-the-absolute-url-in-remix-s-metafunction", "published_at": "2024-01-19T23:26:21+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44ddfaf04", "title": "Build an app with Remix and Bun", "url": "https://sergiodxa.com/tutorials/build-an-app-with-remix-and-bun", "published_at": "2024-01-19T22:36:30+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44e72ed4a", "title": "Designing better target sizes", "url": "https://ishadeed.com/article/target-size/", "published_at": "2024-01-19T04:22:05+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44f026348", "title": "Find and remove unused code with Knip", "url": "https://sergiodxa.com/tutorials/find-and-remove-unused-code-with-knip", "published_at": "2024-01-18T22:24:28+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e44fa3318e", "title": "Create multiple top-level layouts in Remix", "url": "https://sergiodxa.com/tutorials/create-multiple-top-level-layouts-in-remix", "published_at": "2024-01-17T00:15:29+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e4503513b0", "title": "Kind of annoyed at React", "url": "https://blog.cassidoo.co/post/annoyed-at-react/", "published_at": "2024-01-15T03:07:39+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45084f3df", "title": "Increasingly miffed about the state of React releases", "url": "https://macwright.com/2024/01/03/miffed-about-react", "published_at": "2024-01-11T04:03:05+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45133c86d", "title": "The Website vs. Web App Dichotomy Does Not Exist", "url": "https://jakelazaroff.com/words/the-website-vs-web-app-dichotomy-doesnt-exist/", "published_at": "2024-01-11T03:33:18+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e451d3eec7", "title": "Test meta tags using Playwright", "url": "https://sergiodxa.com/tutorials/test-meta-tags-using-playwright", "published_at": "2024-01-10T22:47:06+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e452512268", "title": "gilest.org: Make the indie web easier", "url": "https://gilest.org/indie-easy.html", "published_at": "2024-01-10T00:32:59+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e453021a99", "title": "Why Fetch Promise Does Not Reject on Error Responses", "url": "https://kettanaito.com/blog/why-fetch-promise-doesnt-reject-on-error-responses", "published_at": "2024-01-08T17:15:34+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e4538ffc71", "title": "A Well-Known Links Resource - Jim Nielsen’s Blog", "url": "https://blog.jim-nielsen.com/2022/well-known-links-resource/", "published_at": "2024-01-01T09:22:16+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45422fc9c", "title": "The OG Social Network: Other People’s Websites - Jim Nielsen’s Blog", "url": "https://blog.jim-nielsen.com/2022/other-peoples-websites/", "published_at": "2024-01-01T09:21:47+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e454b477a5", "title": "Rationale for a Browser-Level Color Scheme Preference - Jim Nielsen’s Blog", "url": "https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/", "published_at": "2024-01-01T09:17:52+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e454fd3c2d", "title": "A Well Known URL For Your Personal Avatar - Jim Nielsen’s Blog", "url": "https://blog.jim-nielsen.com/2023/well-known-avatar/", "published_at": "2024-01-01T09:10:52+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e455b7ae39", "title": "React Aria", "url": "https://react-spectrum.adobe.com/react-aria/", "published_at": "2023-12-28T16:37:20+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45610a7a7", "title": "Stop Lying to Your Users | Epic Web Dev by Kent C. Dodds", "url": "https://www.epicweb.dev/stop-lying-to-your-users", "published_at": "2023-12-27T00:36:38+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e456c0f275", "title": "Prefetch data for Remix Fetcher usage", "url": "https://sergiodxa.com/tutorials/prefetch-data-for-remix-fetcher-usage", "published_at": "2023-12-08T22:31:58+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e457bc12a8", "title": "Keep Your Loader Data Fresh in Remix", "url": "https://sergiodxa.com/tutorials/keep-your-loader-data-fresh-in-remix", "published_at": "2023-12-01T05:35:33+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e458661d7a", "title": "Share Remix Route Logic between Web and API Routes", "url": "https://sergiodxa.com/tutorials/expose-remix-routes-as-api-endpoints", "published_at": "2023-11-27T18:43:34+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e458bbf6b5", "title": "Access the Search Params of a Request in React Router", "url": "https://sergiodxa.com/tutorials/access-the-search-params-of-a-request-in-remix", "published_at": "2023-11-22T23:17:29+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e4593a5276", "title": "Upload Images in a Remix Application", "url": "https://sergiodxa.com/tutorials/upload-images-in-remix-apps", "published_at": "2023-10-23T23:40:03+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e459a006a0", "title": "Redirect with Search Param in Remix", "url": "https://sergiodxa.com/tutorials/redirect-with-search-param-in-remix", "published_at": "2023-10-06T23:47:03+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e459f11a20", "title": "Access the Loader Data in Remix", "url": "https://sergiodxa.com/tutorials/access-loaders-data-in-remix", "published_at": "2023-10-05T20:33:52+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e459fd2d71", "title": "Abort Async Calls Inside Remix Loaders and Actions", "url": "https://sergiodxa.com/tutorials/abort-async-calls-inside-remix-loaders-and-actions", "published_at": "2023-09-24T07:41:49+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45a0f536e", "title": "Get Remix route params `entry.server`", "url": "https://sergiodxa.com/tutorials/get-remix-route-params-in-entry-server", "published_at": "2023-09-08T16:36:36+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45a2ff099", "title": "Test meta tags with Cypress", "url": "https://sergiodxa.com/tutorials/test-meta-tags-with-cypress", "published_at": "2023-09-06T04:42:31+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45a3476d1", "title": "Challenging Established Norms: Making Component Fetching the Exception", "url": "https://jjenzz.com/making-component-fetching-the-exception/", "published_at": "2023-09-04T02:16:42+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45ae71254", "title": "Be the browser’s mentor, not its micromanager", "url": "https://buildexcellentwebsit.es/", "published_at": "2023-08-31T04:55:09+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45b4d1454", "title": "The ideal viewport doesn’t exist", "url": "https://viewports.fyi/", "published_at": "2023-08-31T04:54:24+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45b5e9e98", "title": "My thoughts on open-source", "url": "https://alemtuzlak.hashnode.dev/my-thoughts-on-open-source", "published_at": "2023-08-22T17:18:39+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45bd90f2e", "title": "Strongly type Remix route IDs", "url": "https://sergiodxa.com/tutorials/strongly-type-remix-route-ids", "published_at": "2023-07-17T23:33:22+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45c1acd13", "title": "Strongly type public assets in Remix", "url": "https://sergiodxa.com/tutorials/strongly-type-public-assets-in-remix", "published_at": "2023-07-17T15:29:17+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45cd6f08c", "title": "Create a reusable Form component in Remix", "url": "https://sergiodxa.com/tutorials/create-a-reusable-form-component-in-remix", "published_at": "2023-07-07T22:35:43+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45daa4e2d", "title": "Sync text input with URLSearchParam in Remix", "url": "https://sergiodxa.com/tutorials/sync-text-input-with-urlsearch-params-in-remix", "published_at": "2023-07-06T17:28:54+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45e2b53dc", "title": "Social RSS", "url": "https://chriscoyier.net/2023/07/01/social-rss/", "published_at": "2023-07-04T10:19:16+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45f059b75", "title": "The fediverse and the indieweb", "url": "https://werd.io/2022/the-fediverse-and-the-indieweb", "published_at": "2023-07-04T04:22:44+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e45ff7bdcc", "title": "Blogging as DRY", "url": "https://seirdy.one/notes/2022/11/20/blogging-as-dry/", "published_at": "2023-07-02T07:47:23+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e4609a47df", "title": "Everything You Can Test In Your Laravel Application", "url": "https://christoph-rumpel.com/2023/3/everything-you-can-test-in-your-laravel-application", "published_at": "2023-07-02T02:11:29+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e461075378", "title": "Dear Open Source: let’s do a better job of asking for money", "url": "https://reactflow.dev/blog/asking-for-money-for-open-source/", "published_at": "2023-07-02T02:03:18+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e461d1ab13", "title": "Don't make me think, or why I switched to Rails from JavaScript SPAs", "url": "https://vadimdemedes.com/posts/dont-make-me-think-or-why-i-switched-to-rails-from-javascript-spas", "published_at": "2023-07-02T02:03:00+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46284a7bf", "title": "Generating income from open source", "url": "https://vadimdemedes.com/posts/generating-income-from-open-source", "published_at": "2023-06-18T23:11:38+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e4637ba31a", "title": "Use TanStack Query to Share Data between React Router Loaders", "url": "https://sergiodxa.com/tutorials/use-tanstack-query-to-share-data-between-remix-loaders", "published_at": "2023-06-05T16:01:26+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e463cdd312", "title": "Logout from Auth0 with Remix Auth", "url": "https://sergiodxa.com/tutorials/logout-from-auth0-with-remix-auth", "published_at": "2023-05-24T04:41:20+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e4646151e9", "title": "Send Node.js ReadStream objects from Remix loaders", "url": "https://sergiodxa.com/tutorials/send-node-read-stream-objects-from-remix-loaders", "published_at": "2023-05-15T21:00:05+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46492b3c1", "title": "Reset a form on success in Remix", "url": "https://sergiodxa.com/tutorials/reset-a-form-on-success-in-remix", "published_at": "2023-05-15T20:46:56+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e464fb62d5", "title": "Use `qs.parse` to use nested form fields in Remix", "url": "https://sergiodxa.com/tutorials/use-qs-parse-to-use-nested-form-fields-in-remix", "published_at": "2023-05-15T18:51:52+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e465ba431a", "title": "Send JSON to a Remix action", "url": "https://sergiodxa.com/tutorials/send-json-to-a-remix-action", "published_at": "2023-05-13T23:14:44+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e465c07599", "title": "Set Multiple Cookies in the Same Response in React Router Loaders", "url": "https://sergiodxa.com/tutorials/set-multiple-cookies-in-the-same-response-in-remix-loaders", "published_at": "2023-05-12T22:34:08+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e466477abe", "title": "Close SSE connection from the server in Remix", "url": "https://sergiodxa.com/tutorials/close-sse-connection-from-the-server-in-remix", "published_at": "2023-05-10T23:43:44+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46678ae6c", "title": "Measure performance with the Server-Timing header in React Router", "url": "https://sergiodxa.com/tutorials/measure-performance-with-the-server-timing-header-in-remix", "published_at": "2023-04-30T06:20:25+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e466d5f8de", "title": "Automatically commit sessions on Remix", "url": "https://sergiodxa.com/tutorials/automatically-commit-session-on-remix", "published_at": "2023-04-04T21:37:26+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46713abc1", "title": "Customize Remix AppLoadContext type", "url": "https://sergiodxa.com/tutorials/customize-remix-app-load-context-type", "published_at": "2023-03-16T21:17:58+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46754b78e", "title": "Client-side JavaScript and React criticism: What comes next?", "url": "https://molily.de/javascript-criticism/", "published_at": "2023-03-16T12:31:32+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e467cb50e5", "title": "Turn on Caps Lock on Cypress", "url": "https://sergiodxa.com/tutorials/turn-on-caps-lock-on-cypress", "published_at": "2023-03-14T17:27:21+00:00" } ] posts Claim your blog
Back to sergiodxa.com
Blog · corpus.blog/blogs/sergiodxa.com/posts

sergiodxa.com

sergiodxa.com

2024

2023