tag:blogger.com,1999:blog-49782664639446799922024-03-13T22:28:38.643+05:00Oddiy blogAxborot Texnologiyalar olami.Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-4978266463944679992.post-6133405044387843322013-07-20T12:00:00.000+05:002013-07-20T12:54:46.770+05:00Javada haqiqiy 'Hot Swap' Intellij IDEA bilan!<div dir="ltr" style="text-align: left;" trbidi="on">
Ko'p dasturchilar har kunlik ishlarini IDE hot-swap'isiz tasavvur qila olishmaydi. Lekin Java HotSwap VM ning imkoniyatlari juda cheklagan, masalan klasga yangi metod yoki global o'zgaruvchilar qo'shilsa yoki metod argumentlarida o'zgartirish, qisqa qilib aytganda strukturaviy o'zgartirishlarni HotSwap avtomatik yuklab bermaydi. Qila oladigan ishi faqat metodni tanasidagi o'zgarishlarnigina sezadi. Baxtimizga, buni yaxshilashning yo'li bor! yangi ochiq kodli proyekt: <a href="http://ssw.jku.at/dcevm/">Dynamic Code Evolution VM</a>, Java HotSwap™ VM Java klasnarni umuman cheklovsiz 'Runtime' da qayta yuklash imkonyatini beradi. Endi mazzaaaa!!!! IntelliJ IDEA allaqachon bu loyihani testdan o'tkazishdi va u maxsuldorlikni oshirishini ham tasdiqlashdi. Dynamic Code Evolution VM (DCEVM)ni IntelliJ IDEA uchun shu bog'ichdan <a href="http://plugins.jetbrains.com/plugin/7245"> new plugin</a> yuklab olishingiz yoki Settings -> Plugins<span id="more-9843"></span>-> Browse Repositories -> DCEVM ni tanlab o'rnatishingiz mumkin. O'rnatganingizdan so'ng IDEAni qayta ishga tushuring, <b>Event Log</b> oynasida<b> DCEVM JRE</b> ni yuklab olaymi xo'jayin degan so'rov chiqadi. Xa yuklab deb 'Download'ni bosing.<br />
<br />
Qarabsizki, hammasi tayyor. Faqat, 'application'ni yurgizdirishda 'Alternative JRE' dan <b> DCEVM JRE</b>ni tanlang.<br />
<div class="separator" style="clear: both; text-align: center;">
http://www.youtube.com/watch?v=5rYBDJAmxFo</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com0tag:blogger.com,1999:blog-4978266463944679992.post-4853336830779141812013-01-04T16:20:00.000+05:002013-01-04T16:23:45.974+05:00PL/SQL da 'Subprogram'lar va 'Package'lar<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-size: 12.5pt;">Packageni tushunish uchun dastlab 'Subprograms' nima ekanini tushunish kerak. Subprograms - bu ma'lum bir PL/SQL bloklari bo'lib, ularni o'z nomlari mavjud bo'ladi. </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">PL/SQL</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"> da ikki xil 'Subprograms' bo'ladi:</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-left: 63.0000pt; margin-top: 0pt; text-indent: -21.0000pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Wingdings; font-size: 12.5pt;">l </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">Functions(funktsiyalar)</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-left: 63.0000pt; margin-top: 0pt; text-indent: -21.0000pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Wingdings; font-size: 12.5pt;">l </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">Procedures(protseduralar)</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">Umumiy holda Protseduralar ma'lum bir amallarni bajaruvchi ketma-ket(lar) desak, funktsiyalar esa ma'lum bir xisob kitoblarni amalga oshirish uchun ishlatiladi.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">Subprogrammalar quyidagi qismlardan (bloklar) iborat bo'ladi:</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-left: 21.0000pt; margin-top: 0pt; text-indent: -21.0000pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Wingdings; font-size: 12.5pt; font-weight: bold;">l </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;">E'lon qilish qismi </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">(declarative part)- o'zgaruvchilar, tiplar, constantlar, exceptionlarni e'lon qilish qismidir.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-left: 21.0000pt; margin-top: 0pt; text-indent: -21.0000pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Wingdings; font-size: 12.5pt; font-weight: bold;">l </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;">Yurgizdirish qismi </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">(executable part) - o'zgaruvchilarga qiymat berish ifodalari, yurgizdirishlarni boshqarish (controlling executions) va oracledagi ma'lumotlarni boshqarish qismi.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-left: 21.0000pt; margin-top: 0pt; text-indent: -21.0000pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Wingdings; font-size: 12.5pt; font-weight: bold;">l </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;">Istisno holatlarni ushlash qismi (</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">exception-handling part</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;">)</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"> - bu qismi ixtiyoriy. Masalan, Yurgizish qismida qandaydir sonni 0 ga bo'ldiz bu yerda 'exception-handling' qismi ishlaydi.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">Oddiy qilib aytganda subprogram bu yoki funktsiya yoki procedure bo'ladi.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">Endi '</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;">Package</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">', u bir nechta saqlanuvchi(stored) subprogrammalarni jamlanmasi. Package ikki qismdan iborat:</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-left: 21.0000pt; margin-top: 0pt; text-indent: -21.0000pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Wingdings; font-size: 12.5pt;">l </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"> Spesifikatsiyasi(</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; color: #222222; font-size: 12.5pt;">specification </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;">) - bu 'public interface' hisoblanadi. Ya'ni bu degani yoziladigan stored proceduralar, functionlar, typelar hammasi boshqa ilovalardan(application) yurgizdirishga ruxsat beradi deganidir. 'Package sepcification' yangi package yasayotganda yoziladi. Buni boshqacharoq nomalydigan bo'lsak </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt; font-weight: bold;">Package API</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"> deb ham yuritish mumkin.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-left: 21.0000pt; margin-top: 0pt; text-indent: -21.0000pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Wingdings; font-size: 12.5pt;">l </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"> Tanasi (body) - bu qisimda, specificationda yozilgan hamma stored procedurelar/function/cursorlarning tanasi, ya'ni ammalarni bajarish qismi yoziladi.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 12.5pt;"><o:p></o:p></span></div>
<br />
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<u><br /></u>
<u>Package specification</u></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKhAd_e1xvXhfbvy3EXwMwT_kmz7N1Qvck6VQDT3W1rU0_QOrbvA3IP6bW1wtkn_vdtI8-BM90ZhTNk_mdB_V-KTfQvsrYIAt0HCUwbo_1C_c_voac6o-5MZZ166DOPpCLEqnN95k9e5s/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKhAd_e1xvXhfbvy3EXwMwT_kmz7N1Qvck6VQDT3W1rU0_QOrbvA3IP6bW1wtkn_vdtI8-BM90ZhTNk_mdB_V-KTfQvsrYIAt0HCUwbo_1C_c_voac6o-5MZZ166DOPpCLEqnN95k9e5s/s1600/1.JPG" /></a></div>
<br />
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<u><br /></u></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;">Bu yerda package nomi - </span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt; text-decoration: underline;">personnel</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;">, unda 2ta functsiya bor, ular: get_fullname(id), va get_salary(id), bu yerda id ishchining IDsi.</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;"><o:p></o:p></span></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;">Body qismida esa har ikkala funktsiyani qay tarzda bajarilishi to'liq ifodalaniladi:</span><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-size: 13.5pt;"><o:p></o:p></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3G98BsrRZuwayu-nBerg0tWfE0rH22waNfjbVMOawq-7IgMe_TBrsUxo558yrS6jeeU_M1dXRjg8OIkFYeJrlHk4SCY1A5sx8ErlnI4a6wq23Y6_KO_LJlLaR3nL4W2x-fzvUdcFP9Ws/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3G98BsrRZuwayu-nBerg0tWfE0rH22waNfjbVMOawq-7IgMe_TBrsUxo558yrS6jeeU_M1dXRjg8OIkFYeJrlHk4SCY1A5sx8ErlnI4a6wq23Y6_KO_LJlLaR3nL4W2x-fzvUdcFP9Ws/s1600/2.JPG" /></a></div>
<div class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
Manbalar: <a href="http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/09_packs.htm" target="_blank">Oracle: PL/SQL Packages</a> , <a href="http://www.zentut.com/plsql-tutorial/plsql-package/" target="_blank">www.zentut.com: PL/SQL Package</a><br />
<br /></div>
</div>
Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com0tag:blogger.com,1999:blog-4978266463944679992.post-23795928811889653902012-11-03T12:44:00.000+05:002012-11-03T14:24:29.972+05:00Bepul Antivuruslar statistika - 2012<div dir="ltr" style="text-align: left;" trbidi="on">
Antivirus bo'yicha ko'pchilik "kompyuter tilini" yaxshi tushunmaydiganlarda muammo tez-tez bo'ladi. Masalan, O'zbekistonda ko'pchilik tomonidan ishaltiladigan '<strike>Kasperskiy</strike>'ni yoki '<strike>ESET Nod32</strike>' olaylik, unga kalitlarni topib("O'G'IRLAB"), qo'yish, antivirus bazasini yangilab turish va hokazo. Eng yomoni bu birov qilgan dasturni o'g'irlashdir. Axir sotib olishga imkoningiz bo'lmasa bepul muqobillari ham yetarli-ku! Uni ustiga deyarli ba'zi jixatlarga ko'ra ulardan yaxshiroq.<br />
Masalan, <b>Avast Free Antivirus</b> bu hozirda bepul antiviruslar ichida eng mashxur va ko'p foydalanilayotganidir. Yuklashlar bo'yicha eng mashxur saytlardan biri <a href="http://downlaod.cnet.com/">downlaod.cnet.com</a> ning ma'lumotlariga ko'ra, eng ko'p yuklangan antivirus bu '<a href="http://download.cnet.com/Avast-Free-Antivirus/3000-2239_4-10019223.html?tag=main;pop" target="_blank">Avast free Antivirus</a>'idir. Undan keyin esa <a href="http://download.cnet.com/AVG-AntiVirus-Free-2013/3000-2239_4-10320142.html?tag=main;pop" target="_blank"><span class="index" style="border: 0px none; color: #7a0307; display: block; float: left; font-family: franklin-gothic-urw-cond,'Helvetica Condensed Bold',Helvetica,Arial,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 700; letter-spacing: normal; line-height: 19px; margin: 0px; orphans: 2; outline: 0px none; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 2; width: 25px; word-spacing: 0px;"></span></a><span class="OneLinkNoTx" style="border: 0px none; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px none; padding: 0px; text-align: left; vertical-align: baseline;"><a href="http://download.cnet.com/AVG-AntiVirus-Free-2013/3000-2239_4-10320142.html?tag=main;pop" target="_blank">AVG AntiVirus Free 2013</a> keyingi o'rinda. Bu natija antiviruslar orasida emas balki hamma yuklashlar orasidan keltirilgan.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilq0_2SNt0npIE0E6FjNL7SiAZTe5HL3oo0d85VDzCm4Vs1FQp1TzvMmOkqcYtokBU2d9Sl30nM1aT6agNcbulu14EPkWVlAFkdH5GS-VXldTO0_Id9bh1pT1yedzNvq_8alqAao_pEBg/s1600/antivirus-wars-cnet.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilq0_2SNt0npIE0E6FjNL7SiAZTe5HL3oo0d85VDzCm4Vs1FQp1TzvMmOkqcYtokBU2d9Sl30nM1aT6agNcbulu14EPkWVlAFkdH5GS-VXldTO0_Id9bh1pT1yedzNvq_8alqAao_pEBg/s320/antivirus-wars-cnet.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil9Hi56EWygwycGPQgWzqg5s18HaQ0cwNKIvH75nRqVAvkFQrqoPzBGXEjtSME3KD60Hm1BobOlODsCxek8VW39Hh2f9NzVDfl_JbzA3bVyTbu1vx5fK5XW0l4JOo-oJMpMkVKTiQyb5k/s1600/antivirus-wars.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
Yoki, bepul muqobillar topish uchun yordam beruvchi alternativeto.net sayti ma'lumotlar esa quyidagicha:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil9Hi56EWygwycGPQgWzqg5s18HaQ0cwNKIvH75nRqVAvkFQrqoPzBGXEjtSME3KD60Hm1BobOlODsCxek8VW39Hh2f9NzVDfl_JbzA3bVyTbu1vx5fK5XW0l4JOo-oJMpMkVKTiQyb5k/s1600/antivirus-wars.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="523" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil9Hi56EWygwycGPQgWzqg5s18HaQ0cwNKIvH75nRqVAvkFQrqoPzBGXEjtSME3KD60Hm1BobOlODsCxek8VW39Hh2f9NzVDfl_JbzA3bVyTbu1vx5fK5XW0l4JOo-oJMpMkVKTiQyb5k/s640/antivirus-wars.jpg" width="640" /></a> <br />
<br />
<span class="OneLinkNoTx" style="border: 0px none; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px none; padding: 0px; text-align: left; vertical-align: baseline;">'Yoqtirish'lar bo'yicha ham Avast</span><span class="OneLinkNoTx" style="border: 0px none; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px none; padding: 0px; text-align: left; vertical-align: baseline;">(467 ta)</span><span class="OneLinkNoTx" style="border: 0px none; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px none; padding: 0px; text-align: left; vertical-align: baseline;"> yuqorida.</span><br />
<span class="OneLinkNoTx" style="border: 0px none; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px none; padding: 0px; text-align: left; vertical-align: baseline;"><br /></span></div>
Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com0tag:blogger.com,1999:blog-4978266463944679992.post-26390346260809644222012-09-26T12:23:00.002+05:002012-09-26T12:37:47.334+05:00OYDning asosiy tushunchalari<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif;"><i>Obyekga
yo'naltirilgan dasturlash</i> yoki <i>OYD</i> – dasturlarni haqiqiy
hayotiylikka asoslangan holda gi dasturlash usulidir. Yana protsedurali
dasturlash tillari (masalan, Paskal, Basic, Fortan) ham mavjud. OYD
ning undan asosiy farqi shundaki, OYD asosan obyektlar asoslangan holda ishlasa, <i>protsedurali dasturlash
tillari</i> esa asosan funktsiyalarga asoslangan bo'ladi ya'ni
bu usuldagi dasturlashda har bitta buyruqlar qadamma-qadam bajarilib
boriladi masalan: faylni och, raqamni o'qi, 4 ga ko'paytir va ekranga
chiqar.</span></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif;"><br /></span></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif;">Javada OYD ni tushunish
uchun quyidagi eng asosiy tushunchalarni o'rganib chiqishimiz kerak.
Ular: <b>Class</b>, <b>Metod(Funktsiya), O'zgaruchilar,
Konstantalar</b>.</span></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif;"><br /></span></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif;"></span><br />
<a name='more'></a><span style="font-family: Times, Times New Roman, serif;"><br /></span></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif; font-size: normal;"><b>Class</b>-
OYDning marzkazi hisoblanadi va u har xil kodlar, ma'lumotlar va shu
ma'lumotlar qay tarzda o'zgarishini ifodalovchi hususiyatlar
saqlanadi.Boshqacharoq
qilib aytadigan bo'lsak hayotiy obyektlarning qanday faoliyat
yuritishi, nimalardan iborat ekanligi, qanday hususiyatlarga ega
ekanligini tavsiflovchi kichik bir hujjat sifatida qarash ham mumkin.
Javada hamma narsa Class ichida sodir bo'ladi. Class o'z ichiga
o'zgaruvchilar va metodlar(funktsiyalar) va qiymati o'zgarmaydigan
konstantalarni oladi. Yana shuni ham ta'kidlash kerakki, har bitta
klass bitta o'zgaruchi tipi bo'lib ham hizmat qiladi. Xuddi Integer,
String yoki boshqa tiplar kabi har bir class ham ma'lum bir tip
sifatida qaralishi mumkin. Quyida Inson class qay tarzda yozilishi:</span></div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">public class Inson{</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<br /></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<br /></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times New Roman, serif;"><b>Object – </b>bu
class bilan farqli tushuncha xisoblanadi. Object biz yozgan
classimizdagi har xil qoidalarga bo'ysunadigan ma'lumot bo'lib, u
tezkor hotirada saqlanadi, class esa qattiq diskda saqlanadi. Har bir
yasalgan Object tezkor hotiraning ma'lum bir honachalariga
joylashadi. Hayotiy bir misol, masalan, ko'p qavatli binoni tezkor
hotira deb qarasak. Unda istiqomat qiluvchi insonlar esa unda
saqlanuvchi obyektlar bo'lib. Agar biz Insonning hususiyatlari,
bajaradigan ishlari va hokazo hususiyatlari haqidagi bilimlarni
qog'ozga tushursak bu qoralamani class deb qaralishi mumkin garchi u
texnik usulda yozilmagan bo'lsa ham. Biz ana o'sha qoralamani
classimizda kompyuter tushunadigan tilga keltiramiz.</span></div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times New Roman, serif;"><b>Metodlar(Funktsiyalar)
– </b>obyektimiz nimalar qila
olishini izohlaydi, masalan, Inson haqida yozgan qoralamamizda
insonni yura olishi va boshqa harakatlarini keltirganmiz. Aynan ana
o'sha qila oladigan ishlarini Metodlar orqali ifodalaymiz masalan
quyida <b>yur() </b>metodi
keltirilgan.</span></div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div dir="LTR" id="Section1">
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">public class
Inson{</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">public void
yur(){</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
</div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
</div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif;"><b>O'zgaruchilar</b>
– obyektlarimizni o'zgaruvchi sifatida ham qarashimiz mumkin bunda
uning qiymatlari o'zgarishi mumkin. Masalan Inson classimizda
insonning yurish tezligi o'zgaradi bunda uning tezligi qandaydir
sonlarda o'zgaradi masalan <b>yur()</b>
metodidan <b>yugur()</b>
metodiga o'tganda yoki <b>to'xta()</b>
metodiga o'tganda uning tezligi o'zgaradi. Shu va shunga o'xshash
obyektlar o'zgaruvchilar deb yuritiladi.</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">public class
Inson{</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">int tezlik=0;</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">public void
yur(){</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">tezlik=5;</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<br /></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">public void
yugur(){</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">tezlik=15;</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
</div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">public void
yur(){</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">tezlik=0;</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times New Roman, serif;"><b>Konstantalar –
</b>qiymatlari bir marta qo'yilib
qaytib o'zgarmaydigan obyektlar hisoblanadi. Masalan Inson
husisiyatlarga ega bo'lgan Toshmat classida uning tug'ilgan yili
o'zgarmaydi.</span><br />
<span style="font-family: Times New Roman, serif;"><br /></span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">public class
Toshmat{</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">int tezlik=0;</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">final int
tugilganYili=1989; // final kalit //so'zi obyektning konstanta
ekanligini bildiradi</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">public void
yur(){</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
</div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.97in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
</div>
<div class="western" style="margin-bottom: 0in; margin-left: 1.48in;">
<span style="font-family: Courier New, sans-serif;">}</span></div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Times, Times New Roman, serif; font-size: normal;">agarda biz
tugilganYili ga yana boshqa qiymat bermoqchi bo'lsak dastur xatolik
haqida habar beradi, chunki u dastlab <i>final</i><i> </i>kalit so'zi
orqali e'lon qilingan<i>.</i></span></div>
<br /></div>
Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com0tag:blogger.com,1999:blog-4978266463944679992.post-80385309775389486972012-07-10T14:46:00.000+05:002012-07-10T14:51:01.608+05:00IntelliJ IDEA: "Debug" qilish sirlaridan biri<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
Dastlab, juda katta 'collection' yoki 'array' lar bilan ishlaganimda, sikl bloki ichida o'zgaruvchining ma'lum bir qiymatiga yetganda qandaydir xatolik sodir bo'lganda, o'sha vaziyatda aynan nima bo'layotganini aniqlash uchun o'sha vaziyatga yetib borish juda qiyin bo'lardi(o'sha vaziyatga yetib borgunicha F9 ni bosib o'tirardim, juda vaqtni yeydigan holat...). Va shu narsani oldini olish mumkinliga ishonib Googlega yuzlandim. Nihoyat qidirib topdim, kimlargadir ham foydasi tegar deb ushbu maqolani ochdim.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Tushunarli bo'lishi uchun juda oddiy holatni misol qilib oldim:</div>
<div style="text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8oVBP_U1Xe0Nbqi1j1oQgAcQgQx0HNBaTARC8Nk7VuepIV-W9xa88MUt9NfY8Sjx8k9x_qIiFNxKp4TuvYXe0o48m9cK6voh_qtiCv20bcnOzoQdJCvebqvBlWUWXrIYsIboCfHOLpo/s1600/first.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8oVBP_U1Xe0Nbqi1j1oQgAcQgQx0HNBaTARC8Nk7VuepIV-W9xa88MUt9NfY8Sjx8k9x_qIiFNxKp4TuvYXe0o48m9cK6voh_qtiCv20bcnOzoQdJCvebqvBlWUWXrIYsIboCfHOLpo/s1600/first.PNG" /></a>
</div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: justify;">
Sikl ichida kerakli joyga <b>to'xtash nuqtasini </b>qo'yamiz va ustiga sichqonchaning o'ng tarafini bosamiz, undan <b>'Properties' </b>ni tanlaymiz.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpV5RUmAEmHrYflHWAwKRIdEZdsvRPnxEPmRXJV2wBZ-avI_6IA9-2gOYLRzA30oiHB-uL2RkEAAWr3LW8DykjD8PBzG3zKgt3KYYBDuCNZP19EXamko7F7Hmc8Pqcc9TqJB1RKC7DGH4/s1600/2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpV5RUmAEmHrYflHWAwKRIdEZdsvRPnxEPmRXJV2wBZ-avI_6IA9-2gOYLRzA30oiHB-uL2RkEAAWr3LW8DykjD8PBzG3zKgt3KYYBDuCNZP19EXamko7F7Hmc8Pqcc9TqJB1RKC7DGH4/s1600/2.PNG" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Natijada quyidagi oyna ochiladi. Undan 'Conditions' bo'limidan 'Condition' ni belgilab, ochilgan joyga kerakli shartni yozamiz, keltirgan misolda <i style="font-weight: bold;">i == 777 </i>ni shart qilib oldim, ya'ni agarda <i style="font-weight: bold;">i </i> sikl o'zgaruvchisi 777ga teng bo'lsa o'sha yerdagi belgilangan to'xtash nuqtasida to'xtaydi.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxZISxUkS0iEo0BO5zbnMYYJwGzQgTFoQhMPam3SXmO1Q1We2vz9-EP32NHg78ti1LdiNZnqn5dHl-kfc4psIlKgow9EuoZ0QfTcWDYhBoNeGQCDCwBVESFIuYXJCvd5w2fkWA4J570Ss/s1600/3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxZISxUkS0iEo0BO5zbnMYYJwGzQgTFoQhMPam3SXmO1Q1We2vz9-EP32NHg78ti1LdiNZnqn5dHl-kfc4psIlKgow9EuoZ0QfTcWDYhBoNeGQCDCwBVESFIuYXJCvd5w2fkWA4J570Ss/s1600/3.PNG" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Ya'ni quyidagicha holatda bo'ladi:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSVaB6ocGPRjgqGB0dFW22Ecy7atIy3YaJJW9Y9Ib0dILC1T8CjuDEGWli8AvE2ijnyZ73TdxR1DMMvRQLPrqvGxRFtKz99l2lWhVyJ34SXjcLok87tTUaC4J1OKO5nsSMaWLbx4RImOE/s1600/4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSVaB6ocGPRjgqGB0dFW22Ecy7atIy3YaJJW9Y9Ib0dILC1T8CjuDEGWli8AvE2ijnyZ73TdxR1DMMvRQLPrqvGxRFtKz99l2lWhVyJ34SXjcLok87tTUaC4J1OKO5nsSMaWLbx4RImOE/s1600/4.PNG" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
</div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com5tag:blogger.com,1999:blog-4978266463944679992.post-52587346600178624092012-04-02T16:08:00.000+05:002012-04-02T16:17:58.589+05:00Ajib haqiqat, zarbulmasal<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI9trXDDmfCcUhgW3airWp4KyJ5sS7eNL26yz-1VBg0QizsWN3oJbtmrKD9lQqj1AtF_CvycIXX-i0F7lydPwNUGC2UxctpF9_LcBSJw6iC_WfJiJdW3I-WJxHee4KVam8RwfaZlN8gck/s1600/538972_200699873366798_100002803610572_222380_449668922_n.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI9trXDDmfCcUhgW3airWp4KyJ5sS7eNL26yz-1VBg0QizsWN3oJbtmrKD9lQqj1AtF_CvycIXX-i0F7lydPwNUGC2UxctpF9_LcBSJw6iC_WfJiJdW3I-WJxHee4KVam8RwfaZlN8gck/s200/538972_200699873366798_100002803610572_222380_449668922_n.jpg" width="200" /></a></div>
<div style="text-align: justify;">
<span style="background-color: white; color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;"> Bir kishi katta do'konga kirib, narxlari juda qimmat bo'lgan 3 ta to'ti qush sotilayotganini ko'rib</span><span style="background-color: white; color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;"> </span><span style="background-color: white; color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;">yoqasini ushlab qolib sotuvchidan nega shuncha qimmatligini so'radi.</span></div>
<div style="text-align: justify;">
<span style="background-color: white; color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;"><i>Sotuvchi:</i> birinchi to'ti qush M.S Office & Windows XP & Vistalarni boshqara oladi, narxi 200 ming, </span><span style="background-color: white; color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;">ikkinchisi 250 ming, Analitik & Senyor Programmist. Oxirgisining narxi esa 500ming.</span></div>
<span class="text_exposed_show" style="background-color: white; display: inline;"><span style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;">
</span>
</span><br />
<div style="text-align: justify;">
<span class="text_exposed_show" style="background-color: white; display: inline;"><span class="text_exposed_show" style="background-color: white; display: inline;"><span style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;"><i>Haridor:</i> Unisi nima qiladi?</span></span></span></div>
<span class="text_exposed_show" style="background-color: white; display: inline;">
<div style="text-align: justify;">
<span class="text_exposed_show" style="background-color: white; display: inline;"><span style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;"><span class="text_exposed_show" style="display: inline;"><i>Sotuvchi javob berdi:</i> To'grisini aytsam, u hech nima qilmaydi, lekin anovi ikkovi uni "XO'JAYIN!" deb chaqirishadi! :-D</span><span style="background-color: transparent;"> </span></span></span></div>
<span class="text_exposed_show" style="background-color: white; display: inline;"><span style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 18px;">
</span></span></span></div>
Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com0tag:blogger.com,1999:blog-4978266463944679992.post-84016091352164304212012-03-30T21:44:00.000+05:002012-03-31T17:56:58.027+05:00Qanday qilib yaxshi kod yozayotganimni bilsam bo'ladi?<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZf0DMr_i_tMrPV0n285LA0fu8wnaoCvVJucALWXqW2p_Fz52dCyvM5heyPwYz-N391AzKBC2WwXE2eHvxJhq6L0mVx1fbOjieHjwhy2QJ33JFl8OsueITvUbLAo3h_ZS7bHsO5_i3-PE/s1600/clean-code.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><br /><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZf0DMr_i_tMrPV0n285LA0fu8wnaoCvVJucALWXqW2p_Fz52dCyvM5heyPwYz-N391AzKBC2WwXE2eHvxJhq6L0mVx1fbOjieHjwhy2QJ33JFl8OsueITvUbLAo3h_ZS7bHsO5_i3-PE/s200/clean-code.jpg" width="135" /></a></div>
<b>1-Javob:</b><br />
<div style="text-align: left;">
Quyidagi yordamchi savollar bilan aniqlashni odat qilganman:</div>
<br />
<ol style="text-align: left;">
<li>Agarda kodga qaytib yana bir nimalarni qo'shib-o'zgartirishlar kerak bo'lsa, bu qiyinmi(demak nimadir xato)?</li>
<li>Siz yozilgan, ishlab turgan kodlaringizni buzib boshqa narsalar qo'shishingiz kerekmi?(demak yana o'sha narsa)<a name='more'></a></li>
</ol>
<hr style="border-width: 1px; color: #222222;" />
<b>2-Javob:</b><br />
Uchta <i>oltin qoida</i> bor:<br />
<br />
<ol style="text-align: left;">
<li>Agarda men ma'lum bir kod bloklarini faqat ko'chirib-qo'yishga(copy/paste) majbur bo'lib qolsam demak nimadirni xato qilyapman.</li>
<li>Agarda yozgan kodimni to'laligicha tassavvur qila olmas ekanman demak nimadir xato.</li>
<li>Agarda kimdir yozgan kodlarim bilan ishlashni boshlab, ular ichida <i>"yo'qolib"</i> qolsa, ya'ni tushunmasa demak nimadir aniq xato.</li>
</ol>
<br />
<hr style="border-width: 1px; color: #222222;" />
<b>3-Javob:</b><br />
Agarda siz yozayotgan kodlar quyidagi shartlarni bajarsa demak u yaxshi:<br />
<br />
<ol style="text-align: left;">
<li>Kodlaringiz aqlli tarzda yozilgan bo'lishi kerek, lekin o'ta aqlli holda emas.</li>
<li>Algoritmlar ham tezlik nuqtai nazaridan, ham kodni o'qilishi nuqtai nazaridan yaxshi(optimal) bo'lishi kerak.</li>
<li>Klasslar, O'zgaruvchilar, Funktsiyalar bajaradigan vazifasiga qarab to'gri nomlangan ularni nimani bajarishini ko'p o'ylab o'tirish kerak bo'lmasligi kerak.</li>
<li>Yozayotgan kodingizni bir haftadan so'ng kelib ham to'g'ridan-to'g'ri qiynalmay davom keta olishingiz kerak.</li>
</ol>
<hr style="border-width: 1px; color: #222222;" />
<b>4-Javob:</b><br />
<ol style="text-align: left;">
<li>Qachonki klasslaringiz aniq bitta maqsadga yo'naltirilgan g'oya uchun hizmat qilsa, boshqa klasslardan o'zinging o'zining aniq maqsadi bilan farq qilinishi. (Agarda bir xil maqsadga yo'naltirligan klasslarning ko'payishi katta proyektlarda kodni boshqarishni qiyinlashtiradi)</li>
<li>Klassdagi funktsiyalar(metodlar) qisqa bo'kishi kerak -- idial holda ko'pi bilan 50 qator, lekin albatta 100 qatordan ko'p bo'lmasligi kerak.Ularning(funktsiyalarning) nomlari ular nima qilishini aniq va tiniq ifodalashi kerak. Shu bilan birga funktsiyalar aynan nomlangan maqsadida ishlatilishi kerak. Agarda kod 100 qatordan o'tib ketsa uning ichidan ma'lum bir maqsadga yo'naltirilganini ajratib alohida metod qilish tavsiya qilinadi.</li>
</ol>
<hr style="border-width: 1px; color: #222222;" />
Yuqoridagi javoblar soddalashtirilgan holda <a href="http://stackoverflow.com/" target="_blank">http://stackoverflow.com</a> saytidan olindi. Bu javoblarni har xil malakaga ega bo'lgab dasturchilar berishgan.<br />
<div>
<br /></div>
</div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com2tag:blogger.com,1999:blog-4978266463944679992.post-72502312103223933902012-03-28T16:32:00.001+05:002012-03-30T21:29:14.864+05:00Obyektga yo'naltirilgan dasturlash(OYD)<div dir="ltr" style="text-align: left;" trbidi="on">
<b><i>Obyekt</i> nima?</b><br />
<div align="JUSTIFY">
Obyekt Obyektga
yo'naltirilgan dasturlash(OYD) texnologiyasining eng asosiy kalit
tushunchasidir. Atrofga qarang, haqiqiy hayotdagi bir necha
obyektlarni ko'rishingiz mumkin: stol, uy, it, mushuk, televizor va
h.k.
</div>
<div align="JUSTIFY">
Ularning
barchasining albatta hususiyatlari
va bajaradigan
vazifalari (funktsiyalari)
bor. Masalan, Mushuk hususiyatlari:
rangi, qorni to'qligi, yoshi, jinsi; funktsiyalari:
ovqat
yeyishi, myovlashi, yurishi, sichqon tutishi. Mashina, hususiyatlari:
tezligi,
rangi, nomi, narxi; funktsiyalari:
yurishi, to'xtashi, oyna artgichlarining ishlashi, eshiklarning
ochilib yopilishi v.h.k. Bu kabi hayotiy misollarning hususiyatlari
va funktsiyalarini
aniqlash OYD nuqtai nazaridan fikrlashning eng zo'r ko'rinishidir.<br />
<a name='more'></a></div>
<div align="JUSTIFY">
Bir
daqiqaga to'xtang va hozirda atrofingizdagi biror narsalarni analiz
qiling. Har bir obyekt uchun o'zingizdan so'rang: “Bu
obyektning qanday hususiyatlari bor?”
, “Qanday
vazifalarni bajaradi?”
kabi. Va kuzatish natijalaringizni yozib oling, sezgan bo'lsangiz
tuziladigan ro'yxat obyektning murakkabligiga qarab ko'payib boradi.
Kompyuter indikatorining 2 ta <i>hususiyati</i>
bor o'chiq va yoniq; <i>funktsiyalari
</i>esa
yonish va o'chish. Bu barcha kuzatishlar OYD dunyosiga o'tkazish
mumkin.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbKlbxNcU6f8HRdG8TG7sgIiC4B73Skt3M6hbrpKShhzwfOcujwOGHam7R7rDcm2wKwLhWGsAsLLPwoJYxzENDmO6M4nqT9mphH5Kzmx7h_xzvZkA2dk7MATNDOvOvi59fVkzPqflPTkI/s1600/concepts-object.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbKlbxNcU6f8HRdG8TG7sgIiC4B73Skt3M6hbrpKShhzwfOcujwOGHam7R7rDcm2wKwLhWGsAsLLPwoJYxzENDmO6M4nqT9mphH5Kzmx7h_xzvZkA2dk7MATNDOvOvi59fVkzPqflPTkI/s320/concepts-object.gif" width="320" /></a></div>
<div align="JUSTIFY">
<br />
<br /></div>
<div align="JUSTIFY">
<b>Dasturlashdagi
obyekt.</b></div>
<div align="JUSTIFY">
Dasturlashdagi obyekt(bundan keyin oddiygina <i>obyekt</i> deb
ketiladi) ham haqiqiy hayotdagi obyektlarga o'xshash: Ular ham
qandaydir hususiyatlar va bajaradigan funktsiyalardan iborat bo'ladi.
Obyektning hususiyatlari har xil dasturiy <i>o'zgaruvchilardan</i>
iborat bo'ladi va ularning o'zgartirish uchun qandaydir <i>funktsiyalar</i>
bajariladi. Bunday <i>funktsiyalar</i> bilan o'zgaruvchilarning
holatini berkitish mumkin ya'ni aynan o'sha o'zgaruvchini tashqaridan
o'zgartirish uchun albatta maxsus funktsiyadan foydalanish kerak
bo'ladi. Bu jarayon “<b>Enkapsulatsiya</b>” deb atalib, OYDning
eng muxim tushunchalaradian biridir. Hech e'tibor berganmisiz
dorilarda ham shu termin ishalitladi ya'ni kapsula(ustidan maxsus
modda bilan o'ralgan dorilar), buni misolni <b>Enkapsulatsiya
</b>jarayoni esda yaxshi qolishi va tushunarli bo'lishi uchun
keltirdim.</div>
<div align="JUSTIFY">
</div>
<div align="JUSTIFY">
<br />
<span style="text-align: left;"> Mashinani tasavvur qiling,</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div align="JUSTIFY">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipAT2LZLHnnC3KYHBHXLNLtN1tJ6hROk5-0gNGvKmf6cSzdFjmEKgsWbTd-4CkEO7NMB2en6Utaq0U0b1dz6thKR0PBOnx3lZqxK5neFwtZuCtcTcQvsNx-ZhcypSPAofVi6rugTd4X30/s1600/concepts-object.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipAT2LZLHnnC3KYHBHXLNLtN1tJ6hROk5-0gNGvKmf6cSzdFjmEKgsWbTd-4CkEO7NMB2en6Utaq0U0b1dz6thKR0PBOnx3lZqxK5neFwtZuCtcTcQvsNx-ZhcypSPAofVi6rugTd4X30/s320/concepts-object.gif" width="320" /></a></div>
<br /></div>
<div align="JUSTIFY">
Uni dasturlash obyekit sifatida modellashtiramiz:</div>
<div align="JUSTIFY">
Uning o'zgaruvchilari( hozirgi tezligi, qolgan benzini, va h.k) va
uning funktsiyalari(to'xtatish, tezlikni oshirish, rulni burish, va
h.k.). Bu yerda uning bakidagi benzini yurishi tufayli kamayib boradi
demak uning qiymatining o'zgarishi 0dan bakning sig'imigacha
bo'ladi, yoki uning tezligi ham shu kabi aynan qaysidir
funktsiyalarning amalga oshirilishi orqali u ham 0 dan maksimal
tezligigacha o'zgarishi mumkin. Bulardan tashqari mashinaning ba'zi
hususiyatlari borki ular o'zgarmasligi mumkin, masalan, rangi.</div>
<div align="JUSTIFY">
Demak, ko'rinib turiptiki mashina ham o'z navbatida bir necha mayda
obyeklardan iborat bo'ladi. Va albatta ularni kodda yozganda ham
alohida obyekt sifatida ifodalash kerak bu orqali nimalarga erishish
mumkin:</div>
<ol>
<li><div align="JUSTIFY">
Qismlilik: Har bir obyektga tegishli bo'lgan kodlar alohida-alohida,
boshqa obyeklarga bog'liq bo'lmagan holda boshqarish imkoniyatiga
ega bo'lamiz. Bu hammasi emas, tasavvur qiling mashina obyektini
ifodalovchi kodni bo'lmasdan faqat bitta faylda ifodaladik; bu esa
murakkabligiga qarab yuzlab hatto minglab qatorli kod bo'lishi
mumkin. Undan biror narsani topib-o'zgartrish ancha mashaqqat
bo'ladi.
</div>
</li>
<li><div align="JUSTIFY">
Qayta foydalanish: Yana boshqa plyus tarafi biz bo'laklagan
mashinaning detallarini boshqa obyektlarda ham ishlatishimiz mumkin.
Masalan, 2 xil mashina ularning shunday qismlari borki aynan bir
xil, ana o'shalar uchun ikki marta alohida kod yozmasdan, bitta
yozganimizni qayta ishlatishimiz mumkin.
</div>
</li>
<li><div align="JUSTIFY">
Uzib-ulanuvchanligi:
buni tushunish uchun yuqoridagi misoldan foydlanamiz, aytaylik,
mashinaning biror qismi ishlamayapti, xo'sh nima qilinadi? yoki
ishlab turgan boshqasiga almashtiramiz, yoki tuzatamiz. Mashinaning
biror bolti buzilsa uni boshqa ishlab turgani bilan almashtirasiz
yoki tuzatamiz lekin mashinani almashtirmaymiz.</div>
</li>
</ol>
<div align="JUSTIFY">
Bu
yuqoridagi ma'lumotlar yaxshi tushunarli bo'lmagan bo'lsa. Keyingi
maqolalarda bularni kodlar bilan yozib tushuntirib boriladi.
</div>
</div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com2tag:blogger.com,1999:blog-4978266463944679992.post-14013341100444909262012-03-17T15:24:00.009+05:002012-03-17T21:29:38.580+05:00Googledan oson qidirishing usullari<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<div style="margin-bottom: 0in;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQX9AJctcR0OAbk7w_JcRoAYHV7e-vyTwCr71F6EYa1DdNdW4hngZ7dmiugIQYONHEE0HW7oEK4KZWNj-9wzgc3aWOEvDtB90M68IQGLiJxXjPEv6XLf43Pr6pOFmk6lhSJOkC5hMmyyI/s1600/Google-Search-Tips-Cover.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQX9AJctcR0OAbk7w_JcRoAYHV7e-vyTwCr71F6EYa1DdNdW4hngZ7dmiugIQYONHEE0HW7oEK4KZWNj-9wzgc3aWOEvDtB90M68IQGLiJxXjPEv6XLf43Pr6pOFmk6lhSJOkC5hMmyyI/s200/Google-Search-Tips-Cover.jpg" width="190" /></a></div><br />
Google qidiruv tizimi eng kuchli qidiruv tizimlaridan biri hisoblanadi. Googledan qay tarzda qidirsak bizga kerakli ma'lumotlarni tezkor olishimiz mumkin? Bu savolga quyidagi usullar yordamida javob topish mumkin:<br />
<br />
</div><ol><li><div style="margin-bottom: 0in;">Odatiy qidiruv usuli: Masalan <a href="http://lmgtfy.com/?q=o'zbek+milliy+taomlari">o'zbek milliy taomlari</a><b> </b>so'zlarini qidiramiz, va natijada bizga ketma-ketligidan qattiy nazar aynan <b>o'zbek, milliy, taomlar </b> so'zlari qatnashuvchi web-sahifalar olib chiqiladi.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoyiX0Ea4qVnLSoMY1eKRL1EfVZGxacT3JLa5IrSsD49uSEjugBGtTBfajjZ3MGNk71IFlyzgPLTO_1QPIYuSMjqWhSJgqjShlbaq4j88uja_VIPq6dYqZ6isOHjL3IDzXNTpZZ_ySjPI/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="174" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoyiX0Ea4qVnLSoMY1eKRL1EfVZGxacT3JLa5IrSsD49uSEjugBGtTBfajjZ3MGNk71IFlyzgPLTO_1QPIYuSMjqWhSJgqjShlbaq4j88uja_VIPq6dYqZ6isOHjL3IDzXNTpZZ_ySjPI/s640/1.JPG" width="640" /></a></div><a name='more'></a><br />
<div style="margin-bottom: 0in;"><br />
</div></li>
<li><div style="margin-bottom: 0in;">Aytaylik bizga aynan shu ketma-ketlikdagi so'zlar qatnashgan web-sahifalarni qidirishimiz kerak bo'lsin, u holda kalit so'zni qo'shtirnoq ichida ko'rsatishimiz kerak bo'ladi, masalan, <br />
“<a href="http://bit.ly/wanU1W">o'zbek milliy taomlari </a>“. </div><div style="margin-bottom: 0in;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9yrlOBhyRSsIYteojznCCXgOTVqgVWbECq5Ufz9H_RZTj-iHRo6379AKkpHSMdy3HYf6J3rP_2DYBmhr4qF2b38HQjNPYofA-qnEWkljyHajSV6jyVlwZhVxhZU1bU9qTmw2io91xBqE/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9yrlOBhyRSsIYteojznCCXgOTVqgVWbECq5Ufz9H_RZTj-iHRo6379AKkpHSMdy3HYf6J3rP_2DYBmhr4qF2b38HQjNPYofA-qnEWkljyHajSV6jyVlwZhVxhZU1bU9qTmw2io91xBqE/s640/2.JPG" width="640" /></a> </div></li>
<li><div style="margin-bottom: 0in;">Boshqacharoq holat, agar bizga ma'lum so'zlar qatnashmagan web-sahifalar kerak bo'lsa “-” belgisini keraksiz so'z oldiga qo'yiladi. Bu orqali siz qidiruv natijangizni qisqartirib kerakli faqatgina kerakli ma'lumotlarni tezroq va osonroq olishingiz mumkin. <a href="http://bit.ly/xPD7Lh">o'zbek milliy -taomlari </a>.</div><div style="margin-bottom: 0in;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHXLbreHtjgcwrMNbu410DjjLEsqbh-whRWLaDRkd-QbkGEnryFzEeicEa24GVb8ZbbIFJZJWRX6pcrl4D0-0bg0PILX9DBQxaEQKE5ambnCqTM7pRu4CvBTfK12EXzUgFg0vD6aDF5EM/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHXLbreHtjgcwrMNbu410DjjLEsqbh-whRWLaDRkd-QbkGEnryFzEeicEa24GVb8ZbbIFJZJWRX6pcrl4D0-0bg0PILX9DBQxaEQKE5ambnCqTM7pRu4CvBTfK12EXzUgFg0vD6aDF5EM/s640/3.JPG" width="640" /></a> </div></li>
<li><div style="margin-bottom: 0in;">Google orqali ma'lum bir turdagi fayllarni ham qidirishimiz mumkin, bunda <i>filetype </i>kalit so'zidan foydalanamiz. Masalan <a href="http://bit.ly/y5CuLB">matematika fani filetype:doc</a> . *.doc faylidan boshqa yana boshqa ba'zi fayllarni ham qidirishimiz mumkin masalan: *.ppt, *.xls, *.pdf kabilar.</div><div style="margin-bottom: 0in;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT4Jash_qxO_MaH_HTE3qnlfShKoszcTfD38_eelvovQ92_xVNzX8zDt38IDGmx4UeSDwfn2q6CTqhH6XPvpFEdpRJChn61bZO0Ud74W3H8d0GlrokDtr9bVzYXwoXfu_B6yo5ZWRDy7s/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiT4Jash_qxO_MaH_HTE3qnlfShKoszcTfD38_eelvovQ92_xVNzX8zDt38IDGmx4UeSDwfn2q6CTqhH6XPvpFEdpRJChn61bZO0Ud74W3H8d0GlrokDtr9bVzYXwoXfu_B6yo5ZWRDy7s/s640/4.JPG" width="640" /></a> </div></li>
<li><div style="margin-bottom: 0in;">Aytaylik biz qidirgan ma'lumotlar ma'lum bir sayt(masalan: <a href="http://www.islom.uz/">www.islom.uz</a>, <a href="http://www.ziyonet.uz/">www.ziyonet.uz</a>) yoki domenga(masalan .uz, .ru yoki .com) tegishli bo'lgan web-sahifalardan qidirishimiz kerak bo'lsin. U holda <i>site </i>kalit so'zidan foydalanamiz:</div><div style="margin-bottom: 0in;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnCy341_tRIG426N2SYIsOoaarlef02RIKzSEctAoicMyISxeMzsgjTrvc00_jPDzYlwfZq2UZ3W4BLjfp88IhF-fPykO9VEyWFzy2FWboOsYr6Yyg3gszIry1molfAYpE4lgQccXE3Us/s1600/5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnCy341_tRIG426N2SYIsOoaarlef02RIKzSEctAoicMyISxeMzsgjTrvc00_jPDzYlwfZq2UZ3W4BLjfp88IhF-fPykO9VEyWFzy2FWboOsYr6Yyg3gszIry1molfAYpE4lgQccXE3Us/s640/5.JPG" width="640" /></a> </div><div style="margin-bottom: 0in;"><a href="http://www.ziyouz.uz/">www.ziyouz.uz</a> saytidan matematika kalit so'zini qidiramiz: <a href="https://www.google.com/search?ie=UTF-8&q=matematika+site:ziyonet.uz">matematika site:ziyonet.uz</a> yoki uz domenidan qidirsak <a href="https://www.google.com/search?ie=UTF-8&q=matematika+site:uz">matematika site:uz</a>. </div></li>
<li><div style="margin-bottom: 0in;">Xattoki saytlarning URL manzili orqali ham qidirish mumkin bunda <i>inurl </i>kalit so'zidan foydalanamiz, masalan, URL manzilida <b>dastur </b>so'zi qatnashgan va <b>uz </b>domenidagi web-sahifalarni qidirsak: <a href="https://www.google.com/search?btnG=1&pws=0&q=foydali+inurl:dastur+site:uz">foydali inurl:dastur site:uz</a> </div><div style="margin-bottom: 0in;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9HRsCFOfWtdniW9KrEdSMmvH_8ilzGfCWGnitvH2FTsht6UD7HcD1SsAlDVTQtuMgSyj9pxC7hss2ckw9ziefkMldXiCGzQ2dk4Jr_-2ofJe0oklb8udvlFCN5FMLvn6aLvgxA-elcTo/s1600/6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9HRsCFOfWtdniW9KrEdSMmvH_8ilzGfCWGnitvH2FTsht6UD7HcD1SsAlDVTQtuMgSyj9pxC7hss2ckw9ziefkMldXiCGzQ2dk4Jr_-2ofJe0oklb8udvlFCN5FMLvn6aLvgxA-elcTo/s640/6.JPG" width="640" /></a> </div></li>
</ol><div style="margin-bottom: 0in;"><br />
</div><div style="margin-bottom: 0in;">Yuqorida keltirilgan 6 usulni bir-biri bilan qo'shib foydalansa bo'ladi, masalan <b>uz </b>domenidagi <b>pdf</b> fayllar va hokazo. </div></div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com3tag:blogger.com,1999:blog-4978266463944679992.post-75845536948554570862012-03-12T07:19:00.000+05:002012-03-17T15:11:08.097+05:00Maqolani diqqatingizni bo'lmay o'qing<div dir="ltr" style="text-align: left;" trbidi="on">Internetda ko'pchiligimiz har xil sayt, bloglardan yangiliklar va turli xildagi maqolalar o'qiymiz. U saytlarning tashqi ko'rinishi, ranglar mosligi, sayt yonidagi bo'lar-bo'lmas bannerlar odamni maqolani o'qishdan chalg'itadi. Ayniqsa ruslarning saytlaridagi bannerlarga chidab bo'lmaydi. Shu noqulayliklarni oldini olishni yo'li bor, masalan, Google Chrome, Mozilla Firefox browserlarida, turli xil qo'shimcha dasturchalari(Extensions/Add-ons) bor. Men ham ulardan bir nechtasini ishlatib ko'rdim va nihoyat yaxshirog'ini topdganay bo'ldim va uni boshqalarga ham foydasi tegadi degan umiddaman. <br /><a href="https://www.google.com/chrome">Google Chrome</a>dan foydalansangiz <a href="https://chrome.google.com/webstore/detail/iooicodkiihhpojmmeghjclgihfjdjhj?utm_source=chrome-ntp-icon">Clearly</a> deb nomlanuvchi qoshimchani o'rnatib olishingiz mumkin. <a href="http://www.mozilla.org/en-US/firefox/new/">Firefox</a> da esa Ctrl+Shift+A ni bosilsa qo'shimchalar oynasi ochiladi, undan "Clearly" deb qidirsangiz ro'yxatining boshida chiqadi.<br />Agar Internet Explorer ishlatsangiz darxol boshqa browserni yuklab oling!!! :D<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMO_k5aKhgqIZMESVMu_HkbiUOqa8Hyu0FIWLMVmxZ5foxThlZ4gZPLN1wYVcxzFLFTFZTPtygX1woixjK4nNCxf_08lZUZKhlkWvneCdvDHpHFrh9UYVfz1EsW-60XkD_VwchxeglR88E/s1600/after2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMO_k5aKhgqIZMESVMu_HkbiUOqa8Hyu0FIWLMVmxZ5foxThlZ4gZPLN1wYVcxzFLFTFZTPtygX1woixjK4nNCxf_08lZUZKhlkWvneCdvDHpHFrh9UYVfz1EsW-60XkD_VwchxeglR88E/s400/after2.JPG" width="400" /></a></div><br /><br /><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody><tr><td style="text-align: center;"><div style="text-align: left;">1.<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl5vMwdbnUgS_d59NQ_-IBNhp97Xf5LyysbqYj1PECGf02wEyvpuOo9zWRB-UKIErYMTO8yX62HTQ32GkHSL4_5XQ9ltq68-Tv-ihcOdkmI-ehdHBi3L7T9VIiW7gnGzOgsGJqYaTJ3hd7/s1600/icon.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl5vMwdbnUgS_d59NQ_-IBNhp97Xf5LyysbqYj1PECGf02wEyvpuOo9zWRB-UKIErYMTO8yX62HTQ32GkHSL4_5XQ9ltq68-Tv-ihcOdkmI-ehdHBi3L7T9VIiW7gnGzOgsGJqYaTJ3hd7/s1600/icon.JPG" /></a> ikonkani bosilsa maqola keyingi holatga o'tadi. </div><div style="text-align: left;">2. Keyingi belgilangan "2" orqali tezkor holatini o'zgartirish mumkin.</div><div style="text-align: left;">3. "Custom" orqali qulay boshqa stilni(matn fonti va rangi, orqa rangi) o'zgartirish mumkin. </div><div style="text-align: left;">4. Matnni o'lchamlarini tezkor o'zgartirish uchun. </div></td></tr><tr><td class="tr-caption" style="text-align: center;"><br /><br /></td></tr></tbody></table></div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com1tag:blogger.com,1999:blog-4978266463944679992.post-53011186993250757772011-02-17T12:41:00.001+05:002012-03-17T15:56:14.701+05:00Java da Compilyator<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><br />
</div> Javada kompilyator aytib o'tganimizdek biz yozgan kodni bayt-kodga o'giradi,odatda kompilatsiyadan o'tgan klasslar <span class="Apple-style-span" style="background-color: #76a5af;">*.class</span> qisqartirmasi bilan tugaydi.Va kompilatsiyadan o'tgan klassni <b>Java Virtual Machine</b>(JVM) ga yuklanadi va bayt-kodli fayllarni interpretatsiya qiladi, ya'ni mashina tiliga o'giradi va shu bilan birga undagi kodni imkoni boricha optimallashtiradi.<br />
<div class="separator" style="clear: both; text-align: center;"><br />
</div> Quyida ba'zi kompilyatorlar keltirilgan:<br />
<ul style="text-align: left;"><li><b>javac - </b>Java Development Kit (JDK) tarkibidagi Sun Microsystem tomonodan ishlab chiqilgan, 2006 -yildan beri Ochiq kodli (Open Source) .</li>
<li><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"><b>GCJ - gcc </b>kompilyatoringing bo'lagi bo'lib ,Java dan tashqari C,Pascal, Fortan va boshqa tillar uchun ham kompilyator sifatida ishlatiladi.</span></li>
<li><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"><b>ECJ</b> - Eclipse ning java kompilyatori, IBM VisualAge kompilyatoriga asoslangan ochiq kodli kompilyator.</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"> <a name='more'></a>Davomini o'qish</span></li>
</ul><span class="Apple-style-span" style="font-family: sans-serif; font-size: small;"><span class="Apple-style-span" style="font-size: 13px; line-height: 19px;"> Biz yuqoridagilardan </span></span>JDK tarkibidagi javac kompilyatoridan foydalanamiz.JDK o'zi nima?<br />
<div>JDK- bu javada ishlovchi dasturchi uchun kerak bo'ladigan bo'ladigan turli xil yordamchi dastur umumiy majmuasi. Ularga javac dan tashqari quyidagilarni misol qilish mumkin:</div><div><ol style="text-align: left;"><li>jar - arxivlovchi bo'lib, javadagi *.jar kutubxonalarini boshqarishda va yozilgan kodlarni *.jar arxivi ko'rinishiga keltiruvchi yordamchi dastur. </li>
<li>javadoc - javada yozilgan kodlarga dokumentatsiya va kommentariyalar xosil qiluvchi yordamchi dastur.</li>
<li>jdb-debugger(yozilgan kodni qadamma-qadam tekshirib borish va shu kabi tekshirishlar uchun qulay yordamchi dastur)</li>
<li><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">jstat - JVM ning statistikasini ko'rsativchi yordamchi dastur.</span></li>
</ol><span class="Apple-style-span" style="font-family: sans-serif; font-size: small;"><span class="Apple-style-span" style="font-size: 13px; line-height: 19px;"> Bulardan tashqari JDKda yana ko'pgina yordamchi dasturlari bor, masalan </span></span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">apt, </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">javaws, </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">javah, </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">javap, </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">jps, </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">policytool, </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">wsimport, </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">jstatd, jinfo va boshqalar.</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"> </span></div><div><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"> JDK ni so'nggi versiyasini uchbu </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"><span class="Apple-style-span" style="background-color: white;">link</span></a> <span id="goog_1329559703"></span>orqali</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"> </span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;">yuklab olishingiz mumkin. Uni o'rnatgandan keyin <a href="http://download.tuxfamily.org/notepadplus/5.8.7/npp.5.8.7.Installer.exe"><span class="Apple-style-span" style="background-color: white;">Notepad++</span></a> orqali Javadagi birinchi dasturni yozamiz.Daslab Notepad++</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"> orqali yozamiz. Notepad++ ni o'rnatgandan keyin yangi fayl oching unga quyidagi kabi kodini yozing(Ko'chirib qo'ymasdan o'zingiz yozishingiz foydaliroq agarda ko'p xato qilsangiz ham.)</span></div><br />
<pre class="brush: java">public class SalomDunyo{
public static void main (String[] args) {
System.out.println("Salom, dunyo!");
}
}
</pre> Xar bir yangi klass yaratganingizda Uni katta harflar bilan yozing, xuddi SalomDunyo.java kabi.<br />
Yozilgan faylni saqlang. Endi, <i>Windows+R </i> ni bosing va unga <b><i>CMD </i><span class="Apple-style-span" style="font-weight: normal;"> deb yozib <i>ENTER </i>ni bosing, Command Prompt (Kommandnaya stroka) ochiladi u yerga SalomDunyo.java klassi saqlangan manzilni kiritish kerak. Buning uchun </span><i>CD <span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="font-style: normal;">buyrug'idan foydlanamiz.Mening komyuterimda SalomDunyo.java ning manzili quyidagicha:</span></span></i></b><br />
<b><i> C:\Users\devPro404\Documents\java\SalomDunyo.java</i></b><br />
<b><i><br />
</i></b><br />
Kommandalar qatori oynasida quyidagicha ko'rinish oladi.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfHVDbzycf-bIe4iMIK_mnjeoYe6457EGYm_03oGmpyJDnQUN-jZ1ZuaZ2O3A1N6WZYIiRTIlIJZu4xxUBWjiHNOTrkkIakjmA0ds8MnZv76LwPZSIwGNCYYqt1Ll_fqAXDnR_XoqlDfK1/s1600/cmd.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfHVDbzycf-bIe4iMIK_mnjeoYe6457EGYm_03oGmpyJDnQUN-jZ1ZuaZ2O3A1N6WZYIiRTIlIJZu4xxUBWjiHNOTrkkIakjmA0ds8MnZv76LwPZSIwGNCYYqt1Ll_fqAXDnR_XoqlDfK1/s1600/cmd.PNG" /></a></div><br />
<a href="" name="more"></a>Endi navbatdagi qatorda faylimizni kompilyatsiyadan o'tkizishni boshlaymiz va u:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdcxoe8KiSvo6-lE1NLGIOM5ywiJxgn3i6pTo9GHr8grFKLTmUJb4e3fWgGdh97-09wywb5ODRSuKGauxbElveonywPA7fuLjbLBz5x2r54Y_QlhlBaKzp0wuI7-DzKrhjxNCwRcF7Sdet/s1600/javac.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdcxoe8KiSvo6-lE1NLGIOM5ywiJxgn3i6pTo9GHr8grFKLTmUJb4e3fWgGdh97-09wywb5ODRSuKGauxbElveonywPA7fuLjbLBz5x2r54Y_QlhlBaKzp0wuI7-DzKrhjxNCwRcF7Sdet/s1600/javac.PNG" /></a></div><br />
<i>ENTER </i>ni bosamiz va mening kompyuterimda quyidagicha natija chiqdi:<br />
" '<i>javac' is not recognized as an internal or external command, operable program or batch file. </i>"<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfIlkRc4XLi73fk7ScccTD5kMosBWXS42kRHCf50qsVjrgWMKZ4_PCrUeK8PslMlYyZy63xM0dVnD1kYEDkhPr9fs6tL-LYPBxZTz9MrTxMk3Au7EuFujGiZxxVwSJKFvbCC7WAuWhuvUG/s1600/javacnotrecognized.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfIlkRc4XLi73fk7ScccTD5kMosBWXS42kRHCf50qsVjrgWMKZ4_PCrUeK8PslMlYyZy63xM0dVnD1kYEDkhPr9fs6tL-LYPBxZTz9MrTxMk3Au7EuFujGiZxxVwSJKFvbCC7WAuWhuvUG/s1600/javacnotrecognized.PNG" /></a></div> Bu degani biz hali javac ni va JDK ning boshqa yordamchi dasturlarini kommandalar sifatida tanitganimiz yo'q buning uchun quyidagi ishni ushbu oynaning o'zidan amalga oshiramiz:<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg03ydYPRICQw1QKu6w4SABnMgE2mo4tJSCDftBzel_YPKkwXEKf5OU0oNzep656D_9po5PPhtJNPEIqUKISA2GCsQc4JUBZGsjNJCDOh21gZCFEjkrbQnd3ARXLLeoLIOO8hFwkzH9-LvH/s1600/successjavac.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg03ydYPRICQw1QKu6w4SABnMgE2mo4tJSCDftBzel_YPKkwXEKf5OU0oNzep656D_9po5PPhtJNPEIqUKISA2GCsQc4JUBZGsjNJCDOh21gZCFEjkrbQnd3ARXLLeoLIOO8hFwkzH9-LvH/s1600/successjavac.PNG" style="cursor: move;" /></a><br />
<ol style="text-align: left;"><li>Kompyuteringizga o'rnatilgan jdk ning manizlini toping, va mening kompyuterimda manzil quyidagicha: <i>C:\Program Files (x86)\Java\jdk1.6.0_16\bin </i>sizning kompyuteringizda ham deyarli shunga o'xshash bo'ladi siznikida jdk1.6.xyz\bin bo'lishi mumkin. </li>
<li> So'ng kommandalar oynasiga quyidagi kommandani kiriting: <i>SET PATH=%PATH%;C:\Program Files (x86)\Java\jdk1.6.0_16\bin </i>va <i>ENTER ni bosing va to'gri amalga oshganini tekshirish uchun quyidagini kiriting:</i></li>
</ol><i> </i>Endi <i>javac </i>orqali SalomDunyo.java ni kompilasiyadan o'tkizzak ham bo'ladi. <i> </i><i> </i><br />
<div><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr8kEvAoqwDzb8kJtLZjQfSv8b7weAIpHiTC5ryMmGhKLW1XXWB20evxqP4pWoOsrwNBXua1SCk5QAxL4TlvizckyYvs2mh0T56Kn5oz-yL5VOTduyjfKQqqWr8IHdlkwpj0DAMq31Xh-C/s1600/comiledSD.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr8kEvAoqwDzb8kJtLZjQfSv8b7weAIpHiTC5ryMmGhKLW1XXWB20evxqP4pWoOsrwNBXua1SCk5QAxL4TlvizckyYvs2mh0T56Kn5oz-yL5VOTduyjfKQqqWr8IHdlkwpj0DAMq31Xh-C/s1600/comiledSD.PNG" /></a></div><div>Java klassimiz kompilatsiyadan o'tdi va bizning SalomDunyo.java faylimiz turgan joyda xuddi shu faylning *.class deb nomlanuvchi bayt-kodligi paydo bo'ldi.</div><div>Natijani ko'rish uchun:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiapN_IxrkfM1xuB-xHBZpEWprdhmqrj73bHl4ZcCOV_3khQ2LdAbtirTF3hBX5QY7grdNF9K_mslVbcQ0JkLXxEjLajfcMeXQDou7vp9BgHHkNL-yJ4oLrtgJVtT6HkPQr3Ao_j78SEjqP/s1600/resultSD.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiapN_IxrkfM1xuB-xHBZpEWprdhmqrj73bHl4ZcCOV_3khQ2LdAbtirTF3hBX5QY7grdNF9K_mslVbcQ0JkLXxEjLajfcMeXQDou7vp9BgHHkNL-yJ4oLrtgJVtT6HkPQr3Ao_j78SEjqP/s1600/resultSD.PNG" /></a></div><div>Bu ishlar biz kompilyator qanday ishlayotganini tushinish uchun kerak edi, keyingi darslarda bu ketma-ketliklarni takrorlamay qisqagina kompilatsiyadan o'tkazish deb nomlaymiz.</div><div><i></i><br />
<span id="goog_718738854"></span><span id="goog_718738855"></span><br />
<div><ul style="text-align: left;"></ul></div></div></div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com0tag:blogger.com,1999:blog-4978266463944679992.post-86019612513506779432011-02-13T23:26:00.000+05:002012-03-17T15:11:08.145+05:00Java texnologiyasining mohiyati va turlari.<div dir="ltr" style="text-align: left;" trbidi="on"><br /> Java texnologyasi o'ta sodda, xavfsizlikni yuqori darajada ta'minlab bera oladigan, kuchli, to'la obyektga yo'naltirilgan dasturlash tili bo'lib, muhit (platforma)ga bo'liq bo'lmagan holda ishlaydi.U bilan xatto eng kichik qurilmalarga xam dasturlar yozish mumkin.Java texnologiyasi to'laligicha <i>Java Virtual Machine</i>(JVM) ga asoslangan. JVM ning vazifasi tarjimonlik ya'ni, dastlab biz yozgan *.java fayl compilyator yordamida bayt kodga o'giriladi va JVM yordamida esa mashina tiliga o'giradi.<br /><br /> <b>Java texnologiyalari:</b><br /><ul style="text-align: left;"><li><b> Java SE - </b>Java SE yoki Java Standart Edition, serverda, shaxsiy kompyuterda desktoplarda ishlovchi dasturlar, appletlar yaratish uchun ishlatiladi.Bu texnologiya yordamida yaratilgan dasturlar deyarli barcha Operatsion tizimlarda ishlay oladi(Windows NT, Macintosh,Linux va Solaris).Shu bilan birga JavaSE boshqa Java turlarining asosi hisoblanadi.</li><li><b>Java EE</b> - Java Enterprise Edition, Java texnologiyalari orasida eng keng tarqalgan turi xisoblanib unda asosan serverda ishlovchi dasturlar yaratiladi, masalan ko'p foydalanuvchili web-saytlar yaratishda keng qo'llaniladi va asosan internetda ishlovchi dasturlarda qo'llaniladi.Java SE ni Java EE dan eng asosiy farqi Java EE o'z tarkibiga Java SE ni olibgina qolmay shu bilan birga ko'pgina boshqa qo'shimcha kutubxonalarni(odatda *.jar) ham o'z ichiga oladi ya'ni:Servlet,JavaMail, JSF(Java Server Face) va boshqa ko'pgina internetga asoslangan qoshimcha kutubxonalar.</li><li><b>Java ME</b> - Java ME yoki Java Micro Edition Java SE ning ba'zi qismlarini o'z ichiga oladi, JavaME yordamida kichik qurilmalar uchun dastrular yozish mumkin, masalan, mobil telefon uchun o'yinlar, dasturlar yaratish mumkin.</li></ul> Xulosa qilib aytganda Java ni o'rganish darajasi bo'yicha 3 ga bo'lishimiz mumkin:<br /><ol style="text-align: left;"><li>Java yadrosi(Core Java) </li><li>Rivojlangan Java(Advanced Java)</li><li>Java Enterprise Edition</li></ol>Bundan kelib chiqib,Core Java va Advanced Java bu JavaSE ga tegishli bo'lgan bilimlar deydigan bo'lsak ,bu ikkovini o'rganmay JavaEE ga o'tish to'gri kelmaydi.Shuning uchun dastlab Core Java ni o'rganish kerak. </div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com1tag:blogger.com,1999:blog-4978266463944679992.post-52856654283855359582011-02-13T21:23:00.000+05:002012-03-17T15:11:08.155+05:00Java dasturlash tilining paydo bo'lishi<div dir="ltr" style="text-align: left;" trbidi="on"><div style="font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif;font-size:13px !important;"><span>Java dasturlash tili - eng yaxshi dasturlash tillaridan biri bo'lib unda korporativ darajadagi mahsulotlarni(dasturlarni) yaratish mumkin.Bu dasturlash tili Oak dasturlash tili asosida paydo bo'ldi. Oak dasturlash tili 90-yillarning boshida Sun Microsystems tomonidan platformaga(Operatsion tizimga) bog'liq bo'lmagan holda ishlovchi yangi avlod aqlli qurilmalarini yaratishni maqsad qilib harakat boshlagan edi. Bunga erishish uchun Sun hodimlari C++ ni ishlatishni rejalashtirdilar, lekin ba'zi sabablarga ko'ra bu fikridan voz kechishdi.Oak muvofaqiyatsiz chiqdi va 1995-yilda Sun uning nomini Java ga almashtirdi, va uni WWW rivojlanishiga hizmat qilishi uchun ma'lum o'zgarishlar qilishdi. </span></div><div style="font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif;"><span> Java Obyektga Yo'naltirilgan Dasturlash(OOP-object oriented programming) tili va u C++ ga ancha o'xshash.Eng ko'p yo'l qo'yildigan xatolarga sabab bo'luvchi qismalari olib tashlanib, Java dasturlash tili ancha soddalashtirildi. </span></div><div style="font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif;"><span > Java kod yozilgan fayllar(*.java bilan nihoyalanuvchi) kompilatsiydan keyin bayt kod(bytecode) ga o'tadi va bu bayt kod interpretator tomonidan o'qib yurgizdiriladi.</span></div><div style="font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif;"><span style="font-size: medium;"><br /></span></div><div style="font-family: Times,"Times New Roman",serif;"><span style="font-size: small;"><br /></span></div><div style="font-family: Times,"Times New Roman",serif;"><span style="font-size: medium;"> </span></div></div>Jamshid A.http://www.blogger.com/profile/17491246359061120610noreply@blogger.com1