41554 blogs · [ { "id": "01a087de-4dac-73fb-83df-00e468021dc9", "title": "Fast and maintainable patterns for fetching from a database", "url": "https://sophiebits.com/2020/01/01/fast-maintainable-db-patterns.html", "published_at": "2023-02-14T18:43:58+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46872351c", "title": "Delete a Cookie using Remix cookie helpers", "url": "https://sergiodxa.com/tutorials/delete-a-cookie-using-remix-cookie-helpers", "published_at": "2023-02-13T22:41:53+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46957ab28", "title": "Add runtime SSG and ISR to Remix", "url": "https://sergiodxa.com/tutorials/add-runtime-ssg-and-isr-to-remix", "published_at": "2023-01-29T05:24:17+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46a108219", "title": "Improve SEO by not sending JS in Remix", "url": "https://sergiodxa.com/tutorials/improve-seo-by-not-sending-js-in-remix", "published_at": "2023-01-25T20:24:28+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46a7958c9", "title": "Use AMP with Remix", "url": "https://sergiodxa.com/tutorials/use-amp-with-remix", "published_at": "2023-01-23T23:10:44+00:00" }, { "id": "01a087de-4dac-73fb-83df-00e46ade752d", "title": "Use Remix as a SPA only", "url": "https://sergiodxa.com/tutorials/use-remix-as-a-spa-only", "published_at": "2023-01-23T22:39:20+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0352e3ae", "title": "A Theory of Web Relativity", "url": "https://www.htmhell.dev/adventcalendar/2022/21/", "published_at": "2022-12-30T04:53:10+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0434457f", "title": "Downgrade to MPA if Users Prefer Reduced Data in React Router", "url": "https://sergiodxa.com/tutorials/downgrade-to-mpa-if-users-prefer-reduced-data-in-remix", "published_at": "2022-12-15T18:03:02+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0466164f", "title": "Add rolling sessions to Remix", "url": "https://sergiodxa.com/tutorials/add-rolling-sessions-to-remix", "published_at": "2022-12-01T20:32:16+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd04edd3b5", "title": "Use Server-Sent Events with Remix", "url": "https://sergiodxa.com/tutorials/use-server-sent-events-with-remix", "published_at": "2022-11-25T23:45:39+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd05accf55", "title": "Progressively Enhance the useFetcher Hook in React Router", "url": "https://sergiodxa.com/tutorials/progressively-enhance-the-usefetcher-hook-in-remix", "published_at": "2022-11-16T22:13:23+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd060fae06", "title": "Use `process.env` client-side with Remix", "url": "https://sergiodxa.com/tutorials/use-process-env-client-side-with-remix", "published_at": "2022-11-09T16:58:37+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd061eb48c", "title": "Persist inputs after a form submit in Remix", "url": "https://sergiodxa.com/tutorials/persist-inputs-after-a-form-submit-in-remix", "published_at": "2022-10-20T22:11:55+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd06452132", "title": "Streaming: is it worth it?", "url": "https://www.builder.io/blog/streaming-is-it-worth-it", "published_at": "2022-10-20T20:30:47+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd07419cae", "title": "Prioritise content over components", "url": "https://www.simeongriggs.dev/components-considered-harmful-for-content", "published_at": "2022-10-19T16:57:23+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd07edad8f", "title": "Throwing Vs. Returning Responses in Remix Loaders and Actions", "url": "https://sergiodxa.com/articles/throwing-vs-returning-responses-in-remix", "published_at": "2022-10-14T16:09:14+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd07f2b43b", "title": "Lazy-load React components in Remix", "url": "https://sergiodxa.com/tutorials/lazy-load-react-components-in-remix", "published_at": "2022-10-12T21:31:09+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd08c893f8", "title": "Overcoming Popular Issues With React Projects", "url": "https://dinosaurs-with-jetpacks.com/posts/react-problems", "published_at": "2022-10-11T18:33:38+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd09914160", "title": "💿 remix simplifies things", "url": "https://bradgarropy.com/blog/remix-simplifies-things", "published_at": "2022-10-02T04:51:03+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0a1acbd9", "title": "Progressively enhance for a more resilient web", "url": "https://jjenzz.com/progressively-enhance-for-a-more-resilient-web", "published_at": "2022-10-01T03:08:48+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0a1ddb52", "title": "Get in Zoomer, We're Saving React", "url": "https://acko.net/blog/get-in-zoomer-we-re-saving-react/", "published_at": "2022-09-26T21:56:38+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0a5f6604", "title": "Reusing Remix Routes for Optional Segments", "url": "https://sergiodxa.com/articles/optional-route-segments-with-remix", "published_at": "2022-09-26T16:56:48+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0b314a0d", "title": "Destroy User Session and While Setting a Flash Message in React Router", "url": "https://sergiodxa.com/tutorials/destroy-user-session-and-while-setting-a-flash-message-in-remix", "published_at": "2022-09-21T20:48:27+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0bba7636", "title": "Add additional data before submitting on Remix", "url": "https://sergiodxa.com/tutorials/add-additional-data-before-submitting-on-remix", "published_at": "2022-09-21T20:31:22+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0c658323", "title": "Redirect to an external website with Remix", "url": "https://sergiodxa.com/tutorials/redirect-to-an-external-website-with-remix", "published_at": "2022-09-21T20:07:18+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0cb920cc", "title": "Bubble up data on Remix routes", "url": "https://sergiodxa.com/tutorials/bubble-up-data-on-remix-routes", "published_at": "2022-09-13T23:04:17+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0d3bb967", "title": "Group related routes together in Remix", "url": "https://sergiodxa.com/tutorials/group-related-routes-together-in-remix", "published_at": "2022-09-09T17:51:15+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0dc71180", "title": "What if your Index Page was Smart?", "url": "https://www.swyx.io/smart-indexes", "published_at": "2022-09-05T18:30:26+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0e68d4c7", "title": "Building websites for Safari Reader Mode and other reading apps", "url": "https://medium.com/@mandy.michael/building-websites-for-safari-reader-mode-and-other-reading-apps-1562913c86c9", "published_at": "2022-09-05T17:54:42+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd0f5f88e9", "title": "How to Section Your HTML", "url": "https://css-tricks.com/how-to-section-your-html/", "published_at": "2022-09-02T15:54:14+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd10052aa0", "title": "Block Links: The Search for a Perfect Solution", "url": "https://css-tricks.com/block-links-the-search-for-a-perfect-solution/", "published_at": "2022-08-10T21:16:20+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1054ecf1", "title": "Parse Markdown with Markdoc in Remix", "url": "https://sergiodxa.com/tutorials/parse-markdown-with-markdoc-in-remix", "published_at": "2022-07-21T22:43:43+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd113468b5", "title": "Dependency injection in Remix loaders and actions", "url": "https://sergiodxa.com/articles/dependency-injection-in-remix-loaders-and-actions", "published_at": "2022-07-19T22:26:38+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd11cc03fa", "title": "Validating Environment Variables with Zod", "url": "https://sergiodxa.com/articles/using-zod-to-safely-read-env-variables", "published_at": "2022-06-23T21:30:31+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1232bda7", "title": "Debug your server-side Remix code using VSCode", "url": "https://gist.github.com/kiliman/a9d7c874af03369a1d105a92560d89e9", "published_at": "2022-06-23T14:21:00+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd131db047", "title": "RSS", "url": "https://chriscoyier.net/2022/04/29/rss-3/", "published_at": "2022-06-12T05:38:43+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd13f7e022", "title": "Handling Refresh Tokens in Remix Loaders and Actions", "url": "https://sergiodxa.com/articles/working-with-refresh-tokens-in-remix", "published_at": "2022-06-03T16:03:56+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd14af949c", "title": "Device-Agnostic", "url": "https://trentwalton.com/2014/03/10/device-agnostic/", "published_at": "2022-05-30T04:15:02+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd14dde844", "title": "E2E Testing Remix with Vitest and Puppeteer", "url": "https://sergiodxa.com/articles/e2e-test-remix-with-vitest-and-puppeteer", "published_at": "2022-05-16T22:42:56+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd15b63153", "title": "Optimize image loading with plain HTML", "url": "https://sergiodxa.com/tutorials/optimize-image-loading-with-plain-html", "published_at": "2022-05-09T17:31:08+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd161ca1f1", "title": "Using rel=preload for responsive images", "url": "https://www.bronco.co.uk/our-ideas/using-relpreload-for-responsive-images/", "published_at": "2022-05-05T17:40:33+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd166194ab", "title": "Multiple forms per route in Remix", "url": "https://sergiodxa.com/articles/multiple-forms-per-route-in-remix", "published_at": "2022-04-14T08:35:32+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd17433a92", "title": "How to avoid layout shifts caused by web fonts", "url": "https://simonhearne.com/2021/layout-shifts-webfonts/", "published_at": "2022-03-25T00:47:26+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd174c9f14", "title": "“Guys, we’re doing pagination wrong…”", "url": "https://hackernoon.com/guys-were-doing-pagination-wrong-f6c18a91b232", "published_at": "2022-03-18T03:25:47+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd18493fc5", "title": "Why Remix doesn’t infer types from loaders for useLoaderData", "url": "https://github.com/remix-run/remix/pull/1254#issuecomment-1034475233", "published_at": "2022-02-26T04:50:11+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd18d1c57e", "title": "Add returnTo behavior to Remix Auth", "url": "https://sergiodxa.com/tutorials/add-returnto-behavior-to-remix-auth", "published_at": "2022-02-25T03:34:26+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd18e7e173", "title": "Survivorship Bias in Web Performance", "url": "https://simonhearne.com/2022/survorship-bias-in-webperf/", "published_at": "2022-02-25T00:17:56+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd19028b5c", "title": "Building a Command Palette with Remix and Tailwind UI", "url": "https://sergiodxa.com/articles/building-a-command-palette-with-remix-and-tailwind-ui", "published_at": "2022-02-24T23:07:42+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd199daec3", "title": "Share session and cookies between Next and Remix", "url": "https://sergiodxa.com/tutorials/share-session-and-cookies-between-next-and-remix", "published_at": "2022-02-24T21:52:55+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1a191329", "title": "Fix double data request when prefetching in Remix", "url": "https://sergiodxa.com/tutorials/fix-double-data-request-when-prefetching-in-remix", "published_at": "2022-02-24T20:45:58+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1ae9e7a8", "title": "The \"best\" way to manage icons in React.js", "url": "https://benadam.me/thoughts/react-svg-sprites", "published_at": "2022-02-20T18:46:22+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1b188aa5", "title": "Run Tailwind and Remix in Parallel with PM2", "url": "https://sergiodxa.com/tutorials/run-tailwind-and-remix-in-parallel-with-pm2", "published_at": "2022-01-19T05:37:24+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1c0c2202", "title": "Use Remix with socket.io", "url": "https://sergiodxa.com/tutorials/use-remix-with-socket-io", "published_at": "2022-01-11T21:20:22+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1c2709e0", "title": "Generate a PDF in Remix with Resource Routes", "url": "https://sergiodxa.com/tutorials/generate-a-pdf-in-remix-with-resource-routes", "published_at": "2022-01-10T16:43:09+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1d08a329", "title": "Avoid waterfalls of queries in Remix loaders", "url": "https://sergiodxa.com/tutorials/avoid-waterfalls-of-queries-in-remix-loaders", "published_at": "2022-01-06T17:05:58+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1da3ee75", "title": "Run Next and Remix on the same server", "url": "https://sergiodxa.com/tutorials/run-next-and-remix-on-the-same-server", "published_at": "2022-01-03T18:49:57+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1dad7416", "title": "HTTP vs. Server-side Cache in Remix", "url": "https://sergiodxa.com/articles/http-vs-server-side-cache-in-remix", "published_at": "2021-12-22T19:22:24+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1e3943c1", "title": "Clase rápida de programación asíncrona", "url": "https://sergiodxa.com/articles/clase-rapida-de-programacion-asincrona", "published_at": "2021-12-20T02:50:17+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1ec81bbf", "title": "On-Demand Hydration in Remix", "url": "https://sergiodxa.com/articles/on-demand-hydration-in-remix", "published_at": "2021-12-10T23:14:53+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1ef7f8e2", "title": "Live validation is problematic", "url": "https://adamsilver.io/blog/live-validation-is-problematic/", "published_at": "2021-12-08T04:14:19+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd1ff29d4d", "title": "Stop building client-side forms", "url": "https://blog.vararu.org/stop-building-client-side-forms", "published_at": "2021-12-08T03:55:41+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd201da9ca", "title": "Loader vs Route Cache Headers in Remix", "url": "https://sergiodxa.com/articles/loader-vs-route-cache-headers-in-remix", "published_at": "2021-12-02T17:20:54+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd20feacf7", "title": "The useMatches hook in Remix", "url": "https://sergiodxa.com/articles/the-usematches-hook-in-remix", "published_at": "2021-11-30T23:36:29+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd21afd85e", "title": "Validating Remix forms with Constraints API", "url": "https://sergiodxa.com/articles/validating-remix-forms-with-constraints-api", "published_at": "2021-11-26T06:32:51+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd2273788c", "title": "Test Remix loaders and actions", "url": "https://sergiodxa.com/tutorials/test-remix-loaders-and-actions", "published_at": "2021-11-25T06:53:55+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd22c5c7ea", "title": "Use NProgress in a Remix app", "url": "https://sergiodxa.com/tutorials/use-nprogress-in-a-remix-app", "published_at": "2021-11-24T16:07:35+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd22e5936a", "title": "Result Objects in TS", "url": "https://sergiodxa.com/articles/result-objects-in-ts", "published_at": "2021-11-17T20:32:42+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd236f0f03", "title": "Dark Mode and Dark Context", "url": "https://sergiodxa.com/articles/dark-mode-and-dark-context", "published_at": "2021-11-16T05:01:23+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd24213f6e", "title": "Why Decentralization Isn't as Important as You Think", "url": "https://haseebq.com/why-decentralization-isnt-as-important-as-you-think/", "published_at": "2021-10-28T03:07:08+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd25140ebe", "title": "When You Stop Counting", "url": "https://www.getrevue.co/profile/swyx/issues/swyx-io-when-you-stop-counting-794799", "published_at": "2021-10-28T03:06:36+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd25672944", "title": "Why I Quit Google to Work for Myself", "url": "https://mtlynch.io/why-i-quit-google/", "published_at": "2021-09-27T06:36:54+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd265a4d77", "title": "Use Fathom with Remix", "url": "https://sergiodxa.com/tutorials/use-fathom-with-remix", "published_at": "2021-09-23T21:47:25+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd26a6a9b8", "title": "Don’t Build A General Purpose API To Power Your Own Front End", "url": "https://max.engineer/server-informed-ui", "published_at": "2021-09-22T01:26:26+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd26c9d6cb", "title": "Why You Should Never Use MongoDB", "url": "http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/", "published_at": "2021-09-21T05:51:06+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd26d372a3", "title": "A Case For Use Cases", "url": "https://webuild.envato.com/blog/a-case-for-use-cases/", "published_at": "2021-09-10T16:46:33+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd276b74a0", "title": "Fix `gyp: No Xcode or CLT version detected!` error", "url": "https://sergiodxa.com/tutorials/fix-gyp-no-xcode-or-clt-version-detected-error", "published_at": "2021-09-09T16:34:31+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd27987917", "title": "Use Dependabot to keep Remix up-to-date", "url": "https://sergiodxa.com/tutorials/use-dependabot-to-keep-remix-up-to-date", "published_at": "2021-09-08T17:45:06+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd27c3a7a3", "title": "Automatic Revalidation in Remix", "url": "https://sergiodxa.com/articles/automatic-revalidation-in-remix", "published_at": "2021-08-31T17:37:46+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd2828cf91", "title": "People read on the web", "url": "https://uxmyths.com/post/647473628/myth-people-read-on-the-web", "published_at": "2021-08-28T03:47:50+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd28c65119", "title": "Why we use progressive enhancement to build GOV.UK", "url": "https://technology.blog.gov.uk/2016/09/19/why-we-use-progressive-enhancement-to-build-gov-uk/", "published_at": "2021-08-16T00:23:56+00:00" }, { "id": "01a087de-4dad-70da-9237-50bd28f7c1b4", "title": "Building a resilient frontend using progressive enhancement", "url": "https://www.gov.uk/service-manual/technology/using-progressive-enhancement", "published_at": "2021-08-15T18:50:24+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e5f5d5e7", "title": "I Want To Confirm a Prompt That We Stay Alert", "url": "https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/", "published_at": "2021-08-15T18:09:52+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e60f6698", "title": "Browsers and Representation", "url": "https://blog.jim-nielsen.com/2021/browsers-and-representation/", "published_at": "2021-08-15T18:00:36+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e6bb0a29", "title": "Google vs. the web", "url": "https://gomakethings.com/google-vs.-the-web/", "published_at": "2021-08-15T17:53:58+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e6cd3d03", "title": "Back to the Bad Old Days of the Web", "url": "https://jarango.com/2021/07/02/back-to-the-bad-old-days-of-the-web/", "published_at": "2021-08-15T17:34:57+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e6f30d99", "title": "The Mythical Document Web", "url": "https://www.milezero.org/index.php/tech/web/the_mythical_document_web.html", "published_at": "2021-08-15T17:28:39+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e7a84acd", "title": "Breaking the web forward", "url": "https://www.quirksmode.org/blog/archives/2021/08/breaking_the_we.html", "published_at": "2021-08-15T17:28:11+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e87faeaf", "title": "Back to the Future with RSS", "url": "https://ncase.me/rss/", "published_at": "2021-08-12T18:28:42+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e909e6cc", "title": "Client-Side Architecture Basics", "url": "https://khalilstemmler.com/articles/client-side-architecture/introduction/", "published_at": "2021-08-11T06:11:36+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e913afcd", "title": "Organizing App Logic with the Clean Architecture", "url": "https://khalilstemmler.com/articles/software-design-architecture/organizing-app-logic/", "published_at": "2021-08-11T04:23:15+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e935b197", "title": "Implementing DTOs, Mappers and the Repository Pattern", "url": "https://khalilstemmler.com/articles/typescript-domain-driven-design/repository-dto-mapper/", "published_at": "2021-08-11T03:14:51+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e947805e", "title": "Screaming Architecture", "url": "https://blog.cleancoder.com/uncle-bob/2011/09/30/Screaming-Architecture.html", "published_at": "2021-08-11T02:46:05+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3e9a8db45", "title": "Better Software Design with Application Layer Use Cases", "url": "https://khalilstemmler.com/articles/enterprise-typescript-nodejs/application-layer-use-cases/", "published_at": "2021-08-11T02:37:14+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3ea15aac3", "title": "Anemic Domain Model", "url": "https://khalilstemmler.com/wiki/anemic-domain-model/", "published_at": "2021-08-11T01:41:46+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3ea7f5d6f", "title": "Value Objects - DDD w/ TypeScript", "url": "https://khalilstemmler.com/articles/typescript-value-object/", "published_at": "2021-08-11T01:38:39+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3eaeb8598", "title": "iOS 15, Humane", "url": "https://potential.app/ios-15-humane", "published_at": "2021-08-10T06:43:16+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3ebc0e8db", "title": "Don't overabstract your components", "url": "https://kirjai.com/component-abstraction/", "published_at": "2021-07-16T05:17:34+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3ec93c70a", "title": "Creating a PDF with React in the Browser", "url": "https://sergiodxa.com/articles/creating-a-pdf-with-react-in-the-browser", "published_at": "2021-07-14T17:58:01+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3ed297ec3", "title": "Meta Theme Color and Trickery", "url": "https://css-tricks.com/meta-theme-color-and-trickery/", "published_at": "2021-07-13T17:35:19+00:00" }, { "id": "01a087de-4dae-734d-8d3b-eaf3ed7c776e", "title": "Sending data from layout to leaf routes in Remix", "url": "https://sergiodxa.com/articles/sending-data-from-layout-to-leaf-routes-in-remix", "published_at": "2021-06-29T06:19:57+00:00" } ] posts Claim your blog
Back to sergiodxa.com
Blog · corpus.blog/blogs/sergiodxa.com/posts

sergiodxa.com

sergiodxa.com

2023

2022

12 Jun 2022

2021