Как генерировать фиктивные данные в Ruby, Perl и Python

Вы создаете веб-приложение, и вам нужна некоторая реалистичная информация для его внедрения. Вы должны проверить, что ваши функции проверки работают отлично, и убедиться, что ваш продукт действительно работает.

Единственная проблема в том, что вы не можете использовать реальные данные. Есть слишком много юридических и этических соображений, которые вы должны сделать. Действительно, в некоторых юрисдикциях существуют конкретные юридические препятствия для использования реальных данных в средах разработки. Взять, к примеру, Великобританию.

Здесь есть что-то под названием «Закон о защите данных 1998 года». Это совершенно недвусмысленно с тем, как компаниям разрешается обрабатывать данные, которые они сохраняют:

Персональные данные должны быть получены только для одной или нескольких определенных и законных целей и не должны обрабатываться каким-либо образом, несовместимым с этой целью или этими целями.

Или, другими словами, данные могут использоваться только в контексте, согласованном с лицом, предоставившим свои данные, хотя и с несколькими исключениями. В результате зачастую невозможно использовать личные данные в среде тестирования или разработки. Итак, как мы можем обойти это?

Легко. Мы генерируем поддельные данные. Но что, если вам нужно генерировать огромное количество реалистичных данных? К счастью, есть ряд библиотек обманщик которые программно создают фиктивную личную информацию, включая имена, адреса электронной почты и номера телефонов.

В этой статье я собираюсь показать вам, как использовать эти библиотеки в ряде популярных языков, включая Ruby, Perl, Python и JavaScript.

Рубин

Я большой поклонник Ruby. Этот язык может понравиться многим, включая одного из лучших менеджеров пакетов, дружелюбное и гостеприимное сообщество разработчиков и здоровую экосистему сторонних библиотек. Это также нелепо легко учиться

,

Чтобы получить доступ к библиотеке Faker для Ruby, сначала необходимо убедиться, что у вас установлен RubyGems. Вы можете получить бинарный файл для выбранной вами платформы разработки на официальном сайте RubyGems.

Затем установите Faker из командной строки:

gem install faker

Возможно, вам придется установить его как root. Если это так, запустите:

sudo gem install faker

А затем запустите ваш любимый текстовый редактор. Теперь мы собираемся создать несколько поддельных имен!

require 'faker'
puts Faker::Name.name

Итак, мы импортируем модуль фейера, а затем распечатываем некоторые имена. Когда вы запустите это, вы должны увидеть что-то вроде этого.

Факер-рубиновые имена

Хорошо, давайте добавим еще кое-что. Мы собираемся сгенерировать некоторые (алгоритмически действительные) номера кредитных карт, адрес электронной почты и почтовый адрес. Добавьте следующие строки.

puts Faker::Address.street_address
puts Faker::Business.credit_card_number
puts Faker::Internet.email

Запустите это снова. Вы увидите что-то подобное.

фальсификатор-рубинового окончательного

Perl

Perl не умер. Нет, сэр Хотя сейчас это едва ли не самый модный и модный язык в этом квартале, у него все еще есть поклонники. Неудивительно, что есть порт Faker для Perl. Но как ты это используешь?

Ну, сначала вам нужно установить его. Я предполагаю, что у вас установлены Perl и CPAN. Если нет, установите его. Если вы используете Windows, могу ли я порекомендовать вам установить Strawberry Perl, которая является зрелой, поддерживаемой сообществом реализацией Perl для Windows XP до 8.1.

В командной строке запустите:

cpan Data::Faker

Вам может быть предложено ввести пароль root, поэтому не уходите. Затем откройте ваш любимый текстовый редактор и создайте файл с именем «data.pl». Внутри добавьте следующие строки.

use Data::Faker;
my $faker = Data::Faker->new();
print $faker->name."\n";
print $faker->street_address."\n";
print $faker->email."\n";

Это должно иметь немало смысла. Мы импортируем Data :: Факер библиотеки, создать экземпляр объекта Faker, а затем распечатать имя, почтовый адрес и адрес электронной почты. Однако вы можете заметить, что мы не создаем номера кредитных карт здесь. Это потому, что порт Perl значительно более ограничен, чем порт Ruby.

Когда вы запустите его, вы должны увидеть что-то вроде этого.

фальсификатор жемчужно

питон

Давайте перейдем к Python. Я много пишу о питоне

и это, без сомнения, мой любимый язык для написания кода. Если у вас есть соблазн попробовать, ознакомьтесь с этой статьей

от моего коллеги Джоэля Ли о сайтах, где вы можете научиться программировать на Python. Также оказывается, что Faker был портирован на этот удивительный язык. Порт Faker в Python уникален тем, что позволяет создавать ложную информацию, специфичную для локали. Вот как вы можете использовать это.

Во-первых, установите Faker. На Python это называется «фабрика фальшивок». Я предполагаю, что у вас установлена ​​текущая установка pip и Python. Если нет, установите его.

pip install fake-factory

А затем откройте текстовый редактор и добавьте следующие строки.

from faker import Factory
fake = Factory.create()
print(fake.name())
print(fake.street_address())

Запустите его, и вы увидите это.

Факер-питон

Хорошо, а как насчет тех других локалей, которые мы обсуждали? Предположим, мы хотим генерировать поддельную информацию, специфичную для Франции? Это легко. Мы просто проходим Factory.create () соответствующая строка кода языка ISO. Итак, для французского мы пишем:

fake = Factory.create('fr_FR')

Который (когда выполняется) производит это:

Факер-питон-французский

Круто, верно?

Заключение

Faker — мощный инструмент для тех инструментов построения, где им нужен доступ к реалистичной информации, без нарушения каких-либо правил защиты данных. Хотя поддержка не является согласованной (или полной) для всех языков, она остается довольно полезным инструментом.

Стоит отметить, что пока мы обсуждали Faker в контексте Perl, Python и Ruby, он также доступен для PHP и JavaScript, хотя стоит отметить, что порт JavaScript на самом деле не так уж и полезен. Код для этой статьи доступен в моем профиле Github.

Как всегда, дайте мне знать ваши мысли на этот пост и напишите мне комментарий.

Ссылка на основную публикацию
Adblock
detector