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

E.Nourddine

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

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

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

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

    18

كل منشورات العضو E.Nourddine

  1. تقينة التعرف على الوجه أو Face Detection، هي من التقنيات التي لا نتمكن منها بالاعتماد على لغة برمجة واحدة، بل تستلزم توفّر مكتبات متخصصة في هذا المجال، لتقوم بوظيفة مقارنة صورتين لوجهين مثلا والعودة بنتيجة التشابه أو عدم ذلك، من بين المكتبات المتصدرة لهذا المجال، مكتبةOpenCV، حيث يتم مقارنة العديد من الخصائص قبل تحديد هل الصورتين متشابهتين أم لا. مثال لشفرة تعمل على التعرف على الوجه ب#C: using System; using System.Windows.Forms; using System.Drawing; using Emgu.CV; using Emgu.Util; using Emgu.CV.Structure; using Emgu.CV.CvEnum; namespace opencvtut { public partial class Form1 : Form { private Capture cap; private HaarCascade haar; public Form1() { InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e) { using (Image<Bgr, byte> nextFrame = cap.QueryFrame()) { if (nextFrame != null) { // there's only one channel (greyscale), hence the zero index //var faces = nextFrame.DetectHaarCascade(haar)[0]; Image<Gray, byte> grayframe = nextFrame.Convert<Gray, byte>(); var faces = grayframe.DetectHaarCascade( haar, 1.4, 4, HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(nextFrame.Width/8, nextFrame.Height/8) )[0]; foreach (var face in faces) { nextFrame.Draw(face.rect, new Bgr(0,double.MaxValue,0), 3); } pictureBox1.Image = nextFrame.ToBitmap(); } } } private void Form1_Load(object sender, EventArgs e) { // passing 0 gets zeroth webcam cap = new Capture(0); // adjust path to find your xml haar = new HaarCascade( "..\\..\\..\\..\\lib\\haarcascade_frontalface_alt2.xml"); } } } مصدر1 مصدر2
  2. أعتقد أن الأمر سيحتاج إلى اقتناء بعض الكتب المتخصصة في ذلك، من قبيل: Operating Systems Design and Implementation Operating Systems: Principles and Practice i Writing a Simple Operating System | from Scratch الموضوع على موقع Quora ملاحظة: الموضوع ليس بالسهل، سيتطلب منك الالمام بالعديد من التقنيات للتمكن من ذلك. موفّق.
  3. توفر لغة html هذه الامكانية عن طريق توفر الوسم input على خاصية accept والتي تتيح للمبرمج إدراج نوع الملف المسموح بتحميله إلى الخادم، أي أن التحقق يتم عبر جهاز المستخدم نفسه، وهذا مثال لذلك: <form action="demo_form.asp"> <input type="file" name="pic" accept="image/*"> <input type="submit"> </form> بالنسبة للعديد من الامتدادات: <input type="file" accept=".xls,.xlsx" /> على لغة Php سنستعمل أنواع MIME من خلال وظيفة تتضمن أنواع الملفات التي سيُسمح بتحميلها على الخادم. إليك المثال: function allowed_file(){ //اضافة الملفات التي يسمح بتحميلها داخل المصفوفة التالية $allowed = array('application/doc', 'application/pdf', 'another/type'); //التأكد من وجود النوع المراد تحميله داخل المصفوفة السابقة if(in_array($_FILES['resume']['type'], $allowed) AND in_array($_FILES['reference']['type'], $allowed)){ //نكمل عملية التحقق عن طريق قياس حجم الملف، هنايسمح فقط بتحميل أقل من 40000 if($_FILES["resume"]["size"] < 400000 AND $_FILES["reference"]["size"] < 400000 ){ //تحميل الملف يعد التحقق من الشروط السابقة //Begin filemove here.... } } } كإضافة: يمكن التحقق من امتداد الملف المراد تحميله إلى الخادم عن طﻻيف javascript وأظنها أكثر الطرق استعمالًا: كود javascript: var _validFileExtensions = [".jpg", ".jpeg", ".bmp", ".gif", ".png"]; function Validate(oForm) { var arrInputs = oForm.getElementsByTagName("input"); for (var i = 0; i < arrInputs.length; i++) { var oInput = arrInputs[i]; if (oInput.type == "file") { var sFileName = oInput.value; if (sFileName.length > 0) { var blnValid = false; for (var j = 0; j < _validFileExtensions.length; j++) { var sCurExtension = _validFileExtensions[j]; if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) { blnValid = true; break; } } if (!blnValid) { alert("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", ")); return false; } } } } return true; } كود Html المتوفر على الحقول: <form onsubmit="return Validate(this);"> File: <input type="file" name="my file" /><br /> <input type="submit" value="Submit" /> </form>
  4. يمكن توجيه سؤالك أكثر، فلنقل أن لدينا مصفوفة على php، ونريد من خلال حلقة تكرار معرفة-foreach- الدورة الأخيرة من أجل تنفيذ أمر معين. يمكننا أيضا معرفة الحلقة الأولى وليس الأخيرة فقط، عن طريق الكود التالي: $i = 0; $len = count($array); foreach ($array as $item) { if ($i == 0) { // الحلقة الأولى } else if ($i == $len - 1) { // الحلقة الأخيرة } // … $i++; } الطريقة الوحيدة للتأكد من الحلقة -الدورة- الأخيرة هي مقارنة المتغير i$ بالقيمة النهائية عند كل دورة.
  5. بالاضافة إلى المصادر التي تفضل بها الأخ هشام، أعزز الإجابة بالروابط التالية: موقع cprogramming يقدم دروسا مكتوبة على الموقع، مع ارفاقها بأمثلة تطبيقية. موقع learncpp. يمكنك أيضا الاستعانة بقسم مقالات ودروس البرمجة على أكاديمية حسوب. دورة مصورة على موقع يوتيوب:
  6. كمثال للإصرار ضع تجربة توماس أدسون أمامك، حيث قام بتجربة المصباح مرات ومرات كثيرة قبل أن ينجح في اختراعه، وعلق على ذلك قائل -اكتشفت طرقًا لا تؤدي لإضاءة المصباح-، لذا لا تُحبط، ثابر،و وضع الهدف أمام عينيك. عليك بدراسة مشروعك جيداـ حدد مجال تخصصك، الفئة التي ستستهدفها من خلال المشروع، حاول أن يبدأ المشروع صغيراً ليكبر مع تطويره وتحسين خصائصه. ادرس المنافسين لك، قدّم خدمة أفضل من الموجودة على الساحة، أضف امتيازات لا تتوفّر عليها المشاريع المنافسة، ادرس حاجة الفئة المستهدفة ووفرها، وأخير طالع كثيرا في مجال مشروعك، وتفحص تجارب الآخرين حتى تتمكّن من إضافة شيء جديد ومرغوب لدى المستفيد. داوم على تصفح قسم مقالات ودروس في ريادة الأعمال على أكاديمية حسوب. بالتوفيق.
  7. نعم قد يبدو للوهلة الاولى أن المهنتين متداخلتين أو هما مصطلحان لنفس الوظفية، لكن الأمر غير صحيح حيث يمكن تعريف كل منهما : المبرمج -Porgrammer: هو الشخص الموكل إليه عملية التكويد فقط وبشكل محدد، مع بعض التدخلات البسيطة -غير الزامية في كثير من المرات- في عملية البرمجة بشكل عام. المطور أو مايصطلح عليه بـ Developer هو الشخص الموكل إليه العديد من المهام في عملية البرمجة حسب الحاجة، من قبيل التكود، تجربة الكود، الدعم... The Difference Between A Developer, A Programmer And A Computer Scientist
  8. في المثال التالي، أقدم لك الطريقة المتبعة من قبل المبرمجين لعرض النتائج المبحوث عنها في قاعدة بيانات mysql عن طريق Jquery: معلومات حول قاعدة البيانات: database name => phpgang table name => live_search column names => id, name, email إنشاء قاعدة البيانات و الجدول، وملءه ببعض البيانات: create database `phpgang`; use `phpgang`; CREATE TABLE `live_search` ( `id` int(10) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `email` varchar(100) NOT NULL, `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; INSERT INTO `live_search` VALUES (1, 'Huzoor Bux', 'huzoorbux@gmail.com', '2013-08-29 11:04:36'); INSERT INTO `live_search` VALUES (2, 'Sameer Khan', 's_khan@gmail.com', '2013-08-29 11:04:36'); INSERT INTO `live_search` VALUES (3, 'Ravi Khana', 'r_khana@phpgang.com', '2013-08-29 11:05:31'); INSERT INTO `live_search` VALUES (4, 'Neelam Ara', 'neelam@phpgang.com', '2013-08-29 11:05:31'); ملف db.php للاتصال بقاعدة البيانات: <?php $connection = mysqli_connect('localhost','phpgang_usr','******','phpgang'); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } ?> ملفindex.php يتضمن حقل البحث: <div class="content"> <input type="text" class="search" id="searchid" placeholder="Search for people" />&nbsp; &nbsp; Ex: <b><i>huzoor bux, neelam, ravi or sameer</i></b><br /> <div id="result"></div> </div> Javascript والتي ستتيح البحث عند كل حرف يكتب في الحقل المخصص للبحث: <script type="text/javascript" src="jquery-1.8.0.min.js"></script> <script type="text/javascript"> $(function(){ $(".search").keyup(function() { var searchid = $(this).val(); var dataString = \'search=\'+ searchid; if(searchid!=\'\') { $.ajax({ type: "POST", url: "result.php", data: dataString, cache: false, success: function(html) { $("#result").html(html).show(); } }); }return false; }); jQuery("#result").on("click",function(e){ var $clicked = $(e.target); var $name = $clicked.find(\'.name\').html(); var decoded = $("<div/>").html($name).text(); $(\'#searchid\').val(decoded); }); jQuery(document).live("click", function(e) { var $clicked = $(e.target); if (! $clicked.hasClass("search")){ jQuery("#result").fadeOut(); } }); $(\'#searchid\').click(function(){ jQuery("#result").fadeIn(); }); }); </script> ملف تنسيقcss لاضافة بعض التأثيرات قصد جمالية الصفحة: <style type="text/css"> .content{ width:900px; margin:0 auto; } #searchid { width:500px; border:solid 1px #000; padding:10px; font-size:14px; } #result { position:absolute; width:500px; padding:10px; display:none; margin-top:-1px; border-top:0px; overflow:hidden; border:1px #CCC solid; background-color: white; } .show { padding:10px; border-bottom:1px #999 dashed; font-size:15px; height:50px; } .show:hover { background:#4c66a4; color:#FFF; cursor:pointer; } </style> ملف result.php المسؤول عن ارسال جمل الاستعلام للبحث عن الكلمة المبحوث عنها: <?php include('db.php'); if($_POST) { $q = mysqli_real_escape_string($connection,$_POST['search']); $strSQL_Result = mysqli_query($connection,"select id,name,email from live_search where name like '%$q%' or email like '%$q%' order by id LIMIT 5"); while($row=mysqli_fetch_array($strSQL_Result)) { $username = $row['name']; $email = $row['email']; $b_username = '<strong>'.$q.'</strong>'; $b_email = '<strong>'.$q.'</strong>'; $final_username = str_ireplace($q, $b_username, $username); $final_email = str_ireplace($q, $b_email, $email); ?> <div class="show" align="left"> <img src="https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-prn1/27301_312848892150607_553904419_n.jpg" style="width:50px; height:50px; float:left; margin-right:6px;" /><span class="name"><?php echo $final_username; ?></span>&nbsp;<br/><?php echo $final_email; ?><br/> </div> <?php } } ?> يمكنك تجريب المثال من خلال Demo.
  9. يجب أولا الفصل بينهما، ومعرفة أساسيات كل مجال منهما، فرغم أن المهارتين تنتميان إلى نفس المجال ألا وهو الإعلاميات أو المعلوميات لكنّ هناك فرقًا شاسعًا بينهما، حيث أن هندسة البرمجيات تتخصص في كل ما هو برمجي صرف، بالاضافة إلى التعامل مع قواعد البيانات، الخوارزميات، الشفرات البرمجية وتفاصيل أخرى كثيرة، أضف إلى ذلك أن المبرمج يتعامل مع مختلف التقنيات، الويب، برامج سطح المكتب، برامج الهواتف الذكية والأجهزة اللوحية، بل وصل التطور إلى برمجة ألواح ورقاقات إلكترونية لتقوم بمهمة معينة تعيّن برمجيا... بالنسبة للشبكات فالأمر مختلف تماما، حيث سينصَبُّ التركيز على ربط مجموعة من الأجهزة لتكون شبكة، او إعداد خادم server سواء محلي أو على شبكة الاتصال، ستتعامل مع العديد من protocols الخاصة بالشبكات، تتعمق في عدة مفاهيم مثل IP،DNS,DHCP... أي أن هذا المجال متعلق بكل ماهو رهين بالشبكات... يمكنك أيضا دراسة شهادات CCNA,CCENT. ولكن دعني أثير انتباهك لنقطة معينة، السؤال في تقرير مصيري أنصحك بتفاديه، لأن الناصح سينصحك حسب ميولاته هو، وانطلاق من قناعات شخصية لديه، فمثلا أنا أحب البرمجة سأقول عليك بالهندسة البرمجية، ولا أعلم ما هي ميولاتك أنت؟ مالذي يثير لديك الشغف بمزاولته؟ أي ابحث أنت عن ما تحبه، واسأل كثيرا قبل الاختيار. على أيٍ أتمنى أن أكون قد وضعتك في الصورة، وإليك بعض الروابط التي من شأنها إيضاح بعض النقاط لك: دروس البرمج على أكاديمية حسوب دروس DevOps على أكاديمية حسوب Which career is more fun, networking or programming? Which one is best: networking or programming?
  10. يجب تعلم لغة swift وهي لغة البرمجة المُعتمدة في بناء تطبيقات نظام IOS، من بين المصادر التعليمية الجيدة على الأنترنت إليك ما يلي: learnswift يضم الموقع ثلاث مستويات للتعلم: المبتدئ، المتوسط والمتقدم. موقع tutorialspoint دورة على موقع tutsplus موقع Udemy-غير مجاني-: The Complete iOS8 and Swift Course: Learn by Building 15 Real World Apps iOS 9 and Swift 2: From Beginner to Paid Professional The Complete iOS 9 Developer Course - Build 18 Apps
  11. بالاضافة إلى ما ذكره هشام، أضيف المكتبات: Reactive.java Main.java HelloSwing.java حيث تعتمد على البنية التالي في بناء الواجهة: سؤال في موقع "What are the best frameworks to develop a good UI in Java?"Qura GUI Libraries in Java
  12. أغلب المتخرجين من الجامعة تصادفهم مثل هذه المواقف، خاصة و أن خبراتهم في الحياة تكون محدودة، لكن السؤال الذي يجبُ أن تُجيب عليه أنت، ما الذي تريده بالضبط؟ هل هو إتمام دراستك ونيل شهادة الماجستير؟ أم العمل في شركة بدوام كامل؟ فالاجابة على السؤال من شأنها إلى حد ما تقليص الاختيارات وتوجيهك، لكن السائد والذي عشتُه شخصيا هو متابعة الدراسة والعمل كمستقل، أو تعلم إحدى التقنيات الجديدة في مجال تخصصي، على أن اوفّق بين الدراسة والعمل، وأن أجعل الأولوية للدراسة - الأمر يتوقف على أولوياتك أنت-، كما يمكنك تكثيف جهودك في العمل أثناء العطل وبالتالي توفير بعض الدخل وإن قلّ في بادئ الامر. نصائح: نظّم وقت، فتنظيم الوقت سيساعدك على القيام بالعديد من المهام اليومية وبشكل مُتقن. ركز أثناء القيام بمهمة ما، فالتركيز يشرع من وثيرة العمل ويعجل في إنهاء المهمة. ضع لنفسك مشاريع مع مدة للإنجاز، تحقق فيها ذاتك. ابق على اطلاع دائم بالجديد في مجال تخصصك.
  13. في هذه الحالة يمكنك الاستعانة بأداة CadrLayout المتوفر في مكتبة Swingعلى برنامج Netbeans. ثم باستخدام أداةJframe نضيف Jpanelو بعض عناصر JButton لنحصل على: نغير اسماء العناصر من خلال نافذة الخصائص: الضغط بزر الفأرة مرتين على mainPanel ثم تعيين القيمة Set Layout -> CardLayout. بعد ذلك أضف JPanel إلى mainPanel، وذلك بالضغط على mainPanel بزر الفأرة الأيمن واختيار: Add from Palette -> Swing Containers -> JPanel واجهة Layout أُضيفت، ثم أضف labels كما هما مبين في شجرة الملفات jLabel1 ،jLabel2 و jLabel3. نقوم بتغيير حدث النقر مرتين على CardLayout من خلال نافذة الخصائص، كما توضح الصورة: بالضغط على Panel One عن طريق زر الفأرة الأيمن، نختار : Events -> Action -> actionPerformed نضيف الكود التالي: private void jbtPanelOneActionPerformed(ActionEvent evt) { CardLayout card = (CardLayout)mainPanel.getLayout(); card.show(mainPanel, "panelOne"); } لنحصل في الأخير على : رابط الفيديو أسفله يعطيك صورة أوضح:
  14. لتغيير لون الخلفية background لعنصر -وسم- أو للصفحة ككل نستعمل خاصية background-color داخل ملف التنسيق css، حيث نعطيها قيمة للون المُراد إظهاره كخلفية، ويتم ذلك بإحدى الطريقتين: إعطاء كود Hexadecimal للون مثال: 000000# للون الأبيض، FFFFFF# للون الأسود... إعطاء اسم اللون باللغة الانجليزية: Green،Gold، Red... مثال: <!DOCTYPE html> <html> <head> <style> body {background-color:lightgrey;} h1 {color:blue;} p {color:green;} </style> </head> <body> <h1>This is a heading</h1> <p>This is a paragraph.</p> </body> </html> فيما يخص وضع صورة كخلفية لن أضيف شيئا عن ما تفضل هشام بشرحه، سوى هذا المثال: element{ background-image: url(img_flwr.gif), url(paper.gif); background-position: right bottom, left top; background-repeat: no-repeat, repeat; } Full page background en html5 & css3 CSS3 Backgrounds
  15. التعليقات والردود نبرمجها بالاستعانة بلغة برمجة ولنقل Php مثلا بالاضافة إلى ذلك نستعمل قاعدة بيانات لتخزين التعليقات والردود المسجلة، ليتم إظهارها كلما دعت الضرورة لذلك. نستعين بالمثال التالي، حيث ننشئ جدول في قاعدة بيانات mysqlبالشكل على الهيئة التالية: database name --> downdropcomment table name --> commenttable table values --> name--> varchar(20) job --> varchar (25) message --> varchar (250) الصفحة المسؤولة عن إظهار حقول اضافة التعليق: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Comment system using php and mysql</title> </head> <body> <form name="comment" method="post" action="comment.php" onSubmit="return validation()"> <table width="500" border="0" cellspacing="3" cellpadding="3" style="margin:auto;"> <tr> <td align="right" id="one">Name :<span style="color:#F00;">*</span></td> <td><input type="text" name="namename" id="tnameid"></td> </tr> <tr> <td align="right" id="one">Work :<span style="color:#F00;">*</span></td> <td><input type="text" name="job" id="tjobid"></td> </tr> <tr> <td align="right" id="one"></td> <td><textarea name="message" id="tmessageid"></textarea></td> </tr> <tr> <td align="right" id="one"></td> <td><input type="submit" name="submit" id="submit" value="Submit Comment"></td> </tr> </table> </form> </body> </html> نحصل على الشكل التالي في صفحةHtml: في صفحة أخرى من نوع php تحت اسم coomment.php: <?php include("db.php"); if(isset($_POST['submit'])) { $name=$_POST['namename']; $job=$_POST['job']; $message=$_POST['message']; $insert=mysql_query("insert into commenttable (name,job,message)values ('$name','$job','$message')")or die(mysql_error()); header("Location:index.php"); } ?> لاظهار التعليقات: <?php include("db.php"); $select=mysql_query("select * from commenttable"); while($row=mysql_fetch_array($select)) { echo "<div id='sty'>"; echo "<img src='files/fav icon.png'"."' width='50px' height='50px' align='left' />"; echo "<div id='nameid'>".$row['name']."</div>"; echo "<div id='msgid'>".$row['message']."</div>"; echo "</div><br />"; } ?> المصدر: Comment System using PHP and MySql
  16. يُتيح أندرويد عدّة طرق للمس الشاشة مثلًا: النقر بالأصبع، نقرتين، النقرة المُطولة... وأثناء برمجة التطبيقات يتمكّن المُبرمج من ربط كل حدث من الأحداث المتعلقة بلمس شاشة الجهاز بمهمة ما برمجيا، كأن تظهر قائمة منسدلة عند إطالة اللمس...وهذا ما يصطلح عليه بـ Gestures. أندرويد يوفر الكلاس GestureDetector المخصصة لاستقبال والتعرّف على نوع الحدث من قبل المُستخدم، وبالتالي ربطه بالمهامات المبرمجة كرد فعل للحدث. لاستعمال تقنية Gestures عليك بالاستعانة بـ كائن GestursDetector عن طريق GesturesDetector.SimpleOnGestureListnes لتفعيل Listner واستعمال العديد من الوظائف المساعدة أثناء ذلك. أحيلك على عدة مراجع، تتضمن شروحات مفصّلة عن الموضوع: Android - Gestures Tutorial Detecting Common Gestures Android SDK: Detecting Gestures
  17. خاصية border-raduis من الخاصيات الهامة والكثيرة الاستعمال في الويب، حيث يوفر ملف التنسيق عبر تقنية css إمكانية تغيير شكل الوسوم، سواء أزرار حقول نصية، صور...حيث تغير هذه الخاصية -border-raduis- من حدة زوايا الأركان الأربعة للوسم، فكلما كبرت القيمة المُعطاة للخاصيّة كلّما كبرت معها شدة انحناء الزاوية: مثال: قيمة berder-raduis 5px: قيمة berder-raduis 50px: CSS3 border-radius Property للتجريب اللحظي، يمكنك الاستعانة بـ border-radius
  18. أُدرج في جوابي هذا عدة مواقع لاستضافة مواقع مبرمجة بتقنية Asp.net، والمصنفة من بين أهم الاستضافات سنة2016: موقع hostgator سعر الاستضافة يترواح بين : 5.95 ، 9.98 و76.56 دولار للشهر الواحد. موقع arvixe سعر الاستضافة 5 دولار للشهر الواحد. موقع discountasp سعر الاستضافة 5 دولار للشهر الواحد. موقع host4asp سعر الاستضافة هو 2.95 دولار للشهر الواحد. موقع winhost سعر الاستضافة يترواح بين : 3.95 ، 7.95 و15.95 دولار للشهر الواحد. تجدر الاشارة إلى اختلاف السعر بين مواقع الاستضافة عائدة إلى جودة الخدمة، وتوفرها على مميزات يحتاجها تطبيق الويب.
  19. يمكنك رؤية الشكل النهائي المصمم عن طريق المحاكي الموجود على أندرويد ستوديو، كما يمكنك استخدامGenymotion لمحاكاة التطبيق أثناء عملية البرمجة، وبالتالي التغيير عليه حسب رغبتك في ذلك. بالنسبة لتوافق التطبيق مع مختلف مقاسات الأجهزة، أدعوك إلى إلقاء نظرة على هذه المواضيع، حيث تقدم تفاصيل دقيقة حول كيفية عل ذلك: Layout types. Key differences and properties Supporting Multiple Screens Supporting Different Screen Sizes Supporting Different Densities
  20. بالنسبة للتطبيقات المثبثة على مختلف الأجهزة لن تشكل أي مشكل، فقط علينا إدراك شيء واحد في هذه الوضعية، وهو أن جميع التطبيقات ستتصل بالخادم، والذي من الممكن أن يعوضه حاسوب بإمكانات جيدة نثبت عليه MS sql ليصبح خادمنا المحلي. من جهة التطبيقات ستبرمج أن يتم الاتصال بالخادم عن طريق الشبكة المحلية. مثال لكود الاتصال بخادم Sql: using System; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string connetionString = null; SqlConnection cnn ; connetionString = "Data Source=ServerName; Initial Catalog=DatabaseName; User ID=UserName; Password=Password" cnn = new SqlConnection(connetionString); try { cnn.Open(); MessageBox.Show ("متصل "); cnn.Close(); } catch (Exception ex) { MessageBox.Show("لا يمكن الاتصال "); } } } } في الرابط التالي شرح لعملية برمجة تطبيق #C من عدة حواسيب مع الاشتراك في الخادم -البيانات-. C# SQL Server Connection
  21. لغة html هي بمثابة لغة الأساس أو البناء لصفحات مولقع الأنترنت، فمهما اختلفت لغة البرمجة المعتمدة في بناء الموقع -أتحدث هنا عن الجانب المنطقي للموقع- إلا وكان الاعتماد في بناء مخرج الصفحة بـHTLM، أي كل ما يتعلق بالوسوم. فيما يتعلق بـتقنية CSS والتي تدل في معناها على تقنيات تنسيق مظهر صفحة html، حيث يركز هذا التنسيق على رونق وجمال الصفحة المعروضة. بخصوص ضرورة إتقانhtml قبل css، فلا غنى لك من ذلك، لأنه وبكل منطقية إتقانك لملفات التنسيق css رهين بإتقان html. دروس مفيدة: دروس html5 على أكاديمية حسوب دروس css على أكاديمية حسوب
  22. نعم، لعمل صفحة خطأ 404 لإظهارها عند دخول المستخدم إلى مسار غير موجود أو لا يملك صلاحيات الدخول لها، وذلك بإنشاء متحكم controller وذلك. غير ملف web.config في حالة المتحكم controller: <customErrors mode="On" > <error statusCode="404" redirect="~/Errors/Error404" /> </customErrors> في حالة صفحة ثابثة static page: <customErrors mode="On" > <error statusCode="404" redirect="~/Static404.html" /> </customErrors> Custom error pages in ASP.NET MVC. Easy, right? Demystifying ASP.NET MVC 5 Error Pages and Error Logging
  23. على منصة نظام إدارة المحتوى Wordpress توجد إضافة تفي بالغرض، بل هي مبرمجة لذلك، حيث تعرض المدة الزمنية التقريبة لقراءة مقالة ما، وتعتمد في ذلك على حساب عدد الكلمات الموجودة ضمن المقالة، مع الاعتماد كذلك على معيار 250-300 كلمة في الدقيقة كمعدل للقراءة العادية. صورة للاضافة: ولعرض الوقت المقدر بقرائة المقال بعد تحميل الاضافة من لوحة التحكم، يكفي استعمال كود Php التالي مكان عرض مدة القراءة المُرتقبة: <?php post_read_time(); ?> Post Reading Time
  24. من حيث البنية التي بنيت بها الحواسيب لا يمكن فعل ذلك ذاتيا، لأن الأمر يحتاج إلى تدخل قطعة خارجية لتقوم بقطع التيار الكهربائي عن الجهاز في وقت معين، أي بمعنى آخر حل السؤال إلكترونيا وليس برمجيا، بينما البرمجة تكون داخل لوحة أردوينو -على سبيل المثال- باعتبارها أداة إلكترونية يمكن برمجتها. تجد في الرابط شرحا مفصلا لذلك:
×
×
  • أضف...