مهاجرت به اندروید ایکس

5 ماه پیش | 131 مشاهده شده

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

تا قبل از معرفی اندروید ایکس و تغییر نیم اسپیس مخازن maven گوگل برای فراخوانی لایببرری های گوگل در فایل گریدل از سینتکس com.android.support:libraryname-v1.1 استفاده می کردیم.

com.android.support:cardview-v7

com.android.support:appcompat-v7

اما با انتقال لایببرری هایی از گوگل به جت پک نامگذاری آن ها در گریدل به صورت زیر تغییر پیدا کرده است. یعنی باید به ابتدای آن ها androidx اضافه گرد. برای جزییات بیشتر بهاین لینک مراجعه شود.

androidx.cardview:cardview:1.0.0

androidx.appcompat:appcompat:1.0.0



ادامه خواندن


throws IOException در جاوا

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

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

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

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

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

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


ادامه خواندن


نمایش مدلهای مختلف پایگاه داده

2 سال پیش | 88 مشاهده شده
ERD model

در این پست می خواهم مدلهای مختلف پایگاه داده را به صورت بصری نگاهی بیندازیم، اهمیت این موضوع الهام گرفتن از پروژه های اپن سورس مانند وردپرس و جوملا جهت طراحی مدلهای پایگاه داده  در پروژه یمان است.



ادامه خواندن


الگوریتم استراسن جهت ضرب ماتریس ها

2 سال پیش | 100 مشاهده شده
استراسن الگوریتم

یکی از راه های طراحی الگوریتم شکستن مسیله به زیرمسیله های کوچکتر می باشد، در کتاب های الگوریتم  این روش divide and conquer نامیده می شود. در این پست ابتدا به شرح الگوریتم استراسن و سپس پیاده سازی آن در جاوا خواهیم پرداخت.



ادامه خواندن



RSAکد جاوا رمزنگاری

2 سال پیش | 73 مشاهده شده
RSA Java Code

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



ادامه خواندن


کرای انجین در مقایسه با آنریل انجین

2 سال پیش | 92 مشاهده شده
cry engine

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



ادامه خواندن



کامپایل سورس کد آنریل انجین

2 سال پیش | 143 مشاهده شده
UNREAL ENGINE

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



ادامه خواندن



سوکت پروگرمینگ در کیوت

3 سال پیش | 72 مشاهده شده

 

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



ادامه خواندن