Saturday, July 20, 2013

Javada haqiqiy 'Hot Swap' Intellij IDEA bilan!

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: Dynamic Code Evolution VM,  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  new plugin yuklab olishingiz yoki                 Settings -> Plugins-> Browse Repositories -> DCEVM ni tanlab o'rnatishingiz mumkin. O'rnatganingizdan so'ng IDEAni qayta ishga tushuring, Event Log oynasida DCEVM JRE ni yuklab olaymi xo'jayin degan so'rov chiqadi. Xa yuklab deb 'Download'ni bosing.

Qarabsizki, hammasi tayyor. Faqat, 'application'ni yurgizdirishda 'Alternative JRE' dan DCEVM JREni tanlang.
http://www.youtube.com/watch?v=5rYBDJAmxFo


Friday, January 4, 2013

PL/SQL da 'Subprogram'lar va 'Package'lar


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. PL/SQL da ikki xil 'Subprograms' bo'ladi:
Functions(funktsiyalar)
Procedures(protseduralar)
Umumiy holda Protseduralar ma'lum bir amallarni bajaruvchi ketma-ket(lar) desak, funktsiyalar esa ma'lum bir xisob kitoblarni amalga oshirish uchun ishlatiladi.
Subprogrammalar quyidagi qismlardan (bloklar) iborat bo'ladi:
E'lon qilish qismi (declarative part)- o'zgaruvchilar, tiplar, constantlar, exceptionlarni e'lon qilish qismidir.
Yurgizdirish qismi (executable part) - o'zgaruvchilarga qiymat berish ifodalari, yurgizdirishlarni boshqarish (controlling executions) va oracledagi ma'lumotlarni boshqarish qismi.
Istisno holatlarni ushlash qismi (exception-handling part) - bu qismi ixtiyoriy. Masalan, Yurgizish qismida qandaydir sonni 0 ga bo'ldiz bu yerda 'exception-handling' qismi ishlaydi.
Oddiy qilib aytganda subprogram bu yoki funktsiya yoki procedure bo'ladi.
Endi 'Package', u bir nechta saqlanuvchi(stored) subprogrammalarni jamlanmasi. Package ikki qismdan iborat:
Spesifikatsiyasi(specification ) - 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 Package API deb ham yuritish mumkin.
  Tanasi (body)  - bu qisimda, specificationda yozilgan hamma stored procedurelar/function/cursorlarning tanasi, ya'ni ammalarni bajarish qismi yoziladi.


Package specification



Bu yerda package nomi - personnel, unda 2ta functsiya bor, ular: get_fullname(id), va get_salary(id), bu yerda id ishchining IDsi.
Body qismida esa har ikkala funktsiyani qay tarzda bajarilishi to'liq ifodalaniladi:

Saturday, November 3, 2012

Bepul Antivuruslar statistika - 2012

Antivirus bo'yicha ko'pchilik "kompyuter tilini" yaxshi tushunmaydiganlarda muammo tez-tez bo'ladi. Masalan, O'zbekistonda ko'pchilik tomonidan ishaltiladigan 'Kasperskiy'ni yoki 'ESET Nod32' 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.
Masalan, Avast Free Antivirus bu hozirda bepul antiviruslar ichida eng mashxur va ko'p foydalanilayotganidir. Yuklashlar bo'yicha eng mashxur saytlardan biri downlaod.cnet.com ning ma'lumotlariga ko'ra, eng ko'p yuklangan antivirus bu 'Avast free Antivirus'idir. Undan keyin esa AVG AntiVirus Free 2013  keyingi o'rinda. Bu natija antiviruslar orasida emas balki hamma yuklashlar orasidan keltirilgan.

Yoki, bepul muqobillar topish uchun yordam beruvchi alternativeto.net sayti ma'lumotlar esa quyidagicha:



'Yoqtirish'lar bo'yicha ham Avast(467 ta) yuqorida.

Wednesday, September 26, 2012

OYDning asosiy tushunchalari

Obyekga yo'naltirilgan dasturlash yoki OYD – 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,  protsedurali dasturlash tillari 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.

Javada OYD ni tushunish uchun quyidagi eng asosiy tushunchalarni o'rganib chiqishimiz kerak. Ular: Class, Metod(Funktsiya), O'zgaruchilar, Konstantalar.


Tuesday, July 10, 2012

IntelliJ IDEA: "Debug" qilish sirlaridan biri

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.

Tushunarli bo'lishi uchun juda oddiy holatni misol qilib oldim: