درسي

درسي

جاوا چيست؟ جاوا JAVA يك زبان برنامه نويسي است كه درسال 1994 توسط يكي از مهندسين شركت سان (sun) به نام جيمز گوسلينگ نوشته شد، جيمز از نوشتن برنامه با ++C خسته شده بود و جاوا را براي رفع نيازهاي خود طراحي كرد. مثل لينوكس ترودلز كه لينوكس (Linux) را براي استفاده خود پديد آورد. جيمز ابتدا نام اين برنامه را oak گذاشت. در آن‌زمان شركت sun از توسعه oak منصرف شد ولي با پيشرفت و گسترش اينترنت و مشخص شدن قابليت هاي برنامه و تطابق بعضي ويژگي هاي آن با نيازهاي اينترنت شركت sun پروژه oak را فعال نمود و نام جاوا را براي آن برگزيد. نام جاوا از Jsut Another Vague Acronym گرفته شده است و دليل آن اين بود كه تيم برنامه نويسان جاوا به قهوه خيلي علاقه داشتند. اين موضوع در لوگوي جاوا هم مشهود است!! نگارش نسخه اول جاوا در سال 95 آغاز شد و در سال 97 نسخه 1/1 و در سال 98 نسخه 1/2 به بازار ارايه شد. البته تا كنون نسخه هاي متفاوت با قابليت هاي متفاوت به بازار ارايه شده است. جاوا زبان مادر براي سيستم عامل سولاريس است، مثل بيسيك براي سيستم عامل ويندوز و زبان سي براي يونيكس. مهم ترين ويژگي جاوا اين است كه اساسا شي گراست به اين معني كه توانايي استفاده مجدد و مكرر از كدهاي از پيش نوشته شده را دارد. ويژگي ديگر جاوا اين است كه بر روي سيستم هاي مختلف كار مي كند مثلا برنامه اي كه شما با يك سيستم اينتل نوشته ايد به راحتي روي يك سيستم مكينتاش و يونيكس اجرا مي شود و اين عامل اصلي موفقيت جاوا است. سادگي، قابل انتقال بودن، كارايي بالا، استحكام، پويايي و ايمني بالا از ديگر قابليت هاي جاوا است. معمول ترين برنامه هايي كه با جاوا نوشته مي شود Applet ها هستند. Applet برنامه اي پويا است كه در يك صفحه وب اجرا مي شود و براي ديدن آن به مرورگري نياز است كه جاوا را پشتيباني كند. علاوه بر اين شما مي توانيد با جاوا برنامه هاي كاربردي، چند منظوره وسطح بالا بنويسيد مثل نرم افزارهاي سرويس دهي شبكه يا سرويس دهنده پست الكترونيك. جاوا در واقع يك زبان برنامه نويسي شي گرا وبسيار قدرتمند است و تمام خصوصيت هاي ++C و C را داراست. البته خصوصيت هاي مشكل ساز آن مثل وراثت و اشاره گرها را كنار گذاشته است. برنامه نويساني كه با C++ آشنا هستند خيلي راحت و سريع مي توانند JAVA را ياد بگيرند. با جاوا كد نويسي بسيار آسان تر است و كدها و كلاس ها و كتابخانه هاي آماده جاوا باعث مي گردد نوشتن يك برنامه با جاوا از نظر تعداد خطوط و زمان لازم تقريبا يك سوم يك برنامه ++C است. .NET رقيب JAVA؟ .NET فرمي است كه به وسيله مايكروسافت MicroSoft براي ساخت سايت ها با قابليت هاي زياد و متفاوت ايجاد شده است به طوري كه قسمتي از يك پروژه را مي توان با ++CV و بخش ديگر را با برنامه اي ديگر نوشت و در نهايت كل آن توسط يك واسطه به نام MSIL ترجمه شده و در محيط .NET قابل اجرا است. J2EE (نسخه جديد JAVA) به وسيله شركت SUN و با همكاري شركت هاي IBM و HP تهيه شده است. در اين قالب تنها زباني كه مورد استفاده قرار مي گيرد جاوا است، و بر خلاف .NET كه فقط روي محيط هاي سازگار با ويندوز عمل مي كند، مستقل از سخت افزار است. بين .NET و JAVA كدام را انتخاب كنيمًـ؟ - قابليت انتقال برنامه ها روي سيستم هاي مختلف و شعار اصلي جاوا يعني: "يك بار بنويس و هر جا استفاده كن" (Writeonce-Run anywhere) موضوعي بسيار حايض اهميت است كه بسته به نياز شما و نوع برنامه شما مي تواند خيلي مهم باشد. - در محيط هايي كه چند نوع سيستم سخت افزاري وجود دارد قطعا برنامه هاي تحت جاوا مناسب تر است ولي اگر در محيط مورد نظر شما از سيستم عامل ويندوز استفاده مي شود استفاده از .NET هزينه كمتري در برخواهد داشت. - .NET ويژگي هايي دارد كه با آن مي توان سايت هاي جذاب و زيباتري ساخت اما در سايت هاي پيچيده و بزرگ و جايي كه كارايي مهمتر از ظاهر است بهتر است از جاوا استفاده كنيم. - تصور كنيد نياز به برنامه اي داريد كه در آن چيزهايي به صورت ديناميك ايجاد مي شوند و پس از طي يك سري عمليات بر روي آنها از بين مي روند، در اين نوع برنامه ها تعقيب اشيايي كه در برنامه ساخته مي شوند، تخصيص و مديريت حافظه تماما بر عهده برنامه نويس است. اما جاوا داراي يك سيستم خودكار مديريت و پاكسازي حافظه است كه بسياري از مشكلات را آسان كرده است. هر تكنولوژي كه ايجاد مي شود؛ هر برنامه اي كه مورد توجه عموم قرار مي گيرد قطعا مورد توجه نفوذگران هم واقع مي شود، هر سيستمي كه بخواهد بماند و پيشرفت كند نياز به ايمني دارد و اينجاست كه سدهاي حفاظتي جاوا و مدل هاي امنيتي آن كه حاصل تلاش زبردست ترين برنامه نويسان دنياست مورد توجه قرار مي گيرد. مدل چهار لايه امنيتي جاوا جلوي خيلي از اقدامات خرابكارانه و نفوذي را مي گيرد، ولي هيچ سدي 100درصد غير قابل نفوذ نيست!! در هر حال انتخاب بين اين دو نياز به بررسي دقيق، آينده نگري و مشخص شدن اهداف دراز مدت و ميزان سرمايه گذاري شما دارد زيرا هزينه هايي كه يك برنامه جاوا دربر دارد در اكثر موارد چندين برابر يك برنامه .NET خواهد بود. جاوا اسكريپت JAVA Script: كساني كه با دنياي اينترنت و كامپيوتر آشنايي دارند حتما اين اسم را شنيده‌اند. اما اشتباه نكنيد JAVA Script با جاوا فرق دارد. JAVA Script يك برنامه كاملا مستقل است كه توسط شركت SUN و شركت NetScape ساخته شده است. جاوا هم به صورت فايل اجرايي (exe) و هم در صفحات وب قابل استفاده است. ولي JAVA Script فقط به منظور استفاده در اينترنت طراحي شده است. شما مي توانيد يك متن جاوا اسكريپت را در ساده ترين ويرايشگرها مثل «وردپد» word pad ويرايش كنيد. دستورات JAVA Script درون تگ هاي HTML قرار گرفته و بعد درون فايلي با پسوند .htm ذخيره مي شوند و در مرورگرهاي وب قابل مشاهده هستند. خلاصه اين كه جاوا برنامه اي قوي و كاربردي است و ابتدا فقط مورد توجه برنامه نويسان آمريكايي بود ولي اكنون به قدري رشد كرده است كه برنامه نويسان سراسر دنيا به آن اعتقاد پيدا كرده اند، اما از آنجا كه جاوا ابزاري است براي برنامه هاي پيچيده و بزرگ كه توسط تعداد معدودي از سيستم ها مورد استفاده قرار مي گيرد، كمتر مورد توجه برنامه نويسان سيستم هاي كوچك قرار گرفته ولي با همه اينها ابزارهاي بسيار قدرتمند و پيشرفته اي دارد كه قابليت هاي فراواني به اين زبان برنامه نويسي داده است. سان به بازاري گسترده مي انديشد جاوا 2 ؛ آخرين تلاش براي بقا 13 سال قبل, 13 نفر از كارمندان سان ميكروسيستم براي انجام پروژه پر تشويشي با عنوان “موج جديد پردازش كامپوتري“ پرداختند. اين مشكل از گذشته وجود داشت اما تنها دستاورد اين تيم, جوابگويي به اين سوال بود كه چگونه نيازهاي نوين پردازش اطلاعات برطرف مي شود. 5 سال طول كشيد وافكار ونظرات و پيشنهادات فراواني مطرح شد تا فناوري جاوا به جهانيان شناسانده شود. جاوا اولين فضايي است كه امكان برنامه نويسي قدرتمند تجاري را ايجاد كرد. جاوا به صورت يك فناوري نوپا وارد بازار شد و بعدها در اينترنت ريشه گرفت. اين روزها نام HotJava كمتر به گوش مي خورد. اين محصول اولين مرورگري بود كه Applet ها را پشتيباني مي كرد. Applet ها برنامه هاي كوچكي بودند كه در بروزر ذخيره مي شدند و قادر بودند صفحات HTML ثابت را به كاربردهايي جالب همچون بازي هاي شطرنج دوسويه, چت روم هاي چند نفري و حتي كاربردهايي در تجارت سهام تبديل كنند. توانايي هاي بالقوه جاوا با نيازهاي روز اينترنت همخواني پيدا كرد و به سرعت به صورت زبان بالفعل اينترنت و محاسبات تجاري درآمد. جاوا به سرعت گسترش يافت و طريقه محاسبات و همچنين استفاده از اينترنت را تغيير داد, به طوري كه وقتي شما به صورت آنلاين كتابي مي خريد يا سهامي را به فروش مي رسانيد در حال استفاده از جاوا هستيد. حال پس از گذشت 8 سال فعاليت جاوا,اين سوال مطرح مي شود كه جاوا چگونه مي تواند بر موج جديد محاسبات پردازش تاثير گذار باشدًـ؟ ديدگاه هاي مختلفي دراين زمينه وجود دارد ولي مهم ترين آنها اين است كه جاوا اگر مي خواهد نقش خود, يعني افزايش كاربرد كامپيوتر را حفظ كند بايد از پيچيدگي خود بكاهد. يكي از كليدهاي موفقيت جاوا نسخه تجاري جاوا 2 است كه با نام J2EE شناخته شده است. J2EE بسيار قدرتمند است و توانايي هاي زيادي دارد ولي همانطور كه مي دانيم با افزايش قدرت پيچيدگي ها نيز افزايش مي يابد. اما جاوا براي اين كه با سازگاري بيشتري در هنگام اجرا كار كند و قدرت خود را نيز حفظ كند بايد ساده تر باشد. “جاوا“ 2 يا به اين مساله توجه خواهد داشت و نقش خود را درمحاسبات حفظ خواهد كرد و يا به دليل كاربردي نبودن به دست فراموشي سپرده مي شود. اما اميدواري بسياري وجود دارد كه جاوا 2 موفق عمل كند, چون سرمايه ها و افكار زيادي آن را پشتيباني مي كنند. اما براي نيل به اين هدف بايد قادر به حل دو مساله باشد. جاوا 2 هنوز هم به طوري باور نكردني پيچيده مانده است طوري كه تنها براي افراد ماهر و نيروهاي متخصص قابل استفاده است. با توجه به يك نياز جهاني براي كاهش قيمت ها و شرح حال به روز و جديد سازندگان فناوري اطلاعات پيچيدگي مي تواند عاملي نابود كننده باشد. جاوا 2 بايد با حفظ استانداردهاي خود و توجه به نيازهاي مشتريان و در صدر قرار گرفتن درعرصه هاي رقابتي روند تجاري شدن خود را تسريع كند. همان طوركه ساده تر كردن Visual Basic كاربرد ويندوز را افزايش داد, جاوا 2 نيز بايد ميانه رو باشد و با كاهش پيچيدگي از حالت اختصاص يافتن به نخبگان خارج شود. كاهش پيچيدگي جاوا2, آن را در سطح وسيعي قابل فهم و كاربردي مي كند ضمن آن كه در وقت كاربران هم صرفه جويي مي شود وباعث استفاده بهينه از توانايي هاي آن مي شود. علاوه بر آن در زمينه تجاري نيز به مقدار قابل توجهي در هزينه و وقت صرفه جويي مي شود. دومين مساله ميزان سرعتي است كه نوآوري جاوا 2 در اختيار مشتريان خود مي گذارد. ميزان سادگي جاوا2 شايد چندان اهميت نداشته باشد اما در مقابل براي اينكه جاوا2 در عرصه بازار هم حضور يابد بايد سرعت خود را به حد ايده آل و مناسب برساند. افرادي هستند كه شايد به كيفيت اهميت چنداني ندهند ولي به سرعت آنها نياز باشد بنابر اين در اينجا سرعت مهمترين مساله خواهد بود. جاوا2 هنوز هم مي تواند پيشتاز باشد ولي بايد در دستورالعمل هاي خود تغييراتي را ايجاد كند. متخصصان حرفه اي جاوا (JCP) در ميدان رقبا در صدر قرار دارند و براي جذب مشتري بيشتر فناوري هاي خود را قبل از ورود به بازار استاندارد مي كنند. اين تغييرات يكي دوسال به طول خواهد انجاميد و در حال حاضر با رشد نيازهاي مشتريان, فروشندگان ناچاربه عرضه فناوري هايي هستند كه صورت تجاري داشته باشد اما در حقيقت اين فناوري ها بايد قبل از عرضه, موارد مربوط به استاندارد در آنها اعمال شود. درحال حاضرweb فناوري هايي را عرضه مي كند كه در سطح وسيعي مورد استفاده قرار مي گيرد و توسط world wide web consortium استاندارد مي شود يعني اين فناوري ها اول در بازار عرضه مي شود و بعد عمل استاندارد سازي بر آنها اعمال مي شود. JAVA2 با استانداردي كه مورد نياز مشتري است و با سرعتي بالاتر از انواع قبلي عرضه مي شود به طوري كه اگر اين فناوري نبود بايد مرتب مراحل نوآوري, اجرا, استاندارد مورد توجه قرار مي گرفت. جاوا 2 از انواع موفق فناوري هاي عرضه شده در طول اين هشت سال است و ما همچنان به سرمايه گذاري در كاهش پيچيدگي و سرعت نوآوري و استانداردسازي آن ادامه خواهيم داد تا در هشت سال آينده نيز به شكلي موفق عمل كنيم.
برنامه و در اصــطلاح نرم افزار هايي كه كاربران به طور روزمره مورد استــفاده قرار ميدهند ، هر يك از دو قســمت تشكــيل ميشوند : نام فايل و پسوند آن . اينكار به سيستـم عامل كمك ميكند كه بتواند آنها را مديريت كند . در حقيقت نام يك فايل عنـواني است كه براي آن در نظر گرفته شده است ، و پسـوند يك فايل نيز كه در واقع فرمت آن فايل محسوب ميشود ، هويت آن را تعيين ميكند . به علاوه هـر برنامه اي ، فايل يا فايل هايي مخصوص به خود را دارد كه هر كدام پسوند هاي مخصوصي را شامــل ميشوند ، به طــور مثــال اسنــاد Word داراي پسوند Doc و يا Docx مي باشند و يا فايل هاي اجرايي پسوند exe را دارند. اين در حالي است كه تعداد پسوند هايي كه در دنيـاي كامپيوتر استفاده ميشوند ، بسيـار زياد هستند و در اين ميان تعـدادي از اين پسوند ها به صورت عمومـي كاربرد دارند و بيشتر كاربران با آنها آشنايي دارند . مانند پسوند فايل هاي گرافيكي jpg و يا اسناد ادوب كه پسوند pdf دارند و در عين حال پسوند هايي هم هستند كه كما بيش نا آشنــا بوده و به صورت خاص در يك نرم افــزار مورد استفاده قرار ميگيرند . مهم ترين و كاربردي ترين پسوند ها در دنيـاي كامپيوتر همچنــين بعضي مواقع فايل هايي با پسوند هاي يكسان وجود دارند كه هر كدام مخصوص به برنامه ويزه اي ميباشند . به عنوان نمونه پسوند mdf . در اين مقاله مهم ترين و كاربردي ترين پسوند ها و در حقيقت فرمت هاي فايلي را به شما معرفي خواهيـــم نمود كه به صورت رايج ممكن است آنها را ديده باشيد ، اما در مورد آنها اطلاع كمي داريد . همچنين نحوه نمايش و يا برنامه اي كه از آنها استـفاده ميكنيد را معرفي خواهيم نمود . اما قبل از آن به چند نكته توجه داشته باشيد . نكته اول : در اين نوشـتار ، از توضيــح و تشريح پسوند هاي رايج و معروفي مانند Doc ، Jpg ، Bmp و … صرف نظر شده است و فرض بر اين است كه اغلب كاربران كامپيوتر و حتي كاربران آماتور ، با اين پسوند ها آشنا هستند . نكته دوم : بعضي از فايـل ها و پسوند ها به صورت مستقيـم قابــل استـفاده نميباشند و توسط نرم افزار ها مورد استفاده قرار ميگيرند . همچنين فايلي با يك پسوند ويژه را ميتوان با برنامه هاي مختلفي نمايش داد . به طور مثال نرم افزار فتوشاپ فايل هايي با پسوند Psd توليد ميكند . اما براي صرفــا مشاهده اين فايــل ها ، حتما نيـازي به نرم افزار فتــوشاپ نميباشد و فرضا ميتوان اين فايل ها را با نــرم افزار ACDSee هم مشاهده نمود . در نتيجه نرم افزار هاي معرفي شده در اين فهرست ، به صـورت نمونه معرفي شــده اند و ممكن است برنامه هــاي مختلفي براي آنها طراحي شده باشد . نكته سوم : بعضي از پســوند ها توسط برنامه هاي مختــلفي براي كاربرد هاي مخـــتلف به كار ميروند . به طور مثال فايــل هايي با پسوند mdf به طور عموم در بانك هاي اطلاعاتي مورد استفاده قرار ميگيرد . در صورتيكه برنامــه ديگري هم فايلي با همين پسوند را توليد ميــكند ، مانند Alcohol ، اما نه براي كاربـــرد در بانك هاي اطلاعاتـي ، بلكه براي Disk Image . در مورد اينگونه پسوند ها ، موارد ديگري از اين دست نيز وجود دارد . روش نمايش پسوند ها : حالت پيـــش فرض سيستم عامل ويندوز ، عدم نمايش پسوند فايل هاي شنــاخته شده ميباشد . بنابر اين در صورتيكه قادر به مشاهده پسوند فايل ها نميباشيد. كافــــي است به My Computer رفته و از منوي Organize گزينه Folder and search options را انتخـــــاب نمائيد و سپس بر روي سربرگ View كليــك كرده و تيك گزينه Hide extensions for Known file types را برداريد . ( در ويندوز 7) . پسوند ها : ۰۰۲٫ ، ۰۰۱٫ ، ۰۰۰٫ : فايل هاي حجيم در آپلود و دانلود كردن مشكلاتي را دارند كه معمـولا به فايل هايي با اندازه هاي كوچكتر تقسيم ميشوند . پسوند هايي كه معــمولا به اين شكل مشاهده ميشوند ، نشان دهنده فايلي هستند كه در چند قســـمت شكسته شده است . اينكار براي كاهش اندازه فايـل ها براي نقل و انتقال راحت تر خصوصا در محيط اينترنت كاربرد دارد . به طـور مثال يك فايل ويدئويي ممكن است به صـورت يك . ۰۰۱ ، دو . ۰۰۲ ، سه . ۰۰۳ و … باشد . قابل ذكر است از برنامه هايي مانند hjsplit.exe براي ادغام اين فايل ها و ساخت يك فايل واحد و يا بر عكس استفاده مي شود . gp3 : يكي از فرمـــت هاي رايجي است كه در قالب يك فايل ويدئويي، بيشتر در گوشي هاي موبايــل آن را مي بينيد . البته اين فرمت ابتدا براي نقل و انتقال آسان فايل هاي چند رسانه اي بر روي شبــكه هاي بي سيم طراحي شده بود . Amr : اين فرمـــت ، مخفف Adaptive Multi – Rate مي باشد و يك فرمــــت صوتي فشرده شده براي ضبط صدا در تلفن هاي همـــــراه ميباشد كه از الگوريتم ACELP براي فشرده سازي صدا استـفاده مي كند . در نتيجه فايل خروجي ساخته شده ، حجم كمي را شامل مي شود . با استـــــفاده از نرم افزار Apple Quick Time Player مي توانيد اين فرمت را خوانده و يا مي توانيد ، از برنامه كم حجم MobAmrCon14 – setup براي تبديل آن به فرمت هاي ديگر نظير MP3 استفاده كنيد . Cpp : فرمتي كه نشان دهنده فايل هاي زبان برنامه نويسـي C++ مي باشد . زمانيكه يك پروژه C++ را در يك محيط نرم افزاري مانند ويژوال استـوديو مي سازيد ، كد هاي برنامه درون اين فايل و سر باره ها و اطلاعات مربـوط به متغير ها و كلاس ها درون فايلي با پسوند h كه نشان دهنده سرباره يا اطلاعـات header مي باشند ، قرار مي گيرند . CSS : فايل فرمت بندي صفحـــات وب كه توسط فايل هاي HTML مورد استفاده قرار مي گيرند . با استفاده از اين فايل ها مي توانيد سبـــك هاي مختلفي را براي اجزائ يك صفحه مانند جداول ، فونت ها و … پيكر بندي كنيد . روش خواندن فايل هاي داراي اين پسوند هم به اين صورت است كه در يك صفحـه وب ، در قسمت يك لينك به آن را مي سازيد . . به طور مثــــال اگر فايلي به نام default.css داشته باشيم ، نمونه زير اين موضوع را نشان مي دهد : < Link rel=”stylesheet” type=”text/css” href=”default.css”/>