English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
- পরিচিতি
- ইনস্টলেশন
- ব্যবহার
- জেনারেটর
- উন্নত ব্যবহার
- কনফিগারেশন
- সমর্থন নির্দেশিকা
- লাইসেন্স - MIT লাইসেন্স
পরিচিতি
Faker Storage একটি উচ্চ-কার্যক্ষম PHP প্যাকেজ যা বড় পরিমাণে মিথ্যা ডেটা ফাইলগুলি কার্যকরভাবে তৈরি এবং সংরক্ষণ করতে ডিজাইন করা হয়েছে। এটি একসাথে কাজ করার জন্য Swoole বা PCNTL ব্যবহার করে হাজার হাজার ফাইলকে সমান্তরালভাবে তৈরি করে, যা লোড টেস্টিং, উন্নয়ন পরিবেশ, এবং স্টোরেজ সিস্টেম বেঞ্চমার্কিং-এর জন্য উপযুক্ত।
প্যাকেজটি সঙ্গতিপূর্ণ আউটপুট সরবরাহ করে যা বীজ দেওয়া হলে পুনরাবৃত্তিমূলক পরীক্ষার ডেটা নিশ্চিত করে, যাতে বিভিন্ন ফাইলের ধরন তৈরি করার জন্য একটি সুচারু API সরবরাহ করে, যার মধ্যে রয়েছে চিত্র (PNG, JPG, GIF, BMP, WEBP, AVIF), টেক্সট ফাইল, CSV ফাইল, দ্বি-অক্ষে ডেটা, এবং RFC822-সমরূপ ইমেইল।
মূল বৈশিষ্ট্য
- উচ্চ-কর্মদক্ষ সমান্তরাল কার্যক্ষমতা: সমান্তরাল ফাইল তৈরির জন্য Swoole (coroutines) এবং PCNTL (প্রক্রিয়া ফর্কিং) এর মধ্যে স্বয়ংক্রিয় নির্বাচন
- একাধিক ফাইল জেনারেটর: চিত্র, টেক্সট, CSV, দ্বি-অক্ষে এবং ইমেইল ফাইলগুলির জন্য অপরিকল্পিত সমর্থন
- নিশ্চিত আউটপুট: বীজ-ভিত্তিক উৎপাদন নিশ্চিত পুনরাবৃত্তিযোগ্য ফলাফল
- অনুকূল স্টোরেজ: যে কোনও লীগ ফ্লাইসিস্টেম অ্যাডাপ্টারের সাথে কাজ করে (স্থানীয়, S3, ইত্যাদি)
- কাস্টমাইজযোগ্য ফাইল নামকরণ: পূর্ণ নিয়ন্ত্রণ সহ ক্লোজার-ভিত্তিক নাম উৎপাদন
- ছবির সমর্থন: পছন্দসই মাপ এবং সঙ্কোচনের সাথে একাধিক ফরম্যাট
- ইমেইল উৎপাদন: সংযুক্তি এবং MIME সমর্থন সহ RFC822-সমরূপ ইমেইল
উদাহরণ
use DefectiveCode\Faker\Faker;use League\Flysystem\Filesystem;use DefectiveCode\Faker\Generators\Png;use League\Flysystem\Local\LocalFilesystemAdapter; // ১০০০ PNG ছবি তৈরি করুন ১০টি সমান্তরাল কর্মী নিয়েFaker::make(Png::class) ->width(800, 1920) ->height(600, 1080) ->toDisk(new Filesystem(new LocalFilesystemAdapter('/path/to/storage'))) ->basePath('images') ->count(1000) ->concurrency(10) ->seed(42) ->generate(); // CSV ফাইল তৈরি করুনuse DefectiveCode\Faker\Generators\Csv; Faker::make(Csv::class) ->columns(5, 10) ->rows(100, 500) ->delimiter(',') ->toDisk(new Filesystem(new LocalFilesystemAdapter('/path/to/storage'))) ->count(50) ->generate(); // সংযুক্তির সাথে ইমেইল তৈরি করুনuse DefectiveCode\Faker\Generators\Email; Faker::make(Email::class) ->paragraphs(3, 5) ->sentences(2, 4) ->withAttachment(Png::class, 1, 3) ->toDisk(new Filesystem(new LocalFilesystemAdapter('/path/to/storage'))) ->count(100) ->generate();
ইনস্টলেশন
প্যাকেজটি কম্পোজার দ্বারা ইনস্টল করুন:
composer require defectivecode/faker-storage
প্রয়োজনীয়তা
- PHP >= 8.4
- ext-gd (ছবি উৎপাদনের জন্য)
- ext-swoole (ঐচ্ছিক, উন্নত কর্মক্ষমতার জন্য)
- ext-pcntl (সমান্তরাল জন্য ব্যাকআপ)
ঐচ্ছিক নির্ভরশীলতা
সেরা কর্মক্ষমতার জন্য, Swoole এক্সটেনশন ইনস্টল করুন:
pecl install swoole
যদি উপলব্ধ থাকে তবে প্যাকেজটি স্বয়ংক্রিয়ভাবে Swoole ব্যবহার করবে, অন্যথায় PCNTL-এ ফিরে যাবে।
ব্যবহার
প্রাথমিক কাজের প্রক্রিয়া
সমস্ত জেনারেটর একই প্যাটার্ন অনুসরণ করে:
- একটি জেনারেটর দিয়ে একটি Faker ইনস্ট্যান্স তৈরি করুন
- জেনারেটর কনফিগার করুন (ঐচ্ছিক)
- স্টোরেজ গন্তব্য নির্ধারণ করুন
- সমান্তরালতা এবং সংখ্যা কনফিগার করুন
- ফাইল জেনারেট করুন
use DefectiveCode\Faker\Faker;use League\Flysystem\Filesystem;use DefectiveCode\Faker\Generators\Text;use League\Flysystem\Local\LocalFilesystemAdapter; Faker::make(Text::class) ->paragraphs(5, 10) // জেনারেটর-নির্দিষ্ট কনফিগারেশন ->toDisk(new Filesystem(new LocalFilesystemAdapter('/storage'))) ->basePath('documents') // ফাইলগুলি /storage/documents/ এ থাকবে ->count(100) // ১০০ ফাইল তৈরি করুন ->concurrency(4) // ৪টি কর্মী ব্যবহার করুন ->seed(123) // নির্ধারিত আউটপুটের জন্য ->generate();
স্টোরেজ কনফিগারেশন
ফ্লাইসিস্টেম ব্যবহার করা
Faker Storage স্টোরেজ বিমূর্ততার জন্য লীগ ফ্লাইসিস্টেম ব্যবহার করে:
use League\Flysystem\Filesystem;use League\Flysystem\Local\LocalFilesystemAdapter; // স্থানীয় স্টোরেজ$filesystem = new Filesystem(new LocalFilesystemAdapter('/path/to/storage')); Faker::make(Png::class) ->toDisk($filesystem) ->generate();
AWS S3 স্টোরেজ
use Aws\S3\S3Client;use League\Flysystem\Filesystem;use League\Flysystem\AwsS3V3\AwsS3V3Adapter; $client = new S3Client([ 'credentials' => [ 'key' => 'your-key', 'secret' => 'your-secret', ], 'region' => 'us-east-1', 'version' => 'latest',]); $adapter = new AwsS3V3Adapter($client, 'your-bucket-name');$filesystem = new Filesystem($adapter); Faker::make(Png::class) ->toDisk($filesystem) ->basePath('uploads/images') ->generate();
ডিস্ক অপশনগুলি
ফাইলসিস্টেম অ্যাডাপ্টারে অতিরিক্ত অপশন পাস করুন:
Faker::make(Png::class) ->toDisk($filesystem) ->diskOptions([ 'visibility' => 'public', 'ACL' => 'public-read', 'CacheControl' => 'max-age=31536000', ]) ->generate();
সমান্তরাল কনফিগারেশন
concurrency() পদ্ধতির মাধ্যমে সমান্তরাল কার্যকর করা নিয়ন্ত্রণ করুন:
// ১০টি কর্মী থ্রেড/প্রক্রিয়া ব্যবহার করুনFaker::make(Png::class) ->concurrency(10) ->generate(); // Swoole-নির্দিষ্ট: থ্রেড এবং থ্রেড প্রতি কর্টিনগুলির সেট করুনFaker::make(Png::class) ->concurrency(threads: 4, coroutines: 8) // ৪টি কর্মী, প্রতিটি ৮টি কর্টিন ->generate();
ফাইল নামকরণ
ডিফল্ট নামকরণ
ডিফল্টভাবে, ফাইলগুলি UUID v4 ব্যবহার করে নাম দেওয়া হয়:
// উৎপন্ন: e7f0a8d3-5c2b-4f9e-8a1d-3b4c5d6e7f8a.pngFaker::make(Png::class)->generate();
অন্তর্নির্মিত নাম জেনারেটর
use DefectiveCode\Faker\NameGenerator; // UUID-ভিত্তিক (ডিফল্ট)NameGenerator::setDefault('uuid'); // উৎপন্ন: e7f0a8d3-5c2b-4f9e-8a1d-3b4c5d6e7f8a.png // ধারাবাহিক নম্বরিকNameGenerator::setDefault('sequence'); // উৎপন্ন: 1.png, 2.png, 3.png, ...
কাস্টম নামকরণ
ফাইল নাম উন্নত করার জন্য একটি ক্লোজার সরবরাহ করুন:
use DefectiveCode\Faker\NameGenerator; // কাস্টম ক্লোজারFaker::make(Png::class) ->nameGenerator(function (int $seed, int $completedFiles, $generator) { return "custom-{$completedFiles}-{$seed}.png"; }) ->generate(); // তারিখ-ভিত্তিক নামকরণFaker::make(Png::class) ->nameGenerator(function (int $seed, int $completedFiles, $generator) { return date('Y/m/d') . "/image-{$completedFiles}.png"; }) ->generate();
পুনরাবৃত্তিযোগ্যতা জন্য বীজ
একই ফাইলগুলি তৈরি করতে একটি বীজ সেট করুন:
Faker::make(Png::class) ->seed(42) ->count(10) ->generate();
প্রতিটি ফাইল একটি অনন্য নির্ধারিত বীজ পায় যা মৌলিক বীজ এবং ফাইল ইনডেক্স থেকে উদ্ভূত হয়।
জেনারেটর
চিত্র জেনারেটর
সমস্ত চিত্র জেনারেটর মাপ এবং গুণমান কনফিগারেশন সমর্থন করে।
PNG
use DefectiveCode\Faker\Generators\Png; Faker::make(Png::class) ->width(800, 1920) // 800-1920px এর মধ্যে এলোমেলো প্রস্থ ->height(600, 1080) // 600-1080px এর মধ্যে এলোমেলো উচ্চতা ->withAlpha(true) // অ্যালফা/স্বচ্ছ্য চ্যানেল সক্রিয় করুন ->grid(5) // ঐচ্ছিক: 5x5 সমান্তরাল প্যাটার্ন উৎপন্ন করুন ->toDisk($filesystem) ->generate();
JPG
use DefectiveCode\Faker\Generators\Jpg; Faker::make(Jpg::class) ->width(800, 1920) // 800-1920px এর মধ্যে এলোমেলো প্রস্থ ->height(600, 1080) // 600-1080px এর মধ্যে এলোমেলো উচ্চতা ->grid(5) // ঐচ্ছিক: 5x5 সমান্তরাল প্যাটার্ন উৎপন্ন করুন ->toDisk($filesystem) ->generate();
GIF
use DefectiveCode\Faker\Generators\Gif; Faker::make(Gif::class) ->width(800, 1920) // 800-1920px এর মধ্যে এলোমেলো প্রস্থ ->height(600, 1080) // 600-1080px এর মধ্যে এলোমেলো উচ্চতা ->withAlpha(true) // অ্যালফা/স্বচ্ছ্য চ্যানেল সক্রিয় করুন ->grid(5) // ঐচ্ছিক: 5x5 সমান্তরাল প্যাটার্ন উৎপন্ন করুন ->toDisk($filesystem) ->generate();
BMP
use DefectiveCode\Faker\Generators\Bmp; Faker::make(Bmp::class) ->width(800, 1920) // 800-1920px এর মধ্যে এলোমেলো প্রস্থ ->height(600, 1080) // 600-1080px এর মধ্যে এলোমেলো উচ্চতা ->grid(5) // ঐচ্ছিক: 5x5 সমান্তরাল প্যাটার্ন উৎপন্ন করুন ->toDisk($filesystem) ->generate();
WEBP
use DefectiveCode\Faker\Generators\Webp; Faker::make(Webp::class) ->width(800, 1920) // 800-1920px এর মধ্যে এলোমেলো প্রস্থ ->height(600, 1080) // 600-1080px এর মধ্যে এলোমেলো উচ্চতা ->withAlpha(true) // অ্যালফা/স্বচ্ছ্য চ্যানেল সক্রিয় করুন ->grid(5) // ঐচ্ছিক: 5x5 সমান্তরাল প্যাটার্ন উৎপন্ন করুন ->toDisk($filesystem) ->generate();
AVIF
use DefectiveCode\Faker\Generators\Avif; Faker::make(Avif::class) ->width(800, 1920) // 800-1920px এর মধ্যে এলোমেলো প্রস্থ ->height(600, 1080) // 600-1080px এর মধ্যে এলোমেলো উচ্চতা ->withAlpha(true) // অ্যালফা/স্বচ্ছ্য চ্যানেল সক্রিয় করুন ->grid(5) // ঐচ্ছিক: 5x5 সমান্তরাল প্যাটার্ন উৎপন্ন করুন ->toDisk($filesystem) ->generate();
এলোমেলো ছবি
একটি এলোমেলো চিত্র ফরম্যাট তৈরি করে:
use DefectiveCode\Faker\Generators\RandomImage; Faker::make(RandomImage::class) ->width(800, 1920) ->height(600, 1080) ->withAlpha(false) // এলোমেলোভাবে: AVIF, BMP, GIF, JPEG, PNG, WEBP থেকে ->toDisk($filesystem) ->generate(); Faker::make(RandomImage::class) ->width(800, 1920) ->height(600, 1080) ->withAlpha(true) // এলোমেলোভাবে: AVIF, GIF, PNG, WEBP থেকে ->toDisk($filesystem) ->generate();
টেক্সট জেনারেটর
অনুচ্ছেদ সহ সাধারণ টেক্সট ফাইল তৈরি করুন:
use DefectiveCode\Faker\Generators\Text; Faker::make(Text::class) ->paragraphs(5, 10) // প্রতি ফাইলে 5-10টি অনুচ্ছেদ ->sentences(3, 6) // প্রতি অনুচ্ছেদে 3-6টি বাক্য ->toDisk($filesystem) ->generate();
আউটপুট উদাহরণ:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
CSV জেনারেটর
এলোমেলো ডেটা সহ CSV ফাইল তৈরি করুন:
use DefectiveCode\Faker\Generators\Csv; Faker::make(Csv::class) ->columns(5, 10) // 5-10 কলাম ->rows(100, 500) // 100-500 সারি ->delimiter(',') // কলামের ডেলিমিটার ->enclosure('"') // ফিল্ডের ঘেরাবন্ধক ->escape('\\') // Escape চরিত্র ->eol("\n") // লাইন শেষ ->toDisk($filesystem) ->generate();
আউটপুট উদাহরণ:
"John Doe","john@example.com","555-1234","New York","Engineer""Jane Smith","jane@example.com","555-5678","Los Angeles","Designer""Bob Johnson","bob@example.com","555-9012","Chicago","Manager"
দ্বি-অক্ষে জেনারেটর
এলোমেলো দ্বি-অক্ষে ডেটা তৈরি করুন:
use DefectiveCode\Faker\Generators\Binary; Faker::make(Binary::class) ->length(1024, 1048576) // 1KB - 1MB ->toDisk($filesystem) ->generate();
ইমেইল জেনারেটর
RFC822-সমরূপ ইমেইল ফাইল তৈরি করুন:
use DefectiveCode\Faker\Generators\Email; Faker::make(Email::class) ->paragraphs(3, 5) // ইমেইল শরীরে অনুচ্ছেদ ->sentences(2, 4) // প্রতি অনুচ্ছেদে বাক্যের সংখ্যা ->withAttachment(Png::class, 1, 3) // 1-3 PNG সংযুক্তি যোগ করুন ->toDisk($filesystem) ->generate();
ইমেইল শিরোনাম
তৈরিকৃত ইমেইলে অন্তর্ভুক্ত রয়েছে:
To: এলোমেলো নাম এবং ইমেইলFrom: এলোমেলো নাম এবং ইমেইলSubject: এলোমেলো বাক্যDate: বর্তমান টাইমস্ট্যাম্পMessage-ID: বীজের উপর ভিত্তি করে নির্ধারিত আইডি
সংযুক্তির সাথে ইমেইল
ফাইল সংযুক্ত করুন জেনারেটর ক্লাসের নাম বা ইনস্ট্যান্স ব্যবহার করে:
use DefectiveCode\Faker\Generators\Email;use DefectiveCode\Faker\Generators\Png;use DefectiveCode\Faker\Generators\Pdf; Faker::make(Email::class) ->withAttachment(Png::class, 1, 3) // 1-3 PNG সংযুক্তি ->generate(); // কনফিগার করা জেনারেটর ইনস্ট্যান্স ব্যবহার করে সংযোগ করুন$pngGenerator = new Png(Png::getDefaultConfig());$pngGenerator->width(400, 800)->height(300, 600); Faker::make(Email::class) ->withAttachment($pngGenerator, 2, 5) ->generate();
আউটপুট উদাহরণ:
To: John Doe <john.doe@example.com>From: Jane Smith <jane.smith@example.com>Subject: Important meeting tomorrowDate: Fri, 03 Jan 2026 10:30:00 +0000Message-ID: <3e92e5c2b0d632b3a36fbbb17484b7fe@example.com>Content-Type: multipart/mixed; boundary="----=_Part_123" ------=_Part_123Content-Type: text/plain; charset=utf-8Content-Transfer-Encoding: quoted-printable Lorem ipsum dolor sit amet, consectetur adipiscing elit... ------=_Part_123Content-Type: image/png; name="attachment.png"Content-Disposition: attachment; filename="attachment.png"Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==------=_Part_123--
উন্নত ব্যবহার
কাস্টম জেনারেটর
Generator ইন্টারফেস কার্যকর করে আপনার কাস্টম জেনারেটর তৈরি করুন:
use DefectiveCode\Faker\Configs\Config;use DefectiveCode\Faker\Concerns\SetsSeed;use DefectiveCode\Faker\Generators\Generator;use DefectiveCode\Faker\Concerns\PreparesFaker; class MyCustomGenerator implements Generator{ use PreparesFaker; use SetsSeed; public function __construct(public Config $config) {} public static function getDefaultConfig(): Config { return new MyCustomConfig([ 'contentType' => 'application/x-custom', 'nameGenerator' => NameGenerator::default('extension'), ]); } public function generate(): mixed { // আপনার উৎপাদন লজিক এখানে $data = $this->faker->randomElement(['foo', 'bar', 'baz']); $stream = fopen('php://temp', 'w+'); fwrite($stream, $data); return $stream; }} // আপনার কাস্টম জেনারেটর ব্যবহার করুনFaker::make(MyCustomGenerator::class) ->toDisk($filesystem) ->generate();
কনফিগারেশন ক্লাস
প্রতিটি জেনারেটর একটি কনফিগারেশন ক্লাস ব্যবহার করে যা Config এর বিস্তৃত:
use DefectiveCode\Faker\Configs\Config; class MyCustomConfig extends Config{ public int $minValue = 1; public int $maxValue = 100;}
কর্মক্ষমতা পরামর্শ
- Swoole ব্যবহার করুন: সেরা কর্মক্ষমতার জন্য Swoole এক্সটেনশন ইনস্টল করুন
- সমান্তরালতা টিউন করুন: সর্বাধিক throughput এর জন্য থ্রেডের সংখ্যা CPU কোরের সাথে মেলে
- ব্যাচ অপারেশন: অনেক ছোট রান করার পরিবর্তে বড় ব্যাচে উৎপাদন করুন
- স্টোরেজ স্থান: আপলোড করার আগে অস্থায়ী ফাইলগুলি জন্য দ্রুত স্টোরেজ ব্যবহার করুন (SSD, লোকাল ডিস্ক)
- নেটওয়ার্ক I/O: S3 ব্যবহার করার সময়, ব্যান্ডউইথ ব্যবহারের সর্বাধিক করতে সমান্তরালতা বৃদ্ধি করুন
কনফিগারেশন
গ্লোবাল কনফিগারেশন পদ্ধতি
এই পদ্ধতিগুলি সমস্ত Faker ইনস্ট্যান্সে উপলব্ধ:
make(string $generator): Faker
নির্দিষ্ট জেনারেটর সহ একটি নতুন Faker ইনস্ট্যান্স তৈরি করুন:
Faker::make(Png::class)
toDisk(Filesystem $filesystem): Faker
স্টোরেজ গন্তব্য সেট করুন (প্রয়োজনীয়):
Faker::make(Png::class) ->toDisk(new Filesystem(new LocalFilesystemAdapter('/storage')))
basePath(string $basePath): Faker
ফাইলসিস্টেমের মধ্যে বেস পাথ সেট করুন:
Faker::make(Png::class) ->basePath('images/uploads') // ফাইলগুলি /storage/images/uploads/ এ সংগ্রহীত হবে
count(int $count): Faker
তৈরি করা ফাইলের সংখ্যা সেট করুন:
Faker::make(Png::class) ->count(1000)
concurrency(int $threads, ?int $coroutines = null): Faker
সমান্তরাল কার্যকর কনফিগার করুন:
// প্রাথমিক সমান্তরালতাFaker::make(Png::class) ->concurrency(4) // Swoole-নির্দিষ্ট: থ্রেড এবং কর্টিনগুলিকেFaker::make(Png::class) ->concurrency(threads: 4, coroutines: 8)
seed(int $seed): Faker
নির্ধারিত উৎপাদনের জন্য বীজ সেট করুন:
Faker::make(Png::class) ->seed(42)
nameGenerator(Closure $generator): Faker
ফাইল নাম কাস্টমাইজ করুন:
Faker::make(Png::class) ->nameGenerator(function (int $seed, int $completedFiles, $generator) { return "file-{$completedFiles}.png"; })
diskOptions(array $diskOptions): Faker
ফাইলসিস্টেম অ্যাডাপ্টারে অপশন পাস করুন:
Faker::make(Png::class) ->diskOptions([ 'visibility' => 'public', 'ACL' => 'public-read', ])
generate(): void
ফাইল উৎপাদন কার্যকর করুন:
Faker::make(Png::class)->generate();
সমর্থন নির্দেশিকা
আমাদের ওপেন সোর্স প্যাকেজটি নির্বাচন করার জন্য ধন্যবাদ! দয়া করে এই সমর্থন নির্দেশিকাগুলি অন্বেষণ করতে একটি মুহূর্ত নিন। এগুলি আপনাকে আমাদের প্রকল্প থেকে সর্বাধিক উপকার পেতে সহায়তা করবে।
সম্প্রদায়ের দ্বারা পরিচালিত সমর্থন
আমাদের ওপেন-সোর্স প্রকল্পটি আমাদের অসাধারণ সম্প্রদায় দ্বারা চালিত। আপনার যদি প্রশ্ন থাকে অথবা সহায়তার প্রয়োজন হয়, StackOverflow এবং অন্যান্য অনলাইন সম্পদ আপনার জন্য সেরা।
ত্রুটি এবং বৈশিষ্ট্য অগ্রাধিকার
একটি ওপেন-সোর্স প্রকল্প পরিচালনার বাস্তবতা মানে আমরা প্রতিবেদন করা প্রতিটি ত্রুটি বা বৈশিষ্ট্য অনুরোধ অবিলম্বে সমাধান করতে পারি না। আমরা সমস্যা সমাধানে নিম্নলিখিত ক্রমে অগ্রাধিকার দিই:
১. আমাদের অর্থপ্রদান করা পণ্যগুলি প্রভাবিতকারী ত্রুটি
যে ত্রুটিগুলি আমাদের অর্থপ্রদান করা পণ্যে প্রভাব ফেলে সেগুলি সর্বদা আমাদের শীর্ষ অগ্রাধিকার। কিছু ক্ষেত্রে, আমরা শুধু সেই ত্রুটিগুলি সমাধান করতে পারি যা আমাদের সরাসরি প্রভাবিত করে।
২. সম্প্রদায়ের পুল রিকুইস্ট
যদি আপনি একটি ত্রুটি সনাক্ত করেছেন এবং তার সমাধান আছে, তাহলে দয়া করে একটি পুল রিকুইস্ট জমা দিন। আমাদের পণ্যগুলিকে প্রভাবিতকারী সমস্যাগুলোর পরে, আমরা এই সম্প্রদায়-চালিত সমাধানগুলিতে পরবর্তী সর্বাধিক অগ্রাধিকার দিই। একবার পর্যালোচনা করে অনুমোদিত হলে, আমরা আপনার সমাধানটি একত্রিত করবো এবং আপনার অবদানের জন্য কৃতিত্ব দেবো।
৩. আর্থিক সমর্থন
উল্লেখিত বিভাগগুলির বাইরের সমস্যার জন্য, আপনি তাদের সমাধানের জন্য অর্থায়ন করতে পারেন। প্রতিটি ওপেন ইস্যু একটি অর্ডার ফরমের সাথে সংযুক্ত, যেখানে আপনি আর্থিকভাবে অবদান রাখতে পারেন। আমরা প্রদত্ত অর্থায়ন পরিমাণ অনুযায়ী এই সমস্যাগুলিতে অগ্রাধিকার দিই।
সম্প্রদায়ের অবদান
ওপেন সোর্স তখনই পুষ্টি পায় যখন এর সম্প্রদায় সক্রিয় থাকে। আপনি যদি ত্রুটি সমাধান না-ও করেন, তবুও কোড উন্নয়ন, ডকুমেন্টেশন আপডেট, টিউটোরিয়াল, অথবা সম্প্রদায়ের চ্যানেলে অন্যদের সহায়তা করার মাধ্যমে অবদান রাখার কথা বিবেচনা করুন। আমরা সবাইকে, একটি সম্প্রদায় হিসেবে, ওপেন-সোর্স কাজ সমর্থনে সহায়তা করতে তীব্রভাবে উৎসাহিত করি।
আবার উল্লেখ করতে, DefectiveCode আমাদের অর্থপ্রদান করা পণ্যগুলিতে ত্রুটিগুলির প্রভাব, সম্প্রদায়ের পুল রিকুইস্ট এবং সমস্যার জন্য প্রাপ্ত আর্থিক সমর্থনের ভিত্তিতে ত্রুটিগুলিকে অগ্রাধিকার দেবে.
লাইসেন্স - MIT লাইসেন্স
কপিরাইট © Defective Code, LLC। সকল অধিকার সংরক্ষিত
এই সফ্টওয়্যার এবং সংশ্লিষ্ট ডকুমেন্টেশন ফাইল (যাকে "সফ্টওয়্যার" বলা হয়) এর একটি কপি প্রাপ্ত যেকোনো ব্যক্তিকে বিনা শর্তে, বিনামূল্যে, সফ্টওয়্যারটি ব্যবহার, কপি, পরিবর্তন, মিশ্রণ, প্রকাশ, বিতরণ, উপলাইসেন্স এবং/অথবা সফ্টওয়্যার-এর কপি বিক্রি করার অধিকার দেওয়া হয়, এবং যাদের কাছে সফ্টওয়্যারটি প্রদান করা হয় তাদের এটি করতে অনুমতি দেওয়া হয়, নিম্নলিখিত শর্তাবলীর অধীনে:
উপরে উল্লিখিত কপিরাইট নোটিস এবং এই অনুমতি নোটিস সমস্ত কপি বা সফ্টওয়্যার-এর গুরুত্বপূর্ণ অংশে অন্তর্ভুক্ত করা হবে।
সফ্টওয়্যারটি "যেমন আছে" প্রদান করা হয়, কোন প্রকারের গ্যারান্টি ছাড়া, স্পষ্ট বা অভ্যাসগত, যার মধ্যে আছে কিন্তু সীমিত নয় বাণিজ্যযোগ্যতা, নির্দিষ্ট উদ্দেশ্যের জন্য উপযুক্ততা এবং অধিকার লঙ্ঘনের গ্যারান্টি। কোনো পরিস্থিতিতেই লেখক বা কপিরাইট অধিকারীরা সফ্টওয়্যার বা সফ্টওয়্যার ব্যবহারের সাথে সংশ্লিষ্ট যেকোনো দাবি, ক্ষতি বা অন্যান্য দায়বদ্ধতার জন্য দায়ী থাকবে না, তা চুক্তির একটি পদক্ষেপ, অপ্রীতিকর বা অন্যথায় হোক।