<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://ai-techblog.okdyy75.com/ai/01-prompt-engineering-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/02-rag-mechanism-and-utilization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/03-fine-tuning-llm-customization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/04-major-llm-comparison.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/05-generative-ai-business-cases.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/06-ml-model-deployment-strategies.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/07-llm-fine-tuning-with-hugging-face.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/08-vector-db-for-ai-applications.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/09-pytorch-vs-tensorflow-2024.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/10-mastering-ai-code-assistants.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/11-gemini-comprehensive-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/12-grok-comprehensive-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/13-chatgpt-comprehensive-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/14-claude-comprehensive-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/15-chatgpt-atlas-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/16-mcp-introduction-agent-tooling.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/17-llm-evaluation-introduction.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ai/</loc></url><url><loc>https://ai-techblog.okdyy75.com/api-examples.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/01-introduction.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/02-server-setup.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/03-schema-and-resolvers.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/04-frontend-integration.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/05-advanced-techniques.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/06-performance-optimization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/07-subscriptions.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/08-testing-strategies.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/09-security-best-practices.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/10-operations-monitoring.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/11-codegen-cicd.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/12-federation-supergraph.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/graphql/</loc></url><url><loc>https://ai-techblog.okdyy75.com/</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/gcp/gcp-advanced.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/gcp/gcp-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/gcp/gcp-enterprise.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/heroku/heroku-advanced.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/heroku/heroku-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/heroku/heroku-migration.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/vercel/vercel-advanced.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/vercel/vercel-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/infrastructure/vercel/vercel-enterprise.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/markdown-examples.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/01-nextjs-app-router-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/02-nextjs-data-fetching-server-actions-route-handlers.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/03-nextjs-authjs-nextauth-authentication.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/04-nextjs-seo-metadata-ogp-structured-data.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/04-nextjs-stripe-subscription-webhook-authorization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/05-nextjs-supabase-auth-db-deploy.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/05-vercel-deployment-optimization-nextjs.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/nextjs/</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/01-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/02-installation-and-setup.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/03-psql-basic-operations.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/04-mastering-data-types.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/05-sql-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/06-table-design-best-practices.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/07-index-mechanism-and-usage.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/08-transactions-and-acid.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/09-using-views.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/10-stored-procedures-and-functions.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/11-triggers-for-data-integrity.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/12-30-docker-postgres.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/13-cte-query-readability.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/28-major-version-upgrade-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/postgres/</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/01-rails7-blog-tutorial.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/02-scaffold-deep-dive.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/06-rails-console-tips.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/12-active-support-concern.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/15-active-storage-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/33-action-mailer-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/34-rails-i18n.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/36-rails-config-management.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/62-rails-logging-customize.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/67-rails8-new-features.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/01-rails-basics/77-mvc-architecture-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/03-active-record-associations.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/05-active-record-validations.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/18-polymorphic-associations.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/22-active-record-locking.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/47-active-record-enum.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/48-rails-multi-db.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/49-postgresql-advanced.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/50-scenic-gem-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/68-solid-queue-rails8.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/69-active-record-encryption.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/78-zero-downtime-migrations.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/91-activerecord-vs-eloquent-comparison.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/91-rails-laravel-validation-comparison.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/91-with-has-group-pivot-differences.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/92-rails-laravel-migration-comparison.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/02-active-record-database/93-rails-laravel-file-upload-comparison.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/07-rails-form-with.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/16-hotwire-intro.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/17-action-cable-chat.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/23-jsbundling-rails-react.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/32-view-component.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/40-action-text-trix-editor.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/42-webpacker-to-shakapacker-migration.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/46-stimulus-reflex-cable-ready.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/54-propshaft-asset-pipeline.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/55-tailwind-css-rails7.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/56-import-maps-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/66-phlex-fast-views.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/70-rails8-inline-execution.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/71-advanced-turbo-streams.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/88-motion-ui-turbo-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/03-view-frontend/90-rails-7-8-hotwire-stimulus-form-validation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/04-controller-routing/04-rails-routing-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/04-controller-routing/72-rails8-controller-improvements.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/05-testing/13-minitest-tdd-intro.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/05-testing/28-rspec-factorybot.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/05-testing/51-capybara-system-spec.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/05-testing/52-simplecov-test-coverage.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/05-testing/53-vcr-webmock-testing.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/05-testing/73-rails8-testing-strategy.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/05-testing/87-rspec-mocks-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/06-performance/09-n-plus-one-with-bullet.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/06-performance/10-active-record-query-optimization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/06-performance/20-performance-tuning.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/06-performance/43-rails-memory-optimization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/06-performance/61-sentry-newrelic-monitoring.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/06-performance/74-rails8-performance-improvements.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/06-performance/86-rack-mini-profiler-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/07-architecture-design/08-service-objects-for-fat-controllers.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/07-architecture-design/19-rails-engines.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/07-architecture-design/57-trailblazer-architecture.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/07-architecture-design/59-rails-microservices.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/07-architecture-design/85-rails-ddd-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/24-docker-compose-rails-development.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/26-deploy-rails-to-render.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/39-rails-ci-github-actions.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/60-kamal-deployment.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/84-terraform-rails-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/86-deploy-rails-to-heroku.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/87-deploy-rails-to-vercel.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/08-deployment-devops/88-deploy-rails-to-google-cloud.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/09-api/08-rails-api-mode.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/09-api/25-graphql-ruby-api.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/09-api/27-rails-api-nextjs.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/09-api/45-rails-api-documentation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/09-api/83-rails-grpc-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/10-security/14-authentication-from-scratch.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/10-security/30-rails-security-owasp.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/10-security/37-pundit-authorization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/10-security/64-rodauth-authentication.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/10-security/65-action-policy-authorization.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/10-security/82-brakeman-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/11-background-jobs/11-introduction-to-sidekiq.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/11-background-jobs/35-active-job-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/11-background-jobs/63-goodjob-background-jobs.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/11-background-jobs/81-sidekiq-cron-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/29-sorbet-rails.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/31-rails-stripe-subscription.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/38-rails-admin-gems-comparison.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/41-rails-redis-use-cases.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/44-ransack-advanced-search.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/58-dry-rb-ecosystem.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/75-shopify-liquid-rails.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/12-gems-libraries/80-cancancan-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/13-others/21-custom-rack-middleware.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/13-others/76-docker-optimization-rails.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/13-others/79-i18n-tasks-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/13-others/89-rails-settings-best-practices.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/13-others/90-api-versioning-strategies.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/rails/</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/01-pattern-matching.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/01-ruby-setup.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/02-ruby-syntax.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/03-ruby-data-types.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/04-ruby-control-flow.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/05-ruby-blocks-procs-lambdas.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/06-ruby-classes-modules.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/07-ruby-exception-handling.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/08-ruby-standard-library.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/09-ruby-delegation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/10-ruby-enumerable-deep-dive.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/01-basics/31-ruby3-new-features.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/03-cli-tool-creation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/07-socket-programming.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/09-ruby-metaprogramming.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/10-ruby-concurrency.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/11-ruby-gem-creation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/12-rack-middleware.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/13-ruby-design-patterns.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/14-ruby-memory-management.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/33-ruby-functional-programming.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/34-ruby-performance-tuning.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/35-ruby-c-extension.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/02-applications/39-ruby-dsl-creation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/15-bundler-gem-management.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/16-rake-tasks.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/17-rubocop-static-analysis.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/18-debugging-with-pry-irb.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/19-minitest-vs-rspec.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/20-sinatra-webapp.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/32-ruby-tdd-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/36-hanami-framework-intro.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/37-ruby-web-scraping.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/03-ecosystem/38-ruby-static-site-generators.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/02-rbs-type-definition.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/06-ruby-reflection.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/10-ruby-fiber.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/21-ruby-on-rails-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/22-active-record-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/23-rails-routing.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/24-rails-views-and-templates.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/25-rails-controllers.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/26-rails-testing-introduction.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/27-rails-deployment-strategies.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/28-ruby-asynchronous-processing.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/29-sorbet-for-ruby-typing.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/30-mruby-vs-cruby.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/04-advanced/40-rails-security-best-practices.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/01-prism-parser.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/02-garnet-vm.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/03-universal-symbol.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/04-yjit-evolution.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/05-trilogy-db-adapter.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/07-debug-gem.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/08-ruby-and-wasm.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/09-ractor-performance.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/05-others/10-grpc-implementation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/ruby/</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/01-typescript-setup.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/02-typescript-syntax.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/03-type-system-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/04-primitive-and-literal-types.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/05-object-types-and-interfaces.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/06-arrays-and-tuples.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/07-function-types-and-overloads.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/08-union-and-intersection-types.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/09-type-aliases-and-type-guards.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/01-basics/10-generics-basics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/02-advanced/01-advanced-generics.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/02-advanced/02-conditional-types.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/02-advanced/03-mapped-types.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/02-advanced/04-template-literal-types.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/02-advanced/05-type-level-programming.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/02-advanced/06-decorators-and-metadata.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/02-advanced/07-namespaces-and-modules.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/04-frameworks/01-react-typescript.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/05-tools/06-zod-runtime-validation.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/05-tools/08-typescript-ast-transform.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/05-tools/09-typescript-playground-guide.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/06-practice/06-large-project-structure.html</loc></url><url><loc>https://ai-techblog.okdyy75.com/typescript/</loc></url></urlset>