للمطورين

قسم المطورين من هذا الموقع مجموعًا في مكان واحد: محوّلات وفواحص وأدوات ملفات تحتاجها في يوم عمل.

6 أداة

  • أدوات المطورين — JSON·Base64·URL·تعبيرات نمطية·طابع زمني·JWT·Cron·CIDR·مقارنة نصوص.
  • مولّد UUID — أنشئ UUID v4 وv7 بعشوائية تشفيرية — خيارات العدد والأحرف الكبيرة وإزالة الشرطات.
  • محاكي حمل الخادم — تقدير أقصى معدل معاملات (TPS) واختناقات النظام من بنية الخادم.
  • ضغط الصور — اضغط الصور وغيّر حجمها مباشرة في متصفحك.
  • دمج ملفات PDF — ادمج عدة ملفات PDF في متصفحك دون رفعها.
  • تحويل الصور إلى PDF — ادمج عدة صور في ملف PDF واحد مباشرة في متصفحك.

بالتفصيل

لماذا يهم أن يجري كل شيء داخل المتصفح

كل أدوات هذه المجموعة تعمل محليًا: لا يُرفع أي ملف ولا أي نص. تنسيق JSON وفك ترميز Base64 وفحص رمز JWT وضغط الصور ودمج ملفات PDF يحدث كله داخل التبويب.

هذه ليست مسألة تفضيل، بل مسألة ما الذي يُلصق فعلًا. رمز JWT الذي تريد فحصه يحمل عادةً معرِّف مستخدم حقيقيًا وتوقيعًا، واستجابة JSON التي تريد تنسيقها بيانات إنتاج. لصقها في موقع تنسيق على الإنترنت يحوّلها إلى سجل على خادم جهة أخرى.

كثير من الشركات تمنع الأدوات الخارجية، وما تستهدفه القاعدة هو خروج البيانات من الجهاز لا الأداة نفسها. وبغياب أي طلب شبكة يتحقق هذا الشرط تلقائيًا — افتح تبويب الشبكة أثناء العمل وسترى أن شيئًا لا يخرج.

الترتيب الذي تستخدمها به أثناء العطل

ابدأ بالنص غير المفهوم في السجل. إن بدأ بـ eyJ فهو JWT، وإن انتهى بـ = فهو غالبًا Base64. رمز JWT موقَّع لا مشفَّر، لذا تُقرأ حمولته مباشرة؛ وأول ما يُفحص هو توافق exp وiat مع ساعة الخادم.

ثم الطوابع الزمنية. ظهور تاريخ قريب من 1970 يعني أن الثواني قُرئت كأجزاء من الألف أو العكس. وحين لا تعرف إن كان سطر السجل بتوقيت UTC أم بالتوقيت المحلي، تحويل واحد يحسم الأمر.

ولتتبع اختلاف الإعدادات استخدم المقارنة. ضع إعداد ما قبل النشر بجانب ما بعده، وغالبًا تتوقف عبارة «لم أغيّر شيئًا» عن كونها صحيحة عند هذه النقطة.

في تعبيرات cron أكثر حقلين يُخطئ فيهما الناس هما يوم الأسبوع و«كل N دقيقة». الفرق بين */5 و5 جدولان مختلفان تمامًا: حرف واحد يقرر إن كانت المهمة تعمل 288 مرة يوميًا أم مرة واحدة.

تقدير السعة بنظرية الطوابير لا بالحدس

سؤال «كم مستخدمًا يتحمل هذا الخادم؟» لا تجيب عنه ورقة المواصفات. ما تحتاجه هو قانون ليتل: التزامن = معدل الوصول × متوسط زمن الاستجابة. وهذا ما يحسبه محاكي حمل الخادم.

وأكثر ما يُغفل هو موضع الاختناق. مضاعفة أنوية المعالج لا تفيد إذا كان مجمع الاتصالات عند 20، فـأضيق مرحلة هي التي تحدد الإنتاجية الكلية مهما اتسعت المراحل التي تسبقها.

ولا ينمو زمن الاستجابة خطيًا. فبعد نحو 70% من الاستخدام يرتفع زمن الانتظار ارتفاعًا حادًا. لذلك فإبقاء الاستخدام المعتاد قرب النصف ليس هدرًا، بل هو ثمن زمن استجابة يمكن الاعتماد عليه.

تعامل مع الناتج على أنه تحقق من رتبة المقدار لا تنبؤ. يخبرك إن كانت الإجابة خادمين أم عشرين قبل دخول الاجتماع، أما الأرقام الحقيقية فتأتي من اختبار حمل فعلي.

لماذا تدخل الصور وملفات PDF هنا أيضًا

لقطة شاشة بحجم 8 ميغابايت يرفضها نظام التذاكر، أو ثلاثة ملفات PDF يجب تسليمها كملف واحد: مشكلات يومية للمطوّر. ولا تستحق أي منهما تثبيت ImageMagick ولا رفع الملف إلى موقع تحويل.

للضغط ذراعان: الدقة (تغيير المقاس) وجودة إعادة الترميز. تصغير لقطة من 4000 بكسل إلى 1600 بكسل يوفّر بايتات أكثر بكثير مقابل الجودة المرئية من خفض مؤشر الجودة وحده. وللتوثيق يكفي عادةً 1600 بكسل على الضلع الأطول.

ودمج ملفات PDF وتحويل الصور إليها ينتهي في المكان نفسه. العقود والفواتير والنماذج الموقَّعة — وهي بالضبط ما لا ينبغي رفعه — هي المدخل الأساسي لهاتين العمليتين، وهنا تظهر قيمة غياب الرفع أكثر ما تظهر.

تحقق من هذا قبل اللصق

غياب الرفع لا يلغي الشاشة. فك ترميز رمز إنتاجي أثناء مشاركة الشاشة يكشفه تمامًا كإرساله إلى مكان ما.

ولصق النتيجة المفكوكة في تذكرة أو محادثة حادث شائع آخر، إذ تحتوي حمولات JWT عادةً على معرّفات المستخدمين وعناوين بريدهم وصلاحياتهم.

وعند اختبار تعبير نمطي استخدم عيّنات لها الشكل نفسه بدل السجلات الحقيقية، فضبط النمط يحتاج الشكل لا القيم.

ما لا تحل هذه المجموعة محله

هذه أدوات فحص. فك ترميز JWT ليس تحققًا من التوقيع؛ التحقق يجري على الخادم بالمفتاح. وقراءة الحمولة لا تقول شيئًا عن صلاحية الرمز.

ومحاكي الحمل لا يغني عن اختبار حمل حقيقي، فسلوك جامع المهملات وإعدادات النواة وزمن الشبكة ونسبة إصابة الذاكرة المؤقتة كلها تحرّك الأرقام الفعلية.

والضغط مع الفقد لا يمكن التراجع عنه، فاحتفظ بالأصل ووزّع النسخة المضغوطة.