شرح مفصل لأدوات سطر الأوامر الطرف الثالث في بيئة ServBay المحلية
تُعد ServBay بيئة قوية لتطوير الويب محليًا، حيث لا تقتصر فقط على دمج خوادم الويب وقواعد البيانات ومترجمات لغات البرمجة الشائعة، بل تأتي أيضًا مجهزة مسبقًا بعدة أدوات سطر أوامر من الطرف الثالث مفيدة جدًا لمهام المطورين اليومية. تغطي هذه الأدوات مجالات رئيسية مثل معالجة الصور، الاتصالات الشبكية، ضغط وفك ضغط الملفات، التشفير والأمان.
تهدف هذه المقالة إلى توضيح الأدوات المدمجة في بيئة ServBay، وشرح وظائفها، وتقديم أمثلة أساسية على استخدامها لمساعدة المطورين في الاستفادة القصوى من مميزات ServBay.
لماذا تتضمن ServBay هذه الأدوات؟
خلال تطوير الويب، بالإضافة إلى كتابة الكود، كثيرًا ما يحتاج المطورون إلى تنفيذ مهام مساعدة متنوعة مثل:
- تحسين أو معالجة موارد الصور.
- اختبار واجهات برمجة التطبيقات (APIs) أو تصحيح واستكشاف طلبات الشبكة.
- إدارة أو التعامل مع الملفات المضغوطة.
- إنشاء أو إدارة شهادات ومفاتيح SSL.
قامت ServBay بدمج هذه الأدوات الشائعة في البيئة، مما يتيح للمطورين استخدامها مباشرة في جلسة الطرفية دون الحاجة إلى تثبيت أو ضبط كل أداة بشكل منفصل، وبالتالي رفع كفاءة وسهولة التطوير بدرجة كبيرة.
المتطلبات
قبل استخدام الأدوات التالية، يرجى التأكد من:
- أنه تم تثبيت وتشغيل ServBay بنجاح على نظام macOS الخاص بك.
- أنك قد دخلت إلى بيئة ServBay من خلال الطرفية الخاصة بها أو عبر طرفية النظام مع ضبط متغيرات البيئة لكي تتمكن من نداء هذه الأدوات مباشرة.
مكونات معالجة الصور
تحتوي ServBay على العديد من أدوات سطر الأوامر المتخصصة بمعالجة الصور، وهي مفيدة جدًا لمطوري الواجهة الأمامية والمطورين العاملين مع الموارد الإعلامية.
ImageMagick
ImageMagick عبارة عن مجموعة أدوات ومكتبات لسطر الأوامر غنية بالميزات، تدعم أكثر من 200 تنسيق لملفات الصور، وتوفر إمكانية إنشاء وتحرير وتركيب وتحويل الصور النقطية.
الاستخدام الأساسي
تحويل تنسيق الصورة:
bashmagick convert input.jpg output.png1تغيير حجم الصورة:
bashmagick convert input.jpg -resize 300x300 output.jpg1إضافة علامة مائية:
bashmagick convert input.jpg -gravity southeast -draw "text 10,10 'ServBay'" output.jpg1
cwebp
cwebp هو أداة ترميز لسطر الأوامر طُوِّرت من قِبل Google لتحويل الصور إلى تنسيق WebP. وWebP هو تنسيق صور حديث يوفّر غالبًا ضغطاً أفضل، سواء كان فقدي أو غير فقدي، مقارنة بـ JPEG وPNG، مع الحفاظ على جودة مشابهة للصور الأصلية، مما يساعد في تسريع تحميل مواقع الويب.
الاستخدام الأساسي
تحويل صورة JPEG إلى تنسيق WebP:
bashcwebp input.jpg -o output.webp1تحويل صورة PNG إلى تنسيق WebP:
bashcwebp input.png -o output.webp1تعيين جودة الضغط (مثلاً، عامل الجودة 80):
bashcwebp -q 80 input.jpg -o output.webp1
jpegtran
jpegtran هي أداة لتحويل صور JPEG بدون فقد بيانات، تتيح تنفيذ عمليات مثل التدوير، الانقلاب، والتحويل دون فك الضغط وإعادة الضغط، ما يمنع ظهور شوائب الضغط.
الاستخدام الأساسي
تدوير صورة JPEG 90 درجة باتجاه عقارب الساعة:
bashjpegtran -rotate 90 input.jpg > output.jpg1عكس صورة JPEG أفقيًا:
bashjpegtran -flip horizontal input.jpg > output.jpg1
djpeg
djpeg هي أداة لفك ضغط ملفات JPEG وتحويلها إلى تنسيقات بكسل أولية مثل PPM أو PGM أو BMP أو Targa. تُعد مفيدة عند الحاجة للوصول إلى بيانات البكسل الخام من صورة JPEG.
الاستخدام الأساسي
- فك ضغط صورة JPEG إلى تنسيق PPM:bash
djpeg input.jpg > output.ppm1
cjpeg
cjpeg هي الأداة العكسية لـ djpeg، حيث تقوم بضغط الصور بتنسيق PPM، PGM، BMP أو Targa وتحويلها إلى ملف JPEG.
الاستخدام الأساسي
- ضغط صورة PPM وتحويلها إلى JPEG:bash
cjpeg input.ppm > output.jpg1
img2webp
img2webp هي أداة تتيح دمج عدة صور ثابتة (مثل PNG وJPEG) لإنشاء ملف WebP متحرك واحد.
الاستخدام الأساسي
- دمج عدة صور في ملف WebP متحرك:bash(يرجى التأكد من أن الصور
img2webp -o output.webp frame1.png frame2.png frame3.png1frame*.pngمرتبة بالترتيب الصحيح للإطارات)
مكونات الاتصالات الشبكية
cURL
cURL أداة شهيرة ومستخدمة على نطاق واسع لسطر الأوامر والمكتبات، تتيح نقل البيانات باستخدام بروتوكولات شبكة متنوعة. تعتبر أداة ضرورية لاختبار الـ APIs، تحميل الملفات، والتواصل مع الخوادم عن بعد. يأتي cURL مدمجًا مع ServBay لتسهيل تصحيح واستكشاف الشبكة وتبادل البيانات.
الاستخدام الأساسي
إرسال طلب HTTP GET إلى API تجريبي:
bashcurl -X GET https://api.servbay.demo/data1إرسال طلب HTTP POST متضمناً بيانات:
bashcurl -X POST -d "param1=value1¶m2=value2" https://api.servbay.demo/data1تنزيل ملف وحفظه بالاسم الأصلي:
bashcurl -O https://servbay.demo/file.zip1عرض رؤوس الطلب والاستجابة:
bashcurl -I https://servbay.demo1
مكونات الضغط وفك الضغط
تتضمن ServBay العديد من أدوات ضغط وفك ضغط الملفات الشائعة، مما يساعد المطورين على التعامل مع مختلف أنواع الملفات المضغوطة.
bzip2
bzip2 أداة ضغط فعالة تعتمد على تحويل Burrows-Wheeler وترميز Huffman. غالبًا ما تنتج ملفات أصغر من gzip، لكن قد تكون سرعات الضغط وفك الضغط أبطأ قليلاً.
الاستخدام الأساسي
ضغط ملف (يُستبدل الملف الأصلي بملف
.bz2):bashbzip2 input.txt1فك ضغط ملف (يُستبدل ملف
.bz2بالملف الأصلي):bashbunzip2 input.txt.bz21فك الضغط إلى المخرجات القياسية:
bashbzip2 -dc input.txt.bz21
gzip
gzip أداة ضغط شائعة جدًا خاصة في أنظمة Unix وLinux، تستخدم ترميز Lempel-Ziv (LZ77)، وتوفر سرعات ضغط وفك ضغط عالية نسبياً.
الاستخدام الأساسي
ضغط ملف (يُستبدل الملف الأصلي بملف
.gz):bashgzip input.txt1فك ضغط ملف (يُستبدل ملف
.gzبالملف الأصلي):bashgunzip input.txt.gz1فك الضغط إلى المخرجات القياسية:
bashgzip -dc input.txt.gz1
xz
xz أداة ضغط فعّالة تعتمد على خوارزمية LZMA2. غالبًا ما تقدم معدل ضغط أعلى من gzip وbzip2، ولكن بسرعة ضغط أبطأ نسبيًا في حين أن سرعة فك الضغط عادة جيدة.
الاستخدام الأساسي
ضغط ملف (يُستبدل الملف الأصلي بملف
.xz):bashxz input.txt1فك ضغط ملف (يُستبدل ملف
.xzبالملف الأصلي):bashunxz input.txt.xz1فك الضغط إلى المخرجات القياسية:
bashxz -dc input.txt.xz1
zstd
zstd (Zstandard) هي خوارزمية ضغط بدون فقد سريعة طورتها Facebook. توفر توازنًا ممتازًا بين سرعة الضغط ومعدل الضغط، وغالبًا ما تكون أسرع بكثير من gzip مع ضغط مماثل أو أفضل.
الاستخدام الأساسي
ضغط ملف (يُستبدل الملف الأصلي بملف
.zst):bashzstd input.txt1فك ضغط ملف (يُستبدل ملف
.zstبالملف الأصلي):bashunzstd input.txt.zst1فك الضغط إلى المخرجات القياسية:
bashzstd -dc input.txt.zst1
مكونات التشفير والأمان
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:20481استخلاص المفتاح العام من المفتاح الخاص:
bashopenssl rsa -pubout -in private_key.pem -out public_key.pem1إصدار طلب توقيع شهادة (CSR):
bashopenssl req -new -key private_key.pem -out request.csr1(بعد تنفيذ هذا الأمر، سيُطلب منك إدخال معلومات الشهادة مثل الدولة، المؤسسة، الاسم الشائع إلى آخره)
إنشاء شهادة موقعة ذاتيًا (للاختبارات المحلية):
bashopenssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt1(ملاحظة: الخيار
-in request.csrيفترض أنك قد أنشأت طلب CSR سابقًا. إذا كنت تريد توليد مفتاح خاص وشهادة موقعة ذاتيًا دفعة واحدة، يوجد أوامر مختصرة، لكن غالبًا ما تستخدم فقط في اختبارات بسيطة للغاية.)عرض معلومات شهادة:
bashopenssl x509 -in certificate.crt -text -noout1
ملاحظات هامة
- تعتمد نسخ أدوات سطر الأوامر على الإصدار المدمج في ServBay.
- يمكن الوصول لجميع الأدوات مباشرة من جلسة الطرفية لنظام التشغيل. إذا لم تتمكن من استخدامها، يرجى التأكد من ضبط متغيرات البيئة الخاصة بـ ServBay (خاصة PATH) بشكل صحيح.
الخلاصة
تقدم ServBay أكثر من مجرد بيئة تطوير ويب محلي، فهي تدمج العديد من أدوات سطر الأوامر الطرف الثالث المفيدة التي توسّع من قدراتها بشكل كبير، وتساعد المطورين في أداء مهام معالجة الصور، تصحيح الشبكة، إدارة الملفات، والعمليات الأمنية بكفاءة أكبر. التعرف الجيد على هذه الأدوات المدمجة واستغلالها بشكل صحيح سيزيد من فعالية وسلاسة تجربتك التطويرية.
