اذهب إلى المحتوى

هشام رزق الله

الأعضاء
  • المساهمات

    1442
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    31

كل منشورات العضو هشام رزق الله

  1. حسبت التوثيق الرسمي لـ API الخاص فإنه بعد إنهاء الدفع، سيرسل بايبال رسالة إلى العنوان الذي وضعته في متغير ipnNotificationUrl عند إنشاء طلب الدفع. بمجرد أن تحصل على تأكيد الدفع من بايبال أضف المبلغ إلى الرصيد عن طريقة عملية جمع بسيطة، فلو فرضنا أن رصيد الشخص هو x وأن المبلغ الذي ستضيفه هو y، قم بجمع x مع y واستبدله بالرصيد القديم بكل سهولة. المعاملات التجارية كلها عمليات رياضية بسيطة لا تحتاج إلى كثير من التعقيد، فلو فرضنا أنك تريد تقسيم مبلغ 100$ (موجودة في متغير money) بين البائع b والموقع w، حيث سيحصل الموقع على 25% من الأرباح، فسيكون التقسيم كالتالي: money = 100 w = (money/100) * 25 b = money - w طبعا سيتم تسجيل هذه المبالغ والتعامل معها عن طريق قواعد البيانات.
  2. بعض الخبرة في البرمجة ستكون مفيدة للغاية بالنسبة لك بالإضافة إلى أنه يجب أن تكون مُلما ومتعود على أكثر عدد ممكن من تكنولجيات قواعد البيانات وأنظمة التشغيل. أغلب وظائف مدير قواعد البيانات تتطلب معرفة وخبرة في لغة SQL وأنظمة يونكس بالإضافة إلى أنظمة إدارة قواعد البيانات (DBMS).
  3. الطريقة التي ذكرها الأخ حسان هي الأكثر إنتشارا، وتوجد طريقة أخرى لرفع الصور لكنها ليست شائعة بشكل كبير حسب علمي، وتعتمد هذه الطريقة على حفظ الملف بشكل بيناري في قاعدة البيانات حيث سيكون نوع البيانات هو Blob كما في المثال التالي: mysql> CREATE TABLE tbl_images ( > id tinyint(3) unsigned NOT NULL auto_increment, > image blob NOT NULL, > PRIMARY KEY (id) > ); لو فرضنا أنك كتبت شيفرة برمجية مشابهة لهذه لرفع الملف: <form enctype="multipart/form-data" action="insert.php" method="post" name="changer"> <input name="MAX_FILE_SIZE" value="102400" type="hidden"> <input name="image" accept="image/jpeg" type="file"> <input value="Submit" type="submit"> وكانت هذه هي معلومات الاتصال بقاعدة البيانات: // Create MySQL login values and // set them to your login information. $username = "YourUserName"; $password = "YourPassword"; $host = "localhost"; $database = "binary"; // Make the connect to MySQL or die // and display an error. $link = mysql_connect($host, $username, $password); if (!$link) { die('Could not connect: ' . mysql_error()); } // Select your database mysql_select_db ($database); فإن الشيفرة البرمجية لادخال الصورة إلى قاعدة البيانات هي كالتالي: // Make sure the user actually // selected and uploaded a file if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) { // Temporary file name stored on the server $tmpName = $_FILES['image']['tmp_name']; // Read the file $fp = fopen($tmpName, 'r'); $data = fread($fp, filesize($tmpName)); $data = addslashes($data); fclose($fp); // Create the query and insert // into our database. $query = "INSERT INTO tbl_images "; $query .= "(image) VALUES ('$data')"; $results = mysql_query($query, $link); // Print results print "Thank you, your file has been uploaded."; } else { print "No image selected/uploaded"; } // Close our MySQL Link mysql_close($link); ?> حسب رأيي أنصحك باستخدام الطريقة الأولى لأنها أسرع. المصدر
  4. لبرمجة أنظمة تشغيل سواء كانت لأجهزة حاسوب أو غيرها ستحتاج إلى تعلم لغة برمجة ذات مستوى منخفض والتي من أهما لغة سي وأسمبلي حيث تقريبا أشهر أنظمة التشغيل الموجودة حاليا تمت برمجتها باستخدام هاتين اللغتين معا. لبرمجة نظام تشغيل يجب عليك أن تبرمج أساسا التالي: برنامج الإقلاع bootloader. نواة kernel. برمجيات مختلفة للنظام. كما ستحتاج إلى برمجة نظام ملفات وتعريفات الأجهزة وغيرها من الأشياء الأخرى التي ستكون في الغالب مدمجة مع النواة.
  5. أفضل لغة لتعليم الأطفال البرمجة هي لغة سكراتش، فهي مصممة أساسًا للأطفال وستعلمهم الكثير من المنطق البرمجي والخوارزميات بأسلوب سهل وممتع بعيدًا عن تعقيدات لغات البرمجة، ليتمكن الطفل من إنشاء ألعاب ثنائية الأبعاد بكل سهولة. بعد ذلك، يمكنك تعليمهم لغة جيم، فهي لغة برمجة عربية قريبة إلى لغة سي، وستكون بداية جيدة لهم لتعلم البرمجة بشكل حقيقي وواقعي باللغة العربية.
  6. أنصحك بتعلّم لغة Swift، فهي أسرع وأكثر قابلية للقراءة من لغة Objective-c بالإضافة إلى أنها تتطلب كتابة شيفرة برمجة أقصر، لذلك إذا لم تكن تعرف أية لغة برمجة سابقًا، فستجد لغة Swift أسهل من Objective-c. أتوقع في السنوات القادمة ستكون لغة Swift الأولى في برمجة تطبيقات ios. بالنسبة للغات أخرى لبرمجة تطبيقات نظام ios، فيمكنك البرمجة باستخدام لغة C# وذلك عن طريق بيئة Xamarin.
  7. عادةً فإنّه مع إعادة تشغيل هاتفك يجب أن يعود إلى الوضع العادي. إذا لم يعد، حاول أن تُخرج البطارية ثم ارجعها. إذا لم تعمل الطريقة السابقة فهذا يعني زر "تخفيض مستوى الصوت" قد علق، حاول التأكد من أنه يعمل بدون مشاكل، وإذا قمت بتثبيت تطبيقات مؤخرًا على هاتفك فقد تكون هي السبب، فحاول إزالتهم. إذا لم تعمل الطرق السابقة فأنصحك بأخذ هاتفك إلى المصلح.
  8. بما أنك متعلم للغة جافا، فستجد أن تعلّم لغة جديدة عملية سهلة وستتم في وقت قصير جدا خاصة أن اللغتين متشابهتين كثيرا، بالنسبة للدروس فأنصحك بدروس موقع tutorialspoint كما يمكنك الاستفادة من دروس موقع cplusplus.com. أما بالنسبة لدروس الفيديو فأنصحك بهذه الدورة على موقع Udemy والتي ستتعلم من خلال أساسيات هذه اللغة وبعض الأشياء بعدها مثل أساسيات مكتبة SDL. كما أدعوك للاستفادة من فيديوهات قناة thenewboston على يوتيوب والتي تعتبر من أكبر وأشهر قنوات تعلم البرمجة وهذا هو رابط دورة البرمجة باستخدام C++.
  9. يمكنك معالجة الصور بسهولة عبر استخدام المكتبات القياسية للغة سي شارب كما في هذا المثال الذي سيغيّر ألوان الصورة إلى الأبيض والأسود: public void SetGrayscale() { Bitmap temp = (Bitmap)_currentBitmap; Bitmap bmap = (Bitmap)temp.Clone(); Color c; for (int i = 0; i < bmap.Width; i++) { for (int j = 0; j < bmap.Height; j++) { c = bmap.GetPixel(i, j); byte gray = (byte)(.299 * c.R + .587 * c.G + .114 * c.B); bmap.SetPixel(i, j, Color.FromArgb(gray, gray, gray)); } } _currentBitmap = (Bitmap)bmap.Clone(); } لمزيد من الدروس حول معالجة الصور باستخدام لغة سي شارب فأنصحك بهذا الدرس. أما للغة ماتلاب فأنصحك بهذه الدروس حول معالجة الصورة. بالنسبة لخاصية التعرف على الوجوه، فأنصحك بالإطلاع على هذا المشروع البسيط حيث يحتوي على خوارزمية للتعرف على الوجود في الصور.
  10. يمكنك فعل ذلك عن طريق وضع جملة if الشرطية في نهاية حلقة التكرار بحيث يكون الشرط مشابه لشرط جملة التكرار، أي سيتم تنفيذ الأمر عند آخر مرة يكون فيها شرط التكرار صالحًا، كما في المثال التالي: for (int i = 0 ; i <= 10 ; i++){ //some code in the loop if (i == 10)//in the end of the loop { //Do something } } ملاحظة: إذا لم يكن الأمر ضروريًا لحلقة التكرار (أي أنه لن يؤثر أو يتأثر بحلقة التكرار الحالية) فأنصحك بكتابته مباشرة بعد حلقة التكرار.
  11. توجد عدة طرق لفعل ذلك، أسهلها وضع الإمتدادات المسموح بها في مصفوفة ومن ثم استخدام in_array() كما في المثال التالي: $file_type = $_FILES['foreign_character_upload']['type']; //returns the mimetype $allowed = array("image/jpeg", "image/gif", "application/pdf"); if(!in_array($file_type, $allowed)) { $error_message = 'Only jpg, gif, and pdf files are allowed.'; $error = 'yes'; } إذا أردت مثال كامل لرفع ملفات محددة فإليك هذا السكربت البسيط. فلو فرضنا أنك استدعيت شيفرة رفع الملف عن طريق كود HTML التالي: <form enctype="multipart/form-data" action="upload.php" method="POST"> Please choose a file: <input name="uploaded" type="file" /><br /> <input type="submit" value="Upload" /> </form> فإن محتويات ملف upload.php ستكون كالتالي: <?php $target = "images/"; $target = $target . basename( $_FILES['uploaded']['name']) ; $ok=1; //This is our size condition if ($uploaded_size > 2097152){ echo "Your file is too large. We have a 2MB limit.<br>"; $ok=0; } $types = array('image/jpeg', 'image/gif', 'image/png'); if (in_array($_FILES['uploaded']['type'], $types)) { // file is okay continue } else { $ok=0; } //Here we check that $ok was not set to 0 by an error if ($ok==0){ Echo "Sorry your file was not uploaded. It may be the wrong filetype. We only allow JPG, GIF, and PNG filetypes."; } //If everything is ok we try to upload it else{ if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)){ echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else{ echo "Sorry, there was a problem uploading your file."; } } ?> المصدر
  12. لأن أي برنامج تنفيذي مكتوب بشكل ثنائي (0 و1)، الهندسة العكسية تقوم فقط بعرض البرنامج كما هو (إما بالبيناري أو بالأسمبلي) أي أنه سيريك الشيفرة البرمجية الأصلية التي سيفهمها الحاسوب وهذا لا يمكن منعه. الحلول الوحيدة الموجودة في الوقت الحالي هي إما تشفير البرنامج لجعل مهمة قراءته أصعب بالنسبة للمهندس العكسي أو جعل أجزاء من البرنامج على الإنترنت حيث لن يعمل إلا لو كان متصلا بالإنترنت ويمكنك بذلك إعطاء تصاريح العمل لمن يدفع ثمن البرنامج.
  13. قبل أن تبدأ يجب أن تكون لديك خبرة أكثر من متوسطة في البرمجة باستخدام لغات سي وأسمبلي، وأنصحك أيضا بتجربة عدة أنظمة تشغيل مثل لينكس وماك وBSD و Opensolaris وغيرها حتى تحصل على خبرة مناسبة. يمكنك أولا البدأ بهذه الدورة، فهي ستعطيك مقدمة عامة حول أنظمة التشغيل، حيث ستتعلم فيها أساسيات أنظمة التشغيل وكيف تعمل، وبعد ذلك يمكنك قراءة هذا الكتاب حول تطوير أنظمة التشغيل أو هذا الكتاب أيضا وفي النهاية يمكنك البدأ بتعلم برمجة نظام تشغيل بسيط، وسيفيدك هذا الكتاب كثيرا.
  14. توجد عدة أسباب لهذه المشكلة، ومن أشهرها: مشكلة في البطارية، أنصحك بنزع البطارية وربط الحاسوب بالكهرباء ومحاولة تشغيله مرة أخرى. ربما توقف بسبب ارتفاع درجة الحرارة أو الجو، حاول تشغيله بعد ساعات. تأكد من عمل زر تشغيل الحاسوب، فقد يكون السبب أن الزر لا يعمل. قد يكون فايروس أو ما شابه قد اصاب جهازك (مثل فيروس تشرنوبل). إذا لم تعرف سبب المشكلة فأنصحك بأخذ الجهاز للمصلح ليفتحه ويرى ما سبب المشكلة.
  15. يستطيع الكثير من القراصنة اختراق جهاز الويفي الخاص بك خلال دقائق إذا كانت هذه الخاصية مفعّلة، لذا يُنصح دائمًا بإلغاء تفعيلها. طريقة التعطيل سهلة، اتبع هذه الخطوات: ادخل من خلال المتصفح إلى العنوان 192.168.1.1 ادخل اسم المستخدم وكلمة المرور والتي تكون في العادة admin في كل من اسم المستخدم وكلمة المرور. في النهاية اضغط على Wireless من القائمة جانبية ثم اختر WPS وعطّله كما في الصورة التالية:
  16. هذا مثال بسيط لإضافة زر ينشر مقالات موقعك على فيس بوك. لفعل ذلك، يمكنك استخدام مكتبة facebook javascript sdk، فقط أضف كود فيس بوك جافا سكربت SDK إلى شيفرتك البرمجية (الكود مأخوذ من فيس بوك وتم القيام ببعض التعديلات عليه): window.fbAsyncInit = function(){ FB.init({ appId: 'xxxxx', status: true, cookie: true, xfbml: true }); }; (function(d, debug){var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if(d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true;js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js"; ref.parentNode.insertBefore(js, ref);}(document, /*debug*/ false)); function postToFeed(title, desc, url, image){ var obj = {method: 'feed',link: url, picture: 'http://www.url.com/images/'+image,name: title,description: desc}; function callback(response){} FB.ui(obj, callback); } استبدل الصورة والعنوان والمحتوى وغيرها من المعلومات الأخرى حسب ما يُلائمك. بعض ذلك استخدم هذا الرابط لنشر مقالات موقع على الفيس بوك: <a href="someurl.com/some-article" data-image="article-1.jpg" data-title="Article Title" data-desc="Some description for this article" class="btnShare">Share</a> استعمل جافا سكربت للتعامل مع الضغطة: $('.btnShare').click(function(){ elem = $(this); postToFeed(elem.data('title'), elem.data('desc'), elem.prop('href'), elem.data('image')); return false; }); المصدر
  17. الصيغة العامة للجملة الشرطية المختصرة هي التالي: الشرط ? إذا كان الشرط صحيح : إذا كان الشرط خاطئ حيث تبدأ بكتابة الشرط ومن ثم تضع رمز "?" وتضع بعده مباشرة ما سيتم فعله ما إذا كان الشرط صحيح وتضع بعد رمز ":" ما سيتم فعله إذا كان الشرط خاطئا. هذا مثال بسيط: echo 'you are a ',($score > 10 ? 'genius' : 'nobody'); يطبع المثال السابق genius أو nobody بالإعتماد على قيمة متغيرة score.
  18. إليك هذه الطريقة: ثبّت أولا هذا التطبيق MyMedia من متجر AppStore. بعد ذلك شغل الفيديو الذي تريده ثم اضغط على Share وانقل الرابط عن طريق النقر على Copy Link كما هو مبين بالصورة: 3. افتح موقع savefrom.net والصق رابط الفيديو وقمت بتنزيله بعد اختيار الجودة المناسبة التي تريدها. 4. ستجد ملف فيديو في Media من التطبيق (MyMedia).
  19. نعم توجد العديد من تطبيقات أندرويد لحذف الملفات نهائيا ومن أشهرها تطبيق SHREDroid الذي يتميز بأنه يحذف الملفات المحذوفة بشكل نهائي وتلقائي بشكل دوري لمدّة تحددها أنت، كما يتميز بإمكانية حذف الملفات حتى من الذاكرة الخارجية، ويمكن أن يعمل هذا التطبيق في الخلفية حتى لا يزعجك. من التطبيقات الأخرى المعروفة في هذا المجال تطبيق Secure delete الذي يتميز بالسهولة وبحذف ملفات معينة فقط تحددها أنت بدلا من الحذف التلقائي.
  20. إذا أردت تعلم البرمجة لتطبيقات أندرويد فيجب عليك تعلم لغة جافا وهذه مجموعة من دروس برمجة تطبيقات أندرويد من موقعنا سوف تساعدك كثيرا. أما إذا أردت برمجة تطبيقات أيفون فيجب عليك في هذه الحالة تعلم لغة Swift و Objective-C وهذه مجموعة دروس لتعلم لغة Swift يمكنك البدأ بها. كما قلت، إن تعلم لغات برمجة مختلف لأنظمة تشغيل للهواتف سيكون صعب وسيستغرق مدة طويلة، لذلك أنصحك إذا أردت تعلم لغة برمجة واحدة واستخدامها في برمجة تطبيقات على مختلف الأنظمة بتعلم لغة سي شارب واستخدام بيئة Xamarin للبرمجة، وإليك هذه المجموعة من دروس سي شارب باللغة العربية.
  21. توجد العديد من البرامج المجانية والبسيطة لدمج الفيديوهات على نظام ويندوز، وهذه قائمة بأشهرها: Filmora Video Editor: يعتبر من أشهر برامج دمج وفصل الفيديوهات لعام 2015، فهو برنامج سهل الاستخدام ويعمل على نظامي ويندوز وماك. MPEG Streamclip: على الرغم من أن هذا البرنامج أكثر صعوبة في الاستخدام من البرامج الأخرى إلا أنه قوي ويدعم العديد من الصيغ ويمكنك دمج الفيديوهات والمحافظة على الجودة (أو تغييرها). Avidemux: برنامج سهل الاستخدام ومفتوح المصدر يعمل على عدّة أنظمة تشغيل مثل ويندوز وماك ولينكس وغيرها.
  22. لا يمكنك حذف كوكيز بشكل مباشر من جهاز الحاسوب، بل يمكنك جعل المتصفح يحذفه عن طريق وضع وقت انتهاء هذا الكوكيز في زمن سابق وذلك عن طريق الخطوات التالية: حدد ما إذا كان الكوكيز موجود، وإذا كان كذلك أنشئ كوكيز جديد بنفس الإسم. حدد موعد إنتهاء الكوكيز في وقت سابق عن الوقت الحالي (في الماضي). أضف هذا الكوكيز إلى كائن مجموعة الكوكيز. الشيفرة البرمجية للخطوات السابقة هي التالي: If (Not Request.Cookies("UserSettings") Is Nothing) Then Dim myCookie As HttpCookie myCookie = New HttpCookie("UserSettings") myCookie.Expires = DateTime.Now.AddDays(-1D) Response.Cookies.Add(myCookie) End If افترضنا في المثال أن الكوكيز اسمه UserSettings. للمزيد من المعلومات حول هذه الطريقة أنصحك بالإطلاع على التوثيق الرسمي.
  23. سأجيبك أولا بمثال بسيط: إذا كانت لديك مشكلة واضحة لكنك لا تعرف حلها ففي هذه الحالة ستحتاج إلى مبرمج (Programmer) لحلها، إذا كنت تشعر بأن هنالك مشكلة ما - مشكلة غير واضحة - لكنك لا تستطيع تفسيرها بشكل جيد، فستحتاج إلى مطور لإيجاد المشكلة ومن ثم حلها. المبرمجين وظيفتهم الرئيسية كتابة خوارزميات قوية وفعالة لحل المشاكل لذلك ستجد أن لديهم خبرة كبيرة في المنطق والرياضيات لحل الخوازميات في أقصر وقت. أما بالنسبة للمطورين فوظيفتهم إيجاد المشاكل ومن ثم يختارون أفضل الطرق لحلها. المطورين والمبرمجين متشابهين في كثير من الوظائف بشكل كبير.
  24. توجد مكتبات شهيرة لبرمجة برامج سطح المكتب باستخدام لغة جافا: AWT API: ظهرت مع JDK 1.0 وهي قديمة؛ قد قل استخدامها بشكل كبير حيث أصبح من النادر أن تجد برنامج يستخدم هذه المكتبة ولقد تم استبدالها في الوقت الحالي بــ Swing، درس تعلمي لاستخدام AWT. Swing API: أشهر من السابقة وتستخدم في كثير من برامج سطح المكتب المبرمجة باستخدام لغة جافا، كانت موجودة كإضافة في الإصدار JDK 1.1 لكنها أصبحت مدمجة بشكل افتراضي بداية من الإصدار JDK 1.2، دروس تعليمية لـ Swing. JavaFX: تُعتبر المكتبة الأكثر استخداما في برمجة برامج سطح المكتب، دروس تعليمية لها.
  25. سأشرح لك طريقة سهلة باستخدام مكتبة تدعى بـ typeahead، قم بتحميلها وأضفها إلى ملف المشروع. حسنا، لنفترض أنك قد قمت بإنشاء قاعدة بيانات بهذه الطريقة: CREATE TABLE 'users_name' ( user_id INT(20) PRIMARY KEY, fname TEXT ); ومن ثم أنشئ صفحة مشابه لهذه (مثال بسيط على صفحة ويب): <html> <head> <title>Search Box</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="typeahead.min.js"></script> </head> <body> <input type="text" name="typeahead"> </body> </html> الصفحة بسيطة تحتوي فقط على مربع لادخال الكلمة للبحث. وسنستدعي في مثالنا PHP عن طريق استخدام get كما في المثال التالي: <script> $(document).ready(function(){ $('input.typeahead').typeahead({ name: 'typeahead', remote:'search.php?key=%QUERY', limit : 10 }); }); </script> حيث ستكون الشيفرة البرمجية الخاصة بالبحث كالتالي (ملف search.php): <?php $key=$_GET['key']; $array = array(); $con=mysql_connect("localhost","root",""); $db=mysql_select_db("database name",$con); $query=mysql_query("select * from table_name where <coloumn_name> LIKE '%{$key}%'"); while($row=mysql_fetch_assoc($query)) { $array[] = $row['title']; } echo json_encode($array); ?> قم باستبدال معلومات قاعدة البيانات حسب المطلوب. المصدر
×
×
  • أضف...