Mark Stratmann
ABout Background

এই সাইট সম্পর্কে

আমি কেন এই সাইটটি তৈরি করেছি

এই সাইটটি কেন আছে?

যেকোনো নতুন প্রযুক্তি শেখার ক্ষেত্রে দীর্ঘদিনের একটি সমস্যা হলো—ইন্টারনেটে বা AI-গুলোর কাছ থেকে যে ডকুমেন্টেশন ও উদাহরণগুলো পাওয়া যায়, সেগুলোর বেশিরভাগই এতটাই তুচ্ছ যে এগুলো দেখে বোঝাই যায় না প্রযুক্তিটি বা আপনার সেটির ইমপ্লিমেন্টেশন বাস্তব, জটিল ওয়ার্কলোড টিকিয়ে রাখতে পারবে কি না। এর একটি উদাহরণ হলো অসংখ্য টু-ডু লিস্ট উদাহরণ।

আমার কয়েকটি প্রযুক্তিগত অনুমানের ভিত্তিতে একটি SASS প্রকল্প পরিকল্পনা করা আছে, যেগুলো আসল প্রকল্প তৈরির চেষ্টা করার আগেই পরীক্ষা করা দরকার, আর এরকম একটি ব্যক্তিগত প্রোফাইল সাইট—যেটি একটি সম্পূর্ণ CMS ব্যাকএন্ড দ্বারা চালিত—একদিকে যথেষ্ট জটিল, যাতে প্রোপার প্রোডাকশন বিল্ডআউট করার মতো যৌক্তিকতা থাকে, আবার অন্যদিকে যথেষ্ট সরল, যাতে একত্র করতে খুব বেশি সময় না লাগে; অতিরিক্ত সুবিধা হলো, যদি সবকিছু ভালোভাবে যায়, আমি এমন একটি প্রোফাইল সাইট পাব যা ভালো পারফর্ম করে এবং আরও প্রযুক্তিগত এক্সপেরিমেন্টের জন্য একটি ভালো টেস্টবেড হবে।

ডিপ্লয়মেন্ট টার্গেট হিসেবে Cloudflare

Cloudflare Workers https://workers.cloudflare.com/ প্রথম নজরে একটি জটিল অ্যাপ্লিকেশন ডিপ্লয় করার জন্য অত্যন্ত সস্তা একটি উপায় বলে মনে হয়। ব্যাক-এন্ড ডেভেলপমেন্ট সহজ ও রোবাস্ট মনে হয়, এবং OpenNext https://opennext.js.org/ প্যাকেজটি Next.js https://nextjs.org/ দিয়ে আপনার ফ্রন্ট-এন্ড ডেভেলপ করার এবং Cloudflare-এ ডিপ্লয় করার একটি কার্যকর উপায় প্রদান করে বলে মনে হয়।

আমি সন্দেহ করি এই সাইটটি খুব বেশি মানব ট্র্যাফিক আকর্ষণ করবে; তবে, আমি যতটা সম্ভব ওয়েব সার্চ এবং AI ক্রলার ট্র্যাফিক এটিতে ঠেলে দেওয়ার চেষ্টা করব। এভাবে, Cloudflare-এর প্ল্যাটফর্মে একটি ব্যস্ত সাইট চালানোর আসল খরচ আমি বুঝতে সক্ষম হওয়া উচিত।

যতটা হওয়া উচিত তার চেয়ে এই সাইটটিকে বেশি জটিল করা

কনটেন্ট ম্যানেজমেন্ট ব্যাকএন্ড (CMS)

সত্যি বলতে, এই সাইটটি বর্তমানে যেমন আছে, একটি কোডিং এজেন্ট দিয়ে কয়েক ঘণ্টার মধ্যেই জোড়াতালি দিয়ে বানানো যেত; তবে, একটি সিরিয়াস সিস্টেমের বেসিক কনটেন্ট বদলাতে ডিপ্লয়মেন্ট লাগা উচিত নয়। তাই, এই সাইটে Payload CMS (https://payloadcms.com/) ভিত্তিক একটি পূর্ণাঙ্গ CMS ব্যবহার করা হয়েছে, যা আলাদা একটি Cloudflare Worker হিসেবে ডিপ্লয় করা।

Payload নিজে একটি SQL ডাটাবেস ব্যবহার করে, যার ফলে এটিকে CloudFlare D1 SQLite ডাটাবেস ইনস্ট্যান্স হিসেবে ডিপ্লয় করতে হয় https://developers.cloudflare.com/d1/, এবং ডেভেলপমেন্ট লাইফসাইকেল সাপোর্ট করার জন্য ডাটাবেস মাইগ্রেশন দিয়ে সঠিকভাবে ম্যানেজ করতে হয়।

স্বয়ংক্রিয় অনুবাদ

এই সাইট 20টি ভাষা সাপোর্ট করে। যেহেতু ওয়েবসাইটটি CMS কনটেন্টের জন্য একটি সাধারণ স্ক্যাফোল্ড, তাই ডেভেলপমেন্টের সময় i18n অংশটি একটি কোডিং এজেন্ট (Co-pilot এবং Claude Opus 4.5) দিয়ে হ্যান্ডেল করা হয়।

এর ফলে, বর্তমান এবং ভবিষ্যতের সব CMS কনটেন্ট—যখনই কোনো ইংরেজি কনটেন্ট পরিবর্তিত হয়—স্বয়ংক্রিয়ভাবে অনুবাদ হওয়া প্রয়োজন।

কিউ এবং ক্রন-ভিত্তিক Worker

অনুবাদের এই চাহিদাটি একটি যথেষ্ট জটিল প্রক্রিয়া দাবি করে, যা:

  • একটি ক্রন টাইমারে ট্রিগার হবে।
  • যে কোনো কনটেন্টের নতুন অনুবাদ দরকার তা শনাক্ত করবে।
  • নির্ভরযোগ্যভাবে অনুবাদ এক্সিকিউট করবে।
  • ব্যর্থতা থেকে নির্ভরযোগ্যভাবে রিকভার করবে।

তাই, অনুবাদ কাজ ট্র্যাক করার জন্য আরেকটি CloudFlare D1 ইনস্ট্যান্স ব্যবহার করা হয়, এবং কাজগুলো ম্যানেজ ও স্কেল করার জন্য ক্রন-ভিত্তিক producer-consumer প্যাটার্নে Cloudflare queues (https://developers.cloudflare.com/queues/) ব্যবহার করা হয়। অনুবাদ করার জন্য OpenAI-এর gpt-5.2 API কল করা হয় এবং AI.SDK https://ai-sdk.dev/ সবকিছু একসাথে জোড়া লাগায়।

এই সাইটের জন্য এটা ওভারকিল, কিন্তু যেকোনো প্রোডাকশন সিস্টেমের—যে কোনো স্কেলে—ব্যাকগ্রাউন্ড প্রসেসিং অর্কেস্ট্রেট করার জন্য একটি রোবাস্ট প্যাটার্ন প্রয়োজন।

এই সাইটের আগের সংস্করণগুলো

নতুন প্রযুক্তি শেখার একটি টুল হিসেবে আমি ইতিমধ্যে এই সাইটটি দু’বার করেছি:

2013 - Ruby এবং AWS শেখা

  • Ruby on Rails v4.0.0.
  • Bootstrap স্টাইলিং v3.
  • UI-এর জন্য CoffeeScript।
  • Backbone Marionette VMC ফ্রন্ট-এন্ড প্যাটার্ন।
  • একটি AWS হোস্টে ডিপ্লয় করা।

2017 - React শেখা

  • UI-এর জন্য React v16.0.0.
  • অ্যাসিঙ্ক্রোনাস অপারেশনের জন্য Redux এবং Thunk।
  • স্টাইলিংয়ের জন্য Semantic UI।

পরবর্তী কী

SEO-এর জন্য সাইটটি ঠিকভাবে হুকড আপ করা আছে, এবং ক্রলার ট্র্যাফিক বাড়াতে নিয়মিত নতুন কনটেন্টের একটি ক্যাডেন্স দরকার। ব্যবহৃত বিভিন্ন প্রযুক্তি এবং সমাধানগুলো নিয়ে আমি আরও বিস্তারিত আর্টিকেল পোস্ট করব।