-
المساهمات
4339 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
11
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
أجوبة بواسطة عبدالباسط ابراهيم
-
-
يمكنك استخدام المعاملات المنطقية التي توفرها numpy وفي حالتك تريد تنفيذ عدة شروط فيمكنك استخدام المعامل numpy.logical_and ليصبح الكود كالتالي
np.where(np.logical_and(np.greater_equal(dists,r),np.greater_equal(dists,r + dr)))
لاحظ أننا استخدمنا المعامل greater_equal
يمكننا قراءة المزيد من المعلومات حول المعاملات المنطقية من هنا
- 1
-
يمكنك أيضاً بالإضافة للحل السابق استخدام ال transpose بحيث يتم قلب المصفوفة وبعدها يمكنك الوصول للعمود الذي تريده من خلال الصف كالتالي
array([[0, 1], [2, 3]]) np.transpose(x) array([[0, 2], [1, 3]]) #لاحظ عناصر المصفوفة تم تبديل الصف مع العمود
ومن خلال التالي يمكنك تنفيذ ما تريده
arr.T[0]
سيكون الناتج كالتالي
array([1, 3, 5])
-
هذه التحذيرات تظهر بسبب وجود أعمدة بأنماط متعددة مما يستهلك الكثير من الموارد لنحديد الأنماط وكما وضح وائل أنه يمكنك تفادي هذه التحذيرات من خلال low_memory=False أو تحديد نمط إفتراضي ولكن ذلك لا يحسن استهلاك الموارد
لذلك الأفضل هو تفادي هذه التحذيرات والعمل بدون مشاكل ويمكنك عمل ذلك من خلال
#Dtype تجاهل الأخطاء الخاصة بال warnings.filterwarnings('ignore', message="^Columns.*")
ويمكنك أيضاً ال converters لتحويل نمط الأعمدة ولكن هذا الحل ربما يبطئ البرنامج في حالة الملفات الكبيرة
-
يعتمد تنفيذ ذلك على الموقع حيث إذا كنت ستقوم بمعالجة بعض المهام التي ستحتاج لل php فالأفضل استخدامها ويمكنك أيضاً استخدام ال javascript
من خلال ال php
ستحتاج ل form كالتالي
<form action="index.php" method="post" id="form1"> <input type="text" id="message" value=""> <br> <button type="submit" form="form1" name="submit" >Generate Text</button> </form>
سيتم التوجيه لصفحة index.php سواء هي الصفحة الحالية أم لا لذلك يمكنك تنفيذ الدوال التي تريدها في صفحة index.php
<?php if (isset($_POST['form'])) { #قم بوضع الكود الذي تريده هنا حيث سيتم تنفيذه عند الضغط على الزر } ?>
-
بتاريخ الآن قال أحمد ابراهيم عبد الله:
هل تقصد كارت الشاشة ؟
وان لم يكن هو فكيف اصل له واعرف حجمه ؟
نعم أقصد كارت الشاشة
-
اعتقد أن هذه المواصفات جيدة كفاية لتشغيل، نظام التشغيل hackintosh حيث يعتبر
- المعالج جيد ولكنه جيل قديم نوعاً ما
- مساحة الرام كافية جداً
ويفضل أن يكون المعالج الرسومي جيد حتى لا تواجه أي مشاكل
وتعتبر المواصفات المطلوبة لهذا النظام ليست بالكبيرة ولكن إذا كنت تعمل جيداً على نظام التشغيل windows فلن تواجه أي مشاكل في استخدام hackintosh
- 1
-
من الواضح أن
git add.
لا تضيف أي ملفات جديدة والملفات المعدلة حالياً هو مجلد dist وبما أنه لا يتم إضافته فالغالب أنه موجود في ملف gitignore
- لذلك قم بفتح الملف gitignore ثم التأكد من عدم وجود اسم dist في الملف gitignore وإذا كان موجوداً قم بحذفه
- ثم بعد ذلك أعد الخطوات السابقة بداية من
git add.
-
يمكنك استخدام الطريقة التي اقترحها المدرب @Sam Ahw وهي استخدام agent ولكن بطريقة أكثر إيجازاً وهي كالتلي
request({ url: url, agentOptions: { rejectUnauthorized: false } }, function (err, resp, body) { // ... });
-
هل نسخة ال php هى ال thread safe ؟ تأكد من ذلك
إذا كانت كذلك يمكنك تجربة الحل التالي
- قم بفتح الملف C:/laragon/etc/apache2/mod_php.conf
-
ثم استبدل ال الجزء التالي من الملف
LoadModule php8_module
ب
LoadModule php_module
- 1
-
يمكنك تنفيذ المطلوب من خلال الكود التالي
-
الجزء الخاص بزر الإنسدال
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> </button>
تأكد من وجود الكلاسات والخصائص مثل data-target و data-toggle
-
يجب عليك إحتواء الجزء الخاص بالروابط داخل الكلاس collapse navbar-collapse كالتالي
<div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Something else here</a> </div> </li> <li class="nav-item"> <a class="nav-link disabled" href="#">Disabled</a> </li> </ul> </div>
-
ويتم وضع الكود الخاص بال button والعنصر بالمحدد collapse navbar-collapse داخل العنصر التالي
<nav class="navbar navbar-expand-lg navbar-light bg-light"> ... </nav>
بالطبع قد تحتاج لتغيير بعض الخصائص أو الكلاسات يمكنك من خلال قراءة المزيد من المعلومات من الموقع الرسمي ل bootstrap
لاحظ أن الكود السابق خاص بالإصدار الرابع إذا أردت العمل بالإصدار الخامس ربما تجد بعض الإختلافات البسيطة في اسم كلاس مثلاً
-
الجزء الخاص بزر الإنسدال
-
حتى تستطيع بناء تطبيق ios يجب، عليك تعلم لغة البرمجة Swift والعمل من خلال xcode حيث ستحتاجه في بعض الخطوات من بناء التطبيق
وبالنسبة لل back-end فيمكنك بناءها من خلال أي لغة back-end مثل php أو الأفضل لك استخدام Swift أيضًا لل front-end ولل back-end معاً حيث يمكنك بناء أي شيء بواسطة Swift فهي تعتبر لغة general purpose ويوجد إطارات عمل لswift مثل vapor ويمكنك العمل مع قواعد البيانات بواسطة Swift أيضاً
وبالنسبة لتعلم flutter فالقرار راجع لك حيث إذا كنت تريد التخصص في ال ios فيجب عليك تعلم Swift أما إذا أردت بناء تطبيقات Cross platform قم بتعلم flutter ويمكنك بنافتطبيقات كبيرة بواسطة flutter أيضاً
-
كما في التعليق السابق فإنه القيمة NaN تعامل كقيمة رقمية فلذلك يمكنك إجراء العملية الحسابية في وجودها بينما لا يمكنك في حالة وجود القيمة none
لذلك يمكنك استخدام none في حالة تريد تعريف قيمة فارغة والكشف عنها بدالة ما لإجراء وظيفة معينة
بينما نستخدم NaN عندما نريد إجراء العمليات الحسابية في وجودها ويمكننا تفادي هذه القيمة باستخدام دالة من numpy تسمى nan_to_num أو sumnan مثلاً عند إرجاع مجموع مصفوفة يوجد بها قيمة NaN كالتالي
import numpy as np in_arr = np.array([[2, 2, 2], [2, 2, np.nan]]) out_sum = np.nansum(in_arr) print ("مجموع المصفوفة: ", out_sum) #الناتج #مجموع المصفوفة
- 1
-
سأتكلم عن مجال البرمجة
أولاً العمر ليس مشكلة في الحصول على وظيفة وخصوصاً في مجال البرمجة ويمكنك أيضاً العمل بدون شهادة جامعية ولكن الأمر صعباً ويمكن أن يحدث ذلك عندما تكون متمكن من المهارات التي تقدمها وأجد أن الحصول على وظيفة ثابتة أمر صعب بدون شهادة جامعية وكما في التعليق السابق فالأمر يختلف من دولة إلى أخرى ومن وظيفة إلى أخرى فليس هناك شئ ثابت ما عليك سوى البحث عن متطلبات الوظيفة التي تريدها
أما بالنسبة للعمل الحر فالأمر بسيط حيث أن طلاما تستطيع تنفيذ المطلوب فليس هناك حاجة لمعرفة ما هو عمرك أو ما هو تعليمك الجامعي
قم بقراءة الإجابات على هذا السؤال وهذا السؤال لمعرفة المزيد
-
يمكنك تنفيذ المطلوب من خلال عدة طرق
-
من خلال express 4 استخدم
app.use(favicon(__dirname + '/public/images/favicon.ico'));
أو يمكنك أيضاً استخدام ال serve-favicon عن طريق
var favicon = require('serve-favicon'); app.use(favicon(__dirname + '/public/images/favicon.ico'));
-
من خلال express 3 استخدم .favicon API كالتالي
app.use(express.favicon("public/images/favicon.ico"));
-
من خلال express 4 استخدم
-
إذا كنت مشترك في كلا الدورتين أو تنوي دراسة الدورتين فالأفضل دراسة دورة تطوير واجهات المستخدم أولاً لماذا؟
لأنك في دورة تطوير تطبيقات الويب بواسطة php ستحتاج لأساسيات ال html وربما بعض ال css كما أن الدورتين لمجالين مختلفين حيث أن
- دورة تطوير واجهات المستخدم في مجال ال front-end
- ودورة تطبيقات الويب بواسطة php لمجال ال back-end
وعند دراسة الدورتين تصبح full stack web developer أي قادر على تنفيذ عمل ال front-end وال back-end
يمكنك قراءة الإجابات على هذا السؤال لفهم الويب بشكل واسع وبناء عليه يمكنك إختيار الدورة المناسبة لك أولاً
-
تعتبر التطبيقات الخاصة بال html فقط التي يمكنك أن تجدها قليلة حيث معظم التطبيقات أو المواقع ستجدها تم استخدام ال css فيها لذلك يفضل الإنتقال لدراسة اساسيات ال css ثم التطبيق على ال html و ال css معاً وستجد الكثير من التطبيقات والمواقع والتصميمات التي يمكنك التدرب عليها
وإذا كنت قلقاً من نسيان ال html عند دراسة ال css فلا تقلق فعند دراسة ال css ستنفذ بعض الأكواد بواسطة html لذلك يفضل الإنتقال لأساسيا ال css مباشرة
- 1
-
بتاريخ 18 دقائق مضت قال Asd Fgh:
يعني أنا مشترك في مسار تطوير واجهات المستخدم و مسار الphp
هل أنا لا استطيع أن اتقدم للأحتبار ؟؟
تطوير واجهات المستخدم أو php دورات وليس مسارات وهذه الدورات تتكون من مسارات
لذلك يمكنك التقدم للإختبار بعد الخطوات السابقة
- 1
-
يمكن شرح ال axis سواء كان 1 أو 0 ببساطة كالتالي
- في حالة أن ال Axis = 0 وفي حالة الدالة mean سيقوم البرنامج بالعمل على أو حساب المتوسط من خلال العناصر الموجودة في جميع الصفوف في كل عمود
- بينما في حالة أن ال Axis = 1 (وبالطبع في الدالة mean) سيقوم البرنامج بحساب المتوسط من خلال العناصر الموجودة في جميع الأعمدة في كل صف
والصورة التالية توضع الشرح السابق
- 1
-
بالطبع يمكنك الحصول على ال url كما في التعليقات السابقة من خلال
var url = req.protocol + '://' + req.get('host') + req.originalUrl;
ولكن حتى يكون ال req.get('host') صحيح بدون أي مشاكل أو يقوم بإرجاع النتائج المتوقعة يجب أن تقوم ب
-
إضافة الكود التالي في ملف ال app.js
app.set('trust proxy', 'loopback');
لمعالجة النتائج الغير متوقعة من ال proxies
-
تحديد ال X-Forwarded-Host في إعدادات السيرفر في nginx
server { listen myhost:80; server_name myhost; location / { root /path/to/myapp/public; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://myapp:8080; } }
وال apache
<VirtualHost myhost:80> ServerName myhost DocumentRoot /path/to/myapp/public ProxyPass / http://myapp:8080/ ProxyPassReverse / http://myapp:8080/ </VirtualHost>
-
إضافة الكود التالي في ملف ال app.js
-
ماذا تقصد ب اوثق هوية حسابي ؟
يمكنك التقدم للإختبار بدون مشاكل إذا قمت بالخطوات
- إتمام أربعة مسارات تعليمية على الأقل
- التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة
- رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا
يمكنك قراءة التعليمات بالتفصيل من هنا
ويمكنك التواصل مع مركز المساعدة في حالة وجود أي مشكلة
-
يعتمد هذا الكود على بعض المكتبات ويستخدم مكتبة jquery أيضاً ولكن الكود الأساسي عبارة عن
-
تنفيذ بعض ال animations الخاصة بالكلاس 'la-animate' عند تحميل ال html فقط
$(document).ready(function () { droopy(); $('.preloader-it > .la-anim-1').addClass('la-animate'); }); //الكود السابق هو المسئول عن ذلك
-
عند إنتهاء تحميل الموقع من صور وملفات سيتم إختفاء ال preloader تدريجياً
-
وهناك أيضاً عناصر Progress Bar يتغير عرضه بواسطة ال scroll عن طريق المكتبة wayPoint
$(window).on("load", function () { $(".preloader-it").delay(500).fadeOut("slow"); //تدريجياً preloader هنا يتم إختفاء ال /*Progress Bar Animation*/ var progressAnim = $('.progress-anim'); //Progress Bar هنا الكود الخاص بال if (progressAnim.length > 0) { for (var i = 0; i < progressAnim.length; i++) { var $this = $(progressAnim[i]); $this.waypoint(function () { var progressBar = $(".progress-anim .progress-bar"); for (var i = 0; i < progressBar.length; i++) { $this = $(progressBar[i]); $this.css("width", $this.attr("aria-valuenow") + "%"); } }, { triggerOnce: true, offset: 'bottom-in-view' }); } } });
-
تنفيذ بعض ال animations الخاصة بالكلاس 'la-animate' عند تحميل ال html فقط
-
من خلال os.environ يمكنك الحصول على متغيرات البيئة من خلال
import os print(os.environ['VARIABLE_NAME'])
ويمكنك التحقق من وجود المتغير من خلال الشرط التالي
'VARIABLE_NAME' in os.environ
حيث سيتم إرجاع true أو false على حسب وجود المتغير
- 2
-
يمكنك إرسال mail بالإضافة لل attachment عن طريق
- إنشاء MIME
- ثم إضافة البيانات مثل from , to , Date و subject
- بعد ذلك نضيف المرفقات ولكن بعد قرائتها ثم عمل encode لها ل base64
- ثم نرسل ال mail
import smtplib from pathlib import Path from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.mime.text import MIMEText from email.utils import COMMASPACE, formatdate from email import encoders def send_mail(send_from, send_to, subject, message, files=[], server="localhost", port=587, username='', password='', use_tls=True): msg = MIMEMultipart() msg['From'] = send_from msg['To'] = COMMASPACE.join(send_to) msg['Date'] = formatdate(localtime=True) msg['Subject'] = subject msg.attach(MIMEText(message)) for path in files: part = MIMEBase('application', "octet-stream") with open(path, 'rb') as file: part.set_payload(file.read()) encoders.encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="{}"'.format(Path(path).name)) msg.attach(part) smtp = smtplib.SMTP(server, port) if use_tls: smtp.starttls() smtp.login(username, password) smtp.sendmail(send_from, send_to, msg.as_string()) smtp.quit()
-
إلى أين وصلت في دورة مسار تطوير تطبيقات الويب باستخدام لغة PHP ؟
أعتقد أنك ما تزال في أساسيات ال php أو laravel وكما وضح محمد في التعليق السابق طريقة جيدة للتطبيق على ما تعلمت ولكن إذا كنت تبحث عن تطبيقات فإنك ستجد بعد أساسيات ال php و laravel ما يقرب من الخمس تطبيقات وهذه التطبيقات كبيرة حيث ستتطبق على كل ما تعلمته وإكتساب خبرات جديدة وتعلم الممارسات والطرق السليمة لحل مشكلة ما في تطبيق بعض وظائف الموقع لذلك قم بدراسة أساسيات ال php و laravel بالتطبيق عليهما من خلال بعض التمارين التي يشرحها المدرب ثم بعد ذلك قم ببناء التطبيقات الموجودة في الدورة
- 1
ما هي أفضل قاعدة بيانات
في علوم الحاسوب
نشر · تم التعديل في بواسطة عبدالباسط ابراهيم
تصحيح بعض المعلومات
أولاً هناك نوعين من قواعد البيانات
ولكل نوع مميزات مختلفة وتحتاج لاستخدام قاعدة البيانات التي تخدم مشروعك من خلال معرفة مميزات وسلبيات كل نوع فمثلاً قواعد البيانات الغير علاقية تتمدد بسهولة عند زيادة البيانات وسهلة التعامل وتوفر لك العديد من الدوال التي تسهل من التعديل على البيانات ويمكنك قراءة المزيد من هذه المقالة
ثانياً لا تختلف قاعدة البيانات سواء كنت تستخدمها لتطوير التطبيقات أو المواقع حيث يمكنك تطوير API ليصبح كود ال backend واحد سواء للموقع أو التطبيق
ثالثاً تعتبر ال mysql نظام إدارة بيانات أو برنامج يستخدم قواعد البيانات Relational databases ويعتبر من أفضل قواعد البيانات الموجودة حالياً ومن أكثرهم استخداماً لذلك قم بتعلمها بدون مشاكل