مطالب برچسب شده ‘google’

فشرده ساز اسکریپت گوگل

یکشنبه, 29 آذر 1388

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

اولین ابزارهایی که در این زمینه تولید شدند الگوریتم های ساده ای داشتند که با استفاده از Reqular Expression ها کار می‌کردند و به همین دلیل مشکلاتی هم داشتند. برای مثال JSMin و Dean Packer از چلاننده(Minifier) های معروفی هستند که به همین روش کار می‌کنند. مثلا JSMin نمی‌تواند همه‌ی کاراکترهای خط جدید (line feed) را حذف کند چون ممکن است باعث بوجود آمدن باگ در برنامه شود. Dean Packer هم برای اینکه درست کار کند باید تمام دستورات اسکریپت به «;» ختم شده باشند.

این شد که توسعه دهنده ها به فکر تولید چلاننده‌هایی افتادند که بتواند مثل یک موتور اسکریپت (JavaScript Engine) اسکریپت را تفسیر نموده و به بهینه ترین نحو بچلاند. اولین چلاننده از این نسل Dojo ShrinkSafe بود که بر پایه موتور اسکریپت Rhino نوشته شده است. کمی بعد یاهو هم چلاننده ای تولید کرد با نام YUI Compressor که نسبت به سایر چلاننده‌‌های موجود از کارایی بهتری برخوردار بود و این برتری را تا مدتها حفظ کرد و هم اکنون که بیش از دو سال از انتشار نسخه‌ی اول آن می‌گذرد اکثر پروژه ها و فریم ورک های جاوااسکرپیت از این چلاننده برای چلاندن اسکریپت‌هایشان استفاده می‌کنند.

حدود یکی دو ماه پیش گوگل هم پا به عرصه رقابت گذاشت و چلاننده‌ی خودش را با نام Closure Compiler عرضه کرد. این چلاننده از تکنیک های جدیدی استفاده میکند که باعث شده نرخ فشرده سازی آن حدود 10 تا 20 درصد از YUI بیشتر باشد. از نکات قابل توجه در این چلاننده این است که قابلیت شناسایی و حذف کدهای بلااستفاده(dead code) را از درون اسکریپت دارد.

چلاننده‌ی گوگل مشابه YUI یک برنامه Java است که از خط دستور اجرا میشود ولی علاوه بر این گوگل این برنامه را به صورت اپلیکشن تحت وب و API هم ارائه کرده است.

برای مقایسه‌ی تکنیک های بکار رفته در YUI Compressor و Closure Compiler دیدن این slideshow رو توصیه می‌کنم.

جستجو در گوگلِ 8 سال پیش

جمعه, 12 مهر 1387

گوگل به مناسبت جشن تولد ده سالگیش در یک اقدام جالب امکان جستجو در قدیمی ترین ایندکس موجود یعنی گوگل سال 2001 رو فراهم کرده.

در نتایج جستجو اگر روی لینک «view old version on the Internet archive» کلیک کنید می تونید با استفاده از سایت archive.org نسخه مربوط به سال 2001 رو ببینید.

با مقایسه نتایج جستجو های اون موقع با الان میشه به سیر سریع تحولات وب پی برد. مثلا کلمه blog فقط 76400 نتیجه رو بر میگردونه در حالی که الان حدود 3.5 میلیارد نتیجه رو بر میگردونه. کلمه ubuntu نتایج بی ربط بر میگردونه و کلمات youtube و BitTorrent هم اصلا هیچ نتیجه ای رو بر نمیگردونند.

API جدید گوگل برای رسم نمودار

یکشنبه, 23 دی 1386

اخیرا گوگل API جدیدی برای تولید انواع نمودار معرفی کرده که میتونین بصورت رایگان توی کارهاتون برای رسم نمودار ازش استفاده کنین.

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

من که نفهمیدم این API برای گوگل چه سودی داره. هیچ نام و نشونی هم از گوگل توی نمودارهایی که می سازه نمی زنه.

البته راهکارهای دیگه ای هم برای تولید نمودار هست. مثلا استفاده از jpgraph که یکسری مجموعه کلاس به زبان php هست که رایگان هم هست.
یک راه حل مقرون به صرفه دیگه هم استفاده از فلش هست (مثل fusioncharts). عیبش اینه که همه فلش ندارند.
بهترین راه هم استفاده از canvas هست. که مشکلش اینه که IE ساپورتش نمیکنه. البته این مشکل هم با explorercanvas قابل حله. برای مثال plotkit و یا ejschart از canvas برای رسم نمودار استفاده میکنند.

برنامه نویسی برای Android

دوشنبه, 19 آذر 1386

android_robot.gifحتما اسم android به گوشتون خورده، سیستم عامل گوگل برای تلفن همراه.

مثل همیشه گوگل با یک حرکت زیرکانه، اینبار قصد داره وارد بازار سیستم عامل تلفن های همراه بشه. گوگل کارش رو خوب بلده و میدونه چه جوری این بازار رو تسخیر کنه. یک سیستم عامل اوپن سورس که به لحاظ اقتصادی هم به نفع تولید کننده است و هم به نفع مصرف کننده و از همه مهمتر اینکه هر کسی میتونه توسعش بده و حتی برای توسعش 10 میلیون دلار جایزه اختصاص داده شده. و اینکه یکسال قبل از ورودش به بازار SDK اش ارائه شده.

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

فایل هاش رو گذاشتم رو هاستم تا اگر قصد امتحان کردنش رو داشتید برای دانلودش دچار درد سر نشید.

android_sdk_linux_m3-rc22a.zip

android_sdk_windows_m3-rc22a.zip

این هم پلاگینش برای eclipse

ADT-0.3.1.zip

راستی اگر android هم مثل بقیه کارهای گوگل همه گیر بشه دیگه جایی تو زندگی آدمها باقی نمی مونه که گوگل توش نباشه.

وای به روزی که گوگل بد بشه. شایدم هست !!

آپدیت(18-03-87): به دلیل کمبود جا فایل ها رو از رو هاستم پاک کردم.

معمای Web History

پنجشنبه, 22 شهریور 1386

چند روزیه که یک مسئله عجیب ذهنم رو مشغول کرده. و اون نحوه عملکرد Web History گوگل هستش.

اونطوری که توی خود گوگل توضیح داده ظاهرا این سرویس گوگل فقط در صورتی کار می کنه که Google Toolbar روی مرورگر شما نصب باشه و اگر نصب نباشه فقط Search Histoy رو ذخیره میکنه. و نکته عجیب اینجاست که من Google Toolbar ندارم ولی این سرویس برای من کار میکنه و گوگل تمام History من رو ثبت میکنه. هم از منزل و هم از محل کار تست کردم در هر دو جا بدون اینکه Toolbar داشته باشم تمام history من ثبت میشه.

البته این نکته رو هم اضافه کنم که فقط در صورت استفاده از مرورگر فایرفاکس این اتفاق میافته.

به نظر شما Web History چه جوری کار میکنه ؟!!

شاید گوگل با FireFox تبانی کرده باشه !!!