এই পৃষ্ঠায় Google সিজন অফ ডক্সের জন্য গৃহীত প্রযুক্তিগত লেখার প্রকল্পের বিশদ বিবরণ রয়েছে৷
প্রকল্পের সারাংশ
- ওপেন সোর্স সংস্থা:
- ম্যাটপ্লটলিব
- প্রযুক্তিগত লেখক:
- জেরোমেভ
- প্রকল্পের নাম:
- Matplotlib এন্ট্রি পাথ উন্নয়ন করা
- প্রকল্পের দৈর্ঘ্য:
- স্ট্যান্ডার্ড দৈর্ঘ্য (3 মাস)
প্রকল্পের বিবরণ
ভূমিকা
ডক্সের এই বছরের Google সিজনের জন্য Matplotlib-এর প্রজেক্টের পরামর্শে এমন সামগ্রী তৈরি করা জড়িত যা Matplotlib কে নতুন ব্যবহারকারীদের সাথে পরিচয় করিয়ে দিতে সাহায্য করে৷ Matplotlib এন্ট্রি পাথের বিকাশের জন্য, আমি বর্তমান ডকুমেন্টেশনের বিকল্প পদ্ধতির প্রস্তাব করি। আমি শিল্পের একজন নতুন প্রযুক্তিগত লেখক; তবে, আমার পটভূমি শিক্ষা এবং শিক্ষা-সংলগ্ন ক্ষেত্রে। কারিগরি লেখা এবং শিক্ষার দৃঢ় সমান্তরাল রয়েছে যা এমন সামগ্রী তৈরিতে ফোকাস করে যা ব্যবহারকারীদের প্রদত্ত সংস্থানগুলির সাথে তাদের কাজগুলি সম্পন্ন করতে সহানুভূতি দেয় এবং সক্ষম করে।
এই প্রসঙ্গে, Matplotlib ডকুমেন্টেশন নতুন ব্যবহারকারীদের প্রতি সহানুভূতিশীলতার উন্নতির সাথে উপকৃত হবে। এই মুহুর্তে বেশিরভাগ উপাদান এলোমেলো ডেটা এবং লেবেলবিহীন ভিজ্যুয়াল নিয়ে গঠিত। ম্যাটপ্লটলিবের ভিজ্যুয়াল এবং বৈশিষ্ট্যগুলি দ্রুত প্রদর্শনের জন্য এগুলি দুর্দান্ত। যাইহোক, Matplotlib-এ নতুন কারো ব্যবহারের ক্ষেত্রে, ভিজ্যুয়ালে ডেটার রূপান্তরকে অতিক্রম করা চ্যালেঞ্জিং।
একটি ব্যাখ্যামূলক পদ্ধতির একটি প্রসঙ্গ এই বাধার একটি সমাধান। একটি বাস্তব বিশ্বের উদাহরণের লেন্সের মাধ্যমে একটি পদ্ধতি লেখার মাধ্যমে, আমরা একজন ব্যবহারকারী কাজ করে এমন পরিবেশ সম্পর্কে বোঝাপড়া প্রদর্শন করছি। এটি একটি লক্ষ্যে পৌঁছানো বা একটি কাজ সম্পন্ন করার প্রত্যাশার ক্ষেত্রে ডকুমেন্টেশন এবং ব্যবহারকারীর সম্পর্ক উন্নত করে।
একজন ব্যবহারকারীর একটি সামঞ্জস্যপূর্ণ উদ্ভূত উদ্দেশ্য রয়েছে, উদাহরণস্বরূপ, একটি জুতা কোম্পানির একজন ডেটা বিজ্ঞানীকে সময়ের সাথে কেনাকাটার প্রবণতা চিত্রিত করার জন্য একটি দলের কাছে গ্রাহকের ডেটা উপস্থাপন করতে হবে। এই পরিস্থিতিতে, ব্যবহারকারীকে অবশ্যই ম্যাটপ্লটলিব নেভিগেট করতে শিখতে হবে এবং হাতে থাকা কাজটি সম্পূর্ণ করতে লাইব্রেরির মধ্যে থাকা সরঞ্জামগুলির সুবিধা নিতে হবে।
ডকুমেন্টেশন সমর্থন করার জন্য অতিরিক্ত প্রেক্ষাপট সহ, একজন নতুন ব্যবহারকারী বিষয়টির সাথে সনাক্ত করতে আরও সক্ষম হতে পারে। ব্যবহারকারীর উদ্ভূত উদ্দেশ্য ডকুমেন্টেশনের সমান্তরাল। 2017 সালে একটি সাক্ষাত্কারে লিড ডেভেলপার টম ক্যাসওয়েল যে দৃষ্টিভঙ্গি নিয়ে আলোচনা করেছিলেন আমি সেই দৃষ্টিভঙ্গির দিকে কাজ করার আশা করি যে “আসলে লিখতে পারে এবং ব্যবহারকারীদের প্রতি সহানুভূতি রয়েছে, মূলত একটি 200-পৃষ্ঠার 'Intro to Matplotlib' বই লিখতে পারে, এবং এটি ডক্সের প্রধান এন্ট্রি হতে হবে।"
এক্সপোজিটরি রাইটিং এর বিকল্প পদ্ধতি
বর্তমান ডকুমেন্টেশন ম্যাটপ্লোটলিবের বৈশিষ্ট্যগুলি প্রদর্শন করে, যেমন একজন ব্যবহারকারী লাইব্রেরির সাথে করতে সক্ষম। উদাহরণস্বরূপ, একটি টিউটোরিয়াল প্রায়ই প্যাটার্ন অনুসরণ করে যা অন্তর্নিহিত পদ্ধতির ব্যাখ্যা জড়িত নয়।
{what the method does} -> {parameters} -> {returns} -> {related links} -> {examples}
প্রায়শই প্রোগ্রামিং ডকুমেন্টেশন এবং সমর্থন সহ, একজন ব্যবহারকারীকে কী ঘটবে তা বোঝার জন্য তাদের নিজেরাই কোড চালানোর পরামর্শ দেওয়া হয়। যদিও একটি প্রোগ্রামিং মানসিকতা বিষয়টি সম্পর্কে ব্যবহারকারীর বোঝার উন্নতি করে, তবে রূপান্তরের জন্য শেখার বক্ররেখায় খুব কম সহায়ক বিষয়বস্তু থাকে। ডকুমেন্টেশন সীমিত হওয়ায় এটি একটি অপ্রতিরোধ্য চ্যালেঞ্জ হতে পারে।
অতিরিক্ত ডায়াগ্রাম, ছবি বা অন্যান্য ভিজ্যুয়াল প্রদান করা নতুন শেখার সুযোগ তৈরি করতে সাহায্য করবে। নীচের কাঠামোটি নতুন বিষয়বস্তুর জন্য একটি টেমপ্লেট হিসাবেও ভাল কাজ করবে। এছাড়াও, নন-টেক্সচুয়াল ইমেজ বা গ্রাফিক্স যোগ করার বিষয়টি কলআউট এবং কোচমার্কের মতো বৈশিষ্ট্য থেকে উপকৃত হতে পারে। এমন কিছু সময় আছে যেখানে কোডটি কীভাবে বা কোথায় কার্যকর করা আউটপুটে রূপান্তরিত হয় তার ইঙ্গিত ছাড়াই চিত্রগুলি নেভিগেট করা কঠিন। আমি বিশ্বাস করি যে একটি শক্তিশালী ভিজ্যুয়াল উপাদান অনুপস্থিত আছে যা বিষয়গুলির একটি বৃহত্তর বোঝার উত্সাহ দিতে পারে।
{method explanation} -> {expository use case/scenario} -> {sample code} -> {parameters} -> {returns} -> {additional examples} -> {informational topic/subject affinity links}
ডকুমেন্টেশনের জন্য এক্সপোজিটরি রাইটিং ব্যবহার করার এই বিকল্প পদ্ধতিতে ব্যাপক সম্ভাবনা রয়েছে। ব্যবহারকারীরা রূপান্তরের জন্য বিভিন্ন ধারণা দেখে, তারা ডেটাতে ভিজ্যুয়ালাইজেশন বিকাশের অন্তর্নিহিত কৌশলগুলি আরও ভালভাবে সনাক্ত করতে সক্ষম হবে। এই জ্ঞান ব্যবহারকারীদের উদ্ভাবন করতে এবং বাস্তবসম্মত ব্যবহারের ক্ষেত্রে উদাহরণগুলির দ্বারা উপস্থাপিত বৈশিষ্ট্যগুলির সুবিধা নিতে সাহায্য করতে পারে।
ম্যাটপ্লটলিব জনপ্রিয়তা বাড়ার সাথে সাথে, ব্যবহারের সহজে সামঞ্জস্য এবং সহজলভ্যতা লাইব্রেরির সুনামের প্রমাণ। এই বৈশিষ্ট্যগুলি নিদর্শন এবং সাধারণ কৌশলগুলি প্রদর্শন করতে নিজেদেরকে ধার দেয় যা শুধুমাত্র কোডের মধ্যেই নয়, ডকুমেন্টেশনের মধ্যেও দেখা যায়। যদি ম্যাটপ্লটলিব ব্যবহারকারীদের প্রোগ্রাম করার জন্য সহজবোধ্য এবং মানক হয়, যেমনটি এর ক্রমবর্ধমান ব্যবহার এবং সম্প্রসারণ সংস্থানগুলির মধ্যে স্পষ্ট, এটি প্রযুক্তিগত ডকুমেন্টেশনের জন্যও সেই উপায় হতে পারে।
যখন ব্যবহারকারীরা সমস্যার সম্মুখীন হন, তখন তাদের সমাধান করার জন্য অনুসন্ধান ব্যবহার করা সাধারণ। ন্যাভিগেশনের প্রাথমিক পদ্ধতি হিসাবে অনুসন্ধানের উপর নির্ভর করার পরিবর্তে, ব্যবহারকারীদের ডকুমেন্টেশনের মধ্যে তাদের নিজস্ব পাঠ্যক্রম তৈরি করা আরও কার্যকর হতে পারে। এই অর্থে, একজন ব্যবহারকারী তাদের সমস্যার সমাধানের জন্য অনুসন্ধান করে, তারপর যখন তারা অন্য সমস্যার সম্মুখীন হয় বা অতিরিক্ত তথ্য চায়, তখন তারা এমবেডেড এবং পুঙ্খানুপুঙ্খ লিঙ্কগুলি ব্যবহার করবে।
এটি সাংগঠনিক ব্যবস্থায় একটি বটম-আপ আর্কিটেকচারকে জড়িত করবে। Matplotlib-এর মধ্যে প্রতিটি বিষয়ের জন্য, বিষয়ের সম্বন্ধের পাশাপাশি তথ্যমূলক বিষয়গুলির লিঙ্কগুলির একটি সমৃদ্ধ নেটওয়ার্ক একটি শক্তিশালী নেটওয়ার্ক তৈরি করতে সাহায্য করবে। এই নেটওয়ার্ক জুড়ে, একজন ব্যবহারকারী তাদের বিষয়ে নেভিগেট করার সাথে সাথে ডকুমেন্টেশন ব্যবহার চালিয়ে যাওয়ার সম্ভাবনা বেশি থাকবে এবং সেই বিষয় সম্পর্কিত আরও এবং আরও তথ্য অন্বেষণ করবে।
বাধা
এর মতো ব্যাপক এবং বিস্তারিত একটি প্রকল্পের সাথে সবসময় চ্যালেঞ্জ থাকে। শিল্পের একজন নতুন প্রযুক্তিগত লেখক হিসেবে, ডকুমেন্টেশন লেখার জন্য স্ফিংস এবং রেস্ট ব্যবহার করার অভিজ্ঞতা আমার সীমিত আছে। ম্যাটপ্লটলিবের পাশাপাশি গিট-এর ক্ষেত্রেও আমি একজন শিক্ষানবিস। এই চারটি সিস্টেমকে মোকাবেলা করা এবং সহযোগিতা ও গবেষণার জন্য এগুলি ব্যবহারে স্বাচ্ছন্দ্য বোধ করতে সময় লাগবে। এন্ট্রি লেভেল পাথের জন্য প্রয়োজনীয় ভিত্তি তৈরি করার জন্য আমাকে কমিউনিটি বন্ধন পর্বের সময় এবং তার আগে সময় অর্পণ করতে হবে। এই সময়ের মধ্যে, যদি আমার ধারণা এবং মৌলিক বিষয়ে সমস্যা হয়, তাহলে আমাকে অতিরিক্ত সহায়তার জন্য সম্প্রদায়ের কাছে পৌঁছাতে হবে।
টাইম জোন এবং অনলাইন প্ল্যাটফর্ম জুড়ে সহযোগিতামূলক প্রচেষ্টার সমন্বয় করাও কিছু সমন্বয় করতে হবে। যোগাযোগের বিভিন্ন উপায় রয়েছে যা সমগ্র শিল্প জুড়ে লোকেরা ব্যবহার করে, তাই এটি নিশ্চিত করার বিষয় যে আমি সমস্ত মাধ্যমে অ্যাক্সেসযোগ্য এবং অ্যাক্সেসযোগ্য। আমি জুড়ে আমার বিভিন্ন প্রত্যাশার অগ্রাধিকারে স্বচ্ছ হব। যদিও আমি কেবলমাত্র শিল্পে এই ধরনের কাজ নেওয়ার সাথে শুরু করছি, আমি নিজেকে দায়বদ্ধ রাখতে এবং প্রতিক্রিয়া ও সমালোচনার জন্য উন্মুক্ত থাকার জন্য বিনিয়োগ করছি। আমি মনে করি এই গুণাবলী ক্ষেত্র নির্বিশেষে মূল্যবান।
এছাড়াও, ব্যবহারযোগ্যতা পরীক্ষার বৃদ্ধি ডকুমেন্টেশনের একটি বিভাগ যা আমি বিশ্বাস করি ম্যাটপ্লটলিবের প্রবেশ পথগুলিকে উপকৃত করবে। বিষয়বস্তু সম্পর্কিত ব্যবহারযোগ্যতার জন্য সমীক্ষা পরিচালনা করা একটি ব্যবহারকারীর প্রোফাইল প্রদানের একটি উদ্দেশ্য করে, যেমন ব্যক্তিত্ব। তথ্য যেমন একজন ব্যবহারকারীর অভিজ্ঞতা, তাদের শিল্প, এবং সমস্যা সমাধানের ইতিহাস মূল্যবান। এই টুকরা পদ্ধতির পিছনে ভাষা গঠন করতে সাহায্য করে। লেখালেখি যখন তাদের স্তরে পাঠকদের সাথে দেখা করে, তখন বিষয়বস্তু সম্পূর্ণরূপে নির্দেশনামূলক কাজ করার বাইরে পরিপক্ক হয়।
বড় সংগ্রাম প্রায়শই ব্যবহারযোগ্যতা পরীক্ষার একটি চলমান অনুশীলন তৈরি করে থাকে। কন্টেন্ট ডেভেলপমেন্টের সময় পরীক্ষার একটি একক উদাহরণ থাকা খুবই সাধারণ ব্যাপার। নিয়মিত ব্যবহারযোগ্যতা পরীক্ষা বিষয়বস্তুর বিবরণ চালনা করতে সাহায্য করে। ম্যাটপ্লটলিব সম্প্রদায়ের সাথে একটি সময়সূচী সেটআপ করা বা পুনরাবৃত্তিমূলক ব্যবহারযোগ্যতা পরীক্ষা করা আমার আশা হবে।
উপসংহার
আমার অবসর সময়ে পাইথনের পাশাপাশি ম্যাটপ্লটলিব ব্যবহার করার সামান্য অভিজ্ঞতা আছে। গত কয়েক মাসে আমি নিজেকে যে পরিমাণ শিখিয়েছি তা বর্তমান ডকুমেন্টেশন এবং আমার নিজের কৌতূহলের সমর্থনে ছিল। সেই সময়ে আমার হাতে বেশ কিছু ভিডিও এবং পরামর্শদাতা ছিল। আমি এখনও অনেক কিছু শিখতে পেরেছি এবং উন্নতির জন্য আরও অনেক জায়গা আছে কারণ আমি আমার আগ্রহের প্রোগ্রামিং এর নিজস্ব পাঠ্যক্রম তৈরি করি।
GSoD এর জন্য Matplotlib এবং সম্প্রদায়ের ধারণাগুলি দেখার পরে, আমি মনে করি যে এটি একটি দুর্দান্ত ক্রমবর্ধমান অভিজ্ঞতা হবে একজন প্রযুক্তিগত লেখক হিসাবে আমার দক্ষতার উন্নতি করা এবং নেপথ্যের লোকদের কাছ থেকে আরও শেখার সুযোগ পাব। আমি অনুভব করেছি যে এই ম্যাটপ্লটলিব প্রকল্পটি অর্থবহ এবং এমন কিছু যা আমি আদর্শের প্রতি আগ্রহী।
ব্যবহারের নির্দেশিকাগুলির একটি ওভারহল নিয়ে কাজ করার জন্য, প্রযুক্তিগত লেখক হিসাবে আমার লক্ষ্য হল ব্যবহারকারীদের উপলব্ধ বৈশিষ্ট্যগুলির দ্বারা অভিভূত না হয়ে তারা যে কাজগুলি করতে চান তা সম্পন্ন করতে সহায়তা করা৷ আমি বিশ্বাস করি যে সেরা ডকুমেন্টেশনগুলি ক্রমাগত বৃদ্ধি পাবে এবং ব্যবহারকারীদের সাথে খাপ খাইয়ে নেবে এবং যেকোনো ব্যবহারকারীকে তাদের নিজস্ব সমাধানগুলিতে নেভিগেট করার অনুমতি দেবে।