Детальний огляд сторонніх командних інструментів у локальному середовищі ServBay
ServBay — це потужне локальне середовище для веб-розробки, яке не лише включає популярні веб-сервери, бази даних і середовища виконання мов програмування, а й заздалегідь оснащене низкою корисних сторонніх інструментів командного рядка. Ці інструменти охоплюють ключові сфери: обробку зображень, мережеві комунікації, стиснення та розпакування файлів, шифрування та безпеку.
У цій статті докладно представлені включені у ServBay інструменти командного рядка, їх призначення і базові приклади використання, що допоможе вам максимально ефективно працювати у середовищі ServBay.
Чому до складу ServBay входять ці інструменти?
Під час веб-розробки, окрім написання коду, розробникам часто потрібно:
- Оптимізувати або обробляти графічні ресурси.
- Тестувати API чи відлагоджувати мережеві запити.
- Керувати архівами та стиснутими файлами.
- Створювати чи керувати SSL-сертифікатами та ключами.
ServBay інтегрує популярні інструменти напряму у середовище, тож немає потреби у додатковому встановленні чи налаштуванні — ними можна користуватися одразу в терміналі ServBay, що істотно економить ваш час.
Перед початком
Перед використанням нижченаведених командних інструментів переконайтесь, що:
- ServBay успішно встановлений та запущений у вашій системі macOS.
- Ви ввійшли у середовище ServBay через його термінал, або додали змінні середовища ServBay до системи, щоб мати безпосередній доступ до інструментів.
Інструменти для обробки зображень
ServBay містить низку командних інструментів для роботи із графікою, що стане у пригоді як фронтенд-розробникам, так і бекендеру, який працює з мультимедіа.
ImageMagick
ImageMagick — це потужний набір командних утиліт і бібліотек, який підтримує понад 200 форматів зображень. Дозволяє створювати, редагувати, компонувати чи конвертувати растрові зображення.
Базове використання
Перетворення формату зображення:
bashmagick convert input.jpg output.png
1Зміна розміру зображення:
bashmagick convert input.jpg -resize 300x300 output.jpg
1Додавання водяного знаку:
bashmagick convert input.jpg -gravity southeast -draw "text 10,10 'ServBay'" output.jpg
1
cwebp
cwebp — це інструмент від Google для конвертації зображень у формат WebP. WebP — сучасний формат, що зазвичай забезпечує кращу якість при меншому розмірі файла у порівнянні з JPEG та PNG, що допомагає пришвидшити завантаження сайтів.
Базове використання
Конвертація JPEG у WebP:
bashcwebp input.jpg -o output.webp
1Конвертація PNG у WebP:
bashcwebp input.png -o output.webp
1Задання якості стиснення (наприклад, коефіцієнт якості 80):
bashcwebp -q 80 input.jpg -o output.webp
1
jpegtran
jpegtran — це беззбитковий конвертер форматів JPEG, що дозволяє обертати, перевертати та переставляти зображення без перекодування та втрати якості.
Базове використання
Обертання зображення JPEG на 90° за годинниковою стрілкою:
bashjpegtran -rotate 90 input.jpg > output.jpg
1Горизонтальне віддзеркалення зображення JPEG:
bashjpegtran -flip horizontal input.jpg > output.jpg
1
djpeg
djpeg — це інструмент для розпакування файлів JPEG у сирі піксельні формати (PPM, PGM, BMP чи Targa). Особливо корисно, коли потрібно опрацювати оригінальні пікселі із JPEG.
Базове використання
- Розпакування JPEG у формат PPM:bash
djpeg input.jpg > output.ppm
1
cjpeg
cjpeg виконує зворотну операцію відносно djpeg — стискає зображення у форматах PPM, PGM, BMP чи Targa у формат JPEG.
Базове використання
- Стискання PPM у JPEG:bash
cjpeg input.ppm > output.jpg
1
img2webp
img2webp створює анімовані WebP із серії статичних зображень (PNG, JPEG тощо).
Базове використання
- Комбінування декількох зображень в анімацію WebP:bash(Переконайтесь, що
img2webp -o output.webp frame1.png frame2.png frame3.png
1frame*.png
— це впорядкована послідовність кадрів)
Мережеві інструменти
cURL
cURL — надзвичайно популярний інструмент для передачі даних по різних мережевих протоколах. Незамінний для тестування API, завантаження файлів, спілкування з віддаленими серверами. В середовищі ServBay він уже інтегрований для зручного мережевого дебагу і взаємодії з даними.
Базове використання
Надіслати HTTP GET-запит до тестового API:
bashcurl -X GET https://api.servbay.demo/data
1Надіслати HTTP POST-запит із даними:
bashcurl -X POST -d "param1=value1¶m2=value2" https://api.servbay.demo/data
1Завантажити файл із збереженням вихідного імені:
bashcurl -O https://servbay.demo/file.zip
1Переглянути заголовки запиту та відповіді:
bashcurl -I https://servbay.demo
1
Інструменти для стискання та архівації
У ServBay є широкий вибір популярних утиліт для стиснення та розпаковування, тож ви легко впораєтесь із файлами у будь-якому поширеному архівному форматі.
bzip2
bzip2 — ефективний інструмент для стиснення, заснований на алгоритмах Burrows-Wheeler та Хаффмана. Зазвичай створює менші файли, ніж gzip, але працює трохи повільніше.
Базове використання
Стиснення файлу (оригінал буде замінено на
.bz2
версію):bashbzip2 input.txt
1Розпаковка файлу (
.bz2
буде замінено на оригінальний):bashbunzip2 input.txt.bz2
1Розпаковка у стандартний вивід:
bashbzip2 -dc input.txt.bz2
1
gzip
gzip — дуже розповсюджений засіб для стискання, особливо у системах Unix та Linux. Заснований на алгоритмі LZ77, відзначається високою швидкістю стискання та розпаковки.
Базове використання
Стиснення файлу (оригінал замінюється на
.gz
):bashgzip input.txt
1Розпаковка файлу (
.gz
замінюється на початковий):bashgunzip input.txt.gz
1Розпаковка у стандартний вивід:
bashgzip -dc input.txt.gz
1
xz
xz — ефективний архіватор, що базується на алгоритмі LZMA2. Дає вищий коефіцієнт стиснення, ніж gzip та bzip2, але архівація відбувається повільніше (розпакування швидке).
Базове використання
Стиснення файлу (оригінал замінюється на
.xz
):bashxz input.txt
1Розпаковка файлу (
.xz
замінюється на вихідний):bashunxz input.txt.xz
1Розпаковка у стандартний вивід:
bashxz -dc input.txt.xz
1
zstd
zstd (Zstandard) — швидкий беззбитковий засіб стиснення від Facebook. Чудово підходить для балансування швидкості та ефективності стиснення, часто працє значно швидше gzip при схожому або кращому коефіцієнті стиснення.
Базове використання
Стиснення файлу (оригінал замінюється на
.zst
):bashzstd input.txt
1Розпаковка файлу (
.zst
замінюється на вихідний):bashunzstd input.txt.zst
1Розпаковка у стандартний вивід:
bashzstd -dc input.txt.zst
1
Інструменти для шифрування та безпеки
OpenSSL
OpenSSL — потужний open-source набір утиліт для реалізації протоколів SSL і TLS, а також багатьох криптографічних операцій. У середовищі ServBay OpenSSL надзвичайно важливий для генерації ключів, створення запитів на підпис сертифіката (CSR), роботи з сертифікатами — особливо для локального тестування HTTPS чи у зв’язці із ServBay User CA або ACME.
Базове використання
Генерація приватного ключа RSA (2048 біт):
bashopenssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
1Створення публічного ключа з приватного:
bashopenssl rsa -pubout -in private_key.pem -out public_key.pem
1Створення запиту на підпис сертифіката (CSR):
bashopenssl req -new -key private_key.pem -out request.csr
1(Після запуску команди вам буде запропоновано ввести країну, організацію, загальне ім’я й інші параметри сертифіката)
Створення самопідписаного сертифіката для локального тестування:
bashopenssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1(Зверніть увагу:
-in request.csr
означає, що ви вже створили CSR. Для швидких тестів можна об’єднати генерацію ключа й сертифіката однією командою, але це рекомендовано лише для найпростіших сценаріїв.)Перегляд інформації про сертифікат:
bashopenssl x509 -in certificate.crt -text -noout
1
Зауваження
- Версії інструментів залежать від версії ServBay та її складу.
- Всі утиліти доступні напряму з терміналу ОС. Якщо деякі не запускаються — переконайтесь, що змінні середовища (особливо PATH) ServBay налаштовано коректно.
Висновки
ServBay — це значно більше, ніж просто локальне веб-середовище. Воно містить безліч корисних сторонніх інструментів командного рядка, які розширюють можливості платформи й дають змогу швидко виконувати завдання з обробки графіки, мережевої діагностики, роботи з файлами та безпеки. Освоївши ці інструменти, ви зможете ще ефективніше реалізовувати свої проекти й покращити власний досвід розробки.