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

E.Nourddine

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

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

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

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

    18

أجوبة بواسطة E.Nourddine

  1. مصادر البرمجة بـ Swift هي قليلة لكنها غير منعدمة، نظراً لأن غالبية الدروس المقدمة مدفوعة وغير مجانية، إليك لائحة  أظنها ستفيدك بدون شك:

    هناك كتب متخصصة في هذا المجال -غير مجانية- :

  2. خاصية Float داخل ملف تنسيق css تقبل قيمتين اثنتين left لجعل العنصر يطفو جهة اليسار وقيمة right لجعله جهة اليمين، وهذ مثال عملي لصورة خصصة خاصية folat إلى القيمة right:

    دون استعمال خاصية clear:

    001.PNG

    باستعمال خاصية clear:

    002.PNG

    يمكنك التعمق في الموضوع من خلال دروس الأكاديمية التالية:

    و المصدر:

    http://www.w3schools.com/css/css_float.asp

    • أعجبني 1
  3. تسمى التقنية بتقنية Mockup حيث نقوم بتحميل ملفMockup  من أحد المواقع التي توفرها:

    بعد ذلك ندمجها مع الصورة،شعار أو الشكل المراد تطبيق عليه التأثير.

     

  4. على موقع code.tutsplus.com يقدم  درس في كيفية إنشاء لعبة بسيط بالاعتماد على Html5 وJavascript.

    صورة اللعبة التالية:

    Screenshot from 2016-06-20 23:37:17.png

    وهي مبرمجة عن طريق كود Javascript التالي:

    function startGame() {
        myGamePiece = new component(30, 30, "red", 10, 120);
        myGamePiece.gravity = 0.05;
        myScore = new component("30px", "Consolas", "black", 280, 40, "text");
        myGameArea.start();
    }
    
    var myGameArea = {
        canvas : document.createElement("canvas"),
        start : function() {
            this.canvas.width = 480;
            this.canvas.height = 270;
            this.context = this.canvas.getContext("2d");
            document.body.insertBefore(this.canvas, document.body.childNodes[0]);
            this.frameNo = 0;
        },
        clear : function() {
            this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
        }
    }

    المصدر:

  5. الخطأ القاتل الذي يقع فيه أغلب المبرمجين في مرحلة البداية هو انتقالهم من لغة إلى أخرى دون ضبط واحتراف الأولى، والعجيب في الأمر أن تجد مبرمجا يعرف كيفية إظهار رسالة "أهلا بالعالم" بأكثر من لغة ولا يتعدى الأمر ذلك...مما يجعله داخل حلقة مفرغة دون تحقيق إنجازات.

    نصيحتي لك: اسأل نفسك أولا، هل الانتقال من #C إلى PHP من الضرورة بمكان؟، مثلا استلمت مشروعا بهاته اللغة يحتم عليك البرمجة بـ PHP؟

    هل أتقنتَ لغة #C بشكل كبير مما يجعلك تنتقل إلى لغة أخرى؟ وماهي الانجازات أو التطبيقات التي برمجت بـ#C؟ هل هي كافية كمعرض أعمال لك خاص بهذه اللغة؟

    لا تنتقل من لغة برمجة لأخرى حتى تتقنها، وحاول عدم نسيان ما تعلمته.

  6. لن تتمكن من فعل ذلك بالاعتماد على Html لوحدها، حيث أنها لغة عرض محتوى فقط، ستحتاج إلى استعمال لغة برمجة تمكنك من التواصل مع MS access وجلب البيانات وبالتالي عرضها على صفحة html، سنتعمل في المثال التالي برنامجVisual Studio الذي يتيح إنشاء تطبيقات Asp.net وبالتالي ربطه مع قاعدة بيانات من نوع access:

    إنشاء اتصال مع قاعدة البيانات: 

     northwind.mdb : هو اسم قاعدة البيانات

    <%@ Import Namespace="System.Data.OleDb" %>
    
    <script runat="server">
    sub Page_Load
    dim dbconn
    dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
    data source=" & server.mappath("northwind.mdb"))
    dbconn.Open()
    end sub
    </script>

    ربط البيانات القادمة من قاعدة البيانات مع أداة  Repeater للعرض:

    <%@ Import Namespace="System.Data.OleDb" %>
    
    <script runat="server">
    sub Page_Load
    dim dbconn,sql,dbcomm,dbread
    dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
    data source=" & server.mappath("northwind.mdb"))
    dbconn.Open()
    sql="SELECT * FROM customers"
    dbcomm=New OleDbCommand(sql,dbconn)
    dbread=dbcomm.ExecuteReader()
    customers.DataSource=dbread
    customers.DataBind()
    dbread.Close()
    dbconn.Close()
    end sub
    </script>
    
    <html>
    <body>
    
    <form runat="server">
    <asp:Repeater id="customers" runat="server">
    
    <HeaderTemplate>
    <table border="1" width="100%">
    <tr>
    <th>Companyname</th>
    <th>Contactname</th>
    <th>Address</th>
    <th>City</th>
    </tr>
    </HeaderTemplate>
    
    <ItemTemplate>
    <tr>
    <td><%#Container.DataItem("companyname")%></td>
    <td><%#Container.DataItem("contactname")%></td>
    <td><%#Container.DataItem("address")%></td>
    <td><%#Container.DataItem("city")%></td>
    </tr>
    </ItemTemplate>
    
    <FooterTemplate>
    </table>
    </FooterTemplate>
    
    </asp:Repeater>
    </form>
    
    </body>
    </html> 

    غلق الاتصال مع قاعدة access:

    dbread.Close()
    dbconn.Close()

     

    • أعجبني 2
  7. كنصيحة لك، حاول في المرات المُقبلة كتابة الكود بشكل منظّم، مما يتيح لمن أراد المساعدة فعل ذلك، فكتابة الكود بالطريقة التي فعلتَ غير مشجعة، بالاضافة إلى أن الكود غير مفهوم، لأنه مكتوب يطريقة عشوائية.

    بالنسبة لتساؤلك حول كيفية إظهار الصور على نسخة محمول، أعتقد أن اطلاعك على التصميم المتجاوب كفيل بجعل الصور تظهر معدّلة على جميع مقاسات الهواتف وكذا الشاشات الكبيرة.

    الطريقة:

    <div class="mobileShow">
    
    img   أضف الصورة هنا عن طريق وسم
    </div>

    كود cssM

        .mobileShow { display: none;}
    
       /* Smartphone Portrait and Landscape */
    
       @media only screen
    
       and (min-device-width : 320px)
    
       and (max-device-width : 480px){ .mobileShow { display: inline;}}
    
     

    يمكن أيضا الاستعانة بإطار العملbootstrap، قم بزيارة دروس إطار عمل Bootstrap على الأكاديمية

  8. Sql هي لغة خاصة بقواعد البيانات، أي أن جميع قواعد البيانات تستعمل هذه اللغة لـ:

    • إنشاء قاعدة بيانات.
    • إنشاء جداول.
    • إدخال، حذف، تحيين أو عرض بيانات.
    • إنشاء دوال أو أحداث خاصة على محرك قواعد البيانات.
    • ...

    يجب عدم الخلط بينSql و Microsoft Sql Server، لأن هذا الأخير هو أحد منتجات مايكروسوفت، هو محرك قواعد بيانات قوي، وبه إمكانات كبيرة.

    بالنسبة لـOracle  الشركة التي تشتهر بمنتوجات مثل:

    • Mysql
    • Oracle DataBase
    • Java

    بمقارنة Oracle DataBase وَ MS SqlServer فإن لكل منهما مميزاتها، MS Sql Server  عادة ما تستعمل مع تطبيقيات ويندوز، نظرا لأنها هي مصنعتها وتولي لها أهمة، بالنسبة لـ Oracle DataBase تستعمل بكثرة مع تطبيقات جافا.

    What are the differences between Oracle and SQL Server

  9. لن أضيف الشيء الكثير عن ما تفضل به hassenـ  حيث فيما يتعلق بـ TeamViewer أضع رابط الفيديو الذي يوضح كيفية القيام بالحكم بهاتف أندرويد من خلال هاتف آخر عن طريق برنامج Teamviewer:

    يوجد أيضا تطبيق  RemoDroid الذي يتيح نفس المهمة-التحكم في هاتف أندرويد-، و هذا توضيح لكيفية ذلك:

    موقع Join me : يعتبر  من بين أفضل متحكمات أندرويد من خلال هاتف أندرويد آخر.

    join-me.jpeg

    تطبيق ScreenShare:

     

    • أعجبني 2
  10. عملية التحديث عموما، هي تغيير ملفات قديمة بملفات جديدة، حيث تتيح هذه العملية اضافة خصائص جديدة للتطبيق، أو الرفع من ممزات خاصية معينة، تحسين مظهر التطبيق...

    عملية التحديث ترتكز على وجود ملف تُسجّل داخله النسخة الحالية أو أحدث إصدار للتطبيق، وجود هذا الملف يستوجب وجوده بسيرفر التطبيق، على أن يتم التأكد ومقارنة إصدار التطبيق لدى المستخدم مع الإصدار داخل الملف في السيرفر، لتيم تحميل النسخة الجديدة  في حالة كان الإصدار لدى المستخدم أقدم من الموجود على الخادم.

    مثال على تحديث تطبيق#C:

    أيضا يمكن الاطلاع على بعض المصادر المفيدة:

  11. كما قال هشام، توفرك على الكود المصدري للتطبيقين وإلمامك بأندرويد ستوديو من شأنه أن يجعل الأمر ينجح، على أن تجعل أحد التطبيقين رئيسي، ثم تضيف تعديلاتك الخاصة عليه من خصائص التطبيق الثاني، وليكن في الحسبان أن العملية غير سهلة، وليس هناك عملية سحرية تنتج تطبيق نتيجة دمج تطبيقين، حيث ستأخذ العملية وقتا غير قصير،  ستضيف كل activity ووصفها داخل ملف manifest، الصور والملفات المستعملة في التطبيقين.

    في حال كنت مبرمج  التطبيقين، أو ملما ببرمجة تطبيقات الأندرويد -مع توفرك على الكود المصدري للتطبيقين- فلن تجد صعوبات جمة في ذلك.

  12. السبب في كون دالة main دائما static هو تفادي اللُبس في مناداة هذه الدالة خاصة إذا كانت تشبه:

    public class JavaClass{
      protected JavaClass(int x){}
      public void main(String[] args){
      }
    }

    بالاضافة إلى أنها تُستدعى من قبل JVM لتنفذ من خارج المشروع، لذلك نجدها Public.

    مصادر:

  13. أطر العمل في البرمجة أو ما يطلق عليه Frameworks أتت لتسهيل عملية المبرمج بصفة عامة، ونقصد هنا بالتسهيل توظيف المهام المعتادة وتنظيمها بشكل أكثر احترافي لدفع المبرمج إلى التطوير وبناء تطبيقات احترافية أكثر وبأكواد أكثر تنظيمًا، ولنأخذ مثالًا بسيطًا، ونقارن تطبيق ويب مبني بالطريقة العادية: إنشاء ملفات غير منظمة ، أما تطبيق الويب المبني بالاستعانة بأحد أطر العمل: نجد أنّ إطار العمل يُقسّم المشروع إلى مجلدات تتوزع فيها مختلف ملفات المشروع، بالاضافة إلى اعتماد بنية MVC .

    التقنية في تطور مستمر، وما ظهور أطر العمل إلا شكل من أشكال هذا التطور.

  14. نعم، يعتبر Ipadian أفضل محاكيات نظام IOSـ لكن هذا لا بنفي وجود محاكيات أخرى بمميزات جيدة، أسرُد بعضها -الجيدة طبعا-:

    MobiOne Studio  : محاكي على بيئة ويندوز، يمكن العمل به على مختلف بيئات نظامIOS وأندرويد، تطبيقاته تعتمد على لغة Htm5.

    AIR iPhone : محاكي IOS ،حيث تظهر واجهة الجهاز على الحاسب، تشغيله يستوجب وجود تطبيق على الهاتف وآخر على الحاسب.

    iPhone Simulator 4.2  : من بين أفضل محاكيات IOS، حيث يتيح الدخول إلى تطبيقات الهاتف وألعابه عن طريق الحاسب.

     iPad Simulator : إحدي إضافات google chrome والتي تعمل كنظام محاكاة لجهازك، حيث يظهر واجهة الهاتف على الحاسب والتحكم فيها من خلاله.

    Smartface : التطبيق يتيح امكانية تجريب تطبيقات IOS، يمكن الاستفادة منه بشكل كبير خاصة من لدن المبرمجين.

  15. المشكلة واضحة من رسالة الخطأ. وهي في علامة النقطة الفاصلة ; حيث أنها توضع في نهاية جمل الاستعلام على Sql Server،  و لتفادي رسالة الخطأ أزل النقطة الفاصلة من وسط الجملة  واكتبها آخرها، لتكون الكتابة الصحيحة لجملة الاستعلام على sql:

    Creatz Database ameer
    Om primary 
    (Name = aa , filename = 'i\sql\ameer\aa.mdf')

    هذه بعض المصادر التعليمية الأجنبية لتعلم قواعد البيانات علىSql Server:

  16. يمكنك عمل الكثير بلغة جافا، فهي تعد من بين أقوى لغات البرمجة، وتتميز بالبرمجة الكائنية في جميع أكوادها، من بين المهام التي بإمكانك كمبرمج القيام بها باستعمال لغةjava:

    استخدام البيانات:

    يمكنك إدخال، تحديث، حذف البيانات الموجود بقاعدة بيانات مرتبطة بالتطبيق، سواء علىMysql، Oracle... كما يمكنك استعمال تكنولوجيا عالية الجودة مثل  Apache Hadoop أو  Cascading للتحكّم ببيانات كبيرة الحجم والتي قد تتطلب مدة تصل إلى أسابيع أو أشهر لتحليلها على محركات قواعد البيانات العادية.

    تتوفر لغة جافا على مكتبات وسكريبتات قوية من حيث برمجتها وفعاليتها البرمجية، مثال  JDBC.

    كمعظم لغات البرمجة، تدعم جافا MVC كمنهجية للعمل وتقسيم مختلف الملفات حسب الوظيفة، بالإضافة إلى إمكانية العمل على أطر عمل مختلفة، سواء تعلق الأمر ببرمجة الويب أو تطبيقات سطح المكتب او أندرويد ستوديو الخاص بالأجهزة الذكية الداعمة لنظام أندرويد.

    مصدر:

    • أعجبني 1
  17. لتغيير الدقة على نظام التشغيل ويندوز في إصداره العاشر، اضغط على سطح المكتب بزر الفأرة الأيمن، ثم اختر Display settings:

    ade80d7c-3a1e-49cf-b0f6-825b28f473cd.jpg

    بعد ذلك ستظهر النافذة المبينة في الصورة، قم باختيار Advanced display settings:

    221f5962-edfe-4cbc-97bf-4cfa475f24d8.jpg

    يمكنك الآن اختيار الدقة كما هو مبين:

    8351d86d-552b-4620-9bea-c5fff51b2ee6.jpg

    يمكنك تغيير الدقة أيضًا بالضغط على زر settings من خلال قائمة التشغيل:

    81607f20-ebcc-42dc-b9af-24db82adaa37.jpg

    • أعجبني 1
  18. لمشاركة شاشة هاتف أندرويد على الحاسوب، ستحتاج إلى :

    how-to-share-android-screen-to-pc-usb-cable.png

    1. حمّّل google chrome وَVysor، مع العلم أن المتصفح يعمل على جميع أنظمة التشغيل.
    2. ستحتاج إلى رابط USB  لربط الهاتف مع الحاسوب.
    3. فعّل USB Debuggin Mode:
      Screenshot from 2016-06-17 00:51:26.png

    على جهاز أندرويد  اضبط الإعدادات التالية:

    • اذهب إلى Settings > About Phone
    • ثم Settings > Developer Options
    • انزل نحو الأسفل وَ فعّل  USB Debugging Mode
    • احفظ التغيرات
      عبر Vysor:

    Screenshot from 2016-06-17 00:56:07.png

    افحص عن جهاز الهاتف وحدده.

    يعد ذلك ستظهر شاشة الهاتف في المتصفح عبر Vysor.

     

    • أعجبني 1
  19. أول ما ستقوم به، ابحث عن ملف log Installlation، بالنسبة لي وجدته في المسار التالي:

    C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\*.*

    داخل الملف وجدت مايلي:

    2015-08-07 11:16:50 Slp: Sco: Attempting to open registry subkey 
    2015-08-07 11:16:50 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\VisualStudio\9.0
    2015-08-07 11:16:50 Slp: Sco: Attempting to get registry value InstallDir
    2015-08-07 11:16:50 Slp: Target package: "D:\shared\~~~~~\sqlncli.msi"
    2015-08-07 11:16:51 Slp: MSI Error: 1316 The specified account already exists.

    من مكان وجود الملف افتح command prompt و اعمل execute للأمر:

    msiexec /i "d:\[Your sqlncli.msi path]

    سيُزيل الجهاز SQL Server Native Client ثم يُثبّت  SQL SERVER من جديد، بنجاح.

  20. جرب استعمال السكريبت التالي:

    صفحة  اختيار الملف بـ html:

    <html>
    <head></head>
    <body>
    <form action="up.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="FILE" name="file" id="file">
    <input type="submit" name="submit" value="Submit">
    </form>
    </body>
    </html>

    صفحةphp لتحميل الملف إلى السيرفر:

    <?php 
    if(isset($_POST['submit'])) {
       $file  = $_FILES['file']['name'];
       $encoded_fname = base64_encode($file);
       if($file) {
            $move = move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $encoded_fname);
            if($move) {
            echo "file uploaded";
            }
       }
    }
    ?>

    صفحة الاطلاع على الملف والتأكد من تحميله:

    $dir = "upload/";
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if(mb_check_encoding($file)) {
                echo "filename: .".base64_decode($file)."<br />";
                }
                else {
                    echo $file . "<br>";
                }
            }
            closedir($dh);
        }
    }

     

  21. إذا ما استعملتsession لن يستطيع المستخدم تغييره .

    مع العلم أن session يبقى متاحا ببقاء الموقع مفتوحا، على إمكانية حذفه متى أردت ذلك، أي أن session تُخزّن في جزء الذاكرة الحيّة الخاصة بالتطبيق -الصفحة- ، في حين أن cookie يُخزّن على جهاز المستخدم وهناك تظهر أهمية كل منهما.

    إليك ما يتوجب عليك عمله:

    1. خزن كلمة السر الخاصة بالمستخدم داخل قاعدة البيانات، ويفضل تشفيرهابـ SHA1 أوMD5.
    2. عند إدخال المستخدم لكلمة السر الخاصة به-عند عملية الدخول- قم بتفيرها ومقارنتها بتلك الموجودة داخل قاعدة البيانات.
    3. عند تطابق كلمتي السر، خزّن المستخدم داخل session.
    4. خزن المستخدم في cookie وتأكد من انتهاء صلاحيته expire بعد يومين مثلا.
    5. استعمل اتصال آمن وذلك عن طريق HTTPS وليس HTTP للتأمين والحماية ضد أي اختراق.
  22. إليك هذه الخطوات لإنشاء تطبيق بلغة#C يولّد كودبار:

    1. قم بتحميل dll من الموقع
    2. افتح برنامج فيزوال بيسيك
    3. أنشئ تطبيق بلغة #C وأضف OnBarcode.Barcode.Winforms.dll
    4. انشئ مدخلات تقبل بيانات ومسار لحفظ صور توليد Barcode.
    5. لتوليد الباركود على شكل صور، أضف هذا الكود لزر التوليد:
      private void GenerateBacode(string _data, string _filename)
              {
                  Linear barcode = new Linear();
                  barcode.Type = BarcodeType.CODE11;
                  barcode.Data = _data;
                  barcode.drawBarcode(_filename);
              }
              private void GenerateQrcode(string _data, string _filename)
              {
                  QRCode qrcode = new QRCode();
                  qrcode.Data = _data;
                  qrcode.DataMode = QRCodeDataMode.Byte;
                  qrcode.UOM = UnitOfMeasure.PIXEL;
                  qrcode.X = 3;
                  qrcode.LeftMargin = 0;
                  qrcode.RightMargin = 0;
                  qrcode.TopMargin = 0;
                  qrcode.BottomMargin = 0;
                  qrcode.Resolution = 72;
                  qrcode.Rotate = Rotate.Rotate0;
                  qrcode.ImageFormat = ImageFormat.Gif;
                  qrcode.drawBarcode(_filename);
              }

      التطبيق يمكن من توليد نوعين من الباركود، النوع الاعتيادي ونوع Qrcode:

    6. شكل الباركود:
      qrcode.gif

    وBarcode.gif
    مصادر:

  23. أشهر وسوم الميتا أو meta tag على html هي كالتالي:

     <head>
    <meta charset="UTF-8">
    <meta name="description" content="Free Web tutorials">
    <meta name="keywords" content="HTML,CSS,XML,JavaScript">
    <meta name="author" content="Hege Refsnes">
    </head> 

    ولفهم دلالة كل منها ووظيفته، سنستعين بالصورة التالية التي تعرض خصائص رابط لويكيبيديا على محرك البحث:

    balises-html.png

    المكان المخصص لوسوم Meta هو داخل وسم head، بغرض إدراج المعلومات المهمة والخاصة بالصفحة، مما يساعد محركات البحث على إيجاد الموقع بسرعة، وكذا لتسهيل عملية التحليل والتعريف بمحتوى الموقع

    مصادر:

  24. أيضا يوجد محرك libgdx يتميز بقوته وبمنافسته القوية لـUnity2D،  كما أن مصادر تعلمه متوفر على الأنترنت، نذكر منها:

    محركات أخرى

    • coronalabs سهل الاستعمال
    • Marmalade يتميز بقوته -C++-
    • Moai يتميز بسهولة التعامل معه
    • Love مفتوح المصدر، متوفر على أغلب بيئات العمل
    • SDL يدعم أنظمة التشغيل Mac Os، Linux،IOs وأندرويد
×
×
  • أضف...