
روابط عمومی شرکتایدکو(توزیع کننده محصولات کسپرسکی در ایران)؛امروزه با یک حرکت بالا و پایین، طوماری از شبکه های وای فای موجود در خانه های اطراف خود را می توانید ببینید و بهتر از همه چیز این است که این شبکه ها بدون کلمه عبور باشند. در این شرایط براحتی می توان وارد شبکه شد و کارهای اینترنتی خود را انجام داد و کسی هم متوجه نخواهد شد و آسیبی هم متوجه شخصی نمی شود، درست است؟
ممکن است به نظر برسد که این جرمی بدون قربانی است اما واقعا نباید این کار را انجام دهید. برای شروع باید بگوئیم که این کار هنوز سرقت نامیده می شود حتی اگر صاحب شبکه در حماقت کامل شبکه وای فای خود را بدون رمز عبور در دسترس قرار داده باشد. در زیر برخی از دلایلی را آورده ایم که ممکن است باعث شوند هزینه وای فای مثلا “قرض گرفته” شده شما را بالا ببرند.
سوء قصد بدافزارها
این هشداری برای طرفداران وای فای “عمومی” است. یکی از روشهای مجرمان سایبری راه اندازی شبکه های جعلی وای فای با هدف سرقت اعتبار کاربرانی است که صرفا می خواهند در محیط اینترنت گشت و گذار داشته باشند. این شبکه ها اغلب در کافی شاپ ها، مراکز و پارک های عمومی وجود دارند و هرگز نام خانه سوزان بر روی آنها قرار داده نمی شود اما ممکن است که حتی این شبکه همسایه شما سوزان باشد.
این شبکه براحتی می تواند شوخی زننده یک همسایه هم باشد که صرفا به دنبال پیدا کردن دسترسی به کارت های اعتباری،Netflixیا شبکه های اجتماعی شما باشد.
امنیت چه چیزی باید تامین شود؟
اگر هم روزی توانستید به شبکه وای فای بدون رمز همسایه خود متصل شوید، باید برایتان مشخص شود که این کاربر تا چه سطحی به امنیت خود فکر کرده است. اگر شما می توانید به آن شبکه متصل شوید پس هر شخص دیگری هم می تواند.
در اینجا صحبت از امنیت بدین معنی است که برای اتصال به این شبکه، دستگاه شما باید در بهترین حالت خود قرار داشته باشد چون اگر شبکه همسایه آلوده باشد براحتی می تواند سیستم شما را تخریب کند. البته بهتر است ما امیدوار باشیم که آنتی ویروس شما بتواند اینگونه مشکلات را براحتی از بین ببرد.
کندی سرعت
آیا دوست دارید زمانیکه به تماشای یک فیلم نشسته اید جریان بارگذاری آن در حالت بافر بماند؟ قطعا دوست ندارید–این قبیل اتفاقات واقعا می توانند ما را عصبانی کنند.
زمانیکه سوار وای فای همسایه خود می شوید سرعت و حجمی را که کاربر برای خود پرداخته است را دچار کندی و سواستفاده می کنید و به غیر از این افراد دیگری هم هستند که در آن منزل سکونت دارند و از این سرویس بهره مند می شوند اما تحت این شرایط حق آنان پایمال می شود. اگر خانم خانه در حال تماشای فیلم از اینترنت باشد و فرزندشان مشغول بازی های آنلاین باشد و همسرش برنامه های گوشی همراه خود را بروز رسانی کند و تحت این شرایط شما به این فهرست اضافه شوید و بخواهید آهنگ یا سریال بازی تاج و تخت را دانلود کنید قطعا آنها نمی توانند از سرعت بهره ای ببرند.
وای فای عمومی مانند استخر عمومی است.
در بین استخر عمومی و وای فای عمومی چه نقطه اشتراکی است؟ افراد زیاد!
اگر این اتفاق برای شما بیفتد خیلی عصبانی می شوید چون پول زیادی از دست داده اید اما صبر کنید، به این نکته هم فکر کنید که همسایه های شما هم برای وای فای خود پول پرداخت کرده اند.
مهمانی پیتزا
تقریبا همه پیتزا یا بستنی را دوست دارند. صادقانه باید بگوئیم که رد کردن پیتزا یا بستنی رایگان بسیار سخت است. وای فای بدون رمز همسایه هم مصداق همین مثال است. البته باز هم در اینجا ممکن است همسایه ای مانند شما به وای فای بدون رمز همان همسایه که هم اکنون مانند ظرف عسل است علاقه مند باشد.
متاسفانه ممکن است همسایه شما این سیستم را با دوستانش، پیک پیتزا، بستنی فروش سیار و افرادی دیگر به اشتراک گذاشته باشد. این مسئله در مورد شبکه های وای فای صدق می کند که محافظت شده نیستند و یا از کلمات عبور نسبتا ضعیف و قابل حدس زدن استفاده کرده اند. مانند وای فای خانه سوزان.
مشکل این است که نمی توان گفت در یک زمان چه کسانی به شبکه وای فای متصل هستند. با توجه به ضعیف بودن زنجیره امنیتی وای فای آیا واقعا امیدوار هستید که کاربران با کلیک کردن بر روی لینک های مخرب و نصب بدافزارها و با سرقت اعتباری روبرو نشوند؟
آیا این کار ارزش دارد؟
دستگاه شما میزبان اطلاعات ارزشمند شما است. همه چیز از کار گرفته تا عکس های خانوادگی که تبدیل به خاطرات دیجیتال شما شده اند بر روی این دستگاه ها ذخیره می شوند. آیا واقعا می خواهید برای پرداخت نکردن پول وای فای این خطرات را برای خود بخرید؟
اگر از من بپرسید جوابم منفی است. نه تنها “قرض گرفتن” وای فای همسایه غیر قانونی است بلکه نشانگر بی ملاحظه بودن هم است.
پیشرفت کنید، با تهیه یک برنامه امنیتی مناسب نه تنها از شبکه خود محافظت خواهید کرد بلکه با نصب یک آنتی ویروس قدرتمند می توانید زمانیکه در حال گشت و گذار در اینترنت هستید در سایه امنیت قرار بگیرید.
منبع: ایدکو

اگر قصد دارید حساب کاربری خود را به صورت کامل و آنی غیرفعال یا حذف نمایید ،پیام رسان تلگرام سرویس مخصوصی برای اینکار دارد که برای استفاده از آن باید از مراحل زیر کمک بگیرید:

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





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

عموم ما عادت داریم که کامپیوتر یا لپتاپ خود را هرشب خاموش کنیم؛ آیا این مسئله تاثیری بر عملکرد رایانه و از همه مهمتر، ماندگاری و دوام قطعات سختافزاری آن دارد؟ آیا باید سیستم خود را هر شب خاموش نماییم یا بهتر است آنرا روشن نگهداریم؟ برای پاسخ به این سوالها، در ادامه مطلب با ما همراه باشید.

مقدمه
اگر قصد اجرای برخی کارها به صورت زمانبندی شده و در فواصل زمانی مشخص را دارید، این مقاله به شما کمک خواهد کرد تا به بهترین شکل ممکن آن را انجام دهید. کارهایی مانند ارسال خبرنامه، فرستادن SMS تبریک تولد یا هماهنگ سازی دادهها بین دو منبع داده از جمله اَعمالی هستند که باید به صورت زمانبندی شده انجام شوند.
کتابخانهی Quartz.NET، از کتابخانه ای با نام Quartz و از زبان Java به NET. منتقل شده است. Quartz.NET، رایگان و باز متن است و از طریق آدرس
http://quartznet.sourceforge.net در دسترس است. از طریق NuGet نیز میتوانید با تایپ عبارت quartz در فرم مربوطه، این کتابخانه را نصب کنید. این کتابخانه را در برنامههای Desktop و Web (حتی یک Shared Server) تست کردم و به خوبی انجام وظیفه میکند.
شروع کار با Quartz.NET
ضمن در اختیار قرار دادن امکانات فوق العاده و انعطاف پذیری بسیار، کار با این کتابخانه آسان و از فرایندی منطقی تبعیت میکند. فرایند اجرای یک روال زمانبندی شده از طریق Quartz.NET، از چهار مرحلهی اصلی تشکیل شده است.
۱) پیاده سازی اینترفیس IJob
۲) مشخص کردن جزئیات روال با اینترفیس IJobDetail
۳) مشخص کردن تنظیمات زمان با استفاده از اینترفیس ITrigger
۴) مدیریت اجرا با استفاده از اینترفیس IScheduler
مثالی را بررسی میکنیم. در این مثال قصد داریم تا عبارتی را همراه با تاریخ و زمان جاری در یک فایل ذخیره کنیم. این پیغام باید ۳ بار و در فواصل زمانی ۱۰ ثانیه به فایل اضافه شود. در پایان، فایلی خواهیم داشت که در سه خط، یک عبارت، همراه با تاریخ و زمانهای مختلف را که ۱۰ ثانیه با یکدیگر اختلاف دارند در خود ذخیره کرده است. ابتدا کار زمانبندی شده را با ارائهی پیاده سازی برای متد Execute اینترفیس IJob این کتابخانه ایجاد میکنیم. وارد کردن فضای نام Quartz را فراموش نکنید.
namespace SchedulerDemo.Jobs
{
using System;
using System.IO;
using Quartz;
public class HelloJob : IJob
{
public void Execute(IJobExecutionContext context)
{
// for web apps
// string path = System.Web.Hosting.HostingEnvironment.MapPath(“~/Data/Log.txt”);
// for desktop apps
string path = @”C:\Log.txt”;
using (StreamWriter sw = new StreamWriter(path, true))
{
sw.WriteLine(“Message from HelloJob ” + DateTime.Now.ToString());
}
}
}
}
در اینترفیس IJob در ASP.NET، به شی HttpContext دسترسی ندارید، بنابراین در صورتی که قصد داشته باشید از متدی مانند Server.MapPath استفاده کنید، توفیقی به دست نخواهید آورد. در عوض میتوانید از متد System.Web.Hosting.HostingEnvironment.MapPath استفاده کنید.
حال، زمان انجام تنظیمات مختلف برای اجرای روال مربوطه است. بهتر است تا interfaceیی ایجاد و متدی با نام Run در آن داشته باشیم.
namespace SchedulerDemo.Interfaces
{
public interface ISchedule
{
void Run();
}
}
حال، پیاده سازی خود را برای این interface ارائه میدهیم.
namespace SchedulerDemo.Jobs
{
using System;
using Quartz;
using Quartz.Impl;
using SchedulerDemo.Interfaces;
using SchedulerDemo.Jobs;
public class HelloSchedule : ISchedule
{
public void Run()
{
//DateTimeOffset startTime = DateBuilder.NextGivenSecondDate(null, 2);
DateTimeOffset startTime = DateBuilder.FutureDate(2, IntervalUnit.Second);
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity(“job1”)
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity(“trigger1”)
.StartAt(startTime)
.WithSimpleSchedule(x => x.WithIntervalInSeconds(10).WithRepeatCount(2))
.Build();
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sc = sf.GetScheduler();
sc.ScheduleJob(job, trigger);
sc.Start();
}
}
}
معرفی فضاهای نام Quartz و Quartz.Impl را فراموش نکنید.
از حالا، به روالی که قرار است به صورت زمانبندی شده اجرا شود، “وظیفه” میگوییم.
ابتدا باید مشخص کنیم که وظیفه در چه زمانی پس از اجرای برنامه شروع به اجرا کند. از آنجا که پایه و اساس زمانبندی، بر تاریخ و ساعت استوار است، کتابخانهی Quartz.NET، روشها و امکانات بسیاری را برای تعیین زمان در اختیار قرار میدهد. با بررسی تمامی آنها، سادهترین و منعطفترین را به شما معرفی میکنم. کلاس DateBuilder که همراه با Quartz.NET وجود دارد، امکان تعیین زمان را به اَشکال مختلف میدهد. در خط ۱۴، از متد FutureDate این کلاس استفاده شده است که خوانایی بهتری نسبت به بقیهی متدها دارد. پارامتر اول این متد، عدد، و پارامتر دوم، واحد زمانی را میپذیرد.
DateTimeOffset startTime = DateBuilder.FutureDate(2, IntervalUnit.Second);
در اینجا، زمان آغاز وظیفه را ۲ ثانیه پس از آغاز برنامه تعریف کرده ایم. واحدهای زمانی دیگر شامل میلی ثانیه، دقیقه، ساعت، روز، ماه، هفته و سال هستند. کلاس DateBuilder، متدهای مختلفی برای تعیین زمان را در اختیار قرار میدهد. تعیین زمان آغاز به روش دیگر را به صورت کامنت شده در خط ۱۳ مشاهده میکنید.
وظیفهی ایجاد شده در خط ۱۶ تا ۱۸ معرفی شده است.
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity(“job1”)
.Build();
پشتیبانی Quartz.NET از سینتکس fluent، کدنویسی را ساده و لذت بخش میکند. با استفاده از متد Create کلاس JobBuilder، وظیفه را معرفی میکنیم. متد Create، یک متد Generic است که نام کلاسی که اینترفیس IJob را پیاده سازی کرده است میپذیرد. یک نام را با استفاده از متد WithIdentity به وظیفه نسبت میدهیم (البته این کار، اختیاری است) و در انتها، متد Build را فراخوانی میکنیم. خروجی متد Build، از نوع IJobDetail است.
و حالا نوبت به تنظیمات زمان رسیده است. در Quartz.NET، این مرحله، “ایجاد trigger” نام دارد. خطوط ۲۰ تا ۲۴ به این کار اختصاص دارند.
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity(“trigger1”)
.StartAt(startTime)
.WithSimpleSchedule(x => x.WithIntervalInSeconds(10).WithRepeatCount(2))
.Build();
ابتدا متد Create کلاس TriggerBuilder را فراخوانی میکنیم، سپس با استفاده از متد WithIdentity، یک نام به trigger اختصاص میدهیم (البته این کار، اختیاری است). با متد StartAt، زمان شروع وظیفه را که در ابتدا با استفاده از کلاس DateBuilder ایجاد کردیم تعیین میکنیم. مهمترین قسمت، تعیین دفعات و فواصل زمانی اجرای وظیفه است. همان طور که احتمالاً حدس زده اید، Quartz.NET مجموعه ای غنی از روشهای مختلف برای تعیین بازهی زمانی اجرا را در اختیار قرار میدهد. آسانترین راه، استفاده از متد WithSimpleSchedule است. با استفاده از یک عبارت Lambda که ورودی آن از نوع کلاس SimpleScheduleBuilder است، دفعات و فواصل زمانی اجرا را تعیین میکنیم. متد WithIntervalInSeconds، برای تعیین فواصل زمانی در بازهی ثانیه استفاده میشود. متد WithRepeatCount نیز برای تعیین دفعات اجرا است. وظیفهی ما، ۳ مرتبه و در فواصل زمانی ۱۰ ثانیه اجرا میشود. مطمئن باشید اشتباه نکردم! بله، سه مرتبه. تعداد دفعات اجرا برابر است با عددی که برای متد WithRepeatCount تعیین میکنید، به علاوهی یک. منطقی است، چون مرتبهی اول اجرا زمانی است که با استفاده از متد StartAt تعیین کرده اید. در پایان، متد Build را فراخوانی میکنیم. خروجی متد Build، از نوع ITrigger است.
آخرین کار (خطوط ۲۶ تا ۳۰)، ایجاد شی از اینترفیس IScheduler، فراخوانی متد ScheduleJob آن، و پاس دادن اشیای job و trigger که در قسمت قبل ایجاد شده اند به این متد است. در انتها، متد ()Start را برای آغاز وظیفه فراخوانی میکنیم.
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sc = sf.GetScheduler();
sc.ScheduleJob(job, trigger);
sc.Start();
حال شما یک وظیفه تعریف کرده اید که در هر جای برنامه به صورت زیر، قابل فراخوانی است.
ISchedule myTask = new HelloSchedule();
myTask.Run();