-
المساهمات
4657 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
30
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو بلال زيادة
-
لا يمكن تحديد أي دورة , فكل الدورات قد تؤهلك إلى الانطلاق في مجال العمل الحر , لذلك هذا الأمر يرجع لك في تحديد أي مسار تريد الانطلاق به سواء , برمجة و تصميم مواقع الويب أو برمجة تطبيقات موبايل, ثم تختار أي دورة تريد الاشتراك بها , ففي مجال برمجة وتصميم مواقع الويب يمكنك الاطلاع على هذه الدورات https://academy.hsoub.com/learn/front-end-web-development/ https://academy.hsoub.com/learn/javascript-application-development/ https://academy.hsoub.com/learn/php-web-application-development/ و في مجال برمجة تطبيقات الموبايل يمكنك الاطلاع على هذه الدورة https://academy.hsoub.com/learn/hybrid-mobile-application-development/ , مع العلم أن دورة تطوير التطبيقات باستخدام لغة JavaScript يوجد بها أقسام لبرمجة تطبيقات للموبايل باستخدام لغة react native , وبعد الانتهاء من الدورة التي اشتركت فيها , يمكنك الانتقال إلى مجال العمل الحر و كسب الأموال من خلال عملك في هذا المجال.
- 1 جواب
-
- 1
-
-
ممكن توفق كامل الكود بعد التعديل الذي قمت به ، يرجى وضع الكود داخل ملف و إرفاق الملف كاملا
- 6 اجابة
-
- 1
-
-
هذا مثال قمت بوضعه ، اسف لم انتبه انني لم أوضح أن هذا الكود مثال ، ولكن هذه widget أقوم بتمرير اليها البيانات و من ثم في هذه widget أقوم ببناء الواجهة و توزيع البيانات على الواجهة.
- 6 اجابة
-
- 1
-
-
ما تفعله خاطئ, يجب عليك إظهار صورة التحميل , أو صورة التي تدل على أن البيانات يتم جلبها في FutureBuilder , بحيث تتحقق من وصول البيانات باستخدام snapshot.hasData بهذه الطريقة return snapshot.hasData ? _build(context,snapshot.data) : Container(); بحيث إذا لا توجد بيانات يمكنك تغيير Container إلى الصورة التي تستخدمها أو إلى CircularProgressIndicator() فتكون FutureBuilder بهذا الشكل كاملاً child: FutureBuilder( future: future, builder: (BuildContext context, AsyncSnapshot snapshot) { switch (snapshot.connectionState) { case ConnectionState.none: return Center( child: Text('No Connection'), ); break; case ConnectionState.waiting: case ConnectionState.active: return CircularProgressIndicator(); break; case ConnectionState.done: if (snapshot.hasError) { print(snapshot.error); print("Dashboard Error"); } return snapshot.hasData ? _build(context, snapshot.data) : CircularProgressIndicator(); break; } return Container(); }, ),
- 6 اجابة
-
- 1
-
-
يمكنك تجاهل هذا الأمر , ولا داعي لأي إجراء , وإلى الأن لا يوجد حل لهذا الإشعار , ولا يكون هناك أي مشكلة بتطبيقك.
- 1 جواب
-
- 1
-
-
سيكون امتداد الملف هو .json بحيث فلنفترض أن لدينا ملف اسمه constant.json و به المعلومات التالية { "data": [ { "id" : 1, "name": "Jakets", }, { "id" : 2, "name": "Sports", }, ] } فيمكننا الوصول إلى الملف و قراءة محتوياته باستخدام node js باستخدام دالة readFileSync بهذه الطريقة const fs = require('fs'); let file = fs.readFileSync('constant.json'); let data = JSON.parse(file); console.log(data); ايضا يمكننا قراءة الملف و جلب محتوياته باستخدام دالة readFile بهذا الشكل const fs = require('fs'); fs.readFileSync('constant.json', (err, file) => { if(err) throw err; let data = JSON.parse(file); console.log(data); });
-
يمكنك من خلال الأمر التالي حذف أي حزمة لا ترغب بها npm unistall package_name ايضا يمكنك استخدام الصيغة التالية لحذف الحزمة npm uninstall -g package_name حيث package_name هو اسم الحزمة التي تود بإزالتها , ايضا هناك طريقة أخرى من خلال ملف package.json يمكنك حذف السطر الخاص بالحزمة التي لا تريدها و من ثم في CMD يمكنك تنفيذ الأمر التالي ليتم تحديث الحزم و حذف الحزمة التي لا ترغب بها. npm install
-
هل يمكنك طباعة عدد السجلات قبل التعديل بهذا الشكل $ask = $conn->query("select * from order_collars WHERE order_id='$id' ORDER BY DESC LIMIT 1"); echo mysqli_num_rows($ask) ; و أخباري بالنتيجة ؟
- 15 اجابة
-
- 2
-
-
يمكنك التواصل مع الدعم الفني من هنا , ويمكنك طرح أي سؤال عليهم أو أخبارهم بما تحتاجه فسيقومون بحل مشكلتك بأسرع وقت ممكن.
-
لا تقم بإزالة LIMIT يبدو أنك تقوم بكتابة استعلام ما بشكلٍ خاطىء , هل يمكنك إرفاق الكود كاملاً ؟
- 15 اجابة
-
- 1
-
-
حاول طباعة قيمة mysqli_num_rows($ask) و معرفة ماذا ترجع لك , لأنه يبدو أنه ترجع رقم 0 فلذلك ينفذ الشرط , يجب أن يكون لا يساوي صفر الشرط , بسبب أنه يوجد سجل.
- 15 اجابة
-
- 1
-
-
إذا كان يوجد سجلات لها نفس قيمة order_id فيمكنك حذف السجل ثم يمكنك استخدام استعلام ORDER BY DESC LIMIT 1 ليتم فحص آخر سجل هل يساوي id قيمة order_id و بالتالي الاستعلام التالي يكون $ask = $conn->query("select * from order_collars WHERE order_id='$id' ORDER BY order_id DESC LIMIT 1"); و بناء عليه يتم تعديل حقل collar أو لا , هل يمكنك تجربة ذلك وأخباري بالنتيجة.
- 15 اجابة
-
- 1
-
-
صحيح , يجب تحويله إلى utf8mb4_general_ci.
-
توفر أكاديمية حسوب عدة دورات يتم شرح فيها كيفية إنشاء تطبيقات للموبايل باستخدام لغات معينة , فلنبدأ بدورة تطوير التطبيقات باستخدام JavaScript و يمكنك زيارة رابط الدورة من هنا , حيث ستتعلم في هذه الدورة إنشاء تطبيقات للموبايل عديدة باستخدام react native و من هذه التطبيقات: تطوير تطبيق جوال باستخدام React Native , حيث ستتعلم تطوير تطبيق جوال عبر مكتبة React Native باستخدام Expo. تطوير تطبيق محادثة شبيه بتطبيق WhatsApp, حيث ستتعلم تطوير تطبيق تفاعلي يتيح التخاطب بين المتصفح والخادم في الوقت الحقيقي. تطوير تطبيق أسئلة وأجوبة باستخدام Next.js, حيث ستتعلم تطوير تطبيق أسئلة وأجوبة ونقاشات باستخدام Next.js مع واجهات Material-UI. ايضا هناك دورة أخرى و هي دورة تطوير تطبيقات الجوال باستخدام تقنيات الويب يمكنك زيارة رابط الدورة من هنا , حيث ستتعلم في هذه الدورة ايضا إنشاء تطبيقات للموبايل باستخدام HTML, CSS , JavaScript , ومن هذه التطبيقات: تطبيق مشاركة وصفات الطعام وهو تطبيق تواصل لمشاركة الأطعمة ومكوناتها وطريقة تحضيرها وصور عنها. تطوير تطبيق لمطعم وهو تطبيق لمطعم باستخدام إطار العمل Ionic 4. تطوير تطبيق لطلاب المدارس وهو تطبيق لتسهيل التواصل بين المدرسة وطلابها عبر Ionic 4 ومكتبة React.js. بناء تطبيق لموقع ووردبريس وهو تطبيق لموقع خبري من البداية إلى النهاية خطوة بخطوة. تطوير تطبيق قائمة مهام وهو تطبيق قائمة مهام من البداية إلى النهاية خطوة بخطوة.
- 3 اجابة
-
- 1
-
-
صحيح , يمكنك فعله و لكن كلما زاددت الأعداد التي تريد جلب أكبر قيمة منها يكون الأمر معقد و ما دام هناك دالة تتكفل بهذا الأمر لابد من استخدامها حتى لا نقع بمشاكل, ويمكنك تمرير أكثر من رقمين إلى دالة Math.max .
- 5 اجابة
-
- 1
-
-
يمكنك استخدام Math.max لتقوم بجلب أكبر عدد من مجموعة الأعداد التي يتم تمريرها إلى دالة Math.max و تكون تركيب الدالة بهذا الشكل Math.max(value, value1, value2); و في حالة الكود الخاص بك يجب إدخال كود جلب قيمة الحقل بداخل دالة typeWord لتصبح الدالة بهذا الشكل function typeWord(){ var x = document.getElementById('num1'); var b = document.getElementById('num2'); var a = Math.max(x.value, b.value); document.getElementById('demo').innerHTML= a } لاحظ أنه قمنا بإنشاء متغير a ليقوم بتخزين أكبر قيمة عن طريق استخدام Math.max و تمرير متغير a إلى العنصر الذي قيمة id الخاصة به هي demo ليتم طباعتها. var a = Math.max(x.value, b.value); document.getElementById('demo').innerHTML= a
- 5 اجابة
-
- 1
-
-
صحيح , يمكنك الاعتماد على هذه الدالة .
- 3 اجابة
-
- 1
-
-
هذا الكود جزء من ألية كاملة لجلب ip زائر الموقع , لذلك يمكنك إنشاء دالة لتقوم بجلب ip الزائر باستخدام مصفوفة $_SERVER فيمكنك إنشاء دالة باسم getClientIP بهذا الشكل function getClientIP( ) { } ثم بداخل الدالة نقوم بإنشاء متغير وليكن باسم ip function getClientIP( ) { $ip = ""; } ثم نقوم باستخدام دالة if لتحقق من ip الزائر بهذا الشكل function getClientIP( ) { $ip = ""; if ( isset( $_SERVER['REMOTE_ADDR'] ) ) { $ip = $_SERVER['REMOTE_ADDR']; } else if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else if ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) { $ip = $_SERVER['HTTP_CLIENT_IP']; } echo $ip; } لاحظ أن المصفوفة $_SERVER لديها ثلاث قيم لجلب ip الزائر $_SERVER['REMOTE_ADDR']; $_SERVER['HTTP_X_FORWARDED_FOR']; $_SERVER['HTTP_CLIENT_IP']; فقمنا بعمل دالة شرطية للتحقق من هذه القيم الثلاث لنتمكن من جلب ip ثم نقوم بتخزين هذه القيم بداخل متغير ip ثم نستخدم echo لطباعة المتغير ip و يمكنك استخدام هذه الدالة بهذه الطريقة <?php echo getClientIP( ); ?>
- 3 اجابة
-
- 1
-
-
يمكنك استخدام ListView ثم بداخل Listview يمكنك استخدام Column فيكون ترتيب Widgets بهذا الشكل import 'package:flutter/material.dart'; class DashboardPage extends StatefulWidget { final CategoryModel? category; const DashboardPage({Key? key, this.category}) : super(key: key); @override _DashboardPageState createState() => _DashboardPageState(); } class _DashboardPageState extends State<DashboardPage> { @override void initState() { super.initState(); } final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>(); @override Widget build(BuildContext context) { return Scaffold( key: _scaffoldKey, appBar: AppBar( title: Text(S.of(context).appName), centerTitle: true, backgroundColor: Colors.white, ), body: RefreshIndicator( child: ListView( shrinkWrap: true, scrollDirection: Axis.vertical, children: [ Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( height: 150, child: Container(), ), SizedBox( child: Container(), ), ), ], ), ], ), onRefresh: _refreshhandle, ), ); } Future<Null> _refreshhandle() async { return null; } } مما يسمح لك بعمل سكرول للصفحة مع إمكانية تثبيت عناصر معينة في الأعلى و جعل باقي العناصر عليها تأثير سكرول
-
هل لديك الكود الخاص بك ؟ سوف تستخدم مع الجافاسكريبت لغة PHP حيث يمكنك استخدام جافاسكريبت لتحقق من الحقول المدخلة و PHP لتقوم بتخزين بيانات هذه الحقول بداخل قاعدة البيانات. فكل ما عليك هو إنشاء جدول بقاعدة البيانات CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ); و من ثم يمكنك إنشاء فورم إدخال البيانات و يكون بلغة HTML <form action="index.php" method="POST"> <input type="text" name="name" /> <input type="email" name="email" /> <input type="password" name="password" /> <input type="submit" name="submit" /> </form> ومن ثم عند الضغط على الزر سوف يقوم بإرسال هذه البيانات إلى الملف الذي يوجد بداخل خاصية action في form <form action="index.php" method="POST"> ثم سوف نستخدم المصفوفة $_POST لإستقبال البيانات من الفورم $name = $_POST['name']; $email = $_POST['email']; $password = md5($_POST['password']); ثم ننشأ اتصال بقاعدة البيانات $connection = mysqli_connect("localhost", "username", "password", "database"); ثم ندخل البيانات إلى قاعدة البيانات عن طريق الاستعلام insert بهذا الشكل $sql = "INSERT INTO users (`id`, `name`, `email`, `password`) VALUES ('', '$name' ,'$email' ,'$password')"; $query = mysqli_query($connection, $sql); فيكون كامل كود PHP هو <?php if(isset($_POST['submit'])){ $connection = mysqli_connect("localhost", "username", "password", "database"); $name = $_POST['name']; $email = $_POST['email']; $password = md5($_POST['password']); $sql = "INSERT INTO users (`id`, `name`, `email`, `password`) VALUES ('', '$name' ,'$email' ,'$password')"; $query = mysqli_query($connection, $sql); } ?>