• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

YaSeenTA

اعضاء
  • عدد المشاركات

    193
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

30 عادي

عن YaSeenTA

  • الرتبة
    عضو
  1. حاول مراجعة الكود الخاص بـ ShowMessage وستجد أنها تستدعي ShowMessagePos والتي تستدعي بدورها MessageDlgPos وهذه تستدعي MessageDlgPosHelp والتي تستدعي CreateMessageDialog وهنا يتم إنشاء الـ Form الخاص بالـ message. الغرض من ذكري لهذا هو إخبارك أنه بإمكانك إنشاء كود جديد بنفس الطريقة بحيث تسمح بالتحكم بالأشياء التي تريدها حين تستدعى الدالة CreateMessageDialog الخاصة بك وجعلها تحوي parameter تساعد في التحكم بالأشياء المرادة. أو بشكل أخرى اكتب دالة ShowMessage جديدة تحوي الparameter التي تريدها و الكود الداخلي لها يقوم بإنشاء Form بطريقة مشابه لما هو عليه في CreateMessageDialog مع إسناد قيم ال parameters الممررة في الجزيئات الخاصة بذلك.
  2. مشكلة في ربط xml بجافا نت بينز

    SAXParser الذي تريدين إستعماله موجود في javax.xml.parsers.SAXParser راجعي هذا الموضوع لمعلومات أكثر Using the SAX Parser
  3. شكراً على الموضوع! حبيت أضيف شئ بسيط أفضل إستخدام JAXB لإنشاء الملف الثاني بصورة أتوماتيكية. طبعاً سيكون علينا إنشاء ملف XSD XML Schema الخاص بملف الـ XML ومن ثم نستخدم الطريقة الموضحة هنا JAXB
  4. من قال لك اني متنزفز. على العكس تماماً , سعدت بالنقاش معك باستثناء ردك الأخير لأنه خرج عن طور النقاش والذي تبدو فيه متنرفزاً . وضعي للتساؤلات ليس لاني متنرفرز بل لاني كتبت وأنا في قمة الإسترخاء لذلك كانت التساؤلات كثيرة والرد طويلاً. لو كنت متنرفزاً كنت كتب رداً سريعاً مختصراً بأسلوب غير مستحب نوعاًما , خصوصاً أشكرك على التعبير لكن يبدو أنك أخطأت فلست في عمر الفراخ , ربما ابني في عمر الفراخ :P كنت أود الرد على الجزء العلمي في ردك الأخير لكن سأوقف النقاش معك في هذا الموضوع حتى تهدأ وتراجع ردودي بشكل جيد بشرط أن تبتعد عن الفراخ وقت قراءة الموضوع. بالطبع سأكون سعيداً بالنقاش معك في مواضيع أخرى.
  5. password123 كنت اكتب ردي قبل أن تضع ردك الأخير ومع الإنشغال بأشياء أخرى توقفت ومن ثم رأيت ردك بعد أن قمت بالإرسال وهانذا أرسل تعقيباً عليه إذا أنت من ضمن المجموعة الذين أدوا إلى أن يكون الأخ influenced بأفكار اي شخص آخر.. لهذا قلت في ردي , بالمنطق الذي أفهمه في ردك (ربما أكون أسات فهمك ) لم يكن عليه وضع السؤال هنا ...
  6. اذا كان عليه ألا يضع السؤال هنا إلا بعد أن يكون قد وصل إلى المرحلة في ثالثاً . ما علينا... لم أرد الخروج عن الموضوع الأساسي لكن يبدو أن ذلك هو ما حصل.
  7. password123 : تعجبني ردودك في المواضيع التي تشترك فيها لأنك تناقش الآخرين بشكل جيد و تضع رأيك بشكل صريح . طبعاً هناك كم مرة كانت ردودك فيها نوع من التمسك بالرأي حتى وإن كان الآخر مصيب في رأيه. أمدحك أولاً ثم أنتقدك :P كان قصدي بالعبارة في حالة من يقوم بالبحث العلمي ... فالمتعارف عليه هو أن تقرأ بصورة عامة عن الموضوع الذي أنت بصدد البحث فيه ومن ثم تبدأ بالجزئية التي تهتم بها وهنا عليك أن تقرأ ما هو موجود حالياً او ما يسمى State of Art ومن ثم تبدأ بالنقطة التي تريد التغيير فيها ... إن كنت تعارضني في هذه أيضاً فلك الحق في ذلك , لكن هذا هو المتعارف عليه أو لنقل هو ما أعرفه و ما هو متعارف عليه في الجامعات التي أعرفها أو البلد الذي أعيش فيه. حتى حين تقوم بنشر paper عما قمت به يتم ذكر State of Art كشئ أساسي. إن كنت ترى أن البدء بأفكارك أولاً هو الصحيح فأنأ اختلف معك. لنقل أنك تريد البدء بالبحث العلمي في مجال جديد ولا تملك سوى معلومات سطحية حصلت عليها من كتب أو مقالات أشارت لهذا المجال أو من نقاشات وضعت صورة عامة مبهمة نوعاً ما عن هذا المجال, فهل ستبدأ بالعمل في شئ لا تعلم ما هو؟ ذكرت -أنت- والأخوة بعض الطرق أو مجالات البحث التي قد تكون لها علاقة بالسؤال فهل هذا يكفي لنجعل واضع السؤال يبدأ من الصفر أم يجمع كم من المعلومات تكفيه كبداية للطريق (إن كنت ستتجه لمكان ما فستسأل تفاصيل أكثر عن كيفية الوصول له وعن موقعه قبل ان تذهب).
  8. ستحتاج لقراءة العديد من الأبحاث في اجزاء متعددة من NLP. فعليك الإطلاع على ما هو موجود حالياً حتى لا تضع وفتاً كبيراً في إستخدام طرق قد تكون غير مجدية لحل مشكلة ما.. ما ذكرته قد تم مناقشته في أبحاث منفصلة لذا أنصحك بالإطلاع بشكل أكثر على ما هو الوضع الحالي في NLP. فالبحث العلمي ليس كتابة كود ثم إيجاد الحلول وقت الكتابة. عليك بالقراءة لمدة لا تقل عن ستة أشهر في هذا المجال لان لديك العديد من النقاط خصوصاً أنك إخترت اللغة العربية وهي أكثر تعقيداً وصعوبة من لغات آخرى كالإنجليزية. ويكمن التعقيد في طبيعة اللغة نفسها , والصعوبة لقلة الأبحاث الخاصة بها أو لنقل لقلة الأبحاث المنشورة و قلة المشاركة في هذه الأبحاث. ستقابل في بعض الأحيان عدم الإستجابة من ناشري الأبحاث الخاصة باللغة العربية وعلى العكس تجد سرعة الرد من أولئك الذين نشروا أبحاث للغات أخرى. النقاط التي وضعتها منها: Sentence segmentation , POS, Stemming, Shallow Parsing,.., قد تجد بعض الأفكار في Text Classification, Text Summarization لها علاقة بما تريد... بل قد تجد في Ontology Learning from Text أشياء قد تفيدك ... كما قلت الموضوع يحتاج للإطلاع على العديد من الأبحاث في مجالات عدة ...
  9. أتمنى ألا تفهم ردي على أنه هجوم عليك لو دلع فالأمر هين لكن لو كان تكاسل فالمشكلة كبيرة. أخى E.Ali كم عدد البحوث التي قرأتها والتي تعنى بموضوع الـ Classification؟ هل جربت البحث عن مواضيع , أكواد ذات صلة؟ ليس بالضرورة عن email classification .. لا أعلم لكن يبدو من تساؤلاتك أنك لم تقرأ بقدر كاف عن الموضوع لذا فأنت متخوف أو تخوف نفسك من الموضوع وصعوبته. كل شئ تبدأ فيه يكون صعب في البداية لكن مع المزيد من الإطلاع ستجد أنك أخطأت بجعل فكرة الصعوبة والتعقيد للموضوع هي أول شئ أمامك .. هل قرأت هذا “Sorry, I Forgot the Attachment:” Email Attachment Prediction هل جربت تقرأ عما قاله الأخ عيسى بخصوص الـ Spam mail ستجد العديد من الأوراق البحثيه في هذ المجال وستجد العديد من المصادر المفتوحة الشفرة http://www.jasen.org/overview.php http://code.google.com/p/gnusmail طبعاً الأخ password123 أفاد بالكثير في الموضوع.. بقي دورك الآن لتبدأ بالإطلاع وبعدها تعود للموضوع هنا لتضع تساؤلات بعد أن يكون لدي شئ تناقش فيه. النقاش بصفر معلومة عن الموضوع لا يعد نقاشاً. إضافة: بحثين عن نفس الموضوع Intelligent email: reply and attachment prediction Sentence level attachment prediction
  10. سؤال عن الـ multi-threading

    هل بالضرورة أن أضع لك الوصلة المباشرة؟ http://msdn.microsoft.com/en-us/library/ms682516(v=VS.85).aspx تعمدت عدم وضعها في ردي لأجعلك تقرأ ما في تلك الوصلة وإن كنت فعلت ستصل للوصلة المباشرة بالمثال . وستدرك أن هناك مجموعة دوال تابعة للنظام في هذا الخصوص..
  11. سؤال عن الـ multi-threading

    كبداية http://msdn.microsoft.com/en-us/library/ms684841(v=VS.85).aspx ستحد شرح عن كيفية إنشاء Thread وهناك مثال .. بعد أن تفهم هذه الأساسيات سيكون بإمكانك البدء بـ Multi-threading . ابإمكان إستخدام ماوفرته .net في هذا المجال http://msdn.microsoft.com/en-us/library/ms684841(v=VS.85).aspx
  12. على العموم سأحاول إستخدام ما ذكر أو أقوم بتجربة الطريقة التي أشرت إليها في سؤالي . سبب التعديل: أخطاء في التنسيق
  13. هذا كود بتعديل بسيط مأخوذ من http://bobah.net/d4d/source-code/misc/thread-pool-executor-example-j2ee سنلاحظ أن يحصل reject لبعض المهام /** * @author Vladimir Lysyy */ import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; //import java.util.concurrent.ExecutorService; //import java.util.concurrent.Executors; import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class PoolDemo1 { private static class RejectedHandler implements RejectedExecutionHandler { @Override public void rejectedExecution(Runnable arg0, ThreadPoolExecutor arg1) { // TODO Auto-generated method stub System.err.println(Thread.currentThread().getName() + " execution rejected: " + arg0); } } private static class Task implements Runnable { private static SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS"); private String name; private Date created; public Task(String name) { this.name = name; this.created = new Date(); } @Override public void run() { final boolean wantOverflow = true; System.out.println(Thread.currentThread().getName() + " executing " + this); try { Thread.sleep(wantOverflow ? 50 : 10); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " executed " + this); } @Override public String toString() { return name + ", created " + fmt.format(created); } } public static void main(String[] args) throws InterruptedException { final boolean wantExceptionOnReject = false; // // fixed pool, unlimited queue // ExecutorService service = Executors.newFixedThreadPool(10 /* size */); // ThreadPoolExecutor executor = (ThreadPoolExecutor) service; // fixed pool fixed queue BlockingQueue<Runnable> queue = new ArrayBlockingQueue<Runnable>(100, true); ThreadPoolExecutor executor = new ThreadPoolExecutor( 10, // core size 20, // max size 1, // keep alive time TimeUnit.MINUTES, // keep alive time units queue // the queue to use ); // set rejected execution handler // or catch exception from executor.execute (see below) if (!wantExceptionOnReject) executor.setRejectedExecutionHandler(new RejectedHandler()); for(long i = 0;i<500 ; ++i) { Task t = new Task(String.valueOf(i)); System.out.println(Thread.currentThread().getName() + " submitted " + t + ", queue size = " + executor.getQueue().size()); try { executor.execute(t); } catch (RejectedExecutionException e) { // will be thrown if rejected execution handler // is not set with executor.setRejectedExecutionHandler e.printStackTrace(); } Thread.sleep(1); } executor.shutdown(); } } هناك من يستخدم WaitPolicy لمعالجة المشكلة ,كمثال http://kickjava.com/src/org/mule/config/ThreadingProfile.java.htm لكن إذا نفذ الوقت المحدد في WaitPolicy كيف سيتم التعامل مع المهام التي لم تنفذ ؟
  14. السلام عليكم قبل وضع السؤال استسمحكم فمعلوماتي في الجافا ضئيلة. لدينا تطبيق يستخدم ThreadPoolExecutor لتنفيذ مجموعة من المهمات Tasks.(وليكن لدينا الكائن executor) قد يحدث رفض reject لمجموعة من الـ Tasks أثناء التنفيذ , فما هي الطريقة لمعرفة المهمات التي تم رفضها؟ وما هو الحل الأمثل لمعاودة تنفيذ هذه المهمات المرفوضة؟ ما فكرت به حاليا: بالنسبة للسؤال الأول : نقوم بتعريف List ولنسمها unexecutedTaskList يتم إضافة رقم ID المهمة المرفوضة إليها (Class variable). هذه الخطوة تتم في rejectedExecution الخاصة بصنف جديد ولنسمه RejectedHandler وهو يرث RejectedExecutionHandler, حيث يتم إسناد handler من الصنف RejectedHandler للكائن executor بواسطة setRejectedExecutionHandler. بالنسبة للسؤال الثاني : بعد التأكد من أن الكائن executor وصل للحالة isTerminated يتم إعادة تنفيذ المهام -إن وجدت- في unexecutedTaskList وهكذا تستمر حلقة تكرار في حال وجود مهام في unexecutedTaskList (أي حجم الـ List لا يساوي صفر). بالطبع بالإمكان إستخدام تركيب آخر غير الـList إعتمادا على نوعية المعلومات المراد حفظها.. لا أعلم مدى كون الطريقة التي ذكرتها صحيحة وخالية من المشاكل.
  15. ليس لدي معلومات في الموضوع. ولكن يبدو أنك ستحتاج للقراءة عن Voice Emotion Recognition سحتاج لمعرفة جيدة بالـ Signal Processing.. حاول تبحث في google ستجد بعض الأطروحات البحثية .. http://mm-werkstatt.informatik.uni-augsburg.de/EmoVoice.html عليك بالماتلاب فسيختصر أمور كثيرة عليك ...