-
المساهمات
4657 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
30
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو بلال زيادة
-
بعد تثبيت Laravel يجب عليك تنفيذ الأوامر التالية لتحميل ملفات الجافاسكريبت و css للمشروع composer require laravel/ui:^2.4 php artisan ui bootstrap npm install npm run dev
- 4 اجابة
-
- 2
-
-
صحيح
- 3 اجابة
-
- 1
-
-
تذهب إلى SDK الخاص بفلاتر وليس مجلد المشروع ستجد المسار المذكور كما في الصورة المرفقة. ايضا في المسار التالي <ProjectRoot>/ios/Flutter/Release.xcconfig تضع EXTRA_GEN_SNAPSHOT_OPTIONS=--obfuscate
- 3 اجابة
-
- 1
-
-
نعم, تقوم باستخدام السطر التالي لإصدار نسخة معماة أي مشفرة, أي يخفي التعتيم أسماء الوظائف والفئات في كود Dart المترجم ، مما يجعل من الصعب على المهاجم إجراء هندسة عكسية لتطبيقك الخاص. flutter build apk --obfuscate --split-debug-info=/<project-name>/<directory>
- 1 جواب
-
- 1
-
-
يمكنك ضبط android Studio ليتم تشغيله دائما باستخدام stacktrace, قم بالتوجه إلى Settings > Build, Execution, Deployment > Compiler وفي Command-line Option ضع --debug أو --info أو --stacktrace ايضا يمكن ان يساعدك هو حذف مجلد gradle و إعادة مزامنة المشروع مرة أخرى.
-
في محرر النصوص TinyMCE يمكنك إضافة ميزات أكثر للمحرر يمكنك استخدام Quicktags API للتعديل على الإعدادات الأفتراضية للمحرر هكذا function my_quicktags() { if ( wp_script_is( 'quicktags' ) ) { ?> <script type="text/javascript"> QTags.addButton( 'eg_php', 'PHP', '<pre><code class=\"language-php\">', '</code></pre>', 'p', 'PHP Code', 100 ); QTags.addButton( 'eg_css', 'CSS', '<pre><code class=\"language-css\">', '</code></pre>', 'q', 'CSS Code', 100 ); QTags.addButton( 'eg_html', 'HTML', '<pre><code class=\"language-html\">', '</code></pre>', 'r', 'HTML Code', 100 ); </script> <?php } } add_action( 'admin_print_footer_scripts', 'my_quicktags' ); طبعا الخطاف (HOOK) admin_print_footer_scripts: هو خطاف إجراء يستخدم لطباعة البرامج النصية في تذييل صفحات المسؤول. طبعا في الكود المرفق إعلاه قمنا بإضافة ثلاثة أزرار أخرى إلى أي مثيل لـ Quicktags في لوحة الإدارة. يمكنك زيارة Quicktags_API للمعرفة اكثر عن كيفية و تخصيص محرر النصوص.
-
فليكن لديك عدة جداول: جدول خاص بالموظفين. CREATE TABLE `employees` ( `id` int(11) NOT NULL, `name` varchar(50) NOT NULL, `email` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; جدول خاص بالمدراء. CREATE TABLE `managers` ( `id` int(11) NOT NULL, `name` varchar(50) NOT NULL, `email` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; جدول خاص بالأجتماعات. CREATE TABLE `mettings` ( `id` int(11) NOT NULL, `employee_id` int(11) NOT NULL, `manager_id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; عندما يقوم الموظف بطلب إجتماع مع أحدى المدارء يتم تخزين جلسة أو تخزين بيانات الأجتماع في جدول الأجتماعات ويصل تنبيه للمدير الذي قام الموظف بطلب الأجتماع معه. فلنفرض إن الموظف رقم 1 طلب الاجتماع مع المدير الذي يحمل رقم 3 فتكون البيانات في جدوا الاجتماعات مثل الصورة المرفقة, فالحقيقة هناك عدة طرق يمكن اتباعها يمكنك التفكير أكثر ستجد عدة حلول تناسبك.
-
يمكنك البحث عن إصدار يناسب إصدار Laravel لديك وتقم بتحميله قم بمراجعة صفحة الحزمة من هنا
-
التطبيق لا يعمل بدون دالة main.
- 6 اجابة
-
- 1
-
-
ممكن ترفق ملفات المشروع كاملاً ؟
- 6 اجابة
-
- 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
-
-
حيشتغل على المحاكي طبيعي ولكن على الجهاز الحقيقي ما راح يشتغل, أنت بحاجة إلى 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: () { }, ), ], ), ], ), ), ), ], ), ], ), ), ), ), ], ), ), ), ); } }
- 6 اجابة
-
- 1
-
-
يجب مراسلة الدعم الفني لأي شركة تريد ربطها بتطبيقك سواء هم حيزودك بSDK او Package يمكن استخدامها في التطبيق عن طريق دمجها أو ممكن يزودوك بapi كامل و انتا في تطبيقك تقدر تستخدم هذا api. يمكنك انت من صنع حزمة عن طريق api المزود من قبل الشركة ويمكنك استخدامها في تطبيقات في المارات التالية.
-
افتح podfile وقم بالبحث عن # platform :ios, وقم بإزالة علامة #, أو قم بحذف ملف Podfile.lock ,وقم بتنفيذ الأمر التالي: pod install أو طبق الأوامر التالية: flutter clean rm -Rf ios/Pods rm -Rf ios/.symlinks rm -Rf ios/Flutter/Flutter.framework rm -Rf ios/Flutter/Flutter.podspec cd ios pod install cd .. flutter build ios
- 3 اجابة
-
- 1
-
-
يبدو أن المشكلة أنه تقوم بالضغط على الزر قبل تحميل الإعلان وهنا يجب تمكين الزر الخاص بك فقط إذا تم تحميل الإعلان, يجب عليك الانتظار حتى يتم تحميل الإعلان, و في initState, يجب عليك تعيين حالة الزر الخاص بك وبهذه الطريقة سيتم تعطيله و إذا تم تحميل الإعلان, يجب عليك استخدام setState لتمكين الزر. يمكنك استخدام Listener بهذا الشكل, RewardedVideoAd.instance.listener = (RewardedVideoAdEvent event, {String rewardType, int rewardAmount}) { if (event == RewardedVideoAdEvent.rewarded) { ..... } if (event == RewardedVideoAdEvent.loaded) { //RewardedVideoAd.instance.show(); } }; وفي شرط يمكنك وضع setState لتمكين الزر. event == RewardedVideoAdEvent.loaded
-
يمكنك استخدام الأمر التالي flutter downgrade <version>
- 5 اجابة
-
- 2
-
-
ما هي التأثيرات التي تريد وضعها على الصورة بعد التحميل؟ أو هل تريد وضع تأثيرات على الصورة عند عرض المنشور ؟ إذا كان ذلك يمكنك استخدام CSS و تطبيق أي فلتر تريده على الصورة, يمكنك استخدام خاصية filter في css وتستخدم هذه الخاصية بهذا الشكل .img{ filter: saturate(3); } هناك عدة فلاتر ومنها: saturate(): تستخدم لضبط تشبع الصورة. brightness : تستخدم لضبط سطوع الصورة. contrast(%): تستخدم لضبط تباين الصورة. drop-shadow(h-shadow v-shadow blur spread color) : تستخدم لضبط الظل المسقط على الصورة. grayscale(%) تستخدم لتحويل الصورة إلى التدرج الرمادي. hue-rotate(deg): تستخدم لتطبيق تدوير على الصورة. invert(%): تستخدم لعكس العينات في الصورة. opacity(%): تستخدم لضبط مستوى التعتيم للصورة. sepia(%): تحول الصورة إلى بني داكن. blur(px): تستخدم لتطبيق تأثير التمويه على الصورة. يمكن زيارة الرابط أسفل يوجد شروحات مميزة من المدربين.
-
يبدو انك غير متابع لما صدر أول امس لقد قامت فلاتر بتحديث النسخة وأصبحت فلاتر 2 و هناك الكثير من المشاكل مع البكجات التي لا تتوافق مع نسخة فلاتر 2 , ايضا قامت فلاتر 2 بتعطيل عدة بكجات ربما يكون أحدى البكجات التي تستخدمها من ضمنها. ايضا لا تقلق يمكنك الرجوع إلى إصدار فلاتر السابق إذا لا تريد العمل على إصدار فلاتر 2. كما ويمكنك الرجوع إلى كل بكج على pub.dev و متابعة يبدو أن الكثير من البكجات قامت بتحديث إصداراتها لتناسب فلاتر 2. يمكنك الرجوع هنا و أختيار أي نسخة sdk ويمكنك استخدامها إذا كنت لا تريد فلاتر 2.
- 5 اجابة
-
- 1
-
-
يمكنك استخدام دالة shell_exec وهذه الدالة تستخدم لتنفيذ الأوامر عبر shell وتقوم بارجاع المخرجات الكاملة كسلسلة. مثال عليها: shell_exec("python path/to/script.py 2>&1"); أو يمكن استخدام Symfony Process هذه المكتبة ايضا تمكنك من تشغيل ملفات بايثون باستخدام لارافل كل ما عليك هو تثبيت الحزمة باستخدام الأمر التالي composer show symphony/process ويمكن استخدامها بهذا الشكل use Symfony\Component\Process\Process; use Symfony\Component\Process\Exception\ProcessFailedException; //$process = new Process('python /path/to/your_script.py'); $process = new Process(['python','/path/to/your_script.py',$arg(optional)]); $process->run(); // executes after the command finishes if (!$process->isSuccessful()) { throw new ProcessFailedException($process); } echo $process->getOutput(); يمكنك إضافتها للمتحكم عن طريق وضعها بدالة وليكن اسمها runPython بهذا الشكل public function runPython() { $process = new Process("python3 /var/www/laravel/myLaravelApp/app/PythonScript/test.py"); $process->run(); if (!$process->isSuccessful()) { throw new ProcessFailedException($process); } $data = $process->getOutput(); dd($data); }
-
يمكنك في ملف config/database .php في مصفوفة mysql تغيير قيمة strict إلى false. أو ترك قيمة strict في نفس الملف إلى true مع وضع تحتها 'modes' => [ 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION' ],
- 2 اجابة
-
- 1
-
-
أي ان العمود غير موقع. يمكن أن تحتوي جميع أنواع الأعداد الصحيحة على سمة اختيارية (غير قياسية) بدون توقيع. يمكن استخدام الكتابة غير الموقعة للسماح فقط بالأرقام غير السالبة في عمود أو عندما تحتاج إلى نطاق رقمي أكبر للعمود.
-
يجب أن تكون الأعمدة من نفس النوع و يجب أن يكون المفتاح st_id_141 unsigned يرجى ارفاق الجدولين للنظر في العلاقات بينهما , ايضا اود التنبيه على تغيير عمود date إلى اسم اخر لان هذا الاسم محجوز وقد يسبب مشاكل مستقبلا لك
-
يجب إنشاء مجلد وليكن اسمه languages في المسار الرئيسي للثيم, ثم يجب أن يحتوي على ملفين لكل لغة فمثلا: اللغة العربية يكون ملفاتها هكذا ar.mo, ar.po طبعا واللغة الأنجليزية تكون en.mo, en,po. يتم تعديل بيانات هذه الملفات باستخدام برنامج Poedit لتحرير وتعديل ملفات ذات امتداد .po وعند الإنتهاء من تحرير الملف يتم جمع الملف الذي قمنا بتحريره إلى صيغة ملف بامتداد mo, يمكنك البحث عن برنامج Poedit و فهم طريقة عمله ستفهم ماذا اقصد بجمع الملف الى ملف بامتداد mo. عن الأنتهاء من الملفات نذهب إلى ملف functions.php داخل الثيم , نضع الكود التالي load_theme_textdomain( 'assar', get_template_directory() . '/languages' ); طبعا هذه الدالة load_theme_textdomain( string $domain, string $path = false ) تقوم بتحميل سلاسل الترجمة لكل لغة. يمكنك استخدام الترجمة بهذا الشكل <?php echo esc_html__('Adsense', 'assar'); ?> <?php echo esc_html__('AboutUs', 'assar'); ?> <?php echo esc_html__('Home', 'assar'); ?> بحيث المعرف الاول وهو النص المستخدم مثلا Adsense, AboutUs, Home هو السلسلة النصية في ملف ar.mo.