-
المساهمات
6975 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
218
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Wael Aljamal
-
CSV هو نوع ملفات بسيط البنية comma separated values أو القيم التي يفصل بينها فاصلة، يمثل الملف جدول بيانات حيث أول سطر فيه يحوي أسماء الأعمدة و من ثم تتكرر نفس البنية و أسفل كل اسم عمود تأتي القيم الخاصة به: #head الترويسة أو أسماء العناوين name,city,street # البيانات John,Riverside,"NJ 08075" Jack,"McGinnis 220 hobo Av","Phila PA9119" John,"Da Man","Riverside NJ8075" Stephen,Tyler,"7452 Terrace SD91234" يمكن قرائتها في بايثوت باستخدام مكتبة pandas: حيث يوجد دالة read_csv لقراءة الملفات من نوع csv import pandas as pd df = pd.read_csv('data.csv') print(df.to_string())
- 2 اجابة
-
- 1
-
هل استمرت المشكلة حتى بعد محاوطة تغيير الحالة باختبار قيمة الخاصية mounted .؟
-
إت كنت تستعمل: sqflite فيوجد مشكلة في إصدارها وحل المشكلة هو: إما: dependency_overrides: sqflite: git: url: https://github.com/TinyProgrammers/sqflite.git path: sqflite أو: dependencies: flutter: sdk: flutter sqflite: 1.3.1+2 in XCODE > Pods > TARGETS > sqflite under the Build Settings tab change IOS Deployment Target from 10.0 to 12.1. __________ في Podfile: أضف التالي وهو خاص بالمعمارية armv7 التي سببت مشكلة لديك.. post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS"] = "armv7" end end __________ ما هو : platform :ios, '10.0' الذي تستعمله؟ حاول تغييره إلى 10 أو 12.1 أو 9. __________ نحاول مسح الكاش في المشروع: cmd+shift+K ثم اتبع التعليمات: 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 flutter run يوجد حل آخر من هنا حيث يتابع المطورون حل المشكلة: undefined-symbols-for-architecture-armv7
- 4 اجابة
-
- 1
-
هل يتوفر خيار للصورة على شكل vector أو رسم هندسي (مجموعة خطوط و نقاط) وليس صورة ثابتة.. حيث أن رسومات vector لا تتأثر بعمل تكبير/تصغير و تحافظ على الدقة على العكس من الصور ال pixel كما في الصورة لديك..
- 8 اجابة
-
- 1
-
هل يمكنك مشاركة الشيفرة التي تقوم بالتخزين وأجزاء البرنامج المضمنة بهذه المشكلة، شكرا لك
- 3 اجابة
-
- 1
-
يمكن الوصول للمسارات من خلال RouteServiceProvider ضمن الدالة التالية booted: $this->booted(function () { dump(Route::getRoutes()); } ويمكن تعريف مسار خاص للتأكد من المسارات كالتالي: حيث نعتمد على route:list في artisan Route::get('routes', function() { \Artisan::call('route:list'); return \Artisan::output(); });
-
ربما لايتم تشكيل المكونات بالسرعة الممطلوبة لأنه تجلب بيانات من القاعدة، أيضا تغيير ال screen ومازالت عملية غير متزامنة تعمل في الخلفية.
- 6 اجابة
-
- 1
-
props: هي اختصار ل properties. وهي عبارة عن غرض Object يحوي بيانات، يتم تمريره لمكون React من مكون أب له. لا نستطيع تغيير قيمة props فهي فقط للقراءة (قراءة قيمتها) وهي الخاصيات التي تظهر ونراها. state: هي عبارة عن حالة البيانات التي تتغير خلال دورة حياة المكون (والتي يتم إعادة رسم المكون في حال تغييرها) نستطيع تغيير قيمة state، لكن عن طريق الدوال المخصصة لها. this.setState. مثال عن props: لنفرض أنه لدينا الخصائص التالية للمكون Add: هو مكون يقوم بجمع عددين n1,n2 function Add(props) { return ( <div> {props.n1} + {props.n2} = {props.n1 + props.n2} </div> ) } يتم تمريرهم كالتالي: <Add n1={2} n2={3} /> لتكون props هنا: props = { n1: 2, n2: 3 } ونتيجة العرض: 2 + 3 = 5 ____________ مثال عن state: لنفرض أننا نريد استقبال دخل من المستخدم، وهو يتعلق بالمتغير n2: function AddWithInput(props) { // تهيئة الحالة بقيمة 0 للمتغير // تعريف دالة خاصة بتغيير قيمة الحالة للمتغير const [n2, setN2] = React.useState(0) // الدالة التي تستمع لحدث التغيير function handleInputChange(event) { const input = event.target const newN2 = Number(input.value) // تغيير حالة n2 setN2(newN2) } return ( <div> // افترضنا أن الرقم الأول يتم تمريره من الأب أما الرقم الثاني من المستخدم {props.n1} +{' '} // حقل إدخال خاص بالرقم الثاني <input type="number" value={n2} onChange={handleInputChange} /> ={' '} {props.n1 + n2} </div> ) } يمكننا استقبال props باستعمال خاصية destruction: function AddWithInput({n1, initialN2 = 0}) { const [n2, setN2] = React.useState(initialN2) فنكون قد قمنا بتعريف متغيرات مباشرة، لذلك يصبح باستطاعتنا استعمالها هكذا: <div> {n1} + {n2} = {n1 + n2} </div> return ( <div> {n1} + <input type="number" value={n2} onChange={handleInputChange} /> ={' '} {n1 + n2} </div> ) إن كلاً من useState and useEffect تقوم على تحسين المكونات الدالية functional components لتصبح لها خاصيات مثل الأصناف. useState: يسمح للمكون بأن يكون له حالة، state ونصل لها مثل this.state (مثل المكونات الصفية) class component التي لها thsi useEffect: تضيف للمكونة الدالة lifecycle methods (دوال التحكم بدورة حياة المكون) مثل (componentDidMount, componentDidUpdate and componentWillUnmount) عند استخدام useEffect: الحالة المكافئة لـ componentDidMount : يتم تنفيذه عند إنشاء المكون: useEffect(() => { },[]);// مصفوفة فارغة أي لا تراقب أي تغييرات أما: useEffect(() => { },[x, y]); // تراقب تغييرات كل منها وتقوم بالتحديث أما: componentWillUnmount نعيد دالة مهمتها التنظيف و تعمل مثل callback function. مثال: إزالة حدث الاستجابة لتحرك الفأرة: useEffect(() => { window.addEventListener("mousemove", () => {}); return () => { window.removeEventListener("mousemove", () => {}) } }, []); باقِ الحالات: useEffect( () => console.log("mount"), [] ); useEffect( () => console.log("will update data1"), [ data1 ] ); useEffect( () => console.log("will update any") ); useEffect( () => () => console.log("will update data1 or unmount"), [ data1 ] ); useEffect( () => () => console.log("unmount"), [] );
- 1 جواب
-
- 2
-
لنحل المشكلة، إما نقتطع الجزء الأول من النص (ما قبل النقطة): x = "10.111" int(x.split('.')[0]) أو نقوم بعملية تحويل مزدوجة، من نص إلى float ثم إلى int: x = "10.111" int(float(x))
- 2 اجابة
-
- 2
-
مرحبا محمد، تأكد هل أنت تقوم بدمج استعلامين سويا في نفس المتحول query: وفي جزء: case 'add_user': أمن تقوم ب 3 استعلامات، الأول بدون شرط و الثاني و الثالث مع شرط. الشرط خطأ. واستبدل الشرطين: لأن الحالة الأولى لا تختبر الشرط بدقة. if ($result) => if ($result->num_rows > 0) أو if (mysqli_num_rows($result) > 0) واستبدل: لأنها مصفوفة فهكذا نعد العناصر if (sizeof($contacts) => if (count ($contacts) )
-
يعود السبب لوجود \ backslash وهو محرف تحكم. مثلا في الحالة الثانية لاحظ وجود n\ وهذا رمز تحكم لعمل سطر جديد. يمكن حل المشكلة بكتابة حرف r قبل السلسلة النصية التي تعبر عن المسار ليتم اعتبارها row string ولا يتم تفسير محتواها: >>> x = r'C:\Users\name\Desktop' ^^^
- 2 اجابة
-
- 1
-
الفكرة هي وجود Form أو بنية من HTML خاصة بالتعليق، وخلال PHP نقوم بعمل استعلام عن البيانات وجلبهم و حشرهم في هذه البنية. <?php $sql_statememt = "select * from comments"; $result = $conn -> excute($sql_statememt); while ( $row = fetch ($result) ) { echo '<p>' . $row['data'] . '</p> </br>'; } هذا مثال توضيحي لخطوات الحل، جلب البيانات المرور عليهم سطر سطر طباعة البيانات ضمن بنية HTML مناسبة (سوف يتكرر عرض هذا الجزء لكل سطر من البيانات)
- 3 اجابة
-
- 1
-
سبب المشكلة هو استدعاء: setState() على عنصر قد تم حذفه أي أنه ليس موجود فعليا ضمن widget tree. حاول التحقق بشرط هل ما تريد تحديثه موجود فعلا؟ if (mounted) { setState(() { /** **/ }); } يتم استدعاء dispose من قبل Flutter عند حذف widget ما. تأكد من تهيئة الحالة: void initState() { ... }
- 6 اجابة
-
- 1
-
حاول التثبيت من خلال أداة wheel : python install wheel فهي تقوم بتحميل المكتبات المترجمة Compiled. أو عليك تنصيب : Microsoft Visual C++ Compiler for Python x.y.z حسب إصدار بايثون لديك
- 4 اجابة
-
- 1
-
يمكننا الاعتماد على المكتبة Scikit-learn لعمل Scale للبيانات: # تضمين pandas import pandas as pd # تضمين حزمة StandardScaler from sklearn.preprocessing import StandardScaler # قراءة البيانات من ملف CSV data = read_csv('Geeksforgeeks.csv') data.head() # تهيئة Scaler scaler = StandardScaler() # scale data scaler.fit(data) StandardScaler هو المعيار الافتراضي يتعلق بالوسيط في البيانات mean
- 3 اجابة
-
- 1
-
يمكننا استخدام مكتبة pandas ولحذف عمود نستخدم الدالة drop كالتالي: # تضمين المكتبة import pandas as pd # إنشاء قاموس data = { 'A':['A11', 'A22', 'A33'], 'B':['B11', 'B22', 'B33'], 'C':['C11', 'C22', 'C33'], } # تحويل القاموس ل dataframe df = pd.DataFrame(data) # حذف العمود 'A' df.drop(['A'], axis = 1) لحذف عدة أعمدة، نمرر أسمائهم في قائمة: df.drop(['B', 'C'], axis = 1)
- 1 جواب
-
- 1
-
يمكن جلب نصف الصورة العلوي كاتالي: height, width, channels = image.shape croppedImage = image[0:int(height/2), 0:width] الوسيط الأول هو الارتفاع، نقوم بأخذه من 0 حتى نصف الارتفاع. ثم نستخدم مكتبة مثلا openCV لرسم الهستوغرام. import matplotlib.pyplot as plt import cv2 as cv image=cv.imread("image.jpg",-1) height, width, channels = image.shape croppedImage = image[0:int(height/2), 0:width] image=croppedImage color = ('b','g','r') for i,col in enumerate(color): histr = cv.calcHist([image],[i],None,[256],[0,256]) # عمل هستوغرام لجميع الألوان plt.plot(histr,color = col) plt.xlim([0,256]) plt.show() تأكد من رسم القنوات اللونية الثلاث، حيث قمنا بالمرور عليهم في حلقة for
-
يمكن تحقيقك ذلك من خلال علاقة belongsToMany بوضعها في كلا النوذجين Model الذين يحققان many to many: مثلا لدينا قاعدة بيانات فيها مستخدمين و كل مستخدم يمكن أن يكون له عدة أدوار، والدور الواحد متاج لعدة مستخدمين فيكون نموذج المستخدم: <?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { public function roles() { return $this->belongsToMany(Role::class); } } ونموذج الدور: <?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Role extends Model { public function users() { return $this->belongsToMany(User::class); } } حيث كما تلاحظين قمنا بوضع دالة تقوم ببناء العلاقة المطلوبة belongsToMany في كل من النموذجين
- 15 اجابة
-
- 1
-
int main() { int id; char gender; int x1,x2,x3; cin >> id; while( id > 0) { cout << "enter gender\n"; cin >> gender; cout << "enter 3 marks\n"; cin >> x1 >> x2 >> x3; cin >> id; } retunr 0; } أكملي التعديل إن كان هنالك أي نقص بالتوفيق
- 8 اجابة
-
- 1
-
يمكنك استخدام المكتبة pyodbc للاتصال مع sql server يتم تثبيت المكتبة بالتعليمة في cmd: pip install pyodbc مثال: import pyodbc # ضبط الاتصال مع قاعدة البيانات conn = pyodbc.connect('Driver={SQL Server};' # تحديد نوع القاعدة 'Server=server_name;' # رابط المخدم 'Database=database_name;' # اسم القاعدة 'Trusted_Connection=yes;') # الحماية cursor = conn.cursor() # بناء مؤشر cursor.execute('SELECT * FROM database_name.table') # استعلام for row in cursor: print(row) # طباعة نتيجة الاسنعلام اختر server name is: RON\SQLEXPRESS. باقِ الخطوات هي إنشاء القاعدة ومن ثم الاستعلام منها
-
إنه ليس من مصلحتك حل الوظيفة لكِ! سأضع مثال لشرط لا يقبل عدد سالب: int x = -1; if (x > 0 ) { cout << "ok"; } else { cout << "No"; }
- 8 اجابة
-
- 1
-
عند تعريف متحول أو دالة لا نكتب إشارة - في الاسم الخاص بها (نستبدلها ب _) يوجد مشكلة في عدد الأقواس ترتيب وسطاء الدوال، الدالة الأولى نستبدل الوسيط الأول بالثاني لا ننسى وضع فاصلة منقوطة بعد كل عبارة برمجية نقوم بتعريف المتغيرات المحلية ضمن الدوال.. #include <iostream> using namespace std; int sum_1D( int n, int arr_1D [])///////////////// { int sum_1D = 0; for(int i = 0; i<n ; i++) sum_1D = sum_1D + arr_1D [i]; return sum_1D; } int sum_2D (int m, int n, int arr_2D [4] [4]) { int sum_2D = 0; for(int i= 0; i<m; i++) for(int j= 0; j<n; j++) sum_2D = sum_2D+arr_2D [i] [j]; return sum_2D; } int max_1D(int n,int arr_1D [4]) { int max_num = arr_1D [0]; int min_num = arr_1D [0];////////////////// for(int i=0; i<n; i++) { { min_num = arr_1D [0];/////////////////// for(int i= 0; i<n; i++) { if(arr_1D [i]>max_num) max_num = arr_1D [i]; if(arr_1D [i]<min_num) min_num = arr_1D [i]; return max_num; } } } } int min_1D (int n, int arr_1D[4]) { int min_num = arr_1D [0]; for(int i = 0; i<n; i++) if(arr_1D [i]<min_num) min_num = arr_1D [i]; return min_num; } int max_2D(int m, int n,int arr_2D[4][4]) { int max_num = arr_2D[0] [0]; for(int i= 0; i<m ; i++) for(int j= 0; j<n; j++) if(arr_2D [i] [j] >max_num) max_num = arr_2D[i] [j]; return max_num; } int min_2D(int m,int n, int arr_2D[4] [4]) { int min_num= arr_2D[4] [4]; for(int i=0; i<m; i++) for(int j=0; j<n; j++) if(arr_2D [i] [j]<min_num) min_num= arr_2D [i] [j]; return min_num; } int main() { int Arr_1D [4] = {4,1,2,3}; int Arr_2D [4] [4] = {{6,8,-1,-10}, {43,3,5,11}, {2,7,8,13}, {33,23,4,9}}; cout<<"the sum of 1D array is:"<<sum_1D(4,Arr_1D)<<endl; cout<<"the sum of 2D array is:"<<sum_2D(4, 4, Arr_2D)<<endl; cout<<"the max_num number of 1D array is:"<<max_1D(4,Arr_1D)<<endl; cout<<"the min_num number of 1D array is:"<<min_1D(4, Arr_1D)<<endl; cout<<"the max_num number of 2D array is:"<<max_2D(4, 4, Arr_2D)<<endl; cout<<"the min_num number of 2D array is:"<<min_2D(4,4,Arr_2D)<<endl; return 0; } هذا البرنامج وهو يعمل كما أن المصفوفة ثنائية الأبعاد يجب أن تحاوط ب أقاس مجعدة { } تحوي على المصفوفات الجزئية { {} {} {} }
-
عليك المحاولة و كتابة الشيفرة ومن ثم نصلح الأخطاء. ابدأي من هنا، إصلاح الشرط لكي لا يقبل رقم سالب و نخرج من الحلقة
- 8 اجابة
-
- 1