لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 02/09/22 في كل الموقع
-
في جانغو Django يمكن تعيين عنوان URL مخصص لتسجيل الدخول. ولكن هل يمكن أن أتحكم في عنوان URL الذي يتم إعادة التوجيه إليه بعد تسجيل الخروج Logout. أريد أن يتم إعادة التوجيه إلى الصفحة الرئيسية على سبيل المثال، كيف أقوم بهذا الأمر؟1 نقطة
-
1 نقطة
-
لو فرضنا ان عندي قاعدة بيانات mongodb بها حقول A1 A2 A3 A4 ... يتم اسناد قيمها من خلال المستخدم بواسطة مثلا vue js ثم يتم اجراء عمليات معقدة عليها بشروط و for ... ثم وضع النتائج في حقول اخر في قاعدة البيانات B1 B2 B3 B4... فهل هده العمليات تكون على مستوى vuejs او api nodejs بمعني هل يتم اسناد القيم ثم عمل هده العمليات الحسابية و غيرها من خلال vue ثم ارسال هده القيم و النتائج الى api لتخينها في قاعدة البيانات او ارسال القيم فقط من خلال vue ثم عمل العمليات في api و اعادة النتائج من خلاله1 نقطة
-
كل العمليات الحسابية المكلفة والمعقدة يتم عادة التعامل معها في سيرفر وليس في الواجهة لاسباب كثيرة لا يمكنك معرفة قدرات حواسيب المستخدمين لديك وقد يسبب لهم هذا تجربة مستخدم كارثية بتجمد المتصفح لديهم كل ما دخلو للموقع يجب العمل داءما على ابقاء واجهة المستخدم سلسة وخفيفة توفر أدوات تساعد في أداء العمليات الحسابية في السيرفر تخفيض حجم request و response تنفيذ error handling للعمليات الحسابية في السيرفر1 نقطة
-
السلام عليكم لدي سؤال بصراحة هذا السؤال عامل لي قلق لقد سجل في موقعكن في دورة علوم الحاسوب وانا لدي شغف في تعلم برمجة التطبيقات الذكية مثل انشاء الوتس اب اليوتيوب ولكن قررت ان اسجل سجلت دودة علوم الحاسوب لان ليس لدي اي خبرة عن البرمجة عن طريق الفيديوهات في اليوتيوب قال اهم شي في تعلم البرمجة هو الخوارزميات ورايت ان دورة علوم الحاسوب يوجد بها تعلم الخوارزميات وكان مكتوب على موقعكن ان دورة علوم الحاسوب تتبدآ من الصفر من دون اي خبرة ومكتوب ايضا على دورة JavaScript ان ايضا استطيع ان ابدا من الصفر دون اي خبرة وانا محتار بصراحة ما هي الدورة التي تعلمني تطوير التطبيقات واي مسار يجب ان اتبع بصراحة ال JavaScript افهم ما الذي سوف افعله في المستقبل لكن في دورة علوم الحاسوب لافهم حتى اذا انتهيت من هذه الدورة ماذا سوف تفيدني1 نقطة
-
في حالتك يجب استقبال البيانات القادمة للحقول A 123.. من واجهة المستخدم و تنفيذ العمليات في المخدم. للضرورات التالية: أمن المعلومات: إن كانت المعلومات حساسة و بحاجة للحماية و التحقق من الضروري العمل عليها في المخدم. قوة المعالجة و سرعة المعالج: في أغلب الأحيان قوة معالجة المخدم أفضل من حاسوب المستخدم فنقوم بالعمليات المقعدة في المخدم. ببساطة يمكن للمستخدم حشو معلومات خاطئة أو وهمية فمن الافضل عمل تحقق قبل تخزينها بالحالة النهائية. إن كان لديك ملايين المستخدمين و قوة مخدم متواضعة، عندها سوف تضطر للاعتماد على حواسيب المستخدمين لكن مع الحذر.1 نقطة
-
كيفية تنصيب حزمة GD Library extension واي حزمة أخري علي السيرفر الفعلي وليس المحلي .1 نقطة
-
1 نقطة
-
السلام عليكم ورحمة الله وبركاته كن أحاول أن أققوم بعمل transition على عنصر ال parent وعنصر الchild2 لكن عنصر ال parent لا يعمل أرجو حل المشكلة حفظكم الله project.zip1 نقطة
-
الtransition لا يعمل إلا في القيم المطلقة ماهي القيم المطلقة؟ هي القيم التي لها معنى واضح مثل 50 px أو 0px بينما القيم التي تكون مثل auto, inherit لا تعمل مع الtranstion لذا برجاء تغيير قيمة الmargin:auto الموجودة للصنف parent إلى 0px1 نقطة
-
قُم بترتيب الحقول على الشكل الموجود داخل النموذج بعدها قُم بفحص إذا كان الحقل الأخير هو الحقل الذي يتم التحقق من صحته، وإلا قم بإرجاع القيمة دون تحديد. @validates('password', 'repassword') def validates_fields(self, key, value): if key == 'repassword': if (self.password != value) { raise ValueError("Please make sure your passwords match.") } return value يكنك أيضا استخدام مُستمع أحداث للحدث before_flush للوصول إلى ما تبحث عنه: @event.listens_for(Session, 'before_flush') def validate_passwords(session, flush_context, instances): """ """ for instance in session.new: if isinstance(instance, MyData): if instance.password != instance.repassword raise ValueError("Please make sure your passwords match.")1 نقطة
-
<?php //تطبيق أختصار الروابط الموجود علي قناه الاكادمية علي اليوتيوب //كود المتحكم namespace App\Http\Controllers; use App\Models\ShortLink; use Illuminate\Http\Request; class ShortLinkController extends Controller { public function index(){ $shortlinks = ShortLink::paginate(10); return view('short_links',compact('shortlinks')); } public function store(Request $request){ $request->validate([ 'link' => 'required | url | unique:short_links,link' ]); $data ['link'] = $request->link; $data ['code'] = \Illuminate\Support\Str::random(6); Shortlink::create($data); return redirect('/')->with('success','لقد تم أختصار الرابط بنجاح '); } public function show($code){ $row = ShortLink::where('code',$code)->firstOrFail(); $row->visits_count += 1 ; $row->save(); return redirect($row->link); } } //ملف العرض view <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="shortcut icon" type="image/x-icon" href="{{ asset('icon.png') }}" /> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <title>{{__('home_page.shortened_links')}}</title> <style> h1 { text-align: center} .card { direction: rtl} </style> </head> <body dir="rtl" > <div class="container"> <hr> <h1 class="text-center">{{__('home_page.shortened_links')}} </h1> <hr> <div class="card"> <div class="card-header"> <form action="{{ route('generate-shortenlink') }}" method="POST"> @csrf <div class="input-group mb-3"> <input type="text" class="form-control" placeholder="{{__('home_page.write_a_link')}}"> <div class="input-group-append"> <button class="btn btn-success">{{__('home_page.generate_shortened_link')}}</button> </div> </div> @if ($errors->has('link')) <span class="alert-danger"> <strong>{{$errors->first('link')}}</strong> </span> @endif </form> </div> <div class="card-body"> @if (session('success')) <div class="alert alert-success"> <p>{{session('success')}}</p> </div> @endif <table class="table"> <thead> <tr> <th>{{__('home_page.original_link')}}</th> <th>{{__('home_page.shortened_link')}}</th> <th>{{__('home_page.number_of_visits')}}</th> </tr> </thead> <tbody> @foreach ($shortlinks as $row) <tr> <td>{{ $row->link}}</td> <td><a href="{{ route('show-shorten-link' ,$row->code ) }}"> {{ url('') . '/' . $row->code }} </a></td> <td>{{ $row->visits_count }}</td> </tr> @endforeach </tbody> </table> <div class="d-flex justify-content-center"> {{ $shortlinks->links() }} </div> </div> </div> </div> </body> </html> <?php //المسارات use App\Http\Controllers\ShortLinkController; use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('/', [ShortLinkController::class, 'index'] ); Route::post('/generate-shorten-link', [ShortLinkController::class, 'store'])->name('generate-shortenlink'); Route::get('/{code}', [ShortLinkController::class, 'show'])->name('show-shorten-link'); //ملف التهجير <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateShortLinksTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('short_links', function (Blueprint $table) { $table->id(); $table->string('link'); $table->string('code'); $table->integer('visits_count')->default(0); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('short_links'); } } رابط المشروع علي جوجل درايف1 نقطة
-
سبب المشكلة لديك أنك لاترسل المفتاح link في الطلب post في هذا السطر <input type="text" class="form-control" placeholder="{{__('home_page.write_a_link')}}"> قم بإضافة link داخل الخاصية name كالتالي <input name="link" type="text" class="form-control" placeholder="{{__('home_page.write_a_link')}}"> بهذه الطريقة سوف تحل المشكلة وسوف ترسل المفتاح link معل القيمة التي ادخلتها في الحقل لكي تتم معالجتها في ال controller1 نقطة
-
import settings سيقوم باستيراد أول ملف بايثون باسم settings.py موجود في المسار sys.path. عادةً يكون هذا الملف هو ملف الإعدادات الخاص بمشروع Django. وهذا الملف يحِلُّ محل ملف الإعدادات الإفتراضية الخاص ب Django والموجود في django.conf.global_settings. أما بالنسبة ل: from django.conf import settings هو ليسَ ملفاً وإنما كائن تابع للنموذج LazySettings كما هو موضح في شفرة المصدر الخاص بجانغو settings = LazySettings() هذا الكائن يقوم بجمع كل الإعدادات سواءًا الافتراضية (الخاصة بجانغو) أو الخاصة بالمشروع وعمل ملخص منها. هذا الملخص يكون أَعَم وأَشمل من الإستيراد الأول. تُستخدم الطريقة الثانية أيضا في حالة ما إذا كنا نملك ملفين للإعدادات. الملف الأول مثلا ملف إعدادات التطوير settings_dev.py والملف الثاني ملف إعدادات الإنتاج settings_prod.py فهو يقوم باستيراد إعدادات الملف الذي نقوم بتنفيذ المشروع به.1 نقطة
-
يمكنك استخدام مكتبة django-redis python -m pip install django-redis لبدء استخدام django-redis يجب عليك تغيير إعدادات ذاكرة التخزين المؤقت لـ Django إلى شيء مثل: CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } } } يمكنك القراءة حول استخدامات المكتبة ككيفية حماية redis بكلمة سر وخصائص أخرى في التوثيق الرسمي للمكتبة django redis1 نقطة
-
Redis هو عبارة عن مَخزَن قيم مفاتيح key value store مفتوح المصدر يمكنه العمل كمخزن لتخزين البيانات في الذاكرة in-memory store أو كمخزن تخزين بيانات مؤقت. يُمكن استخدامه إمّا كخادوم قاعدة بيانات لوحده أو مرتبطًا مع قاعدة بيانات أخرى مثل MySQL لتسريع بعض الأشياء. يتم إستخدام Redis مع Django كذاكرة تخزين مؤقت cache لتخفيف الحمل الزائد على عمليات الاستعلام queries التي تتم على قاعدة البيانات المُستخدمة. إنطلاقا من النسحة رقم 4.0 لجانغو أصبح التخزين المؤقت باستخدام Redis من الأمور المُدمجة والمدعومة بعد أن كان عبارة عن تطبيق طرف ثالث. لاستعمل Redis مع جانغو نحتاجُ أولاً إلى تثبيت الخادم الخاص به. ندخل إلى الموقع الرسمي ونقوم بتثبيته على حسب النظام الذي نستخدمه. بعد تثبيت Redis سنحتاج إلى تثبيت redis-py وهي مكتبة في بايثون تقوم بالربط مع الخادم. لاستخدام Redis كخلفية لذاكرة التخزين المؤقت مع Django نقوم ب: في ملف الإعدادات settings.py نضيف django.core.cache.backends.redis.RedisCache. CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.redis.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379', # هنا ضع عنوان الايبي مع المنفذ الخاص بالخادم # redis } } عادة ما يكون Redis محمياً باسم مستخدم وكلمة مرور نضيفهما إلى عنوان URL: CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.redis.RedisCache', 'LOCATION': 'redis://username:password@127.0.0.1:6379', } } إذا كنا نملك عدة خوادم Redis تم إعدادها في وضع النسخ المتماثل (replication)، فيمكننا إضافتها على الشكل التالي: CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.redis.RedisCache', 'LOCATION': [ 'redis://127.0.0.1:6379', # القائد 'redis://127.0.0.1:6378', # النسخة رقم 1 'redis://127.0.0.1:6377', # النسخة رقم 2 ], } } هكذا نكون قد أتممنا إضافة Redis إلى جانغو. للإستزادة من المعلومات يمكن الإطلاع على المقالات التالية الموجودة في أكاديمية حسوب:1 نقطة