উইকিফাংশন: বৃত্তান্ত
- উইকিফাংশনের প্রথম লক্ষ্য হল উইকিমিডিয়া প্রকল্পগুলিকে সমর্থন করা, কিন্তু এটির উদেশ্য এখানেই সীমিত নয় এবং তাদের বাইরেও প্রশমিত, ঠিক যেমন উইকিউপাত্ত। এটি হল উইকিপিডিয়ার বাইরে উইকিফাংশনের একটি বিবরণ।
- মিশন বিবৃতি
- অন্যান্য উইকিমিডিয়া প্রকল্প এবং এর বাইরেও যাতে প্রত্যেকে বিশ্বের প্রাকৃতিক এবং প্রোগ্রামিং ভাষায় কল এবং পুনরায় ব্যবহার করতে পারে, তা সমর্থন করার জন্য কোড ফাংশনগুলির একটি লাইব্রেরি তৈরি এবং বজায় রাখার জন্য একটি উইকিমিডিয়া প্রকল্প
উইকিফাংশন হল একটি মুক্ত কোডের ভান্ডার যা যে কেউ ব্যবহার করতে এবং অবদান রাখতে পারে।
উইকিফাংশন, ফাংশন সমূহ নিয়ে গঠিত। একটি ফাংশনের একাধিক ভাষায় বর্ণনা থাকতে পারে যার মধ্যে পরামিতিগুলির তালিকা, পরীক্ষার ক্ষেত্র, বিভিন্ন প্রোগ্রামিং ভাষায় বাস্তবায়নের তালিকা এবং আরও অধিউপাত্ত থাকতে পারে, এই সবগুলিই বহু ভাষিক (উইকিমিডিয়া দ্বারা সমর্থিতগুলির মধ্যে) । বাস্তবায়নগুলিকে অন্যান্য সফ্টওয়্যার প্রকল্পে (ব্যক্তিগত অ্যাপ বা স্ক্রিপ্ট গুলোতে) পুনরায় ব্যবহার করা যেতে পারে, অনলাইনে কল এবং কার্যকর করা যেতে পারে (হয় কেবল ব্রাউজারে বা ক্লাউড পরিবেশে বা Jupyter[1] বা PAWS[2] নোটবুকগুলিতে), আরও জটিল কার্যকারিতা অর্জনের জন্য গঠিত, স্বাক্ষরিত, বিশ্লেষণ বা যাচাই করা এবং আরো অনেক কিছুর ক্ষেত্রে ব্যবহার করা যেতে পারে।
উইকিফাংশন হল উইকিপিডিয়া, উইকিউপাত্ত, উইকিঅভিধান, এবং অন্যান্য অনুরূপ বৈশ্বিক সহযোগিতামূলক মুক্ত সংস্কৃতি প্রকল্প গুলোর চেতনায় একটি প্রকল্প। এটি সারা বিশ্ব থেকে অবদানকারীদের ফাংশনের একটি বহুভাষিক গ্রন্থাগার তৈরি এবং বজায় রাখার অনুমতি দেয়, যেটি যে কেউ যে কোনো উদ্দেশ্যে ব্যবহার করতে পারে। প্রতিটি ফাংশন বিভিন্ন প্রাকৃতিক ও প্রোগ্রামিং ভাষা, পরীক্ষার ক্ষেত্র, প্রাক ও পরবর্তী কন্ডিশন, নথি, অধিউপাত্ত সমূহ যেমন আনুমানিক রানটাইমের সময় এবং বিভিন্ন বাস্তবায়নের জন্য জটিলতা গ্যারান্টি, ইত্যাদি দ্বারা সমর্থিত হতে পারে। ব্যবহারকারীরা সরাসরি ওয়েবসাইটে একটি ফাংশন কল করতে পারে অথবা তাদের নিজস্ব কোড বা অ্যাপ্লিকেশন থেকে, একটি কমান্ড-লাইন ইন্টারফেস, বা একটি স্থানীয় অ্যাপ থেকেও কল করা সম্ভব। ফাংশনটি স্থানীয় ব্রাউজারে, ক্লাউডে বা স্থানীয়ভাবে চালানো হতে পারে এবং ব্যবহারকারীর অ্যাপ্লিকেশনের মধ্যে অন্তর্নিহিত করা যেতে পারে।
উইকিফাংশনের উদ্দেশ্য হল ব্যাপকভাবে পুনরায় ব্যবহার করা যেতে পারে এমন ফাংশনগুলির একটি সু-সংজ্ঞায়িত সাধারণ গ্রন্থাগার এবং এমন একটি পরিবেশ তৈরি করা যেখানে ফাংশনগুলি দ্রুত একত্রিত এবং কার্যকর করা যায়। উইকিফংশনের লক্ষ্য হল ডেভেলপারদের জন্য জীবন সহজ করা, যারা যে কোনও বাহ্যিক লাইব্রেরির মতো এই সংগ্রহস্থলের উপর নির্ভর করতে পারে এবং ব্যাকএন্ড ব্যবহারকারীদের জন্য যারা প্রয়োজন অনুযায়ী ফাংশন কল করতে পারে, এমনভাবে যা বর্তমানে শুধুমাত্র নির্দিষ্ট ওয়েবসাইটগুলির মাধ্যমে খুব অসম কভারেজের সাথে উপলব্ধ, যেগুলো প্রায়শই জাভা অ্যাপলেট ভাষায় ১৯৯০-এর দশকের ওয়েবসাইট আকারে লেখা হয়।
একটি নিরাপদ স্যান্ডবক্স কার্যকরকরণ সক্ষম করার জন্য সমস্ত ফাংশন । এছাড়াও, প্রতিটি বাস্তবায়ন অধিউপাত্ত এবং ক্রিপ্টোগ্রাফিকভাবে স্বাক্ষরিত করে ব্যাখ্যা করা যেতে পারে। ব্যাকএন্ড ব্যবহারকারীরা তাদের উপলব্ধ হার্ডওয়্যার সংস্থান এবং ওয়েব অফ ট্রাস্ট সেটিংসের উপর নির্ভর করে প্রতিটি ফাংশনের কোন বাস্তবায়ন ব্যবহার করতে হবে তা নির্বাচন এবং নিরীক্ষা করতে পারে।
উইকিফাংশন, উইকিউপাত্তের মতো বৃহৎ জ্ঞানের ভিত্তিগুলিতে সহজে অ্যাক্সেসের অনুমতি দেবে, তারই সাথে বাইনারি ইনপুট এবং আউটপুট ফাইলগুলিতেও। একটি ইনপুট ফাইল হিসাবে একটি ছবি আপলোড করা সম্পূর্ণভাবে সম্ভব এবং এটি ভিন্ন বিন্যাসে বিশ্লেষণের ফলাফল প্রদান করতেও সম্ভব, যেমন ছবিতে কী চিত্রিত করা হয়েছে বা ছবিতে কতগুলি ভিন্ন রঙ রয়েছে বা একটি ভিন্ন বাইনারি। এটি উইকিমিডিয়া কমন্সে কর্মপ্রবাহের জন্য উপলব্ধ করা হবে।
উইকিফাংশন আরও গণনা স্থানান্তরিত করার ঐতিহ্যকে অব্যাহত রেখেছে, যা সাধারণত কমান্ড লাইনে বা অ্যাপের মাধ্যমে বেশি কম্পিউটার জ্ঞানী কম্পিউটার ব্যবহারকারীদের দ্বারা ওয়েবে এবং কার্যকারিতা গ্রহণযোগ্যতাকে গণতন্ত্রীকরণ করে তুলেছে যা আগে উপলব্ধ ছিল না। একই সময়ে, এটি ডেভেলপারদের সর্বত্র উৎপাদনশীলতা বাড়াবে কারণ তারা StackOverflow এর মতোন সাইট থেকে উত্তরগুলি সঠিকভাবে কপি এবং পেস্ট করার উপর নির্ভর করার পরিবর্তে কোডের একটি বড় গ্রন্থাগার ব্যবহার করতে পারে।
উইকিপিডিয়ার বিপরীতে, অবদানকারীরা বেশিরভাগ ক্ষেত্রে বিদ্যমান ফাংশন আপডেট করার পরিবর্তে একটি ফাংশনের জন্য নতুন বাস্তবায়ন তৈরি করবে। বাস্তবায়নগুলো স্বয়ংক্রিয়ভাবে প্রদত্ত পরীক্ষাগুলির বিরুদ্ধে, একে অপরের বিরুদ্ধে পরীক্ষা করা যেতে পারে এবং আরও বিশ্লেষণ করা যেতে পারে।
বাস্তবায়নগুলি বিভিন্ন প্রোগ্রামিং ভাষায় লেখা যেতে পারে, তবুও তারা অন্যান্য প্রোগ্রামিং ভাষায় তৈরী করা ফাংশনগুলিকে কল করতে সক্ষম হতে পারে। কার্যকরকরণ ইঞ্জিনটি মসৃণভাবে বিভিন্ন ভাষায় কাজ করতে পারে (যদিও সর্বোচ্চ সম্ভাব্য পারফরম্যান্সের সাথে অগত্যা নয়)। যদিও বেশিরভাগ ক্ষেত্রেই একক প্রোগ্রামিং ভাষার মধ্যে ফাংশন রচনা করলে একটি বড় কর্মক্ষমতা বৃদ্ধি ঘটে, তবে এটি করার কোনও প্রয়োজন নেই। অধিকাংশ ক্ষেত্রে উন্নয়নের গতি এবং বিকাশকারীর সময়, কার্যকরকরণ ইঞ্জিনে ব্যয় করা অতিরিক্ত কম্পিউটার চক্রের চেয়ে বেশি মূল্যবান হবে।