Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
387 - Telegram Web
Telegram Web
هندسة البرمجيات مجال مثير لكنه مرهق فاستثمر في شيئين مهمين:

- صحتك الجسدية و النفسية.
- التعلم القليل و المستمر.

و قبل كل هذا استعن بالله و لا تعجز!
فرص يومية للتطور في مجال البرمجيات؛

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

و تذكر لا تقارن نفسك بالاخرين.
متابعةً لما قلته منذ وقت طويل، فإن DSA/algorithms implementation هي طريقة لتحسين نفسك كمبرمج، وفي أغلب بيئات العمل لن تحتاج إليها، لأن الأطر والمكتبات تحل/حلت بالفعل هذه الأنواع من المشاكل، حتى في Backend... والله أعلم.
من بين ما يعجبني أكثر في مجال البرمجيات، هو حل المشاكل.

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

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

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

اللهم علّمنا وانفعنا وغيّرنا بما علمتنا.
أحيانا ننسى ان التوفيق من الله و ننسى أن نسأله ذلك، نكون في شيء سواء في عمل دنيا (و نستعمل كل الطرق التي نتق فيها..) او عمل آخرة، و نعتقد أننا قادرون على فعل الشيء.. فيكلنا الله الى انفسنا.. فنغرق، و تُفرج من بعد بمعية الله و قليل سعي منا، الذي لولا توفيقه لنا ما سعينا اصلا.

قال ابنُ القيّم رحمه الله: "أجمع العارفون بالله أنَّ التوفيق هو أن لا يَكِلَكَ الله إلى نفسك، وأن الخذلان هو أن يُخْلِيَ بينك وبين نفسك"

وبهذا جاء التوجيه النبوي الكريم، فَعَنْ أبي بكرة رضي الله عنه قال: قال رسول الله صلى الله عليه وسلم: ((دَعَوَاتُ الْمَكْرُوبِ اللَّهُمَّ رَحْمَتَكَ أَرْجُو فَلا تَكِلْنِي إِلَى نَفْسِي طَرْفَةَ عَيْنٍ وَأَصْلِحْ لِي شَأْنِي كُلَّهُ لَا إِلَهَ إِلَّا أَنْتَ)).

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

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

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

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


جاء رجلٌ إلى النَّبيِّ ﷺ فقال: يا رسولَ اللهِ أجعَلُ شطرَ صلاتي دعاءً لك؟ قال: نعم، قال: فأجعَلُ ثلثَيْ صلاتي دعاءً لك؟ قال: نعم، قال: فأجعَلُ صلاتي كلَّها دعاءً لك؟ قال: إذًا يكفيك اللهُ همَّ الدُّنيا والآخرةِ.

و الأنسان يحاول ان يصيب من استطاع منها.

بارك الله فيكم و وفع بكم، و لا تنسوا أخوكم من دعائكم 😊
Advice, take it or leave it:
Drop any negative news about the impact of ai on your career as a software developer or engineer.

Yes, ai tools are powerful. Yes, they are pushing the boundaries of the internet and how we work. But:

- Should we stop learning/continue learning computer science?
- Should we stop studying/continue learning software engineering?
- Should we stop learning/continue learning programming?
- Should we stop solving problems for ourselves and others using technology?
- Will the world no longer need developers or engineers,, now or in the future?

The answer to all of these is a big "NO".

Instead, acknowledge that ai is here.. and it's incredibly useful.
Use it to your advantage; improve your skills, accelerate your learning, boost your productivity, and become better at your craft.

If you keep following negative news about ai and its effects on developers, you'll only burn out and feel drained.

Choose to use it for growth, to learn. Use ai as a tool not as a threat.

Greetings.
السلام عليكم كنوع من اخد feedback بصفة دورية بخصوص ما أنشره هنا، على قبيلة و على لينكد ان. (يوتيوب لم اركز عليه بعد).

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

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

تقرب بمال الله الى الله.

أنَّ رَسولَ اللَّهِ ﷺ قالَ: المُسْلِمُ أخُو المُسْلِمِ لا يَظْلِمُهُ ولا يُسْلِمُهُ، ومَن كانَ في حاجَةِ أخِيهِ كانَ اللَّهُ في حاجَتِهِ، ومَن فَرَّجَ عن مُسْلِمٍ كُرْبَةً، فَرَّجَ اللَّهُ عنْه كُرْبَةً مِن كُرُباتِ يَومِ القِيامَةِ، ومَن سَتَرَ مُسْلِمًا سَتَرَهُ اللَّهُ يَومَ القِيامَةِ.
الراوي: [صحيح] • عبد الله بن عمر، البخاري (صحيح البخاري) • 2442 • أخرجه مسلم (٢٥٨٠) باختلاف يسير
السلام عليكم, الحمد لله أشارك أول حزمة Laravel قمت بنشرها، وذلك لسببين رئيسيين:

- أولًا، للمساهمة في دعم المجتمع العربي ببرمجيات مفتوحة المصدر.
- ثانيًا، للتعمق أكثر في تقنيات Laravel.

هذه الحزمة عبارة عن أداة لتحسين السيو (SEO) باللغة العربية لمواقع وتطبيقات Laravel، وتشمل إنشاء الوسوم التعريفية (Meta tags) وتوليد Slug باللغة العربية بشكل تلقائي.

الحزمة بسيطة وفعّالة، وتهدف إلى جعل المواقع العربية المبنية بـ Laravel أكثر توافقًا مع محركات البحث.

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

رابط Packagist: https://packagist.org/packages/mohcin/laravel-arabic-seo
رابط GitHub: https://github.com/MohcinBN/laravel-arabic-seo

سأقوم قريبًا بربط التحديثات التلقائية بين GitHub وPackagist. وسأستمر في مشاركة آخر التحديثات حول هذه الحزمة بشكل دوري.

دعواتكم.

#Laravel #openSource #PHP
التفكير الزائد في مستقبل سوفتوير معين قد يقود الى ال over engineering التي تضر أكث مما تنفع.

البساطة و الوضوح حسب المتطلبات الحالية للمشروع مع تفكير في ال architecture على المدى المتوسط هو المطلوب.

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

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

#Softwareengineering
توفي صديق عزيز على قلبي هذا الصباح اثر حادثة سير.

و أحسبه كان يتقرب الى الله عز و جل بكثير من الاعمال.

و لا اقول الا ما يرضي ربنا، انا لله و انا اليه راجعون، و اللهم اوا نسالك الصبر و نسالك له المغفرة و الثبات عند السؤال و الجنة.

ارجوكم له الدعاء.

و انا لله و انا اليه راجعون.
تجاوز أساسيات هندسة البرمجيات / علوم الحاسوب / البرمجة في وقت معين قد يكون ضرورة، وفي وقت آخر يصير فجوة تقنية في معارفك.. كيف؟

أنت خريج جديد أو شخص تعلم البرمجة ذاتيًا، هنا يجب أن تتجاوز كثيرًا من الأساسيات وتبدأ في بناء حلول باستخدام المكتبات والفريموركس والـ cms الموجودة بالفعل.. لماذا؟ لأنك بحاجة لأن تكسب قوت يومك، وتبحث عن عمل، وتبدأ في أخذ زمام المبادرة.

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

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

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

اللهم وفقنا لهذا، وبارك لنا فيه.
عيدكم مبارك سعيد 🤍
استخدام ال OR في SQL قد يبدو بسيطًا من حيث الكتابة، لكنه قد يؤدي إلى نتائج غير متوقعة إذا لم يُستخدم بشكل دقيق.

مثال: لنفترض أنك تريد جلب المستخدمين الذين لديهم الحقل premium مفعّل (true) أو أن الحقل غير موجود (أي NULL)، ثم ترتيب النتائج حسب تاريخ الإنشاء من الأحدث إلى الأقدم.

قد تكتب ال query بهذا الشكل:

SELECT * FROM users
WHERE premium = 1 OR premium IS NULL
ORDER BY created_at DESC;

الخطورة هنا:

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

مثلًا، ال query التالية خاطئة:

SELECT * FROM users
WHERE premium = 1 OR premium IS NULL AND active = 1;

هنا قاعدة الأولويات في SQL ستنفذ premium IS NULL AND active = 1 أولًا، ثم تطبق OR premium = 1، مما قد يخلّ بالنتائج المتوقعة.

ال query الصحيح مع OR:

SELECT * FROM users
WHERE (premium = 1 OR premium IS NULL) AND active = 1
ORDER BY created_at DESC;

بهذا الشكل نضمن أن الشرطين المرتبطين بـ premium يتم تقييمهما معًا، ثم يُطبّق شرط active بعد ذلك.

#SQL #SoftwareDevelopment
قال الإمام مالك رحمه الله: "ينتقم الله من الظالم بظالم، ثم ينتقم من كليهما".
2025/07/07 04:09:09
Back to Top
HTML Embed Code: