Hacker News

মোৰ এপ্লিকেচন প্ৰগ্ৰেমাৰ প্ৰবৃত্তিসমূহ এছেম্বলাৰ ডিবাগ কৰাৰ সময়ত বিফল হৈছিল

মন্তব্য

1 min read Via landedstar.com

Mewayz Team

Editorial Team

Hacker News
<শৰীৰ>

মোৰ এপ্লিকেচন প্ৰগ্ৰেমাৰ প্ৰবৃত্তিসমূহ বিফল যেতিয়া এছেম্বলাৰ ডিবাগিং কৰা হয়

বছৰ বছৰ ধৰি মোৰ পেছাদাৰী পৃথিৱীখন বিমূৰ্ততাৰ স্তৰৰ ওপৰত গঢ় লৈ উঠিছে। এজন আধুনিক এপ্লিকেচন প্ৰগ্ৰেমাৰ হিচাপে, মই উচ্চ-স্তৰৰ ভাষা, পৰিচালিত চলনসময়, আৰু শক্তিশালী কাঠামোৰ এটা আৰামদায়ক পৰিৱেশতন্ত্ৰত বাস কৰো। এটা শূন্য পইণ্টাৰ ব্যতিক্ৰম? ষ্টেক ট্ৰেচে মোক সমস্যাজনক লাইনটোলৈ আঙুলিয়াই দিয়ে। এটা মেমৰি লিক? জাবৰ সংগ্ৰাহকজনে সাধাৰণতে মই লক্ষ্য কৰাৰ আগতেই চম্ভালি লয়। এই বিমূৰ্তকৰণ এটা মহাশক্তি, যাৰ ফলত আমি অবিশ্বাস্য গতিৰে মেৱাইজ প্লেটফৰ্মৰ দৰে জটিল ব্যৱস্থা নিৰ্মাণ কৰিব পাৰো। কিন্তু শেহতীয়াকৈ কিছুমান লিগেচি চিষ্টেম ক’ডত গভীৰ ডুব যোৱাটোৱে—কেঁচা, অবিকৃত এছেম্বলাৰ—এই আৰামক ছিন্নভিন্ন কৰি পেলালে। এটা দশকৰ ভিতৰত নিখুঁত হোৱা মোৰ উচ্চ পৰ্যায়ৰ প্ৰবৃত্তিবোৰ কেৱল অসাৰ নাছিল; তেওঁলোকে মোক সক্ৰিয়ভাৱে বিপথে পৰিচালিত কৰি আছিল।

নিয়ন্ত্ৰণৰ ভ্ৰম আৰু খালী ধাতুৰ শ্বক

কাৰ্য্যটো যথেষ্ট সহজ যেন লাগিছিল: এটা নিৰ্দিষ্ট হাৰ্ডৱেৰ বাধা কিয় বিক্ষিপ্তভাৱে বিফল হৈছিল চিনাক্ত কৰক। মোৰ পৃথিৱীত, ইয়াৰ বাবে এটা লগ ফাইল পৰীক্ষা কৰা, এটা ফাংচন কল অনুসৰণ কৰা, বা এটা ব্ৰেকপইণ্ট নিৰ্ধাৰণ কৰা জড়িত হ'ব। মোৰ প্ৰথম প্ৰবৃত্তি আছিল এটা "কাৰ্য্য" বিচাৰি উলিওৱা। মই এছেম্বলাৰ ক'ডটো স্কেন কৰিলোঁ, এটা চিনাক্তকৰণযোগ্য আৰ্হি, এটা স্পষ্ট প্ৰৱেশ আৰু প্ৰস্থান বিন্দু বিচাৰি। ইয়াৰ পৰিৱৰ্তে, মই জাম্প নিৰ্দেশনাৰ এটা লেবিৰিন্থ পাইছিলোঁ (JMP, JZ) যি নিজৰ ওপৰত লুপ বেক কৰিছিল, ক'ডৰ সৈতে মিহলি তথ্যৰ সৈতে। পৰিদৰ্শন কৰিবলৈ কোনো ষ্টেক ফ্ৰেম নাছিল, চাবলৈ কোনো স্থানীয় চলক নাছিল। "কাৰ্য্য"ৰ ধাৰণাটোৱেই আছিল বহুত সহজ, অধিক নিষ্ঠুৰ নিয়মৰ ওপৰত চলি থকা এটা বাস্তৱতাৰ ওপৰত মই জাপি দিয়া এটা উচ্চ পৰ্যায়ৰ কল্পনা। মই স্বাভাৱিক বুলি লোৱা নিয়ন্ত্ৰণটো আছিল এক ভ্ৰম। ইয়াত, প্ৰচেছৰে মাত্ৰ পৰৱৰ্তী নিৰ্দেশনাটো এক্সিকিউট কৰিলে, এটাৰ পিছত এটাকৈ, এটা অন্ধ, অটল ফ'কাচৰ সৈতে।

যেতিয়া আপোনাৰ মগজুৰ জাবৰ সংগ্ৰাহক ভাঙি যায়

মোৰ প্ৰবৃত্তিৰ আটাইতকৈ গভীৰ বিফলতা স্মৃতিৰ আশে-পাশে ঘূৰি আছিল। জাভা বা পাইথনৰ দৰে ভাষাত মেমৰি ব্যৱস্থাপনা বহুলাংশে স্বয়ংক্ৰিয়। আপুনি এটা বস্তু সৃষ্টি কৰে, ইয়াক ব্যৱহাৰ কৰে, আৰু শেষত, চিস্টেমে মেমৰি পুনৰুদ্ধাৰ কৰে। এছেম্বলাৰত জাবৰ সংগ্ৰাহক নাথাকে। প্ৰতিটো ৰেজিষ্টাৰ আৰু মেমৰি ঠিকনা এটা বহুমূলীয়া, সসীম সম্পদ যিটো আপুনি নিখুঁতভাৱে পৰিচালনা কৰিব লাগিব। মোৰ ডিবাগিং প্ৰক্ৰিয়া এটা জটিল ভুলৰ দ্বাৰা জুৰুলা হৈছিল: মই ধৰি লৈছিলো যে মেমৰি অৱস্থা ভৱিষ্যদ্বাণীযোগ্যভাৱে থাকিব। মই এটা ৰেজিষ্টাৰত এটা মান ট্ৰেচ কৰিম, ক'ডৰ আন এটা শাখাৰ দ্বাৰা বিচলিত হ'ম, আৰু তাৰ পিছত উভতি আহিম যে ৰেজিষ্টাৰটো এটা আপাত দৃষ্টিত অসংলগ্ন কাৰ্য্যৰ দ্বাৰা অভাৰৰাইট কৰা হৈছে। মই "জাবৰ-সংগ্ৰহ কৰা" মানসিকতাৰে ডিবাগ কৰিবলৈ চেষ্টা কৰি আছিলো, পৰিৱেশে মোৰ বাবে অৱস্থা সংৰক্ষণ কৰিব বুলি আশা কৰি। এছেম্বলাৰ জগতখনে এনে কোনো সৌজন্যতা প্ৰদান নকৰে। ই প্ৰতিটো বাইটৰ এটা স্থিৰ, হাতৰ হিচাপ বিচাৰে।

কেনেকৈ চিন্তা কৰিব লাগে পুনৰ শিকিব পৰা: এটা ভিন্ন দৃষ্টিভংগীৰ মূল্য

এই হতাশাজনক অনুশীলনটো শেষত আছিল এক নম্ৰ আৰু অমূল্য শিক্ষা। মোৰ উচ্চ-স্তৰৰ অনুমানসমূহ পৰিত্যাগ কৰিবলৈ আৰু মেচিনৰ দৰে চিন্তা কৰিবলৈ বাধ্য হোৱাটো—ৰেজিষ্টাৰ আবণ্টন, ষ্টেক পইণ্টাৰ, আৰু প্ৰচেছৰ ফ্লেগসমূহৰ প্ৰতি গুৰুত্ব দিয়াটো—এটা মৌলিক ৰিছেট আছিল। ই মোক সোঁৱৰাই দিলে যে মই দৈনিক ব্যৱহাৰ কৰা সকলো শক্তিশালী সঁজুলি, ব্যৱসায়িক প্ৰক্ৰিয়াৰ অৰ্কেষ্ট্ৰেচন সৰল কৰা মেৱেজৰ দৰে প্লেটফৰ্মকে ধৰি, শেষত এই কেঁচা, যান্ত্ৰিক ভেটিৰ ওপৰত নিৰ্মিত। সেই ভেটিটো বুজিলে, মাত্ৰ অলপ হ'লেও, বিমূৰ্ততাৰ আড়ম্বৰৰ প্ৰতি গভীৰ প্ৰশংসা আৰু স্তৰসমূহৰ মাজেৰে কেতিয়াবা "লিক" হ'ব পৰা সমস্যাসমূহ নিৰ্ণয় কৰাৰ বাবে চোকা চকু প্ৰদান কৰে।

  • বিমূৰ্ততাৰ ধাৰণা: ফলন আৰু বস্তুৰ দৰে উচ্চ পৰ্যায়ৰ ধাৰণাসমূহ নিম্ন স্তৰত অস্তিত্ব লাভ কৰাৰ আশা কৰা।
  • স্বয়ংক্ৰিয় মেমৰি ব্যৱস্থাপনা: পাহৰি যোৱা যে প্ৰতিটো মেমৰি কাৰ্য্য স্পষ্টভাৱে নিয়ন্ত্ৰণ আৰু অনুসৰণ কৰিব লাগিব।
  • চহকী ডিবাগিং তথ্য: প্ৰতীকী নাম আৰু ষ্টেক ট্ৰেচসমূহৰ ওপৰত নিৰ্ভৰ কৰা যি কেঁচা মেচিন ক'ডত নাই।
  • ক্ৰমিক যুক্তি প্ৰবাহ: আদিম জাম্প আৰু ফ্লেগৰ পৰিৱৰ্তে গঠনমূলক লুপ আৰু চৰ্তযুক্ত ব্লকৰ ক্ষেত্ৰত চিন্তা কৰা।
<ব্লককোট> ডিবাগিং এছেম্বলাৰে মোক শিকাইছিল যে আটাইতকৈ বিপজ্জনক বাগবোৰ ক'ডত নহয়, বৰঞ্চ ক'ডটো কেনেকৈ চলিব সেই বিষয়ে প্ৰগ্ৰেমাৰৰ অনুমানতহে থাকে। ৰ দ্বাৰা

মৌলিক সন্মানৰ এটা পাঠ

এই অধ্যায়ৰ পিছত মোৰ উচ্চ পৰ্যায়ৰ প্ৰগ্ৰেমিং পৰিৱেশলৈ ঘূৰি অহাটো ঘৰলৈ অহাৰ দৰে অনুভৱ হৈছিল। কিন্তু মোৰ কাম সম্ভৱ কৰি তোলা আন্তঃগাঁথনিৰ প্ৰতি নৱীকৃত সন্মান লৈ উভতি আহিলোঁ৷ Mewayz ৰ দৰে এটা চিস্টেমত নিৰৱচ্ছিন্ন মডিউল সংহতি আৰু ৱৰ্কফ্ল' স্বয়ংক্ৰিয়কৰণ অভিযান্ত্ৰিকীৰ কৃতিত্ব যি জটিল, নিম্নস্তৰৰ যুক্তিৰ এটা পাহাৰৰ ওপৰত নিৰ্ভৰশীল। ফলপ্ৰসূ ব্যৱসায়িক চফট্ ৱেৰ নিৰ্মাণ কৰিবলৈ মোৰ এছেম্বলাৰ বিশেষজ্ঞ হোৱাৰ প্ৰয়োজন নাই যদিও অভিজ্ঞতাই মোক এক গুৰুত্বপূৰ্ণ দৃষ্টিভংগী দিলে। ইয়াত আমাৰ সঁজুলিবোৰৰ তলৰ স্তৰবোৰ বুজি পোৱাৰ গুৰুত্ব আলোকপাত কৰা হৈছিল, প্ৰতিদিনে সেইবোৰত কাম কৰাটো বাধ্যতামূলক নহয়, বৰঞ্চ সিহঁতে কৰা যাদুক ভালদৰে শলাগ ল’বলৈ আৰু সেই যাদু মাজে মাজে বিফল হ’লে অধিক অন্তৰ্দৃষ্টিসম্পন্ন সমস্যা সমাধানকাৰী হ’বলৈ। মোৰ প্ৰবৃত্তিবোৰ কেৱল বিফল হোৱা নাছিল; ভাল হ'বলৈ সিহঁতক তাঁৰযুক্ত কৰা হৈছিল।

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

সঘনাই সোধা প্ৰশ্ন

মোৰ এপ্লিকেচন প্ৰগ্ৰেমাৰ প্ৰবৃত্তিসমূহ বিফল যেতিয়া এছেম্বলাৰ ডিবাগিং কৰা হয়

বছৰ বছৰ ধৰি মোৰ পেছাদাৰী পৃথিৱীখন বিমূৰ্ততাৰ স্তৰৰ ওপৰত গঢ় লৈ উঠিছে। এজন আধুনিক এপ্লিকেচন প্ৰগ্ৰেমাৰ হিচাপে, মই উচ্চ-স্তৰৰ ভাষা, পৰিচালিত চলনসময়, আৰু শক্তিশালী কাঠামোৰ এটা আৰামদায়ক পৰিৱেশতন্ত্ৰত বাস কৰো। এটা শূন্য পইণ্টাৰ ব্যতিক্ৰম? ষ্টেক ট্ৰেচে মোক সমস্যাজনক লাইনটোলৈ আঙুলিয়াই দিয়ে। এটা মেমৰি লিক? জাবৰ সংগ্ৰাহকজনে সাধাৰণতে মই লক্ষ্য কৰাৰ আগতেই চম্ভালি লয়। এই বিমূৰ্তকৰণ এটা মহাশক্তি, যাৰ ফলত আমি অবিশ্বাস্য গতিৰে মেৱাইজ প্লেটফৰ্মৰ দৰে জটিল ব্যৱস্থা নিৰ্মাণ কৰিব পাৰো। কিন্তু শেহতীয়াকৈ কিছুমান লিগেচি চিষ্টেম ক’ডত গভীৰ ডুব যোৱাটোৱে—কেঁচা, অবিকৃত এছেম্বলাৰ—এই আৰামক ছিন্নভিন্ন কৰি পেলালে। এটা দশকৰ ভিতৰত নিখুঁত হোৱা মোৰ উচ্চ পৰ্যায়ৰ প্ৰবৃত্তিবোৰ কেৱল অসাৰ নাছিল; তেওঁলোকে মোক সক্ৰিয়ভাৱে বিপথে পৰিচালিত কৰি আছিল।

নিয়ন্ত্ৰণৰ ভ্ৰম আৰু খালী ধাতুৰ শ্বক

কাৰ্য্যটো যথেষ্ট সহজ যেন লাগিছিল: এটা নিৰ্দিষ্ট হাৰ্ডৱেৰ বাধা কিয় বিক্ষিপ্তভাৱে বিফল হৈছিল চিনাক্ত কৰক। মোৰ পৃথিৱীত, ইয়াৰ বাবে এটা লগ ফাইল পৰীক্ষা কৰা, এটা ফাংচন কল অনুসৰণ কৰা, বা এটা ব্ৰেকপইণ্ট নিৰ্ধাৰণ কৰা জড়িত হ'ব। মোৰ প্ৰথম প্ৰবৃত্তি আছিল এটা "কাৰ্য্য" বিচাৰি উলিওৱা। মই এছেম্বলাৰ ক'ডটো স্কেন কৰিলোঁ, এটা চিনাক্তকৰণযোগ্য আৰ্হি, এটা স্পষ্ট প্ৰৱেশ আৰু প্ৰস্থান বিন্দু বিচাৰি। ইয়াৰ পৰিৱৰ্তে, মই জাম্প নিৰ্দেশনাৰ এটা লেবিৰিন্থ (JMP, JZ) পাইছিলোঁ যিয়ে নিজৰ ওপৰত লুপ বেক কৰিছিল, ক'ডৰ সৈতে মিহলি তথ্যৰ সৈতে। পৰিদৰ্শন কৰিবলৈ কোনো ষ্টেক ফ্ৰেম নাছিল, চাবলৈ কোনো স্থানীয় চলক নাছিল। "কাৰ্য্য"ৰ ধাৰণাটোৱেই আছিল বহুত সহজ, অধিক নিষ্ঠুৰ নিয়মৰ ওপৰত চলি থকা এটা বাস্তৱতাৰ ওপৰত মই জাপি দিয়া এটা উচ্চ পৰ্যায়ৰ কল্পনা। মই স্বাভাৱিক বুলি লোৱা নিয়ন্ত্ৰণটো আছিল এক ভ্ৰম। ইয়াত, প্ৰচেছৰে মাত্ৰ পৰৱৰ্তী নিৰ্দেশনাটো এক্সিকিউট কৰিলে, এটাৰ পিছত এটাকৈ, এটা অন্ধ, অটল ফ'কাচৰ সৈতে।

যেতিয়া আপোনাৰ মগজুৰ জাবৰ সংগ্ৰাহক ভাঙি যায়

মোৰ প্ৰবৃত্তিৰ আটাইতকৈ গভীৰ বিফলতা স্মৃতিৰ আশে-পাশে ঘূৰি আছিল। জাভা বা পাইথনৰ দৰে ভাষাত মেমৰি ব্যৱস্থাপনা বহুলাংশে স্বয়ংক্ৰিয়। আপুনি এটা বস্তু সৃষ্টি কৰে, ইয়াক ব্যৱহাৰ কৰে, আৰু শেষত, চিস্টেমে মেমৰি পুনৰুদ্ধাৰ কৰে। এছেম্বলাৰত জাবৰ সংগ্ৰাহক নাথাকে। প্ৰতিটো ৰেজিষ্টাৰ আৰু মেমৰি ঠিকনা এটা বহুমূলীয়া, সসীম সম্পদ যিটো আপুনি নিখুঁতভাৱে পৰিচালনা কৰিব লাগিব। মোৰ ডিবাগিং প্ৰক্ৰিয়া এটা জটিল ভুলৰ দ্বাৰা জুৰুলা হৈছিল: মই ধৰি লৈছিলো যে মেমৰি অৱস্থা ভৱিষ্যদ্বাণীযোগ্যভাৱে থাকিব। মই এটা ৰেজিষ্টাৰত এটা মান ট্ৰেচ কৰিম, ক'ডৰ আন এটা শাখাৰ দ্বাৰা বিচলিত হ'ম, আৰু তাৰ পিছত উভতি আহিম যে ৰেজিষ্টাৰটো এটা আপাত দৃষ্টিত অসংলগ্ন কাৰ্য্যৰ দ্বাৰা অভাৰৰাইট কৰা হৈছে। মই "জাবৰ-সংগ্ৰহ কৰা" মানসিকতাৰে ডিবাগ কৰিবলৈ চেষ্টা কৰি আছিলো, পৰিৱেশে মোৰ বাবে অৱস্থা সংৰক্ষণ কৰিব বুলি আশা কৰি। এছেম্বলাৰ জগতখনে এনে কোনো সৌজন্যতা প্ৰদান নকৰে। ই প্ৰতিটো বাইটৰ এটা স্থিৰ, হাতৰ হিচাপ বিচাৰে।

কেনেকৈ চিন্তা কৰিব লাগে পুনৰ শিকিব পৰা: এটা ভিন্ন দৃষ্টিভংগীৰ মূল্য

এই হতাশাজনক অনুশীলনটো শেষত আছিল এক নম্ৰ আৰু অমূল্য শিক্ষা। মোৰ উচ্চ-স্তৰৰ অনুমানসমূহ পৰিত্যাগ কৰিবলৈ আৰু মেচিনৰ দৰে চিন্তা কৰিবলৈ বাধ্য হোৱাটো—ৰেজিষ্টাৰ আবণ্টন, ষ্টেক পইণ্টাৰ, আৰু প্ৰচেছৰ ফ্লেগসমূহৰ প্ৰতি গুৰুত্ব দিয়াটো—এটা মৌলিক ৰিছেট আছিল। ই মোক সোঁৱৰাই দিলে যে মই দৈনিক ব্যৱহাৰ কৰা সকলো শক্তিশালী সঁজুলি, ব্যৱসায়িক প্ৰক্ৰিয়াৰ অৰ্কেষ্ট্ৰেচন সৰল কৰা মেৱেজৰ দৰে প্লেটফৰ্মকে ধৰি, শেষত এই কেঁচা, যান্ত্ৰিক ভেটিৰ ওপৰত নিৰ্মিত। সেই ভেটিটো বুজিলে, মাত্ৰ অলপ হ'লেও, বিমূৰ্ততাৰ আড়ম্বৰৰ প্ৰতি গভীৰ প্ৰশংসা আৰু স্তৰসমূহৰ মাজেৰে কেতিয়াবা "লিক" হ'ব পৰা সমস্যাসমূহ নিৰ্ণয় কৰাৰ বাবে চোকা চকু প্ৰদান কৰে।

মৌলিক সন্মানৰ এটা পাঠ

এই অধ্যায়ৰ পিছত মোৰ উচ্চ পৰ্যায়ৰ প্ৰগ্ৰেমিং পৰিৱেশলৈ ঘূৰি অহাটো ঘৰলৈ অহাৰ দৰে অনুভৱ হৈছিল। কিন্তু মোৰ কাম সম্ভৱ কৰি তোলা আন্তঃগাঁথনিৰ প্ৰতি নৱীকৃত সন্মান লৈ উভতি আহিলোঁ৷ Mewayz ৰ দৰে এটা চিস্টেমত নিৰৱচ্ছিন্ন মডিউল সংহতি আৰু ৱৰ্কফ্ল' স্বয়ংক্ৰিয়কৰণ অভিযান্ত্ৰিকীৰ কৃতিত্ব যি জটিল, নিম্নস্তৰৰ যুক্তিৰ এটা পাহাৰৰ ওপৰত নিৰ্ভৰশীল। ফলপ্ৰসূ ব্যৱসায়িক চফট্ ৱেৰ নিৰ্মাণ কৰিবলৈ মোৰ এছেম্বলাৰ বিশেষজ্ঞ হোৱাৰ প্ৰয়োজন নাই যদিও অভিজ্ঞতাই মোক এক গুৰুত্বপূৰ্ণ দৃষ্টিভংগী দিলে। ইয়াত আমাৰ সঁজুলিবোৰৰ তলৰ স্তৰবোৰ বুজি পোৱাৰ গুৰুত্ব আলোকপাত কৰা হৈছিল, প্ৰতিদিনে সেইবোৰত কাম কৰাটো বাধ্যতামূলক নহয়, বৰঞ্চ সিহঁতে কৰা যাদুক ভালদৰে শলাগ ল’বলৈ আৰু সেই যাদু মাজে মাজে বিফল হ’লে অধিক অন্তৰ্দৃষ্টিসম্পন্ন সমস্যা সমাধানকাৰী হ’বলৈ। মোৰ প্ৰবৃত্তিবোৰ কেৱল বিফল হোৱা নাছিল; ভাল হ'বলৈ সিহঁতক তাঁৰযুক্ত কৰা হৈছিল।

আপোনাৰ কাৰ্য্যসমূহ সৰল কৰিবলে প্ৰস্তুত?

আপুনি CRM, চালান, HR, বা সকলো 208 মডিউলৰ প্ৰয়োজন নেকি — Mewayz এ আপোনাক সামৰি লৈছে। ইতিমধ্যে ১৩৮K+ ব্যৱসায়ীয়ে এই চুইচটো কৰিছে।

বিনামূলীয়াকৈ আৰম্ভ কৰক →