Mohcin Bounouara's Space
533 subscribers
104 photos
22 videos
8 files
184 links
{فَأَمَّا الزَّبَدُ فَيَذْهَبُ جُفَاءً ۖ وَأَمَّا مَا يَنفَعُ النَّاسَ فَيَمْكُثُ فِي الْأَرْضِ} [الرعد: 17]

خواطر في الدين و الدنيا و هندسة البرمجيات في محاولة لإصلاح نفسي ولعلني اجعل لنفسي أثرا في إصلاح الاخرين.. على قلتهم، لعلنا نلقى الله بهذا.
Download Telegram
الآن مع ال AI، أصبح من الضروري ضبط المفاهيم الأساسية لهندسة البرمجيات..
فال ai يمكنه بسهولة أن يخرج عن سياقات ال clean code، و separation of concerns، و SOLID Principles… بل وقد يكتب tests تفترض أن الكود صحيح أصلا..

لهذا، ضبط هذه المفاهيم أصبح ضرورة حقيقية، كيف تضبطها؟ من وجهة نظري الشخصية؛

- القراءة المستمرة والمتعمقة في أساسيات هندسة البرمجيات،
- كتابة الكود بدون ai من وقت لآخر،
- فهم السياق وتدفق التطبيق او ما يسمى ال flow بشكل كبير..

و الله أعلى و أعلم.

#ai #softwareengineering #software
❤2👍2
كثير من المبرمجين ينصحون بإستخدام ال TDD خصوصا في عصر ال AI.

شخصيا أعتقد أننا لا نتمتع دائما براحة استخدام منهجية التطوير الموجه بالاختبار (TDD)، ويرجع ذلك أساسا إلى الوقت الذي تتطلبه، فكتابة ال Tests اولا يحتاج وقتا وفهما عميقا للمشروع، او لل MVPs على الاقل، والوقت يؤثر بشكل مباشر على العمل... و مع الذكاء الاصطناعي، يزداد الضغط لإنجاز المشاريع بشكل أسرع، نظرًا لمتطلبات السوق..

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

لذلك أعتقد أن الأمر يعتمد حقًا على سياق العمل، لتحديد ما اذا كان استخدام TDD جيد ام لا، أما عموما فهو منهج رائع يعطيك فهما و تحكما اعمق.

#TDD #testing #softwareengineering
👍1
كلمة "خبير" صعبة قليلا.. بالنسبة لي على الأقل.

المبرمج بجب أن يعرف موقعه في مجال البرمجة وهندسة البرمجيات، وأين يتميز، وما يحتاج تعلمه، وأين يتوسط مستواه.. لكن أن يصف نفسه بـ"خبير" فالأمر ليس سهلًا.

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

كما أنني شخصيا عملت مع مهندسين على مستوى عالٍ من الكفاءة، ومع ذلك لا يصفون أنفسهم بالخبراء، وهذا أثّر في طريقة تفكيري بهذه الطريقة، ربما..

المبرمج يجب أن يركّز على التطور المستمر، وأن يكون صادقًا بشأن مستواه مع نفسه أولا قبل الاخرين، وأن يترك عمله يعكس تقدّمه مع مرور الوقت..

ربما "الخبير" ليس لقبًا تطلقه على نفسك، بل صفة يراها الآخرون فيك مع الزمن والتجربة...

#softwareengineering #software #coding #programming #career
❤3
أعتذر اذا كنت اسجل كثيرا من المقاطع، و اعرف ان كثيرا من الأصدقاء هنا يفضلون الصوتيتات او المقالات المكتوبة.

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

فإعذرونا مرة أخرى.
❤2
Audio
الفرق بين ال parametre و ال argument في البرمجة.
تسلّط هذه الفكرة الضوء على نقطة مهمة كثيرًا ما يتم تجاهلها عند الحديث عن الذكاء الاصطناعي في هندسة البرمجيات، وهي الفرق بين المعرفة والحكمة.. في البداية، كنتُ أفهم هذا الأمر بشكل غير دقيق أيضا.. فالذكاء الاصطناعي بارع في شرح المفاهيم وتسريع عملية كتابة ال code، لكن اتخاذ القرار يظل مسؤولية بشرية.. يتحمّل المهندسون مسؤولية نتائج الأنظمة التي يطوّرونها بمجرد خروج ال code من ال local dev الخاص بك، سواء كانت ناجحة أو غير ذلك..

لكن الفهم العميق لسير المشروع، والسياق، و ال business، ونقاط الضعف المعرفية، ومجالات الخبرة، يُعدّ أمرًا أساسيًا عند اتخاذ القرارات..

يمكن للذكاء الاصطناعي أن يساعد من خلال عرض الخيارات وتوضيح (trade-offs) جزئيا، لكنه لا يستطيع أن يحلّ محل الحكم البشري والمسؤولية..

#software #softwaredevelopment #AI #coding #softwareengineering
❤1
عثرتُ على هذا ال repo الجيد،، يركّز على كيفية تحقيق أفضل النتائج من نماذج ال LLMs، مستخدمًا Claude كمثالٍ رئيسي.. أرى أنه مصدرٌ قيّمٌ للغاية، خاصةً لمستخدمي Claude وClaude Code.

أخطط لتجربة بعض أفكاره في Windsurf، وربما Codex أيضًا، لأرى إن كان ذلك سيُحسّن سير عملي في مجال بإستخدام الذكاء الاصطناعي..


https://github.com/forrestchang/andrej-karpathy-skills

#AI #SoftwareEngineering
أعتقد أن مشكلة قلة التركيز أصبحت شبه عامة في هذا العصر، بسبب سرعته الكبيرة، وأيضًا بسبب التشتيت المستمر عبر مواقع التواصل وغيرها، - وربما ممنهج -.

ولكي تكتشف مستوى تركيزك الحقيقي، جرّب هذا الأمر البسيط؛ اختر موضوعًا معينًا، سواء course، فيديو تعليمي أو حتى بودكاست، وقل إنك ستتعلم منه مع تدوين بعض النقاط بالطريقة التقليدية (ورقة وقلم)... في نفس الوقت، شغّل مؤقتًا (Timer).

هنا ستتفاجأ بالنتيجة..

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

لكن في المقابل، رغم صعوبته، يمكن معالجته، كيف؟

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

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

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

لكن مع القليل الدائم، ستستعيد هذه المهارة تدريجيًا، وهذا في هندسة البرمجيات، و في غيرها من المجالات.

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

#learning #software #habits
❤2👌1
** إعادة نشر، و أسال كل من جرب الاضافة، أو سيجربها،، سواءٌ على فايرفوكس أو كروم، يضع review حقيقي لتجربته، كمساعدة لدفعي لتطوير هاتين الاضافتين أكثر و أكثر.

---------------------

كنتُ أُشتت انتباهي كثيرًا على يوتيوب.. عندما أفتح فيديو لأتعلم شيئًا أو لأركز على مهمة ما... أجد نفسي أتصفح التعليقات أو أنجذب إلى الدردشة المباشرة في ال streamings.. أعتقد أنني لستُ وحدي، فهذا يحدث للكثيرين منا (على ما أظن).

لذا، قبل حوالي عام، قمت بعمل حل بسيط جدًا، لنفسي فقط/أولا.. هكذا بدأت فكرة youtube focus mode.

في البداية، كان الهدف منها حل مشكلتي فقط. لكن لاحقًا لاحظتُ أن الإضافة وصلت عشوائيًا إلى حوالي 20 مستخدمًا.. عندها فكرتُ ربما يكون هذا مفيدًا للآخرين أيضًا، ويستحق المزيد من الاهتمام. الفكرة بسيطة: "إخفاء قسم التعليقات/الدردشة المباشرة بنقرة واحدة"، بحيث يمكنك:

- حظر قسم التعليقات والدردشة المباشرة في البث المباشر

- تشغيل/إيقاف (toggles) كل شيء فورًا

- حفظ إعداداتك على مستوى الجلسات

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

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

أتمنى أن أستمر في منح هذا المنتج الصغير المزيد من الاهتمام.. و دعواتكم لنا.

روابط الإضافة.

https://chromewebstore.google.com/detail/youtube-comments-disabler/cmpdkmpjnbgcpjpihdecfadhhlikoagf?hl=en

https://addons.mozilla.org/en-US/firefox/addon/youtube-comments-disabler/
❤2
عالم تطوير البرمجيات يسر بسرعة غير مسبوقة، وبصراحة، قد يكون هذا هو الوقت الأمثل لتعلم الأساسيات.

ليس بالضرورة أن يكون كل شيء تتعلمه، مفهومًا معقدًا أو نظامًا ضخمًا تبنيه.. أحيانًا قد تُثري معرفة builtin function في اللغة التي تشتغل بها، أو حيلة صغيرة في أدواتنا البرمجية، أو حتى شيء من stack آخر، آفاق تفكيرنا.

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

تعلم الأساسيات رغم التسارع الحاصل، و ستشكر نفسك لاحقا بإذن الله.
👍2❤1
السلام عليكم و رحمة الله،

لمستخدمي ووردبريس، و خصوصا Woocommerce قمت ببناء اضافة، plugin تحل مشكلة ال SEO الخاصة بال taxonomy الخاصة بال woocommerce خصوصا ال tags و ال categories ، هي مشكلة واجهها صديق لي،. و قمت بحلها له، و بعدها قررت أن أجعلها اضافة متاحة.

ال review process كان صارما قليلا، لكننا بفضل الله عز و جل تعاملنا معه، و الاضافة الان متاحة.

سأحاول ان اضيف اليها ميزات من وقت لاخر لو ساعدنا الوقت..

رابطها: https://wordpress.org/plugins/mohcin-taxonomy-seo-for-woocommerce/

#PHP #WebDevelopment
❤2
الحمد لله، أنهيت من قراءة كتاب Fundamentals of Software Architecture.

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

- خصائص وأنماط ال Software Architecture
- القوانين الأساسية في بناء الأنظمة
- دور ال Architect والتحديات المرتبطة به
- مفهوم Risk Storming واتخاذ القرارات،
....

كمطور، أرى أن فهم أساسيات ال Architecture بشكل ولو بسيط يساعدنا على أن نبني أنظمة أفضل ونفكر بطريقة أعمق.

هذا المقال هو جزء من رحلتي في التعلم والتطور، ومحاولة لفهم الصورة الكبيرة.

يمكنكم قراءة المقال كامل هنا: https://mohcinbounouara.com/my-notes-on-fundamentals-of-software-architecture-book/


#هندسة_البرمجيات #برمجة #تطوير_الويب #تعلم #تقنية #مطورين
❤1
Audio
لا تقارن موسم زرعك بموسم حصاد غيرك.m4a
بعد جلسة صادقة مع نفسي لتقييم استخدامي للهاتف، خرجت بنتائج صادمة ومؤلمة... كنت أظن أنني قد قنّنت استخدامي للهاتف الذكي نوعا ما، لكن الواقع كان مختلفا تماما… بل مؤلما بحق.

معدل الاستخدام اليومي تجاوز ست ساعات،
أما مجموع الساعات خلال العشرة أيام الأخيرة فقد تجاوز السبعين ساعة (لكي اكتبها بالأرقام70 ساعة!!!).
تخيّل..

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

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

أتحدث عن نفسي تحديدا، حتى لا أتوسع في التعميم، رغم أنني أعلم أن هذه المشكلة أصبحت شائعة بين كثير من الناس… فالله المستعان.

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

أما الباقي… فهو ضياع في التمرير اللانهائي (scrolling)، وغالبُه في المقاطع القصيرة (Reels/Shorts).
نعم، الأمر مبك… مرة أخرى،، لكن البكاء والشكوى لا يكفيان،، بعد التشخيص، لا بد من عمل حقيقي للتغيير.

ومن التجارب التي لمست أثرها الإيجابي سابقا:

- حاول أن تُبعد الهاتف عنك قدر الإمكان.
- لا تجعله وسيلتك لكل شيء.
- قم بإخفاء أو تعطيل المقاطع القصيرة (Reels / Shorts) باستخدام تطبيقات مساعدة، أو احذف التطبيقات التي تستنزف وقتك، واجعل استخدامها مقتصرًا على الحاسوب.
- لا تجعل الهاتف آخر ما تراه قبل النوم.
- جرّب الخروج لبعض مشاويرك دون هاتف، أو على الأقل أوقف الاتصال بالإنترنت، واجعل الهاتف لضرورته الأساسية؛ الاتصال فقط.
- قنّن استخدام وسائل التواصل، سواء للترفيه أو حتى للتعلم.
- املأ وقتك بما ينفع، علم، قراءة، مهارات..

وتذكّر، أنا وأنت؛ استنزاف أعمارنا أمام الشاشات لن ينفعنا لا في دنيانا ولا في آخرتنا،، هو مجرد فراغ مُزين، يسرق الوقت ويُضعف الهمة..

وهنا تذكرت حديث و قولا، عزيزين على قلبي:

- عَنْ أَبِي بَرْزَةَ الأَسْلَمِيِّ، قَالَ: قَالَ رَسُولُ اللَّهِ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ: لَا تَزُولُ قَدَمَا عَبْدٍ يَوْمَ القِيَامَةِ حَتَّى يُسْأَلَ عَنْ عُمُرِهِ فِيمَا أَفْنَاهُ، وَعَنْ عِلْمِهِ فِيمَ فَعَلَ، وَعَنْ مَالِهِ مِنْ أَيْنَ اكْتَسَبَهُ وَفِيمَ أَنْفَقَهُ، وَعَنْ جِسْمِهِ فِيمَ أَبْلَاهُ رواه الترمذي (2417)، وقال: " هَذَا حَدِيثٌ حَسَنٌ صَحِيحٌ".
- عن عمرَ رضيَ اللهُ عنهُ قال إنِّي لأكرَهُ أنْ أرَى أحدَكم فارغًا سبَهلَلًا لا في عملِ دُنيا ولا في عملِ آخرةٍ.

دعواتكم لنا والله المستعان.
❤11