اذهب إلى المحتوى

لوحة المتصدرين

  1. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      8

    • المساهمات

      6975


  2. بلال زيادة

    بلال زيادة

    الأعضاء


    • نقاط

      5

    • المساهمات

      4376


  3. Hamada Ahmed

    Hamada Ahmed

    الأعضاء


    • نقاط

      4

    • المساهمات

      121


  4. Mohammed Ahmed48

    Mohammed Ahmed48

    الأعضاء


    • نقاط

      2

    • المساهمات

      7


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 03/09/21 في كل الموقع

  1. قم بأنشاء ملف robot.txt و ضع فيه التالي User-agent: * Disallow: / طبعا هذا الأمر يعني إذا كان الموقع تحت التطوير ولا تريد محركات البحث الوصول إليه تستخدمه. قم بوضع التالي إذا أردت لمحركات البحث فهرسة موقعك ووصول الزاحف إلى موقعك User-agent: * Disallow: لو أردت توجيه زاحف لمحرك بحث معين مثل قوقل يجب عليك معرفة اسم الزاحف مثل User-agent: Googlebot-Image Disallow: /images/ طبعا هذه بعض اسماء زواحف محركات البحث Bingbot – Bing Googlebot – Google Googlebot-Image – Google Images Googlebot-News – Google News Teoma – Ask هناك الكثير من الأوامر التي تستطيع إضافتها للملف, يرجى البحث عنها و قرائتها. يمكنك وضع الملف في المسار الرئيسي في public_html
    2 نقاط
  2. التطبيق لا يعمل بدون دالة main.
    1 نقطة
  3. ممكن ترفق ملفات المشروع كاملاً ؟
    1 نقطة
  4. السلام عليكم احد الاخوة الافاضل قدم لي كود يقوم بتحويل عنوان الموضوع الى كلمات دليلية <title><?=$row['title'] ?></title> <?php $keywords = explode(' ', $row['title']); $keywords = implode(' ,', $keywords); ?> <meta type="keywords" content="<?=$keywords ?>" /> هل يمكن تعديل الكود لكي 1 - لا يطبع الكلمات التى تتكون من حرفين او حرف واحد 2 - لا يطبع الرموز والارقام 3 - لا يطبع الكلمات المتكررة
    1 نقطة
  5. السبب في ذلك أن الترميز العام لديك ليس UTF-8 بالرغم من أنك تستعمل محارف عربية، لتحديد ذلك يجب إضافة وسيط آخر للدالة mb_strlen كالتالي: function myFilter($var) { return mb_strlen($var, 'UTF-8') > 2; }
    1 نقطة
  6. إن الدالة strlen لا تقوم بعد الأحرف العربية بسبب طبيعة ترميزها المختلفة و لتعمل على ذلك بشكل صحيح يوجد الدالة mb_strlen والتي تتعرف على عدد بايتات المحرف في الذاكرة و تعيد طول السلسلة الصحيحة function myFilter($var) { return mb_strlen($var)>2; } أرجو تجريب هذا التعديل
    1 نقطة
  7. هل يمكنك توفير صورة أو معلومات أكثر، شكرا لك
    1 نقطة
  8. لدي استفسار لو تكرمتو النسخة الذي اغرب برفعها على المتجر كيف ممكن او افضل طريقة لتحويلها الى APK وجدت طرق لمختلفه ولا اعلم الفرق بينهم على سبيل المثال flutter build appbundle --target-platform android-arm,android-arm64 flutter build apk --release flutter build appbundle ايهم افضل للي سبق وجرب هذا العمل؟ وما هو الفرق بينهم؟ قمت بمشاهدة موضوع يقول ان الطرق مختلفه ولكن توجد طريقة تجعل المستخدم يحصل على التطبيق الانسب لنظام جهازه في وقت تحميل التطبيق من الماركة
    1 نقطة
  9. شكرا جزيلا يا استاذ والله ربنا يوفقك
    1 نقطة
  10. شكرا اخى الفاضل تم بنجاح اما عن الرموز والارقام فغالبا قيمتها اقل من 2 فهي لن تضاف هذا كان غائب عني عذرا اخى الكلمات التي تحوي حرفين يتم طباعتها مثل في ومن لماذا
    1 نقطة
  11. صحيح، هذا في الدالة count حيث تستقبل مصفوفة أو غرض قابل للعد، بينما في مثالنا تستقبل سلسلة نصية أي يجب اسخدام الدالة strlen. function myFilter($var) { return strlen($var)>2; }
    1 نقطة
  12. أحسنت العمل، طبعا يمكننا مساعدتك في التفاصيل التي تحتاجينها و سنتجنب كتابة البرامج بشكل كامل لتستفيدي من التجريب بنفسك
    1 نقطة
  13. <title><?=$row['title'] ?></title> <?php function myFilter($var) { return mb_strlen($var, 'UTF-8') > 2; // تم تعديلها لتتعرف على الأحرف العربية } $keywords = explode(' ', $row['title']); $keywords = array_filter($keywords,"myFilter"); $keywords = array_unique($keywords); $keywords = implode(' ,', $keywords); ?> <meta type="keywords" content="<?=$keywords ?>" /> array_filter هو دالة في php تستقبل الدالة التي قمت بتعريفها سابقا و التي تعيد العنصر في حال كان عدد محارفه أكبر من 2 (شرط الفلترة/التصنيف) array_unique تعيد العناصر من مصفوفة بدون تكرار بالنسبة لسؤالك ماذا تقصد، هل على مستوى الكلمة (نتجاهل الكلمة التي تحوي على غير الحروف) أو نحذف الحروف و نبقي على ما تبقى من الكلمة، أرجو توفير مثال
    1 نقطة
  14. السلام عليكم دائما ماأضيف ملف robot txt علي البلوغر بكل سهولة ولاكن هته المرة أستعمل سكربت رفعته علي الاستضافة اذا في هاته الحالة كيف يمكنني اضافة ملف robot txt في السكربت User-agent: Mediapartners-Google Disallow: User-agent: * Disallow: /search Allow: / Sitemap: https://www.xxxxxxxxxxx.com/sitemap.xml
    1 نقطة
  15. ملف robots.txt عبارة عن ملف نصي عادي يحتوي فقط على قوانين تتبعها محركات البحث لأرشفة الموقع (الأمر عائد إلى محركات البحث بإحترام هذه القوانين أم لا)، لذلك يمكنك عمل هذا الملف بنفسك وكتابة في ما تريد أن تفعله محركات البحث لأرشفه موقعك بطريقة صحيحة وقد وضح ذلك أستاذ @بلال زيادة في إجابته. ويجب وضع هذا الملف بجانب ملف الـ index الخاص بالموقع (في الغالب في مجلد public_html) ليكون متاحًا من خلال الرابط: https://www.example.com/robots.txt وهنا كل خصائص ملف robots.txt مفدمة من جوجل ونصائح لتحسينه والحصول على أقصى إستفادة منه. يفضل دائمًا أن تضيف ملف sitemap أيضًا إلى ملف robots.txt من خلال وضع الجملة التالية فيه: Sitemap: https://www.example.com/sitemap.xml
    1 نقطة
  16. حيشتغل على المحاكي طبيعي ولكن على الجهاز الحقيقي ما راح يشتغل, أنت بحاجة إلى MaterialApp أو WidgetsApp حول عنصر واجهة المستخدم الخاص بك. عند استخدام MediaQuery ستبحث Flutter عن شجرة عناصر واجهة المستخدم للعثور على عنصر واجهة المستخدم. فالكود الخاص بك سيصبح void main() => runApp(App()); class App extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: EasyLocalization( saveLocale: true, supportedLocales: [Locale('en', 'US'), Locale('ar', 'SA')], path: 'assets/translations', fallbackLocale: Locale('en', 'US'), child: loginpage(), ), ); } } class loginpage extends StatefulWidget { LoginUserState createState() => LoginUserState(); } class LoginUserState extends State<loginpage> { final _formKey = GlobalKey<FormState>(); void _toggleVisibility(){ setState(() { _isHidden = !_isHidden; }); } Widget buildTextField(String hintText){ return Container( margin: EdgeInsets.all(5), child: TextFormField( validator: (value) { if (value.isEmpty) { return 'Requiredfield'.tr(); } return null; }, maxLength: 12, controller: passwordController, decoration: InputDecoration( hintText: hintText, labelText: 'Password'.tr(), hintStyle: TextStyle( color: Colors.grey, fontSize: 16.0, ), border: OutlineInputBorder( ), prefixIcon: Icon(Icons.lock), suffixIcon: hintText == 'Password'.tr() ? IconButton( onPressed: _toggleVisibility, icon: _isHidden ? Icon(Icons.visibility_off) : Icon(Icons.visibility), ) : null, ), obscureText: hintText == 'Password'.tr() ? _isHidden : false, ), ); } } } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Form( key: _formKey, child: Stack( children: [ Column( children: [ Container( child: SingleChildScrollView( child: SizedBox( width: double.infinity, height:350, child: Center( child: Column( children: <Widget>[ SizedBox( height: 2.0, ), new Stack( children: <Widget>[ Container( margin: EdgeInsets.symmetric(horizontal:45, vertical: 5), child: Image.asset( ("assets/log.png"), height: 310, width: 310, ), ), ], ), ], ), ), ), ), ), ], ), SingleChildScrollView( padding: EdgeInsets.only(left: 7.0, right: 7.0, top: 290.0), child: Card( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8.0), ), elevation: 3, child: Center( child: Column( children: <Widget>[ Padding( padding: const EdgeInsets.all(5.0), ), Container( margin: EdgeInsets.all(5), child: TextFormField( keyboardType: TextInputType.number, validator: (value) { if (value.isEmpty) { return 'Requiredfield'.tr(); } return null; }, maxLength: 12, controller: phoneController, decoration: InputDecoration( prefixIcon: Icon(Icons.phone_iphone), border: OutlineInputBorder(), labelText: 'Phonenumber'.tr()), )), buildTextField('Password'.tr()), Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ RaisedButton( child: Text('Login'.tr(), style: TextStyle(fontSize: 18.0, color: Colors.black),), padding: EdgeInsets.only(top: 16.0, bottom:16.0, left: 90.0, right: 90.0), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(7)), onPressed: () { }, ), InkWell( onTap: () { Navigator.push( context, MaterialPageRoute(builder: (context) => Sign())); }, child: Container( margin: EdgeInsets.symmetric(vertical: 20), padding: EdgeInsets.all(15), alignment: Alignment.bottomCenter, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Row( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text( 'DontHave'.tr(), style: TextStyle(fontSize: 15, fontWeight: FontWeight.w600), ), SizedBox( width: 10, ), ], ), SizedBox( height: 20, ), Row( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ IconButton( icon: Icon( Icons.help_outline, color: const Color(0xFF001c3e), size: 47, ), onPressed: () { }, ), IconButton( icon: Icon( Icons.language, color: const Color(0xFF001c3e), size: 47, ), onPressed: () { }, ), ], ), ], ), ), ), ], ), ], ), ), ), ), ], ), ), ), ); } }
    1 نقطة
  17. مشروعك يشتغل داخل React.StrictMode ReactDOM.render( <React.StrictMode> <App /> </React.StrictMode>, rootElement ); وهذا سيجعل كل المشروع يشتغل في حالة ال strict mode وفي هذه الحالة ال console تعمل مرتين لأن strict mode في البيئة التطويرية يجعل كل الدوال تشتغل مرتين
    1 نقطة
  18. لا يمكنك استخدام if-else أو حتى switch داخل jsx لأن jsx يوفر فقط التجميلات اللغوية مما يعني انه فقط يمكنك استخدام التعبيرات وليس التصريحات و في حالتك يمكنك استخدام العامل الثلاثي هكذا return ( <div style="container"> {state == 'news'? <p>data</p>: null } </div> ) واذا لسبب ما أردت استخدام if-else فيمكنك تعيين ذلك الجزء من الشيفرة في دالة خارجية ثم يمكنك استدعاء الدالة داخل jsx renderElement(){ if(state == 'news') return <p>data</p>; return null; } return ( <div style="container"> {renderElement() } </div> )
    1 نقطة
  19. أعتقد أن برمجة المتحكمات الصغرية micro controller هو ما تبحث عنه. أشهر و أسهل دارة في البرمجة تدعى Arduino وفيها الكثير من المكتبات الجاهزة التي تسهل العمل. يعمل Arduino بلغة البرمجة ++C. كما أن تعلم لغة Matlab جدا مفيد لأنها تحوي العديد من التوابع الجاهزة التي تدعم المبرمج وهي الأفضل في المجال الهندسي/العلمي بالإضافة للغة بايثون.
    1 نقطة
  20. المختصر: توقيع التطبيق بناء التطبيق عن طريق flutter build appbundle ________ توقيع التطبيق: قبل رفع التطبيق على متجر play store يجب توقيع التطبيق وهي خطوة إجباية. التوثيق لعملية التوقيع الرقمي: signing-flutter-app أو من هنا: generate-key-android تتجلى بعمل مفتاح خاص بالتطبيق، حيث تكون الخطوات هي إدخال بيانات كإجابة على بعض الأسئلة.. بعد بتنفيذ التعليمة التالية (MacOS) تشبهها الخاصى بنظام ويندوز. keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key ثم يجب فتح Gradle و تشغيل Task الخاصة بتوقيع التطبيق حسب التوثيق.. في حال وجود مشاكل أو تفاصيل لا تعرفها يوجد العديد من الشروحات و الموضوع بسيط. بالنسبة لبناء التطبيق: توثيق تصدير نسخة إنتاجية معدة للرفع على المتجر : flutter/deployment/android ليقبل المتجر رفع نسخة من التطبيق يجب أن تكون من النوع release (building-app-for-release) أي تمرير هذا المعامل مع أمر البناء كما ذكرت. ولكن التوثيق ذكر أيضا أن app Bundle هو أفضل (مفضل) للمتجر. app Bundle والتي تعطي ملف لاحقته aab. يعتبر النسخة الأحدث لتصدير تطبيقات أندرويد و يكون التطبيق بحجم أصغر. توثيق بناء app Bundle من هنا : app Bundle. ماذا يحوي app Bundle؟ Dart code Flutter runtime compiled for: armeabi-v7a (ARM 32-bit). arm64-v8a (ARM 64-bit). x86-64 (x86 64-bit). نصائح و إرشادات رفع تطبيق app Bindle من هنا: upload-bundle والتي تبني كل ما تريد بتعليمة واحدة: flutter build appbundle في حال أردت بناء التطبيق عن طريق APK و إصدار 3 نسخ (كل نسخة موجهة لمعمارية مختلفة مثل القائمة السابقة) يجب إستخدام shrink (لكنها مفعلة تلقائيا عند استخدام Android Gradle plugin 3.4.0 or higher) أي يتوجب عليك فقط بناء التطبيق للنشر: flutter build apk --release * تعتبر R8 خاصية تجزئة التطبيقات مفعلة تلقائيا لكل من APK - AAB ولا داعِ لتمرير معامل خاص بالتقسم عند البناء لا تنسى تعديل اسم التطبيق و bundle (الاسم البرمجي android:name = com.company.app) في كل من androidMainfest & Gradle التوثيق : android/manifest
    1 نقطة
  21. وعليكم السلام ورحمة الله تعالى، إن التصميم شيء أخر ليس له علاقة بالهندسة ولا الهندسة المعمارية حتى، فالتصميم هو فكر أكثر مايكون هندسة. لايشترط لتعلم 3d max أن تكون خريج أو طالب عمارة، فبرنامج 3d max لايختص فقط بالرسوم الهندسية. فهو يمتلك الكثير من الميزات التي ليس لها علاقة بالهندسة إطلاقًا. ويستخدم هذا البرنامج للكثير من الأعمال الفنية غير الهندسية مثل تصميم الرسوم المتحركة وغيرها من الشخصيات الرسومية. أما إذا كنت ترغب بتعلم 3d max من أجل اعمال الديكور وغيرها فيوجد الكثير من الدورات على الأنترنت التي تعلم هذا البرنامج من خلال تصميم ديكورات منازل وغيرها من ديكور الأماكن العامة. لذللك في البداية يجب عليك تحديد الغاية من دراستك لهذا التطبيق ومن ثم اختيار الدورات المناسبة لتستطيع التعلم بشكل صحيح. أتمنى لك التوفيق.
    1 نقطة
  22. يتم وضع ملفات المشروع كاملة في بداية كل دورة في المدخل الخاص بها بعدها يتم تقسيم المشروع إلى جزئيات صغيرة يتم شرحها في الدروس التالية بحيث تتمكن من التطبيق مع الاستاذ و تصقل معرفتك في الجزئية المعينة و لا يمكنك تحميل الاكواد الخاصة بكل فيديو على حده.
    1 نقطة
  23. @Lamees Majed يمكن اختصار هذا كلة كالتالي برنامج After effect يمكن استخدامة لعمل المقدمات اي للفيديوهات القصيرة اما برنامج premier فيمكنك من خلالة انتاج بقية الفيديو او الفيلم او المشروع وشكراً
    1 نقطة
  24. الطريقة الأسهل لبدء خطة دراسية هي بمنح الحرية للطلاب الذين ستقوم بتدريسهم بأن يحددوا ماهي الجوانب التي يحبون ان يبدأو بها
    1 نقطة
×
×
  • أضف...