Khalil Saleem
الأعضاء-
المساهمات
38 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
2
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Khalil Saleem
-
الأفضل والأسهل تخزين فقط المسار، وليس الملف كامل في قاعدة البيانات هنالك عدة طرق لوضع اسم ملف فريد، منها DateTime.Ticks ودالة GUID.NewGUID() تجد شرح كامل لي في هذا الفيديو
-
لدينا مجموعة بيانات ضخمة، مثلا مول كبير جدا، وهنالك مشتريات وزبائن وعمليات تعد بالملايين. نريد أن نستنتج علاقات ونتائج لاتخاذ قرار لا يبدو أن البيانات التي أمامنا تساهم في هذا الأمر مثلا نريد معرفة أكثر صنف من الملابس التي تقوم النساء بشرائه لأولادها الذين يعانون من السمنة قبيل العيد ب3 أيام وعلاقته بلون وماركة هذه الملابس لا يبدو حقيقة أن هنالك علاقة بين المعطيات ولكن تنقيب البيانات مفترض يعطيك اجابة واضحة
-
هنالك عدة مكتبات جاهزة لعمل هذا الأمر، المجاني منها مثل GemBox ، والمدفوع منها مثل مكتبة Apose
- 1 جواب
-
- 1
-
إذا الفكرة الخيرية لم يتم عمل نموذج للربح منها، فستفشل في النهاية وستغلق. الفكرة دائما تكبر، وبالتالي يزداد عدد الموظفين وتحتاج إلى مكان أوسع ( ايجار أكثر ) وخدمات أكثر ( انترنت، كهرباء، نظافة ... إلخ ) وهذا يعني مصاريف أكثر وأكثر. أنت ذكرت الفيسبوك، ولكن ما سبب نجاحه ؟ السبب هو أن مستثمرين دفعوا مبلغ كبير لجعل الفكرة استثمارية. تويتر على سبيل المثال كان مهدد عدة مرات بالإغلاق بسبب عدم وجود فكرة للربح منه. لذلك أي فكرة خيرية تعملها، ستجد عاجلا أم آحلا إذا أردت الاستمرار، أن تقوم بعمل نموذج للربح منها. والله الموفق في كل الأحوال.
- 1 جواب
-
- 1
-
ستجد من الصعب مبرمج ألعاب يشاركك في اللعبة، والسبب أن مبرمجي ألعاب الهواتف الذكية لديهم أعمال دائما، ويحبون الربح المضمون، أي أن تقوم بدفع ثمن البرمجة، لأن اللعبة قد لا تنجح في النهاية. أيضا تصميم اللعبة يتطلب فريق بالإضافة إلى المبرمج، والفريق يحتاج إلى رواتب أو تكلفة جهده، وتحتاج إلى مصمم جرافيكي، وأحيانا إلى عدة مصممين وأشخاص آخرين في الفريق، لذلك ستجد من الصعب على مبرمج أن يقوم بدفع تكلفة لفريقه من جيبه، وفي النهاية اللعبة لا تجلب الربح فيخسر. أنصحك إذا اللعبة جيدة أن تبدأ فورا بالبحث عن فريق والدفع له. بالتوفيق
- 3 اجابة
-
- 1
-
نعم هنالك خطوط مجانية تستطيع استخدامها وبيعها في خدماتك، هنالك عدة مواقع تقدم هذه الخدمة، مع ضرورة الإنتباه إلى ترخيص كل خط. أشهر موقعين من تجربتي هما موقع fontsquirrel موقع dafont هنالك خطوط عربية أيضا مجانية وأشهرها خط فلات http://fonts.jozoor.com/flat-font/
- 2 اجابة
-
- 1
-
الشركة المسؤولة عن الإنتاج هي شركة أمريكية اسمها كوالكوم وهذا رابطهم http://www.qualcomm.co.in المعالج يستخدم في الهواتف الذكية لما له من مزايا مخصص لها، حيث يستهلك قدرا قليلا من الطاقة بالمقارنة بالمعالجات الأخرى، وبالتالي استهلاك أقل للبطارية. أيضا تشغيل الفيديو بجودات مختلفة ويمكنه تشغيل فيديو بجودة 4K بكفاءة عالية، هذا بالإضافة إلى تشغيل نظام الهاتف الذكي بالإضافة إلى عدة تطبيقات تعمل سوية بدون تأثير كبير على الأداء، وكفاءة في تشغيل الرسوميات ( الألعاب ) لأنه يحتوي على معالج داخلي مخصص له اسمه Adreno أيضا يحتوي على معالج مصغر آخر اسمه Gobi 9×35 ، يساعد في بث الفيديو بجودة 4K عبر WIFI، كذلك مزايا استخدام الكاميرا وفتحها بسرعة وتوفير استهلاك الطاقة. وهذا هو آخر معالج صدر من الشركة برقم : 820 وبسرعة 2GHz quad-core أيضا يحتوي على معالج رسوميات Adreno 530 مرفق صورة لمحتويات المعالج الهيكلية.
-
لا فرق في الإرسال أو الاستقبال، ولا يوجد فرق، لكل واحد منهما مزاياه الخاصة. في البداية كان إرسال البيانات ب XML ، ولكن مع تطور الويب ظهرت JSON إرسال البيانات ب XML له ميزة المقروئية ، حيث يمكن قراءة المخرجات بسهولة ( وهذا ما يسبب زيادة حجم الملف ) وهنا أقصد قراءتها من قبل إنسان وفهم المحتوى ، لأن كل وسم له اسم ومحتوى ويمكن توضيح كل نقطة به، كذلك يمكن إرسال إضافات على الملف المرسل مثل نقاط الحماية ونقاط الاتصال ... إلخ. نقطة أخرى يمكنك إرسال ملف XML Schema لتحديد الهيكلية لملف XML وتتأكد عدم احتوائه على نقص أو أخطاء. إرسال البيانات ب JSON له ميزة صغر الحجم، حيث الملفات تكون أصغر نسبيا من نظريها في XML ( لأنه لا اهتمام كبير في وصف المخرجات ) ، وهنالك صيغة من الجيسون اسمها BSON تكون الملفات صغير جدا ، والفرق كبير حينما ترسل لموقع أو لتطبيق كبير بيانات XML وبيانات JSON ، فستجد توفير كبير في Traffic
-
UI اختصارا ل User Interface : وهي واجهة المستخدم، كيفية تصميم واجهة المستخدم، وكيفية وضع الأزرار والصناديق والصور ... إلخ UX اختصارا ل User Experience: وهي تجربة المستخدم، أي كيف كانت نظرة المستخدم حول المنتج، هل ارتاح عليه، هل أتعبه، هل تصعب في جزئيات معينة، مثلا لم يستطع ايجاد زر التسجيل، أو أن العملية كانت صعبة، أو مثلا الألوان صاخبة وغير مريحة، أو أنه لم يعرف كيف يستخدم المنتج أو البرنامج من الأساس. لاحظ صورة الكاتشاب ، وهي صورة عامة، حيث المنتج الأول تم الاهتمام بتصميم واجهة المنتج فقط بدون الاعتماد على آلية استخدامه بينما الصورة الثاني ( المقلوبة ) اهتموا بالواجهة، ولكنهم اهتموا وبتجربة المستخدم، فالكاتشاب في الحالة الثانية اسهل في الاستخراج من الأولى. لاحظ أيضا الصورة الثانية، الطريق تم تصميمه بطريقة معينة، ولكن المستخدم اختار طريقة أخرى وجدها أسهل في الاستخدام، وهو مثال للطرافة. هنالك مبادئ لكل واحد منهما، ونقاط يجب أخذ الاعتبار بها، ولكن يجب عليك جمع المفهومين سويا، فقد تصنع واجهة مرعبة، لكن المستخدم لا يستطيع استخدامها بطريقة صحيحة، فتذهب جهودك أدراج الرياح وهذا مصدر رائع بالتوفيق
-
بروتوكول SOAP إن صحت تسميته، يركز على أن تكون المخرجات عبارة عن دوال لها هدف معين. أنت تقوم بعمل WebService باستخدام SOAP بها عدة دوال يمكن استخدامها، مثلا دالة حساب عملات، دالة إعادة الطقس بناء على المدينة، دالة تعطيها رقم بالميل، تعيدها لك بالكيلومتر، وهكذا. بروتوكول REST يركز على إخراج قاعدة بيانات كاملة أو جداول منها وتطبيق عمليات CRUD ، وهي Create, Read , Update , Delete ، مثلا جلب البيانات وتعديلها والإضافة منها وهكذا. وهو حل للوصول لقاعدة البيانات عن طريق بروتوكول HTTP ، ولو أردنا أن نستخدم SOAP للوصول لقاعدة البيانات، فيجب علينا أن نعمل لكل جدول 4 دوال على الأقل، كل دالة تستدعي جزء من CRUD . فعليا SOAP له مزايا أكثر من ناحية تحديد الأمان والمرسل والمستقبل، ووضع خصائص مطولة ومفصلة لكل جزئية في الاتصال به، بعكس بروتوكول REST لا يوجد من هو أفضل، فلكل منهما استخدام ، تريد إخراج دوال عليك ب SOAP ، تريد إخراج قاعدة البيانات عليك ب RESTful المصدر من هنا http://blog.smartbear.com/apis/understanding-soap-and-rest-basics/
- 1 جواب
-
- 2
-
حينما يكون موقعك مشهور ويدخله زوار من كل مكان، والسيرفر الأساسي الموجود في أمريكا مثلا يعاني من ضغط زوار، كذلك الزائر الذي يدخل من الوطن العربي يشعر بطول الوقت لفتح الموقع، حينما يجب استخدام CDN التكلفة ليست بالكثيرة، وفعليا تكون ميزة بالاستضافة نفسها، حيث يكون لهم عدة Data Centers في دول متفرقة، فيقومون باستضافة نفس الموقع على عدة مراكز بيانات Data Centers. انا استخدمتها عن طريق الخدمات السحابية من Azure وكانت رائعة وتركيبها ضغطة زر.
-
تقوم فكرة البرمجة بمبدأ الدوال ( البرمجة الوظيفية ) على إنتاج مجموعة من الدوال للاستخدام في عمليات حسابية أو فيزيائية ، ويكون النظام أغلبه دوال وعمليات، وهي ليست بالترابط الكبير، مثل الذي يحصل في البرمجة الكائنية ، مثلا إذا أردت عمل برنامج لمدرسة، فيمكنك بسهولة بناء النظام باستخدام البرمجة الكائنية لأن المدرسة يمكن توزيعها على فئات وخصائص لكل فئة وهنالك علاقات بينها. أما إذا أردت عمل برنامج حسابي كالآلة الحاسبة مثلا، فإن الدوال والعمليات منفصلة ولا توجد في فئات والترابط بينها قليل. نقطة أخرى، functional programing لا يوجد بها بدقة سير برنامج، فهي أزرار تستدعي دوال معينة بذاتها، وليس كنظام جامعي، حينما يقوم الطالب بعمل كذا، سيجد أن البرنامج يسير بطريقة معينة ليفحص أمور معينة مرتبطة بأنظمة أخرى. البرمجة ب functional programing لا تهتم بالتكرار والجمل الشرطية وقواعد البيانات بقدر اهتماماها باستخدام دوال معينة. حقيقة حاولت أن أدخل باب البرمجة الوظيفية functional programing باستخدام لغة F# ومن قبلها لغة اسمها Axiom ولكن شعرت بأنها لا تلزم للتطبيقات العادية، بل هي مخصصة لأنظمة مبنية بشكل كبير على الأرقام والعمليات الحسابية والفيزيائية.
-
هذا يرجع للطريقة التي قمت بعمل Deploy للمشروع إذا استخدمت ClickOne ، فالطريقة سهلة ولكن هنالك مشاكل مع إصدار 64 بت من المنصة، فيجب عليك أن تجعله فقط 32 بت يجب تحميل هذا البرنامج ثم وضع المتطلب في المسار {Program Files}\Microsoft SDKs\Windows\v*.0A\Bootstrapper\Packages\Crystal Reports for .NET Framework 4.0\هنالك طريقة أخرى وهي أن تدمج ملفات DLL بداخل مشروعك، عن طريقة استدعاء الملفات التالية 1-CrystalDecisions.CrystalReports.Engine.dll 2-CrystalDecisions.Enterprise.Report.dll 3-CrystalDecisions.ReportSource.dll 4-CrystalDecisions.Shared.dll 5-CrystalDecisions.Windows.Forms.dll 6-CrystalKeyCodeLib.dllوجعله خاصيتها copy إلى copyalways إذا كنت تستخدم طريقة أخرى غير ClickOnce مثلا installshield فيجب عليك وضع حزمة تنصيب الكريستال كاملة لتعمل على جهاز العميل، وهو ما سيزيد من حجم البرنامج. لذلك ومن سنوات، مايكروسوفت تنصح بعدم استخدام كريستال ريبورت، واستخدام Visual Studio Reports وهي نفس الكريستال، ولكنها أسهل في النشر. بالتوفيق
-
برنامج Unity يتيح لك بناء ألعاب تفاعلية تعمل على جميع المنصات، مثل الويندوز واللينكس، ومنصات الألعاب مثل البلاي ستيشن والاكس بوكس، وأيضا على الهواتف الذكية بأنظمتها المتنوعة. يمكنك التطوير باستخدام عدة لغات منها C# وجافا سكريت ولغة قريبة من البايثون تسمى بو BOO كمبرمج لا يمكنك الاستفادة مباشرة من بيئة التطوير هذه، لأنه يلزمك حينما تنشئ ألعاب أن يكون معك مصمم أو عدة مصممين، ولو أردت أن تقوم بعمل لعبة 3d ستكون الأمور أصعب. أيضا يلزمك خبير صوتيات، ويلزمك سيناريو للعبة ومراحل .. إلخ. لذلك إذا أردت البرمجة به عليك بجمع فريق، البرمجة ليست مشكلة بقدر متطلبات للعبة المتنوعة هذه الدورة من مايكروسوفت رائعة ومجانية حول تطوير ألعاب باستخدم Unity ، الرابط من هنا بالتوفيق
-
يجب أن يقوم بضبط إعدادات TCP/IP على الجهاز الآخر في مشغل قواعد البيانات ، لتدعم شيء اسمه Remote Connection ضبط الإعدادات تختلف من مشغل قواعد بيانات إلى آخر، قد تكون بسيطة ، وقد تكون معقدة جدا لدواعي أمنية، مثلا في قواعد بيانات SQL Server يجب عليك عمل إجراءات كثيرة ومطولة مثلا إنشاء مستخدم معين، وإنشاء صلاحيات، وتحديد بروتوكول TCP/IP والمنفذ، وضبط إعدادات الجدار الناري .. إلخ. من واقع خبرتي لا أفضل هذا الاقتراح لما له من مخاطر، وأفضل أن يتم عمله على جهاز عليه ويندوز سيرفر، ومنصب عليه Active Directory ومضبوطة الإعدادات بشكل كامل، وانا أتكلم هنا عن SQL Server هنالك بعض قواعد البيانات لا تدعم هذه الخاصية، وأحيانا بعض النسخ من مشغلات قواعد البيانات لا تدعم هذه الخاصية، مثلا نسخة SQL Server Express لا تدعم هذه الخاصية بكفاءة. على سبيل المثال، هذه طريقة ضبط الإعدادات في SQL Server بالتوفيق
-
وعليكم السلام كلمة API عامة وهي تعني: دوال يقوم ببرمجتها المبرمج ليستفيد من البرنامج أو النظام مبرمجون أو مستخدمون آخرون. مثلا أنا قمت بعمل برنامج صغير تعطيه قيمة بالكيلو جرام، يخرجها لك بالباوند مثلا، وأريد أن أجعل مبرمج غيري يستدعي دالة التحويل بدون أن يعرف محتواها، ولكنه سيستفيد منها وسيرى مخرجات. الآن WebServices هي طريقة أو بروتوكول لاخراج هذه الدوال إلى المبرمجين الخارجيين، مع العلم أنه يمكن اخراج الدوال بدون WebServices مثلا في نظام تشغيل ويندوز، ويفر لك الويندوز دوال عامة يمكنك استدعاءها، مثلا دالة إفراغ سلة المحذوفات، يمكنك استدعاءها من كود برنامجك هذه الدالة يتم استدعاءها ليس عن طريق WebServices . الدالة مقصود بها دالة برمجية Function أو إجراء subroutine ، وقد ترسل لها وسيطة Parameter إما تكون متغير نصي أو عبارة عن Class أو واجهة ... إلخ. الويب سيرفس ، طريقة لنقل الدوال والاجراءات بين أجهزة مختلفة، وغالبا يكون عبر استخدام HTTP ، وله عدة صيغ وطرق للنقل أشهرها رسالة SOAP وبروتوكول WSDL وهنالك JSON و XML ... إلخ بمعنى أنت تقوم بعمل API ( دوال ) وتقوم بتصديرها للغيرك ( مبرمج خارجي ) على هيئة مبادئ وبروتوكولات WebServices ، لكي يستخدمها من مكان بعيد. هذا يقودنا للتالي: 1- كل Web services هي APIs والعكس غير صحيح. 2- قد تكون عندك APIs في دوال كثيرة، ولكنك تسمح فقط باخراج بعضها في WebServices ، وبعضها في WebServices أخرى، وبعضها تجعله محلي، وبعضها تربطه مع دوال أخرى خارجية. 3- Web Services تحتاج إلى اتصال انترنت للعمل عليها، ولكن الدوال التقليدية API لا يلزمها غالبا اتصال ، مثلا دوال الويندوز كحذف ملف. مصدر مميز
- 2 اجابة
-
- 5
-
هنالك عدة أنواع من البطاقات، ولكن بالمجمل : بطاقات AMD : غالبا تكون أرخص في السعر من بطاقات Nvidia ، أيضا البطاقات تكون أقل استهلاكا للطاقة، بالإضافة إلى زيادة عدد المعالجات الداخلية وهو ما سأوضحه بطاقات NVIDIA : غالبا أعلى في السعر، وأعلى استهلاكا للطاقة، ولكنها أفضل في الأداء. معاجات نفيديا، بها معالج رسوميات قوي ويقوم بعمليات معالجة كثيرة ومتعددة، فتجد في بطاقة الرسوميات تحتوي على مجموعة من المعالجات قليلة العدد نسبيا. شركة AMD لم تستطع مجاراة قوة معالجات NVIDIA ، فقامت برفع أداء المعالج بزيادة عدد المعالجات الداخلية، فتجد بطاقة الرسوميات تحتوي على عشرات وأحيانا مئات المعالجات المصغرة إذا أردت استخدام بطاقة الرسوميات للألعاب، أنا أفضل بطاقات نفيديا، لقوتها ولأنها تتوافق مع نظام تشغيل الويندوز بكفاءة عالية. إذا أردت استخدام بطاقة الرسوميات للتعدين ( بت كوين ) استخدام بطاقات AMD لزيادة عدد المعالجات الداخلية، أيضا تعريفاتها لنظام تشغيل اللينكس متوفرة بعكس بطاقات نفيديا. فعليا يجب أن تحدد المزايا التي تريدها من البطاقة، هنالك مزايا خاصة بالمونتاج، وهنالك خاصة بالرسم الثلاثي، وهنالك مزايا خاصة بالألعاب .. إلخ أقترح عليك أن تحدد ما تريد، وتقرأ من أحد هذين المقالين http://www.alrakameiat.com/?path=news/read/4275 http://darktech-reviews.com/15 ففيهما معلومات قيمة
-
نعم توجد طريقة وهي سهلة، تحتاج إلى تنفيذ استعلام ايقاف خاصية Identity ومن ثم تقوم بإضافة الحقل الذي تريده ، ووقتما تشاء يمكنك اعادة تفعيل Identity فقط نفذ هذا الاستعلام لايقاف الزيادة التلقائية SET IDENTITY_INSERT tablename OFFولتفعليها اجعل القيمة On SET IDENTITY_INSERT tablename ONمع العلم أنك يجب أن تنتبه للقيم المضافة، فأنت لا تريد أن تضيف قيمة تكون موجودة مسبقا، ما سيسبب لك مشاكل حينما تعيد تفعيل الزيادة التلقائية للمزيد يمكنك الحصول على تعليمات أخرى من هنا http://stackoverflow.com/questions/1234780/turn-off-identity-insert-for-dataset-insert الاستعلام يمكنك تفيذه عن طريق الكود، مثلا SQLCommand
-
هنالك عدة طرق لتشفير الاتصال، ولكنها تعتمد على طريقة النقل بين التطبيق والخادم. مثلا اذا استخدمت Web API لنقل البيانات، فهنالك طريقة لتشفير قناة الاتصال. واذا استخدمت تقنية أخرى مثل WCF Data Services، هنالك طريقة أخرى لتشفير القناة. ولكن هنالك طريقة عامة لحل هذه المعضلة، وهي تشفير البيانات المرسلة ، واستقبالها مشفرة، ومن ثم فكها على الخادم / العميل وأقترح عليك استخادم طرق قوية نسبيا، ولا تستهلك طاقة كثيرة في التشفير / فك التشفير، ولعل أفضلها طرق التشفير المتماثلة Symmetric ، وعلى رأسها AES وهنالك دوال جاهزة في السي شارب لاستخدام هذه الخوارزمية في التشغير تفضل https://www.google.com/search?q=كيلك&ie=utf-8&oe=utf-8#q=c%23+aes+encryption بالتوفيق
-
البرنامج الأشهر لعمل هذه المخطوطات هو برنامج كليك ، وهنالك شروحات كثيرة عنه هذا رابط بحث في جوجل، به تجد شروحات، وروابط للبرنامج https://www.google.com/search?q=كيلك&ie=utf-8&oe=utf-8#q=برنامج+كلك انا اقترح عليك أن تدخل على موقع مستقل أو خمسات، وتدفع 5 دولار، وتبحث عن شخص محترف يعملها لك