41554 blogs · [ { "id": "01a087af-9590-718b-869f-222b286c19db", "title": "Did you know about sparse array in Javascript?", "url": "https://www.nico.fyi/blog/sparse-array-in-javascript", "published_at": "2024-02-27T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2890ec9b", "title": "How to use Open Props with Tailwind CSS", "url": "https://www.nico.fyi/blog/how-to-use-open-props-with-tailwind", "published_at": "2024-02-26T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b28caddcf", "title": "Console Ninja for VS Code", "url": "https://www.nico.fyi/blog/console-ninja", "published_at": "2024-02-09T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b29453540", "title": "The Dunning-Kruger Effect", "url": "https://www.nico.fyi/blog/dunning-kruger", "published_at": "2024-02-08T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2a09c83f", "title": "PostgreSQL's jsonpath", "url": "https://www.nico.fyi/blog/postgres-json-path", "published_at": "2024-02-07T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2a3f2105", "title": "PostgreSQL's Money Type", "url": "https://www.nico.fyi/blog/postgres-money-type", "published_at": "2024-02-06T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2abcb842", "title": "Make CLI app with React", "url": "https://www.nico.fyi/blog/react-ink-cli-chat-supabase", "published_at": "2024-02-05T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2b1d2613", "title": "Type safe routing for Next.js", "url": "https://www.nico.fyi/blog/type-safe-next-js-routing", "published_at": "2024-02-02T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2b7dacb6", "title": "Identity Helper Type in TypeScript", "url": "https://www.nico.fyi/blog/typescript-identity-util-helper", "published_at": "2024-02-01T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2bbef4fa", "title": "Reuse include in Prisma Query with TypeScript satisfies", "url": "https://www.nico.fyi/blog/prisma-include-query-with-satisfies-typescript", "published_at": "2024-01-31T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2bd05687", "title": "Making Your Code Endure Beyond Your Tenure", "url": "https://www.nico.fyi/blog/code-endure-beyond-tenure", "published_at": "2024-01-30T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2ca7ae1e", "title": "How to close a dialog on success or render an error with Remix fetchers", "url": "https://www.nico.fyi/blog/close-dialog-with-use-fetcher-remix", "published_at": "2024-01-29T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2cf24d9f", "title": "Basic visitor count using Next.js middleware and Vercel KV", "url": "https://www.nico.fyi/blog/basic-visitor-count-nextjs-vercel", "published_at": "2024-01-26T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2d967c02", "title": "Navigating Decision-Making: From Dishwashers to Economics", "url": "https://www.nico.fyi/blog/from-dishwashers-to-economics", "published_at": "2024-01-25T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2e500447", "title": "Enhancing User Experience with Background Tasks in Vercel Edge Middleware", "url": "https://www.nico.fyi/blog/wait-until-nextjs-vercel", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b2f4c0bb8", "title": "Slash Through Complexity using Occam's Razor", "url": "https://www.nico.fyi/blog/occams-razor-programming", "published_at": "2024-01-23T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b3019bf9f", "title": "Cron job in PostgreSQL", "url": "https://www.nico.fyi/blog/cron-job-with-postgres", "published_at": "2024-01-22T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b301d4266", "title": "Gall's Law: Unraveling the Secrets to Successful Programming Projects", "url": "https://www.nico.fyi/blog/galls-law-programming", "published_at": "2024-01-19T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b310216bc", "title": "Checking File Existence Efficiently Using Range Requests", "url": "https://www.nico.fyi/blog/check-file-remote-using-range-header", "published_at": "2024-01-18T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b31f22d46", "title": "Stop torturing yourself working alone. Talk with others.", "url": "https://www.nico.fyi/blog/power-of-collaboration", "published_at": "2024-01-17T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b327cbd6f", "title": "Understanding dangerouslySetInnerHTML in React: Use Cases and Risks", "url": "https://www.nico.fyi/blog/dangerously-set-inner-html", "published_at": "2024-01-16T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b32e7f666", "title": "How Understanding the Chesterton Fence Can Make You a Better Programmer!", "url": "https://www.nico.fyi/blog/chesterton-fence-programming", "published_at": "2024-01-15T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b33b0729d", "title": "Understanding the Subtleties of JavaScript's eval: Local vs. Global Execution", "url": "https://www.nico.fyi/blog/eval-global-and-local", "published_at": "2024-01-12T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b33fa33de", "title": "How You're Falling for Parkinson's Law Without Even Realizing", "url": "https://www.nico.fyi/blog/parkinsons-law-programming", "published_at": "2024-01-11T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b340e909c", "title": "Async Local Storage in Node.js", "url": "https://www.nico.fyi/blog/node-async-local-storage", "published_at": "2024-01-10T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b346eb3ec", "title": "What is \"async\" must be await-ed", "url": "https://www.nico.fyi/blog/async-must-be-awaited", "published_at": "2024-01-09T00:00:00+00:00" }, { "id": "01a087af-9590-718b-869f-222b35685de5", "title": "Another day, another React Hydration error", "url": "https://www.nico.fyi/blog/react-hydration-error", "published_at": "2024-01-08T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7786aa6019", "title": "Must remember when using Next.js App Router", "url": "https://www.nico.fyi/blog/next-js-app-static-by-default", "published_at": "2024-01-04T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77871a1d3d", "title": "Reduce video size with ffmpeg", "url": "https://www.nico.fyi/blog/reduce-video-size-with-ffmpeg", "published_at": "2023-12-21T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77874670a0", "title": "Updated Next Secure Download to Next.js 14 with App Router", "url": "https://www.nico.fyi/blog/next-secure-download-file-update", "published_at": "2023-11-22T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7787d2fddc", "title": "Don't Miss Out: 60% Off 'Pull Request Best Practices' This Black Friday!", "url": "https://www.nico.fyi/blog/pull-request-best-practices-book-black-friday-discount", "published_at": "2023-11-20T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77885707c7", "title": "Serve a password-protected file for FREE", "url": "https://www.nico.fyi/blog/next-secure-download-file-free", "published_at": "2023-11-15T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77893a1e14", "title": "Introducing \"Pull Request Best Practices\"", "url": "https://www.nico.fyi/blog/pull-request-best-practices-book", "published_at": "2023-11-14T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778950a03f", "title": "How to return JSX from React Server Actions", "url": "https://www.nico.fyi/blog/react-server-actions-returns-jsx", "published_at": "2023-11-11T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778a00e815", "title": "Use single state instead of three", "url": "https://www.nico.fyi/blog/pr-review-reduce-state", "published_at": "2023-09-05T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778ad226e1", "title": "Use instead of router.push", "url": "https://www.nico.fyi/blog/pr-review-link-instead-of-push", "published_at": "2023-09-04T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778affe453", "title": "What is Discriminated Union in TypeScript?", "url": "https://www.nico.fyi/blog/discriminated-union", "published_at": "2023-09-03T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778b528b97", "title": "Early return for unhappy path", "url": "https://www.nico.fyi/blog/pr-review-early-return", "published_at": "2023-08-21T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778c19163f", "title": "Use Tailwind's Arbitrary Variant", "url": "https://www.nico.fyi/blog/pr-review-tailwind-arbitrary-variant", "published_at": "2023-08-09T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778c248d5c", "title": "Coparrot - Mock server without installation and without configuration", "url": "https://www.nico.fyi/blog/coparrot-mock-server-without-installation", "published_at": "2022-01-18T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778cd595c6", "title": "How to track the traffic of views and clones of Github Repository", "url": "https://www.nico.fyi/blog/track-github-clones-views-traffic", "published_at": "2020-12-07T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778d20cd41", "title": "Using Non-Apple Mechanical keyboard on Mac Like a Pro", "url": "https://www.nico.fyi/blog/using-non-apple-mechanical-keyboard-on-mac-like-a-pro", "published_at": "2020-05-19T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778df44f72", "title": "[Dev Note] Using Environment Variables in NextJS Safely and Conveniently", "url": "https://www.nico.fyi/blog/dev-note-env-variables-nextjs-safely-and-conveniently", "published_at": "2020-05-05T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778e005a9f", "title": "[Dev Note] How to Write Tests for React App Comfortably", "url": "https://www.nico.fyi/blog/dev-note-how-to-write-tests-for-react-comfortably", "published_at": "2020-04-17T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778e2d1566", "title": "The Manual - A Philosopher's Guide to Life", "url": "https://www.nico.fyi/blog/the-manual-a-philosoper-guide-to-life-epictetus", "published_at": "2020-02-09T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea778f29fa8e", "title": "Money Land - Why Thieves & Crooks Now Rule the World & How to Take it Back", "url": "https://www.nico.fyi/blog/moneyland-book", "published_at": "2020-02-03T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea779011d45f", "title": "2019 Year In Review", "url": "https://www.nico.fyi/blog/2019-year-in-review", "published_at": "2020-01-28T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7790d812c3", "title": "Learning Microcopy from Apple Style Guide", "url": "https://www.nico.fyi/blog/learning-microcopy-from-apple-style-guide", "published_at": "2019-10-20T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea779185b893", "title": "[Dev Note] Testing React component which contains async code", "url": "https://www.nico.fyi/blog/dev-note-testing-react-components-async-code", "published_at": "2019-10-06T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7791f839ba", "title": "WWDC19 - Best WWDC yet (for me)", "url": "https://www.nico.fyi/blog/wwdc19", "published_at": "2019-06-09T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77929e2703", "title": "Brain Feeding/Poisoning - 2019年4月 5月", "url": "https://www.nico.fyi/blog/april-may-2019-brain-feeding", "published_at": "2019-05-07T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77930a6def", "title": "Configuring New Mac", "url": "https://www.nico.fyi/blog/configuring-new-mac", "published_at": "2019-05-07T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7793ec3055", "title": "Brain Feeding/Poisoning - 2019年3月", "url": "https://www.nico.fyi/blog/march-2019-brain-feeding", "published_at": "2019-03-24T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7794523d4d", "title": "[Dev Note] Publish private NPM package to private git repo", "url": "https://www.nico.fyi/blog/dev-note-publish-private-npm-package-to-private-repo", "published_at": "2019-02-12T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7794d4965b", "title": "Brain Feeding/Poisoning - 2019年2月", "url": "https://www.nico.fyi/blog/february-2019-brain-feeding", "published_at": "2019-02-10T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77958151d5", "title": "[Dev Note] Edit Git Commit Message and Cypress test crashes with Droneio", "url": "https://www.nico.fyi/blog/dev-note-git-edit-commit-drone-cypress", "published_at": "2019-02-09T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea779626b08d", "title": "Brain Feeding/Poisoning - 2019年1月", "url": "https://www.nico.fyi/blog/january-2019-brain-feeding", "published_at": "2019-01-08T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea77968e7f11", "title": "2018, Year of gaming and Japan", "url": "https://www.nico.fyi/blog/look-back-2018", "published_at": "2018-12-31T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea779693458c", "title": "Type-Safe Localization for React App Using Flow", "url": "https://www.nico.fyi/blog/typesafety-localization-for-react-app", "published_at": "2018-12-02T00:00:00+00:00" }, { "id": "01a087af-9591-705c-9b6b-ea7796936d25", "title": "iOS Shortcuts to download public Instagram photos and videos", "url": "https://www.nico.fyi/blog/shortcuts-save-instagram-photos-videos", "published_at": "2018-11-12T00:00:00+00:00" } ] posts Claim your blog
Back to nico.fyi
Blog · corpus.blog/blogs/nico.fyi/posts

nico.fyi

nico.fyi

2024

2023

2022

2020

2019

2018