ইউনিট
1. মোবাইল ডেভেলপমেন্টে এআই-এর ভূমিকা: ভূমিকা, সীমানা, প্রমাণীকরণ এবং নিরাপত্তা 2. কৃত্রিম বুদ্ধিমত্তা সহ মোবাইল কোড জেনারেশন: কোটলিন, সুইফট এবং ক্রস-প্ল্যাটফর্ম উন্নয়ন 3. কৃত্রিম বুদ্ধিমত্তা সহ ইন্টারফেস ডিজাইন এবং UI কোড জেনারেশন 4. অন-ডিভাইস এআই: কোর এমএল, টেনসরফ্লো লাইট এবং এমএল কিট 5. ক্লাউড এআই এবং এলএলএম এপিআই ইন্টিগ্রেশন: চ্যাট, ফ্লো এবং নিরাপত্তা 6. কৃত্রিম বুদ্ধিমত্তা সহ পরীক্ষা প্রজন্ম: ইউনিট, ইন্টারফেস এবং অটোমেশন পরীক্ষা 7. কৃত্রিম বুদ্ধিমত্তা দিয়ে ডিবাগিং এবং ক্র্যাশ বিশ্লেষণ 8. কর্মক্ষমতা এবং ব্যাটারি অপ্টিমাইজেশান: কৃত্রিম বুদ্ধিমত্তা সহ দ্রুত এবং দক্ষ অ্যাপ্লিকেশন 9. গোপনীয়তা, অনুমতি এবং নিরাপদ ব্যবহার 10. স্টোর রিলিজ: অ্যাপ স্টোর, গুগল প্লে এবং এআই সামঞ্জস্যপূর্ণ 11. এন্ড-টু-এন্ড প্রজেক্ট, কৃত্রিম বুদ্ধিমত্তার দায়িত্বশীল ব্যবহার এবং পেশায় রোডম্যাপ
ইউনিট 7 / 11

কৃত্রিম বুদ্ধিমত্তা দিয়ে ডিবাগিং এবং ক্র্যাশ বিশ্লেষণ

লাভ:

  • প্রাসঙ্গিক কোড এবং দৃশ্যের প্রসঙ্গ সহ কৃত্রিম বুদ্ধিমত্তায় ক্র্যাশ রেকর্ড (স্ট্যাক ট্রেস) দিয়ে সম্ভাব্য মূল কারণগুলিকে দ্রুত সংকুচিত করার ক্ষমতা
  • কোডে একটি হাইপোথিসিস হিসাবে AI এর নির্ণয়ের বৈধতা দেওয়ার পরিবর্তে এবং উপসর্গটি পরীক্ষা এবং নীরব করার পরিবর্তে মূল কারণটি স্থায়ীভাবে সমাধান করার ক্ষমতা
  • ক্র্যাশ রেকর্ড এবং লগগুলিতে ব্যক্তিগত ডেটা মাস্ক করে ডিবাগ করার সময় গোপনীয়তা রক্ষা করা

প্রতিটি অ্যাপ্লিকেশন ত্রুটি দেয়; একজন ভালো ডেভেলপারকে যা আলাদা করে তা হল তারা কত দ্রুত বাগ খুঁজে পায় এবং ঠিক করে। মোবাইল ডিবাগিং - একটি সমস্যার উত্স খুঁজে বের করা এবং ঠিক করা - বিশেষত কঠিন কারণ ব্যবহারকারীর ডিভাইসে ত্রুটিটি ঘটে, এমন একটি পরিবেশে যা আপনি দেখতে পাচ্ছেন না৷ বেশিরভাগ সময়, আপনার কাছে একটি ক্র্যাশ লগ থাকে (ক্র্যাশ লগ / স্ট্যাক ট্রেস - এটি ক্র্যাশ হওয়ার সময় অ্যাপ্লিকেশনটি কোথায় গিয়েছিল তার একটি প্রযুক্তিগত ব্রেকডাউন)। AI এই গোপন রেকর্ডগুলি পড়তে, সম্ভাব্য কারণগুলি তালিকাভুক্ত করতে এবং সমাধানগুলি প্রস্তাব করার ক্ষেত্রে অত্যন্ত শক্তিশালী। এই ইউনিটে আমরা শিখব কিভাবে AI কে একটি "বাগ ডিটেকটিভ" হিসাবে ব্যবহার করতে হয় কিন্তু চূড়ান্ত নির্ণয় ও সমাধান যাচাই করার দায়িত্ব আপনার উপর ছেড়ে দেওয়া হয়।

ক্র্যাশ লগ পড়া: যেখানে AI সবচেয়ে উজ্জ্বল হয়

একটি ক্র্যাশ লগ একটি দীর্ঘ এবং ভীতিকর পাঠ্য; অনভিজ্ঞ বিকাশকারী কোথায় দেখতে হবে তা জানেন না। AI এই পাঠ্যটিকে সেকেন্ডের মধ্যে পার্স করে: কোন লাইনে এটি ক্র্যাশ হয়েছে, কোন ব্যতিক্রমটি নিক্ষেপ করা হয়েছিল, সম্ভাব্য কারণ কী। সাধারণ মোবাইল ত্রুটিগুলি সুস্পষ্ট এবং এআই দ্রুত সেগুলি সনাক্ত করে: NullPointerException (একটি শূন্য মান অ্যাক্সেস করার চেষ্টা করছে), IndexOutOfBoundsException (একটি অস্তিত্বহীন তালিকা উপাদান অ্যাক্সেস করা), iOS-এ EXC_BAD_ACCESS (মুক্ত মেমরি অ্যাক্সেস করা), iOS-এ অপ্রত্যাশিতভাবে একটি বিকল্প পাওয়া গেছে।

মোবাইল ক্র্যাশের সবচেয়ে সাধারণ প্রকার এবং তাদের সাধারণ কারণগুলি নিম্নরূপ:

ত্রুটি (ব্যতিক্রম)

প্ল্যাটফর্ম

সাধারণ কারণ

NullPointerException

অ্যান্ড্রয়েড

একটি শূন্য মান অ্যাক্সেস করা হচ্ছে

IndexOutOfBoundsException

অ্যান্ড্রয়েড

অস্তিত্বহীন তালিকা উপাদান অ্যাক্সেস করা হচ্ছে

অপ্রত্যাশিতভাবে শূন্য পাওয়া গেছে

iOS

একটি শূন্য ঐচ্ছিক (!) খুলতে বাধ্য করুন

EXC_BAD_ACCESS

iOS

মুক্ত মেমরি অ্যাক্সেস করা হচ্ছে

ANR/ফ্রিজ

অ্যান্ড্রয়েড

প্রধান থ্রেডে দীর্ঘ/ভারী প্রক্রিয়াকরণ

ধাপে ধাপে ডিবাগিং প্রবাহ:

  1. রেকর্ড সংগ্রহ করুন। ক্র্যাশ লগ, ত্রুটি বার্তা এবং সম্ভব হলে পুনরুত্পাদন করার পদক্ষেপগুলি একসাথে রাখুন।
  2. এআই প্রসঙ্গ দিন। আমাকে শুধু ত্রুটি নয়, কোডের প্রাসঙ্গিক অংশ এবং এটি কী করছে তা বলুন।
  3. সম্ভাব্য কারণগুলির জন্য জিজ্ঞাসা করুন। "আমাকে 3টি সম্ভাব্য কারণ এবং প্রতিটি যাচাই করার উপায় বলুন।"
  4. যাচাই করুন। কোড এবং পরীক্ষায় প্রস্তাবিত কারণ নিশ্চিত করুন; অনুমান করে ঠিক করবেন না।
  5. এটি ঠিক করুন এবং আবার পরীক্ষা করুন। পরীক্ষা করুন যে ত্রুটিটি আসলে চলে গেছে এবং কোন নতুন ত্রুটি তৈরি হয়নি।
পরামর্শ: AI-তে ক্র্যাশ লগ দেওয়ার সময়, প্রাসঙ্গিক কোড স্নিপেটও অন্তর্ভুক্ত করুন। শুধুমাত্র স্ট্যাক ট্রেস দিয়ে এআই সাধারণ ভবিষ্যদ্বাণী করে; আপনি যখন কোডটি দেখেন, তখন সঠিক লাইন এবং আসল কারণ খুঁজে পাওয়ার সম্ভাবনা অনেক বেড়ে যায়। প্রসঙ্গ রোগ নির্ণয়ের গুণমান নির্ধারণ করে।

ব্যক্তিগত তথ্য ফাঁদ

ক্র্যাশ লগ এবং লগগুলিতে প্রায়শই ব্যবহারকারীর ডেটা থাকে: ইমেল, ব্যবহারকারীর আইডি, অবস্থান, এমনকি ফর্ম সামগ্রী। এই রেকর্ডটিকে AI-তে পেস্ট করা তৃতীয় পক্ষের কাছে ব্যক্তিগত ডেটা ফাঁস করা এবং KVKK/GDPR-এর লঙ্ঘন। রেকর্ডিং জমা দেওয়ার আগে ব্যক্তিগত এলাকা পরিষ্কার করুন (মাস্ক)। এছাড়াও, শুরু থেকেই আপনার অ্যাপ্লিকেশনের লগগুলিতে ব্যক্তিগত ডেটা না লিখতে সতর্ক থাকুন; একটি ভাল লগ সমস্যা বর্ণনা করে কিন্তু পরিচয় প্রকাশ করে না।

সতর্কতা: AI দ্বারা প্রস্তাবিত সমাধান "বাগটিকে নীরব" করতে পারে তবে মূল কারণটি সমাধান করতে পারে না। উদাহরণস্বরূপ, একটি NullPointerException একটি নাল চেক দিয়ে মোড়ানো ক্র্যাশ বন্ধ করবে, কিন্তু আপনি যদি বুঝতে না পারেন কেন মানটি শূন্য তা প্রকৃত যুক্তি ত্রুটি অব্যাহত থাকবে। রোগের চিকিৎসা করুন, লক্ষণ নয়।

মূল কারণ বিশ্লেষণ

পেশাদার ডিবাগিংয়ের লক্ষ্য ত্রুটিটি নীরব করা নয় বরং মূল কারণ খুঁজে বের করা। আমি AI কে জিজ্ঞাসা করলাম "কেন এটি শূন্য হতে পারে, এটি ডেটা প্রবাহে কোথায় হারিয়ে যেতে পারে?" জিজ্ঞেস করলো, "এটা কিভাবে চুপ করবো?" এটি জিজ্ঞাসা করার চেয়ে অনেক বেশি মূল্যবান। একবার মূল কারণ খুঁজে পাওয়া গেলে, একই ত্রুটির কয়েক ডজন বৈচিত্র একবারে সমাধান করা হয়। এআই এই চেইন যুক্তিতে ভাল: ইনপুট থেকে আউটপুট পর্যন্ত ডেটা অনুসরণ করুন এবং এটি কোথায় ভেঙে যায় সে সম্পর্কে চিন্তা করতে বলুন।

তিনটি মিনি কেস

কেস 1 — 10 মিনিটে 2 ঘন্টা কাজ। একজন বিকাশকারী একটি বাগ অনুসন্ধান করতে 2 ঘন্টা ব্যয় করেছে যা শুধুমাত্র একটি নির্দিষ্ট Samsung মডেলে ক্র্যাশ হয়েছে৷ AI-তে ক্র্যাশ লগ (ব্যক্তিগত এলাকা পরিষ্কার করা) দেওয়া হয়েছে; YZ বলেছেন যে ত্রুটিটি একটি মেমরি ওভারফ্লোকে নির্দেশ করে যা সেই ডিভাইসের একটি ভিন্ন ক্যামেরা রেজোলিউশনের সাথে ঘটে। ক্লু দিয়ে, 10 মিনিটের মধ্যে কারণটি পাওয়া গেল। এআই অনুসন্ধানকে ত্বরান্বিত করেছে, মানুষ সমাধানটি যাচাই করেছে।

কেস 2 — নীরব বাগ ফিরে এসেছে। একটি দল এটিকে ধরার জন্য একটি AI পরামর্শ ব্যবহার করে পুনরাবৃত্ত ক্র্যাশকে চুপ করে দিয়েছে। ক্র্যাশিং বন্ধ হয়ে গেছে, কিন্তু ব্যবহারকারীরা অভিযোগ করতে শুরু করেছে যে "ডেটা সেভ হচ্ছে না"; কারণ আসল সমস্যা (ডাটাবেস সংযোগ) এখনও সেখানে ছিল, এটি কেবল অদৃশ্য হয়ে গেছে। একবার মূল কারণ পাওয়া গেলে, ক্র্যাশ এবং ডেটা ক্ষতি উভয়ই সমাধান করা হয়েছিল। পাঠ: নীরবতা সমাধান নয়।

কেস 3 - লগ ইন ডেটা ফাঁস. একটি নিরীক্ষায় দেখা গেছে যে অ্যাপের ক্র্যাশ লগগুলিতে ব্যবহারকারীদের পুরো নাম এবং ফোন নম্বর লেখা ছিল। বিকাশকারীরা নিয়মিতভাবে এই লগগুলি AI-তে পেস্ট করে এবং বাগগুলি সংশোধন করে; তাই কয়েক মাস ধরে ব্যক্তিগত তথ্য বেরিয়ে আসছে। লগগুলি মুখোশ করা হয়েছিল এবং প্রক্রিয়াটি সংশোধন করা হয়েছিল। পাঠ: ডিবাগ করার সময়ও গোপনীয়তা প্রযোজ্য।

দুর্বল প্রম্পট / শক্তিশালী প্রম্পট

দুর্বল প্রম্পট: "কেন এই ত্রুটি ঘটবে? [স্ট্যাক ট্রেস]"

শক্তিশালী প্রম্পট: "এই ক্র্যাশটি আমার অ্যান্ড্রয়েড অ্যাপে ঘটছে। প্রসঙ্গ:- করার সময়: ব্যবহারকারী পণ্যের বিশদ থেকে কার্টে যোগ করছেন- শুধুমাত্র কিছু ডিভাইসে, কম র‌্যাম মডেল- সম্পর্কিত কোড: [ভিউমডেল এবং রিপোজিটরি অংশ]- ক্র্যাশ লগ (ব্যক্তিগত ডেটা সাফ করা হয়েছে): [স্ট্যাক ট্রেস] 3টি সম্ভাব্য মূল কারণের তালিকা করুন: প্রতিটির জন্য 1টি মূল কারণ ঠিক করুন। (নিঃশব্দ নয়) যেখানে আপনি নিশ্চিত নন আপনার অনুমানটি বলুন।"

অনুলিপিযোগ্য টেমপ্লেট

ক্র্যাশ বিশ্লেষণ টেমপ্লেট:"নিম্নলিখিত ক্র্যাশ বিশ্লেষণ করুন। প্রসঙ্গ: [আপনি কি করছেন, কোন ডিভাইস/সংস্করণ]। প্রাসঙ্গিক কোড: [কোড]। ক্র্যাশ লগ (ব্যক্তিগত ডেটা সাফ করা হয়েছে): [ট্রেস]। 3টি সম্ভাব্য মূল কারণ এবং যাচাইকরণ + প্রতিটির স্থায়ী সমাধান দিন। এছাড়াও সেই নীরবতার সমাধানগুলি চিহ্নিত করুন।"

মূল কারণ টেমপ্লেট: "এই মানটি অপ্রত্যাশিতভাবে [নাল/মিথ্যা] আসে। ইনপুট থেকে এই বিন্দু পর্যন্ত ডেটা প্রবাহ অনুসরণ করুন: এটি কোথায় হারিয়ে যেতে পারে বা নষ্ট হতে পারে? প্রতিটি পর্যায়ে আমার কোথায় পরীক্ষা করা উচিত তা আমাকে বলুন। [কোড]"

লগ রিডিং টেমপ্লেট: "এই লগ আউটপুটটি ব্যাখ্যা করুন: কোন ঘটনাগুলি ক্রমানুসারে ঘটেছে, অস্বাভাবিকতা কোথায়, ত্রুটির আগে শেষ সুস্থ পদক্ষেপটি কী ছিল? [লগ — ব্যক্তিগত ডেটা সাফ করা হয়েছে]"

পুনরুত্পাদন টেমপ্লেট: "এই ত্রুটিটি নির্ভরযোগ্যভাবে পুনরুত্পাদন করার জন্য আমার কী পদক্ষেপ, ডিভাইসের অবস্থা এবং ডেটা চেষ্টা করা উচিত? সম্ভাব্যতার ক্রম অনুসারে ত্রুটিটি ট্রিগার করতে পারে এমন শর্তগুলির তালিকা করুন৷ [বর্ণনা]"

সাধারণ ভুল

  • প্রসঙ্গ-মুক্ত স্ট্যাক ট্রেস দেওয়া। প্রাসঙ্গিক কোড এবং দৃশ্যকল্প ছাড়া, AI সাধারণ ভবিষ্যদ্বাণী করে।
  • লগ সহ AI-তে ব্যক্তিগত ডেটা আটকানো। গোপনীয়তা লঙ্ঘন; প্রথমে মুখোশ।
  • উপসর্গ চুপ. ট্রাই-ক্যাচ দিয়ে ক্র্যাশ লুকিয়ে রাখলে মূল সমস্যা থেকে যায় এবং নতুন সমস্যা তৈরি হয়।
  • প্রথম পরামর্শটি যাচাই না করেই প্রয়োগ করা। এআই এর নির্ণয় একটি অনুমান; কোডে নিশ্চিত করুন।
  • এমুলেটরে এটি পুনরুত্পাদন করার চেষ্টা করছে। কিছু ত্রুটি শুধুমাত্র প্রকৃত ডিভাইস/কন্ডিশনে দেখা যায়।
  • সংশোধনের পর পুনরায় পরীক্ষা না করা। ফিক্স অন্য কিছু ভেঙ্গে থাকতে পারে; রিগ্রেশন চেক করুন।

সংক্ষেপে

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

আবেদন টাস্ক

আপনার কাছে একটি ক্র্যাশ লগ নিন (অথবা আপনি AI থেকে যে নমুনা তৈরি করেছেন), এতে যেকোন ব্যক্তিগত/স্বাতন্ত্র্যসূচক ডেটা মাস্ক করুন এবং "ক্র্যাশ বিশ্লেষণ টেমপ্লেট" সহ AI-কে দিন৷ AI তালিকার মূল কারণগুলির মধ্যে কোনটি প্রকৃত সংশোধন এবং কোনটি কেবল নীরবতা রয়েছে তা পার্থক্য করুন। আপনার বেছে নেওয়া স্থায়ী সমাধানটি প্রয়োগ করুন এবং যাচাই করুন যে ত্রুটিটি চলে গেছে এবং কোনো নতুন সমস্যা দেখা দেয় না।

চেকলিস্ট

  • [ ] আমি প্রাসঙ্গিক কোড এবং দৃশ্যের প্রসঙ্গ সহ ক্র্যাশ লগ দিয়েছি
  • [ ] আমি লগগুলিতে ব্যক্তিগত/স্বাতন্ত্র্যসূচক ডেটা মাস্ক করেছি৷
  • [ ] আমি AI কে মূল কারণ এবং স্থায়ী সমাধানের জন্য জিজ্ঞাসা করেছি, নীরবতা নয়
  • [ ] আমি কোড এবং পরীক্ষায় রোগ নির্ণয় যাচাই করেছি, আমি অন্ধভাবে এটি প্রয়োগ করিনি
  • [ ] ফিক্স করার পরে, আমি পরীক্ষা করেছি যে ত্রুটিটি চলে গেছে এবং কোন রিগ্রেশন ছিল না
  • [ ] আমি পরীক্ষা করে দেখেছি যে আমার অ্যাপ্লিকেশনটি তার লগগুলিতে ব্যক্তিগত ডেটা লেখে না৷