Учебные материалы по Ruby On Rails

На русском языке

http://rusrails.ru/

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

Переводы постоянно актуализируются и добавляются. Код проекта и тексты переводов открыты и размещены на Гитхабе. Желающим помочь всегда рады! Форкайте, предлагайте изменения, вносите их, отправляйте пул-реквесты!

На английском языке

https://rubyonrails.org/

Официальный сайт. Платформа веб-приложений, включающая все необходимое для создания веб-приложений на основе базы данных в соответствии с шаблоном Model-View-Controller (MVC).

Cервис для семантического анализа текстов

ISTIO.COM

Это бесплатный онлайн сервис работы с текстами. Предназначен для копирайтеров и заказчиков статей. Анализирует такие SEO параметры, как длина текста, количество слов, тошнота, плотность ключевых слов, вода в тексте (водность), орфографию и опечатки.

Введение в Linux

В настоящее время, семейство операционных систем Linux является одним из двух самых популярных в мире, наравне с операционными системами семейства Windows.  Данное семейство операционных систем является одним из ответвлений операционных систем семейства Unix.

Наиболее популярные дистрибутивы данного семейства: Ubuntu (Desktop или Server) и CentOS (Desktop или Server).

Дистрибутив — это форма распространения программного обеспечения, то есть программное обеспечение может распространятся в виде файлов, архива с файлами или в виде упакованного файла-дистрибутива с  удобной программой-распаковщиком и выбором настроек.

Данные операционные системы можно установить, как на реальную машину (ПК, ноутбук, сервер), так и на виртуальную машину, сервер, облако. Многие компании в настоящее время выбирают данное семейство операционных систем для работы своих сервисов, таких как FTP-, WEB-сервера, сервера баз данных и многих других. Данные операционные системы считаются более надежными, чем операционные системы семейства Microsoft.

Все операционные системы семейства Linux можно разделить на 3 больших группы DesktopServerSpecial Edition. Все три группы операционных систем очень близки по своему функционалу, и их отличие состоит в назначении самой операционной системы и установленных пакетах (программах). Любые пакеты легко устанавливаются и стираются различия между группами операционных систем, но согласитесь, что достаточно удобно, когда мы берем готовый дистрибутив (далее по тексту «сборка») и после его установки получаем готовую к работе операционную систему со всеми пакетами.

Как можно догадаться Desktop сборка – это дистрибутив, предназначенный для работы на пользовательском ПК. Основное его отличие в том, что данная сборка включает в себя основной компонент это GUI  (Graphical User Interface), графический интерфейс пользователя, а говоря простыми словами — понятный инструмент взаимодействия операционной системы и человека, включающий набор графических оболочек для популярных программ. Ниже пример рабочего стола операционной системы CentOS.

CentOS 9 Desktop

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

Репозитории ― это хранилища в Интернете, в которых находятся файлы пакетов приложений Linux. Практически у каждого дистрибутива Linux есть свой репозиторий, который содержит проверенные и стабильные версии программ.

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

Обычно данную сборку ставят на сервера или виртуальные машины, которые должны обеспечивать работу определенного сервиса. Пример: на виртуальный сервер, который поддерживает работу интернет сайта, устанавливаются пакеты веб-сервера Apache или Nginx, базы данных MySQL или MariaDB и так далее. Рабочее пространство или интерфейс взаимодействия между операционной системой и пользователем, представляется в виде командной строки и курсора с приглашением для ввода команд. Пользователь вводит команды, а программный интерпретатор их воспринимает и передает в операционную систему на исполнение.

Вот примерно в таком интерфейсе происходит работа в серверной операционной системе.

CentOS 9 Server

Рассмотрим последнюю группу специализированных сборок Special Edition. Ярким представителем является сборка Kali Linux. Данная сборка позиционируется, как инструмент для пентестеров и специалистов по информационной безопасности. Данная сборка содержит набор пакетов для проведения комплексной проверки на проникновение и взлом. В нее входят такие программы для сбора информации об удаленной системе, программы для поиска уязвимостей, программы для проведения атак на удаленные ресурсы, программы для социальной инженерии.

Существует и российская разработка — дистрибутив AstraLinux. Она отличается от классического дистрибутива на базе Debian повышенной взломостойкостью, внедренной мандатной моделью разграничения доступа. Данная сборка устанавливается в силовых ведомствах РФ. 

Если рассматривать семейство операционных систем Linux в совокупности, то мы можем видеть, что под конкретную задачу подбирается свой дистрибутив операционной системы и набор приложений для обеспечения работоспособности сервисов. Можно отметить также, что их объединяет – это принципы работы ядра операционной системы (в данном контексте имеется в виду, что ядро базовое — Unix, а дополнительные компоненты можно в него включить), принципы построения файловых структур, принципы работы с устройствами и сетевыми устройствами.

Нужно также отметить, что Linux – Open Source проект, то есть программное обеспечение с открытым исходным кодом. Каждый желающий может просмотреть данный код, в том числе на предмет закладок или написать свою программу.

Большинство софта и дистрибутивов бесплатное, но существуют и отдельные коммерческие проекты, которые взимают плату за техническую поддержку, например RHEL – Red Hat Enterprise Linux. Это сборка предназначена для серверов и считается наиболее удачной. Сборка CentOS является ее бесплатным аналогом.

Изучение Linux поможет:

Кому будет интересно семейство операционных систем Linux:

  • Системным администраторам для развертывания сервисов. Для семейства операционных систем Linux практически не существует вирусов, а защита от проникновения на пару порядков выше.
  • Разработчикам ПО и WEB сайтов, так как удобство работы со структурой сайтов и написание кода, внедрения и развертывания в тестовой среде и в продуктивной, практически неоспоримо. 
  • DevOPS инженерам, которые развертывают тестовые и продуктовые контуры для разработчиков. 
  • Обычным пользователям, которые хотят научится чему, то новому, более безопасному, чем Windows.

Manjaro Linux

Manjaro Linux или Manjaro — дистрибутив GNU/Linux, основанный на Arch Linux, использующий модель обновлений rolling release. Официально доступно несколько версий: с рабочим окружением Xfce, KDE Plasma или GNOME.

Manjaro делает упор на удобство использования и доступность, а сама система предназначена для работы полностью «прямо из коробки» с разнообразным предустановленным программным обеспечением. Он имеет модель обновлений rolling и использует Pamac в качестве диспетчера пакетов.

Manjaro обладает полной поддержкой мультимедиа, распознаёт оборудование, поддерживает несколько ядер, в том числе и rc. В версии 0.8.3 использовался текстовый установщик, в версии 0.8.8 кроме него также предлагается к использованию Thus — разрабатываемый установщик с графическим интерфейсом. Модель rolling release означает, что у пользователя нет необходимости в переустановке системы. Управление пакетами осуществляется pacman, а также его графическими фронт-эндами Pamac (XFCE) и Octopi (OpenBox). С ноября 2017 официально поддерживается только 64-bit версия, а 32-bit версия существует как отдельный проект, поддерживаемый сообществом.

Для управления репозиториями используется BoxIt.

Ссылка на дистрибутив: https://manjaro.org/

Сервисы для автоматического форматирования JavaScript кода

BEAUTIFIER.IO (ex. jsbeautifier.org)

Украшает, распаковывает или деобфускирует JavaScript и HTML, делает JSON/JSONP читабельным и т. д.

Общие теги шаблона MODX

На этой странице перечислены наиболее часто используемые теги MODX Revolution в помощь любому, кто конвертирует макеты HTML/CSS в шаблоны MODX. Их часто называют «тегами» или «заполнителями» (а иногда и «переменными шаблона»), поэтому мы упоминаем эти термины здесь как помощь в поиске, хотя с технической точки зрения они не являются заполнителями или переменными шаблона: это теги MODX. Да, это может сбить с толку новичка, поэтому просто помните, что существуют разные виды этих тегов, каждый со своим назначением и названием. Заполнители задаются в коде и отображаются с тегами заполнителей. Переменные шаблона — это дополнительные поля содержимого ресурса, созданные пользователем. Их можно рассматривать как настраиваемые поля. Ни заполнители, ни переменные шаблона не устанавливаются ядром MODX заранее.

Теги поля содержимого ресурса по умолчанию

В MODX Revolution каждая страница всегда будет иметь следующие поля содержимого, которые вы можете использовать при создании своих шаблонов. За исключением идентификатора ресурса и родительского поля, все они предоставляются пользователем при редактировании ресурса и могут быть пустыми, если пользователь их не заполнил:

ЯрлыкОписаниеПример использования
[[*id]]Идентификатор ресурса страницы (устанавливается MODX при создании страницы.Часто используется в сочетании с синтаксисом ссылки, например <a href="[[~[[*id]]]]">Bookmark this page!</a>
[[*pagetitle]]Название страницы.<title>[[*pagetitle]]</title>
[[*longtitle]]Длинное название страницы<h1>[[*longtitle]]</h1>
[[*alias]]Асевдоним страницы.Используется для создания URL-адреса страницы.
[[*description]]Страница Описание<meta name="description" content="[[*description]]"/>
[[*introtext]]Поле «Вводный текст» (также известное как сводка).Часто используется Snippets для обобщения постов, например<div id="summary">[[*introtext]]</div>
[[*parent]]ID родительской страницы (если есть). Устанавливается MODX при создании страницы. Может быть изменен пользователем.Часто используется в сочетании с синтаксисом ссылки, например<a href="[[~[[*parent]]]]">Up to parent page</a>
[[*menutitle]]Заголовок, используемый, когда страница появляется в меню.Чаще всего используется сниппетами, такими как Wayfinder или pdoMenu, при динамическом построении меню .
[[*content]]Содержание страницы.<body>[[*content]]</body>

Другие общие теги

Эти теги представляют системные настройки, которые можно редактировать в меню «Система» -> «Настройки системы» .

ЯрлыкОписаниеПример использования
[[++site_url]]Содержит URL вашего сайта, например http://www.yoursite.com/Во многих CMS, которые полагаются на перезапись Apache, обычной практикой является включение базового тега в ваш HTML-заголовок: <base href="[[++site_url]]" />
[[++site_name]]Название сайта`

Источник: https://docs.modx.com/current/en/building-sites/tag-syntax/common

Получение списка имен файлов в папке, соответствующих шаблону при помощи PowerShell

Для рекурсивного поиска файлов в папке используйте команду:

Get-ChildItem -Path $path -Recurse -Filter "*sample*"

Это должно вернуть все файлы и папки , в имени которых есть образец. Если вам просто нужны файлы или каталоги, вы сможете использовать переключатели -File или -Directory возвращать эти конкретные типы объектов.