English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
परिचय
Faker Storage एक उच्च-प्रदर्शन PHP पैकेज है जिसे कुशलतापूर्वक बड़े मात्रा में फर्जी डेटा फ़ाइलों को उत्पन्न और स्टोर करने के लिए डिज़ाइन किया गया है। समवर्तीता को ध्यान में रखते हुए बनाई गई, यह सिवोल या पीसीएनटीएल का उपयोग करके समानांतर में हजारों फ़ाइलें उत्पन्न करता है, जिससे यह लोड परीक्षण, विकास वातावरण और संग्रहण प्रणाली बेंचमार्किंग के लिए आदर्श है।
पैकेज विभिन्न फ़ाइल प्रकारों को उत्पन्न करने के लिए एक प्रवाही एपीआई प्रदान करता है, जिसमें छवियाँ (PNG, JPG, GIF, BMP, WEBP, AVIF), टेक्स्ट फाइलें, CSV फाइलें, बाइनरी डेटा, और RFC822-अनुरूप ईमेल शामिल हैं। प्रत्येक जनरेटर बीजित होने पर पूर्वनिर्धारित आउटपुट उत्पन्न करता है, जिससे विभिन्न वातावरणों के बीच पुनरुत्पादित परीक्षण डेटा सुनिश्चित होता है।
मुख्य विशेषताएँ
- उच्च-प्रदर्शन समवर्तीता: समानांतर फ़ाइल उत्पादन के लिए सिवोल (कोरोउटीन) और पीसीएनटीएल (प्रक्रिया फ़ोर्किंग) के बीच स्वचालित चयन
- बहु फ़ाइल जनरेटर: छवियों, टेक्स्ट, CSV, बाइनरी, और ईमेल फ़ाइलों के लिए अंतर्निर्मित समर्थन
- पूर्वनिर्धारित आउटपुट: बीज आधारित उत्पादन पुनरुत्पादित परिणाम सुनिश्चित करता है
- लचीलापन संग्रहण: किसी भी लीग फ़्लाईसिस्टम एडेप्टर (स्थानीय, S3, आदि) के साथ काम करता है
- अनुकूलन योग्य फ़ाइल नामकरण: पूर्ण नियंत्रण के साथ क्लोजर आधारित नाम निर्माण
- छवि समर्थन: कॉन्फ़िगर करने योग्य आयामों और संकुचन के साथ कई प्रारूप
- ईमेल उत्पन्न करना: अटैचमेंट और MIME समर्थन के साथ RFC822-अनुरूप ईमेल
उदाहरण
use DefectiveCode\Faker\Faker;use League\Flysystem\Filesystem;use DefectiveCode\Faker\Generators\Png;use League\Flysystem\Local\LocalFilesystemAdapter; // 10 समवर्ती श्रमिकों के साथ 1000 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 (समवर्तीता के लिए बैकअप)
वैकल्पिक निर्भरता
सर्वोत्तम प्रदर्शन के लिए, सिवोल एक्सटेंशन इंस्टॉल करें:
pecl install swoole
यदि उपलब्ध है तो पैकेज स्वचालित रूप से सिवोल का उपयोग करेगा, अन्यथा पीसीएनटीएल पर वापस जाएगा।
उपयोग
बुनियादी कार्यप्रवाह
सभी जनरेटर एक ही पैटर्न का पालन करते हैं:
- एक जनरेटर के साथ एक 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) // 100 फ़ाइलें उत्पन्न करना ->concurrency(4) // 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() विधि के साथ समानांतर निष्पादन को नियंत्रित करें:
// 10 कार्यकर्ता थ्रेड/प्रक्रियाओं का उपयोग करेंFaker::make(Png::class) ->concurrency(10) ->generate(); // सिवोल-विशिष्ट: प्रत्येक थ्रेड के लिए थ्रेड और कोरोउटीन दोनों सेट करेंFaker::make(Png::class) ->concurrency(threads: 4, coroutines: 8) // 4 श्रमिक, प्रत्येक में 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 // अनुक्रमित numberingNameGenerator::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('\\') // एस्केप कैरेक्टर ->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: बीज पर आधारित पूर्वनिर्धारित 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;}
प्रदर्शन सुझाव
- सिवोल का उपयोग करें: सर्वोत्तम प्रदर्शन के लिए सिवोल एक्सटेंशन इंस्टॉल करें
- समवर्तीता को ट्यून करें: बेहतर थ्रूपुट के लिए थ्रेड की संख्या को 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) // सिवोल-विशिष्ट: थ्रेड और कोरोउटीन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 और अन्य ऑनलाइन संसाधन आपके लिए सबसे अच्छे विकल्प हैं।
बग और विशेषता प्राथमिकता
एक ओपन-सोर्स प्रोजेक्ट का प्रबंधन करने की वास्तविकता का मतलब है कि हम तुरंत हर रिपोर्ट की गई बग या विशेषता अनुरोध को संबोधित नहीं कर सकते। हम मुद्दों को निम्नलिखित क्रम में प्राथमिकता देते हैं:
1. हमारे भुगतान किए गए उत्पादों को प्रभावित करने वाले बग
जो बग हमारे भुगतान किए गए उत्पादों को प्रभावित करते हैं, वे हमेशा हमारी सर्वोच्च प्राथमिकता होंगे। कुछ मामलों में, हम केवल उन बग को संबोधित कर सकते हैं जो हमें सीधे प्रभावित करते हैं।
2. सामुदायिक पुल अनुरोध
यदि आपने एक बग पहचाना है और एक समाधान है, तो कृपया एक पुल अनुरोध जमा करें। हमारे उत्पादों को प्रभावित करने वाले मुद्दों के बाद, हम इन सामुदायिक संचालित सुधारों को अगली उच्चतम प्राथमिकता देते हैं। एक बार समीक्षित और अनुमोदित होने के बाद, हम आपके समाधान को मिलाएंगे और आपके योगदान को मान्यता देंगे।
3. वित्तीय समर्थन
उक्त श्रेणियों के बाहर के मुद्दों के लिए, आप उनके समाधान के लिए धन देने का विकल्प चुन सकते हैं। प्रत्येक खुले मुद्दे को एक आदेश फॉर्म से जोड़ा गया है जहाँ आप वित्तीय रूप से योगदान कर सकते हैं। हम प्रदान किए गए धनराशि के आधार पर इन मुद्दों को प्राथमिकता देते हैं।
सामुदायिक योगदान
ओपन सोर्स तब फलता-फूलता है जब इसका समुदाय सक्रिय होता है। भले ही आप बग ठीक नहीं कर रहे हों, कोड सुधार, दस्तावेज़ अपडेट, ट्यूटोरियल के माध्यम से या सामुदायिक चैनलों में अन्य लोगों की सहायता करके योगदान करने पर विचार करें। हम हर किसी को, एक समुदाय के रूप में, ओपन-सोर्स कार्य का समर्थन करने के लिए बहुत प्रोत्साहित करते हैं।
दोहराने के लिए, DefectiveCode हमारे भुगतान किए गए उत्पादों पर प्रभाव, सामुदायिक पुल अनुरोध और मुद्दों के लिए प्राप्त वित्तीय समर्थन के आधार पर बग को प्राथमिकता देगा.
लाइसेंस - MIT लाइसेंस
कॉपीराइट © डेफेक्टिव कोड, एलएलसी। सर्वाधिकार सुरक्षित
इस सॉफ़्टवेयर और संबंधित दस्तावेज़ फ़ाइलों (जिसे "सॉफ़्टवेयर" कहा जाता है) की एक प्रति प्राप्त करने वाले किसी भी व्यक्ति को बिना किसी शुल्क के समझौता किया जाता है, सॉफ़्टवेयर में बिना किसी रोक-टोक के, जिसमें बिना सीमा के निम्नलिखित अधिकार शामिल हैं: उपयोग करने, कॉपी करने, संशोधित करने, विलय करने, प्रकाशित करने, वितरित करने, उप-लाइसेंस देने और/या सॉफ़्टवेयर की प्रतियों को बेचने के लिए, और उन व्यक्तियों को अनुमति देने के लिए जिन्हें सॉफ़्टवेयर प्रदान किया गया है कि वे ऐसा कर सकें, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट सूचना और यह अनुमति सूचना सभी प्रतियों या सॉफ़्टवेयर के महत्वपूर्ण भागों में शामिल की जानी चाहिए।
सॉफ़्टवेयर "जैसा है" प्रदान किया गया है, बिना किसी प्रकार की वारंटी के, स्पष्ट या अंतर्निहित, जिसमें वाणिज्यिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और अवमानना की वारंटी शामिल नहीं हैं, लेकिन इनमें सीमित नहीं हैं। किसी भी स्थिति में लेखकों या कॉपीराइट धारकों को किसी भी दावे, क्षति या अन्य दायित्व के लिए उत्तरदायी नहीं ठहराया जाएगा, चाहे वह अनुबंध, टॉर्ट या अन्यथा में हो, जो सॉफ़्टवेयर या सॉफ़्टवेयर के उपयोग या अन्य लेन-देन से उत्पन्न हो।