فؤاد المالكي

Java SE/EE/FX, Android Developer

http://stackoverflow.com

218 نقاط السمعة
97.4 ألف مشاهدات المحتوى
عضو منذ
تفضل.
أنصح بالمكتبة JSoup للتعامل مع طلبات الـ HTTP والتعامل مع مستندات HTML: https://jsoup.org وإذا أردت دعم للجافاسكربت ومميزات أكثر، أنصحك بالمكتبة HTMLUnit: http://htmlunit.sourceforge.net
الخطأ الذي وقعت فيه هو خطأ شائع عند مبرمجي جافا المبتدئين. لا تقارن بين اثنين من نوع String بالعلامة == (المقارنة هنا تعني ما إذا كان الاثنان يشيران لنفس الكائن في الذاكرة أم لا، ولا يتم مقارنة قيمتهما)، ولكن قارن بينهما بالدالة ()equals أو ()equalsIgnoreCase إذا أردت تجاهل حالة الأحرف كانت كبيرةً أم صغيرةً. لذلك أول شرط من المفترض أن يكون هكذا: if (!Job_spec.equalsIgnoreCase("DEVLOPER") && !Job_spec.equalsIgnoreCase("DESIGNER") && !Job_spec.equalsIgnoreCase("SELLER")) أيضاً، ما الفائدة من هذا الشرط؟ يبدو لي أنه خطأ! if (age_Designer
جميل جداً. تم التسجيل في الموقع، وتم نشر وتثبيت رابط الموقع في مجموعة عبدالله عيد على الفيسبوك: https://www.facebook.com/groups/abdullaheid/permalink/10153189190661573/
الجافاسكربت عموماً لا يقوم بتغيير ملف صفحة الويب على السيرفر، وإنما النسخة الحالية المعروضة في المتصفح. عند تحديث الصفحة، يتم جلب النسخة الأصلية من السيرفر (أو من نظام الملفات إذا كانت الصفحة محلية).
بالطبع تحتاج إلى JDK، ولكن ليس بالضرورة إلى IDE.
يقصد الأداة javac والتي تحول الـ source code (بصيغة java.) إلى binary code (بصيغة class.) وهي التي يفهمها الـ JVM. تجد الأداة javac في الويندوز مثلاً على هذا المسار غالباً: C:\Program Files\Java\jdk1.8.0_60\bin\javac.exe
11
this هي كلمة محجوزة (keyword) تشير للعيّنة الحالية (current instance) من هذا الصنف (class) في عالم الكائنات (Object Oriented). **مقدمة عن عالم الكائنات:** من المعروف أن الـ class ما هو إلى وصف لشيء. وصف للصفات (fields) والأفعال (methods). فمثلاً الصنف Car يحتوي على عدة صفات مثل model - color - topSpeed، ويحتوي على عدة أفعال مثل startEngine - move. من هذا الصنف يمكن إنشاء عيّنات (instances) باستخدام الكلمة المحجوزة new مع استدعاء دالة البناء (constructor). فمثلاً ننشيء عينةّ يكون نوعها
> بالنسبة للكود فأنت عندما تمرر متغير بالقيمة فأنت تصل إلى قيمته وتتعامل مع نسخة من الكائن الأصل وبالتالي فإن أي تعديل على خصائصه لن يؤثر على الكائن الأصل > > أما التمرير بالمرجع فأنت تمرر مرجع الكائن الأصل وبالتالي أي تعامل مع خصائصه فأنت تعدل على الأصل كلام غير دقيق. يمكن تغيير خصائص الكائن من خلال "التمرير بالقيمة". كما أن التعامل يكون مع الكائن الأصل ذاته وليس نسخة منه. "التمرير بالمرجع" يعني أنه يمكن إسناد قيمة جديدة للمرجع الذي
كتبت مقالة عن تجربتي مع امتحان OCA أول مستوى للـ JAVA SE: http://informatic-ar.com/oca_1z0-803_java_exam
حاولت الدخول بـ Eng.Fouad كاسم مستخدم، ولم يعمل. غيرت كلمة المرور، وما زالت المشكلة حاضرة. استخدمت الإيميل كاسم المستخدم ونجح الأمر.
استخدام DocumentListener هو الحل الأمثل هنا.
إذا كنت تقصد في الـ Client-Side، استخدم Java Preferences API: http://docs.oracle.com/javase/8/docs/technotes/guides/preferences/index.html
انظر لها من طرف برنامج الجافا: Input: المدخل إلى البرنامج (قراءة). Output: المخرج من البرنامج (كتابة). والمصدر قد يكون قراءة/كتابة من/إلى ملف، أول قراءة ما يكتبه المستخدم على الـ console أو كتابة نص ما ليقرأه المستخدم على الـ cosole. قد يكون أيضاً قراءة بيانات من الشبكة/الإنترنت (download)، وقد يكون كتابة بيانات إلى الشبكة/الإنترنت (Upload). مكتبة java.io تنقسم إلى قسمين: 1- Byte Streams: وتعتمد على byte كوحدة، وأساسها الكلاسين InputStream و OutputStream. 2- Character Streams: وتعتمد على char كوحدة، وأساسها الكلاسين
ملاحظة مهمة للجميع: الضغط على زر Commit غير كافي، بل يجب أيضاً تفعيل الحساب عن طريق الإيميل. هذا يفسر عدد الزيارات أعلى من 3729، وعدد الذين ضغطوا على زر Commit وفعلوا الحساب 105 فقط.
+1 جميل جداً. أتمنى أن تضع هذا الرد في المقترح نفسه، بالضغط على "create new discussion"، حتى يستفيد الجميع.
تم نشره في وسائل التواصل الاجتماعي، والتفاعل جيد حتى الآن. توجد طريقة أسرع لإنجاح هذا المقترح، ألا وهي الدخول على قائمة الأعلى نقاط في stackoverflow من العرب: http://data.stackexchange.com/stackoverflow/query/141195/top-arab-developers ثم الدخول على الأوائل من القائمة (أول 50 مثلاً)، وكتابة رد في أقدم جواب لكل منهم (حتى لا يلاحظ أحد ;))، بحيث تضع رابط المقترح وتطلب منه المشاركة. من سيقوم بهذا العمل؟ :)
14
توجد بعض الطرق لحماية السورس الكود (إلى حدٍ ما) من الهندسة العكسية (عن طريق الـ decompilation): **1. الـ obfuscation:** وهي طريقة تقوم بتغيير أسماء الكلاسات والدوال والمتغيرات، لكي يصعب على "الهاكر" فهم السورس كود. ومن أشهر الـ obfuscator هو ProGuard. **2. التحويل من byte-code إلى native-code:** أي تقوم مثلاً بتحويل برنامج الجافا إلى exe، وبهذه الطريقة لن يمكن استرجاع كود الجافا الأصلي. لكن يعيب هذه الطريقة هو أنك لن تتمكن من تشغيل البرنامج على الأنظمة الأخرى، بعكس ما يميز برامج
فضيحة كبيرة للجافا؟ جميع اللغات يوجد فيها decompilation. على أية حال، توجد أدوات وبرامج تقوم بتحويل برامج الجافا من byte-code إلى native-code، وبالتالي لن تستطيع إعادة كود الجافا الأصلي، ولكن يمكن الإعادة لكود السي/سي بلص بلص، وأيضاً لن تستطيع تشغيل البرنامج على الأنظمة الأخرى.
جميل جداً، وأنا من أول الداعمين لهذا الإقتراح، بل أنني قمت بفتح مثل هذا الاقتراح قبل سنتين ولكن لم يتعدى المرحلة الأولى: http://arabteam2000-forum.com/index.php/topic/259515-%D9%85%D9%82%D8%AA%D8%B1%D8%AD-%D9%84%D8%A5%D9%81%D8%AA%D8%AA%D8%A7%D8%AD-%D9%85%D9%88%D9%82%D8%B9-stackoverflow-%D8%A8%D8%A7%D9%84%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9/
بما أنك قادر على تشغيل البرنامج، وبما أن الخطأ هو NoClassDefFoundError للكلاس jade.wrapper.ControllerException، يمكن استنتاج أن المشكلة هي كالتالي: - عندما قمت بعمل compile للكلاس MainContainer، كان الكلاس jade.wrapper.ControllerException موجود في الـ classpath. بينما أثناء عمل run للكلاس MainContainer، الكلاس jade.wrapper.ControllerException لم يكن موجوداً في الـ classpath.
يوجد نوعين من JavaDB: Server DB Embedded DB استخدم النوع الثاني.
الثوابت تجدها دائماً static و final، وذلك يعني بأن قيمتها ثابتة، وأنها مشتركة بين جميع العينات من نفس الكلاس بدلاً من إنشاء نسخة جديدة من المتغير مع إنشاء كل كائن جديد.
17
المتغير المعرف بـ final، لا يمكن إعطاءه قيمة جديدة من بعد أن ما تم إعطائه قيمة أولية. بمعنى آخر، لو لدينا متغير نصي من نوع local variable (أي داخل دالة) وقمنا بتعريفه كـ final: final String a; فإنه لا يقبل إسناد قيمة له إلا مرة واحدة: final String a; a = "test"; a = "test2"; // ERROR أو final String a = "test"; a = "test2"; // ERROR يمكن أيضاً تعريف الـ parameter كـ final، ويعني بأن قيمته ستكون ثابتة
باختصار: مجموعة من الدوال تُستخدَم للاستفادة من مكتبة برمجية معينة أو خدمة معينة. مثلاً، Twitter API هي مجموعة من الدوال على هيئة HTTP requests تستخدم للاستفادة من خدمات Twitter من تغريد وإعادة تغريد وغيرها من الخدمات. مثال آخر، المكتبة JMF في لغة الجافا، هي مكتبة برمجية تستخدم دوالها (its APIs) للتعامل مع الـ media من فيديو وأصوات.