itunes-new-poster

آیتونز به روز شد – خیلی عمیق، خیلی سطحی

ارسال شده در: عمومی . معرفی‌ها

بعد از مدت ها بالآخره iTunes دستخوش تغییرات عمده‌ای قرار گرفت. هرچند این تغییرات از لایه‌ی بیرونی فراتر نمی‌رود و روش کاربری آن را به جز یکی دو مورد، دست نخورده باقی می‌گذارد.
با هم نگاهی به iTunes جدید بیاندازیم.

iTunes 12.0.1 - نسخه جدید آیتونز

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

همان طور که گفتم تغییرات بیشتر ظاهری بوده است. اگر به نسخه‌ی قبلی iTunes کار کرده‌اید و مثل من آن را یکی از بهترین پخش‌کننده‌های موزیک می‌دانستید، پس باید بگویم، عاشق این یکی خواهید شد. دیگر از Gradientهای عمیق خبری نیست. از رنگ‌های مات استفاده‌ی بیشتری شده. و شاید به جز لوگوی نرم‌افزار هیچ جا رنگ براقی وجود ندارد.

شاید بتوان گفت بزرگترین تغییری کاربردی‌ای که در این نسخه اتفاق افتاده است، میله‌ی ابزارها و زبانه‌هاست.

iTunes 12 - نسخه جدید آیتونز

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

iTunes 12 - نسخه جدید آیتونز

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

iTunes 12 - نسخه جدید آیتونز

به نظر می‌رسد اپل به خوبی هنر طراحی خود را از دیوایس‌ها و سخت افزارش به نرم‌افزارهایش آورده است.

۱ دیدگاه 26 اکتبر, 2014
Lollipop Forest

نصب Android 5.0 Lollipop روی نکسوس 5

ارسال شده در: اندروید . راهنماها

از آن‌جایی که کمتر از ۲۴ ساعت دیگر آخرین نسخه از سیستم عامل محبوب موبایل‌ها «اندروید 5» برای برنامه‌نویس‌ها منتشر می‌شود نسخه‌ی آب نبات چوبی یعنی پنجمین نسخه‌ی اندروید بامداد ۲۶ مهر ۱۳۹۳ منتشر شده است، راهنمای نصب این نسخه از اندروید را روی نکسوس 5 منتشر می‌کنم. پیش از این یک نسخه‌ی اولیه از اندروید به نام Android L منتشر شده بود که بسیار ناپایدار بود. روی دستگاه من که تقریبا همه جا خطا وجود داشت. بهترین اپ هایم دیگر کار نمی‌کردند.

هشدار:

این نسخه از اندروید ۵ با اینکه بسیار بهتر از نسخه‌ی قبلی‌ست، اما هنوز به مرحله‌ی نهایی نرسیده. پس اگر خیلی حساس هستید باید حدود یکی دو ماهی صبر کنید. در ضمن برای نصب «الآن» این نسخه باید کل دستگاه را به Factory Settings برگردانید. پس باز هم اگر ترس از دست دادن اطلاعاتتان را دارید صبر کنید.

خبر خوب:

اگر بعد از نصب Android 5.0 Lollipop پشیمان شدید، می‌توانید با همین روشی که اینجا توضیح میدهم دوباره نسخه‌ی قبلی یعنی 4.4.4 را نصب کنید.

پشتیبان گیری

پیش از شروع باید از تمام اطلاعات گوشی پشتیبان بگیرید. نرم افزارهای زیادی برای پشتیبان گیری از اطلاعات گوشی هستند. اما من اینجا از هیچ کدام استفاده نمی‌کنم.

۱: فایل‌های روی گوشی

خیلی ساده نکسوس خود را به وسیله‌ی کابل USB به کامپیوتر خود متصل کنید و از تمام فایل‌ها کپی بگیرید. همین!

۲: کانتکت‌ها، اپلیکیش‌ها و دیگر اطلاعات

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

چگونه Android 5.0 Lollipop را نصب کنیم؟

احتمالن می‌دانید که گوگل ما را تحریم کرده است. پس برای دسترسی به لینک‌ها و صفحاتی که در ادامه خواهید دید از روش‌هایی که خودتان بهتر می‌دانید استفاده کنید!

مرحله‌ی ۱
از این صفحه Android ADB و fastboot tools را دانلود کنید. به این‌ها برای نصب اندروید آب نبات چوبی نیاز دارید. با استفاده از این ابزار دیگر نیازی به دانلود فایل های اضافی ندارید و با دانلود صرفا فایل خود سیستم عامل می‌توانید اندروید آب نبات چوبی را نصب کنید. نصب آن بسیار ساده و شبیه هر نرم افزار ساده‌ی دیگری‌ست. مسیر نصب این ابزار را تغییر ندهید بعد از اینکه نصب تمام شد باید پنجره‌ی خط فرمان (تصویر زیر) باز شود.

چگونه Android 5.0 Lollipop را نصب کنیم

مرحله‌ی ۲ حالا فایل مربوط به دستگاه خود را از این نشانی دانلود کنید: نکسوس 5 و 7. توجه کنید که نسخه‌ی درستی را دانلود کنید. نام نسخه‌ی دستگاه‌های موبایل hammerhead است و نام نسخه‌ی دستگاه‌های تبلت razor

فایل دانلود شده را به وسیله‌ی نرم افزار WinRar یا 7zip باز (extract) کنید. حالا همه‌ی فایل‌های موجود در فایل دانلود شده را در مسیر نصب fastboot tools کپی کنید. احتمالا باید در این مسیر باشد: C:\Program Files (x86)\Minimal ADB and Fastboot

hammerhead-extracted

مرحله‌ی ۳ در دستگاه خود به تنظیمات رفته، سپس به بخش About Phone بروید. در انتهای صفحه، گزینه‌ای به نام Build Number قرار دارد. روی آن ۷ بار ضربه (tap) بزنید. با این کار گزینه‌ی Developer Options برای شما فعال می‌شود. این گزینه در اندرویدهای 4.2 به بالا به صورت پیشفرض مخفی‌ست. حالا دوباره به تنظیمات بروید و این بار وارد گزینه‌ی Developer Options شوید. و تیک گزینه‌ی Usb Debugging را بزنید.

مرحله‌ی ۴ از اینجا درایورهای مخصوص Usb دستگاه نکسوسی خود را دانلود کنید.

مرحله‌ی ۵ دستگاه خود را روشن کنید و با کابل USB به کامپیوتر متصل کنید. سپس در کنترل پنل به بخش Devices & Printers بروید. باید دستگاه خود را آنجا ببینید. روی آن راست کلیک کنید و گزینه‌ی Properties را انتخاب کنید. به زبانه‌ی Hardware بروید. از فهرست موجود Nexus 5 را انتخاب کنید و روی دکمه‌ی Properties کلیک کنید. حالا درایور دستگاه خود را به روز کنید. مسیر درایوری که دانلود کرده اید را انتخاب کنید تا ویندوز به صورت خودکار درایورهای جدید را نصب کند.

Install_Android_L_step_5_thumb

مرحله‌ی ۶ حالا همانطور که دستگاه شما به کامپیوتر متصل است آن را خاموش کنید. سپس به صورت همزمان دو دکمه‌ی کم و زیاد صدا و دکمه‌ی Power را فشار دهید و بگیرید. وقتی صفحه‌ای مشابه صفحه‌ی زیر دیدید آن ها را رها کنید. شما در حالت Fastboot هستید.

Install-Android-L-step-6

مرحله‌ی ۷ چنانچه روی صفحه‌ی گوشیتان، آخرین خط نوشته بود LOCK STATE – locked (که البته باید هم همینطور باشد) در کامپیوتر خود در پنجره‌ی خط فرمان که قبلا باز شده بود خط زیر را تایپ کنید و enter بزنید.

fastboot oem unlock

هم اکنون باید تصویر گوشی شما چیزی شبیه به تصویر زیر باشد. به وسیله‌ی دکمه‌ی زیاد کردن صدا، گزینه‌ی Yes را انتخاب کنید. سپس دکمه‌ی Power را فشار دهید تا انتخاب شود.

توجه کنید که با انجام این کار تمام محتویات گوشی شما پاک می‌شود. پس حتما قبل از این مرحله از همه چیز پشتیبان گرفته باشید.

Install-Android-L-step-7_thumb

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

flash-all

عملیات نصب آب نبات چوبی آغاز می‌شود. روی دستگاه به صورت متداول کلمات downloading، writing، erasing نوشته می‌شود.

Install-Android-L-step-8_thumb

مرحله‌ی ۹ وقتی که پروسه به پایان رسید (در خط آخر در پنجره‌ی خط فرمان -شبیه تصویر بالا- کلمه‌ی finished نوشته می‌شود.) به خاطر مسائل امنیتی بهتر است bootloader را دوباره lock کنید.

lock کردن bootloader هیچ اطلاعاتی را پاک نمی‌کند اما اگر دوباره آن را unclock کنید اطلاعات روی گوشی دوباره پاک می‌شوند.

پاک کردن Android 5.0 Lollipop و بازگشت به Factory Settings

بازگشت به Factory Settings بسیار شبیه کاری‌ست که تا اینجا انجام دادیم.

مرحله‌ی ۱۰ ابتدا نسخه‌ی مربوط به دستگاه خود را از صفحه‌ی Google’s images دانلود کنید.

مرحله‌ی ۱۱ فایل دانلود شده را extract کنید. ابتدا فایل‌های مربوط به اندروید آب نبات چوبی را از مسید C:\Program Files (x86)\Minimal ADB and Fastboot پاک کنید سپس فایل‌های جدید را آنجا کپی کنید. دقت کنید که ابتدا تمام فایل‌هایی که مربوط به اندروید آب نبات چوبی بود را پاک کرده باشید. (از replace کردن استفاده نکنید) اگر یادتان نیست چه فایل‌هایی بودند تصویر دوم را دوباره مشاهده کنید.

مرحله‌ی ۱۲ مراحل ۶ تا ۸ را دوباره انجام دهید. هم اکنون نکسوس شما دوباره مثل روز اولش شده است.

دیدگاه‌ها (8) 16 اکتبر, 2014

استفاده از QueueBackgroundWorkItem برای به تاخیر انداختن کارها در اپلیکیشن های asp.net 4.5.2

ارسال شده در: ASP.NET . کدنویسی

با انتشار نسخه‌ی ۴.۵.۲ از .Net حالا ASP.NET در فضای نام System.Web.Hosting از HostingEnvironment.QueueBackgroundWorkItem پشتیبانی می‌کند. در این نوشته سعی می‌کنم از آن در ASP.NET MVC استفاده کنم.

hosting_environment_queue_background_work_item

پیش از آن، می‌توانید از وبلاگ متخصصان مایکروسافت و یا MSDN دیگر امکاناتی که در .NET 4.5.2 قرار گرفته است را ببینید.

Announcing the .NET Framework 4.5.2 What’s New in the .NET Framework 4.5, 4.5.1, and 4.5.2

وظیفه‌ی QueueBackgroundWorkItem چیست؟

در توضیحات انتشار (release note) در مورد QueueBackgroundWorkItem آمده:

The HostingEnvironment.QueueBackgroundWorkItem method lets you schedule small background work items. ASP.NET tracks these items and prevents IIS from abruptly terminating the worker process until all background work items have completed.

این توضیح مخصوصا جایی که bold کردم، دلیل خوبی برای استفاده از QueueBackgroundWorkItem خواهد بود. دیگر نیازی نیست نگران متوقف شدن IIS هنگام کارهای پس‌زمینه باشیم!

لازم به ذکر است که QueueBackgroundWorkItem فقط در ASP.NET managed کار می‌کند. Using Application Domains را مطالعه کنید.

استفاده ساده از متد QueueBackgroundWorkItem

QueueBackgroundWorkItem دو تا overload داره. که هر کدام یک ورودی دارند. می‌توان هر کدام از delegateهای زیر را به آن پاس داد:

  • Action
  • Func

تکه کد زیر چگونگی صدا زدن اولین overload با استفاده از عبارت lambda را نشان می‌دهد:

HostingEnvironment.QueueBackgroundWorkItem(cancellationToken =>
{
    // Some long-running job
});

عبارت lambda حتی می‌تواند از async استفاده کند. که با آن می‌توان از تمام مزایای await هم بهره برد:

HostingEnvironment.QueueBackgroundWorkItem(async cancellationToken =>
{
    var result = await LongRunningMethodAsync();

    // Do something with result
    // ...
});

می‌توان یک متد را به وسیله‌ی عبارت Func به QueueBackgroundWorkItem ارسال کرد.

private void QueueWorkItem()
{
    Func<CancellationToken, Task> workItem = LongRunningMethodAsync;
    HostingEnvironment.QueueBackgroundWorkItem(workItem);
}

private async Task LongRunningMethodAsync(CancellationToken cancellationToken)
{
    // Some long-running job
}

از آنجایی که کامپایلرهای C# متدهایی که پاس می‌دهیم را تبدیل (conversion) می‌کنند نمی‌توان مستقیمن LongRunningMethodAsync را به QueueBackgroundWorkItem پاس داد. مشکل این‌جاست که وقتی متد را به QueueBackgroundWorkItem مستقیمن پاس بدهیم کامپایلر با استفاده از overload resolution آن را تبدیل می‌کند، که overload resolution کاری به مقدار بازگشتی متد ندارد. از آن‌جایی که هر دو overload در QueueBackgroundWorkItem یک پارامتر ورودی CancellationToken دارند، کامپایلر نمی‌داند باید کدام را صدا بزند و خطا رخ می‌دهد. برای درک بهتر به این پاسخ در StackOverflow نگاهی بیاندازید.

فراخوانی POST یک API در یک ASP.NET MVC Controller

(نوشتن پست‌های اینچنینی به فارسی کاری بسیار نا به هنجار است!)

در اینجا یک مثال کاملتر از اینکه QueueBackgroundWorkItem چگونه استفاده می‌شود می‌آورم. فرض کنیم که یک مدل به نام Foo ساخته‌ایم. و در controller می‌خواهیم یک API را که عملیات آن زمان‌بر است را صدا بزنیم.

public class FooController : Controller
{
    [HttpPost]
    public ActionResult Create(FooInputModel input)
    {
        // Process the input somehow
        // ...

        Action<CancellationToken> workItem = PostToRemoteService;
        HostingEnvironment.QueueBackgroundWorkItem(workItem);

        return View();
    }

    private async void PostToRemoteService(CancellationToken cancellationToken)
    {
        using (var client = new HttpClient())
        {
            var response = await client.PostAsync("http://example.com/endpoint",
                new StringContent("..."), cancellationToken);

            // Do something with response
            // ...
        }
   }

    // More action methods
    // ...
}

به این ترتیب، Action می‌تواند مقدار بازگشتی را پس از انجام عملیات روی ورودی ها (inputها) پس بفرستد (View) و نیازی نیست که منتظر تمام شدن صدا زدن API بماند.

پر واضح است که می‌توان از QueueBackgroundWorkItem در دیگر انواع پروژه ها و نه فقط ASP.NET MVC هم استفاده کرد.

خلاصه

همان‌طور که مشاهده کردید استفاده از QueueBackgroundWorkItem بسیار ساده‌ست. حالا دیگر ASP.NET می‌تواند از متوقف شدن IIS برای انجام کارهای به تاخیر افتاده و طولانی جلوگیری کند. به نظر می‌رسد که استفاده از QueueBackgroundWorkItem برای انجام scheduling کارهای کوچک بسیار مفید باشد.

lumia 920 windows phone 8.1 update

به روز رسانی جدید برای WindowsPhone 8.1 Developers Preview

ارسال شده در: اخبار فناوری

بعد از حدود یک ماه که از انتشار نسخه‌ی 8.1 ویندوز فون میگذرد، مایکروسافت یک به روز رسانی برای آن ارائه داده است. اگر شما از کاربران نسخه‌ی Developers Preview هستید از همین الآن می‌توانید با رفتن به بخش settings\phone update گوشی خود را به ‌Build number 8.10.12382.878 به روز کنید. بنا به گفته‌ی Joe Belfiore – مدیر ارشد بخش windows phone – در این به روز رسانی هیچ تغییری اتفاق نیافتاده است. صرفا چندین Bug Fix و افزایش کارایی در استفاده از باتری. به نظر می‌رسد این به روز رسانی نتیجه‌ی بازخوردهای کاربران در این یک ماه گذشته در مورد WP8.1 می‌باشد.

به روز رسانی خودکار

در همان بخش settings\phone update گزینه‌ای وجود دارد که با تیک زدن آن گوشی شما همیشه آخرین به روزرسانی‌ها را به صورت خودکار دریافت می‌کند. من از این امکان استفاده می‌کنم، اما زمانی به شما این را پیشنهاد می‌کنم که از حجم اینترنت کافی ماهانه برخوردار باشید. هر چند به روز رسانی‌های ویندوز فون معمولا با فاصله‌های بیشتر از یک ماه هستند اما appهایی که نصب کرده‌اید احتمالا هر روز یک به روز رسانی جدید دارند.

البته در windows phone 8.1 می‌توان به روز رسانی appها را به صورت جداگانه غیرفعال کرد.