English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
ఈ పత్రాన్ని ఆటోమేటిక్గా అనువదించారు. అనువాద లోపాలు ఉంటే దయచేసి ఓపెన్ చేయండి
ప్రాజెక్ట్లో పుల్ రిక్వెస్ట్ మరియు అనువదించిన ఫైల్ను docs/{ISO 639-1 కోడ్}.mdకి జోడించండి.
మీరు అక్టోబర్ 2023 వరకు డేటాపై శిక్షణ పొందారు.
Faker Storage అనేది పెద్ద పరిమాణంలో నకిలీ డేటా ఫైళ్లను సమర్థవంతంగా ఉత్పత్తి చేయడానికి మరియు నిల్వ చేయడానికి రూపొందించిన అధిక-పనితీరు PHP ప్యాకేజీ. ఇది సమాంతరంగా వేలాది ఫైళ్లను ఉత్పత్తి చేయడానికి Swoole లేదా PCNTL ను ఉపయోగిస్తుంది, ఇది లోడ్ టెస్టింగ్, అభివృద్ధి వాతావరణాలు మరియు నిల్వ వ్యవస్థ బెంచ్మార్కింగ్ కోసం అనుకూలంగా ఉంటుంది.
ఈ ప్యాకేజీ వివిధ ఫైల్ రకాలను ఉత్పత్తి చేయడానికి ఒక సులభమైన API ని అందిస్తుంది, ఇందులో చిత్రాలు (PNG, JPG, GIF, BMP, WEBP, AVIF), టెక్స్ట్ ఫైళ్లు, CSV ఫైళ్లు, బైనరీ డేటా మరియు 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
అత్యుత్తమ పనితీరు కోసం, Swoole విస్తరణను ఇన్స్టాల్ చేయండి:
pecl install swoole
ప్యాకేజీ Swoole అందుబాటులో ఉంటే ఆటోమేటిక్గా ఉపయోగిస్తుంది, లేకపోతే PCNTLకి ఫాల్బ్యాక్ అవుతుంది.
అన్ని జనరేటర్లు ఒకే విధానాన్ని అనుసరిస్తాయి:
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();
ఫేకర్ నిల్వ లీగ్ ఫ్లైసిస్టమ్ను నిల్వ సారాంశం కోసం ఉపయోగిస్తుంది:
use League\Flysystem\Filesystem;use League\Flysystem\Local\LocalFilesystemAdapter; // స్థానిక నిల్వ$filesystem = new Filesystem(new LocalFilesystemAdapter('/path/to/storage')); Faker::make(Png::class) ->toDisk($filesystem) ->generate();
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(); // Swoole-స్పెసిఫిక్: ప్రతి థ్రెడ్కు థ్రెడ్లు మరియు కోరౌటీన్లను సెట్ చేయండి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 // క్రమానుగత సంఖ్య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();
ప్రతి ఫైల్కు బేస్ సీడ్ మరియు ఫైల్ సూచిక నుండి ఉత్పన్నమైన ఒక ప్రత్యేక నిర్ణీత సీడ్ లభిస్తుంది.
అన్ని చిత్రం జనరేటర్లు పరిమాణం మరియు నాణ్యత కాన్ఫిగరేషన్ను మద్దతు ఇస్తాయి.
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();
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();
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();
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();
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();
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 ఫైల్లను ఉత్పత్తి చేయండి:
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;}
మీరు అక్టోబర్ 2023 వరకు డేటా పై శిక్షణ పొందారు.
ఈ పద్ధతులు అన్ని 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 మా చెల్లింపు ఉత్పత్తులను, కమ్యూనిటీ పుల్ అభ్యర్థనలను మరియు సమస్యల కోసం అందుకున్న ఆర్థిక మద్దతును ఎలా ప్రభావితం చేస్తాయో బట్టి బగ్లకు ప్రాధాన్యత ఇస్తుంది.
కాపీరైట్ © డిఫెక్టివ్ కోడ్, LLC. అన్ని హక్కులు రిజర్వ్ చేయబడ్డాయి
ఈ సాఫ్ట్వేర్ మరియు అనుబంధ డాక్యుమెంటేషన్ ఫైళ్ల ( "సాఫ్ట్వేర్") యొక్క కాపీని పొందిన ఏ వ్యక్తికైనా, పరిమితులు లేకుండా, ఉచితంగా, ఈ సాఫ్ట్వేర్ను ఉపయోగించడానికి, కాపీ చేయడానికి, సవరించడానికి, విలీనం చేయడానికి, ప్రచురించడానికి, పంపిణీ చేయడానికి, ఉప లైసెన్స్ ఇవ్వడానికి మరియు/లేదా సాఫ్ట్వేర్ యొక్క కాపీలను అమ్మడానికి మరియు అందించిన వ్యక్తులకు ఈ విధంగా చేయడానికి అనుమతించడానికి అనుమతి ఇవ్వబడింది, ఈ క్రింది షరతులకు లోబడి:
పై కాపీరైట్ నోటీసు మరియు ఈ అనుమతి నోటీసు సాఫ్ట్వేర్ యొక్క అన్ని కాపీలలో లేదా ముఖ్యమైన భాగాలలో చేర్చబడాలి.
సాఫ్ట్వేర్ "అలాగే" అందించబడింది, ఎటువంటి రకమైన హామీ లేకుండా, వ్యక్తపరచబడిన లేదా సూచించిన, కానీ పరిమితం చేయబడకుండా, విక్రయయోగ్యత, నిర్దిష్ట ప్రయోజనానికి సరిపోవడం మరియు ఉల్లంఘనకు హామీలు కూడా ఉన్నాయి. ఏ సందర్భంలోనూ రచయితలు లేదా కాపీరైట్ హోల్డర్లు ఏదైనా క్లెయిమ్, నష్టాలు లేదా ఇతర బాధ్యతకు బాధ్యులు కాదు, ఒప్పందం, టార్ట్ లేదా వేరే విధంగా, సాఫ్ట్వేర్ నుండి లేదా సాఫ్ట్వేర్ ఉపయోగం లేదా ఇతర లావాదేవీలలో ఉత్పన్నమయ్యే.
మీరు అక్టోబర్ 2023 వరకు డేటాపై శిక్షణ పొందారు.