Fragment ها
بسم الله الرحمن الرحیم
Fragment ها
فصل دوم-بخش دهم
در بخش قبلی شما یاد گرفتید که activity چیست و چگونه از ان استفاده می کنید.
در صفحه نمایش ها با عرضه صفحه کم معمولا activity کل صفحه را در بر می گیرید و انواع view ها که در بر گیرنده UI برنامه می باشد را در بر می گیرید. یک activity به طور ذاتی در بر گیرنده View ها می باشند. با این ها زمان های وجود دارد که یک activity در وسایل که دارای صفحه نمایش ها بزرگ هستند استفاده می شود مانند tablet ها و این قدری بزرگ تر از activity ها می باشند و به خاطر همین View ها کمی خارج از محل خود هستند View ها باید در صفحه مرتب تنظیم شوند تا کل صفحه را در بر گیرند. که این کار کمی پیچیده می باشد.بهترین راه استفاده از “mini-activity ” ها می باشد. که هر کدام شامل view خودش می باشد. در زمان اجرا هر activity شامل یک یا بیشتر "mini-activity" می باشد. که بستگی به صفحه نمایش دستگاه دارد.
در اندروید نسخه 3.0 و بالاتر "miniactivity" ها با عنوان Fragment شناخته می شوند.
این طور فکر کنید که fragment ها قالب دیگری از activity ها می باشند. شما fragment ها ایجاد می کنید که View ها می باشد درست مانند activity ها .
Fragment ها همیشه در activity ها جاسازی می شوند.
ادامه مطلب...ارسال داده بین activity های مختلف با استفاده از شی Intent
بسم الله الرحمن الرحیم
ارسال داده بین activity های مختلف با استفاده از شی Intent
فصل دوم-بخش نهم
در کنار دریافت داده از یک Activity, ارسال داده به یک Activity دیگر هم بسیار رایج می باشد.به عنوان مثال شما می خواهید در EditText یک متن پیش فرض قبل از به نمایش در آمدرن Activityقرار گیرید. که برای این کار شما می توایند از شی intent استفاده کنید. در مثال های زیر انواع روش های ارسال داده ها به activity دیگر به شما شرح می دهیم
ادامه مطلب...باز یابی مقادیر از یک Activity
بسم الله الرحمن الرحیم
باز یابی مقادیر از یک Activity
فصل دوم-بخش هشتم
متد startActivity() یک activity دیگرا اجرا می کند ولی نتیجه یا داده های از ان activity به activity جاری باز نمی گرداند. به عنوان مثال ممکن دریک activity کاربر UserName و Password خود را وارد کنند و هنگام باز گشت به activity جاری username و passoword چک شود در صورت درست بودن برنامه به کار خود ادامه داده و امکانات بیشتری را به کاربر ارائه دهد. در صورتی که شما نیاز دارید داده های مورد نیاز خود را از activity دیگر باز گردانی کنید شما باید از متدstartActivityForResult() استفاده کنید. در زیر آن را با یک مثال شرح می دهیم.
فایل secondactivity.xml به صورت تغییر دهید
ادامه مطلب...چالش های اعتماد در کلود
بسم الله الرحمن الرحیم
چالش های ایجاد اعتماد در حوزه پزشکی (Cloud)
آموزش کلودسیم CloudSim
فصل بیست و یکم
چالش های ایجاد اعتماد در حوزه پزشکی
Jose و همکارانشان [20] به بررسی موانع استفاده از ابر در پزشکی و همچنین چالش های ایجاد اعتماد پرداخته است
مثلاً اعتماد در مورد بیمه هایی که در دسترس بعضی از پزشک ها میباشد چطور باید جلب شود؟
نزم افزار های جامعی که اطلاعات بیمارانی که دوست ندارند دیگران از بیماری آنها مطلع شوند قسمتی یا کل اطلاعات خود را بر روی کلود قرار میدهند و امنیت این اطلاعات به خطر میافتد.
این نرمافزارها محدودیتهایی را ایجاد میکنند و اگر این اطلاعات به دست افراد غیرمجاز بیفتد میتوانند از آنسوءاستفاده کنند و برای قرار دادن این اطلاعات بر روی کلود باید مراحل قانونی طی شود. سپس رفرنس هایی را ارائه کردند که مفهوم اعتماد چیست ؟ و سپس نتیجه گرفته که این اعتماد را به چند طریق میتوان به دستاورد مثلاً باید امنیت در قسمت نیروی انسانی ایجاد کنیم ، امنیت را در دسترسی به اطلاعات ایجاد کنیم ، همچنین امنیت در رد و بدل شدن اطلاعات باید تأمین شود و اگر قوانینی برای دسترسی هست باید دید چه کسانی این قوانین را برقرار کردهاند و چه مدلی از کنترل دسترسی باید باشد و چه مدلی از احراز هویت باید باشد و اگر دیتا باید رمزنگاری شود این رمزنگاری به چه صورتی باید تأمین شود و سوالاتی که توضیحی برای آن ارائه نشده همه و همه چالش هاییست که در حوزه پزشکی و استفاده از ابر باید پاسخ داده شود.
یک مدل ارزیابی اعتماد برای کلود
Xiaonian Wu و همکارانشان [21] سعی در ایجاد روشی ساده برای ایجاد اعتماد داشته اند
برای بررسی عنصر اطمینان و ازیابی مدلی که در نظر گرفته شده دو موجودیت را باید در نظر بگیریم 1- سرویسدهندهها 2- کاربران
تمام اعتماد ها و ارزیابی ها به اتفاقاتی که بین این دو موجودیت است برمیگردد و این اتفاقات بهصورت دینامیک است و ممکن است فقط زمان و مدل اعتمادی که به یکدیگر دارند متفاوت شوند
مواردی که در زیر بیان میشود المنتهایی است که بر اساس آن ارزیابی ها را موردبررسی قرار میدهیم.
1- به موقع بودن تراکنش ها و اتفاقاتی که باید در سیستم به وقوع بپیوندد
2- اعتماد مستقیم: یعنی تعداد تراکنش های صحیحی که در واحد زمان در سیستمعامل اجرا میشود
3- نیک نامی یا شهرت: وقتی کاربران از سیستمی استفاده کنند باعث شهرت آن سیستم میشود و آن شهرت به شرکت ارائهدهنده کمک میکند تا بتواند اعتماد مشتریهای جدید را جلب کند.
حال باید این ارزیابی را تست کنیم که آیا کارآمد هست یا نه و سؤال اینجاست که خود ارزیابی را چگونه باید ارزیابی کرد؟ قسمت اول اینکه حالت نمونه ایجاد کنیم و یک نمونه کوچک از آن باید پیادهسازی شود. قسمت دوم میزان تاثیر مدل پیشنهادی است که این مدل چقدر تاثیر داشته است مانند ضد حمله ، که در برابر حملاتی که به آن میشود چقدر مقاوم است.
مزیت ها: 1- ساده بودن 2- کلاً مواردی که به موقع و در زمان خود انجامشده را به دو قسمت تراکنش های درست و تراکنش های غلط تقسیم میکنیم و بر اساس آن تصمیم میگیریم 3- بر اساس نوع رفتار و اعمالی که کلاینت و سرور انجام میدهند ما میتوانیم میزان اعتماد و نوع اعماد را بهصورت دینامیک تغییر بدهیم.
ادامه مطلب...
اطمینان به کلود
بسم الله الرحمن الرحیم
اطمینان به کلود
آموزش کلودسیم CloudSim
فصل بیستم
اطمینان و چگونگی وجود اطمینان و ایجاد امنیت
Athman Bouguettaya و همکارانشان [26] سعی در ارائه راههایی داشتند که بتواند امنیت را بهوسیله وبسرویس ایجاد و اعتماد مشتری را جلب کنند
طبق نظر ایشان اگر وبسرویسهایی بسازیم که چند خاصیت داشته باشند ما میتوانیم امنیت را برقرار کنیم
1- result accuracyیا دقت درنتیجه: یعنی بتوانیم پاسخهای دقیق و صحیحی از وبسرویسها دریافت کنیم. انجام این کار بسیار مشکل است چراکه نمیدانیم استفادهکنندگان و ارائهدهندگان چطور میتوانند بفهمند که دقیقاً چه چیزی را از یکدیگر میخواهد تا ما بتوانیم معنای پاسخ صحیح را به دست آوریم ولی درهرحال باید استانداردی بین کلود و کاربران برای پاسخ دقیق به یکدیگر ایجاد شود
2- در دسترس بودن: در محیطهای ابری باید سرویسها تضمینشده باشد اما از آنجایی که کلود محیطی دینامیک است این کار سخت اما شدنی است و میتوانیم سیستمهای مدیریتی به وجود آوریم تا در دسترس بودن وبسرویسها را تضمین کنند
3- تخمین ، ارزیابی و ذخیرهسازی: به ازاء هر اتفاقی که قرار است رخ دهد باید ابتدا تخمین و ارزیابی از کاری که مشتری میخواهد انجام دهد داشته باشیم و تا بتوانیم با توجه به وضعیت موجود خروجی مناسبی به او بدهیم سپس اقدام به انجام عمل کاربر کنیم. برای مثال در سیستمعامل داس تا زمانی که فضا برای ذخیرهسازی بود عمل کپی انجام میشد و زمانی که فضا به اتمام میرسید کار متوقف میشد ولی در سیستمعاملهای بعدی ابتدا چک میشود که آیا فضا برای ذخیرهسازی وجود دارد؟ سپس اقدام به عمل کپی میشود و یا پیامی را به کاربر نشان میدهیم.
4- بازخوردهای قابلقبول: برای اینکه بتوانیم قسمت امنیتی خوبی را به وبسرویس ارائه کنیم باید بازخوردهایی بدهند که فقط افراد خاص را در برنگیرند و همه مشتریها را در نظر بگیرند. کما اینکه مشتریها دیتا یا استفاده خاصی از کلود نداشته باشند. اگر همیشه به مشتری بازخوردی را ارائه کنیم که وی انتظار دارد، مشتری همیشه راضی خواهد بود و این باعث اعتمادسازی و فرهنگسازی میشود.
5- سیستم ذخیرهسازی و امنیت را پخشکنیم یعنی به ازاء کاربران مختلف ،سرورها مختلفی داشته باشیم و سروری با سرویسهایش امنیت فلان کاربر را تأمین کند
ایجاد امنیت با ابر هیبرید
Martin Gilje Jaatun و همکارانشان [27] سعی کردهاند باواسط قرار دادن یک ابر ، امنیت و اعتماد را فراهم کنند.
کافی است یک ابر تعریف کنیم که واسط بین کاربر و ابر عمومی میباشد و دیتا را از کاربر گرفته و رمزنگاری میکند، سپس آن را بر روی ابر مقصد قرار میدهد، و هنگام درخواست کاربر، دیتا را از ابر مقصد گرفته و از رمزنگاری خارج میکند و به کاربر تحویل میدهد.
بعد از آن سعی کردهاند که امنیت را در سمت کلاینت هم تأمین کنند مانند استفاده از سیستم گروپینگ و یک سری پلتفرمها اما در آخر نتیجه گرفته که امنیت بهطور نسبی برقرار میشود اما بهطور نسبی هم بهتر از نبود امنیت است.
راهحل بعدی ایجاد یک قفل سختافزاری است که کلاینت باید آن را همیشه به همراه داشته باشد تا کاربر بتواند بهکلود دسترسی پیدا کند.
در مرحله بعد از ابر هیبرید برای ابر واسط استفاده کرده است و تمام نرمافزارهای لازم برای کاربر را ابر هیبرید بهعنوان واسط مدیریت کند. اما اینکه چطور ابر هیبرید باید این کار را انجام دهد هیچ اشارهای نشده.
راهحل بعد استفاده از کلود سوم میباشد بدینصورت که کاربر اطلاعات خود را به ابر هیبرید که درواقع واسط هست تحویل میدهد، سپس او اطلاعات را بهکلود اصلی داده و کلود اصلی تاییدیه را بهکلود سوم داده و کلود هیبرید تاییدیه ذخیره را از ابر سوم میگیرد درواقع میتوان اینطور بیان کرد که ابر اصلی نقش انبار را بازی میکند.
ادامه مطلب...
اعتمادسازی در ذخیرهسازی دادها در کلود
بسم الله الرحمن الرحیم
اعتمادسازی در ذخیرهسازی کلود
آموزش کلودسیم CloudSim
فصل بیستم
اعتمادسازی کلود
اعتمادسازی در ذخیرهسازی کلود
Ayad Barsoum و [17] Anwar Hasan سعی در اعتمادسازی در ذخیره اطلاعات دارند. ایشان معتقدند این به صاحب اطلاعات جهت برونسپاری داده به csp و اجرای عملیات دینامیکی کامل در سطح بلوک اجازه می دهد و از عملیاتی نظیر تغییرات بلوک، الحاق، حذف و افزودن حمایت می کند و خواص بهروز بودن را تضمین میکند. این طرح کنترل دسترسی را به دادههای برونسپاری شده ضروری می کند. ما در مورد ویژگیهای امنیتی طرح پیشنهادی بحث می کنیم. بعلاوه ما اجرای این طرح را از طریق تجزیه و تحلیل نظری و اجرای اولیه بستر نرمافزاری انبوه به جهت ارزیابی ذخیرهسازی، ارتباط و محاسبه توصیه می کنیم.
بخشهای سیستم و رابطه ها : مدل ذخیرهسازی محساسباتی انبوه در این شبکه که شامل 4 بخش اصلی هستند.
1- یک صاحب داده که می تواند بهصورت یک سازمان تولیدکننده داده نفوذ پذیر باشد درانبوه ذخایر و برای استفاده خارجی کنترل شده در دسترس قرار داده می شود.
2- Cps سرور انبوه را مدیریت می کند و بروی زیرساختش به جهت ذخیره کردن فایل صاحب فایل فضای ذخیرهسازی را فراهم می ند و آن را برای کاربران مجاز قابلدسترس می کند.
3- کاربران مجاز یک مجموعه دارنده ارباب رجوع که حق دسترسی به داده پرت را دارند میباشند.
4- TTP بخش سوم مورد اعتماد، شخصی است که بهوسیله دیگر بخشهای سیستم مورد اعتماد قرارگرفته و به جهت نمایان ساختن و تعیین کردن بخشهای نادرست امکانات لازم را دارا میباشد.
شکل 2- 1 [Ayad Barsoum , et al., 2013] Cloud Computing Data Storage System Model
جایی که پیکانهای سر بعدی و خط تیره رابطه اعتماد و بی اعتمادی را نشان می دهد. برای مثال: صاحب داده کاربران مجاز و CPS به TTP اعتماد می کنند. به عبارت دیگر صاحب داده و کاربران مجاز رابطه بی اعتمادی دو طرفه به CSP دارد. بنابراین TTP جهت قادر ساختن اعتماد دوطرفه غیر مستقیم بین این سه بخش مورداستفاده قرار می گیرد. یک رابطه اعتماد مستقیم بین صاحب داده و کاربران مجاز وجود دارد.
ادامه مطلب...توزیع دادهها در کلود - Cloud
بسم الله الرحمن الرحیم
توزیع دادهها در کلود (Cloud)
آموزش کلودسیم CloudSim
فصل نوزدهم
توزیع داده ها و روش های اعتماد سازی در کلود
توزیع دادهها در کلود
اقایان Patrick Ryan و [13]Sarah Falveyتوزیع دادهها در سراسر زمین را راهحل مناسبی جهت اعتمادسازی میدانند.
بهجای تفکیک هر یک از دادههای کاربرها، بر روی یک دستگاه واحد ویا مجموعهای از دستگاهها، داده ی تمام کاربرها در میان یک سازمان مشترک توزیع می شود. داده ساختاری از این پس در یک مجموعه بزرگ از دادههای توزیع شده ای که بالای سیستم به وجود آمده است، ذخیره می شوند، برای اطمینان از در دسترس بودن در صورت بروز فاجعه، دادههای ذخیرهشده به جهت جدا کردن سیستم، در مراکز دادههای مختلف ذخیره می شوند برای مثال: تصور کنید که تکه ای کاغذ دارید که می خواهید از کاربرد تکنولوژی مدرن حفاظت کنید. در اینجا چگونگی به کاربردن ابهامات و قطعات را نشان می دهد. به این صورت که ابتدا بهمنظور تکثیر شدن از صفحه کپی بگیرید سپس یک صفحه کاغذ بردارید و آن را در میان کاغذ جداگانه پاره پاره قرار دهید. بعد تکههای کاغذ که از پاره پاره کردن حاصل شده اند را بردارید و این تکهها را (sharsd) درمیان مراکز دادههای متفاوت در سطح زمین تفکیک کنید. سرانجام اسناد روی shards را به متنی که بهوسیله انسان قابل خاندن نیست تبدیل کنید.
مبهم سازی اطلاعاته را به این دلیل که هیچ مرکز داده واحدی همه اطلاعات موردنیاز جهت خواندن اسناد را نداشته باشد، انجام میدهیم. بنابراین حتی اگر همه اطلاعات ارسالشده باشد ، به دلیل اینکه شما فقط به ذره ای از کاغذهای پاره شده که حاوی صفرها و کلمات هستند، دسترسی دارید، این اطلاعات ارائهشده در مراکز داده بلااستفاده خواهند بود. چون داده در مرکز دادهها قبل از به اشتراک گذاشتن تکثیر می شوند، برای کاربر خروج کامل از مرکز داده به معنی از دست ندادن داده میباشد.
همانطور که معلوم است برای کابران به جهت بهرهمندی از ارزش تکنولوژی sharding، obfucation تفکیک جغرافیایی مراکز دادهها یک فلسفه طراحی اصلی است. احتمالا یک تنش جبران ناپذیر بین کشورهایی که به دادههای ذخیرهشده در مرزهایشان نیازمند هستند و کشورهایی که به این دادهها نیازی ندارند به وجود می آورد که به آن به اصطلاح محلی سازی یا مکان داده موردنیاز گفته می شود. مقاله جدید حاصل از کشورهای بینالمللی کمسیون تجارت روشن کننده این نکته است که:
محلی سازی موردنظر برای ابر گیچ کننده است به این دلیل که استقلال نوشته ها جنبه اصلی از مدل تحویل توده میباشد. سیاستهایی که به جهت قرار دادن امکانات در مکان های موردنظر به ارائهدهندگان نیازمند هستند ممکن است آن ها رابه خاطر انتخاب یک محل کمتر از حد مطلوب و یا عدم خدمت به بازار هدف ترک کنند.
ادامه مطلب...آموزش url rewriting در asp.net
بسم الله الرحمن الرحیم
تغییر آدرس و بهینه سازی آدرس ها aspx
همانند پروژه های asp.net mvc ممکن است شما بخواهید در پروژه های web form نام صفحات و یا پسوند پروژه خود را از aspx به نام دیگری تغییر دهید و یا حتی پسوند صفحات را نمایش دهید.
یکی از روش های بسیار ساده ای که وجود دارد استفاده از module ایی با نام URL Rewrite می باشد.
برای ادامه این آموزش module را می بایست دانلود نمایید
حجم فایل ها کمتر از 7 مگابایت است
دانلود نسخه x86 URL Rewrite module
دانلود نسخه x64 URL Rewrite module
همچنین از طریق لینک زیر می توانید نسخه های مختلف URl Rewriting را دانلود نمایید
http://www.iis.net/downloads/microsoft/url-rewrite
پس از دانلود فایل را نصب نمایید، تا قابلیت URL Rewriting به Visula Stuido شما و همچنین IIS اضافه شود.
در صورتی که بخواهید برای صفحات خود از URL rewrite در IIS استفاده کنید می توانید به صورت زیر مراحل را طی نمایید. اما اگر بخواهید تغییرات خود را به صورت مستقیم در Visual Stuido در فایل web.config اعمال کنید کافی است چند خط کد اضافه نمایید.
ابتدا تغییر آدرس یا همان URL Rewriting را در IIS بررسی می کنیم و سپس به سراغ Visual Studio می رویم.
اگر با IIS تاکنون کاری انجام نداده اید نگران نباشید کافی است در پایان چند خط کد را در web.config خود Copy/Paste کنید زیرا چه از طریق IIS و چه به صورت مستقیم این کار را انجام دهید تفاوتی نخواهد داشت.
URL Rewriting در IIS
ابتدا یک فایل aspx با نام article ایجاد نمایید و کدهای زیر را در آن قرار دهید. سپس این فایل را در مسیر زیر قرار دهید
C:\inetpub\wwwroot
مسیر بالا، مسیر قرار گیری سایت پیش فرض در IIS است. اگر مسیر شما متفاوت است کافی است IIS Manager را باز کنید و سایت و از سمت چپ بر روی default website کلیک راست کنید و سپس explorer را انتخاب کنید تا پوشه مربوطه در کامپیوتر شما باز شود.
حال صفحه بالا کپی کنید.
ادامه مطلب...امنیت داده ها در کلود
بسم الله الرحمن الرحیم
امنیت برنامه های کلود
آموزش کلودسیم CloudSim
فصل هجدهم
امنیت در کلود
امنیت داده در برنامه های ابر: یکی از ضعفهای ابر عدم تأمین امنیت دادهها میباشد که با پیشرفت روزافزون امنیت بازهم دادههای حساس موردحمله واقع میشود. در برخی مواقع این مصونیت را به عهده کاربر میگذارند اما بازهم این عدم امنیت وجود دارد. برخی سیستم ها هم از کدگذاری دادهها استفاده میکنند که به دلیل استفاده از کدینگ های مشهور و پایین آمدن کارایی به دلیل کاهش سرعت در برگرداندن اطلاعات زیاد مقبولیتی نزد سرویس دهندگان ابر ندارند.
راهای دیگر دسترسی به دادهها از طریق دسترسی به منابع مشترک و یا خطوط انتقال بین ماشین های مجازی میباشد.
مشکل بعدی حفظ ذخیره داده در ابر طوری که اتفاقی برای آن نیفتاده باشد و جامعیت دادهها حفظ شود و اینکه کسی به آن دسترسی نداشته باشد.
البته تعدادی از سرویس دهندگان سعی میکنند تمام مشکلات مطرح شده را با اطمینان به مشتری حل کنند و راهکارهای خوبی هم ارائه میدهند اما همچنان مشکل اساسی آن است که آیا واقعا شخص صاحب داده وارد شده و از اطلاعات استفاده میکند؟ چون برخی حمله کنندگان با به دستاوردن راهای قانونی ، با ورود به سیستم و حتی اجرای بدافزار ها باعث تاثیر آن بر روی سرویسدهندههای مجاور میشود.
در این راستا در تکنوولوژی برای سطوح دسترسی ، زبانهای تعریفشده با نامهای SAML یا زبان سطح بالای اثبات امنیت است و XACML که همان زبان سطح بالای کنترل دسترسی است.
یکی از راهای سنتی و قدرتمند عدم نیاز به ذخیره اطلاعات در یک نقطه است که میتوان با درخواست قسمتی از اطلاعات از منابع مختلف آن را از دستبرد در امان داشت که البته این موضوع توسط منابع قانونی و سازمانهای امنیت داده تحت بررسی است و استفاده از آن تأیید نشده است.
مسئله مطرح شده بعدی نیاز به کپی های مختلف از دادههای حساس است چون اگر داده حساس در ابر وجود داشته باشد باید کپی هایی از آن در مکانهای مختلف وجود داشته باشد و در صورت تغییر در فایل روی ابر باید تمام کپی های آن بهروز شود.
ارتباط بین activity ها با استفاه از intent ها
بسم الله الرحمن الرحیم
ارتباط بین activity ها با استفاه از intent ها
فصل دوم-بخش ششم
یک برنامه اندروید می تواندصفر یا بیشتر activity د اشته باشد زمانی که برنامه شما بیشتر از یک activity اشته باشد شما اغلب نیاز دارید که بین activity ها ارتباط بر قرار کنید.که ارتباط بین activity هااز طریق چیزی انجام می شودکه به عنوان intent شناخته می شود..بهترین راه برای درک این مفهوم شرح آن با یک مثال می باشد.که در مثال زیر ابتدا یک activityدیگرایجاد می کنیم.و سپس بین این دو activity با استفاده از intent ارتباط بر قرار می کنیم.
ادامه مطلب...اعتماد سازی کلود
بسم الله الرحمن الرحیم
اعتماد سازی کلود
آموزش کلودسیم CloudSim
فصل هفدهم
مروری بر پیشینه کلود
مقدمه
اعتمادسازی در محیط ابری شبیه داستان فیل و شهر کوران است که هر شخصی از دید خود فیل را توصیف میکرد. در اینجا هم هرکسی از دید خود به قضیه اعتمادسازی نگاه کرده است. یکی ارتباط مدیران با کاربران را راهحل مناسبی برای اعتمادسازی معرفی کرده ، دیگری ساخت محیط ابری کاربرپسند و دیگری زیرساخت خوب و برخی کارشناسان رمزنگاری اطلاعات در سمت سرویسگیرنده و نگهداری در سمت سرویسدهنده را پیشنهاد میکنند و برخی دیگر تضمین حکومتها و همکاری آنها را راهکار مناسبی دانستهاند.[2][1] و هرکسی از دید خود اعتمادسازی را معرفی کرده و راهحلی را برای آن ارائه کرده و البته عدهای هم معتقدند هیچ راهحلی برای اعتماد صد درصد وجود ندارد.
در ادامه به بررسی تعدادی از روشها میپردازیم.
ایجاد قوانین و همکاری دولتها در کلود
Changhoon Lee Jean و همکارانشان [3]معتقدند که فقط روشها کافی نمیباشد و باید قوانینی برای دنیای مجازی وضع کرد.
مدیریت مباحث امنیتی در سرویسهای ارائهشده توسط دولتها: باید از طریق دولتها یک سری قوانین اعمال شود چون شرکتها نمیتوانند امنیت را به وجود آورند.
تعیین اصول اعتماد در محیطهای مجازی و گسترشیافته : اگر شخصی به دولتی اعتماد کرد و دولت هم شرکتی را تأیید کرد ، شخص باید به آن شرکت هم اعتماد کند.
همخوانی اصول امنیتی(ایجاد هماهنگی بین مباحث امنیت و اعتماد دنیای واقعی و دنیای مجازی) : باید جرم در دنیای مجازی معادلی در دنیای واقعی داشته باشد.
آینده محاسبات ابری
بسم الله الرحمن الرحیم
آینده محاسبات ابری
آموزش کلودسیم CloudSim
فصل شانزدهم
آینده محاسبات ابری و کلود در دنیا
مقدمه ای بر کلود
جامعه جهانی در عصری به سر میبرد که دران اطلاعات و دانش را سرمایه اصلی و عامل اساسی رشد و توسعه یکجامعه میشناسد تا آنجا که ( دانایی ، توانایی است ) شعار اصلی این عصر است. اطلاعات، ابزار و عامل اساسی بهکارگیری دانش در عصر حاضر است . حقیقت این است که شاغلان بخش اطلاعات از بزرگترین طبقات فعال فناوری اطلاعات و از مهمترین و عمدهترین ساختارهای موجود در جامعه امروز جهانی است . پیدایش و گسترش این ساختار متکی به سه عامل ( تغییرات پویا و پیشرفت فناوری ) ، ( جهانیشدن تجارت ) و ( پیشرفتهای اجتماعی ) است . فنآوری اطلاعات در پیوند بین فعالیتهای مختلف یک سازمان و نیز فعالیتهای بین سازمانی منطقهای و بینالمللی نقش اساسی دارد . استفاده از فناوری اطلاعات در دنیای امروز ، ضامن بقا و تداوم فعالیتهای یک سازمان است و بدون بهرهمندی از آن نهتنها امکان استفاده از روشهای نوین در سازمان فراهم نمیشود بلکه امکان رقابت با سازمانهای دیگر نیز از میان خواهد رفت .
همگام با پیشرفت روزافزون فناوری در جوامع امروزی ، نیاز به اطلاعات و امکان استفاده از آنها در تمام زمینهها لازم است. با توجه به پیشرفتهای قرن اخیر در زمینه کامپیوتر، فناوری اطلاعات از اهمیت ویژهای برخوردار گردیده است، بهطوریکه قرن حاضر را قرن اطلاعات نیز نامیدهاند. قرنی که دران ، استفاده بهینه از اطلاعات عامل مهم توسعه و پیشرفت خواهد بود . وابستگی رشد علم و دستیابی به اطلاعات ، اهمیت فناوری اطلاعات را بیشتر نشان میدهد، بهطوریکه یکی از عوامل مهم در ارزیابی پیشرفت کشورها، امکان دستیابی به اطلاعات و نحوه استفاده از آن میباشد. استفاده از این فناوری جدید، برای تمام کشورها امکانپذیر است. گرچه مؤسسات پیشرفته، بهتر و کارآمدتر میتوانند از این فناوری در جهت پیشرفت و توسعه اقتصادی، سیاسی و فرهنگی خود استفاده نمایند، اما این گروه پژوهشی نیز با بهرهگیری مناسب از این فناوری در زمینههای زیر، میتواند پیشرفت دانشگاه و سایر دستگاههای اجرائی در حل مسائل ملی و منطقهای را تسریع نماید.
اطلاعات بهعنوان یکی از باارزشترین و حساسترین داراییهای سازمان بوده و دستیابی به آن و عرضه بهموقع و مناسب اطلاعات موردنیاز، همواره دارای نقش محوری و سرنوشتساز میباشد. حفظ و نگهداری اطلاعات شرط لازم برای تداوم فرآیند کسبوکار بنگاههای اقتصادی میباشد. دسترسی غیرمجاز و رخنه به اطلاعات روی دیسکها ، کامپیوترها و استفاده غیرمجاز از آنها تبدیل به معضل شده است و این دسترسی توسط کارمندان یک سازمان،کاربران اینترنت و یا توسط عوامل دیگر صورت میگیرند لذا سازمانها و شرکتها ناگزیر به دنبال پیادهسازی موارد امنیتی میباشند.
برای پیادهسازی امنیت تنها توجه به مسائل فنی کافی نیست بلکه ایجاد سیاستهای کنترلی و استاندارد کردن آن و همچنین ایجاد روالهای صحیح، درصد امنیت اطلاعات را بالا خواهد برد و همین امر بهکارگیری سیستمهای، مدیریت امنیت اطلاعات را الزامی کرده است. اکنون مباحث مربوط به امنیت اطلاعات، بعُد جدیدتری پیداکرده و از موضوعاتی است که ، این روزها در کانون توجه تمامی سازمانها و مؤسسات قرارگرفته است.
علیرغم استفاده کشورهای مختلف جهان از انواع استانداردهای سیستم مدیریت امنیت اطلاعات،متأسفانه در ایران تاکنون هیچ تلاشی در جهت تطبیق و پیادهسازی سیستم مدیریت امنیت اطلاعات در ادارات و سازمانها صورت نگرفته است هرچند این امر بهتدریج در حال شکلگیری است.
بنابراین، با شروع ایجاد دولت الکترونیکی و یا استفاده از پردازش ابری در ایران توسط سازمانها و نهادهای دولتی یا خصوصی، برای تأمین امنیت اطلاعات، شناخت و درک صحیح و همچنین اجرا و پیادهسازی سیستمهای مدیریت امنیت اطلاعات ضروری میباشد.
بیان مسئله
امنیت شبکه، شامل مقررات و سیاستهای اتّخاذ شده توسط مدیریت شبکه است که بهمنظور جلوگیری و نظارت بر دسترسی غیرمجاز، سوءاستفاده، اصلاح، یا ایجاد محدودیت در شبکههای کامپیوتری و منابع قابلدسترس در شبکه، تدوین و اعمال میگردد.
اما امنیت بالا بهتنهایی نمیتواند اعتماد مشتری را جلب کند ، بلکه مسائل دیگری در اعتمادسازی بین سرویسدهنده و سرویسگیرنده مدنظر است که عدم رعایت آنها باعث صلب اعتماد مشتری میشود
بررسی اجمالی بر پردازش ابری
بسم الله الرحمن الرحیم
خطرات امنیتی پردازش ابری
آموزش کلودسیم CloudSim
فصل پانزدهم
نتیجه گیری
مزایای استفاده از Cloud
کاهش هزینه Cloud
استفاده از پردازش ابری هزینه های بسیاری را کاهش میدهد. اعم از هزینه های سخت افزاری و نرم افزاری و... پردازش ابری هزینه های سنگینی که شرکتها برای سخت افزار متحمل میشوند را کاهش میدهد. دیگر نیازی به خریدن هارد دیسکهای پرظرفیت و پردازشگرهای پیشرفته ندارید.از طرفی نیاز به فضاهای ذخیره فیزیکی 1 نیست و با قرار دادن اطلاعاتتان بر روی ابزار ذخیره دیگر تنها هزینه اجاره و دسترسی به اطلاعات خود را میپردازید.
این فناوری هزینه ها را به میزان زیادی کاهش میدهد . رایانش ابر، مشتریان را از مخارج سخت افزار، نرم افزار و خدمات و همچنین از درگیری با نصب و نگهداری نرم افزارهای کاربردی به شکل محلی آسوده می کند. همچنین هزینهٔ توسعهٔ نرم افزاری را کاهش داده و فرآیند را مقیاس پذیرتر می نماید.
طبق آمار شرکت هایی که IT مهم ترین توجیه استفاده از پردازش ابری برای مدیران از پردازش ابری استفاده می کنند تا % 18 کاهش هزینه داشته اند و این رقم برای شرکت های بزرگ بسیار قابل توجه است.
به عنوان مثال:
فرض کنید شما یک شرکت دارید که مثلاً 50 کامپیوتر دارد. میخواهید برای این کامپیوترها نرم افزار خریداری کرده و word رو نصب کنید کاری که باید انجام دهید این است که باید 50 برنامه word روی تک تک کامپیوترها نصب کنید. شاید یک نفر تمام هفته از این برنامه استفاده کند و نفر دیگر فقط
1 روز در هفته از این برنامه استفاده کند ولی قیمتی که برای برنامه پرداخت می کنید یکسان است، که این اصلا مناسب نیست. با استفاده از سیستم ابری، یک شرکت این برنامه را برای شما روی سرور های خودش نصب می کند و شما با کامپیوتر های خود که به اینترنت متصل هستند به سرورها وصل شده و از برنامه استفاده می کنید و به مقدار استفاده از برنامه هزینه پرداخت می کنید، که خیلی به صرفه تر است.
به عنوان مثال دیگر، شرکت پاندا نرم افزار panda cloud antivirus را به طور رایگان در ابر و در دسترس همگان قرار داده است.
افزایش کارایی Cloud
کارایی در سیستم بدون نیاز به هزینه افزایش مییابد زیرا بدون نیاز به سختافزار خاص میتوان از امکانات موجود در ابر استفاده کرد.
برای مثال: معمولا تمام کاربران نیمه حرفه ای کامپیوتر حداقل یک بار با این مشکل مواجه شده اند. به طور مثال بعد از نصب یک نرم افزار و یا هنگام اجرا با مشکل روبه رو شده اند که دلیل آن نیاز به پردازش سنگین بوده و کامپیوتر شما توانایی این کار را ندارد، در نتیجه نمیتوانید از آن استفاده کنید.
ادامه مطلب...خطرات امنیتی پردازش ابری بخش دوم
بسم الله الرحمن الرحیم
خطرات امنیتی پردازش ابری
آموزش کلودسیم CloudSim
فصل چهاردهم
خطرات امنیتی پردازش ابری (بخش دوم)
در فصل پیش در خصوص مباحث امنیت در پردازش ابری صحبت کردیم. در بخش قبل امنیت از بیرون را مورد بررسی قرار دادیم، در این بخش قصد داریم امنیت از درون را مورد بررسی قرار دهیم.
منظور از امنیت درونی همان بحث اعتماد سازی بین کارمندان،مدیران و دولت های ارائه دهنده ابر و کاربران و دولت های سرویس گیرنده ابر میباشد. برای این قسمت از امنیت، راهکار های قطعی ارائه نشده و هنوز ضعف ها بر راهکارها غلبه میکنند.
راهکار هایی که در این زمیکنه ارائه شده اند به شرح زیر میباشد
1- تجمیع قالب های قانونی حفاظت و نگهداری داده از جمله :
در واقع معتقد است که فقط روش ها کافی نمیباشد و باید قوانینی برای دنیای مجازی وضع کرد
• مدیریت مباحث امنیتی در سرویس های ارایه شده توسط دولت ها: باید از طریق دولت ها یک سری قانون اعمال شود چون شرکت ها نمیتوانند امنیت را به وجود اورند مانند قانون کپی رایت که باید توسط دولت حمایت شود و اراده شرکت ها به تنهایی نتیجه بخش نخواهد بود.
• تعیین اصول اعتماد در محیط های مجازی و گسترش یافته : قانون بگذاریم اگر شخصی به دولتی اعتماد کرد و دولت هم شرکتی را تایید کرد ، شخص باید به ان شرکت هم اعتماد کند و در صورت ایجاد مشکل، دولت موظف است شرکت را بارخواست کند.
• همخوانی اصول امنیتی(ایجاد هماهنگی بین مباحث امنیت و اعتماد دنیای واقعی و دنیای مجازی) : در دنیای واقعی اگر کسی چیزی بدزدد دولت با وی برخورد کرده و او را مجازات میکند اما در اینترنت اینگونه نیست و بسیاری از کشور ها برای برخورد با سارقان اطلاعات قانونی ندارند و یا قوانینی به مراتب اسان تر از دنیای واقعی دارند.
مثلا اگر شخصی در دنیای واقعی اطلاعات شخصی رابدزدد مجازات ان یک ماه زندان خواهد بود اما گر از طریق اینترنت این کار را انجام دهد مثلا یک هفته زندان خواهد داشت.
باید وقتی در ابر کسی جزمی مرتکب میشود مانند این باشد که در دنیای واقعی این کار را انجام داده. مثلا اگر یک مگابایت دیتا دزدیدی مثل این که ماشین طرف دزدیدی یا تخریب کننده مثل کسی هست که در شهر بمب گذاری کرده
2- بررسی نقاط ضعف کلود
• امنیت در مباحث فنی
• دسترسی به داده های کلود (مباحث قانونی و برخورد متناقض دولت ها)
• ابزارهای خصوصی سازی داده ها از جمله کد گذاری :
هش شدن اطلاعات و یا رمز گذاری با کلید روی دیتا ها جهت در امان ماندن از سو استفاده کارکنان ابر
• استفاده از سرویس های کنترل و مدیریت ریسک در کلود :
در کلود مباحث ریسکی زیاد است از جمله کسانی که دیتا دارند. هکر ها و کسانی که داخل کلود هستند و لحظه ممکن است که هر برای قسمتی از ابر بحرانی پدید اید. برای مثال سایت امازون با هزاران کاربر هک شد و یا یک ابر با بیش از 80 هزار کاربر متوقف شده .
ادامه مطلب...ارزیابی مرورگر Edge
بسم الله الرحمن الرحیم
مرورگر جدید مایکروسافت Edge
آمار های زیادی برای معرفی و ارزیابی برترین مرورگر وجود دارد در این میان StatCounter مرورگر Google Chrome برترین مرورگر فعلی دنیا است.
با معرفی ویندوز 10، مروگر Edge مایکروسافت نیز معرفی شد این مرورگر عملکرد بسیار فوق العاده ای نسبت به Google Chrome دارد.
در آخرین ارزیابی ها مایکروسافت برای بررسی مرورگر خود از ابزارهای تست شرکت Apple و Google استفاده کرده است. در این بررسی ها مرورگر Edge توانسته است با رتبه ای حدود 112 درصد بهتر از مرورگر Google Chrome در مکان اول قرار گیرد.
ادامه مطلب...نمایش یک Dialog Window
بسم الله الرحمن الرحیم
نمایش یک Dialog Window
فصل دوم- بخش چهارم
زمان های وجود دارد که شما نیاز دارید تا یک Dialog Windowنمایش دهید که کاربر اطلاعات خود ا وارد نماید.
در این موارد شما باید متد onCreateDialog()د راکه از نوع Protected می باشد, و توسط کلاس پایه Activity تعریف شده ا را override کنید.
ادامه مطلب...اعمال Style و theme بر روی یک activity
بسم الله الرحمن الرحیم
اعمال Style و theme بر روی یک activity
فصل دوم- بخش سوم
به طور پیش فرض زمانی که یک activity اجرا می شود تما م صفحه را در بر می گیرید. با این حال شما می توانید Dialog Theme را بر روی آن اعمال کنید. تا activity به صورت یک Dialog نمایش داده شود. یا ممکن شما بخواهید activity مورد نظرتان را به صورت یک pop-up نمایش دهدید که به کاربر در مورد بعضی از عمل های که میخواهند اجرا هستند پیغام می دهد
ادامه مطلب...Activities, Fragments و Intents
بسم الله الرحمن الرحیم
Activities, Fragments و Intents
فصل دوم- بخش دوم
در پایان این فصل با موارد زیرآشنا می شود
- چرخه ی زندگی(Life Cycle ) یک Activity
- آشنای با Fragment ها و شخصی سازی UI
- اعمال Style ها و Theme ها بر روی UI
- شرح می دهیم که چه طور یک Activity را مانند Dial g Wind ws نمایش دهیم
- با مفهوم Intent ها آشنا می شویم.
- استفاده از شی ( bject ) Intent برای لینک بین Activity ها
- فهمیدن اینکه intent filter ها چگونه به شما کمک می کند تا به صورت دلخواه با دیگر Activity ها ارتباط برقرا کنید
- نمایش Alert ها به کاربران با استفاده از notificati n ها
در فصل اول شما یاد گرفتید که یک activity پنجره ا ی است شامل تمام Ui ها برنامه های کاربردی شما می باشد. یک برنامه ی کاربردی می تواند یک یا بیشتر Activity داشته باشد. هدف اصلی یک Activity ارتباط(interact) با کاربر می باشد.
activity برای یک زمان در صفحه نمایش ظاهر می شود و در لحظه دیگر مخفی می باشد یک activity در حالت های مختلف قرار می گیرد. که قرار گرفتن در حالت های مختلف را چرخه ای زندگی(Life Cycle) می گویند. فهمیدن چرخه ی زندگی یک activity امر حیاتی است زیرا به شما کمک می کند تا مطمئن شوید برنامه کاربردی به درستی کار می کند.
اندروید 4 علاوه بر پشتیبانی از ویژگی های اندروید 3 دارای ویژگی جدیدی می باشد به نام :Fragment برای اینکه مفهوم Fragment را به خوبی متوجه شوید فرض کنید که Fragment ها Acitivity ها کوچکی هستند که می توانیم در یک Activity گروه بندی کنیم.
در این فصل شما با activity ها و Fragment ها آشنا می شوید.صرف نظر از activity ها مفهوم اصلی دیگر در اندروید intent می باشد. یک Intent به طور اساسی یک کلاس می باشد که activityهای متفاوت دیگر را قادر می سازد که با یکدیگر به صورت یک پارچه باهم کار کنند. در فصل های بعدی شما یاد می گیرید که چگونه برنامه های از پش ساخته سیستم عامل اندروید می توانند با هم کار کنند.
ادامه مطلب...نمایش یک Progress Dialog
سم الله الرحمن الرحیم
نمایش یک Progress Dialog
فصل دوم- بخش پنجم
یک از UI های رایج در دستگا های که از سیستم عامل اندروی استفاد ه می کنند دیالوگ Please Wait می باشد. که شما عموما آن را زمانی مشاهده می کنیدکه یک کار برای مدت زمان طولانی در حال انجام باشد.
به عنوان مثال زمان های که شما در حال Loginکردن به یک سرور می باشید یا در حال انجام محاسبات سنگین برای نمایش به کاربر می باشیدویاموارد از این قبیل این Dialog بسیار مفید می باشد.که به عنوان Progress Dialog شناخته می شود
آن را با یک مثال به شما نمایش می دهیم.
ادامه مطلب...آموزش چند زبانه کردن سایت در ASP.NET
بسم الله الرحمن الرحیم
یکی از ویژگی هایی که در برنامه های تجاری بسیار مورد استفاده قرار می گیرد، ویژگی چند زبانه بودن نرم افزار است. این ویژگی در حال حاضر بسیار مورد اهمیت می باشد.
در وب سایت های مختلف می توانید مقالات متعددی را به همراه روش های متفاوتی در خصوص پیاده سازی چند زبانه کردن سیستم ها مشاهده کنید. در اینجا قصد داریم یکی از سریعترین روش ها و روش های پیشنهادی مایکروسافت برای طراحی یک وب سایت چند زبانه مورد استفاده قرار دهیم.
این مقاله می تواند هم برای کسانی که قصد طراحی وب سایت چند زبانه با APS.NET MVC دارند و هم کسانی که از ASP.NET Web Form استفاده می کنند مورد استفاده قرار گیرد.
قبل از شروع کار بهتر است برخی از مفاهیم این تکنولوژی را معرفی کنیم.
Internationalization
Internationalization یا به اختصار i18n، به فرایند تولید و توسعه محصولات نرم افزاری به گونه که محصول مورد نظر دارای قابلیت شخصی سازی و localization را داشته باشد گویند. localization در واقع به معنای پیاده سازی یک سیستم نرم افزار بر اساس زبان و فرهنگ (languages and cultures) یک کشور است.
Internationalization را به اختصار i18n می گویند که عدد 18 تعداد کاراکتر هایی است که مابین حرف i و n قرار گرفته است.
Globalization and Localization
Globalization
Globalization که به صورت مخفف ان را G11n می نامند، Globalization در واقع به فرایند تولید و توسعه نرم افزار می باشد که به وسیله آن محصول نهایی را برای فرهنگ های مختلف (cultures) مورد استفاد قرار داد.
cultures به فرمت تاریخ، واحد پول، نمایش اعداد و... گفته می شود، طبیعتا شما نیز تا کنون در ویندوز خود تاریخ و ساعت و واحد پول خود را از طریق Control Panel تغییر داده اید.
Globalization به اختصار G11n نامیده می شود، عدد 11 تعداد کاراکتر های مابین دو کاراکتر G و N می باشد.
Localization
Localization که به اختصار آن را L10n می نامند، به فرایند تولید و توسعه یک نرم افزار به گونه ای که بتوان آن را برای یک فرهنگ (culture) خاص شخص سازی (customize) کرد Localization می گویند.
Localization را به اختصار L10n می نامند، عدد 10 در اینجا نیز مانند سایر موارد تعداد حروفی است که مابین دو کاراکتر L و N قرار گرفته می باشد.
Culture in ASP.NET Framework
ASP.NET framework دو culture دارد، Culture و UICulture، مقادیر این دو culture از دو حرف کوچک برای تعریف زبان (language) و از دو حرف بزرگ برای تعریف منطقه جغرافیایی (region) تشکیل می شوند.
به طور مثال برای تعریف زبان انگلیسی از "en" و برای مشخص کردن منطقه انگلیس (Britain) و یا امریکا (American) بودن به ترتیب از "GB", "US" استفاده می شود.
پس اگر شما بخواهید نرم افزار خود را برای British English تنظیم کنید باید از en-GB استفاده کنید و همچنین اگر بخواهید از American English استفاده کنید باید از en-US استفاده کنید. با استفاده از این دو پارامتر در واقع شما می توانید فرمت تاریخ، پول و اعداد ( date, number, and currency) خود را تنظیم کنیم.
ما با دو مفهوم در پیاده سازی چند زبانه کردن نرم افزار ها روبرو هستیم:
Culture
تاریخ، ساعت، واحد پول و.. که می بایست بر اساس Culture انتخاب شده نمایش داده شود.
UICulture
فایل resource ایی که برای نمایش صحیح Culture کاربر می بایست انتخاب شود و اطلاعات از آن واکشی شود.
ASP.NET globalization framework
هر thread (در فارسی ریسمان معنا شده است به هر پردازشی که برنامه شما از آن بهره می گیرد، می گویند. به صورت پیش فرض هر برنامه تنها با یک thread طراحی می شود) NET. یک پراپرتی CurrentCulture و CurrentUICulture دارد.
این property ها در زمان Render شدن صفحه و مقادیر مرتبط با Culture توسط ASP.NET globalization framework استفاده می شوند.
Internationalization of Validation Messages
برای نمایش پیام ها به زبان های مختلف می بایست به ازای هر زبان پیام خود را ترجمه کنید و با یک کلید مشخص به ازای هر culture ذخیره کنید.
ادامه مطلب...