Mustafa Suleiman

331 نقاط السمعة
25.9 ألف مشاهدات المحتوى
عضو منذ
قم بتجربة  Radar.com إذن توفر 100 ألف طلب شهريًا أو استخدم Geoapify توفر 3000 يوميًا. وبشكل مدفوع 10 إلى 15 دولار شهريًا اشترك في Positionstack بـ 9.99
الأفضل LocationIQ حيث يعتمد كلاهما بشكل كبير على بيانات الخرائط المفتوحة OpenStreetMap لتقديم النتائج، والخطة المجانية هي 5,000 طلب يومياً مقارنًة بـ 2,500 فقط في الخطة المجانية لـ OpenCage. بجانب دقة عالية، أداء سريع، وسهل جداً في التكامل مع الأكواد البرمجية لدعم الـ Forward و Reverse Geocoding، وحد أقصى لسرعة الطلبات وهي 2 طلب في الثانية في الخطة المجانية. أيضًا يوجد Geoapify وهي منصة حديثة توفر خدمات خرائط متكاملة ومن ضمنها الـ Geocoding، وتوفر 3,000 طلب يومياً ما يعادل 90,000 شهريًا بشكل مجاني، بالإضافة
لم تذكر ما هو مستواك أو مدة تعلمك للغة جافاسكريبت وخبرتك بها؟ سأفترض أنك متوسط الخبرة. بخصوص event delegation  عليك تعلم الفرق بين target و currentTarget فهو أهم مفهوم لاستيعاب الـ Event Delegation بشكل صحيح، أي عندما تضغط على زر داخل div، الحدث ينطلق. و كيفية التعامل مع كائن الحدث والخواص بداخله مثل event.target والذي هو العنصر الذي ضغطت عليه بالفعل، و event.currentTarget العنصر الذي يحمل الـ Event Listener أي الزر نفسه أو الـ div الأب. تحتاج لمعرفة أي ابن
لا مشكلة في إجراء اختبارات إختراق وبقدر معقول وليس آلاف الطلبات، فلو قمت بذلك على استضافة مشتركة shared hosting نظام الحماية سيعتبر ما تقوم به نشاط عدائي ويحظر عنوان IP الخاص بك أو ربما يتم حذف حسابك، الأمر يؤثر على الآخرين على نفس السيرفر فأدوات الفحص الآلي ترسل آلاف الطلبات في وقت قصير وتستهلك موارد السيرفر CPU وRAM. كذلك الاستضافات تستخدم جدران حماية WAF ستلتقط هجومك وتصدك، وبالتالي لن تحصل على نتائج حقيقية عن أمان الكود في مشروعك، بل ستختبر
الأفضل إجبار الطلبات على أن تكون من نوع JSON، لأنّ المتصفحات بشكل افتراضي تطلب محتوى HTML عند الدخول إلى رابط، بينما تطبيقات الموبايل أو المواقع الأخرى التي تتصل بالـ API ترسل ترويسة Header تسمى Accept: application/json لذا تستطيع منع الدخول المباشر عبر المتصفح من خلال إنشاء Middleware يتحقق من وجود تلك الترويسة. php artisan make:middleware ForceJsonResponse ثم اذهب إلى الملف الذي تم إنشاؤه في app/Http/Middleware/ForceJsonResponse.php وقم بتعديل دالة handle لتصبح كالتالي: <?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; class ForceJsonResponse {     public function handle(Request $request, Closure
الأمر آمن، فالتصفح من خلال Cursor Pagination، يعني أن لارافل لا يعتمد على OFFSET أي تخطي عدد معين من الصفوف كما في paginate العادية، بل على جملة WHERE. وبترتيب النتائج بواسطة orderBy('id')، فالصفحة التالية تبدأ من حيث انتهت الصفحة السابقة، ولكي يعلم لارافل أين تبدأ، يحتاج إلى معرفة قيمة id لأخر عنصر تم جلبه. لذلك، الـ cursor هو ببساطة عبارة عن كائن JSON يحتوي على القيم التي تم الترتيب بناءًا عليها، ثم يتم تشفيره بـ Base64، وذاك ليس تشفير لإخفاء البيانات بل ترميز للنقل Encoding. بالتالي
لا داعي إلى ذلك إلا لضرورة، فلا يوجد شيء اسمه تشفير لصفحات الويب بحيث تمنع قراءة الكود المصدري نهائيًا، فالمتصفح يحتاج أن يفهم الكود لكي يعرضه للمستخدم، وما دام الكود وصل للمتصفح، فالمستخدم المحترف يستطيع قراءته. وما تفعله الشركات الكبرى مثل جوجل وفيسبوك ليس تشفير بل يسمى تعتيم أو تشويش Obfuscation، حيث يتم تحويل الكود المفهوم إلى كود معقد جدًا ومتشابك يصعب على المبرمجين فهمه أو تعديله إلا بعد عناء وخبرة متقدمة، لكن المتصفح ينفذه بشكل طبيعي. أي إخفاء الـ HTML
لا يصح ذلك، البيانات الكبيرة يتم معالجتها من خلال Pagination أو Lazy Loading، بينما استخدم fetch فقط في حال البيانات صغيرة ومحدودة، أي قائمة بالدول، قائمة التصنيفات، إعدادات الموقع وهكذا، بمعنى لا يتجاوز عدد السجلات المُستردة من قاعدة البيانات 50 إلى 100 سجل. فأحيانًا سيقوم المستخدم بفتح الصفحة وإغلاقها فورًا، فلماذا تجعله يحمل 1000 صورة ومنتج وهو لم يرى سوى أول 5؟ وكذلك هدر للموارد. ولتنفيذ الـ Infinite Scroll أو Pagination فكلاهما نفس المفهوم لكن بشكل مختلف، فاعتمد على Intersection Observer
الأفضل إنشاء صفحة بحث منفصلة، أي في القائمة الرئيسية header.php أو index.php اكتب التالي لإرسال الطلب إلى ملف search.php <section class="search-form" dir="rtl">   <form action="search.php" method="GET">     <input type="text" class="box" name="search_box" placeholder="إبحث عن طلبك" required>     <input type="submit" value="بحث" class="btn">   </form> </section> وأنشئ صفحة جديدة باسم search.php <?php @include 'config.php'; session_start(); $user_id = $_SESSION['user_id']; if(!isset($user_id)){   header('location:login.php'); } if(isset($_POST['add_to_wishlist'])){   $pid = $_POST['pid'];   $pid = filter_var($pid, FILTER_SANITIZE_STRING);   $p_name = $_POST['p_name'];   $p_name = filter_var($p_name, FILTER_SANITIZE_STRING);  
تعديل الـ glyphs يدويًا في Glyphr Studio ستؤدي إلى فصل الحروف لأنك بذلك تجاوزت قواعد التشكيل والترابط OpenType features المدمجة في الخط. فالخط العربي معقد بسبب تغير شكل الحرف حسب موضعه، وجود حركات التشكيل، والترابط بين الحروف، لذا يجب استخدام خطوط عربية مصممة خصيصًا لدعم تلك التعقيدات بشكل صحيح، والتأكد من أن FFmpeg يستخدم محرك عرض نصوص يدعم تشكيل النص المعقد مثل HarfBuzz الذي تستخدمه مكتبة libass التي يعتمد عليها FFmpeg لعرض الترجمات. الأفضل هو خط Amiri المبني على خط
لم تذكر ما هي التقنيات التي تعلمتها من أجل تخصص full stack؟ وما هي طريقة الدراسة الخاصة بك وهل تقوم بالدراسة على فترات متقطعة أم بشكل مستمر؟ وما هو عمرك حاليًا؟ وهل تقصد بلغة جافا هي لغة جافاسكريبت أم JAVA؟ عامًة ، ما تتعلمه يعتمد على سوق العمل، لذا تفقد المهارات المطلوبة أو نوعية المشاريع المعروضة في سوق العمل الذي تستهدفه، ثم تعلم المهارات المطلوبة وليس العكس، أي  تفقد الوظائف المعروضة على مواقع التوظيف مثل LinkedIn وIndeed، والبحث بالكلمات المفتاحية
Rufus غير متوفر سوى لنظام ويندوز، بالنسبة لينكس الأسهل وبميزات مشابهة هو برنامج Ventoy https://sourceforge.net/projects/ventoy/files/v1.1.07 بعد تحميل البرنامج افتح مدير الملفات في لينكس منت واذهب إلى مجلد Downloads وستجد الملف المضغوط الذي قمت بتحميله ventoy-1.1.07-linux.tar.gz. اضغط عليه بالزر الأيمن للفأرة واختر Extract Here سيقوم بإنشاء مجلد جديد بنفس الاسم، وابحث عن ملف باسم VentoyGUI.x86_64 فاضغط عليه مرتين لتشغيله، وستظهر لك رسالة تسألك هل تريد تشغيل الملف أم عرضه؟، اختر تشغيل Run. بعد ذلك الخطوات بسيطة من القائمة المنسدلة في الأعلى Device، اختر الفلاشة الصحيحة
النسخة لديك تالفة أو تم حرقها على الفلاشة بشكل غير صحيح، قم بتحميل نسخة مستقرة وإليك رابط مباشر: https://releases.ubuntu.com/22.04/ubuntu-22.04.5-desktop-amd64.iso ثم استخدم أداة Rufus  لحرق ملف ISO على الفلاشة بشكل صحيح. https://github.com/pbatard/rufus/releases/download/v4.10/rufus-4.10.exe وتأكد من اختيار GPT لخيار Partition scheme و UEFI (non CSM) لـ Target system في حال جهازك حديث ويعمل بوضع UEFI. ولو جهازك غير حديث أو تواجه مشاكل، جرب MBR لـ Partition scheme و BIOS (or UEFI-CSM) لـ Target system. إن استمرت المشكلة، فربما الفلاشة التي تستخدمها تالفة أو
الأمر أشبه بتوظيف فريق من المتخصصين بدلاً من موظف واحد شامل، والفائدة من ذلك هي الكفاءة الهائلة التي تسمح ببناء نماذج أكبر وأذكى وأسرع بتكلفة أقل، وكمستخدم نهائي، أنت المستفيد من نتائجها دون الحاجة للتعامل معها مباشرًة، أما بالنسبة لصانعي النماذج، فهي أصبحت تقنية لا غنى عنها للمنافسة في عالم الذكاء الاصطناعي. الفكرة هي بدلاً من تشغيل نموذج عملاق يحتوي على 100 مليار مُعامل parameter لكل سؤال بسيط، يتم تشغيل جزء صغير فقط من النموذج مثلاً، 15 مليار مُعامل فقط،
ما هي رسالة الخطأ التي تظهر لك؟ بدونها فالخطأ مُبهم، عامًة تأكد من اختيار الـ Board الصحيحة ومن أنها مضبوطة على Arduino Uno، وذلك عن طريق قائمة Tools، ومنها أيضًا تفقد الـ Port وأنك حددته بشكل صحيح حيث يجب أن يظهر بجانبه Arduino Uno، عامًة افصل كابل الـ USB الخاص بالأردوينو من الكمبيوتر ثم افتح قائمة Tools ومنها Port ولاحظ المنافذ الموجودة، وأعد توصيل الأردوينو ،ثم افتح القائمة مرة أخرى، والمنفذ الجديد الذي ظهر هو المنفذ الصحيح، فاختره. وربما هناك مشكلة في الكود، فقبل
المقصود بأنها تعمل فقط في صفحة تخصيص ووردبريس؟ أي لا يتم تطبيقها عند تصفح الموقع؟ وهل المُحدد sec_title صحيح وموجود بالصفحة التي تتصفحها؟ تفقد ذلك من خلال أدوات المطور. وكذلك لديك خطأ في قيمة border-radius حيث كتبت px بدون قيمة. وحاول حذف الكاش في المتصفح بإعادة تحميل الصفحة من خلال CTRL + F5 .sec_title::after {     content: '' !important;     background-color: #14baac40 !important;     border-radius: 10px !important;      position: absolute !important;     top: 80% !important;
للتوضيح، ما تقصده هو PineScript وتلك لغة خاصة بمنصة TradingView الخاصة بتحليل الأسواق المالية، ستحتاج إلى مطور على علم بتلك اللغة. ستجد ذلك على منصة خمسات، ابحث بكلمة "Pinescript" ثم اختر الخدمة المناسبة لك، ولو أردت تستطيع نشر مشروعك على منصة مستقل.
مطلوب بالطبع وأين سيذهب مجال الويب؟ المعضلة أنّ المتطلبات أصحبت أعلى، لكن قبل أن تقرر اعتماد لغة JS تفقد سوق العمل المحلي لديك أو منصة العمل الحر الذي تنوي العمل بها، وعلى أساس استكشافك لمتطلبات الوظائف والمشاريع المعرضة قرر ما اللغة والتقنيات التي ستتعلمها. وبالطبع السوق متشبع حاليًا فيما يتعلق بمستوى خبرة سنة أو سنتين لكونه التخصص الأشهر في البرمجة، فالغالبية ستجدهم Front-End، أي أنك بحاجة إلى التميز عن غيرك من خلال مشاريع قوية وفهم عميق للأساسيات، وليس فقط معرفة
ما الحاجة إلى ذلك؟ لا يوجد داعي لما تفعله فلن يعود بفائدة ولا أحد يقوم به، فأي شيء يُعرض في المتصفح من كود HTML, CSS, JavaScript يستطيع المستخدم رؤيته، وحتى لو حاولت تشفيره أو إخفاءه، فيمكن الوصول إليه عبر أدوات المطور في المتصفح، ما يتم حمايته هو الكود الخاص بالواجهة الخلفية Back-End. ما يتم في المشاريع الفعلية للـ Front-End عند نشرها على الإنترنت، هو تنفيذ Minification و Bundling بالإضافة إلى Compression  لكود HTML, CSS, JS بحيث يتم تجميع كل الكود
مجال تعلم الآلة بحر واسع، يجب تحديد وجهتك، تعلم لغة بايثون هو الأمر السهل به والمصادر عديدة بخصوص ذلك وتم توضيحها، في البداية الأمر مبهم بالنسبة لك، لذا قبل اتخاذ قرارك وقبل بدء الرحلة، قم بالبحث عن كورس ليس مُتعمق من أي مصدر تجده مناسب، وذلك حول أساسيات تعلم الآلة ثم أساسيات التعلم العميق وثم أساسيات تحليل البيانات. في حال وجدت أنك تنوي التخصص في ذلك المجال وبذل جهد وإلتزام لمدة عام ونص أو عامين تقريبًا، فعليك البحث عن خارطة
تستطيع استخدام وحدة pip من خلال خيار -m كالتالي: python -m pip install لكن الحل الأفضل هو التأكد من تثبيت pip من خلال إعادة تثبيت بايثون مرة أخرى بتحميل التالي: https://www.python.org/ftp/python/3.11.6/python-3.11.6-amd64.exe وستظهر لك نافذة اضغط منها على customize installation ثم تأكد من تفعيل pip. ثم اضغط على next وهنا أهم خطوة وهي إضافة بايثون لمتغيرات البيئة بالنظام environment variables تأكد من تفعيل Add python to environment variables ثم اضغط على install للتثبيت. بعد الإنتهاء أغلق محرر pycharm وأعد تشغيله ثم
المشكلة الفعلية هي خطأ في إعادة التوجيه موقع إلكتروني أرجو تفقد كم عدد الصفحات المتأثرة بذلك من خلال الكونسول بالضغط على ذلك الخطأ. وأيضًا عند أرشفة موقع يدويًا ما الخطأ الذي يظهر لك؟
ما هي المشكلة التي تظهر في الكونسول وتسبب عدم الأرشفة؟ من تبويب pages تأكد من تفعيل not indexed لعرض معلومات حول سبب عدم الأرشفة
قمت بتحليل الدومين والنتائج الخاصة به جيدة والـ spam score طبيعي، لذا السبب ليس عقوبة سبام. ثم تفقدت خريطة الموقع: https://www.tallem.online/sitemap.xml يظهر حوالي 39 مشاركة، وذلك جيد حيث هناك محتوى لأرشفته من قبل جوجل. بالتالي علينا تفقد الأمر من خلال Google Search Console هل تظهر أية مشاكل في الأرشفة؟ تفقد ذلك، أيضًا استخدم أداة فحص عنوان URL للصفحات غير المفهرسة لمعرفة السبب المباشر وطلب الفهرسة بشكل يدوي Request Indexing.
TemplateMonster Envato Elements