41554 blogs · [ { "id": "01a087ad-0615-73f2-919f-e8429fd5f843", "title": "Frontend CI/CD in the age of AI - Part 2: Deployments", "url": "https://neciudan.dev/ci-cd-in-the-age-of-ai-part-2-deployments", "published_at": "2026-08-05T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a01dc145", "title": "Frontend CI/CD in the age of AI -- Part 1", "url": "https://neciudan.dev/ci-cd-in-the-age-of-ai-part-1", "published_at": "2026-07-28T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a06c18b5", "title": "Do we need state management libraries anymore?", "url": "https://neciudan.dev/do-we-need-state-management-libraries", "published_at": "2026-07-21T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a079623e", "title": "The React Compiler", "url": "https://neciudan.dev/react-compiler-explained", "published_at": "2026-07-11T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a099d1ca", "title": "What's the best way to do authentication in modern applications", "url": "https://neciudan.dev/most-secure-way-to-store-auth-token", "published_at": "2026-07-04T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a0df2a77", "title": "Different hydration and rendering strategies", "url": "https://neciudan.dev/hydration-and-rendering-strategies", "published_at": "2026-06-28T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a15a19d3", "title": "Component Communication Patterns in React Applications", "url": "https://neciudan.dev/component-communication-patterns-in-react", "published_at": "2026-06-20T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a23dc4db", "title": "Upgrading from Astro 3 to Astro 6, with Claude doing most of the work", "url": "https://neciudan.dev/astro-upgrade-from-3-to-6", "published_at": "2026-06-11T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a304bf2a", "title": "Why are we not using Service Workers?", "url": "https://neciudan.dev/why-are-we-not-using-service-workers", "published_at": "2026-06-07T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a3e8ec36", "title": "Everything you need to know about Sourcemaps", "url": "https://neciudan.dev/everything-you-need-to-know-about-sourcemaps", "published_at": "2026-06-01T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a4242657", "title": "A gentle introduction to TanStack Query", "url": "https://neciudan.dev/a-gentle-introduction-to-tanstack-query", "published_at": "2026-05-24T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a45d08ad", "title": "GitHub Actions Cache Poisoning is eating open source", "url": "https://neciudan.dev/github-actions-poisoning", "published_at": "2026-05-17T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a45d75e1", "title": "Seven cool JavaScript libraries You should know about", "url": "https://neciudan.dev/7-cool-javascript-libraries-you-might-want-to-use", "published_at": "2026-05-09T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a542ca23", "title": "Server-Driven UI in 22 lines of TypeScript", "url": "https://neciudan.dev/implementing-server-driven-ui", "published_at": "2026-05-01T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a57cf6ec", "title": "Astro SEO Checklist 2026: 20 tactics ranked by impact", "url": "https://neciudan.dev/astro-seo-checklist-2026", "published_at": "2026-04-25T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a6407043", "title": "How to make your app agent-ready", "url": "https://neciudan.dev/make-your-app-agent-ready", "published_at": "2026-04-25T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a656b99d", "title": "What's actually new in JavaScript (and what's coming next)", "url": "https://neciudan.dev/whats-new-in-javascript", "published_at": "2026-04-21T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a69f1f36", "title": "My blog got popular, and my bandwidth exploded to ~300GB in just 10 days", "url": "https://neciudan.dev/how-i-cut-250gb-of-bandwidth-from-my-website", "published_at": "2026-04-12T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a71ac833", "title": "Now more then ever, you need to master custom ESLint rules", "url": "https://neciudan.dev/master-eslint-rules", "published_at": "2026-04-11T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a7e0549d", "title": "You really, really, really don't need an effect! I swear!", "url": "https://neciudan.dev/you-really-really-dont-need-an-effect", "published_at": "2026-04-02T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a80de003", "title": "10 React tips I wish someone had told me before I mass-produced bugs", "url": "https://neciudan.dev/10-react-tips-that-actually-matter", "published_at": "2026-03-25T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a8e6030d", "title": "Build your own shimmer skeleton that never goes out of sync", "url": "https://neciudan.dev/lets-build-dynamic-shimmer-skeletons", "published_at": "2026-03-22T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842a98220c4", "title": "Start naming your useEffect functions, you will thank me later", "url": "https://neciudan.dev/name-your-effects", "published_at": "2026-03-18T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842aa6ef9f0", "title": "A tech breakdown of Server-Sent Events vs WebSockets", "url": "https://neciudan.dev/sse-vs-websockets", "published_at": "2026-03-11T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842ab03e966", "title": "How to steal npm publish tokens by opening GitHub issues", "url": "https://neciudan.dev/cline-ci-got-compromised-here-is-how", "published_at": "2026-03-04T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842ab66d48c", "title": "Git is the new code", "url": "https://neciudan.dev/the-new-developer-job-in-the-age-of-ai", "published_at": "2026-02-20T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842abc6b19e", "title": "2025 in Review", "url": "https://neciudan.dev/2025-in-review", "published_at": "2026-01-01T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842ac6f2592", "title": "AI is the future of coding", "url": "https://neciudan.dev/cursor-ai-the-future-of-coding", "published_at": "2025-04-25T00:00:00+00:00" }, { "id": "01a087ad-0615-73f2-919f-e842acf5b67e", "title": "Building a Subscribe Feature", "url": "https://neciudan.dev/building-substack-subscription", "published_at": "2025-02-02T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aabea34d0d", "title": "Magic Release Notes", "url": "https://neciudan.dev/magic-release-notes", "published_at": "2025-01-18T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aabee90bae", "title": "Speaking at Tech Conferences - How to get started", "url": "https://neciudan.dev/speaking-at-tech-confrences", "published_at": "2024-10-13T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aabf56b84b", "title": "Fortifying Vue.js Applications", "url": "https://neciudan.dev/fortifying-applications-common-security-risks-and-solutions", "published_at": "2023-02-23T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aabfad13ba", "title": "Crack the Tech Interview", "url": "https://neciudan.dev/crack-the-coding-interview", "published_at": "2023-02-06T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aabfe144f0", "title": "Writing The Perfect Tests for your Application", "url": "https://neciudan.dev/writing-the-perfect-test-for-your-applications", "published_at": "2023-01-23T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aabfef1bb2", "title": "10 Software concepts I learned in 2022", "url": "https://neciudan.dev/10-software-concepts", "published_at": "2023-01-05T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aabff0d674", "title": "5 Amazing Software Testing Books You have to Read", "url": "https://neciudan.dev/5-amazing-software-testing-books-you-have-to-read", "published_at": "2022-12-29T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aac048c486", "title": "Tech Books you have to read, to be a better Software Engineer", "url": "https://neciudan.dev/tech-books-you-have-to-read-to-be-a-better-software-engineer", "published_at": "2022-10-17T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aac0b3320d", "title": "5 Testing Practices you should have in your CI / CD Pipeline", "url": "https://neciudan.dev/5-testing-practices-you-should-have-in-your-cicd-pipeline", "published_at": "2022-10-10T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aac10ce912", "title": "Javascript Component Patterns to Scale up your Web Application", "url": "https://neciudan.dev/javascript-component-patterns-to-scale-up-your-applications", "published_at": "2022-09-13T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aac1d4cdb5", "title": "CSS: The !Important Parts", "url": "https://neciudan.dev/css-the-important-parts", "published_at": "2022-07-22T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aac2698352", "title": "5 Tips to Solve Common Pitfalls With React Native", "url": "https://neciudan.dev/5-tips-to-solve-common-react-native-pitfalls", "published_at": "2022-01-24T00:00:00+00:00" }, { "id": "01a087ad-0616-7223-a93b-52aac26e0fae", "title": "The Bowling Kata", "url": "https://neciudan.dev/the-bowling-kata", "published_at": "2021-06-22T00:00:00+00:00" } ] posts Claim your blog
Back to neciudan.dev
Blog · corpus.blog/blogs/neciudan.dev/posts

neciudan.dev

neciudan.dev

2026

2025

2024

2023

2022

2021