عندما بدأت في قراءة كتب في البرمجة و هندسة البرمجيات، كانت لدي فكرة مسبقة، و هي أن التطبيق العملي او التعلم العملي أهم، و يمكنك الاستغناء عن قراءة الكتب التقنية من الأساس.
لكن بمجرد بدأت القراءة اكتشفت مدى جهلي الذي ادى لتكوّن الفكرة التي افتتحت بها هذا المنشور.
بدأت بازالة الغبار عن افكاري و معرفة ان الكتب ربما اهم من التطبيق، بل هو سبيل تسهيل العمل التطبيقي.
و العجيب أن تأثير القراءة التقنية على تفكيرك الهندسي تكون سريعة..
و الحمد لله، و الله أعلم.
#softwareEngineering #softwarearchitecture
لكن بمجرد بدأت القراءة اكتشفت مدى جهلي الذي ادى لتكوّن الفكرة التي افتتحت بها هذا المنشور.
بدأت بازالة الغبار عن افكاري و معرفة ان الكتب ربما اهم من التطبيق، بل هو سبيل تسهيل العمل التطبيقي.
و العجيب أن تأثير القراءة التقنية على تفكيرك الهندسي تكون سريعة..
و الحمد لله، و الله أعلم.
#softwareEngineering #softwarearchitecture
❤7🔥1
في اجابة مرتجلة على سؤال اخ معنا في هذه الجموعة، رأيت انها تستحق النشر منفصلة لعلها تنفع آخرين، - بتصرف -
.
على ماذا تركز في تعلمك و دراستك في هذا المجال؟
لا اعرف ماذا درست سابقا و مدى تعمقك فيه.
فشخصيا لاسباب ما.. لم اتقن كثير المواد في الدراسة العليا رغم انني نجحت فيها كلها و هكذا..
يعني انت ادرى من نفسك و مواطن ضعفك..
الاهم ركز على ما يدفع بك للاممام "الآن" و ما يسد فجواتك المعرفية لانك ستحتاجه في المستقبل كلما كبرت في المجال.
#learning #softwaredevelopment
.
على ماذا تركز في تعلمك و دراستك في هذا المجال؟
لا اعرف ماذا درست سابقا و مدى تعمقك فيه.
فشخصيا لاسباب ما.. لم اتقن كثير المواد في الدراسة العليا رغم انني نجحت فيها كلها و هكذا..
يعني انت ادرى من نفسك و مواطن ضعفك..
الاهم ركز على ما يدفع بك للاممام "الآن" و ما يسد فجواتك المعرفية لانك ستحتاجه في المستقبل كلما كبرت في المجال.
#learning #softwaredevelopment
❤3
نتعلم من خلال القيام بالأشياء بالطريقة الخاطئة، فلو كنا دائمًا على أكمل وجه و نقوم بالأشياء بدقة متناهية، لما كنا بشرًا. نذكر هذا جيدا في مجال البرمجيات.. لا تنسَ هذا.
لكن اسعَ دائمًا للأفضل، وكن دائمًا ممتنًا للأشخاص أو المؤسسات التي تمنحك فرصة التعلم.
لكن اسعَ دائمًا للأفضل، وكن دائمًا ممتنًا للأشخاص أو المؤسسات التي تمنحك فرصة التعلم.
❤7🔥1
توقف عن استخدام magic numbers في كود ال php
في هذه الحالة مثلا، استخدام قيم ثابتة مثل 200 بطريقة مباشرة داخل الكود، يجعله عرضة للأخطاء مستقبلا، و صعب التغير عليه.. استخدم ال const أو ال enums بدلاً من هذه الطريقة.
بذلك تحصل على كود سهل القراءة، وقابل للصيانة، ومقاوم للأخطاء بقدر كبير.
#PHP #CleanCode
في هذه الحالة مثلا، استخدام قيم ثابتة مثل 200 بطريقة مباشرة داخل الكود، يجعله عرضة للأخطاء مستقبلا، و صعب التغير عليه.. استخدم ال const أو ال enums بدلاً من هذه الطريقة.
بذلك تحصل على كود سهل القراءة، وقابل للصيانة، ومقاوم للأخطاء بقدر كبير.
#PHP #CleanCode
تحدث عندما يحتاج الامر ان توضح شيئا، او ان توضح تأخيرا او ان تبرر شيئا ما..
حتى ولو كان هذا سيغضب مديرك..
التحدث في الوقت المناسب في فرق هندسة البرمجيات شيء ضروري..
و يجب ان تتعلمه. كيف؟ الامر معقد لكن ساحاول ان انشر حول هذا من حين لآخر حسب تجربتي الشخصية التي لا تصح للتعميم.
و تذكر الامر لله من قبل ومن بعد.
#softwareEngineering
حتى ولو كان هذا سيغضب مديرك..
التحدث في الوقت المناسب في فرق هندسة البرمجيات شيء ضروري..
و يجب ان تتعلمه. كيف؟ الامر معقد لكن ساحاول ان انشر حول هذا من حين لآخر حسب تجربتي الشخصية التي لا تصح للتعميم.
و تذكر الامر لله من قبل ومن بعد.
#softwareEngineering
❤5🔥1
لو أردت أن أنشر حول شيء متأكد منه في مجال هندسة البرمجيات والبرمجة، فسيكون: استغلال الوقت، التعلم المستمر، ونشر ما تتعلمه.
بخصوص الأولى، لا تضيع وقتك إذا كان لديك وقتٌ متاح.. (و يجب ان تخصصه اذا أردت السير على الطريق..). خصص وقتًا ثابتًا للتعلم في المجال، خصوصًا الأساسيات، وكن منظمًا في ذلك.
الثانية، التعلم المستمر، ابنِ لنفسك خطة مبنية على:
- فجواتك التقنية.
- أين أنت الآن.
- إلى أين تريد أن تصل.
و ابتعد عن المثالية. يكفي أن تخصص 30 دقيقة يوميًا للتعلم والعمل على تقنية جديدة، والتطبيق عليها في مشروع جانبي بسيط،، وإن استطعت ساعة أو ساعتين فذلك خير، المهم أن يكون التعلم ثابتًا.
و التعلم يمكن أن يكون، دورة قصيرة، بضع صفحات من كتاب تقني، كتابة أسطر كود أو تعلم كيفية استخدام أدوات الذكاء الاصطناعي.. وهكذاا
الثالثة، نشر ما تعلمته، كل ما لديك يستحق النشر، تجربة مهنية مررت بها، كود كتبته وتعلمت منه شيئا ما، طريقة ساعدتك في التعلم أو في تسريع عملك.. و هكذا..
و ابتعد عن فكرة "لن أنشر حتى أكون جاهزًا"، فلن تكون جاهزًا بالشكل الذي تتصوره أبدًا.. ولو إنتظر هذا لما كتبت هذه الكلمات فأنا أيضا لست مثاليا في ما كتبت، لكنني أعرف انه صواب، و قد ينفع غير و ربما ينفعه أكثر مني.
فإستعن بالله ولا تعجز، وتذكر قليل دائم خير من كثير منقطع.
بخصوص الأولى، لا تضيع وقتك إذا كان لديك وقتٌ متاح.. (و يجب ان تخصصه اذا أردت السير على الطريق..). خصص وقتًا ثابتًا للتعلم في المجال، خصوصًا الأساسيات، وكن منظمًا في ذلك.
الثانية، التعلم المستمر، ابنِ لنفسك خطة مبنية على:
- فجواتك التقنية.
- أين أنت الآن.
- إلى أين تريد أن تصل.
و ابتعد عن المثالية. يكفي أن تخصص 30 دقيقة يوميًا للتعلم والعمل على تقنية جديدة، والتطبيق عليها في مشروع جانبي بسيط،، وإن استطعت ساعة أو ساعتين فذلك خير، المهم أن يكون التعلم ثابتًا.
و التعلم يمكن أن يكون، دورة قصيرة، بضع صفحات من كتاب تقني، كتابة أسطر كود أو تعلم كيفية استخدام أدوات الذكاء الاصطناعي.. وهكذاا
الثالثة، نشر ما تعلمته، كل ما لديك يستحق النشر، تجربة مهنية مررت بها، كود كتبته وتعلمت منه شيئا ما، طريقة ساعدتك في التعلم أو في تسريع عملك.. و هكذا..
و ابتعد عن فكرة "لن أنشر حتى أكون جاهزًا"، فلن تكون جاهزًا بالشكل الذي تتصوره أبدًا.. ولو إنتظر هذا لما كتبت هذه الكلمات فأنا أيضا لست مثاليا في ما كتبت، لكنني أعرف انه صواب، و قد ينفع غير و ربما ينفعه أكثر مني.
فإستعن بالله ولا تعجز، وتذكر قليل دائم خير من كثير منقطع.
❤11🔥1
لمن يستخدم Windsurf IDE الذي هو مبني على Vs Code أساسا و يواجه مشكلة في تثبيث vs code extentions حتى بعد تعديل الخيار by default الخاص بوويندسورف، إليك هذا المنشور السريع الذي سيحل مشكلتك إن شاء الله.
https://mohcinbounouara.com/fixing-vs-code-marketplace-connection-issues-in-windsurf-ide/
https://mohcinbounouara.com/fixing-vs-code-marketplace-connection-issues-in-windsurf-ide/
Mohcin Bounouara
Fixing VS Code Marketplace Connection Issues in Windsurf IDE - Mohcin Bounouara
Are you struggling to find extensions in your Windsurf IDE? I was in the same situation! After upgrading to the latest version, many users have reported that searching for extensions in the VS Code marketplace returns “Nor found”. The Issue Despite having…
❤2🔥1
السلام عليكم، أعتقد أن هذا منشور جيد للقراءة، فهي أفكار صادقة حول الذكاء الاصطناعي في تطوير البرمجيات.
https://www.linkedin.com/feed/update/urn:li:activity:7374752893666603008/
https://www.linkedin.com/feed/update/urn:li:activity:7374752893666603008/
Linkedin
#ai #software | Mohcin Bounouara
AI in software development brought us back to why the majority of us entered this field in the first place, "the love of building things without fear".
Before, we were afraid of losing more time than estimated, because we had to write every single line of…
Before, we were afraid of losing more time than estimated, because we had to write every single line of…
💯2👎1
بدأت قراءة كتاب Fundamentals of Software Architecture الإصدار الثاني.. لا أعتبر نفسي Architect بعد، لكن مؤلفيي الكتاب يوضحان أن هذا الكتاب موجّه أيضًا للمطورين الذين يتخذون قرارات معمارية من وقت لآخر، أو الذين يرغبون في الانتقال لهذا الدور في المستقبل.
هذه ستكون سلسلة من الملاحظات التي سأنشرها لمساعدتي على الاستمرار في قراءة الكتاب ولتوفير نسخة ملخصة من الكتاب للمراجعة مستقبلا، وربما يستفيد منها أشخاص آخرون أيضًا.
كيف يتم تعريف هندسة برنامج ما، التعريف يتكون من أربعة مكونات رئيسية:
- خصائص المعمارية Architecture characteristics : ما يجب أن يفعله النظام ببساطة (القدرات الأساسية).
- المكونات المنطقية Logical components : و تتمثل في سلوكيات النظام وتدفق عمله (work flow).
- نمط المعمارية architecture style : يتم اختياره بعد تحديد الخصائص والمكونات (مثل: Layered، Microservices، Event-driven…).
- القرارات المعمارية architecture decisions : القواعد والاختيارات اللازمة لبناء النظام (مثل: نوع قاعدة البيانات، مونوليث أو مايكروسيرفيسز، الأُطر المستخدمة…). وهكذا..
#softwarearchitecture #software
هذه ستكون سلسلة من الملاحظات التي سأنشرها لمساعدتي على الاستمرار في قراءة الكتاب ولتوفير نسخة ملخصة من الكتاب للمراجعة مستقبلا، وربما يستفيد منها أشخاص آخرون أيضًا.
كيف يتم تعريف هندسة برنامج ما، التعريف يتكون من أربعة مكونات رئيسية:
- خصائص المعمارية Architecture characteristics : ما يجب أن يفعله النظام ببساطة (القدرات الأساسية).
- المكونات المنطقية Logical components : و تتمثل في سلوكيات النظام وتدفق عمله (work flow).
- نمط المعمارية architecture style : يتم اختياره بعد تحديد الخصائص والمكونات (مثل: Layered، Microservices، Event-driven…).
- القرارات المعمارية architecture decisions : القواعد والاختيارات اللازمة لبناء النظام (مثل: نوع قاعدة البيانات، مونوليث أو مايكروسيرفيسز، الأُطر المستخدمة…). وهكذا..
#softwarearchitecture #software
❤6
جميل جدا، دائما ما كان عندي نفس التصور حتى قبل موجات ال ai.
القياس يجب ان يكون مبني على قدرة المطور على بناء برامج وتطبيقات بمختلف الاحجام و المجالات، و العمل في فرق و هكذا.. لا على coding puzzles.. و احب في هذا الشركات التي تاتي ب task حقيقية وتعطيها للمبرمج ليقوم بها على اساس انها ااختبار.. او pair session.. و هكذا.
و هذا لا ينفي ضرورة الالگوريتمس و ال data structures في بناء اسس صلبة و طرق تفكير جيدة.
و الله اعلى و اعلم.
القياس يجب ان يكون مبني على قدرة المطور على بناء برامج وتطبيقات بمختلف الاحجام و المجالات، و العمل في فرق و هكذا.. لا على coding puzzles.. و احب في هذا الشركات التي تاتي ب task حقيقية وتعطيها للمبرمج ليقوم بها على اساس انها ااختبار.. او pair session.. و هكذا.
و هذا لا ينفي ضرورة الالگوريتمس و ال data structures في بناء اسس صلبة و طرق تفكير جيدة.
و الله اعلى و اعلم.
❤3🔥1
عندما يقدّر الله لك أن تزور طبيبًا أو مختبر تحاليل طبية، أو مركزًا لإجراء الفحوصات بالأشعة.. آنذاك تستشعر عِظم النِّعم التي تعيش فيها.. فوالله إن الإنسان لكفور وجاحد للنعم، بقصد أو بغير قصد.
نعصى الله بأيدينا، بأرجلنا، بأعيننا، وبكل حواسنا، نعثوا فسادًا في الأرض، حتى يمتحننا الله بمشوار إلى مستشفى أو طبيب أو مختبر.. عندها تعرف أنك لا تساوي شيئًا، وأنك ضعيف، وأنك لا تُعَدَّ شيئًا في هذه الأرض.
إعمل لدنياك كأنك تعيش أبدًا، واعمل لآخرتك كأنك تموت غدًا.. وأعطِ كلَّ ذي حق حقَّه؛ فلربك عليك حق، ولنفسك عليك حق، ولأهلك عليك حق، ولزَورك عليك حق.. فَأَعطِ كل ذي حق حقه.
قسِّم يومك لما يقرّبك إلى الله أولًا، ويجعلك تعيش هنا مسلمًا قويًا قدر الإمكان، لا أن تعيش فقط لما يقويك هنا.. وتنسى ما ينجيك هناك.
تعلّم دينك قدر الإمكان، واعمل بما تعلمت "الآن"، وتعلّم ما يعينك في أمر دنياك.
هو كلام أقوله لنفسي وأدوّنه للعودة إليه لو قدّر الله ذلك مستقبلًا، ولعلّه ينفع من يقرأه.
وتذكّر هذه الآيات والأحاديث:
قال تعالى: "وَإِن تَعُدُّوا نِعْمَةَ اللَّهِ لَا تُحْصُوهَا ۗ إِنَّ اللَّهَ لَغَفُورٌ رَّحِيمٌ"
قال تعالى: "وَهُوَ الَّذِي أَحْيَاكُمْ ثُمَّ يُمِيتُكُمْ ثُمَّ يُحْيِيكُمْ ۗ إِنَّ الْإِنسَانَ لَكَفُورٌ"
قال تعالى: "{وَنُنَزِّلُ مِنَ الْقُرْآنِ مَا هُوَ شِفَاءٌ وَرَحْمَةٌ لِّلْمُؤْمِنِينَ}"
ما قاله سلمان الفارسي لأخيه أبي الدرداء عندما زاره فوجده قد انقطع للعبادة حتى أهمل حق زوجته وحق نفسه. فقال "إنَّ لِرَبِّكَ عَلَيْكَ حَقًّا، ولِنَفْسِكَ عَلَيْكَ حَقًّا، ولأَهْلِكَ عَلَيْكَ حَقًّا، فَأَعْطِ كُلَّ ذِي حَقٍّ حَقَّهُ". وقد أقره النبي صلى الله عليه وسلم على ذلك بقوله: [صدق سلمان]. وفي رواية: [إن سلمان أفقه منك]، وفي رواية: [لقد أوتي سلمان علما].
قال صل الله عليه وسلم:" لا تزول قدما عبدٍ حتى يُسألَ عن عمُرهِ فيما أفناهُ، وعن علمِه فيما فعل، وعن مالِه من أين اكتسَبه وفيما أنفقَه، وعن جسمِه فيما أبلاهُ"
نعصى الله بأيدينا، بأرجلنا، بأعيننا، وبكل حواسنا، نعثوا فسادًا في الأرض، حتى يمتحننا الله بمشوار إلى مستشفى أو طبيب أو مختبر.. عندها تعرف أنك لا تساوي شيئًا، وأنك ضعيف، وأنك لا تُعَدَّ شيئًا في هذه الأرض.
إعمل لدنياك كأنك تعيش أبدًا، واعمل لآخرتك كأنك تموت غدًا.. وأعطِ كلَّ ذي حق حقَّه؛ فلربك عليك حق، ولنفسك عليك حق، ولأهلك عليك حق، ولزَورك عليك حق.. فَأَعطِ كل ذي حق حقه.
قسِّم يومك لما يقرّبك إلى الله أولًا، ويجعلك تعيش هنا مسلمًا قويًا قدر الإمكان، لا أن تعيش فقط لما يقويك هنا.. وتنسى ما ينجيك هناك.
تعلّم دينك قدر الإمكان، واعمل بما تعلمت "الآن"، وتعلّم ما يعينك في أمر دنياك.
هو كلام أقوله لنفسي وأدوّنه للعودة إليه لو قدّر الله ذلك مستقبلًا، ولعلّه ينفع من يقرأه.
وتذكّر هذه الآيات والأحاديث:
قال تعالى: "وَإِن تَعُدُّوا نِعْمَةَ اللَّهِ لَا تُحْصُوهَا ۗ إِنَّ اللَّهَ لَغَفُورٌ رَّحِيمٌ"
قال تعالى: "وَهُوَ الَّذِي أَحْيَاكُمْ ثُمَّ يُمِيتُكُمْ ثُمَّ يُحْيِيكُمْ ۗ إِنَّ الْإِنسَانَ لَكَفُورٌ"
قال تعالى: "{وَنُنَزِّلُ مِنَ الْقُرْآنِ مَا هُوَ شِفَاءٌ وَرَحْمَةٌ لِّلْمُؤْمِنِينَ}"
ما قاله سلمان الفارسي لأخيه أبي الدرداء عندما زاره فوجده قد انقطع للعبادة حتى أهمل حق زوجته وحق نفسه. فقال "إنَّ لِرَبِّكَ عَلَيْكَ حَقًّا، ولِنَفْسِكَ عَلَيْكَ حَقًّا، ولأَهْلِكَ عَلَيْكَ حَقًّا، فَأَعْطِ كُلَّ ذِي حَقٍّ حَقَّهُ". وقد أقره النبي صلى الله عليه وسلم على ذلك بقوله: [صدق سلمان]. وفي رواية: [إن سلمان أفقه منك]، وفي رواية: [لقد أوتي سلمان علما].
قال صل الله عليه وسلم:" لا تزول قدما عبدٍ حتى يُسألَ عن عمُرهِ فيما أفناهُ، وعن علمِه فيما فعل، وعن مالِه من أين اكتسَبه وفيما أنفقَه، وعن جسمِه فيما أبلاهُ"
❤7🔥1
السلام عليكم و رحمة الله.
فيديو تعريفي بقناة اليوتيوب الجديدة-القديمة.
لعله يكون فاتحة خير لي و لكل من سيتفيد شيئا منه.
https://youtube.com/shorts/fmxAUTkl9xU?feature=share
فيديو تعريفي بقناة اليوتيوب الجديدة-القديمة.
لعله يكون فاتحة خير لي و لكل من سيتفيد شيئا منه.
https://youtube.com/shorts/fmxAUTkl9xU?feature=share
YouTube
فيديو تعريفي بالقناة - متأخر لكن لعله يكون فاتحة خير.
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
❤5
مرة أخرى مع كتاب Fundamentals of Software Architecture حسب المؤلفين، و بعد بحث طويل وصلوا إلى ثلاث قوانين أساسية في هندسة البرمجيات:
1- "Everything in software architecture is a trade-off"
كل قرار معماري له مميزات وله عيوب، لا يوجد حل مثالي يحل كل المشاكل بدون آثار جانبية.
2- "Why is more important than how"
الأهم من كيفية فعل الأشياء هو لماذا سنقوم بها بهذه الطريقة و ما خلفيات اتخاذنا للقرارت المعمارية. السبب والسياق والتوازنات أهم من التنفيذ نفسه.
4- "Most architecture decisions aren’t binary but rather exist on a spectrum between extremes"
معظم القرارات المعمارية ليست أبيض أو أسود، (ليس الحلول المعمارية مبنية فقط Monolith أو Microservices، بل هناك حلول وسطية، و أخرى ابسط..).
#softwarearchitecture #software
1- "Everything in software architecture is a trade-off"
كل قرار معماري له مميزات وله عيوب، لا يوجد حل مثالي يحل كل المشاكل بدون آثار جانبية.
2- "Why is more important than how"
الأهم من كيفية فعل الأشياء هو لماذا سنقوم بها بهذه الطريقة و ما خلفيات اتخاذنا للقرارت المعمارية. السبب والسياق والتوازنات أهم من التنفيذ نفسه.
4- "Most architecture decisions aren’t binary but rather exist on a spectrum between extremes"
معظم القرارات المعمارية ليست أبيض أو أسود، (ليس الحلول المعمارية مبنية فقط Monolith أو Microservices، بل هناك حلول وسطية، و أخرى ابسط..).
#softwarearchitecture #software
❤3
التوقعات المطلوبة من ال Architect.
دائما مع نقاطي من القراءة المستمرة لكتاب Fundamentals of Software Architecture. النقاط الرئيسية مأخوذة من الكتاب بالظبط، لكن الشرح بتفسيري الشخصي حسب فهمي، وقد أكون مخطئًا.
- Make architecture decisions
المعماري هو من يوجّه فريق التطوير لاختيار ال technology stack المناسب بما يتماشى مع الأهداف المعمارية و ال resources الموجودة، أحيانًا يتخذ المعماري القرار بنفسه، لكن غالبًا دوره أن يسهّل ويضمن أن الفريق يتخذ القرار الصحيح.
- Continually analyze the architecture
ال architecture ليست ثابتة.. يجب على المعماري متابعة كيف يتطور النظام أثناء التطوير، تقييم التغييرات التي يضيفها الفريق، وتعديل التصميم إذا تغيرت المتطلبات.
- Keep current with latest trends
المعماري يجب أن يبقى على اطلاع بأحدث التقنيات مثل ال cloud, AI, ممارسات ال deployment... لا يشترط أن يكون خبيرًا بسفة معمقة، لكن على الأقل يكون لديه فهم عملي للأدوات المعروفة.
- Ensure compliance with decisions
ليس كافيًا أن تضع architecture يجب أيضًا التأكد أن الفريق يطبقها بصفة صريحة.. قد يتطلب ذلك مراجعات يومية أو أسبوعية مع فريق التطوير.
- Understand diverse technologies
المعماري ليس مطلوبًا أن يتقن كل framework، platform أو language. لكن يجب أن يكون لديه معرفة عامة بتقنيات متعددة ليتمكن من عمل trade-offs صحيحة وتوجيه النقاشات.
- Know the business domain
فهم المجال التجاري يجعل التصميم أكثر نضجا، مثلا إذا كنت تبني habit-tracking app، يجب أن تعرف عن بناء العادات والجوانب النفسية وراء العادات الجيدة والسيئة، اكتسابا و تخلصا منها، مما يساعدك على اتخاذ قرارات تصميم أفضل.
- Lead a team and possess interpersonal skills
المعماري ليس مجرد خبير تقني فقط،، بل يجب أن يمتلك مهارات قيادة وتعاون، يسهل عمل الفريق، ويقوده عند الحاجة.
- Understand and navigate organizational politics
القرارات التقنية لا تعيش بمعزل عند سياسات الشركة.. حتى القرارات البرمجية الجيدة لها تكلفة تنظيمية (ميزانية، عملاء، resources).. المعماري يجب أن يوازن هذه العوامل بحذر.
اتمنى ان هنالك افادة من نوعية المنشورات هاته..
#softwarearchitecture #software
دائما مع نقاطي من القراءة المستمرة لكتاب Fundamentals of Software Architecture. النقاط الرئيسية مأخوذة من الكتاب بالظبط، لكن الشرح بتفسيري الشخصي حسب فهمي، وقد أكون مخطئًا.
- Make architecture decisions
المعماري هو من يوجّه فريق التطوير لاختيار ال technology stack المناسب بما يتماشى مع الأهداف المعمارية و ال resources الموجودة، أحيانًا يتخذ المعماري القرار بنفسه، لكن غالبًا دوره أن يسهّل ويضمن أن الفريق يتخذ القرار الصحيح.
- Continually analyze the architecture
ال architecture ليست ثابتة.. يجب على المعماري متابعة كيف يتطور النظام أثناء التطوير، تقييم التغييرات التي يضيفها الفريق، وتعديل التصميم إذا تغيرت المتطلبات.
- Keep current with latest trends
المعماري يجب أن يبقى على اطلاع بأحدث التقنيات مثل ال cloud, AI, ممارسات ال deployment... لا يشترط أن يكون خبيرًا بسفة معمقة، لكن على الأقل يكون لديه فهم عملي للأدوات المعروفة.
- Ensure compliance with decisions
ليس كافيًا أن تضع architecture يجب أيضًا التأكد أن الفريق يطبقها بصفة صريحة.. قد يتطلب ذلك مراجعات يومية أو أسبوعية مع فريق التطوير.
- Understand diverse technologies
المعماري ليس مطلوبًا أن يتقن كل framework، platform أو language. لكن يجب أن يكون لديه معرفة عامة بتقنيات متعددة ليتمكن من عمل trade-offs صحيحة وتوجيه النقاشات.
- Know the business domain
فهم المجال التجاري يجعل التصميم أكثر نضجا، مثلا إذا كنت تبني habit-tracking app، يجب أن تعرف عن بناء العادات والجوانب النفسية وراء العادات الجيدة والسيئة، اكتسابا و تخلصا منها، مما يساعدك على اتخاذ قرارات تصميم أفضل.
- Lead a team and possess interpersonal skills
المعماري ليس مجرد خبير تقني فقط،، بل يجب أن يمتلك مهارات قيادة وتعاون، يسهل عمل الفريق، ويقوده عند الحاجة.
- Understand and navigate organizational politics
القرارات التقنية لا تعيش بمعزل عند سياسات الشركة.. حتى القرارات البرمجية الجيدة لها تكلفة تنظيمية (ميزانية، عملاء، resources).. المعماري يجب أن يوازن هذه العوامل بحذر.
اتمنى ان هنالك افادة من نوعية المنشورات هاته..
#softwarearchitecture #software
❤2
Forwarded from محمود نصر الدين 🇵🇸
من الأشياء المعجب بها في Perplexity هي البحث في المصادر بشكل جيد, وأحيانا أتصفح بعض المصادر التى كانت ستأخذ وقت طويل في إيجادها أو يجمع لك حل لم يخطر على بالك.
اساسيات يتجاهلها المبرمجون في بداية مشوارهم (بقصد أو بدون قصد) تعود باشياء سلبيا لاحقا..
https://youtu.be/1LXDxs-g8t4?si=dpSzUhH3hVtn3gfn
https://youtu.be/1LXDxs-g8t4?si=dpSzUhH3hVtn3gfn
❤2
تعليمات تثبيت ال php على جهازك من موقع php الرسمي معقدة قليلا..
استخدم http://php.new اذا كنت تريد البدء في تطوير البرمجيات بال php.
موقع بسيط تعليمات مباشرة لتثبيت، على كل من ماك، ويندوز و لينكس.
#php
استخدم http://php.new اذا كنت تريد البدء في تطوير البرمجيات بال php.
موقع بسيط تعليمات مباشرة لتثبيت، على كل من ماك، ويندوز و لينكس.
#php
php.new
PHP Installer in seconds
Bootstrap your PHP stack with a single line of code.
تعرّف على __invoke بسرعة من خلال مثال عملي في هذا الفيديو المختصر.
https://youtu.be/8MaG_d1CQCA
#laravel #php
https://youtu.be/8MaG_d1CQCA
#laravel #php
YouTube
__invoke function practical example in Laravel in Arabic
Get to know the invoke() function quickly, with a practical example in this short video.
#php #programming #laravel #websitedevelopment
#php #programming #laravel #websitedevelopment
❤2
السلام عليكم و رحمة الله،
دعواتكم لأخيكم، في وعكة صحية، و الحمد لله.
بارك الله لكم و فيكم.
دعواتكم لأخيكم، في وعكة صحية، و الحمد لله.
بارك الله لكم و فيكم.
❤6
في كتاب Fundamentals of Software Architecture الكاتبان شددا على نقطة كنت دائما اشير اليها قبل ان تكون لي معرفة بان هذا اصلا شيء معروف.
ال 20mins rule.
كنت دائما اقول 15/30 دقيقة يوميا لتعلم شيء جديد في المجال كفيلة بأن تنقل مستواك الى مستوى عال في مدة قصيرة...
عموما الكاتبان اشارا الى ان افضل وقت هو قبل بداية اوقات العمل، و هذا شيء ارجحه دينا و دنيا.. فالبكور مباركة كما جاء في حديث سيد الخلق صل الله عليه و سلم.
#contuniuelearning #Coding #softwaredevelopment
ال 20mins rule.
كنت دائما اقول 15/30 دقيقة يوميا لتعلم شيء جديد في المجال كفيلة بأن تنقل مستواك الى مستوى عال في مدة قصيرة...
عموما الكاتبان اشارا الى ان افضل وقت هو قبل بداية اوقات العمل، و هذا شيء ارجحه دينا و دنيا.. فالبكور مباركة كما جاء في حديث سيد الخلق صل الله عليه و سلم.
#contuniuelearning #Coding #softwaredevelopment
❤9