• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

هاني الأتاسي

المشرفين القدامى
  • عدد المشاركات

    1,220
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

3 عادي

عن هاني الأتاسي

  • الرتبة
    خبير #C

طرق الإتصال

أحدث الزائرين لملفلك الشخصي

4,782 زياره للملف الشخصي
  1. سلسلة شغل مخك - العودة - 1

    دحدوح :) .. حلك كمان قريب .. بس في مشكلة أنا فرضا احب أضح آلاف الأشكال في قسم من الشاشاة .. وفرضا أيضا ممكن أعمل زوم على قسم معين وأرسم فيه كأنه الشاشة كلها .. هل ممكن أن يكون تقسيمك للشاشة ديناميكي مثل binary search ... أعتقد إذا لقيتو طريقة تدمجو طريقة بين حل دحدوح وحل وجدي يكون أفضل :)
  2. سلسلة شغل مخك - العودة - 1

    عجبني متل ما بقولو تفكيرك خارج الصندوق :) فكرتك قريبة من الحل بس فيها مشكلة .. الاحداثيات 10,100 غير 100,10 وبالتالي وضعها في الشجرة لا يكون بشكل صحيح .. المفروض يمكنك استخدام احداثيات x و y على حدا في الشجرة من غير الجمع .. كيف يمكن هذا؟ الأسهل فكر كيف يمكن ان تستخدم x فقط ومن بعدها كيف تستفيد من y ..
  3. سلسلة شغل مخك - العودة - 1

    شكرا أخ دحدوح على الكود وعلى توضيح الكود ل IsInShape .. طريقتك هي نفسها طريقة فهد في الكود المطلوب كتابته وهو Select .. ولكن هل يوجد طريقة أسرع .. الخوارزميات التي كتبتوها هي O(N) .. يجب أن يكون هناك افضل من هذا .. مساعدة : فكرو بتوزع الأشكال على لوحة الرسم ومواضعها وكيف يمكن تصميم data structure مناسب لها :)
  4. انشاء Label داخل New Threard

    هل قصدك ب windows forms? .. لا يفضل استخدام ال controls من ثريد مختلف عن الثريد الأساسي .. لأن الcontrols ليست مبرمجة لتكون آمنة للوصول من عدة threads .. يمكنك استدعاء تابع ليعمل في الثريد الأساسي باستخدام Control.Invoke . هذا التابع يمكنه ان ينشأ أو يعدل في الوندوز فورم.
  5. السؤال الأساسي لم يحدد هذا :)
  6. سي# 4 ومستقبلها..

    أنصح الجميع برؤية محاضرة Anders Hejlsberg عن السي# 4 ومستقبلها بعد ذلك .. هنا .. الأمور الجديد في سي# 4: 1- dynamic programming: بالمختصر الآن يمكنك تعريف التوابع والمتحولات على أنهم dynamic ويتم تحديد أنواعها أثناء عمل البرنامج .. يمكنك تشبيها ب VBA programming.. أو بشكل آخر يمكنك من كتابة برنامجك باستخدام untyped typed or late time binding . في الواقع سبب استخدام لغات مثل سي# او جافا وتفضيلها عن لغات السكريبت وغيرها هي أنها strongly typed وبالتالي تقلل من الأخطاء البرمجية وتأدي إلى أداء أفضل في بعض الأحيان .. والهدف الأساسي من جعل السي# تعدعم البرمجة الدينميكية لكي تدعم بشكل طبيعي لغات ال untyped مثل python و script languages ، وأخيرا الCOM .. 2- optional and named parameters: وكلنا يعرف ماهي وممتن من أن السي# أخيرا تدعم هذا :) 3- improved COM interoperability: من أجل 1 و 2 .. يمكنك الآن استخدام COM بكل سهولة بنفس الطريقة التي يتم منادتها من VBA .. 4- CO- AND CONTRA-VARIANCE : يمكنك من خلالها مثلا من تمرير مصفوفة من نوع string إلى تابع يقبل مصفوفة من نوع object .. اما مستقبل السي# فتفضل أندريس بعرض سي# compiler as a service .. حيث الآن يمكنك من استدعاء المترجم من برنامجك من أجل ترجمة أي شي وعرض مثال رائع على امكانية كتابة كود سي # من الcommand window .. وتكلم أندريس أيضا عن ال Expressions في الLinq و كيف تم الاستفادة منها في سي# 3 .. إذا أحببت أن ترى مثال عليها فلدي مثال سهل لها في مدونتي هنا
  7. سلسلة شغل مخك - العودة - 1

    شكرا للمشاركة أخ فهد .. فقط للتوضيح في حلك ال vector يكون في الخارج ويتم اضافه له عند وضع الshapes على لوحة الرسم .. حلك صحيح ولكن: 1- في حال ليدنا المئات من الshapes هل يوجد حل أسرع؟ 2- ماذا لو يوجد أشكال فوق بعضها ، أيها سوف تعيد؟
  8. سلسلة شغل مخك - العودة - 1

    لا.. فقط معرفة اي shape تم الضغط عليه .. مثال لدينا شكل shape1 احداثياته 10,10,100,100 وشكل shape2 احداثياته 200,200,250,250 والمستخدم نقر على الاحداثيات 50,50 فالكود المطلوب يجب ان يرجع shape1 .. أريد أي حل يحقق المطلوب وكودوز لأسرع خوارزمية :)
  9. سلسلة شغل مخك - العودة - 1

    معظمكم يعرف سلسلتي شغل مخك في أيام الخوالي .. أحببت أن أعيدها وأقدم أسئلة أقوى وبتحدي أكبر :) الحلول ممكن أن تكون بأي لغة سي ، سي++، سي# ، psuedo code ، ... أبدأ الجزء الثاني من السلسلة بهذا السؤال .. مهمتك برمجة جزء من برناج رسم ثنائي الأبعاد .. لنقل smart paint .. يمكنك من خلال البرنامج ان تضع اشكال مثلا مربع دائرة خط نقطة .. الخ .. ووظيفتك أن تصمم الكود المسؤول عن اختيار الأشكال أي الكود داخل mouse click event .. مهمتك كتابة كود للتابع التالي: Shape Select(int x, int y) { }; للتسهيل ، يمكنك ان تعتبر أي شكل محاط بمستطيل وبالتالي تسهل عملية فحص إذا كانت الكليك تابعة للشكل ام لا.. أي أن كل shape يحتوي على التالي: class Shape { public int x1, y1, x2, y2; // boundry public bool IsInside(int x, int y); } المطلوب منك تصميم ال data structure لحفظ ال shapes ، أي كيف سوف تحفظ الأشكال بالذاكرة وكتابة الكود الذي يحقق أسرع وقت من أجل ملاقاة الشكل .. :wacko:
  10. ليش التعقيد ياشباب! هذا حل دحدوح من غير استخدام مصفوفات ولا ستاك ولا كيو! using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int max = int.MinInt; int min = int.MaxInt; do { Console.Write("Enter value: "); string input = Console.ReadLine(); int val; if (int.TryParse(input, out n)) { if (val > max) max = val; if (val < min) min = val; } else { Console.WriteLine("Invalid value!"); } } while (input != "-"); Console.WriteLine("Min: {0}, Max: {1}", min, max); } } }
  11. بن عوض .. شكرا للتوضيح ... وإذا سمحت لي أن أوضح أكثر .. لا يعني من وجود دالة جاهزة أن يتم استخدامها .. مثلا أفضل من ال sort في هذا المثال يمكن استخدام linq extensions: int[] a = new[] { 1, 2, 3 }; int max = a.Max(); int min = a.Min(); ولها complexety of O(N) مثل الكود الذي كتبته .. ولكن باستخدام دالتي Max و Min يعني أننا سوف نفحص كل رقم مرتين بدال مرة واحدة كما في الكود السابق..
  12. Windows In The Cloud

    المشكلة الآن ، تجد الكثير من مخدمات الويب يقومون بحل نفس المشكلة وهي كيف يمكن زيادة سرعة الموقع والحفاظ على عمله في أوقات الضغط العالية .. أول من أعطى خدمة الاستضافة في بيئة تشبة الcloud هي Amazon في Ec3 . وتلتها جوجل وميكروسوفت . خدمة ميكروسوفت هي مختلفة بعض الشئ عن البقية فهي بيئة تشغيل جديدة تتيح استضافة برامج و خدمات مهما كانت في بيئة الcloud .. بشكل عام أعتقد أن المبرمجين والشركات سوف يتوجهون للcloud لأنها تتيح لهم بيئة مرنة وقابلة للتضخم وهم بالتالي يستطيعون التفرغ في كتابة البرامج نفسها .الcloud مازالت في أولها ومع ذلك تلاقي استحباب واسع والعديد من المطورين بدأو في كتابة برامج وأمثلة عليها . والعديد من المواقع الحالية في الشبكة ممكن كتابتها لتعمل على الcloud بشكل أسرع وأداء أفضل .. فإذا كانت الفرصة متاحة من أجل أن أحمل موقعي على أكثر من سيرفر فلما لا.. المستقبل ل cloud and parallel computing! في المستقبل أعتقد أنه سوف يكون هناك نوعان من البرامج: برامج على سطح المكتب و برامج في الcloud .. فمهما تطورت الانترنت فالمستخدم مايزال يريد بعض البرامج القوية التي تحتاج جهاز قوي من أجل أن تعمل .. أما البرامج الأخرى كمحرر النصوص وخلافها فممكن أن تعمل في ال cloud وفي الجهاز المنزلي ايضا على حسب رغبة المستخدم.. ميكروسوفت أعلنت أيضا بأنها سوف تنتج مجموعة Office من أجل أن تعمل على ال cloud وهي خطوة جديدة في هذا المجال ..
  13. Or even better use: str.EndsWith("someValue", StringComparison.OrdinalIgnoreCase);
  14. They should be compatible.. rename the file to a zip file and open it up.. if it didn't open, it might be corroupted.. refer to this link: http://msdn.microsoft.com/en-us/library/ms185314.aspx
  15. أساسيات ال Threading مشكلة Race Condition

    Nice article.. Parallel C# is just a new extension for C# and also for C++ to allow programmers in C# to write parallel applications easily.. The most powerfull tool now, yet not programmer friendly, that allows you to program on a wide scale (like super computers) is MPI.. The basics of all parallel libraries is to give you methods for reductions (Parallel.Reduce) and expansions (Parallel.For). If you are using lock, don't lock on the (this), because you never know if the caller locks on your object, which would result in dead locks (two resources holding on the same lock).. If you want to use lock, lock on a private member. private object lockObject = new Object(); lock (lockObject) { }