الجمعة، 11 نوفمبر 2016

التضحية باسبوع دراسي وليلة كاملة من اجل فقط تثبيت برنامج مطور للغة ++C !

السلام عليكم ورحمة الله تعالى وبركاته

طرحت سابقا موضوع " C++ والحظ السيئ...وكانت جميع الردود مشجعة لي

انا لازلت جديد في هذا العالم وكنت قد نويت البداية مع ++C لاني معظمكم نصنحني بها

لكن وجاهتني مشكلة كبيرة ولسوء الحظ انه لم يشتغل اي برنامج مطور للغةس بلس بلس

فيجوال استوديو 2015 ولا فيجوال استوديو 2010 ولا dev ولا كود بلوكس "مشكلة كومبلاير"

لقد اقلقني هكذا كثيرا واصابني بأحباط شديد لكنني لم استطع كبح رغبتي في تعلم اللغة لذالك كنت اغيب الدروس الجامعية واذهب الى قاعة الانترنت الجامعية واشهاد الفيدوهات لحل مثل هذه الكشاكل لكن بدون جدوى

والله اسبوع كامل من التعب والبارحة لذالك بدأت اشك انها رسالة من الله ان اترك هذا المجال

لكنني في الاخير استخرت الله عز وجل " ان كان في هذا المجال خير لي في ديني ودنيياي فيسره لي يارب العالمين" ثم ذهبت الى الفراش ونمت بعد 4 ساعات من النوم استيقضت فزعا من النوم بدون سبب ولم استطع ان انام بعذ ذالك

فنطلقت مسرعا الى مكان يتوفر فيه الانترنت وقلت هذا اليوم الاخير لي اما ان نزل البرنامج اللعين ويشتغل اما ان اترك هذا المجال نهائيا ولا اسبب لنفسي وجع الرأس والاحباط

ثم بعد محاولتين او ثلاث جربت مع كودبلوكس وتم حل مشكلة الكومبالير والحمد لله والان استطيع البدأ في التعلم البرمجة و اول خطوة لي ستكون مع سي بلس بلس



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fG1gpk

This Passenger is cutting me to pieces

https://suar.me/W3xM

Passenger - When We Were Young

Yet another great single from my favorite singer of all time, Mike - aka Passenger .... and Nope, it's not a cover for Adele's song. x

I really suck at describing things, so I'll just quote some of the lyrics here, and then you can decide if you're gonna watch it

How we beg and we borrow

say we do it tomorrow

but tomorrow never seems to come

And

Oh and how the years they vanish

I always wanted to learn Spanish

and travel round South-America


The Song (Audio) x

https://www.youtube.com/watch?v=1hByUdeM1nM


The Music Video

https://www.youtube.com/watch?v=hef9UEHQisY


And last but not least, let me quote this from Passenger, it's really nice :D

I've more songs than Let Her F-ing Go xD !!!



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2f0NTiD

5 أفكار لقنوات غير موجودة في اليوتيوب العربي و عليها طلب كبير جدا عليها



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2epahG0

كيفية إزالة المفتاح المكسور من قفل السيارة ؟



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fXTnzx

سؤال: لماذا تكتب؟

قد يكون هذا سؤالا بسيطا وقد يكون معقدا.

ما الذي يدفعك للكتابة؟ هدف أسمى ورغبة في إضافة شيء جديد مفيد للبشرية كما يحاول البعض إقناعنا؟ (هناك من يكون فعلا صادقا كي لا أظلم أحدا)

التواصل مع الآخرين كطبيعة بشرية؟

التعبير عن الذات ومحاولة إثبات وجودك؟

ما الذي يدفعك للكتابة عن أفكارك لأشخاص لا تعرفهم؟ تلبية حاجة نفسية ما؟

لديك فكرة تتمحور حولها كتاباتك وتود إيصالها للآخرين لإصلاح أحوالهم؟ كأن تكون داعية مثلا, أو ثوريا.

أخبرنا عن تجربتك مع الكتابة.



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2eKR7Ww

هدف بلا شغف هل ستنجح في تحقيقه ؟

كثيرا ما ارى العديد من المواضيع التي تذكر اهمية الشغف فلو وجدته فستتحول حياتك الرمادية الى وردية

او ان تعمل في ذلك العمل فقط لتشبع شغفك

في الواقع لا انكر اهميته ولاكنني لا اعتبره احيانا ضروريا !

فما رايك في قولي هل انا مخطئ ؟

واسف لسوء تعبيري عن افكاري فانا افتقر لمهارات الكتابة

وفقط ._. .



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fJTUBW

هل مسرح أصل سينما ؟

إذا كنت تريد أن تصبح ممثل جيد هل عليك أن تبدأ بالمسرح



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fjQ7N9

هراء "سرقات المحتوى" الذي كنت اؤمن به - سرقات المحتوى الفعلية، وتأثيرها على عالم التدوين

دون تحديد ماذا كنت افعل في الايام المظلمة، لقد كنت احد المؤمنين بقوة بفكرة "لا تسرق محتواي ايها السارق السرّاق اللعين"... ولكن في الحقيقة الان اصبحت اكثر استيعابا لمفهوم سرقات المحتوى، وكيف يعمل هذا الامر.

لنقل ببساطة ان فكرة "سرقة المحتوى" ليست كما يعتقد الاغلبية، فبمجرد تشابه عنواني تدوينتين، او تدوينة وفيديو على يوتيوب، لا يعني ان احدهما سرق من الاخر، ولا يعني انهما نفس الشخص... ببساطة الامر يعني انهما يعتمدان ذات المصدر ويقدماتن محتوى متشابهاً فقط لا غير.


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

بغض النظر عن المشاعر المرهفة، و"انت تسرقني" هذه هي الضوابط التي تحكم سرقات المحتوى "قانونياً" اضافة الى "ضوابط اخلاقية ذاتية من الرائع ان تتحلى بها اذا كنت مدوناً" جمعتها على مدى فترة "تحولي الى مدون مأجور - على نمط قاتل مأجور":

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

مهما كنت تؤمن انك لا تسرق، فأنت تسرق في هذه الحالة، لا تبرر لنفسك ان "الكاتب مشهور جدا" او ان "المحتوى منسوخ من صفحة فيسبوك غير معروفة"... السرقة هي السرقة (سأذكر لاحقاً تبرير وصفها بالسرقة - ان كنت تحتاج لتبرير)

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

اخذ اذن صاحب المحتوى من اهم الخطوات التي عليك القيام بها قبل نقل المحتوى

  • نقل المحتوى كاملاً، بعد اخد الاذن، ومع الاشارة الى المصدر، ولكن بطريقة غير واضحة او لا ترضي صاحب المحتوى الاصلي، هو سرقة للمحتوى

لا اريد لاسمي ان يظهر بخط 1بكسل في التذييل بعد سرقة هذا الموضوع الى مدونة "سميرة سعيد للمعلوميات"

على الاقل اجعله 2بكسل

  • التشابه، ليس سرقة في المحتوى، ان تقوم بتدوينة عن نفس الموضوع الذي كتب عنه رغيب امين، ليس سرقة للمحتوى، هو تقليد، ويضرك كمدون، ولكنه ليس سرقة

التقليد مهم أحيانا ومضر أحياناً اخرى، انت كمدون عليك تعلم الحكم على كون ما تقلده، سيكون اكثر افادة من الاصل ام مجرد تغيير في الكلمات

  • الترجمة ليست سرقة، الا في حالات قليلة: عندما تترجم دون ذكر المصدر - عندما تذكر المصدر دون اخد اذنه - عندما تترجم مع المصدر دون ان تظهر في المقال بشكل واضح ان المقال مترجم

لماذا تعتبر سرقة؟ لان بعض المدونين لا يرضون بترجمة محتواهم، هكذا.

  • من الرائع ان تكتب بشكل كامل من خبرتك وافكارك

  • من الرائع ان تذكر مصدر الهامك ولو كان السبب ب1% فقط من محتواك

  • من الرائع ان تجمع عدوة مصادر وتستخرج المفيد منها بدلا من الترجمة دون فهم

  • من الرائع ان تحترم رغبات الاخرين دون ان تقول "تبا له كم هو متكبر لا يريد ان اسرق تدوينته"


ماذا تؤثر سررقات المحتوى، عليك، علي، وعلى السلام العالمي؟

  • مدونتك تعتمد على المحتوى المنسوخ، المقلد، المترجم فقط = مدونتك عبارة عن قمامة، دون مجاملات

وهذا يقتضي ان سمعتك كمدون، وكمشرف، او اي شيء اخر، اصبحت في الحضيض

  • سرقة المحتوى مثلها مثل سرقة اي شيء اخر، انت تكسب المال من شيء ليس من المفترض ان تكسب منه المال، ولالخص الامر "من المفترض" ان تكون كل "الارباح الهائلة التي تتلقاها من العشر زوار سنويا الذين يزورون مدونتك عن طريق الخاطأ" هي لاصحاب المحتوى الاصلي

  • كمدون، ان تتم سرقة محتواك يعني بوابة جحيم صغيرة تنفتح على عالمك الصغير، ستبدا بالتفكير "اوه كل ما اكتبه سينشر باسم احد اخر" و"ستضيع الشهرة"... لا تبالغ، لم يعد احد يزور هذا النوع من المدونات، ولا اعتقد ان احدا كان يزورها... الامر ليس جحيما... لا تتوقف عن الكتابة

  • بشكل عام، الانترنت لا يشبه الكرة الارضية، لا تحتاج للهدم في الانترنت لتبني صرحا جديدا، لذا هذه المواقع لن تختفي، تعايش مع الامر

  • لن تصبح مدونا بنسخك، ترجمتك، وتقليدك للمدونين.


باختصار، لا تبالغ بأي شيء، وستعيش في سعادة الى الابد



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fEeva2

مصطفى محمود في 36 دقيقة !

تقريبا ، الفيديو الذي سأنشره هنا ، أعتبره شخصيا من أفضل الفيديوهات التي شاهدتها في حياتي ..

36 دقيقة من الجمال و الابداع و التألق و الأصالة ، 36 دقيقة ارتقيت فيها فكريا و ثقافيا من الحضيض الى أرقى الدرجات .

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

الرجل تكلم عن كل شيئ تقريبا في 36 دقيقة فقط ! افتتحها بشغفه بالكيمياء و عشقه الشديد لاجراء التجارب الكيميائية ، ثم تكلم عن ظروف اختياره للطب كمجال دراسة جامعية ، ثم انتقل بنا الى فترة مرضه و عزله في في المستشفى ، حيث كانت تلك الفترة نقطة التحول في حياته ، و سببا لكل الأفكار و الكتب التي نشرها لاحقا حول الانسان و الايمان و الله و الدين و الفلسفة .. الخ

بصراحة ! بعد اكمالي الفيديو ، تاكدت من مقولة ( مصر أم الدنيا ) ، فالبلد التي تنجب لك شخص ك - مصطفى محمود - يجب أن تكون عظيمة بكل ما تحمله الكلمة من معاني ..

ملاحظة : الفيدو و الحوار لم يكتمل ، و كأن هناك من قطع الفيديو عمدا ! لذا ان و جدت تكملة الفيديو لاحقا ، لا تبخل علي بها ، أشعر بالأسف لأني لم أستطع اكماله ! :/

https://www.youtube.com/watch?v=ihLRJfLBMeA

مشاهدة ممتعة للجميع :)



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fXljmX

تعرف على قطار "صعيدي جيكس" التقني لتدريب 1000 شاب وفتاة مجانا



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fE9sqg

طريقة تقييم المواضيع في حسوب

لاحظت كثيرا أن الأعضاء هنا في الغالب يميلون إلي تقييم المواضيع المطروحة بشكل عجيب، فالمواضيع التي تأخذ طابع أستفتائي فيس بوكي مثال

ماذا تفضل في،أو هل تحب كذا أم كذا تحصل في الغالب علي أعلي التقيمات حتي لو كان محتواها ليس علي ذلك القدر من الأهمية ،بالمقارنة بالمواضيع التي تحمل طابع حسوبي بحت والتي تعني نقاش حقيقي حول قضية شائكة أو عميقة علي الأقل ،أو حتي تحمل طابع نقاشي

بالطبع التقيمات لا تعني شيئ في النهاية ،ولكنها تشير إلي طريقة تفكير الكثير من الأعضاء هنا والتي أرجو أن تتطور أكثر ،بالمقارنة بالأعضاء الذين يميلون للموضوعات الأكثر تعيقدا



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fIIAUJ

هل امتلئ مجال الويب واصبحت الافكار وفرص العمل فيه ضئيله ؟



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2ePKDJc

ما موقفك عندما تسمع معلومات مغلوطة!!

إن كنت في المواصلات وسمعت أحدهم يهرتل بكلام مغلوط؟ أو في الشارع وسمعت أحدهم يعطي نصيحة مغلوطة؟

إمام مسجد..سياسي..مذيع..كاتب..والدك..أختك...إلخ أياً كان

سواء كانت هذه المعلومات مقصودة أو غير ذلك، ما موقفك في هذه اللحظة

هل تنفعل؟ ترد دون أن تدري مصححاً للمعلومة؟ تصمت؟..إلخ

ولماذا



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2eKoUiv

هل من مهتم بقراءة قصة قصيرة من 30 صفحة تقريبا؟ [عشرة اشخاص فقط]

احد القصص القديم التي كتبتها من سنة تقريباً، عادت الى بالي اليوم، نفضت عنها الغبار، دققتها، نسقتها، والان يتم تصميم الغلاف الخاص بالقصة، واشياء اخرى ثانوية لا تؤثر على القراءة بشكل كبير

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

السبب في "عشرة اشخاص فقط" هو انني لا ارغب بافساد طلاق القصة لاحقاً، ولا اريد نشرها بأخطاء لغوية

القصة تقارب الثلاثين صفحة "مع ازالة الفراغات اقل من ذلك"

من يريد ان يكون من المجربين، فليرسل لي رسالة، ويا حبذا لو يستطيع انهائها اليوم كوني قد فتحت "المشغل" الخاص بالكتابة والتدقيق، ولا اريد ان افتحه مجدداً غداً :")

شكرا سلفا لمن يريد المساعدة، اتمنى ان تكون القصة مسلية



from حسوب I/O - الأكثر شيوعاً https://io.hsoub.com/books/51214-%D9%87%D9%84-%D9%85%D9%86-%D9%85%D9%87%D8%AA%D9%85-%D8%A8%D9%82%D8%B1%D8%A7%D8%A1%D8%A9-%D9%82%D8%B5%D8%A9-%D9%82%D8%B5%D9%8A%D8%B1%D8%A9-%D9%85%D9%86-30-%D8%B5%D9%81%D8%AD%D8%A9-%D8%AA%D9%82%D8%B1%D9%8A%D8%A8%D8%A7-%D8%B9%D8%B4%D8%B1%D8%A9-%D8%A7%D8%B4%D8%AE%D8%A7%D8%B5-%D9%81%D9%82%D8%B7

[مراجعة] İçerde - مسلسل تركي عن الاستخبارات، بعيداً عن كل هراء مبالغات وادي الذئاب

وادي الذئاب أحد اشهر المسلسلات التركية، ان لم يكن هو اشهرها فعلاً، سواء في تركيا ام في الوطن العربي، ولا يمكن لشخصين ان يختلفا على كمية الهراء المبالغ فيه الواردة في المسلسل، والذي يجعل الاستخبارات تبدوا كلعبة، وعمل الاستخباراتيين كشرب الماء.

https://suar.me/d4K9

"ايشارده" (تترجم الى: في الداخل) مختلف تماماً عن كل هذا الهراء، لن يعود احد الى الحياة، لا تحل جميع المشاكل بضغطة زر، والعميل السري ليس انسانا خارقا غير قابل للاخفاق، الخطط تفشل، المكائد تفشل، وكل شيء غير مستقر.

https://suar.me/8OrL

تدور القصة حول "صرب" الأول على الدفعة في اكادمية الشرطة، الذي يتفق على خطة محكمة مع مدير الاستخبارات في يوم تخرجه، تقتضي بأن يترك سلك الشرطة، وينضم الى المافيا ليصبح رجلا "في الداخل"

الدوافع الخاصة للشخصيات مذهلة حقاً، وهي تتكشف شيئا فشيئا على مدى المسلسل، بشكل غير ممل، وبطريقة عرض مميزة تدفعك لمشاهدة كل ثانية في المسلسل

لن احرق الاحداث بحديثي عن القصة اكثر من هذا، سأضع كالعادة، بعض النقاط المهمة عن هذا المسلسل:

  • لا يوجد "قوى خفية" تحرك الامور كلها، لن تنقذهم الاستخبارات العليا، والدولة العميقة، ومن هو اكبر منها، كلما وقعوا في مشكلة

  • لا يوجد حوادث اطلاق نار مستفزة، ولا يوجد اثارة واكشن مبالغ فيها، فقط جاسوسية صرفة، واعمال ذكية ودسائس بين طرفي الصراع

  • القصة مبنية على اساسات صلبة، ويبدوا انها تمشي بخطى ثابتة وبوتيرة متناسقة، وليست متخبطة


ملاحظات تقنية

  • المسلسل مصنف "للبالغين" بسبب مشاهد الدماء، وبعض القبلات

  • لا اعلم ان كانت الترجمة العربية قد صدرت له، اشاهده حاليا باللغة التركية

  • الحلقة من المسلسل = ساعتين تقريبا، لا تنصدم

  • يتم عرض الحلقات الجديدة على يوتيوب كل يوم اثنين


ان كنت تبحث عن نظرة جديدة الى عالم المسلسلات التركية، "في الداخل" هو املك الوحيد لتغير نظرتك عنها

الى الان، تقييمه لدي 5\5...



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fItfDR

3 أسماء بالخط الكوفي من تصميمي

https://suar.me/W3Yw



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fDCy9f

أنظمة إدارة الصلاحيات عبر الأدوار "RBAC"

هو أحد أنظمة إدارة الصلاحيات عبر الأنظمة لتنظيم عملية الوصول لجميع وظائف التطبيق حسب الدور المُسند لكل مُستخدم على حده ويتألف كل دور من مجموعة من صلاحيات الوصول لوظائف معينة داخل التطبيق.

ويتمثل النظام في ثلاث محاور أساسية المُستخدم و الدور و الصلاحية:

  • المُستخدم يُمكن أن يكون له أكثر من دور.

  • الدور يُمكن اسناده لأكثر من مُستخدم.

  • الدور يكون له أكثر من صلاحية.

  • الصلاحية يُمكن اسنادها لأكثر من دور.

هذه هي القواعد الأساسية لهذا النظام

ملاحظة: النظام يكون فعال بشكل أكبر في حال كثرة عدد المُستخدمين المراد إعطائهم صلاحيات.

إن كانت الصلاحيات كثيرة ومتشعبة وتندرج تحت أكثر من قسم يُمكن إنشاء تصنيفات لتجميع الصلاحيات التي تندرج تحت تصنيف مُعين للتنظيم وسهولة التعامل معها.

سنأخذ مثال عملي كتطبيق على هذا:

  • لدينا موقع يحتوي على واجهة الموقع ومدونة ولوحة تحكم لكل قسم منهم صلاحياته ولدينا مُستخدمين للنظام وأدوار ستوزع عليها الصلاحيات

سكيون لدينا الأدوار panelUser, panelEditor, panelAdmin خاصة بلوحة تحكم الموقع

والأدوار siteUser, siteEditor, siteAdmin خاصة بواجهة الموقع

والأدوار blogUser, blogEditor, blogAdmin خاصة بمدونة الموقع

للتنظيم سنقسم الصلاحيات تحت عدة ثلاث تصانيف وهي panel و site و blog

الصلاحيات الخاصة بلوحة التحكم "panel" هي

 panel.user.add
 panel.user.edit
 panel.user.delete
 panel.theme.add
 panel.theme.edit
 panel.theme.delete
 panel.theme.change

... وهكذا لأي عدد من الصلاحيات التي تريدها للوحة التحكم

الصلاحيات الخاصة بالموقع "site" هي

site.category.add
site.category.edit
site.category.delete
site.subcategory.add
site.subcategory.edit
site.subcategory.delete
site.subcategory.add
site.product.add
site.product.edit
site.product.delete
site.product.changePrice
site.product.changeImage
site.product.changeStatus

... وهكذا لأي عدد من الصلاحيات التي تريدها للموقع

الصلاحيات الخاصة بالمدونة "blog" هي

blog.post.add
blog.post.edit
blog.post.delete
blog.comment.add
blog.comment.edit
blog.comment.delete

... وهكذا لأي عدد من الصلاحيات التي تريدها للمدونة

الآن يُمكن اسناد أي من الصلاحيات لأي قسم من الأقسام الثلاثة سواء المدونة والموقع ولوحة التحكم للدور الذي تريده، وتستطيع تطبيق النقاط الأربعة السالفة ذكرها لنظام الصلاحيات في الأعلى.

سنأخذ مثال: الدور panelAdmin سيُعطي جميع الصلاحيات الخاصة بلوحة التحكم الدور panelUser سيُعطى صلاحيات الإضافة فقط الخاصة بلوحة التحكم ... وهكذا بحيث تستطيع تغيير الصلاحيات المُسندة للأدواء كيفما تشاء أو إنشاء أدوار جديدة وإسنداد صلاحيات مُعينة لها.

الآن لدينا مُستخدمين ahmed و mohamed و motafa يُمكن أن يتم اسناد دور أو عدة أدوار لأي من المستخدمين كمثال أحمد تم إسناد الدور panelEditor للوحة التحكم و siteAdmin في الموقع الآن أحمد يستطيع تنفيذ جميع الصلاحيات التي تندرج تحت كلا الدورين panelEditor و siteAdmin وهكذا يُمكن إعطاء الصلاحيات للمُستخدمين عبر نظام الأدوار.

هذا بالنسبة للجذء النظري الذي يشرح كيف تسير الأمور في نظام صلاحيات الأدوار سنطبق هذا النظام بشكل عملي باستخدام قواعد البيانات MySQL ولغة البرمجة PHP عبر استخدام إطار العمل 5.3 Laravel فلنبدأ.

أولاً: سيكون لدينا عدة جداول:

  • جدول المستخدمين users
  • جدول الأدوار roles
  • جدول أقسام الصلاحيات sections (جدول لتظيم عرض الصلاحيات)
  • جدول الصلاحيات pemissions
  • جدول لربط الصلاحيات بالأدوار role_pemissions
  • جدول لربط الأدوار بالمستخدمين user_roles

إنشاء الجداول عبر Laravel

Schema::create('roles', function ($table) {
    $table->increments('id');
    $table->string('name');
    $table->string('desc')->nullable();
});
Schema::create('sections', function ($table) {
    $table->increments('id');
    $table->string('name');
    $table->string('desc')->nullable();
});
Schema::create('permissions', function ($table) {
    $table->increments('id');
    $table->string('name');
    $table->string('desc')->nullable();
    $table->integer('section_id');
    $table->foreign('section_id')->references('id')->on('sections');
});
Schema::create('role_permissions', function ($table) {
    $table->increments('id');
    $table->integer('role_id');
    $table->integer('permission_id');
    $table->foreign('role_id')->references('id')->on('roles');
    $table->foreign('permission_id')->references('id')->on('permissions');
});
Schema::create('user_roles', function ($table) {
    $table->increments('id');
    $table->integer('user_id');
    $table->integer('role_id');
    $table->foreign('user_id')->references('id')->on('users');
    $table->foreign('role_id')->references('id')->on('roles');
});

سنستخدم الـ Laravel eloquent في عمل العلاقات بين الجداول سنضع الفئات الخاصة بالجداول في مجلد باسم Tables داخل المجلد App وتكون العلاقات كالتالي:

  • جدول المستخدمين users:

    <?php

    namespace App;

    use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable;

    class User extends Authenticatable { use Notifiable;

    protected $fillable = [
        'name', 'email', 'password'
    ];
    
    protected $hidden = [
        'password', 'remember_token',
    ];
    
    public function roles()
    {
        return $this->hasMany('App\Tables\UserRole');
    }
    
    public function hasRole($role)
    {
        foreach($this->roles as $row){
            if($row->role->name == $role) return true;
        }
        return false;
    }
    
    public function hasPermission($permission)
    {
        foreach($this->roles as $row){
            foreach($row->role->permissions as $row2){
                if($row2->permission->name == $permission) return true;
            }
        }
        return false;
    }
    
    

    }

  • جدول الأدوار roles:

    <?php
    
    namespace App\Tables;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Role extends Model
    {
        protected $table = 'roles';
        public $timestamps = false;
    
        public function permissions()
        {
            return $this->hasMany('App\Tables\RolePermission');
        }
    }
    
    
  • جدول استرشادي لأقسام الصلاحيات sections:

    <?php
    
    namespace App\Tables;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Section extends Model
    {
        protected $table = 'sections';
        public $timestamps = false;
    
        public function permissions()
        {
            return $this->hasMany('App\Tables\RolePermission');
        }
    }
    
    
  • جدول الصلاحيات permissions:

    <?php
    
    namespace App\Tables;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Permission extends Model
    {
        protected $table = 'permission';
        public $timestamps = false;
    
        public function permissions()
        {
            return $this->hasMany('App\Tables\RolePermission');
        }
    
        public function section()
        {
            return $this->belongsTo('App\Tables\Section');
        }
    
        public function assignTo($role_id)
        {
            return ($this->permissions->where('role_id', $role_id)->count() > 0)?true:false;
        }
    }
    
    
  • جدول صلاحيات الأدوار role_pemissions:

    <?php
    
    namespace App\Tables;
    
    use Illuminate\Database\Eloquent\Model;
    
    class RolePermission extends Model
    {
        protected $table = 'role_permissions';
        public $timestamps = false;
    
        public function role()
        {
            return $this->belongsTo('App\Tables\Role');
        }
    
        public function permission()
        {
            return $this->belongsTo('App\Tables\Permission');
        }
    }
    
    
  • جدول أدوار المستخدمين user_roles:

    <?php
    
    namespace App\Tables;
    
    use Illuminate\Database\Eloquent\Model;
    
    class UserRole extends Model
    {
        protected $table = 'user_roles';
        public $timestamps = false;
    
        public function role()
        {
            return $this->belongsTo('App\Tables\Role');
        }
    
        public function user()
        {
            return $this->belongsTo('App\User');
        }
    }
    
    

والآن بعد تهيئة نظام الصلاحيات نستطيع إنشاء الأدوار والصلاحيات وإسناد الصلاحيات للأدوار والأدوار للمستخدمين:

  • لإنشاء دور جديد:

    App\Tables\Role::firstOrCreate(['name' => 'panelAdmin']);
    
    
  • لإنشاء قسم خاصة لتصنيف الصلاحيات من خلالها:

    App\Tables\Section::firstOrCreate(['name' => 'panel']);
    
    
  • لإنشاء صلاحية جديدة:

    App\Tables\Permission::firstOrCreate(['name' => 'panel.user.add', 'section_id'=>1 /* panel section id = 1 */ ]);
    
    
  • لإسناد صلاحية لدور ما:

    App\Tables\RolePermission::firstOrCreate(['permission_id' => 1 /* panel.user.add permission id = 1 */, 'role_id'=>1 /* panelAdmin role id = 1 */ ]);
    
    
  • لإسناد دور لمستخدم ما:

    App\Tables\UserRole::firstOrCreate(['user_id' => 1 /* ahmed user id = 1 */, 'role_id'=>1 /* panelAdmin role id = 1 */ ]);
    
    

يُمكن إجراء عمليات الإنشاء والتعديل والحذف الإسناد من خلال واجهة رسومية عبر لوحة التحكم لسهولة إنشاء الصلاحيات والأدوار وأسناد الصلاحيات للأدوار أو الأدوار للمستخدمين أو تعديلها وقتما تشاء.

الآن داخل البرمجة سنستخدم الدالة hasRole من خلال الكائن المنشأ من المُستخدم عبر الـ eloquent للتحقق من أن هذا الدور المُمرر للدالة مُسند لهذا المُستخدم أم لا كالتالي:

    $user = User::where('id', 1)->first();

    if($user->hasRole('panelAdmin')){
        echo 'Yes';
    }else{
        echo 'No';
    }

  • والدالة hasPermission للتحقق من أن المُستخدم يملك تلك الصلاحية أم لا كالتالي:

    $user = User::where('id', 1)->first();
    
    if($user->hasPermission('panel.user.add')){
        echo 'Yes';
    }else{
        echo 'No';
    }
    
    


from حسوب I/O - الأكثر شيوعاً https://io.hsoub.com/programming/51248-%D8%A3%D9%86%D8%B8%D9%85%D8%A9-%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA-%D8%B9%D8%A8%D8%B1-%D8%A7%D9%84%D8%A3%D8%AF%D9%88%D8%A7%D8%B1-rbac

عشرة خطب ستغير حياتك جذريا (ليست مبالغة)

هناك مئات الكتب والروايات التي أثرت فينا وغيرت فكرنا , والتي يعتبرها البعض تجسيد للإبداع والذكاء البشري .

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

ومعلومات علمية وتاريخية ويغير فهمنا جذريا ونظرتنا إلى الإسلام والى مفهوم الإله ..

د.عدنان إبراهيم احد المفكرين في النمسا فلسطيني من غزة يطل كل أسبوع على قناته في اليوتيوب ليلقي على الالاف من

الشباب المثقف روائع من شتى العلوم وتصل خطبة الى الكثير من المتابعين من العرب " سنه وشيعة , وحتى بعض المشككين والاأدريين " وتترجم بعض محاضراته وخطبة الى الانجليزية والفرنسية والاسبانية .

هذه افضل 10 خطب من آلاف الخطب والمحاضرات في مسيرة هذا المفكر والأكثر مشاهدة .

  1. هل نفكر
  2. أنا
  3. اللغز
  4. الحق في الشك
  5. التعصب كبنية
  6. الخرافة في خدمة الطغيان
  7. عالم منسوخ
  8. طواغيت الفكر
  9. وعينا المثقوب
  10. شكرا

https://suar.me/d4e9

 ملاحظة : الرجل لايتكلم في الدين فقط بل هو طبيب وفيلسوف وقارئ نهم لديه ألاف الكتب في بيته (يقال ان مكتبته اكبر مكتبة شخصية في اوربا) ..

ملاحظة أخرى : مقالي هذا تجنبت فيه إغداق المدح للدكتور عدنان أو رد مايقولونه عنه أو حتى التبشير به . مقالي هذا

موجه فقط لمتابعي حسوب من القراء والمثقفين المنفتحين فكريا لكي يستفيدو شخصياً , ومن ثم يحكموا بأنفسهم على هذه الشخصية ..



from حسوب I/O - الأكثر شيوعاً https://io.hsoub.com/culture/51240-%D8%B9%D8%B4%D8%B1%D8%A9-%D8%AE%D8%B7%D8%A8-%D8%B3%D8%AA%D8%BA%D9%8A%D8%B1-%D8%AD%D9%8A%D8%A7%D8%AA%D9%83-%D8%AC%D8%B0%D8%B1%D9%8A%D8%A7-%D9%84%D9%8A%D8%B3%D8%AA-%D9%85%D8%A8%D8%A7%D9%84%D8%BA%D8%A9

MobilePress - قالب متجاوب مصنوع باستخام Google materials ما رأيكم ؟



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2fHYdvP

زمن الإنسانية الخبيث-وجهة نظر تحليلية-"1"

زمن الإنسانية الخبيث-نظرة تحليلية-

إن الجموح الفكري و الأخلاقي بات ظاهرة محسوسة بشكل مطرد في الآونة الأخير , فالإنسان أصبح يوما بعد يوم يبتدع أنماط متعددة لفلسفته الذاتية ,فالصيرورة كما قال هيروقليطس أمر دائم و تداعياتها ملزمة الحدوث على كل جوانب الوجود

إعتاد الدين الإسلامي على معالجة التغيرات بأسلوب سلس قائم على ثبات الأصول و تغير الفروع بما يناسب الفرد المسلم المعاصر

و إعتاد على تقويم الشذوذ الفكري و السلوكي بردعه بما يتناسب من حدود أو تفاديه عبر تنشئة مسلم واعي مشبع بالقيم الحقيقية المتأصلة فيه إلى مرتبة تجعله يتمتع بالخشية و الخوف الملزم الوجود من خالقه ما يمنعه من الزلل في المطبات و الأخطاء , فحتى الخطأ في حد ذاته سعى الإسلام إلى توضيحه بشكل مطلق مستعينا في ذلك بفطرة المخلوق و البناءات المتكررة لمفهومه في القرآن و السنةالنبوية

لكن بعض السفهاء يطلون علينابشيئ من الحلول الإستهلاكية... بؤطروحة جديدة يزعمون أنها كافية لتقويم الفرد و ردعه

إنها الإنـــســــــانــــــــــــــــــــيـــــــــــة

لست أدري حقا لماذا الآن , لكن حالة الموت الوجداني تستشري بشكل متسارع في عقول الشباب الغافل الأمر الذي ساعد على صنع بيئة مواتية للإنخداع بالفنتازيا الإسترجالية لتيادل أدوار الملاك و الشيطان في بلدان ما وراء البحار .

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

فضعف القاعدة الفكرية للكثيرين جعلتهم فريسة سهلة للعولمة ,هذا الوحش الماكر , يريد أن يدمر مفاهيمنا ,أصولنا و عراقتنا

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

حتى أعظم فلاسفة الماضي يقفون شاردين أمام أطروحة الخير و الشر و حياة الصدام الأزلي بينهما

و العقلية التجريدية لهاذين المفهومين

يتبع,,,,,,,,,,つづく



from حسوب I/O - الأكثر شيوعاً https://io.hsoub.com/culture/51225-%D8%B2%D9%85%D9%86-%D8%A7%D9%84%D8%A5%D9%86%D8%B3%D8%A7%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AE%D8%A8%D9%8A%D8%AB-%D9%88%D8%AC%D9%87%D8%A9-%D9%86%D8%B8%D8%B1-%D8%AA%D8%AD%D9%84%D9%8A%D9%84%D9%8A%D8%A9-1

ووردبريس توفر النطاق (blog.) لمستخدميها

على حسب ما فهمت من الرسالة التي وصلتني من ووردبريس، أنهم سيوفرون النطاق (blog.) للمستخدمين

بداية من 21 نوفمبر الجاري:

On November 21, .blog domains will be available -- for the first time.

Join our early notification list to give yourself the best chance of snagging the domain of your dreams.

..

If you're a blogger looking to build a site with personality and credibility, this could be one of the most important decisions you make this year…

Because a custom domain is the ultimate personalization. After all, no one can have the same domain as you! And with the upcoming launch of .blog domains (only 11 days away!), you'll have the chance to own the domain that perfectly represents your blog and unique point of view.

But you'll need to act fast, as we anticipate .blog domains will be snatched up in a hurry. To get notified as soon as they're available, click the link below.

هذا كان مضمون الرسالة!!

ألم يكن هذا النطاق ملكاً لجوجل؟

وهل سيكون مدفوع أم للإسضافة المجانية أيضاً بدلاً من (WordPress.com) :D



from حسوب I/O - الأكثر شيوعاً https://io.hsoub.com/wordpress/51241-%D9%88%D9%88%D8%B1%D8%AF%D8%A8%D8%B1%D9%8A%D8%B3-%D8%AA%D9%88%D9%81%D8%B1-%D8%A7%D9%84%D9%86%D8%B7%D8%A7%D9%82-blog-%D9%84%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D9%8A%D9%87%D8%A7

شارة one punch man - نسخة إنجليزية



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2eYIUPo

للمستقلين كيف تتعامل مع وصف المشروع بطريقة صحيحة



from حسوب I/O - الأكثر شيوعاً https://io.hsoub.com/freelancing/51231-%D9%84%D9%84%D9%85%D8%B3%D8%AA%D9%82%D9%84%D9%8A%D9%86-%D9%83%D9%8A%D9%81-%D8%AA%D8%AA%D8%B9%D8%A7%D9%85%D9%84-%D9%85%D8%B9-%D9%88%D8%B5%D9%81-%D8%A7%D9%84%D9%85%D8%B4%D8%B1%D9%88%D8%B9-%D8%A8%D8%B7%D8%B1%D9%8A%D9%82%D8%A9-%D8%B5%D8%AD%D9%8A%D8%AD%D8%A9

مشكلة : جهازي اصبح يدخل إلى الوندوز مباشرة ولا استطيع اختيار الدخول إلى ابونتو !!

السلام عليكم

استخدم نظام ابونتو بجانب الوندوز

وكما يعلم الجميع عند فتح الجهاز تأتيك الخيارات للدخول إلى ابونتو أو ويندوز

لكن حصل امر غريب اعدت تشغيل الجهاز اليوم وعندما فتحته تفاجأت بأنه يدخل مباشرة للويندوز

لم تعد تأيني الخيارات لأدخل إلى نطام أوبونتو

وكأن النظام غير موجود

أنا في مصيبة حالياً ولا اعلم ماذا افعل ارجو المساعدة



from حسوب I/O - الأكثر شيوعاً http://ift.tt/2eYLqoP

تحويل صورة إلى رسم فيكتوري + تلوين

الصورة الأصل:

https://suar.me/leo5


الرسم:

https://suar.me/a5Pz


الملف المصدري (يدعم Inkscape و Ai):

https://goo.gl/HDGPt7



from حسوب I/O - الأكثر شيوعاً https://io.hsoub.com/design/51235-%D8%AA%D8%AD%D9%88%D9%8A%D9%84-%D8%B5%D9%88%D8%B1%D8%A9-%D8%A5%D9%84%D9%89-%D8%B1%D8%B3%D9%85-%D9%81%D9%8A%D9%83%D8%AA%D9%88%D8%B1%D9%8A-%D8%AA%D9%84%D9%88%D9%8A%D9%86