Archive for 2011/12

WebP و آینده تصاویر وب

۱۳۹۰/۰۹/۲۷ ۹:۲۰ Salar Khalilzadeh https://plus.google.com/105397214522932500988 منتشر شده در تاریخ : ۱۳۹۰/۰۹/۲۷ دسته بندی : ، ، 0

سپتامبر سال میلادی گذشته بود که گوگل فرمت تصاویر جدید که برای استفاده در وب تهیه شده بود را معرفی کرد. این فرمت WebP مخفف Web Picture نام گرفت (تلفظ شود Web Pe) و به صورت Open Source منتشر شد. اکنون با گذشت نزدیک به دو سال از آن زمان این فرمت پیشرفت های بسیار زیادی کرده به طوری که پتانسیل بالایی برای محبوب شدن در وب را دارد.
تصاویر کنونی مورد استفاده در وب شامل فرمت های محدود jpg، png و gif هستند که هر کدام محدودیتهای خاص خودشان را دارند.
اما اینکه WebP چه ویژگی هایی دارد که باعث می شود جایگزین هر سه فرمت شود در ادامه توضیحات می خوانید:

جایگزین برای Jpeg: این استاندارد در سال 1992 تدوین شد و آخرین نسخه این استاندارد مربوط به سال 1998 است. ویژگی اصلی jpeg کاهش حجم تصاویر با کاهش کیفیت تصویر است، که البته این کیفیت متغیر بوده و قابل تنظیم است (در اصلاح lossy format). فرمت WebP نیز با ارائه حالت lossy با الگوریتم های بهتر و فشرده سازی بیشتر می تواند جایگزین مناسبی برای این فرمت باشد. در مقایسه با Jpeg فرمت WebP میتواند 24 تا34 درصد حجم تصاویر را بیشتر کاهش دهد در حالی که کیفیت تصاویر کمتر کاهش می یابد. منبع.

جایگزین برای Png: اولین نسخه این استاندارد در سال 1996 تهیه شد و پس از تبدیل شدن به استاندارد عمومی در سال 2003 آخرین نسخه آن مربوط به سال 2004 است. ویژگی اصلی این فرمت ارائه یک کانال جداگانه برای شفافیت (alpha channel) هست که امکان ایجاد تصاویر شفاف و با قابلیت سایه روشن را می دهد. همچنین فشرده سازی این فرمت تصویر بدون کاهش کیفیت بوده و lossless نام برده می شود. در نسخه اخیر که از WebP ارائه شد دو قابلیت alpha channel و lossless compression نیز به آن اضافه شده است. همچنین با توجه الگوریتم های بهتر فشرده سازی که در فرمت webP وجود دارد توانسه تا 45 درصد بهبود در مقایسه با فرمتهای عادی Png دست پیدا کند. همچنین در مقابل تعدادی ابزارهای جاداگانه که فشرده سازی بیشتری را برای png بدست می آوردند نیز تا 25 درصد بهبود حاصل شده است. منبع.

جایگزین برای Gif و APng: فرمت gif که برای نمایش انیمیشن استفاده می شود نیز یک فرمت قدیمی است اولین بار در سال 1989 تهیه شد و آخرین نسخه آن با بهبود های اندک مربوط به سال 2004 است. مهمترین ویژگی این فرمت نمایش انیمیشن است و البته مهمترین ضعف آن محدود بودن تعداد رنگ به 255 رنگ است. به همین علت بود که موزیلا جهت ایجاد انیمیشن های بهتر فرمت APng را از روی png ایجاد کرد تا علاوه بر داشتن تمامی ویژگی های آن انیمیشن نیز باشد.

چند ماه قبل ویژگی انیمیشن به فرمت WebP نیز افزوده شد. که علاوه بر داشتن ویژگی های مزبور فشرده سازی بهتری را نیز به همراه دارد. منبع.

با این اوصاف در مجموع تمامی ویژگی هایی که سه فرمت نام برده شده داشتند در یک فرمت جمع و مهیا شده است. با توجه به اینکه این فرمت به صورت فعالی از طرف گوگل در حال توسعه است آینده خوبی برای آن می توان متصور شد.
در حال حاظر ابزار های محدودی تهیه این فرمت را پشتیبانی می کنند و نرم افزارهای کمی هم نمایش آن را. البته هدف این فرمت وب است و این مرورگر ها هستند که با پشتبانی از آن بر محبوبیتش خواهند افزود. در حال حاضر مرورگرهای Chrome و Opera به طور رسمی WebP را پشتیبانی می کنند.

فراگیر شدن WebP به عوامل مختلفی بستگی دارد ولی در حال حاظر و در شرایط کنونی بعید می رسد این اتفاق زودتر از 3 تا 6 سال آینده بیافتد.

لینک ها مفید:

 

فونت tahoma برای بلاگر

۱۳۹۰/۰۹/۲۳ ۲۳:۱۸ Salar Khalilzadeh https://plus.google.com/105397214522932500988 منتشر شده در تاریخ : ۱۳۹۰/۰۹/۲۳ دسته بندی : ، ، 1

اگر فونت بلاگر شما رو هم اذیت می کنه می تونید از اسکریپتی که برای من منظور تهیه کردم استفاده کنید.

ابتدا افزونه Greasemonkey رو در فایرفاکس نصب کنید: از اینجا
سپس از صفحه اسکریپت دکمه install رو بزنید و تمام: از اینجا

اسکریپتهای بسیار متنوع و زیادی برای تغییر ظاهر و افزودن عملکرد به سایتها وجود دارد که کافی هست کلمه مورد نظرتون رو در سایت جستجو کنید. وبسایت UserScripts

تعدادی اسکریپت مرتبط:
گودرفارسی
Google Plus Persian
Friendfeed Font Change

پ.ن: اگر از کارکرد یک اسکریپت مطمئن نیستید، بی جهت نصبش نکنید، ممکن است کدهای مخرب داشته باشه.

 

تعدادی Extension Method برای لیست ها

۱۳۹۰/۰۹/۲۱ ۱۲:۱۱ Salar Khalilzadeh https://plus.google.com/105397214522932500988 منتشر شده در تاریخ : ۱۳۹۰/۰۹/۲۱ دسته بندی : ، ، 0

جهت سهولت در کار با لیست ها و مجموعه ها تعدادی متد اضافه شونده (Extension Method) رو همیشه استفاده می کنم. تعدادی از اونها جمع بندی کردم که در ادامه قابل دانلود است.

لیست متد ها برای کار با لیست ها:
void ForEachAction<T>(this IEnumerable<T> enumerable, Action<T> action)
void AddRange<T>(this ICollection<T> collection, IEnumerable<T> enumerable)
void RemoveFromIList<TSource>(this IList<TSource> source, Func<TSource, bool> predicate)
ObservableCollection<T> ToObservableCollection<T>(this IEnumerable<T> source)
TSource FirstOrDefaultFast<TSource>(this IList<TSource> list, Func<TSource, bool> predicate)
int FirstIndexOf<T>(this IList<T> list, Func<T, bool> predicate)
void RemoveFirst<T>(this IList<T> list, Func<T, bool> predicate)
void RemoveLast<T>(this IList<T> list, Func<T, bool> predicate)
T MinValue<T>(this IList<T> list, Func<T, int> function)
T MinValue<T>(this IEnumerable<T> enumerable, Func<T, int> function)
T MaxValue<T>(this IList<T> list, Func<T, int> function)
T MaxValue<T>(this IEnumerable<T> enumerable, Func<T, int> function)
لیست سایر متد ها:
DateTime ToEndTimeOfDay(this DateTime dateTime)
DateTime ToStartTimeOfDay(this DateTime dateTime)
string GetDescription(this Enum value)
تقریبا از اسامی اونها مشخص هست که چه کاری انجام می دهند. علاوه بر این برای هر کدام یک توضیح هم جهت سهولت استفاده نوشتم.

این کلاسها رو از اینجا دانلود کنید: دانلود و یا دانلود
لینک سایر متد ها:
متدهای اضافه شونده برای DateTime
متد هایی برای مرتب سازی IList
IList Randomization
اضافه شونده ها برای IEnumrable غیر جتریک

 

ادامه در دامنه شخصی

۱۰:۰۳ Salar Khalilzadeh https://plus.google.com/105397214522932500988 دسته بندی : ، 0

پس از این وقفه طولانی وبلاگ به دامنه شخصی انتقال دادم.
آدرس وبلاگ از این به بعد blog.salarcode.com هست.
آدرس فید وبلاگ تغییری نکرده و همچنان از طریق feeds2.feedburner.com/salarblog در دسترس است.

در آینده در فرصت های مناسب که اگه زنده بودیم، کارها و کامپوننت های خودم که پراکند بود رو در وبسایتم قرار می دم.