throws IOException در جاوا

1 سال پیش | 80 مشاهده شده

جاوا زبانی است که در تعریف تابع ها و شرط ها باید چک کردن استثنا را در آن حتما رعایت کنیم در این پست به بحث throws IOException  خواهم پرداخت.

و اما throw یعنی چی؟ throw از لحاظ لغوی به معنی پرتاب هست. اما چه ربطی به بحث ما داره ؟

حتما دیدید همیشه می گن java بهترین زبون هست و از لحاظ امنیت حرف اول رو می زنه(وارد مبحث python نشید فعلا).یکی از دلایل اینکه جاوا امنیتی بسیار خوبی داره همینه که با استفاده از دستور throw می تونیم مدیریت خطا کنیم و دیگه نذاریم خطای رخ داده سیگنالش به کامپایلر یا مفسر برسه. می یایم به دستور throw خطاهای رخ داده رو پرتاب می کنیم به یه سمت دیگه. یا در اصطلاح پاس می دیم به بخشی داخل کدهای خودمون و این خطا رو می یایم تجزیه تحلیل می کنیم(با دستورات و توابع یا متدهای تعریف شده ی زبون جاوا).

ما خطاهای مختلفی داریم و برای مدیریت خطاهای مختلف کلاس های خاص وجود داره . مثلا IOException برای مدیریت استثنا(خطا)های ورودی خروجی هست.(دستوارت try catch هم داریم اینجا بحث نمی کنم)

دستور throw e خودش خودکار به کامپایلر دستور می ده اگه خطایی رخ داد به خروجی نبر ، پرتش کن توی جایی از حافظه که به متغیر e اختصاص دادیم. توی کدها هم می تونیم این e رو مدیریت کنیم مثلا e بذاریم بعدش نقطه بذاریم و ببینیم چیا داره.مثل کد خطا،مثل متن خطا،سطر و ستونی که خطا رخ داده و … .

 

ادامه خواندن



زبان برنامه نویسی منطقی پرولوگ

1 سال پیش | 90 مشاهده شده

پرولوگ یک زبان برنامه‌نویسی منطقی چند منظوره مبتنی بر مفاهیم هوش مصنوعی و زبان‌شناسی محاسباتی است. این زبان بر پایه منطق ریاضی بنا نهاده شده و آن را به عنوان زبان کاملاً منطقی می‌شناسند و حتی به آن پرلوگ خالص نیز اطلاق می‌شود و می‌توان گفت متفاوت از سایر زبان‌های برنامه‌نویسی است.



کلاس concrete در جاوا

1 سال پیش | 88 مشاهده شده

تمام کلاس ها را می توان به صورت انتزاعی یا کنکرت تعریف کرد. پیش فرض  ساخت کلاس کنکرت است. این به این معنی است که کلاس کنکرت می تواند (مستقیم) متغیر و متد  داشته باشد. در مقابل، انتزاعی بدان معنی است که یک کلاس نمیتواند متغیر و متدهای  خود را (مستقیم) داشته باشد.

کلاسهای ابسترکت و کنکرت
شکل 1: کلاسهای ابسترکت و کنکرت

در نمودار بالا یک کلاس انتزاعی به نام Employee وجود دارد. در UML، نام این کلاس کلاس انتزاعی در یک فونت ایتالیک نوشته شده است. این کلاس شامل یک روش انتزاعی به نام calculatePay است که در یک فونت ایتالیک نوشته شده است. یک کلاس و متد انتزاعی پیاده سازی مستقیم ندارد به طور معمول یک کلاس انتزاعی شامل یک یا چند متد انتزاعی  است. نمودار همچنین سه زیر کلاس را نشان می دهد که رفتار و ویژگی های داده را از کلاس Employee به ارث می برند. این کلاس های بتنی هستند که می توان از آنها اشیا ساخت. کلاس های انتزاعی به طور مستقیم نمی تواند نمونه ای از شی  از آنها ساخت. کلاسهای انتزاعی برخی از رفتارهای عمومی را ارائه میدهند، در حالی برخی رفتارها را به یک زیر کلاس منتقل میکنند.



کلید واژه final در جاوا

1 سال پیش | 60 مشاهده شده

کلید واژه final  جاوا برای محدود کردن کاربر استفاده می شود. کلید واژه final در جاوا را می توان در بسیاری از زمینه ها از جمله متغیرها، متدها و کلاسها استفاده کرد.

کلید واژه final را می توان به متغیرها اعمال کرد، یک متغیر نهایی که  مقدار ندارد آن متغیر نهایی خالی یا متغیر نهایی  مقداردهی نشده نامیده می شود. می توان آن متغیر  را فقط درتابع سازنده  می توان مقدار دهی کرد. متغیر نهایی خالی نیز می تواند استاتیک باشد که تنها در بلوک استاتیک تنظیم می شود. پس این کلمه یعنی تنها یک بار  در تابع سازنده مقداردهی شده و دیگر تغییر پذیر نخواهد بود.

مثالی از استفاده از کلید واژه final  در تعریف یک متد:

class Bike{
final void run(){System.out.println(“running”);}
}

class Honda extends Bike{
void run(){System.out.println(“running safely with 100kmph”);}

public static void main(String args[]){
Honda honda= new Honda();
honda.run();
}
}

مشاهده می شود که خروجی خطا خواهد داشت:

Output:Compile Time Error



روش های دسترسی به اشیا گرافیکی اکتیویتی اصلی در یک کلاس ای سینک تسک

1 سال پیش | 58 مشاهده شده

در برنامه نویسی اندروید برای اینکه پشت پس زمینه برنامه یک سری کارها انجام دهیم و مانع ایجاد پیغام ANR شویم از این کلاس باید استفاده کرد. در این پست در مورد نحوه دسترسی به عناصر UI اکتیویتی اصلی از کلاس ای سینک تسک بحث خواهم کرد. بعد از کمی جستجو از سایت استک اور فلو روش هایی پیدا کردم که در اینجا خلاصه وار آن ها را بیان می کنم. استفاده از کلاس WeakReference  یکی از راه حل های پیش رو است. در کلاس AsyncTask کلاس WeakReference را تعریف کرده و اکتیویتی اصلی را به آن ارجاع می دهیم.

ادامه خواندن



کلاس های استاتیک تو در تو در جاوا

1 سال پیش | 63 مشاهده شده

جاوا امکان ساخت کلاس های تو در تو را برای برنامه نویسان مهیا کرده است. کلاس های استاتیک تو در تو ویژگی از جاوا است که در اینجا بحث خواهد شد. در زبان جاوا کلید واژه static برای توصیف چگونگی اداره شدن اشیا در حافظه  به کار برده می شود.  که منظور از آن این است که متدها و متغیرهای کلاسی که به صورت استاتیک تعریف شده است منحصرا به کلاس استاتیک تعلق دارند.  این در حالی است کلاس های تو در تو هم در جاوا قابل تعریف است، کلاس استاتیکی که در یک کلاس تعریف شده است منحصرا و تنها به این کلاس تعلق دارد.  فرض کنید کلاس به نام Book تعریف کرده ایم. حال چند شی از این کلاس خواهیم ساخت. اگر ما یک متغیر برای شماره صفحه در این کلاس Book تعریف کنیم اما از نوع استاتیک. این متغیر هرجا یک یک نمونه شی از این کلاس ساخته شود، از همان متغیر استاتیک برای تمام شی های جدید ساخته شده استفاده خواهد کرد.  پس هنگامی که بخواهیم یک متد، متغیر یا کلاسی درون کلاسی تعریف کنیم به طوری که ساخت اشیا نمونه روی  آن اثر نگذارد باید ازکلید واژه استاتیک استفاده کنیم.

ادامه خواندن



Timed out waiting for process to appear on emulator

1 سال پیش | 60 مشاهده شده

بعد از اپدیت بلواستکس به نسخه سه با یک مشکل روبه رو شدم. بلو استکس ورژن قبل برای دیباگ کردن برنامه از لاگ کت استفاده می کردم خطاها و هشدار ها را مشاهده می کردم ولی برای این نسخه جدید داخل محیط اجرا پیغام که پروسه شبیه ساز اندروید قابل دیباگ کردن نیست.

ادامه خواندن



خطای پیدا نکردن کلاس ها در کتابخانه اپ کامپت اندروید

1 سال پیش | 78 مشاهده شده

برای ارائه سازگاری به عقب برای ویژگی های جدید  در آندروید، گوگل به طور مرتب مجموعه ای از کتابخانه ها تحت عنوان AppCompat پشتیبانی می کند که توسعه دهندگان می توانند در برنامه خود ادغام کنند. علی رغم اینکه هیچ خطای در کد اپلیکشن اندریدم وجود ندارد خطای ذکر شده  از کلاس AppCompat در لاگ کت نشان می دهد در این پست نحوی رفع آن را بررسی خواهم کرد.

ادامه خواندن



در پایگاه داده Base و ACID ویژگی های

1 سال پیش | 95 مشاهده شده

اسید (به انگلیسی: ACID) که از سرکلمه کلمه‌های تجزیه‌ناپذیری، هم‌خوانی، انزوا و پایایی (Atomicity, Consistency, Isolation, Durability) تشکیل شده است که مجموعه ویژگی‌های تراکنش در پایگاه‌داده است. در زمینهٔ پایگاه‌داده یک عمل منطقی روی داده، یک تراکنش خوانده می‌شود. برای مثال جابه‌جایی پول از یک حساب به حساب دیگر. جیم گری این ویژگی‌ها را به عنوان ویژگی‌های یک سیستم تراکنش مطمئن در اواخر ۱۹۷۰ معرفی کرد و فناوری‌هایی را برای انجام آن‌ها به صورت خودکار گسترش داد.

ادامه خواندن



پایگاه داده های نواس‌کیوال

1 سال پیش | 173 مشاهده شده

نواس‌کیوال مخفف not only sql به معنای نه تنها اس‌کیوال نامی است فراگیر برای ردهٔ گسترده‌ای از سامانه‌های مدیریت پایگاه داده که با نوع سنتی پایگاه‌های داده رابطه ای تفاوت‌های آشکار دارند. روشن‌ترین این تفاوت‌ها عدم استفاده از اس‌کیوال به عنوان زبان پرسش نخستین در noSQL است. نمونه اش پایگاه داده‌های اکس‌ام‌ال و پایگاه داده‌های سند-گرا است. یکی از پیاده‌سازی‌های شناخته شده این نوع پایگاه داده‌ها کاوچ‌دی‌بی ساخت بنیاد نرم‌افزار آپاچی است.

ادامه خواندن



تست جامعیت نرم افزار

1 سال پیش | 75 مشاهده شده

تست جامعیت (گاهی اوقات به عنوان یکپارچه سازی و تست به اختصار I & T نامیده می شود) فاز تست نرم افزاری است که در آن ماژول های نرم افزاری یکپارچه به عنوان یک گروه تست شده و آزمایش می شوند. این تست پس از آزمایش واحد و قبل از آزمون اعتبار سنجی انجام می گیرد.

ادامه خواندن



تست واحد نرم افزار

1 سال پیش | 92 مشاهده شده

در برنامه نویسی کامپیوتر، آزمایش واحد یک روش تست نرم افزاری است که با استفاده از آن واحدهای منحصر به فرد کد منبع، مجموعه ای از یک یا چند ماژول برنامه های کامپیوتری همراه با داده های مربوط به کنترل، روش های استفاده و روش های عملیاتی برای تعیین اینکه آیا مناسب برای استفاده هستند مورد تست قرار می گیرد .

ادامه خواندن