-
المساهمات
4657 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
30
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو بلال زيادة
-
يمكنك استخدام datetime.strptime لتحليل السلاسل إلى datetimes ,يمكنه التعامل مع جميع أنواع التنسيقات , بالتنسيق الذي تحدده سلسلة التنسيق التي تقدمها لها from datetime import datetime datetime_object = datetime.strptime('Jun 1 2005 1:33PM', '%b %d %Y %I:%M%p') أو يمكنك استخدام مكتبة dateutil, يمكنك تنزيلها باستخدام هذا الأمر pip install python-dateutil ثم يمكنك استخدامها بهذا الشكل from dateutil import parser parser.parse("Aug 28 1999 12:00AM") هذه المكتبة يمكنها التعامل مع معظم تنسيقات التاريخ , بما في ذلك التنسيقات التي تحتاج إلى تحليلها. إنها أكثر ملاءمة من strptime حيث يمكنها تخمين التنسيق الصحيح في معظم الأوقات.
-
ستقوم بتثبيت حزمة geolocator ثم تعمل check على gps و تظهر رسالة إذا لم يكن مفعل بهذا الشكل var isGpsEnabled = await Geolocator().isLocationServiceEnabled(); Future _checkGps() async { if (!(await Geolocator().isLocationServiceEnabled())) { if (Theme.of(context).platform == TargetPlatform.android) { showDialog( context: context, builder: (BuildContext context) { return AlertDialog( title: Text("لا يمكن جلب الموقع الحالي"), content: const Text('الرجاء تفعيل GPS'), actions: <Widget>[ FlatButton( child: Text('Ok'), onPressed: () { final AndroidIntent intent = AndroidIntent( action: 'android.settings.LOCATION_SOURCE_SETTINGS'); intent.launch(); Navigator.of(context, rootNavigator: true).pop(); }, ), ], ); }, ); } } } ستقوم بتثبيت الحزمتين google_maps_flutter location يمكنك البحث عنهما من خلال موقع pub.dev من هنا. في المسار التالي android/app/src/main/directory. ستقوم بفتح ملف AndroidManifest.xml ستقوم بوضع التالي <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:location/location.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { LatLng _initialcameraposition = LatLng(20.5937, 78.9629); GoogleMapController _controller; Location _location = Location(); void _onMapCreated(GoogleMapController _cntlr) { _controller = _cntlr; _location.onLocationChanged.listen((l) { _controller.animateCamera( CameraUpdate.newCameraPosition( CameraPosition(target: LatLng(l.latitude, l.longitude),zoom: 15), ), ); }); } @override Widget build(BuildContext context) { return Scaffold( body: Container( height: MediaQuery.of(context).size.height, width: MediaQuery.of(context).size.width, child: Stack( children: [ GoogleMap( initialCameraPosition: CameraPosition(target: _initialcameraposition), mapType: MapType.normal, onMapCreated: _onMapCreated, myLocationEnabled: true, ), ], ), ), ); } } في الكود إعلاه هنا يتم وضع Lat , lng إفتراضي, ثم يأتي دور دالة _onMapCreated كلما تغير موقع الجهاز, سيتم نقل الكاميرا إلى الموقع الجديد. أخبرنا إلى أين وصلت في الكود الخاص بك و ما هي المشاكل وسنساعدك بإذن الله.
- 8 اجابة
-
- 1
-
-
هل يمكنك إرفاق ملفات مشروعك كاملاً مع الداتا بيز الخاصة به؟
- 13 اجابة
-
- 1
-
-
يمكنك استخدام list بهذا الشكل list(my_dataframe) او استخدام columns.values مع اسم dataframe list(my_dataframe.columns.values)
- 2 اجابة
-
- 1
-
-
يجب زيادة timeout في S3Client بهذا الشكل $s3 = new Aws\S3\S3Client([ 'version' => 'latest', 'region' => 'us-west-2', 'credentials' => $credentials, 'http' => [ 'timeout' => 390 ] ]); وفي لارافل يمكنك من فتح ملف filesystems.php الموجود بداخل مجلد config وفي مصفوفة disk في S3 يتم وضع التالي 'http' => [ 'timeout' => 390 ] لتصبح بهذا الشكل 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), 'http' => [ 'timeout' => 360 ] ],
-
يجب وضع implements SluggableInterfac في المودل الذي تستخدمه كما في الشكل التالي class Post extends Eloquent implements SluggableInterface { } ومن ثم يمكن استخدامها بهذا الشكل $post = Post::create([ 'title' => 'My Awesome Blog Post', ]); ثم يمكن استرداد slug echo $post->slug; إذا أردت القراءة أكثر يمكنك زيارة الرابط من هنا
-
يرجى وضع صورة مناسبة للمشكلة, فأنني لا استطيع رؤية المشكلة بشكل مناسب.
-
أنصحك بعدم استخدام heroku إلا للتجريب فقط و إذا كان مشروعك بشكل دائم قم بشراء حزمة من heroku أو قم بالأشتراك في استضافة او سيرفر كلاود حتى لا تحدث لك هذه المشكلة مجدداً, لذلك لا تضع مشاريع فعلية على heroku المجانية. ثم يمكنك تخزين الصور بداخل مجلد Public حتى تتفادى عمليات المسح المتكرر من قبل شركة heroku فمثلاً, if($request->hasFile('image')){ $img = time() . '.' . $request->file('image')->getClientOriginalExtension(); $category->image = \URL::to('').'/categories/images/' . $img; $request->image->move(public_path('categories/images'), $img); } أو استخدام AWS S 3 بهذا الشكل $files = $request->file('image'); $errors = []; $i = 0; foreach ($files as $file) { $flebImages = new FlebImage(); $watermark = Image::make(public_path('images/logo.png')); $name = time() . $file->getClientOriginalName(); $img = Image::make($file); $watermarkSize = $img->width() - 20; //size of the image minus 20 margins //#2 $watermarkSize = $img->width() / 5; //half of the image size //#3 $resizePercentage = 70;//70% less then an actual image (play with this value) $watermarkSize = round($img->width() * ((100 - $resizePercentage) / 100), 2); //watermark will be $resizePercentage less then the actual width of the image // resize watermark width keep height auto $watermark->resize(70, 70, function ($constraint) { $constraint->aspectRatio(); }); $watermark->opacity(50); //insert resized watermark to image center aligned //$img->insert($watermark, 'center'); /*$img->resize(500, 500, function ($constraint) { $constraint->aspectRatio(); //$constraint->upsize(); });*/ //$img->insert(public_path('images/logo.jpeg'), 'bottom-right', 10, 10); $img->insert($watermark, 'bottom-right', 10, 10); $filePath = 'flebs/'. $flebFolder . '/' . $name; //detach method is the key! Hours to find it... : $resource = $img->stream()->detach(); \Storage::disk('s3')->put($filePath, $resource); $flebImages->image = \Storage::disk('s3')->url($filePath); $flebImages->save(); }
- 3 اجابة
-
- 1
-
-
ستقوم بتخزين id محمد و تخزين id للرسائل بحيث عند إرسال الرسالة يتم حفظها, ويكون الاستعلام بهذا الشكل $sql = "SELECT * FROM messages WHERE user_id = {$user_id} and msg_id = {$msg_id}"; $sql = mysqli_query("معرف الاتصال", $sql); وهكذا تستطيع عمل Loop خاصة للرسائل الخاصة بمحمد و الخاصة بالرسائل. الفكرة بعمل جدول للإعضاء و جدول للرسائل و جدول للمحادثات داخل كل رسالة. أو يمكنك إرفاق ملفات مشروعك هنا لنساعدك في حلها.
- 5 اجابة
-
- 1
-
-
يمكنك تنفيذ الأمر التالي في cmd php artisan tinker ثم تقوم بالأستعلام عن الحساب الذي تريد تغيير كلمة المرور له. $user = App\User::where('email', 'user@example.com')->first(); $user->password = Hash::make('password'); $user->save(); أو من خلال ملف web.php يمكنك وضع مسار لتغيير كلمة المرور بهذا الشكل <?php Route::get('changepassword', function() { $user = App\User::where('email', 'admin@laravel.com')->first(); $user->password = Hash::make('123456'); $user->save(); echo 'Password changed successfully.'; }); ?>
- 2 اجابة
-
- 2
-
-
ما دام مجاني فلا بأس بذلك.
-
يمكنك ايضا التحقق من ذلك باستخدام ()values sampleDict = {'a': 100, 'b': 200, 'c': 300} 200 in sampleDict.values()
-
يجب أن تكون مجانية، حتى لا تتعدى حقوق الطبع و النشر الموجودة على الصور.
- 6 اجابة
-
- 1
-
-
يبدو أنك تضع الكود البرمجي بداخل الكلاس مباشرة بدون استخدام دالة setup بهذا الشكل public function setup() { $admin = new Role(); $admin->name = 'admin'; $admin->display_name = 'Project Admin'; $admin->description = 'admin is the owner of a project'; $admin->save(); } فيكون كاملا الكود <?php namespace App; use Zizaco\Entrust\EntrustRole; class Role extends EntrustRole { public function setup() { $admin = new Role(); $admin->name = 'admin'; $admin->display_name = 'Project Admin'; $admin->description = 'admin is the owner of a project'; $admin->save(); } }
-
تتطلب الحزمة spatie/laravel-image-optimizer أن تكون موجودة حزمة spatie/browsershot ثم يجب عليك تنزيل الحزمتين عن طريق الأمرين المنفصلين composer remove spatie/browsershot; composer require spatie/laravel-image-optimizer;
-
لتحويل pandas dataframe لِ numpy, يمكنك استخدام df.values في الكود الخاص بك. يمكنك استخدام الكود التالي ليظهر الخرج كما تريد import numpy as np import pandas as pd index = [1, 2, 3, 4, 5, 6, 7] a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1] b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan] c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan] df = pd.DataFrame({'A': a, 'B': b, 'C': c}, index=index) df = df.rename_axis('ID').values print(df) وهذه صورة مرفقة من الخرج الذي ظهر لي عند تنفيذ الكود إعلاه.
- 2 اجابة
-
- 1
-
-
يمكنك تغيير label النص من خلال Widget Text بهذا الشكل Text('NEXT') Text('CANCEL'), يمكنك وضع زرين بهذا الشكل TextButton( onPressed: onStepContinue, child: const Text('NEXT'), ), TextButton( onPressed: onStepCancel, child: const Text('CANCEL'), ), بحيث child تأخذ Widget النص و onPressed تأخذ قيمة الدالة أو الأنتقال. بحيث الدالتين onStepContinue onStepCancel تستخدمان في التحكم في Stepper.
- 3 اجابة
-
- 1
-
-
يمكنك الوصول إلى أي قيمة بهذا الشكل sampleDict = { "class": { "student":{ "name":"Mike", "marks":{ "physics": 70, "history": 80 } } } } print(sampleDict['class']['student']['marks']['history']) ستكون النتيجة هي 80 أو الوصول إلى قيمة physics بهذا الشكل sampleDict = { "class": { "student":{ "name":"Mike", "marks":{ "physics": 70, "history": 80 } } } } print(sampleDict['class']['student']['marks']['physics'])
-
يمكنك استخدام sampleDict.pop(key) لحذف أي key من داخل القاموس بهذا الشكل sampleDict = { "name": "kelly", "age": 25, "salary": 80000, "city" : "New yourk" } sampleDict.pop("name") print(sampleDict) أو يمكنك استخدام del sampleDict[key] sampleDict = { "name": "kelly", "age": 25, "salary": 80000, "city" : "New yourk" } del sampleDict['name'] print(sampleDict) أو كالتالي لحذف أكثر من مفتاح مرة واحدة sampleDict = { "name": "kelly", "age": 25, "salary": 80000, "city" : "New yourk" } keysToRemove = ['name' , 'salary'] for key in keysToRemove: del sampleDict[key] print(sampleDict)
-
ستكون التنسيقات الخاصة ب css مضافة في وسم head كالتالي <head> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous"> </head> أما ملفات الخاصة بجافا سكريبت ستكون تحت في أسفل الصفحة قبل وسم الإغلاق </body> بهذا الشكل <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js" integrity="sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.min.js" integrity="sha384-j0CNLUeiqtyaRmlzUHCPZ+Gy5fQu0dQ6eZ/xAww941Ai1SxSY+0EQqNXNE6DZiVc" crossorigin="anonymous"></script> يمكنك التعويض عن الروابط المستخدمة وهي CDN بمسارات الملفات في مشروعك. إذا لم تحل المشكلة يرجى إرفاق ملفات مشروعك لنساعدك في حل المشكلة.
-
يمكن استخدام الصور التي ليست عليها حقوق أو مجانية ثم تستطيع استخدام Image.network لجلبها مثل Image.network('https://github.com/flutter/plugins/raw/master/packages/video_player/video_player/doc/demo_ipod.gif?raw=true'); Image.network('https://picsum.photos/250?image=9')