شرح مفصل لأدوات سطر الأوامر الطرف الثالث في بيئة ServBay المحلية
تُعد ServBay بيئة قوية لتطوير الويب محليًا، حيث لا تقتصر فقط على دمج خوادم الويب وقواعد البيانات ومترجمات لغات البرمجة الشائعة، بل تأتي أيضًا مجهزة مسبقًا بعدة أدوات سطر أوامر من الطرف الثالث مفيدة جدًا لمهام المطورين اليومية. تغطي هذه الأدوات مجالات رئيسية مثل معالجة الصور، الاتصالات الشبكية، ضغط وفك ضغط الملفات، التشفير والأمان.
تهدف هذه المقالة إلى توضيح الأدوات المدمجة في بيئة ServBay، وشرح وظائفها، وتقديم أمثلة أساسية على استخدامها لمساعدة المطورين في الاستفادة القصوى من مميزات ServBay.
لماذا تتضمن ServBay هذه الأدوات؟
خلال تطوير الويب، بالإضافة إلى كتابة الكود، كثيرًا ما يحتاج المطورون إلى تنفيذ مهام مساعدة متنوعة مثل:
- تحسين أو معالجة موارد الصور.
- اختبار واجهات برمجة التطبيقات (APIs) أو تصحيح واستكشاف طلبات الشبكة.
- إدارة أو التعامل مع الملفات المضغوطة.
- إنشاء أو إدارة شهادات ومفاتيح SSL.
قامت ServBay بدمج هذه الأدوات الشائعة في البيئة، مما يتيح للمطورين استخدامها مباشرة في جلسة الطرفية دون الحاجة إلى تثبيت أو ضبط كل أداة بشكل منفصل، وبالتالي رفع كفاءة وسهولة التطوير بدرجة كبيرة.
المتطلبات
قبل استخدام الأدوات التالية، يرجى التأكد من:
- أنه تم تثبيت وتشغيل ServBay بنجاح على نظام macOS الخاص بك.
- أنك قد دخلت إلى بيئة 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 هي أداة تتيح دمج عدة صور ثابتة (مثل PNG وJPEG) لإنشاء ملف WebP متحرك واحد.
الاستخدام الأساسي
- دمج عدة صور في ملف WebP متحرك:bash(يرجى التأكد من أن الصور
img2webp -o output.webp frame1.png frame2.png frame3.png
1frame*.png
مرتبة بالترتيب الصحيح للإطارات)
مكونات الاتصالات الشبكية
cURL
cURL أداة شهيرة ومستخدمة على نطاق واسع لسطر الأوامر والمكتبات، تتيح نقل البيانات باستخدام بروتوكولات شبكة متنوعة. تعتبر أداة ضرورية لاختبار الـ APIs، تحميل الملفات، والتواصل مع الخوادم عن بعد. يأتي cURL مدمجًا مع 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 وترميز Huffman. غالبًا ما تنتج ملفات أصغر من gzip، لكن قد تكون سرعات الضغط وفك الضغط أبطأ قليلاً.
الاستخدام الأساسي
ضغط ملف (يُستبدل الملف الأصلي بملف
.bz2
):bashbzip2 input.txt
1فك ضغط ملف (يُستبدل ملف
.bz2
بالملف الأصلي):bashbunzip2 input.txt.bz2
1فك الضغط إلى المخرجات القياسية:
bashbzip2 -dc input.txt.bz2
1
gzip
gzip أداة ضغط شائعة جدًا خاصة في أنظمة Unix وLinux، تستخدم ترميز Lempel-Ziv (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 هي مجموعة أدوات قوية مفتوحة المصدر تدعم بروتوكولي SSL (طبقة المقابس الآمنة) وTLS (أمان طبقة النقل)، كما توفر قدرات تشفير متنوعة. في ServBay، تعتبر OpenSSL أداة مهمة لإنشاء المفاتيح، وإنشاء طلبات توقيع الشهادات (CSR)، وإدارة ملفات شهادات SSL، خاصة عند إجراء اختبارات HTTPS محليًا أو استخدام شهادات ServBay الخاصة (كـ 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.
- يمكن الوصول لجميع الأدوات مباشرة من جلسة الطرفية لنظام التشغيل. إذا لم تتمكن من استخدامها، يرجى التأكد من ضبط متغيرات البيئة الخاصة بـ ServBay (خاصة PATH) بشكل صحيح.
الخلاصة
تقدم ServBay أكثر من مجرد بيئة تطوير ويب محلي، فهي تدمج العديد من أدوات سطر الأوامر الطرف الثالث المفيدة التي توسّع من قدراتها بشكل كبير، وتساعد المطورين في أداء مهام معالجة الصور، تصحيح الشبكة، إدارة الملفات، والعمليات الأمنية بكفاءة أكبر. التعرف الجيد على هذه الأدوات المدمجة واستغلالها بشكل صحيح سيزيد من فعالية وسلاسة تجربتك التطويرية.