কম্পিউটার টিউটোরিয়াল

রেইলসে কখন ডিপ ডাইভ করবেন: আপনার মাস্টারির টাইমিং

আপনি কি কখনো এমন একটি রেইলস টপিক খুঁজে পেয়েছেন যা আপনাকে কোনো মানে করলো না?

মনে করুন, আপনি মনে করতেন আপনি এটা জানেন, তাই আপনি কিছু কোড লিখলেন, এবং কিছু সম্পূর্ণ ভিন্ন ঘটলো?

অথবা আপনি জানেন আপনি সত্যিই কিছু বুঝতে পারেননি, কিন্তু আপনি যথেষ্ট জানেন যে কাজ চলে, সिवা এই 얘기 যে আপনি এতক্ষণ এজ কেস ফিক্স করছেন যে ততক্ষণে আপনি সেটাতে এক্সপার্ট হইতে পারতেন?

অনু, যদি এটাও না হতো? কি ভালো না হতো শুধু জেনে থাকা যে জিনিসগুলো কীভাবে কাজ করে? আপনার সামনে থাকা সমস্যার একটি কঠোর মেন্টাল মডেল থাকা? তाकি আপনি শুধু সঠিক সিদ্ধান্ত নিতে পারেন, এবং সঠিক কোড লিখতে পারেন?

যখন আমি প্রথম ওয়েব ডেভেলপমেন্ট শিখছিলাম, সেশন ছিল That Thing: আমি মনে করতাম আমি একটু জানি, কিন্তু আসলে জানতাম না। এবং সেশন সম্পর্কে আমার ভুল ধারণা এত বাগ তৈরি করেছিল যে আমার багато সমালোচনা করা হয়েছিল।

শীঘ্রই, আমি বুঝলাম যে আমাকে সময় নিতে হবে আসলে বুঝতে সেশন কীভাবে কাজ করে। সেগুলো ডিমিস্টিফাই করতে, সেগুলোকে ভয়ঙ্কর বা অদ্ভুত না করে। এবং সর্বেষে, অনুমান করতে পারতে হব কীভাবে সেগুলো আচরণ করবে – এবং সঠিক অনুমান করতে পারতে হব।

"সেশন" একমাত্র টপিক নয় যাতে আমি ডিপ ডাইভ করেছি। ডেটা মডেলিং, ক্যাশিং, মেটা-প্রোগ্রামিং, এগুলো সব কনফিউজিং জিনিস যা খুব সহজে কিছুটা কাজ করতে পারে। কিন্তু আপনি চিরকাল ডিবাগিং সমস্যায় পড়বেন যদি আপনি সেগুলো বুঝতে পারেন না।

Practicing Rails-এ, আমি T-Shaped learning সম্পর্কে লিখেছিলাম: যখন আপনার ভালো বেসলাইন নলেজ থাকে, কিন্তু নির্দিষ্ট টপিকগুলতে প্রয়োজনে আরও গভীরে যান। সেই ধাক্কাগুলোই ডিপ ডাইভ, এবং সেগুলো আপনার প্রোগ্রামিং ক্যারিয়ারের 내내 বিশাল সমস্যা সমাধান করতে সাহায্য করবে।

আপনি কখন ডিপ ডাইভ করবেন?

তো আপনি কীভাবে জানবেন ডিপ ডাইভ করার সময় এসেছে?

প্রথমে, ডিপ ডাইভ করতে হলে, আপনাকে জানতে হবে আপনি কীতে ডুব দিচ্ছেন।

ডিপ ডাইভ সবচেয়ে হেল্পফুল যখন আপনি একটি একক টপিকের সাথে ডিল করছেন। একটি নির্দিষ্ট জিনিস যা আপনি এক শব্দে বা একটি ছোট ফ्रेजে বর্ণনা করতে পারেন। SQL query performance। Sessions। HTTP Caching। খুব স্পেসিফিক হলে, আপনি সেসব ইন্টারঅ্যাকশন মিস করবেন যা একটি টপিককে এত জটিল করে তোলে। খুব জেনারেল হলে, আপনি "Programming"-এ ডিপ ডাইভ করছেন। যা, আমি حدস করি আপনি একটু করছেন, কিন্তু সেটি আপনার পুরো ক্যারিয়ার một ডিপ ডাইভ।

এরপর, আপনাকে দুটো পরিস্থিতির যেকোনো একটিতে ডিপ ডাইভ করা উচিত:

  1. আপনি মনে করেন আপনি জানেন আপনি কী করছেন, কিন্তু কিছু সম্পূর্ণ অপ্রত্যাশিত ঘটে। আপনি হৃদয়ে জানেন যে সে গ্রিন বাটন ধাক্কা দিলে হল-র লাইট জ্বলবে, কিন্তু আপনি ধাক্কা দিলে, রুমটি ধসে পড়ে।

  2. আপনি জানেন আপনি সত্যিই কিছু বুঝতে পারেননি, এবং সেটি ওকে ছিল… কিন্তু এখন, আপনি একটি বাগ ফিক্স করছেন, এবং আপনি যা করছেন সেটি আপনি যে সমস্যাগুলো সমাধান করছেন তার চেয়ে বেশি সমস্যা তৈরি করছে, পুরনো বাগ ফিক্স হওয়ার গতিতে নতুন বাগ তৈরি করছে।

এই পরিস্থিতিগুলোর একটি সাধারণ জিনিস আছে: আপনি এতক্ষণে লক্ষ্য করেছেন যে আপনি ভুল ডায়রেকশনে যাচ্ছেন। এবং আপনি আশা করছেন যে আপনি জিনিসগুলো ঘুরিয়ে দেবেন, আপনি বুঝতে শুরু করছেন যে আপনি অনেক সময় বর্জন করবেন।

এই দুটোই আপনাকে সাহায্য করে আপনি যা করছেন সেটি কাজ করছে না তা শুরুরই বুঝতে।

তো, এরপর যখন আপনি বাগ ফিক্স করার জন্য এজ কেসে লড়াই করছেন, অথবা আপনি লিখা কোড একদম ভিন্ন কিছু করলে আপনি হতবुद्धি হচ্ছেন, সেই অনুভূতিটি মনে রাখুন। সেটিকে সেন্সিটিভ হন। সেটিই সেই অনুভূতি যা আপনাকে বলবে সময় হয়েছে পজ ব튼 টিপতে। নিজেকে সংহত করুন। এবং সেটি গভীরে শিখুন যা আপনি এখন জানেন আপনি বুঝতে পারেননি।

কিন্তু এখন আপনি সিদ্ধান্ত নিয়েছেন আপনাকে ডিপ ডাইভ করতে হবে, আপনি কীভাবে করবেন?

  1. Hotwire দিয়ে Rails অ্যাপস দ্রুত করুন: JavaScript ছাড়া সার্ভার-সাইড রেন্ডারিং

  2. রুবি অন রেইলস AWS Lambda-তে ডিপ্লয়: ধাপে ধাপে গাইড

  3. Angular এবং Rails 5 ইন্টিগ্রেশন: একটি স্মুথ ফুল-স্ট্যাক পদ্ধতি

  4. রেইলস পারফরম্যান্সে দক্ষতা: অ্যাপ্স ডায়াগনোজ ও ত্বরান্বিত করার প্রামাণিক পদ্ধতি