عبدالوهاب العليوي | Abdulwahab Al-Alawi
267 subscribers
58 photos
3 files
12 links
هنا نحكي عن البرمجة، التقنية، الأدوات، وأشياء تهم كل مبرمج بطريقة بسيطة وممتعة.
Download Telegram
اقتران else بالأقرب
else pairs with nearest if
int x = 0, y = 10;
if (y > 0)
if (x == 1) System.out.print("A");
else System.out.print("B");
كيف تطبع طول المصفوفة؟
How do you print the array length?
int[] a = {1, 2, 3, 4};
System.out.println( /* ? */ );
التعامل مع الاستثناءات في finally
Try-catch-finally order
try {
  int x = 1 / 0;
  System.out.print("A");
} catch (ArithmeticException e) {
  System.out.print("B");
} finally {
  System.out.print("C");
}
إذا كنت تظن أنك بمجرد جعل خصائص الكلاس private وعملت لها Setter و Getter أنك طبّقت مفهوم التغليف (Encapsulation)، فأنت للأسف فاهم التغليف بشكل سطحي… مثل ما كنت أنا فاهمه سابقًا.
لكن تعال أقولك التغليف على أصوله (التغليف الجيد):
التغليف (Encapsulation) الجيد هو أن تجعل الكائن يفرض السيادة الكاملة على الـ State الخاصة به.
أقصد بحالة الكائن: تغيّر قيمة متغير داخل الكائن.
أي أنه لا يمكن تغيير الحالة إلا عبر سلوك محدد.
وأيضًا يجب أن يكون منطق التعامل مع حالة (State) الكائن داخل الكائن نفسه، وليس في كود خارجي.
وكذلك لا تجعل الـ Getter يعيد كائنًا قابلًا للتعديل.
وأيضًا حاول تقلل من استخدام الـ Getter، لأن الإكثار منها قد يضعف التغليف في بعض الحالات، بل أحيانًا تكون كثرة الـ Getters/Setters مؤشر إن الكلاس صار مجرد Data Container والمنطق انتقل خارج الكائن، وهذا عكس مفهوم التغليف الحقيقي.

ختامًا: التغليف الحقيقي مو مجرد حماية بيانات… التغليف الحقيقي هو حماية المنطق والسلوك أيضًا

وسلامتكم 😊
1🔥1
عيدكم مبارك وكل عام وأنتم بخير.

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

- رسائل وكلمات | 💬
Channel name was changed to «سوالف مبرمجين»
قبل وبعد تعلم البرمجة.
👍2
مايكروسوفت حالياً عم تشتغل على نقل TypeScript compiler أو tsc من JavaScript لـ Go.

الفكرة إنو مشاريع TypeScript الكبيرة دائماً بتعاني من شغلات متل:

بطء بالـ compilation
بطء بالـ type-checking
واستهلاك عالي للـ memory بسبب الاعتماد على V8

الحل الجديد هو native compiler مكتوب بـ Go، والنتائج الأولية قوية جداً.

على مشروع ضخم متل VS Code، وقت الـ build نزل تقريباً من 77 ثانية لـ 7.5 ثانية، يعني حوالي 10x أسرع.
1
Channel name was changed to «عبدالوهاب العليوي | Abdulwahab Al-Alawi»
بسم الله الرحمن الرحيم

لو تتعامل مع النصوص بكثرة فهذه الدوال مهمة بنسبة لك ولازم تعرفها.

اولاً دالة : () equals

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

مثال :
String s1 = "Java";
String s2 = "Java";
String s3 = "java";

System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s3)); // false


ثانياً : دالة () equalsIgnoreCase

هذه الدالة تعمل مثل دالة () equals لكنها تتجاهل الاحروف الكبيره و الصغيره

ثالثا : دالة () compareTo

هذه الدالة مختلفة قليلًا لانها تقارن ترتيب النصوص معجميا حسب قيم Unicode لاحرف السلسلة النصية
وبرضه هذه الدالة تعيد قيمة من نوع integer من بين هذه الثلاث القيم :

عددًا سالبًا (< 0) إذا كان الكائن الحالي أصغر من الكائن الآخر.

0 إذا كان الكائنان متساويين

عددًا موجبًا (> 0) إذا كان الكائن الحالي أكبر من الكائن الآخر.

تستخدم هذه الدالة بشكل كبير في ترتيب البيانات او في عملية البحث في القوائم المرتبة

للعلم هذه الدالة تستخدم لمقارنة النصوص و الأرقام

مثال :

public class Main {
public static void main(String[] args) {
String s1 = "Apple";
String s2 = "Banana";

System.out.println(s1.compareTo(s2));
}
}

الناتج
-1

رابعاً : دالة () compareToIgnoreCase

تعمل مثل compareTo () تماماً، ولكنها تتجاهل الفرق بين الأحرف الكبيرة والصغيرة أثناء المقارنة.

#java #string #developer #programming
🔥1
Forwarded from هيثم النائب - Haitham alnaeb (Haitham)
لا تبني وكيل ذكي للواتساب!

ميتا نزلت نظام متكامل لوكيل ذكي ضمن الواتساب
جربته من كم يوم، بيتعلم من المحادثات آليا وبضل بطور حاله!

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

ميتا صرفت ميزانيات هائلة لتوصل لهون، و هي بداية الاطلاق، في خدمات كتير رح ينزلوها تباعاً

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

طيب اللي شغال بالوكلاء الذكيين شو ييشتغل لكان؟

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

لهالشي رح ينطلب مطورين معتمدين من META
لحتى يبنو ويديرو هالوكلاء

أبدأ بالحصول على شهادة ميتا

ابحث عن المجالات اللي رح يزيد عليها الطلب