Статьи

Пять популярных проектов с открытым исходным кодом, которые используют Ruby

Неделя с открытым исходным кодом

Это неделя с открытым исходным кодом в SitePoint! Всю неделю мы публикуем статьи, посвященные всему, что связано с открытым исходным кодом, свободным программным обеспечением и сообществом, поэтому постоянно проверяйте тег OSW на наличие последних обновлений.

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

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

Примечание: список не в каком-либо определенном порядке.

Доморощенный / варево [4,725 ★]

Как вы можете внести свой вклад

Вы можете найти список рассылки homebrews в группах Google .

доморощенного-логотип

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

Возможно, в прошлом вы работали с машиной Linux и влюбились в простой процесс установки программного обеспечения. Это именно то, что пытается сделать Homebrew: упростить установку и поиск приложений в MacOS. Homebrew также известен под слоганом « Отсутствующий менеджер пакетов для MacOS ».

Установка Homebrew

Откройте свой терминал и вставьте эту строку в:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Прежде чем приступить к установке, он покажет вам, что именно делает, а затем продолжит. Поскольку Homebrew имеет открытый исходный код, вы также можете проверить код установщика, прежде чем устанавливать его на свой компьютер.

доморощенного установить

Теперь установка многих приложений — это всего лишь одна команда:

 $ brew install tmux
==> Summary
?  /usr/local/Cellar/openssl/1.0.2j: 1,695 files, 12M
==> Installing tmux dependency: libevent
==> Downloading https://homebrew.bintray.com/bottles/libevent-2.0.22.sierra.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring libevent-2.0.22.sierra.bottle.1.tar.gz
?  /usr/local/Cellar/libevent/2.0.22: 734 files, 2.0M
==> Installing tmux dependency: utf8proc
==> Downloading https://homebrew.bintray.com/bottles/utf8proc-2.0.2.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring utf8proc-2.0.2.sierra.bottle.tar.gz
?  /usr/local/Cellar/utf8proc/2.0.2: 8 files, 617.6K
==> Installing tmux
==> Downloading https://homebrew.bintray.com/bottles/tmux-2.3_1.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring tmux-2.3_1.sierra.bottle.tar.gz
==> Caveats
Example configuration has been installed to:
  /usr/local/opt/tmux/share/tmux

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
?  /usr/local/Cellar/tmux/2.3_1: 10 files, 652.4K

Homebrew также разделяет идею других менеджеров пакетов, которые извлекают пакеты из удаленного репозитория. Braumeister — это приложение Rails, где вы можете искать пакеты. Альтернативно вы можете искать из командной строки:

 brew search tmux

дискурс / дискурс [19,805 ★]

Как вы можете внести свой вклад

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

дискурс-логотип

Дискурс — это платформа для общения, он пытается работать как список рассылки и форум. Его основал один из соучредителей Stack Overflow и Stack Exchange. Именно здесь он получил вдохновение для разработки Discourse как форума с большим количеством дискуссий, поскольку Stack Overflow старается быть более сосредоточенным на вопросах и ответах и ​​не дает много места для общего обсуждения. Он используется многими компаниями в коммерческом мире, а также сообществами с открытым исходным кодом, такими как Mozilla. Кстати, Форумы SitePoint основаны на Дискурсе.

Предоставляя преимущество в том, что это открытый исходный код, вам не нужно передавать свои данные сторонним поставщикам. У него очень быстрый интерфейс, и пока вы читаете тему или отвечаете на какие-либо комментарии, он обновляется в режиме реального времени, поэтому вы автоматически получаете новые ответы. Он действительно настраиваемый и может подходить для различных целей компании / проекта. Создание тем, опросов, категорий очень просто, и вы можете делать сложные поиски. Рассматривая возможность расширить свою функциональность с помощью плагинов, Discourse представляет собой действительно отличную альтернативу форумам старого типа. Дискурс также имеет мобильное приложение для уведомлений и просмотра.

Развиваясь на дискурсе

Дискурс построен на мощной платформе Ruby on Rails. Если вы хотите вложить в него больше средств разработки, самый простой способ — скачать файл vagrant, содержащий полную среду разработки. Для более подробной информации о разработке вы можете проверить документацию на GitHub .

rapid7 / metasploit-framework [7,097 ★]

Как вы можете внести свой вклад

Вы можете найти систему отслеживания проблем здесь , а также доступен портал сообщества и канал IRC: #metasploit @ irc.freenode.net.

Metasploit-логотип

Metasploit — это платформа для тестеров на проникновение, аудиторов безопасности и энтузиастов кибербезопасности. Первоначально он был построен на языке программирования Perl, но с 2007 года он полностью переписан на Ruby. Сейчас это стандарт среди инструментов для анализа безопасности и компьютерной криминалистики. Он уже предустановлен на разных машинах GNU / Linux, которые сосредоточены на тестировании, таких как Kali Linux. Он работает на Windows, MacOS и GNU / Linux.

Metasploit предоставляет платформу для тестирования серверов, сетей, операционных систем, веб-серверов, FTP-серверов, атак на стороне клиента, мобильных телефонов и т. Д.

Доступ к инфраструктуре Metasploit может осуществляться через различные интерфейсы / режимы. У нас есть msfconsole , похожий на консольный интерфейс, где у вас есть только текстовый режим и вы вводите команды. Есть Armitage, который является графическим интерфейсом. Использование Armitage имеет свои преимущества, потому что это проще, если у вас есть несколько целей для анализа. Кроме того, исследование полезных нагрузок (скриптов) намного проще в Armitage, так как у вас есть файловый менеджер, прикрепленный в главном окне. Armitage также имеет консоль msfconsole, прикрепленную в нижней части окна.

msfconsole

msfconsole

Армитаж

Армитаж

Создать свои собственные скрипты в Metasploit очень просто. Большинство модулей Metasploit написаны на Ruby, и вы можете найти пример кода в их репозитории здесь . Если вы хотите простое руководство о том, как написать свой первый эксплойт с Metasploit, ознакомьтесь с этим руководством .

Стимпи / Факер [4,537 ★]

Как вы можете внести свой вклад

Если вы хотите добавить больше данных в фейкер, вы можете отправить запрос на извлечение , но перед отправкой вам следует ознакомиться с его кратким руководством . Существует также группа Google, где вы можете общаться.

обманщик

Еще один проект, попавший в наш список, — это Faker . Если вы находитесь в положении, когда вам нужны поддельные данные, чтобы представить что-то своему клиенту или боссу, Faker — ваша проблема. Конечно, вашей первой мыслью может быть: «Пойдем и возьмем где-нибудь Lorem Ipsum», но это не всегда помогает. Возможно, вы захотите представить номера телефонов, адреса, кредитные карты и т. Д. Для этого Faker может быть очень удобным инструментом в вашем проекте.

Faker — это библиотека для создания поддельных данных, она содержит большое разнообразие данных из имен, адресов, продуктов питания, цветов и т. Д.

Установка и использование

 gem install faker

Импортируйте его в свой проект:

 require 'faker'

Входные данные:

 Faker::Name.name

Выход:

 **=> Luther Keebler**

Входные данные:

 Faker::PhoneNumber.cell_phone

Выход:

 **=> 196-251-1860**

Входные данные:

 Faker::Vehicle.manufactur

Выход:

 **=> "FIAT DIESEL BRASIL S/A"**

Здесь большой список примеров. Вам больше не придется использовать скучные скриншоты ваших проектов.

jordansissel / fpm [7,143 ★]

Как вы можете внести свой вклад

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

п

Упаковка программного обеспечения никогда не бывает простой, так много операционных систем, так много разных версий? Разные менеджеры пакетов Linux для разных дистрибутивов? О чувак!

К счастью, есть кое-что, что может вам помочь. На GitHub есть активный проект, который делает этот процесс вменяемым. Неважно, является ли ваш проект просто Gemfile или простым каталогом с файлами конфигурации, FPM всегда в вашем распоряжении.

Что FPM покрывает на данный момент:

расширение цель
дебютантка Дистрибутив на основе Debian
оборотов в минуту RedHat-дистрибутив
Солярис Oracle Solaris
FreeBSD FreeBSD
упак MacOS
pacman ArchLinux

пример

Давайте попробуем сделать пакет из драгоценного камня Faker, обсуждавшегося выше.

Входные данные:

 fpm -s gem -t rpm faker

С помощью -s-t При упаковке гема его не нужно устанавливать в нашей системе, поскольку он будет извлекать его непосредственно из Rubygems.

Выход:

 rubygem-faker-1.6.6-1.noarch.rpm

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

 fpm -s dir -t deb -C ~/project --name project_name --version 1.2.0 --iteration 1 --depends  redhat_dependency1 --description "A SitePoint Package".

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

Вывод

Это были лишь некоторые из самых популярных проектов этого месяца для Ruby на GitHub. Некоторые из этих проектов могут быть новыми для вас, или, может быть, вы не знали, что они были созданы с Ruby. Это ставит Ruby на очень прочную основу, которая по-прежнему актуальна и используется в действительно интересных проектах. Завершая эту статью о неделе открытого кода, мы должны постараться быть не только потребителями открытого кода, но и участниками. Возможно, ваш проект Ruby попадет в этот список в ближайшие месяцы. 🙂