<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-31180807</id><updated>2012-01-22T14:31:48.110+03:30</updated><category term='AOP'/><category term='ACM'/><category term='ATM'/><category term='Internet'/><category term='Java EE'/><category term='smart cards'/><category term='security'/><category term='web development'/><category term='font'/><category term='Java'/><category term='Google'/><category term='Open Source'/><category term='PHP'/><category term='firefox'/><category term='Scripting'/><category term='Cellular Automata'/><category term='Learning'/><category term='Functional Programming Languages'/><category term='Ruby'/><category term='Parallel Processing Lab.'/><category term='Privacy'/><category term='Tools'/><category term='vim'/><category term='Copy Right'/><category term='J2EE'/><category term='addon'/><category term='Football'/><category term='gmail'/><category term='.NET'/><category term='kordan'/><title type='text'>Zoftware</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-31180807.post-3513502729114064216</id><published>2010-08-18T11:27:00.004+04:30</published><updated>2010-08-18T11:41:20.265+04:30</updated><title type='text'></title><content type='html'>&lt;meta charset="utf-8"&gt;&lt;span class="Apple-style-span" style="font-family: arial; font-size: small; "&gt;&lt;div dir="ltr"&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;شکایت اوراکل از گوگل&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;این &lt;a href="http://news.cnet.com/8301-30684_3-20013546-265.html" target="_blank"&gt;دعوای اوراکل و گوگل&lt;/a&gt; هم انگار جدی هست. اگر یادتون باشه چند وقت پیش &lt;a href="http://arstechnica.com/open-source/news/2009/04/oracle-acquires-sun-ars-explores-the-impact-on-open-source.ars" target="_blank"&gt;اوراکل سان رو خرید&lt;/a&gt;. همون موقع خیلی ها فکر می کردند بهتر بود که شرکتی مثل آی بی ام، سان رو بخره. چون این مسئله با توجه به نگاه اوراکل به دنیای اپن سورس ممکنه برای خیلی ها مشکل ساز بشه. حالا بعد از چند وقت اون اتفاقی که نباید می افتاد افتاد! اوراکل از گوگل به &lt;div style="display: inline; width: auto; "&gt; &lt;/div&gt;خاطر استفاده غیر مجاز از جاوا روی &lt;a href="http://en.wikipedia.org/wiki/Android_(operating_system)" target="_blank"&gt;اندروید&lt;/a&gt; شکایت کرده. داستان از این قراره که اندروید از یه نسخه تغییر یافته ماشین مجازی جاوا به نام دالویک (&lt;a href="http://en.wikipedia.org/wiki/Dalvik_(software)" target="_blank"&gt;Dalvik&lt;/a&gt;) استفاده می کنه. دالویک یه ماشین مجازی هست که برای اجرای بهینه روی پردازنده های کم قدرت طراحی شده. دالویک بر خلاف JVM که یک ماشین Stack Based هست، یک ماشین Register Based هست. یعنی معماری کاملا متفاوتی داره. طبیعتا فایل باینری هم که روی دالویک اجرا میشه با استاندارد باینری جاوا (کلاس فایل ها) هم خوانی نداره. یعنی برنامه های جاوا که با کامپایلر استاندارد جاوا کامپایل شدن نمی تونن روی دالویک اجرا بشن. فایل های اجرایی دالویک با پسوند dex شبیه به jar فایل های جاوا هستن که از چند کلاس فایل جاوا تشکیل شده. ولی بر خلاف jar فایل ها، یک فایل زیپ نیستن. توی SDK اندروید ابزاری به نام dx وجود داره که میتونه اکثر فایل های jar رو به dex تبدیل کنه. نسخه جاوای اندروید خیلی شبیه نسخه استاندارد جاوا هست با این تفاوت که بخشی از کتابخانه استاندارد جاوا مانند Swing از آن حذف شده و قسمتی دیگر که عمدتا مربوط به کتابخانه گرافیکی برای ساخت واسط کاربر و نوشتن بازی ها و دسترسی به سخت افزار می شود به آن اضافه شده. به هر حال اینطور که به نظر میرسه کار گوگل با چند تا از patent های سان مشکل داره.&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;جیمز گاسلینگ پدر جاوا که بعد از پیوستن سان به اوراکل از این شرکت جدا شد در وبلاگ خود به نکته جالبی اشاره می کند. گاسلینگ &lt;a href="http://nighthacks.com/roller/jag/entry/the_shit_finally_hits_the" target="_blank"&gt;می نویسد&lt;/a&gt;: هنگام مذاکرات سان با اوراکل، وقتی وکلای اوراکل متوجه مشکل سان و گوگل شدند، چشمانشان از خوشحالی برق می زد. حالا اینطور به نظر میاد که حتی پیش از خرید سان، اوراکل به فکر به دادگاه کشاندن گوگل بوده. او همچنین &lt;a href="http://nighthacks.com/roller/jag/entry/quite_the_firestorm"&gt;می نویسد&lt;/a&gt; سان هیچ موقع برای به دادگاه کشاندن دیگران patent به ثبت نمی رساند و این کار بیشتر برای جلوگیری از شکایت دیگر شرکت ها بر علیه سان بود.&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;این را هم بگویم که گرچه اندروید به صورت اپن سورس و رایگان در اختیار همه قرار دارد ولی منبع درآمد بزرگی برای گوگل هست. علاوه بر درآمدی که گوگل از طریق تبلیغات بر روی موبایل به دست می آورد، ۳۰ درصد از قیمت فروش برنامه های فروخته شده در مارکت اندروید نیز به گوگل می رسد. &lt;/span&gt;&lt;span style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;به هر حال به نظر می رسد خروجی این دادگاه می تواند تاثیر جدی بر روی توسعه اندروید داشته باشد.&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;---&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); "&gt;مرتبط با موضوع:&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span&gt;&lt;a href="http://news.cnet.com/8301-30685_3-20013549-264.html" target="_blank"&gt;http://news.cnet.com/8301-&lt;wbr&gt;30685_3-20013549-264.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span&gt;&lt;a href="http://arstechnica.com/open-source/news/2010/08/oracles-java-lawsuit-undermines-its-open-source-credibility.ars" target="_blank"&gt;http://arstechnica.com/open-&lt;wbr&gt;source/news/2010/08/oracles-&lt;wbr&gt;java-lawsuit-undermines-its-&lt;wbr&gt;open-source-credibility.ars&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir="rtl" style="text-align: justify;"&gt;&lt;span&gt;&lt;a href="http://weblogs.java.net/blog/fabriziogiudici/archive/2010/08/15/why-oracle-google-war-might-have-happy-end" target="_blank"&gt;http://weblogs.java.net/blog/&lt;wbr&gt;fabriziogiudici/archive/2010/&lt;wbr&gt;08/15/why-oracle-google-war-&lt;wbr&gt;might-have-happy-end&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-3513502729114064216?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/3513502729114064216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=3513502729114064216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3513502729114064216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3513502729114064216'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2010/08/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-7359663688191302204</id><published>2009-07-10T00:05:00.003+04:30</published><updated>2009-07-10T00:24:51.914+04:30</updated><title type='text'></title><content type='html'>&lt;p dir="rtl"&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="direction: rtl;font-family:tahoma;font-size:85%;"  &gt;مهدی آذر یزدی را خیلی دوست داشتم. امروز که خبر فوتش را شنیدم حالم خیلی گرفته شد. خدایش بیامرزد. یادم هست اولین باری که کتابش را می خواندم اول یا دوم راهنمایی بودم. برادرم یکی از جلدهای کتاب قصه های خوب برای بچه های خوب را برایم خریده بود. یادم نمیآید دقیقا به چه مناسبتی بود. شاید برای روز تولدم بود. ولی یادم هست کتاب را یک سره تا تهش خاندم. وقت ناهار و شام هم کتاب دستم بود تا تمام شد. بعدها بقیه جلد های کتاب را هم خاندم. یادش بخیر. چقدر برای من شیرین بود خاندن آن کتاب ها. مطمئن هستم خیلی از بچه های ایرانی لحظات زیبای کودکیشان را با کتاب های آذر یزدی گذرانده اند. آن زمانی که من کتاب های این مرد بزرگ را می خاندم، او را نمی شناختم. بعدها یادم هست که یک روز در تلویزیون او را دیدم. مردی را که مدرسه نرفته بود. مردی را که ازدواج نکرده بود. مردی را که خودش هم باورش نمی شد کتاب هایش اینقدر دوست داشتنی باشند. مثل اینکه از دست حکومت هم خیلی شاکی بود. انگار یکی دوبار به کتاب هایش اجازه چاپ نداده بودند. و از وضع زندگیش شکایت داشت. که نویسندگی در این کشور نان و بخور و نمیر هم ندارد. یکی دو سال پیش بود که متوجه شدم او با یکی از دوستانم قوم و خویش است و گویا مریض احوال بود و آن زمان در کرج هم زندگی می کرد. خیلی دوست داشتم یک روز بروم دیدنش و به خاطر کتاب هایش از او تشکر کنم. ولی به هر تقدیر میسر نشد. امیدوارم بتوانم حداقل توی مراسم تشیع جنازه اش شرکت کنم. توصیه میکنم اگر وقت دارید، توی اینترنت یک چرخی بزنید و یکی از کتابهایش را دانلود کنید و بخانید. حس خوبی دارد. آدم را به دوران کودکی می برد. و اگر کتابی از او خانده اید برایش فاتحه ای بخانید. روحش قرین رحمت الهی.&lt;/span&gt;&lt;br /&gt;&lt;span style="direction: rtl;font-family:tahoma;font-size:85%;"  &gt;http://www.tabnak.ir/fa/pages/?cid=54775&lt;/span&gt;&lt;br /&gt;&lt;span style="direction: rtl;font-family:tahoma;font-size:85%;"  &gt;http://www.hamshahrionline.ir/News/?id=90531&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-7359663688191302204?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/7359663688191302204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=7359663688191302204' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7359663688191302204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7359663688191302204'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2009/07/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-396330384384145805</id><published>2009-04-20T17:13:00.002+04:30</published><updated>2009-04-20T17:18:05.230+04:30</updated><title type='text'></title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-top: 12pt; text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;هی فلانی، زندگی شاید همین باشد&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-top: 12pt; text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="AR-SA"&gt;یکی از بزرگترین اشتباهاتی که ما آدم ها مرتکب می شویم این است که برای رسیدن به خوشبختی به دنبال موفقیت می رویم. کمتر وقتی هست که فکر کنیم خوشبختی با موفقیت چه فرقی می کند. شاید خیلی وقت ها پیش خودمان فکر می کنیم آدم خوشبخت باید آدم موفقی باشد و یا آدم موفق حتما آدم خوشبختی هست. خیلی وقت ها فکر می کنیم خوشبختی همان موفقیت هست. ولی به نظر من خوشبختی و موفقیت دو مفهوم کاملا متفاوت و در بسیاری از موارد متضاد هستند.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-top: 12pt; text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="AR-SA"&gt;چند ماه پیش، مثل همیشه، حالم از دست این دنیای لعنتی حسابی گرفته بود. داشتم توی مترو با عجله میرفتم که به قطار برسم. وسط شلوغی یک جوانی پرسید کرج از کدام طرف هست؟ گفتم با من بیا. دستش را گرفتم و کشیدم توی قطار. هم سن و سال خودم بود. سر و وضع تر و تمیزی هم داشت. گفتم انگار بچه اینجا نیستی؟ گفت نه. خیلی ساده و بی دست و پا به نظر می رسید. انگار بار اولش بود که آمده بود تهران. گفتم دانشجویی؟ گفت نه. گفتم چه کاره ای؟ گفت توی میوه فروشی کار می کنم. گفتم میوه فروشی برای خودت هست؟ گفت نه. پیش خودم گفتم خوب حتما برای پدرش هست وگرنه جوانی با این سن و سال و تیپ و قیافه پیش آدم غریبه کارگری نمی کند. گفتم مغازه دار آشنا هست؟ گفت نه! گفتم چقدر حقوق میگیری؟ گفت صد و پنجاه تومان! گفتم راضی هستی؟ گفت آره. قبلا یه جای دیگه کار میکردم طرف خیلی اذیت میکرد ولی این صاحب کارم خیلی آدم خوبیه. یه کم دیگه که باهاش حرف زدم دیدم انگار جدا از زندگی راضی هست! همین که صاحب کارش زیاد اذیتش نمی کند و ماهی صد و پنجاه هزار تومان حقوق می گیرد و روزی دوتا سیب گاز میزند فکر می کند زندگی خوبی دارد. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-top: 12pt; text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="AR-SA"&gt;راستش خیلی تحت تاثیر قرار گرفتم. پیش خودم گفتم چرا آدمی مثل این آدم باید اینقدر خوشحال باشد و تو اینقدر از دست زندگی شاکی باشی؟ یک مقداری که با دقت بیشتری اطرافم را نگاه کردم دیدم که این مشکل خیلی از آدم های اطراف ما هست. این حالت افسردگی یا حداقل ناراضی بودن از شرایط، توی قشر دانشگاهی ما و به خصوص دانشجویان دکترا خیلی متداول هست. شاید بشود این مشکل را – کم و بیش – در همه آدم هایی که در اصطلاح آن ها را موفق می نامند دید. به نظر من مشکل از آنجا ناشی می شود که خیلی از آدم هایی که تمام وقت خود را صرف رسیدن به موفقیت می کنند هیچ وقت به اینکه زندگی واقعا چه هست فکر نمی کنند. دائم می خواهند به یک جایی برسند. بعد که به آنجا رسیدند می خواهند به یک جای دیگر برسند. کمتر به این فکر می کنند که بعد که آن موفقیت را به دست آوردیم می خواهیم با آن چه کار کنیم. حتی به این فکر نمی کنیم که همین موفقیت هایی هم که تا حالا به دست آورده ایم به چه دردمان خورده. خیلی احمقانه به نظر می رسد که یک آدم عاقل برای رسیدن به موفقیت تا آخر عمر تلاش می کند و هیچ وقت فرصت لذت بردن از آن را پیدا نمی کند. به نظرم برای خوشبخت بودن اصلا لازم نیست آدم موفقی باشیم. همین جایی هم که هستیم می تواند جای خوشبختی باشد. به قول مهدی اخوان ثالث: هی فلانی، زندگی شاید همین باشد.&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="position: absolute; left: 0px; top: 0px; z-index: 1000000000 ! important; visibility: hidden; opacity: 1;" id="linkalert-box"&gt;&lt;img src="chrome://linkalert/skin/none-icon.png" id="linkalert-icon-1" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-396330384384145805?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/396330384384145805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=396330384384145805' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/396330384384145805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/396330384384145805'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2009/04/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-4423688131679940747</id><published>2009-03-09T12:01:00.002+03:30</published><updated>2009-03-09T12:18:15.367+03:30</updated><title type='text'></title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;font face=tahoma&gt;&lt;br /&gt;از کرامات شیخ ما این بود&lt;br /&gt;&lt;br /&gt;امشب یک اتفاق جالب افتاد. میکرفون رو به لپ تاپم وصل کرده بودم که صدا رو ضبط کنم. برنامه ضبط صدا هم در حال اجرا بود ولی خوب یادم رفت که این برنامه هه داره صدا رو ضبط میکنه. یک ساعتی گذشت و من میکروفن رو از لپ تاپ جدا کردم. رفتم شام خوردم، یوزارسیف رو هم کامل دیدم و برگشتم. بعد دو ساعت و نیم دیگه گذشت و فهمیدم که، اِ، مثل اینکه هنوز این برنامه هه داره صدا رو ضبط میکنه ولی خوب پیش خودم گفتم که دو سه ساعت پیش که من میکروفن رو قطع کردم. همش نوار خالیه. بعد گفتم حالا ببینم تا کجا پر شده. گوش کردم دیدم نه. مثل اینکه تمام یوزارسیف ضبط شده. اولش گفتم جل الخالق. ببین این یوزارسیف چه کراماتی داره! بدون میکروفن هم صداش ضبط میشه! ولی بعدش گفتم خوب یوزارسیف کرامات داشته؛ من که صدام از اون هم بهتر ضبط شده که کرامات نداشتم. بعد از کلی فکر کردن فهمیدم که ای بابا. این لپ تاپ ما میکروفن بیلتین (همون توکار خودمون) داشته و ما خبر نداشتیم! یاد این دانشمندای معروف که تصادفی یه چیزو اختراع میکنن افتادم. اَ...، من چقدر منت این محمد رو کشیدم که میکروفنت رو بده یه صدا ضبط کنیم. سال ها دل طلب جام جم از ما می کرد... بقیشو یادم نیست. البته بگم که من این لپ تاپو تازه دوساله خریدمش. باید خوب بررسی کنم ببینم چیز دیگه نداشته باشه که من ندونم&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-4423688131679940747?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/4423688131679940747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=4423688131679940747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4423688131679940747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4423688131679940747'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2009/03/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-2459769829642757962</id><published>2009-01-03T20:18:00.003+03:30</published><updated>2009-01-03T20:52:50.629+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='gmail'/><title type='text'></title><content type='html'>&lt;div dir="rtl" style="text-align: right;"&gt;&lt;span style="font-family:Tahoma;"&gt;یادگاری درس ذخیره و بازیابی&lt;br /&gt;اگر فکر می کنید جیمیل خیلی میل سرور خفنی هست و به جای استفاده از میل سرور دانشگاه از جیمیل استفاده میکنید، باید بگم اشتباه میکنید! اگر 65 - 70 تا دانشجوی تربیت معلمی در عرض 48 ساعت بیشتر از 150 تا ایمیل بفرستند به ایمیلتون اون وقت هست که دیگه نمیتونید به اینباکستون دسترسی داشته باشید! و دانشجوهای بیچاره هم اون طرف منتظر میمونن که چرا این استاد بی مسئولیت پذیر (به به، چه اصطلاح توپی) چرا جواب ما را نمی دهد! البته تقصیر خودتان هست. گفتم نفری یه ایمیل بیشتر نفرستید، گوش نکردید! این هم نتیجه اش:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ThaVlLa3vsc/SV-bYMmcQCI/AAAAAAAAABE/-Zn489v7x4M/s1600-h/gmail-lockdown.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 198px;" src="http://2.bp.blogspot.com/_ThaVlLa3vsc/SV-bYMmcQCI/AAAAAAAAABE/-Zn489v7x4M/s400/gmail-lockdown.png" alt="" id="BLOGGER_PHOTO_ID_5287115327557877794" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:Tahoma;"&gt;&lt;br /&gt;اگر نتونستید عکس بالا رو ببینید &lt;a href="http://i43.tinypic.com/2cei16b.png"&gt;اینجا رو کلیک کنید&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-2459769829642757962?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/2459769829642757962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=2459769829642757962' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/2459769829642757962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/2459769829642757962'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2009/01/65-70-48-150.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ThaVlLa3vsc/SV-bYMmcQCI/AAAAAAAAABE/-Zn489v7x4M/s72-c/gmail-lockdown.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-6974226760497299445</id><published>2008-12-22T15:50:00.000+03:30</published><updated>2009-01-03T20:53:41.700+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='font'/><title type='text'></title><content type='html'>&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face  {font-family:"Cambria Math";  panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face  {font-family:Calibri;  panose-1:2 15 5 2 2 2 4 3 2 4;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {margin-top:6.0pt;  margin-right:0in;  margin-bottom:6.0pt;  margin-left:0in;  text-align:justify;  line-height:110%;  font-size:11.0pt;  font-family:"Calibri","sans-serif";} a:link, span.MsoHyperlink  {color:blue;  text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed  {color:purple;  text-decoration:underline;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph  {margin-top:6.0pt;  margin-right:0in;  margin-bottom:6.0pt;  margin-left:.5in;  text-align:justify;  line-height:110%;  font-size:11.0pt;  font-family:"Calibri","sans-serif";} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst  {margin-top:6.0pt;  margin-right:0in;  margin-bottom:0in;  margin-left:.5in;  margin-bottom:.0001pt;  text-align:justify;  line-height:110%;  font-size:11.0pt;  font-family:"Calibri","sans-serif";} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle  {margin-top:0in;  margin-right:0in;  margin-bottom:0in;  margin-left:.5in;  margin-bottom:.0001pt;  text-align:justify;  line-height:110%;  font-size:11.0pt;  font-family:"Calibri","sans-serif";} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast  {margin-top:0in;  margin-right:0in;  margin-bottom:6.0pt;  margin-left:.5in;  text-align:justify;  line-height:110%;  font-size:11.0pt;  font-family:"Calibri","sans-serif";} .MsoPapDefault  {margin-top:6.0pt;  margin-right:0in;  margin-bottom:6.0pt;  margin-left:0in;  text-align:justify;  line-height:110%;} @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.0in 1.0in 1.0in;} div.Section1  {page:Section1;}  /* List Definitions */  ol  {margin-bottom:0in;} ul  {margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;div class="Section1"&gt; &lt;p class="MsoNormal"&gt;We need a Better Matlab!&lt;/p&gt; &lt;p class="MsoNormal"&gt;I have used Matlab in some of my projects (mostly in  university and just when I had to do that). I really don’t enjoy it. I think the  worst problem with Matlab is the language itself. Poor design of the language,  from function definition and typing mechanism to OO support and lack of  namespaces, makes it an unpleasant choice for a computer scientist(it may seem  very nice from a non-computer-scientist view). Of course it has some nice  features including an exhaustive scientific library and efficient support for  matrix and vector operations. Unfortunately, the Matlab library is completely  based on the awful programming language. Because of the poor language  constructs, matrices are overused in library design. Despite the mentioned  weaknesses, Matlab is vastly used in scientific world, that’s because you cannot  find any other single alternative in scientific programming.&lt;/p&gt; &lt;p class="MsoNormal"&gt;I have found some ongoing works to make a Matlab replacement,  &lt;a href="http://www.scilab.org/"&gt;Scilab&lt;/a&gt; and &lt;a href="http://www.gnu.org/software/octave/"&gt;Octave&lt;/a&gt; are more or less a clone  of Matlab (which means they are not a better Matlab), &lt;a href="http://www.scipy.org/"&gt;SciPy&lt;/a&gt; is a scientific python library (and just  a library) which seems pretty good to me.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Based on my experience, a scientific environment at least  must have the following components to be called a better Matlab:&lt;/p&gt; &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;1)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;A better  programming language, by better I mean powerful but simple. As the language is  used by non-computer scientists, simplicity is a must for the scientific  programming language.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;2)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;An  excellent library, of course an excellent language is almost useless without a  proper library.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;3)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;Efficient  support for matrix and vector operations. Maybe hardware accelerated operations  or support for parallel processing (e.g. support for SMPs or use the power of &lt;a href="http://www.nvidia.com/object/IO_43499.html"&gt;GPU&lt;/a&gt; SIMD instructions) may  be helpful.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;4)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;A simple  and useful distributed processing platform. As scientific programs are usually  CPU intensive, a built-in Cluster Computing platform will greatly help  scientists.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;5)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;A better  Development Environment&lt;/p&gt; &lt;p class="MsoNormal"&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;For the programming language, we must choose to use a  compiled or scripting language, of course scripting languages are simpler to  learn, understand and use and more appropriate for scientific experience and  simulations. Moreover we have the following options:&lt;/p&gt; &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;1)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;Design a  programming language from scratch for scientific purposes, it has the benefit  that it could completely fit to the scientific computing requirements, but it  has a huge cost and is very risky.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;2)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;Use an  existing language, there are many programming languages around. We can easily  choose one of them; among several programming languages which I have studied, I  prefer python and ruby. Although python has a more matured library, ruby design  is more consistent. I will discuss later how ruby would be fitted to the  needs.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;3)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;Choose an  existing platform with multiple programming languages, e.g. .Net or Java with a  mixture of compiled-scripting languages; I don’t like this option for many  reasons including its complexity.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt; &lt;/p&gt; &lt;p class="MsoNormal"&gt;So, why ruby is a good choice for our goal? There are many  reasons to be considered.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;1)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;Ruby is  not designed for scientific computation but its flexible nature made it fully  DSL-able. There are already some proofed examples of success of ruby in specific  domains; Ruby on Rails is an excellent example. As an example of adaptation,  consider the scalar expansion capability. Ruby does not support scalar expansion  (e.g. 2 * [1, 2, 3, 4]), but this feature could be easily added to the language  so as to become native to the language! Here is some lines of code which do  that:&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt; &lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;b&gt;class&lt;/b&gt; &lt;i&gt;Fixnum&lt;/i&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;i&gt;    alias_method&lt;/i&gt;(:&lt;i&gt;old_mult&lt;/i&gt;,  :*)&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;    &lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;    &lt;b&gt;def&lt;/b&gt; *(&lt;i&gt;a&lt;/i&gt;)&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;         &lt;b&gt;if&lt;/b&gt;(&lt;i&gt;a.is_a&lt;/i&gt;?(&lt;i&gt;Array&lt;/i&gt;))&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;            &lt;i&gt;a.collect&lt;/i&gt; { |&lt;i&gt;i&lt;/i&gt;|  &lt;i&gt;self * i &lt;/i&gt;}&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;        &lt;b&gt;else&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;i&gt;             self.old_mult&lt;/i&gt;(&lt;i&gt;a&lt;/i&gt;)&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;        &lt;b&gt;end&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;    &lt;b&gt;end&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;b&gt;end&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt; &lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt;This is the job that needs AOP in many other  languages to be done, even in many languages like java it can’t be done at  all.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt; &lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;2)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;Ruby is  simple, it could easily be learned by non computer scientist and students, and  it has very simple OO semantics. Moreover, it is strongly and dynamically typed,  its dynamic typing semantic made it simple to use and its strong typing nature  prevents many programming errors.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;3)&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;Ruby has a  wonderful implementation called JRuby which runs over JVM. This is an excellent  option because you can easily use all of available java libraries out of the  box. Using some simple wrappers, many scientific java libraries could be ported  to ruby. Also some parts of new libraries may be implemented in java for  efficiency. Additionally, both NetBeans and eclipse (through RadRails plug-in)  support ruby. As the IDEs are extendable they could easily be modified to make a  better Matlab development environment.&lt;/p&gt; &lt;p class="MsoListParagraphCxSpMiddle"&gt; &lt;/p&gt; &lt;p class="MsoListParagraphCxSpLast" style="margin-left: 0.25in;"&gt;As many other java  fans I love ruby because it is very consistence and clean (just like java). It  might be some other good choices.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-6974226760497299445?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/6974226760497299445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=6974226760497299445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/6974226760497299445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/6974226760497299445'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/12/we-need-better-matlab-i-have-used_22.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-1613600144957188914</id><published>2008-10-22T11:54:00.000+03:30</published><updated>2009-01-03T20:53:54.049+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='kordan'/><title type='text'></title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دکتر جان، تو خودت نشاط ملی هستی، طرح برای چی؟!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دکتر &lt;a href="http://fa.wikipedia.org/wiki/%D8%B9%D9%84%DB%8C_%DA%A9%D8%B1%D8%AF%D8%A7%D9%86"&gt;کردان&lt;/a&gt;، دیروز در حاشیه آمد و شد معاون بعدی و قبلی خودشان &lt;a href="http://alef.ir/content/view/33619/"&gt;فرموده اند&lt;/a&gt;: "پيش‌نويس اوليه طرح نشاط ملي آماده شده است كه به شوراي اجتماعي كشور ارسال شده و مراحل تصويب خود را مي‌گذراند". خواستم در اینجا از ایشان به خاطر اینکه اینقدر به فکر نشاط این ملت هستند تشکر کنم و بگویم، طرح برای چی؟! خود شما به اندازه کافی در این ملت نشاط ایجاد کرده اید. راستش را بخواهید در این چند سال عمرم هیچ کس را ندیده ام که به اندازه جنابعالی در کاریکاتورها و مطالب طنز کشور مطرح شده باشد و اینچنین باعث انبساط خاطر مردم این کشور شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;" align="left"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;* حاشیه: کاش یک نفر آدم بیکار پیدا میشد و آرشیوی از مطالبی که در مورد دکتر (!؟) کردان مطرح شده جمع آوری می کرد. فکر می کنم از نظر تاریخی ایشان اتفاق منحصر به فردی در کشور ما بودند (هستند؟!).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="position: absolute; left: 839px; top: 54px; z-index: 1000000000 ! important; visibility: hidden; opacity: 1; height: 16px; width: 16px;" id="linkalert-box"&gt;&lt;img style="width: 16px;" src="chrome://linkalert/skin/small/unsecure-icon.png" id="linkalert-icon-1" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-1613600144957188914?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/1613600144957188914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=1613600144957188914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/1613600144957188914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/1613600144957188914'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/10/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-5410305191766103659</id><published>2008-08-29T03:08:00.000+04:30</published><updated>2008-08-29T03:23:42.763+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='addon'/><title type='text'></title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اضافات فایرفاکس&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کم کم دارم به این نتیجه می رسم که برای هر کاری یک &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; توی فایرفاکس می شود پیدا کرد. حتی برای رفع اتهام نامردی و حل مشکل قیافه! چند روز پیش هادی گیر داده بود که چرا قیافه این فایرفاکس تو با فایرفاکس من فرق می کند. گفتم به خاطر &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هایی هست که نصب است. بعد گیر داد که لیست &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هایی را که نصب داری به من بگو. راستش را بخواهید چون من اصلا حال و حوصله تایپ کردن بیست سی تا اسم را نداشتم، یک جورهایی مسئله را پیچاندم (در اصل پیچوندم). و او هم طبق معمول گفت "خیلی نامردی". ولی امروز به صورت اتفاقی یک &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ی پیدا کردم که هم مشکل نامردی من را حل کرد، هم مشکل قیافه هادی را. این &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ی که پیدا کردم می تواند یک لیست از تمام &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هایی که روی فایرفاکس شما نصب هست درست کند. این لیست را هم با آن درست کردم:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span dir="rtl" style="font-size: 5pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Application: Firefox 3.0.1 (2008070208)&lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Total number of items: 29&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.oxymoronical.com/web/firefox/FindBarRX"&gt;&lt;span style="color: blue;"&gt;/Find Bar/ 1.0.1&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0b1 - 3.1a2pre&lt;br /&gt;     A &lt;span class="SpellE"&gt;souped&lt;/span&gt; up &lt;span class="SpellE"&gt;findbar&lt;/span&gt;      with regular expression capabilities &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://adblockplus.org/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;Adblock&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; Plus      0.7.5.5&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.1a2pre&lt;br /&gt;     Ads were yesterday! &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://en.design-noir.de/mozilla/aging-tabs/"&gt;&lt;span style="color: blue;"&gt;Aging Tabs 0.7.1&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 3.0 - 3.1a2pre&lt;br /&gt;     &lt;span class="GramE"&gt;Makes&lt;/span&gt; unused tabs fade with age and highlights      the selected tab. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://erichamiter.com/"&gt;&lt;span style="color: blue;"&gt;BugMeNot 2.0&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Bypass compulsory web registration with the context menu via      www.bugmenot.com. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span class="SpellE"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CacheViewer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; 0.4.7.1&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Allows searching and sorting cache files &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://clipmarks.com/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;Clipmarks&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; 3.5.0&lt;/span&gt;&lt;/a&gt;     &lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Clip and save just the stuff you want from any web page. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://brettz9.blogspot.com/2007/04/firefox-extensions.html"&gt;&lt;span style="color: blue;"&gt;Copy Link Text 1.3&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Right-click a link to copy its text &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.customizegoogle.com/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;CustomizeGoogle&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; 0.75&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.0 - 3.1a2pre&lt;br /&gt;     Enhance Google search results and &lt;span class="GramE"&gt;remove&lt;/span&gt; ads and      spam. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://downthemall.net/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;DownThemAll&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;!      1.0.3&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0.0.8 - 3.0.*&lt;br /&gt;     &lt;span class="GramE"&gt;The&lt;/span&gt; mass downloader for Firefox. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.jaybaldwin.com/Blog.aspx?cid=4"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;ErrorZilla&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; Mod 0.34&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Implements a useful error page when a website cannot be reached. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://kondor.etf.bg.ac.yu/%7Ekustodian/mozilla/esb"&gt;&lt;span style="color: blue;"&gt;Extended &lt;span class="SpellE"&gt;Statusbar&lt;/span&gt; 1.5.1&lt;/span&gt;&lt;/a&gt;     &lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     A &lt;span class="SpellE"&gt;Statusbar&lt;/span&gt; with speed, percentage, time and      loaded size (similar to Opera's one) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://sogame.awardspace.com/"&gt;&lt;span style="color: blue;"&gt;Extension List Dumper 1.14.1&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Dumps a list of the installed extensions. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://fireftp.mozdev.org/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;FireFTP&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; 1.0.2&lt;/span&gt;&lt;/a&gt;     &lt;br /&gt;     Firefox 3.0 - 3.0.*&lt;br /&gt;     FTP Client for Mozilla Firefox. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://mozilla.zeniko.ch/fission.html"&gt;&lt;span style="color: blue;"&gt;Fission 1.0&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Progress bar in the address bar (Safari style). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://flagfox.servehttp.com/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;Flagfox&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; 3.2.8&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Displays a flag depicting the location of the current server &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://netticat.ath.cx/extensions.html"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;GoogleEnhancer&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; 1.63&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Adds numbers, highlighting and &lt;span class="SpellE"&gt;favicons&lt;/span&gt; to      Google searches &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://grabanddrag.mozdev.org/index.html"&gt;&lt;span style="color: blue;"&gt;Grab and Drag 2.7.4&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Enables Adobe Acrobat-style &lt;span class="GramE"&gt;grab&lt;/span&gt; and drag      scrolling in Mozilla applications. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://linkalert.googlepages.com/"&gt;&lt;span style="color: blue;"&gt;Link Alert 0.8.2.1&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Changes the cursor to indicate the target of a link. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://f22.aaa.livedoor.jp/%7Eptdb/firefox/theme.html"&gt;&lt;span style="color: blue;"&gt;New Tab Button on Tab Right 0.5.3&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 3.0 - 3.0.*&lt;br /&gt;     Adds a new tab button like IE7. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://customsoftwareconsult.com/extensions"&gt;&lt;span style="color: blue;"&gt;OPIE 1.2.1&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Import/Export extension preferences &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.piclens.com/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;PicLens&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;      1.8.0.4280&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Discover More &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.geocities.com/max1million/quickprefs.htm"&gt;&lt;span style="color: blue;"&gt;Quick Preference Button 0.1.8.1&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Adds menu button for quickly accessing common preferences. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span class="SpellE"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;QuickProxy&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; 2008.08.24&lt;br /&gt;     Firefox 1.0 - 3.0.*&lt;br /&gt;     &lt;span class="SpellE"&gt;Quickproxy&lt;/span&gt; creates a &lt;span class="SpellE"&gt;statusbar&lt;/span&gt;      button to quickly turn the proxy on and off. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Save Link in Folder 1.4.2&lt;br /&gt;     Firefox 1.0 - 3.0.*&lt;br /&gt;     &lt;span class="GramE"&gt;Easily&lt;/span&gt; save links in personally customized      folders. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://amb.vis.ne.jp/mozilla/scrapbook/"&gt;&lt;span class="SpellE"&gt;&lt;span style="color: blue;"&gt;ScrapBook&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; 1.3.3.7&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Helps you to save Web pages and organize the collection. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.xuldev.org/tabscope/"&gt;&lt;span style="color: blue;"&gt;Tab Scope 0.2.2.8&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 1.5 - 3.0.*&lt;br /&gt;     Preview and navigate tab contents through popup. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://runningfrombears.com/taboo"&gt;&lt;span style="color: blue;"&gt;Taboo 0.5.5&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;     Firefox 2.0b1 - 3.0.*&lt;br /&gt;     The cure for &lt;span class="SpellE"&gt;tabitis&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://ymnotifier.mozdev.org/"&gt;&lt;span style="color: blue;"&gt;Yahoo! Mail &lt;span class="SpellE"&gt;Notifier&lt;/span&gt; 1.0.0.12&lt;/span&gt;&lt;/a&gt;     &lt;br /&gt;     Firefox 0.9 - 3.1a2pre&lt;br /&gt;     &lt;span class="GramE"&gt;This&lt;/span&gt; extension notifies you when new messages      arrive in your Yahoo mailbox. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="line-height: normal;"&gt;&lt;span class="SpellE"&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;YouPlayer&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 8pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; 0.9.8&lt;br /&gt;     Firefox 2.0 - 3.0.*&lt;br /&gt;     Advanced video-site player and download tool &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="AR-SA"&gt;اگر با فایرفاکس کار می کنید، توصیه می کنم حتما این &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها را امتحان کنید ولی اگر با فایرفاکس کار نمی کنید، توصیه می کنم با فایرفاکس کار کنید و این &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;add-on&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها را هم امتحان کنید. از بین اینها من خودم به &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Grab and Drag&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; علاقه خاصی دارم. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: right; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div style="position: absolute; left: 0px; top: 0px; z-index: 1000000000 ! important; visibility: hidden; opacity: 1;" id="linkalert-box"&gt;&lt;img src="chrome://linkalert/skin/none-icon.png" id="linkalert-icon-1" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-5410305191766103659?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/5410305191766103659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=5410305191766103659' title='76 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/5410305191766103659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/5410305191766103659'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/08/add-on.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>76</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-103835601921295761</id><published>2008-08-22T03:54:00.000+04:30</published><updated>2008-08-22T03:58:49.267+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='font'/><title type='text'></title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فونت&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فونت مسئله مهم و پیچیده ای هست. خیلی مهم تر و پیچیده تر از آن چیزی که در نگاه اول به نظر می رسد. خیلی وقتها می بینم که خیلی از آدم ها توی انتخاب فونت دقت نمی کنند. نمی دانم چرا وقتی متنی را می خوانم که با فونت نامناسبی نوشته شده یا وقتی یک نفر اسلایدهایی را به من ارائه می کند که با فونت نا مناسبی درست شده اعصابم به هم می ریزد. به نظرم انتخاب فونت یک جورهایی نشان دهنده شخصیت یا شعور افراد هست؛ یا حداقل نشان دهنده سلیقه شان. چند نکته مهم که در مورد فونت ها به نظرم می رسید را اینجا آوردم:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اول: فونت های پیش فرض معمولا خیلی بد قیافه هستند، مخصوصا وقتی برای زبان فارسی به کار می رود. برای همین توصیه می کنم همین جوری یک نرم افزار را باز نکنید و شروع کنید به تایپ کردن. توی خیلی از نرم افزارها فونت پیش فرض &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Times New Roman&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هست که وقتی فارسی بنویسید خیلی زشت به نظر می رسد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دوم: فونت های &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Arial&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Times New Roman&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; فونت های رسمی لاتین به حساب می آیند. به نظر من &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Arial &lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;خیلی قشنگ تر از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Times New Roman&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هست. سعی کنید توی متون ساده انگلیسی از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Arial&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده کنید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;سوم: متون رسمی فارسی غالبا با فونت لوتوس یا نازنین نوشته می شوند. اگر در وسط متن فارسی شما کلمات لاتین استفاده شده، از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Arial&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای آن کلمات استفاده کنید. این نکته را هم فراموش نکنید که اندازه فونت لاتین در این موارد معمولا 3 یا 4 شماره کوچکتر هست. مثلا اگر فارسی را با اندازه 14 نوشته اید باید لاتین را با شماره 10 یا 11 بنویسید (این را سر کلاس شیوه ارائه دکتر ملکیان یاد گرفتم).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;چهارم: حواستان به این مسئله باشد که خیلی از فونت ها روی همه سیستم ها وجود ندارد. برای همین ممکن است یک فایل ورد یک جایی خیلی قشنگ به نظر برسد و یک جای دیگر خیلی بد قیافه. توی پی دی اف این امکان وجود دارد که فونت های به کار رفته توی یک فایل را داخل همان فایل بچپانید (یا به قول خارجی ها &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;embed&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;کنید). ولی فکر می کنم توی ورد و پاور پوینت این امکان وجود ندارد (بخوانید بلد نیستم).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;پنجم: توی وب &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tahoma&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده کنید. فکر نکنید که یک صفحه وب که با فونت لوتوس می نویسید همه جا همین طور به نظر می رسد. ولی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tahoma&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تقریبا روی همه کامپیوتر های پیدا می شود. مضافا این که &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tahoma&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; فارسی و انگلیسی اش نسبتا قشنگ هست.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;ششم: "زشت ترین موجود دنیا تاهومای بولد هست!"، این جمله آقا مصطفی هیچ وقت از یادم نمی رود (این آقا مصطفی را اگر نمی شناسید، من توصیه می کنم بروید بشناسید). این را هم به یاد داشته باشید که &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tahoma&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کوچکش قشنگ هست. وقتی اندازه اش از 10-11 بزرگتر بشود خیلی خوب به نظر نمی رسد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;هفتم: فونت های دیگری هم توی دنیا وجود دارد. فکر نکنید که همه فونت های دنیا همان هایی هستند که با ویندوز نصب می شود. مثلا توی فارسی فونت های تیتر، کامران، کودک و یکان فونت های قشنگی هستند (این ها را از کاوه یاد گرفتم که معمولا متن هایش را با فونت های عجیب و قریب و جدید تایپ می کند). توی انگلیسی هم &lt;/span&gt;&lt;a href="http://www.dafont.com/top.php"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فونت های قشنگ&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; خیلی زیاد هست.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;هشتم: نستعلیق خطی هست که بیش از هفتصد سال قدمت دارد. تعداد آدم هایی که تمام عمرشان را بر روی این خط گذاشته اند شاید کمتر از تعداد آدم هایی که تمام عمرشان را بر روی شعر و شاعری گذاشته اند نباشد. قواعد این خط خیلی پیچیده تر از آن است که بشود با استفاده از یک فونت خشک و خالی یا یک برنامه کامپیوتری نستعلیق نوشت (این ها را از برنامه "دو قدم مانده به صبح" محمد صالح علا یاد گرفتم).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نهم: وقتی ویندوز شروع به کار می کند، همه فونت های سیستم را به حافظه اصلی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Load&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می کند. برای همین هم هر فونتی که پیدا کردید، کپی نکنید توی فولدر فونت ها. فقط آن هایی را که لازم دارید کپی کنید و بقیه را برای روز مبادا یک جایی خارج فولدر فونت ها نگه دارید.&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;لینک های مرتبط&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;a href="http://www.fontsfa.com/"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;پارس فونت&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;a href="http://www.farsiweb.ir/wiki/Products/PersianFonts"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فارسی وب&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;a href="http://fpf.sourceforge.net/per/index.html"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فونت فارسی آزاد&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;a href="http://www.aftabnews.ir/vdchvwn236n6-.html"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دانلود فونت نستعلیق&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;a href="http://www.dafont.com/"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دافونت&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-103835601921295761?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/103835601921295761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=103835601921295761' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/103835601921295761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/103835601921295761'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/08/blog-post_22.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-2933370193764771570</id><published>2008-08-17T01:09:00.000+04:30</published><updated>2008-08-17T01:15:04.501+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='web development'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='J2EE'/><category scheme='http://www.blogger.com/atom/ns#' term='Java EE'/><title type='text'></title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;پلت فرم های توسعه وب&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;تا به حال چندین نفر از من در مورد تکنولوژی های توسعه وب (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Web Development Technologies&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) سوال کرده اند. بیشتر هم توقع داشته اند که به آن ها بگویم مثلا &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;J2EE&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بهتر از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هست، بروید آن را یاد بگیرید. می دانید که تکنولوژی های زیادی برای این کار وجود دارد. اسم &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;J2EE&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یا همان &lt;/span&gt;&lt;span class="SpellE"&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JavaEE&lt;/span&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را همه شنیده اند. به هر حال بخث خیلی مفصل هست. &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks"&gt;اینجا&lt;/a&gt; و &lt;a href="http://en.wikipedia.org/wiki/Category:Web_development"&gt;اینجا&lt;/a&gt; را ببینید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;راستش را بخواهید دو سه سالی هست که به طور جدی روی توسعه برنامه های وبی کاری انجام نداده ام. ولی به عنوان کسی که سه چهار سالی با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;J2EE&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کار می کرده و با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و برخی تکنولوژی های دیگر آشنایی مختصری دارد، گفتم شاید چیزی بنویسم که به درد کسی بخورد. ولی به هر حال مطالب این پست را به قول خارجی ها &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;as is&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در نظر بگیرید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اگر در این زمینه آدم با تجربه ای نباشید، شاید فکر کنید یک آدم با تجربه بتواند به شما بگوید که کدام یک از این تکنولوژی ها بهتر است. باید بگویم که مساله خیلی پیجیده تر از این است که یک نفر بتواند به شما بگوید این تکنولوژی بهتر است یا آن یکی. اگر یکی از آن ها بهتر از بقیه بود، بعد از هفت هشت ده سال، آن یکی که بهتر بود باقی مانده بود و بقیه حذف می شدند. یا حداقل یکی می شد تکنولوژی غالب و بقیه می شدند مغلوب. مسئله این است که هیچ کدام از آن ها بهتر از یکی دیگر نیست. شاید بشود گفت در این شرایط و برای این کار و با این آدم ها، این بهتر از آن است ولی به طور کلی نمی شود این را گفت.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;این را هم بگویم که بحث خیلی مفصل هست. در مورد هر کدام از تکنولوژی ها و راه کار آن ها برای حل مسئله می شود به اندازه چند کتاب صحبت کرد. ولی نه من آن قدر بلد هستم و نه اینجا جای نوشتن کتاب هست. فاکتور های خیلی زیادی در تصمیم گیری برای انتخاب تکنولوژی دخالت دارند. اینکه زمان یادگیری آن چقدر هست. اینکه هزینه و زمان توسعه آن چقدر هست و بعدا چقدر هزینه برای نگه داری صرف می شود. اینها همه بستگی به نوع پروژه دارد. مثلا توی یک پروژه ای که زیاد با پایگاه داده کار می کند ممکن است تکنولوژی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بهتر از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;B&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; باشد. به علاوه خیلی وقت ها عوامل غیر فنی شما را مجبور می کند تصمیم خود را تغییر دهید. مثلا مشتری دلش می خواهد شما پروژه را با &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; انجام بدهید که کلاس بالاتری داشته باشد! شما هم هیچ طوری نمی توانید به او بفهمانید که در مورد این مسئله شما باید تصمیم بگیرید. ولی عموما این طور نیست که این پروژه را با این تکنولوژی انجام دهید و آن یکی را با آن. منطقی است که توی هر شرکت یا تیم، پروژه ها را با تکنولوژی ای که بر آن تسلط دارند توسعه بدهند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;توی دنیای دات نت معمولا کار اینطور شروع می شود. شما یک کتاب &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ASP.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می خرید و یک سی دی ویژوال استدیو دو هزار و چند از رفیقتان قرض می گیرید یا یکی از این چیچی اکسپرس ها را از سایت مایکروسافت دانلود می کنید. بعد از اینکه سی دی را نصب کردید از صفحه اول کتاب شروع می کنید و توی فصل اول کتاب هم نوشته که چطور بروید توی منوی فایل و یک پروژه جدید بسازید. در ادامه کتاب هم نوشته چطور از کجا کدام چیز را روی صفحه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;drag&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کنید و بعد از جدول &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Properties&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کدام ویژگی را تغییر بدهید و اف چند را با کدام انگشتتان بزنید که پروژه اجرا شود. این خیلی خوب هست؛ از این جهت که شما بعد از خواندن یک کتاب چیزهای خوبی یاد می گیرید و می توانید پروژه های نسبتا خوبی را انجام دهید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دنیای &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شاید در شروع کار از این هم ساده تر باشد. اگر شما از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;HTML&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JavaScript&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CSS&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; سر در بیاورید و قبلا با یک زبان برنامه نویسی هم کار کرده باشید، خیلی ساده و در عرض چند روز می توانید کار کردن با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را شروع کنید و در زمان کوتاهی تا حد قابل قبولی بر آن مسلط شوید. البته بلد بودن &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;HTML&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JavaScript&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CSS&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; که مهارت های پایه ای توی وب به حساب می آید، یادگیری هر تکنولوژی وبی را آسان تر می کند ولی نیاز به دانستن آن ها وقتی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کار می کنید بیشتر حس می شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;البته این شروع کار است. مسائل دنیای واقعی معمولا خیلی پیچیده تر و بزرگ تر از آن است که بشود با خواندن یکی دوتا کتاب آن ها را حل کرد. ولی به هر حال شروع به کار خیلی مهم است.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;این را هم بگویم که دنیای &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و دات نت خیلی با هم تفاوت دارد. تفاوت اول یک جورهایی سیاسی یا فرهنگی است. دات نت یک تکنولوژی در انحصار (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;proprietary&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) مایکروسافت هست ولی پی اچ پی تفکرات و فرهنگ اپن سورس را با خودش دارد. استفاده از دات نت یعنی این که شما باید از ویژوال استدیو و ویندوز استفاده کنید (من تا به حال شرکتی را ندیده ام که از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;mono&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تحت سیتم عاملی غیر از ویندوز به جای اس دی کی مایکروسافت استفاده کند، دوستان دات نتی نظر بدهند). پی اچ پی یک جور هایی با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;My SQL&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Apache&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و تا حد زیادی با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Linux&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; گره خورده. این مسئله موقعی اهمیت پیدا می کند که می بینیم این فرهنگ توی پروژه ها و کتابخانه های موجود برای این پلت فرم ها هم نفوذ کرده. تعداد پروژه های اپن سورسی که با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; انجام شده خیلی بیشتر از پروژه های اپن سورسی است که با دات نت انجام شده و تقریبا برای هر کاری که تصور بکنید یک کتابخانه اپن سورس که با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;نوشته شده باشد پیدا می کنید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;تفاوت دوم یک تفاوت فنی هست. پی اچ پی زبانی هست اسکریپتی که اصولا برای کار وب طراحی شده. در حالی که توی پلت فرم دات نت معمولا از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;C#&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و یا &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;VB.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; که زبان هایی همه منظوره و کامپایلری (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Compiled&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) هستند، برای نوشتن کدها استفاده می شود. من شخصا اینجا &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را بیشتر می پسندم و فکر می کنم برای کار وب یک زبان اسکریپتی خیلی بهتر از یک زبان کامپایلری و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Statically Typed&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; مثل سی شارپ یا جاوا هست. در این رابطه اگر فرصت شد بعدا بیشتر توضیح می دهم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فکر کنم باز هم دارد طولانی می شود. فعلا همینجا بس می کنم. بعدا شاید یکی دو پست دیگر در این رابطه نوشتم. خوشحال می شوم نظر بقسه دوستان وب کار را در این رابطه بشنوم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-2933370193764771570?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/2933370193764771570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=2933370193764771570' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/2933370193764771570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/2933370193764771570'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/08/web-development-technologies.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-3446725578442482067</id><published>2008-08-01T02:25:00.000+04:30</published><updated>2008-08-01T02:30:03.551+04:30</updated><title type='text'></title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;آدم ها موجودات جالبی هستند. بعضی هایشان عجیب. بعضی هایشان فوق العاده. اصلا نمی توانم تصور کنم رندی پاوشی(&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Randy_Pausch"&gt;&lt;span dir="ltr"&gt;Randy &lt;span class="SpellE"&gt;Pausch&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) که &lt;a href="http://mansoorm.blogfa.com/"&gt;محرم&lt;/a&gt; سه چهار ماه پیش به من معرفی کرد، حالا مرده باشد. فیلم &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Last Lecture&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; او توی دانشگاه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Carnegie Malone&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;خیلی مرا تحت تاثیر قرار داد. آدمی که می داند چند ماه دیگر در این دنیا نیست، اینقدر امیدوار و خوشحال است. محرم توی وبلاگش صحبت حکیمانه ای کرده: "&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="AR-SA"&gt;به هر حال باقیمانده زندگی همه ما محدود است چه چند روز باشد چه چندین دهه! مهم نحوه استفاده مطلوب از این فرصت محدود است&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;". توصیه می کنم &lt;a href="http://video.google.com/videoplay?docid=3115188410730134929"&gt;فیلم &lt;span dir="ltr" lang="EN-US"&gt;Last Lecture&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; رندی پاوش را حتما ببینید. می تواند تاثیر خوبی توی زندگی شما داشته باشد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-3446725578442482067?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/3446725578442482067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=3446725578442482067' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3446725578442482067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3446725578442482067'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/08/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-2163679361109805297</id><published>2008-05-18T10:57:00.000+04:30</published><updated>2008-08-29T03:15:00.805+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Football'/><title type='text'></title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فوتبال&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دوست دارم با یک نگاه اجتماعی این پست را بخوانید، نه ورزشی!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;راستش را بخواهید از قهرمان شدن پرسپولیس خیلی خوشحال شدم. نه اینکه پرسپولیسی باشم؛ اتفاقا بیشتر به رنگ آبی علاقه دارم تا قرمز. خوشحال شدم برای اینکه فکر می کنم افشین قطبی ثابت کرد برای رسیدن به موفقیت در این جامعه راهی غیر از هوچی گری، دروغ گویی، حاشیه سازی و تظاهر هم وجود دارد. ثابت کرد که با صداقت داشتن، کوشش کردن، مصمم بودن و بدون حاشیه زندگی کردن هم می شود موفق بود. ثابت کرد که اگر مصمم باشی می توانی در یک محیط نا مناسب شرایط مناسبی را درست کنی. با اینکه همیشه بعد از بازی مصاحبه می کرد، یک بار به تصمیم داور اعتراض نکرد. یک بار نشد بگوید باخت ما به خاطر نوع بازی تیم مقابل بوده و مسئولیت شکست را خودش قبول می کرد. با اینکه 6 امتیاز از این تیم کسر شده بود یک بار سر و صدا نکرد که چرا اینطور شده. مطمئن هستم اگر این امتیازها از یک تیم دیگر کسر شده بود زمین را به آسمان می دوختند. این اخلاق قطبی یک جور هایی بقیه تیم را هم تحت تاثیر قرار داده بود. امیدوارم بتواند تاثیری هر چند کوچک روی بقیه جامعه داشته باشد. امروز ناخود آگاه یاد آن روزی افتادم که مصطفی کارخانه با تیم والیبال نوجوانان نایب قهرمان جهان شد. آن آدم هم شخصیت جالبی داشت. بدون حاشیه و مصمم. نمی دانم چرا فکر می کنم ارتباط معنی داری بین شخصیت افشین قطبی و مصطفی کارخانه وجود دارد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-2163679361109805297?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/2163679361109805297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=2163679361109805297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/2163679361109805297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/2163679361109805297'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/05/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-7644961832909670943</id><published>2008-04-29T10:37:00.000+04:30</published><updated>2008-08-29T03:15:35.305+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Parallel Processing Lab.'/><title type='text'></title><content type='html'>&lt;div style="text-align: right;"&gt;نمای 320 درجه از آزمایشگاه پردازش موازی، جایی که هفته ای 50 ساعت از عمرم در آن می گذرد. با گوشی جدیدم عکس گرفتم  :)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ThaVlLa3vsc/SBa9kVsMSwI/AAAAAAAAAAk/FPZq2IbGNg8/s1600-h/29042008%28008%29.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_ThaVlLa3vsc/SBa9kVsMSwI/AAAAAAAAAAk/FPZq2IbGNg8/s400/29042008%28008%29.jpg" alt="" id="BLOGGER_PHOTO_ID_5194547652213885698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-7644961832909670943?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/7644961832909670943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=7644961832909670943' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7644961832909670943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7644961832909670943'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/04/320-50.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_ThaVlLa3vsc/SBa9kVsMSwI/AAAAAAAAAAk/FPZq2IbGNg8/s72-c/29042008%28008%29.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-240720717059759069</id><published>2008-02-23T04:56:00.001+03:30</published><updated>2008-02-23T05:01:08.894+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='AOP'/><title type='text'>Using Aspectj and Java Annotations to Try Again</title><content type='html'>&lt;span xmlns=''&gt;&lt;p style='text-align: justify'&gt;We are working on a program that interacts with a hardware device using a com port for some months. After implementing many parts of software, we found that the communication channel is not as reliable as we expected, so we decided to add some "Try Again" functionality to our code. You have seen the "Try Again" dialog many times, but have you ever taught of how to implement one?&lt;br /&gt;&lt;/p&gt;&lt;p style='text-align: justify'&gt;All you need is to invoke a method, if an exception occurs ask the user "Try Again?" and if the answer is "Yes" reinvoke the method. At first it seems so simple to me but after playing with some of OO design patterns I realized that many lines of code should be modified to implement the functionality in OO, so I decided to play a little AOP.&lt;br /&gt;&lt;/p&gt;&lt;p style='text-align: justify'&gt;Here is the solution I found:&lt;br /&gt;&lt;/p&gt;&lt;p style='text-align: justify'&gt;The first thing we need is to specify what methods must be tried again, Thanks to Java 5 annotations, this is very easy to tag some methods, so the first thing we need is a TryAgain Java annotation:&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;div&gt;&lt;table border='0' style='border-collapse:collapse; background: #ffffcc'&gt;&lt;colgroup&gt;&lt;col style='width:638px'/&gt;&lt;/colgroup&gt;&lt;tbody valign='top'&gt;&lt;tr&gt;&lt;td style='padding-left: 7px; padding-right: 7px; border-top:  solid 2.25pt; border-left:  none; border-bottom:  solid 2.25pt; border-right:  none'&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;package com.blogspot.zoftware.aspects;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import java.lang.annotation.ElementType;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import java.lang.annotation.Retention;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import java.lang.annotation.RetentionPolicy;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import java.lang.annotation.Target;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;@Target(ElementType.METHOD)&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;@Retention(RetentionPolicy.RUNTIME)&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;public @interface TryAgain {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;int count() default 2;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;boolean interactive() default true;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='text-align: justify'&gt;The count parameter specifies how many times the method should be reinvoked and the interactive parameter specifies if the user should be asked to try again or not. The second thing we need is an aspect which reinvokes the annotated methods, there are many AOP implementations in the java world but I like &lt;a href='http://www.eclipse.org/aspectj/doc/released/adk15notebook/index.html'&gt;&lt;span style='color:blue; text-decoration:underline'&gt;the annotation based aspectj&lt;/span&gt;&lt;/a&gt; the most, as it is very simple and supports standard java syntax, here is the code for the aspect:&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;div&gt;&lt;table border='0' style='border-collapse:collapse; background: #ffffcc'&gt;&lt;colgroup&gt;&lt;col style='width:638px'/&gt;&lt;/colgroup&gt;&lt;tbody valign='top'&gt;&lt;tr&gt;&lt;td style='padding-left: 7px; padding-right: 7px; border-top:  solid 2.25pt; border-left:  none; border-bottom:  solid 2.25pt; border-right:  none'&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;package com.blogspot.zoftware.aspects;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import java.lang.reflect.Method;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import javax.swing.JOptionPane;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import org.aspectj.lang.ProceedingJoinPoint;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import org.aspectj.lang.annotation.Around;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import org.aspectj.lang.annotation.Aspect;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import org.aspectj.lang.reflect.MethodSignature;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;@Aspect&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;public class TryAgainAspect {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;@Around("call(@TryAgain * *..*(..))")&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;public Object retry(ProceedingJoinPoint jp) throws Throwable{&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;Method method = ((MethodSignature)jp.getSignature()).getMethod();&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;TryAgain annotation = method.getAnnotation(TryAgain.class);&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;Throwable err = null;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;for (int i = 0; i &amp;lt; annotation.count(); i++) {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 81pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;try {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 108pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;return jp.proceed();&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 81pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;} catch (Throwable e) {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 108pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;err = e;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 108pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;if(annotation.interactive() &amp;amp;&amp;amp; !askRetry(e)) {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 135pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;break;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 108pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 81pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;throw err;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;private boolean askRetry(Throwable e) {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;String msg = "The following error occured:\n" + e + "\nRetry?";&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;return JOptionPane.showConfirmDialog(null, msg) == JOptionPane.YES_OPTION;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='text-align: justify'&gt;The retry advice, reinvokes every method which is tagged with @TryAgain annotation if an exception occurs (at most count times), so all you need to use this mechanism is to tag the methods that should be reinvoked on failures. Here is a sample usage:&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;div&gt;&lt;table border='0' style='border-collapse:collapse; background: #ffffcc'&gt;&lt;colgroup&gt;&lt;col style='width:638px'/&gt;&lt;/colgroup&gt;&lt;tbody valign='top'&gt;&lt;tr&gt;&lt;td style='padding-left: 7px; padding-right: 7px; border-top:  solid 2.25pt; border-left:  none; border-bottom:  solid 2.25pt; border-right:  none'&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;package com.blogspot.zoftware.demo;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;import com.blogspot.zoftware.aspects.TryAgain;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;public class Foo {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;@TryAgain(count = 3)&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;public void oftenFails() {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;if(Math.random() &amp;lt; 0.6) {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 81pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;throw new RuntimeException("Sorry, Failed!");&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;public static void main(String[] args) {&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;new Foo().oftenFails();&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 54pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;System.out.println("Passed");&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style='text-align: justify'&gt;The oftenFails method is the method that should be reinvoked, so I annotated it using @TryAgain. To run the code you need aspectj libraries (&lt;a href='http://www.eclipse.org/aspectj/downloads.php'&gt;&lt;span style='color:blue; text-decoration:underline'&gt;download here&lt;/span&gt;&lt;/a&gt;); you can use either dynamic (load time) or static weaving. To use &lt;a href='http://www.eclipse.org/aspectj/doc/released/devguide/ltw-configuration.html'&gt;&lt;span style='color:blue; text-decoration:underline'&gt;load time weaving&lt;/span&gt;&lt;/a&gt;, place the following piece of XML into aop.xml under META-INF folder, then run the Foo class with -javaagent:aspectjweaver.jar command line argument.&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt; &lt;/p&gt;&lt;div&gt;&lt;table border='0' style='border-collapse:collapse; background: #ffffcc'&gt;&lt;colgroup&gt;&lt;col style='width:638px'/&gt;&lt;/colgroup&gt;&lt;tbody valign='top'&gt;&lt;tr&gt;&lt;td style='padding-left: 7px; padding-right: 7px; border-top:  solid 0.5pt; border-left:  solid 0.5pt; border-bottom:  solid 0.5pt; border-right:  solid 0.5pt'&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;&amp;lt;aspects&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style='margin-left: 27pt'&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;&amp;lt;aspect name="com.blogspot.zoftware.aspects.TryAgainAspect" /&amp;gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color:navy; font-family:Courier New; font-size:10pt'&gt;&lt;strong&gt;&amp;lt;/aspects&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt; &lt;/p&gt;&lt;p style='text-align: justify'&gt;The mixture of Annotations and AspectJ is a powerful tool to solve many common software engineering problems.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-240720717059759069?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/240720717059759069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=240720717059759069' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/240720717059759069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/240720717059759069'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/02/using-aspectj-and-java-annotations-to_23.html' title='Using Aspectj and Java Annotations to Try Again'/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-3046526742321714362</id><published>2008-01-17T20:53:00.000+03:30</published><updated>2008-01-25T05:12:16.770+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Functional Programming Languages'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;هیچ وقت به این نکته فکر کردید که اگر زبان برنامه نویسی که از آن استفاده می کنید اعداد و عملگرهای اولیه روی اعداد رو پشتیبانی نمی کردند، چطور می تونستید از اون زبان استفاده کنید؟ اصلا، به نظر شما اگر یک زبان اعداد و عملگرهای لازم رو به صورت توکار پشتیبانی نکنه، راهی برای پیاده سازی اونها وجود داره؟ شاید جالب باشه اگر بدونید که در بسیاری از زبان های برنامه نویسی تابعی (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Functional Programming Languages&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) این قابلیت وجود داره که بدون اینکه زبان شما از اعداد یا عملگر های اولیه پشتیبانی بکنه، به راحتی اونها رو با استفاده از توابع پیاده سازی بکنید ( هر چند به خاطر کارایی معمولا این کار انجام نمی شه). امروز داشتم به این موضوع فکر می کردم که میشه این کار رو در زبان های غیر تابعی هم انجام داد یا نه؟ سعی کردم اعداد طبیعی و عملگر جمع و تفریق رو با استفاده از زبان جاوا پیاده سازی کنم. این شد که می بینید. البته یک مقدار بد قیافه به نظر می رسه.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;interface&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum {&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;boolean&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; isZero();&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;NaturalNum next();&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;NaturalNum prev();&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;NaturalNum add(NaturalNum n);&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;NaturalNum sub(NaturalNum n);&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Zero &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;implements&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum {&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;static&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;final&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Zero &lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;INSTANCE&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Zero(); &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Zero() {}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum add(NaturalNum n) { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; n; }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;boolean&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; isZero() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;true&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;; }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum next() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Successor(&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;); }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum prev() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;throw&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; RuntimeException(); }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum sub(NaturalNum n) { &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;(n.isZero()) &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;else&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;throw&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; RuntimeException();&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; String toString() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;""&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;; }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Successor &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;implements&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum {&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;private&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;final&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;p&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Successor(NaturalNum n) { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;p&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; = n; }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum add(NaturalNum n) { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.prev().add(n.next()); }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;boolean&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; isZero() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;false&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;; }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum next() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Successor(&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;); }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum prev() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;p&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;; }&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNum sub(NaturalNum n) { &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; n.isZero() ? &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; : &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.prev().sub(n.prev()); &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; String toString() { &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; prev() + &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"1"&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;; }&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; NaturalNumberTest {&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;static&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(127, 0, 85);"&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; main(String[] args) {&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;NaturalNum three = Zero.&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;INSTANCE&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.next().next().next();&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;NaturalNum four = Zero.&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;INSTANCE&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.next().next().next().next();&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;System.&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;out&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.println(three);&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;System.&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;out&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.println(four);&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;System.&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;out&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.println(three.add(four));&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;System.&lt;/span&gt;&lt;i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 0, 192);"&gt;out&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.println(four.sub(three));&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;      &lt;/span&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 0in 0in 0.0001pt; text-align: left; line-height: normal;" align="left"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-3046526742321714362?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/3046526742321714362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=3046526742321714362' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3046526742321714362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3046526742321714362'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2008/01/functional-programming-languages.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-4464055670678432787</id><published>2007-12-08T16:16:00.000+03:30</published><updated>2008-08-29T03:23:42.763+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;چند وقتی بود که اصلا فرصت نوشتن نداشتم، البته الان هم خیلی وقت ندارم. ولی پست آخر &lt;/span&gt;&lt;a href="http://sharpedia.wordpress.com/2007/12/08/customized-development-environments/"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;مهرداد&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; من رو ترغیب کرد که یک چیزی بنویسم. ابزار های نرم افزاری زیادی هست که توی کارهای روزمره به من کمک می کنه. بعضی از این ابزارها به قدری موثر هست که بدون اونها زندگی برای من خیلی سخت می شه. شاید الان همه اونها یکجا به ذهن من نرسه ولی چند تا از مهمترین هاش رو می نویسم، این رو هم بگم که من عموما به ابزارهای اپن سورس علاقه بیشتری دارم. شاید این همون چیزی هست که مهرداد بهش گفته سبک، ولی اگر ابزار خوبی وجود داره که اپن سورس هم نیست، خیلی تاکیدی برای استفاده نکردن از اون ندارم:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;1- فایرفاکس و بچه هایش: انصافا فایرفاکس جزء ابزارهایی است که اگر نبود زندگی برای من خیلی سخت می شد، به علاوه من خودم از ایده فایرفاکس (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;XUL&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) خیلی لذت می برم. همین ایده بوده که باعث شده این هم &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Add-On&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بدرد بخور برای این مرورگر وجود داشته باشه. روی فایرفاکس من فعلا این &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Add-On&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها نصب هست:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Adblock Plus, Clip to OneNote, Customize Google, DOM Inspector, Downloads in Tab, DownThemAll, Header Spy, Live HTTP Headers, Locationbar, Menu Editor, President Ahmadinejad Countdown, Right Encoding, Save Link in Folder, Scrap Book, Stumble Upon, Web Search Pro, Yahoo Mail Notifier&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;2- یاهو ساید بار و بچه هایش: ساید بار های زیادی برای سیستم عامل ویندوز وجود داره ولی من بدون هیچ دلیل خاصی ساید بار یاهو رو ترجیح می دم (شاید به خاطر اینکه محمد رشتی این رو به من توصیه کرده). دو تا از ویجت های جالب یاهو ساید با که خیلی به من کمک می کنه، یکی تقویم جلالی هست که بوسیله یک نفر به نام محمد پروشانی نوشته شده (که من ایشون رو نمی شناسم ولی ازشون خیلی تشکر می کنم). یکی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Todo List&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هست که به وسیله &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Kurt Papake&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نوشته شده و من از ایشون هم تشکر می کنم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;3- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;OneNote&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و هنرهایش: به نظر من &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;OneNote&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یکی از محصولات بی نظیر ماکروسافت هست. اگر سرتان خیلی شلوغ است توصیه می کنم حتما از این ابزار استفاده کنید. &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;OneNote&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; رو خود مهرداد به من پیشنهاد داد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;4- تاندربرد و وب میل: &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Thunderbird&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; به همراه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Add-On&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; وب میلش ابزار خیلی خوبی هست برای کسی که لپ تاپ دارد و گاهی اوقات به اینترنت وصل هست و گاهی اوقات نیست خیلی مفید است.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;5- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;KMPlayer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;VLC Player&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: این دو تا از اون مدیا پلیرهایی هستند که همه نوع فایلی رو پخش می کنه. حتما امتحانشون کنید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;6- &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;7z&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و سادگیش: یک &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Archive Manager&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ساده، سریع و بی دردسر، که من به خاطر اپن سورس بودنش او رو به &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;WinRar&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ترجیح می دم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;7- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;TortoiseSVN&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و اطمینان قلبش: یک &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;interface&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; (؟) برای سیستم ویرایش &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SVN&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; که خیلی خوب با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Explorer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ویندوز &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;integrate&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شده. جدای از پروژه های کاری، همه پروژه های درسی، سمینارها، مقاله ها و هر چیز در حال توسعه ای روی هارد درایو من، روی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SVN&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; قرار داره. این کار به آدم این اطمینان رو میده که خراب کاری هاش (مخصوصا توی شرایط حساس) هزینه زیادی نداره و با چند تا کلیک می تونید وضعیت رو به شرایط مطلوب بر گردونید. خوبی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;TortoiseSVN&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; این هست که نیازی به نصب سرور نداره و خودش به صورت مستقل روی یک کامپیوتر شخصی می تونه مورد استفاده قرار بگیره.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;8- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;TrueCrypt&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: وقتی امنیت بعضی از فایل ها برای شما مهم باشه، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;TrueCrypt&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می تونه خیلی مفید باشه. این ابزار یک درایو مجازی با محتویات رمز شده در اختیار کاربر قرار میده. یکی از ویژگی های مهم این نرم افزار کارایی خیلی بالای اون هست. شما می تونید درایو هایی رمز شده با حجم چند گیگا بایت داشته باشید و خیلی راحت فایلهاتون رو از/به اون کپی کنید. &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;TrueCrypt&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; دقیقا شبیه یک هارد درایو عادی برای شما کار میکنه.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;9- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;eclipse&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;groovy&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: جدای از نوشتن برنامه های درست و حسابی با &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;eclipse&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خیلی اوقات نیاز پیدا می کنید که چند خط اسکریپت برای انجام کاری بنویسید. من معمولا این کار رو توی محیط &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;eclipse&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و با استفاده از جاوا یا &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;groovy &lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;انجام میدم. البته این مساله بستگی به تسلط شما به محیط و زبان برنامه نویسی داره.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;10- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: قبلا در مورد &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یک &lt;/span&gt;&lt;a href="http://zoftware.blogspot.com/search/label/vim"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;پست&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; داشتم. ویرایشگر جالبی هست.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;11- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Excel&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Statistica&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: مجموعه آفیس ماکروسافت در مجموع یکی از شاهکارهای مایکروسافت محسوب میشه (با وجود اینکه خیلی از محصولات ماکروسافت خوشم نمیاد ولی آفیس واقعا جالبه)، خوب &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;excel&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یکی از ابزارهایی هست که زیاد از اون استفاده می کنم. بعضی اوقات که توی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;excel&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نمیشه کاری رو به راحتی انجام داد استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Statistica&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خیلی می تونه کمک بکنه. &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Statistica&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یک نرم افزار آماری خیلی قوی هست، یکی از ویژگی های جالب این نرم افزار این هست که در عین قدرتمند بودن خیلی ساده میشه ازش استفاده کرد و نیاز به آموزش زیادی نداره.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;12- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Paint.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: به جای نرم افزار &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Paint&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ویندوز من از یک نرم افزاری به نام &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Paint.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده می کنم. خوبی این نرم افزار این هست که در عین سادگی خیلی از عملگرهای لازم برای تغییر تصویر رو داره. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;13- &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Vidalia&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: این نرم افزار یک &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;interface&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tor&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هست. &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tor&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یک شبکه توزیع شده برای بی نام و نشان (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Anonymous&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) ماندن بر روی اینترنت هست. &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tor&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; حداقل دو تا مشکل عمده رو حل می کند. اول اینکه با استفاده از اون می تونید به سایت هایی که اجازه دسترسی کاربران ایرانی رو نمیدن دسترسی داشته باشید (چون استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tor&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; باعث میشه از دید سرور، آدرس &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شما چیز دیگری به نظر برسه). دوم اینکه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tor&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای شما &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Port Forwarding&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; انجام میده. در جاهایی مثل دانشگاه ها و شرکت ها، که معمولا پورت های غیر ضروری به وسیله &lt;/span&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;firewall&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بسته شده، شما می تونید با استفاده از این نرم افزار اون نرم افزارها رو اجرا کنید!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; direction: rtl; unicode-bidi: embed;"&gt;&lt;span dir="ltr" style="font-size: 10pt; line-height: 110%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-4464055670678432787?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/4464055670678432787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=4464055670678432787' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4464055670678432787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4464055670678432787'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/12/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-7023772132227208088</id><published>2007-07-15T19:18:00.000+03:30</published><updated>2007-07-15T19:27:37.930+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Copy Right'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="margin-bottom: 0.0001pt; text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کپی غیر قانونی نرم افزار&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="margin-bottom: 0.0001pt; text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;چند وقتی هست که سر و صدای زیادی در مورد فروش سی دی های فیلم های روی پرده بلند شده، از تلویزیون و رادیو گرفته تا روزنامه ها و سایت های خبری در این رابطه مطلب می نویسند. خوشبختانه با تلاش نیروی انتظامی و مسئولین وزارت ارشاد این مشکل در مورد فیلم های اخیر مرتفع شده و به نظر می رسد دیگر فیلم های روی پرده کنار خیابان فروخته نمی شود&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;. بسیار خوشحالیم چنین اتفاقی برای صنعت فیلم سازی ما افتاده است و امیدواریم که این شرایط ادامه پیدا کند. ولی نکته ای که در این میان به آن توجه نمی شود مشکل مشابهی است که برای صنعت نرم افزار کشورمان وجود دارد. مشکل کپی غیرقانونی نرم افزار های تولید داخل از مدت ها پیش و حتی پیش از این که سی دی و دی وی دی به بازار آمده باشد وجود داشته و هنوز وجود دارد. خوشبختانه از آنجا که سینما، با همراهی برادرخوانده خود، تلویزیون ابزار مناسب تبلیغاتی در اختیار داشته توانسته تا حدودی بر این مشکل غلبه کند ولی متاسفانه گوش شنوایی برای شنیدن صدای صنعت نرم افزار کشورمان وجود ندارد. گرچه قوانین مناسبی در این رابطه در کشورمان وجود دارد ولی بدون وجود حمایت رسانه ها و با وجود فرهنگ موجود در جامعه ما نمی توان بر این مشکل -که ویران کننده بنای نیمه آباد صنعت نرم افزار کشورمان است- غلبه کرد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-7023772132227208088?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/7023772132227208088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=7023772132227208088' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7023772132227208088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7023772132227208088'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/07/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-71166307245812601</id><published>2007-06-06T10:31:00.000+03:30</published><updated>2008-08-29T03:18:03.776+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center; line-height: 150%;" align="center"&gt;&lt;span style="font-size: 15pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;گوگل&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;چند وقتی هست که سرم خیلی شلوغ هست، خیلی شلوغ تر از آنکه وقت کنم چیزی بنویسم. هفته ای 10 روز کار دارم! برای همین هم چند وقتی هست که هیچ پستی نداشته ام. بعضی از دوستان هم فرموده بودند خیلی طولانی می نویسی، سعی می کنم این بار کوتاه تر بنویسم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نمی دانم چقدر گوگل را می شناسید و نمی دانم آیا تا بحال اسامی سرگی برین و لارنس پیج به گوشتان خورده یا نه. همین قدر بگویم که این دو نفر موسسین گوگل بوده اند. یکی از نکات جالب در مورد گوگل این است که ساختار داخلی آن تا حد زیادی برای دنیا ناشناخته است. به نظر می رسد صاحبان این غول اینترنتی خیلی دلشان نمی خواهد رقبا از کارشان سر در بیاورند. ولی در هر حال برخی از مقالاتی که در مورد گوگل منتشر شده نکات جالبی را در مورد آن به ما یاد می دهد. یکی از معدود مقالاتی که در مورد ساختار داخلی گوگل منتشر شده مقاله ای است با عنوان &lt;/span&gt;&lt;a href="http://infolab.stanford.edu/pub/papers/google.pdf"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; text-decoration: none;"&gt;The Anatomy of a Large-Scale Hypertextual Web Search Engine&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;. فکر می کنم این مقاله سال 1998 یا 1999 بوده که منتشر شده(این مقاله ای که در دست من است تاریخ انتشار ندارد ولی از متن آن می توان این تاریخ را حدس زد). توی دنیای کامپیوتر این مقاله یکی از مقالاتی هست که &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;citation&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خیلی بالایی دارد(نشان از اهمیت و اعتبار این مقاله دارد). یکی از زیباترین و هوشمندانه ترین مواردی که در این مقاله می توانید یاد بگیرید الگوریتم رتبه دهی صفحات (&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Page Ranking&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) در گوگل هست. الگوریتم رتبه بندی در موتورهای جستجو از چند جهت اهمیت دارد. یا بهتر بگویم باید چند ویژگی را داشته باشد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اول اینکه صفحات را به شکل درستی مرتب کند. ممکن است کلمه ای را در گوگل جستجو کنید که در چند میلیون صفحه موجود باشد. گوگل باید از بین این چند میلیون صفحه، صفحاتی را که ارتباط بیشتری با عبارت جستجوی شما دارند را در ابتدا بیاورد، وگرنه جستجو کردن در گوگل نمی تواند برای شما فایده چندانی داشته باشد!(تصور کنید اگر گوگل نتایج جستجو را به شکل درستی مرتب نمی کرد بعد از هر بار جستجو باید بین چند هزار تا چند میلیون صفحه جستجو می کردید تا صفحه مورد نظرتان را پیدا کنید).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;ویژگی دوم که شاید از ویژگی اول هم مهمتر باشد این است که الگوریتم رتبه بندی صفحات باید به شکلی باشد که نتوان به راحتی و با تغییر محتوای*** صفحات بر روی آن تاثیر زیادی گذاشت. این نکته را در نظر بگیرید که برای خیلی از شرکت ها این نکته اهمیت زیادی دارد که هنگام جستجوی عبارات خاصی سایت آن شرکت در صفحه اول جستجوی گوگل قرار بگیرد. مثلا یک شرکت فروشنده لپ تاپ خیلی علاقه دارد وقتی کلمه لپ تاپ توی گوگل جستجو می شود سایت آن ها هم در صفحه اول لیست شود. خیلی از شرکت ها حاظر هستند سالانه میلیون ها دلار خرج کنند تا چنین اتفاقی بیافتد، حتی رشته ای با عنوان &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Search_engine_optimization"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; text-decoration: none;"&gt;Search Engine Optimization&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یا &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SEO&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در همین راستا شکل گرفته است. حالا به این مطلب فکر کنید که اگر الگوریتم رتبه بندی در گوگل و موتور های جستجوی دیگر طوری بود که به آسانی می شد آن را تحت تاثیر قرار داد، چه اتفاقی می افتاد. هر کلمه ای را که توی گوگل جستجو می کردید، چند صفحه چرت و پرت که بیشتر آنها سایت شرکت ها بود برای شما برگردانده می شد!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;یکی از نکات جالب دیگر این است که الگوریتم رتبه بندی صفحات در گوگل طوری هست که اگر &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;n&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; صفحه توی گوگل ایندکس شود، برای بدست آوردن رتبه هر صفحه باید یک &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;n&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; معادله &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;n&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; مجهول حل شود، و به این نکته هم توجه کنید که این &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;n&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; حداقل چیزی حدود 6 یا 7 میلیارد هست!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;البته الگوریتم &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Page Ranking&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; فعلی گوگل ترکیبی از چند الگوریتم هست که تقریبا سرّی هستند ولی یکی از مهمترین آنها همین الگوریتمی هست که در این مقاله توضیح داده شده.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color windowtext; border-width: medium medium 1pt; padding: 0cm 0cm 1pt;"&gt;  &lt;p class="MsoNormal" dir="rtl" style="border: medium none ; padding: 0cm; text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;راستش را بخواهید می خواستم به چند چیز دیگر هم اشاره بکنم ولی مثل اینکه دوباره دارم زیاد می نویسم. برای همین هم بقیه مطالب را می گذارم برای دفعه ی بعد. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;پانویس:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;*** این را هم بگویم برای اینکه کمی بخندید، چند روز پیش یکی از دوستان می گفت در رسم الخط جدید فرهنگستان گفته اند به جای "محتوی" بنویسید "محتوا"، خیلی خوشحال شدم چون من تا کلاس سوم راهنمایی محتوی را می خواندم &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;mahtooy&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-71166307245812601?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/71166307245812601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=71166307245812601' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/71166307245812601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/71166307245812601'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/06/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-7786245063199577008</id><published>2007-05-12T02:15:00.000+03:30</published><updated>2008-08-29T03:16:18.924+04:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span dir="ltr" style="font-size: 15pt; line-height: 115%;"&gt;volatile&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 15pt; line-height: 115%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در میان کلمات کلیدی زبان جاوا دو کلمه کلیدی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;volatile&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;transient&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خیلی مظلوم واقع شده اند و کمتر کسی هست که به آن ها بپردازد. دلیل آن هم این هست که اولا به اشتباه احساس می شود که خیلی کم به این کلمات نیاز پیدا می کنیم، ثانیا توضیح اینکه این کلمات چه کاری انجام می دهند کمی مشکل هست. در هر حال بدون هیچ دلیل خاصی تصمیم گرفتم امروز در مورد کلمه کلیدی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;volatile&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در زبان جاوا بنویسم. استفاده از کلمه کلیدی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;volatile&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در موارد زیادی ضرورت دارد. یکی از جاهایی که به این کلمه کلیدی نیاز داریم برنامه نویسی بر روی کامپیوترهای چند پردازنده است. البته استفاده نکردن از این کلمه کلیدی هنگام برنامه نویسی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Multithreaded&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بر روی ماشینی با یک پردازنده هم می تواند ایجاد اشکال کند ولی در اینجا نمی خواهم به این موضوع بپردازم. برای اینکه کاربرد این کلمه کلیدی را درک کنیم باید تا حدودی با معماری کامپیوترهای چندپردازنده آشنا باشیم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;چندپردازنده ها عموما بسیار متنوع و پیچیده هستند، ولی گونه خاصی از آنها را که در اینجا می خواهم به آن بپردازم چندپردازنده های متقارن یا همان &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SMP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها هستند. در معماری &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SMP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; معمولا چند پردازنده هم شکل(متقارن) به یک حافظه مشترک دسترسی دارند. همان طور که می دانید معمولا در کامپیوترها برای تسریع دسترسی به حافظه از &lt;b&gt;حافظه پنهان &lt;/b&gt;(یا همان &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Cache&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) استفاده می شود. استفاده از حافظه پنهان در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SMP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها حداقل می تواند به دو شکل مختلف باشد:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;1. تمام پردازنده ها از یک حافظه پنهان مشترک استفاده کنند، در این حالت هنگامی که یک پردازنده مقدار یک متغیر را تغییر می دهد و بلافاصله پردازنده دیگر مقدار آن را می خواند، مقدار خوانده شده با مقدار نوشته شده یکسان است.&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;2. هر یک از پردازنده ها حافظه پنهان خودشان را داشته باشند، در این حالت فرض کنید قرار است دو پردازنده مختلف به متغیر مشترک &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;X&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; دسترسی داشته باشند و این متغیر در حافظه پنهان هر دو پردازنده قرار دارد(دو مکان متفاوت). حال فرض کنید پردازنده اول مقدار &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;X&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را در حافظه پنهان خود تغییر دهد و پردازنده دوم آن را از حافظه پنهان خود بخواند. از آنجایی که خواندن و نوشتن در دو مکان مختلف انجام شده ممکن است این مقدار خوانده شده با مقدار نوشته شده متفاوت باشد.&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" dir="rtl" style="text-align: center; line-height: 150%;" align="center"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" dir="rtl" style="margin-right: 0cm; text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;استفاده از حافظه پنهان مشترک در کامپیوترهایی که تعداد زیادی پردازنده دارند امکان پذیر نیست، چرا که در اینصورت به دلیل تعداد زیاد مراجعات به حافظه پنهان، خود حافظه پنهان به گلوگاه کارایی تبدیل شده و عملا خاصیت خود را از دست می دهد. از این رو اغلب در معماری &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SMP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها از شکل دوم و یا ترکیبی از شکل اول و دوم استفاده می شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" dir="rtl" style="margin-right: 0cm; text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;برای حل مشکل در حالتی پردازنده ها حافظه پنهان مشترک ندارند، دو راهکار کلی وجود دارد. اول اینکه هنگامی که لازم است مقداری در حافظه پنهان یک پردازنده نوشته شود، این مقدار در حافظه پنهان دیگر پردازنده ها نیز نوشته شود. دوم اینکه پردازنده از دستورالعمل هایی پشتیبانی کند که در مواقع لازم بتوان مقدار موجود در حافظه پنهان را بطور مستقیم در حافظه اصلی نوشت و یا مقداری را بطور مستقیم و بدون توجه به مقدار موجود در حافظه پنهان، از حافظه اصلی خواند(دستور العمل های مدیریت حافظه پنهان).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" dir="rtl" style="margin-right: 0cm; text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در حالت آخر برنامه نویس باید برای کامپایلر مشخص کند که چه متغیرهایی به صورت مشترک بین &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Thread&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; های برنامه استفاده می شود تا کامپایلر بتواند کدهای لازم برای مدیریت حافظه پنهان را تولید کند. توجه کنید که اگر قرار باشد این کار بر روی تمام متغیرهای مشترک بین &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Thread&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها انجام شود، کارایی چند پردازنده به شدت کاهش می یابد. از این رو لازم است کاربر متغیرهایی را که لازم می داند بطور صریح مشخص کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;فیلدهایی از کلاس که با کلمه کلیدی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;volatile&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تعریف شده اند، برای ارتباط بین &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Thread&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;های مختلف استفاده می شوند. به عبارت دقیق تر هر بار خواندن از یک فیلد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;volatile&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; آخرین مقدار نوشته شده بر روی آن فیلد (توسط هر &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Thread&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;و بر روی هر پردازنده ای) را بر می گرداند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;گرچه نحوه پیاده سازی این موضوع در معماری های مختلف، متفاوت است ولی بر اساس تعریفی که در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JSR 133&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; از مدل حافظه جاوا آمده، کامپایلر و محیط زمان اجرای جاوا موظف هستند، شرایط را طوری فراهم کنند که هنگام خواندن یک فیلد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;volatile&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; همواره آخرین مقداری که درون آن نوشته شده برگردانده شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;البته دقت کنید که بجای استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;volatile&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در بسیاری از موارد می توانید از کلمه کلیدی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;synchronized&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هم استفاده کنید. همچنین دوباره بر این نکته تاکید می کنم که مشکلی که در اینجا مطرح شد حتی در ماشین های تک پردازنده هم ممکن است اتفاق بیفتد(&lt;/span&gt;&lt;a href="http://www.cs.umd.edu/%7Epugh/java/memoryModel/jsr-133-faq.html"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اینجا&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; را ببینید).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در هر حال نوشتن برنامه های &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Multithreaded&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; توجه و مطالعه زیادی را می طلبد. مشکل اصلی در این برنامه ها این است که اشکالات موجود تنها در بعضی موارد خاص خود را نشان می دهد، به همین دلیل رفع اشکال آنها به سختی انجام می شود. آشنایی کامل بر مفاهیم &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Multithreading&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و تعاریف زبانی که با آن برنامه می نویسید می تواند باعث کاهش این مشکلات شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-7786245063199577008?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/7786245063199577008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=7786245063199577008' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7786245063199577008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7786245063199577008'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/05/volatile-volatile-transient.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-3940669814912223855</id><published>2007-04-22T21:17:00.000+03:30</published><updated>2007-04-23T14:48:58.950+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Learning'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center;" align="center"&gt;&lt;span style="font-size: 14pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;یادگیری از اینترنت در سه دقیقه&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;حتما زیاد برای شما پیش آمده که بخواهید مطلب جدیدی را از اینترنت یاد بگیرید، مطلبی که شاید قبل از آن چیزی در موردش نمی دانستید. یکی از مشکلاتی که امروزه بشر با آن روبرو است پیدا کردن اطلاعات مورد نظرش از میان انبوه اطلاعات نامرتبط بر روی اینترنت هست. هر چند موتور های جستجوی قدرتمند امروزی در این زمینه کمک زیادی می کنند ولی هنوز نمی توان گفت که همه اطلاعات مورد نظر ما را می توانند برای ما پیدا کنند. روش هایی که در اینجا آورده ام بیشتر تجربیات شخصی خودم است و چیزهایی که از دیگران یاد گرفته ام، حتما شما هم از بعضی از این روش ها یا همه آنها استفاده می کنید (اگر شما تجربیات بهتری دارید لطفا کامنت بگزارید).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;خوب جستجو کنید: خیلی مهم است که که چه کلمات یا عباراتی را برای جستجو به کار می برید، گاهی ممکن است کلمه نامربوطی در عبارت جستجوی شما وجود داشته باشد که شما را از هدفتان دور کند. گاهی اوقات لازم است قبل از اینکه به دنبال موضوع اصلی بگردید کمی به دنبال کلید واژه های مربوط به موضوع مورد نظرتان بگردید. در دست داشتن کلید واژه های مورد نظر اولین گام برای جستجوی درست است. از این گذشته سعی کنید زبان پرس و جوی(&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Query Language&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) موتور جستجویتان را خوب یاد بگیرید تا بتوانبد از او سوالات خوبی بپرسید. معمولا موتور های جستجو قابلیت هایی بیش از آنچه ما می دانیم دارند. برای یاد گرفتن زبان پرس و جوی گوگل &lt;a href="http://www.google.com/help/basics.html"&gt;اینجا&lt;/a&gt; و &lt;a href="http://www.googleguide.com/sharpening_queries_1.html"&gt;اینجا&lt;/a&gt; و &lt;a href="http://www.googleguide.com/advanced_operators_2.html"&gt;اینجا&lt;/a&gt; را ببینید&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;گوگل همه وب نیست: احتمالا اولین کاری که به ذهن می رسد جستجو در گوگل است، ولی این نکته را به یاد داشته باشید که گوگل همه وب را ایندکس نمی کند، خیلی اوقات بوده که من صفحه ای را توی گوگل پیدا نکرده ام ولی با استفاده از موتورهای جستجوی دیگر توانسته ام آنرا پیدا کنم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;استاد بزرگ ویکیپدیا: اگر مطلب شما مطلب متداولی هست احتمالا ویکیپدیا معرفی مناسبی در این رابطه دارد. حتی اگر مطلب مناسبی توی ویکیپدیا پیدا نکردید سر زدن به آنجا باز هم ضرری ندارد. حداقل می توانید صفحه جدید در رابطه با موضوعتان درست کنید یا صفحه موجود را ارتقا دهید تا نفر بعدی بتواند از آن استفاده کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کتاب الکترونیک: اگر بتوانید &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;eBook&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; مناسبی درباره موضوع مورد نظرتان پیدا کنید می توانید خوشحال باشید. شاید بتوانید کتاب مورد نظرتان را در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;flazx&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یا &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ebooksclub&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; پیدا کنید. اگر موفق نشدید سعی کنید از یکی از نرم افزارهای &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;p2p&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده کنید(&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;emule&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;edonkey&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;shareaz&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، ...).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;سایت مجلات و کنفرانس های تخصصی: در هر زمینه ای از علم، مجلات و کنفرانس های معتبری وجود دارد که می توانید اطلاعات مفیدی از آنها به دست آورید. کنفرانس ها عموما ارائه دهنده آخرین دستاوردها در آن زمینه هستند و مجلات عموما معتبر ترین مقالات را در آن زمینه خاص ارائه می دهند. در رشته کامپیوتر معتبر ترین مجلات و کنفرانس ها توسط دو موسسه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ACM&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IEEE&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ارائه می شود. متاسفانه برای دسترسی به این سایت ها باید هزینه پرداخت کنید یا &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;username/password&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; داشته باشی، ولی چون ما ایرانی ها خیلی اهل پرداخت هزینه نیستیم معمولا سعی می کنیم یکی از این &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;username/password&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; های سرگردان پیدا کرده و از آن استفاده کنیم. البته بعضی از دانشگاه های کشور دسترسی به برخی سایت ها را در داخل دانشگاه امکان پذیر ساخته اند. مثلا داخل دانشگاه تربیت مدرس می توانید از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;sciencedirect&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده کنید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Google scholar&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: بخش &lt;/span&gt;&lt;a href="http://scholar.google.com/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;scholar&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; گوگل برای پیدا کردن مقالات معتبر خیلی بهتر از خود گوگل عمل می کنید. اگر موضوعی که دنبال آن می گردید بیشتر از اینکه کاربردی باشد علمی هست، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;google scholar&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می تواند نتایج بهتری در بر داشته باشد. مشکل اصلی بخش &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;scholar&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; گوگل این است که خیلی اوقات مجلاتی را ایندکس می کند که دسترسی به آن ها عمومی نیست(مثل همان &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IEEE&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ACM&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; که گفتم). برای حل این مشکل گوگل در کنار هر مقاله ای که پیدا کرده یک لینک با برچسب &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Web Search&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; قرار داده، وقتی بر روی این لینک کلیک کنید گوگل توی وب دنبال همان مقاله می گردد. این ویژگی از این جهت مهم هست که احتمال دارد که همان مقاله ای یک جای دیگر توی وب هم قرار داشته باشد و شما از این طریق می توانید به آن مقاله دسترسی پیدا کنید، ولی استفاده از این روش همیشه جواب نمی دهد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Google Video&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: گاهی اوقات توی &lt;a href="http://video.google.com/"&gt;&lt;span style="text-decoration: none;"&gt;گوگل ویدیو&lt;/span&gt;&lt;/a&gt; فیلم های بسیار جالبی در مورد کنفرانس ها و کلاس های درس دانشگاه ها پیدا می شود. توصیه می کنم اگر به اینترنت پر سرعت دسترسی دارید حتما یک سری به گوگل ویدیو بزنید. دیدن یک فیلم می تواند شما را با جو کلاس ها و کنفرانس های خارجی آشنا کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;سایت های کلاس های درس: خیلی از دانشگاه ها و اساتید منابع مناسبی را بر روی سایت های خود معرفی می کنند، بررسی سایت دروس از دو جهت مفید است، اول اینکه فردی با تجربه منابعی را به شما معرفی می کند، دوم اینکه این منابع برای آموزش جمع آوری شده و احتمالا درک آن برای شخصی که آشنایی مناسبی با موضوع ندارد مناسب هست. برای پیدا کردن منابع درسی به چند صورت می توانید عمل کنید، یکی اینکه توی گوگل دنبال عبارت مورد نظرتان به همراه یک کلمه کلیدی دیگر که نشان دهنده دوره آموزشی باشد بگردید، مثل &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;"&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;a href="http://www.google.com/search?q=computer+science+course"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Computer Science Course&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;"&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، دوم اینکه توی همان گوگل دنبال عبارت مورد نظرتان توی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;domain&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; های &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.edu&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بگردید، مثل &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;"&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;a href="http://www.google.com/search?q=computer+science+site%3A.edu"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;computer science site:.edu&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;"&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;. دانشگاه ام آی تی هم منابع برخی از کلاس های خودش را روی &lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://ocw.mit.edu/index.html"&gt;&lt;span dir="ltr"&gt;OpenCourseWare&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; قرار داده که ممکن است چیزهای بدرد بخوری میان آن ها پیدا شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-3940669814912223855?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/3940669814912223855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=3940669814912223855' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3940669814912223855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/3940669814912223855'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/04/blog-post_22.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-75507017776788114</id><published>2007-04-20T04:09:00.001+03:30</published><updated>2007-04-20T04:11:26.513+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='smart cards'/><category scheme='http://www.blogger.com/atom/ns#' term='ATM'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center; line-height: 150%;" align="center"&gt;&lt;span style="font-size: 19pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دزدی از عابر بانک ها&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دو شب پیش شبکه تهران برنامه ای در مورد دزدی از عابر بانک ها نشان می داد. پلیس جوانی را گرفته بود که اعتراف کرده بود چهل میلیون تومان از عابر بانک ها دزدی کرده (البته قاضی می گفت مقدار دزدی نزدیک دویست میلیون تومان بوده). خیلی برایم جالب بود چطور جوانی که تنها تا کلاس اول دبیرستان درس خوانده، توانسته بود به سیستم عابر بانک نفوذ کند. ولی وقتی آقا دزده روش کارش را توضیح داد دیدم که بیشتر مشکل از سیستم عابر بانک ها است تا نبوغ جوانان ما !&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;عموما توی سیستم های کامپیوتری، روش های احرازهویت (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Authentication&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) بر اساس این سه اصل هست:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" dir="rtl" style="margin-right: 54pt; text-align: justify; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;b&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;"What you have"&lt;/span&gt;&lt;/b&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: مثل همین کارت های عابر بانک، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Security Token&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یا هر وسیله دیگری که بتواند هویت کاربر را اثبات کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" dir="rtl" style="margin-right: 54pt; text-align: justify; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;b&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;"What you know"&lt;/span&gt;&lt;/b&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;متداول ترین مثال در این دسته همان رمز عبوری است که روزی صد بار از ما پرسیده می شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" dir="rtl" style="margin-right: 54pt; text-align: justify; text-indent: -18pt; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span style=""&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;b&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;"What you are"&lt;/span&gt;&lt;/b&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;: فاکتورهای بایومتریک مثل اثر انگشت یا اثر قرنیه در این دسته قرار می گیرند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;البته روش های دیگری مثل احراز هویت بر اساس مکان (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Where you are&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) هم وجود دارد که خیلی عمومی نیستند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;معمولا در جاهایی که حساسیت زیادی در مورد احراز هویت وجود دارد، سعی می شود از روشی به نام احراز هویت دو یا سه فاکتوری (&lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Two/Three Factor Authentication&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) استفاده شود. در این روش برای بالا رفتن امنیت دو یا سه روش از روش هایی که قبلا گفتم با یکدیگر ترکیب می شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;حالا برویم سراغ سیستم عابر بانک های کشور عزیزمان، در عابر بانک های ایران(مثل خیلی از جاهای دیگر دنیا) از احراز هویت دو فاکتوری استفاده می شود که فاکتور اول آن کارت عابر بانک و عنصر دوم آن پسورد است، ولی مشکل آنجا است که هر دوی این فاکتورها، فاکتورهای ضعیفی هستند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در کارت عابر بانک ها از تکنولوژی نوار مغناطیسی استفاده شده. با داشتن شماره حساب و یک &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Writer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کارت به آسانی می توانید یک کارت، مثل کارت صاحب حساب درست کنید. به گفته آقا دزده قیمت &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Writer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; توی بازار حدود ششصد هزار تومان است. شماره حساب هم که جزء اطلاعات مخفی محسوب نمی شود و با کمی زحمت می توانید شماره حساب هر کسی را بدست آورید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;پسورد عابر بانک ها هم که فقط یک عدد چهار رقمی هست که دیدن آن موقع وارد کردن پسورد خیلی سخت نیست*. ولی حتی اگر آن را ندانیم معمولا حدس زدن آن خیلی سخت نیست(پسورد 70% مردم 1234 هست ، 60% بقیه هم پسوردشان با 13 شروع می شود!)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;خیلی جالب است که بدانید در بعضی از کشورهای دنیا بیش از 20 سال است که از &lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Smart_card"&gt;&lt;span dir="ltr"&gt;Smart Card&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها بجای کارت های مغناطیسی استفاده می شود. &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Smart Card&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها معمولا از یک الگوریتم کلید نامتقارن برای احراز هویت استفاده می کنند و ساختار آنها به صورتی است که کپی کردن آن یا سرقت کلید از داخل آن تقریبا نا ممکن است.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color windowtext; border-width: medium medium 1pt; padding: 0cm 0cm 1pt;"&gt;  &lt;p class="MsoNormal" dir="rtl" style="border: medium none ; padding: 0cm; text-align: justify; line-height: 150%;"&gt;&lt;span style="font-size: 12pt; line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نمی دانم چرا بانک های ایران همگی از این سیستم خنده دار استفاده می کنند، شاید هنوز ضرری که از راه سرقت به بانک ها وارد می شود آنقدر زیاد نشده که ارتقای سیستم را توجیه پذیر کند. البته توجه دارید که دزدی از بانک ها خیلی ضرری هم برای بانک ها ندارد و بیشتر مشتری ها تاوان آن را می دهند. اگر یک روز ببینید حساب شما خالی شده و به بانک مراجعه کنید محترمانه ترین رفتاری که ممکن است با شما بشود این است که بگویند شما اشتباه می کنید، حتما حواستان نبوده و از حسابتان برداشت کرده اید و شما هم هیچ مدرکی برای اثبات ادعای دزدی ندارید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;* &lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;حتما یک بار وقتی توی صف عابر بانک ایستاده اید سعی کنید پسورد نفری را که می خواهد پول بگیرد ببینید، کار خیلی سختی نیست ولی مواظب باشید به شما مشکوک نشوند وگرنه یک کتک حسابی می خورید. یک روش هم برای جلوگیری از لو رفتن پسوردتان بگویم، هر دو تا دستتان را روی صفحه کلید عابر بانک قرار بدهید و هر بار که یک انگشتتان را روی یک کلید فشار می دهید سعی کنید دو سه تا دیگر از انگشت هایتان را هم بالا و پایین ببرید، سعی کنید کلیدها را با انگشت های مختلف فشار دهید. این روش دیدن پسورد را خیلی مشکل می کند.&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-75507017776788114?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/75507017776788114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=75507017776788114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/75507017776788114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/75507017776788114'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/04/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-4823889858040910188</id><published>2007-04-16T00:38:00.000+03:30</published><updated>2007-04-28T15:32:15.029+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cellular Automata'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center;" align="center"&gt;&lt;span dir="ltr" style="font-size: 16pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Cellular Automata&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;چند وقت پیش یکی از دوستان کتابی به من نشان داد که برایم خیلی جالب بود، موضوع کتاب در مورد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Cellular Automata&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;بود و در توصیف آن روی جلد این جمله نوشته شده بود &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/A_New_Kind_of_Science"&gt;&lt;span lang="FA"&gt;"&lt;/span&gt;&lt;span dir="ltr"&gt;A New Kind of Science&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;"&lt;/span&gt;&lt;/a&gt;&lt;span lang="FA"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Cellular Automata&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;یا &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CA&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;یک مدل محاسباتی است که جدیدا توجه زیادی به آن شده. با استفاده از &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CA&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می توان بسیاری از مسائل ریاضی، فیزیک، بیولوژی و ... را آسانتر و موثرتر از هر روش دیگری مدل کرد. حتی ادعا می شود که جهانی که ما در آن زندگی می کنیم خود یک &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Cellular Automaton&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بزرگ است و ادعا می شود که اگر ما بتوانیم یک &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CA&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; به اندازه کافی بزرگ درست کنیم می توانیم حیات را در آن تحقق دهیم!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;امروز به طور اتفاقی توی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Google Video&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; به فیلم سمینار آقایی با نام &lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Stephen_Wolfram"&gt;&lt;span dir="ltr"&gt;Stephen Wolfram&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برخوردم. آقای &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Wolfram&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; توسعه دهنده نرم افزار &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Mathematica&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و نویسنده کتاب &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A New Kind of Science&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; است. اگر کمی وقت دارید توصیه می کنم اول صفحه مربوط به &lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Cellular_Automata"&gt;&lt;span dir="ltr"&gt;CA&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; توی ویکیپدیا&lt;/span&gt;&lt;/a&gt;&lt;span lang="FA"&gt; را بخوانید و بعد فیلم سمینار را از &lt;a href="http://video.google.com/videoplay?docid=-5011797335427959751"&gt;اینجا&lt;/a&gt; تماشا کنید. مدت فیلم یک ساعت و نیم هست.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-4823889858040910188?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/4823889858040910188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=4823889858040910188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4823889858040910188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4823889858040910188'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/04/cellular-automata-cellular-automata-new.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-4198306570186948615</id><published>2007-03-30T00:10:00.000+03:30</published><updated>2007-04-28T15:33:52.310+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Vim&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;شاید شما بر روی کامپیوتر خود یکی از این ویرایشگرهایی که با آن همه جور فایل متنی را می توانید &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;edit&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کنید دارید. &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Notepad++&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JEdit&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ultra Edit&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Crimson Editor&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و ... شاید بتوان صد تای دیگر از این جور ویرایشگرها نام برد. این را هم بگویم که نمی دانم اگر چنین چیزی بر روی کامپیوترتان ندارید چطور زندگی می کنید!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;از بین همه ویرایشگر های موجود، من شخصا علاقه خاصی به &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; دارم. &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یکی از قدرتمند ترین و متداول ترین ویرایشگرهای موجود است، اگر با &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Linux&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کار کرده باشید حتما با آن مواجه شده اید. &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ویژگی های بسیار خوب و جالبی دارد، اول اینکه می توان با آن نزدیک 500 نوع فایل متنی را ویرایش کرد که تقریبا شامل همه زبان های برنامه نویسی و بقیه فایل های متنی می شود. دوم اینکه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تقریبا تحت هر پلتفرمی که فکرش را بکنید کار می کند، از ویندوز و لینوکس و مک گرفته تا داس و آمیگا! این برای کسانی که با پلت فرم های مختلف کار می کنند ویژگی مثبتی است. سوم اینکه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خیلی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;light weight&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هست و خیلی سریع &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;load&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می شود. چهارم اینکه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; اپن سورس است(ویژگی که حداقل برای من خیلی مهم است).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;آخرین نسخه این ویرایشگر را می توانید &lt;a href="http://www.vim.org/download.php"&gt;از اینجا&lt;/a&gt; دانلود کنید. اگر با ویندوز کار می کنید توصیه می کنم &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;installer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; آن را دانلود کنید(&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;self-installing executable&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) ولی اگر با لینوکس کار می کنید به احتمال زیاد این ویرایشگر قبلا بر روی سیستم عامل شما نصب شده.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در حالت پیش فرض &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یک ویرایشگر حرفه ای است و برای شروع به کار نیاز به کمی آموزش دارد ولی خوشبختانه آنقدر انعطاف پذیر هست که بتوان آن را همان طور که دوست داریم پیکر بندی کنیم. برای این کار اگر در محیط ویندوز هستید به پوشه نصب &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بروید(معمولا &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;program files\vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) و فایل &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;_vimrc&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را باز کنید(در لینوکس معمولا این فایل با نام &lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.vimrc&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و در پوشه کاربر قرار دارد). سپس خطوط زیر را به انتهای این فایل اضافه کنید:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;color blue&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set nobackup&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set guifont=Courier_New:h12&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set encoding=utf-8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set insertmode&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set spell&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set nowrap&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set guioptions+=r&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set guioptions+=b&lt;span dir="rtl" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;خط &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;color blue&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; رنگ های پیش زمینه و پس زمینه را به گونه ای که در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;colorschema&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ای با نام &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;blue&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تعریف شده تغییر می دهد. به جای &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;blue&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می توانید اسم هر کدام از فایل هایی را که در پوشه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;colors&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; واقع در پوشه نصب &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; موجود است استفاده کنید. توصیه می کنم &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;colorschema&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را تغییر دهید تا یکی را که به نظرتان مناسب است پیدا کنید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;وقتی فایلی را تغییر می دهید، بصورت پیش فرض &lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یک نسخه از فایل قدیمی را به عنوان &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;backup&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نگه می دارد. این نسخه بطور پیش فرض در کنار همان فایل جدید نگه داشته می شود. این کار باعث شلوغ شدن دیسک می شود. خط &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set nobackup&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; باعث می شود که دیگر &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;backup&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نگه داشته نشود. اگر به جای این خط از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set backupdir=c:\\backups&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده کنید &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vip&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تمام &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;backup&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها را در پوشه ای که مشخص کرده اید ذخیره می کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;همان طور که مشخص است &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set guifont=Courier_New:h12&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; فونت و اندازه متن را در ویرایشگر مشخص می کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;خط &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set insertmode&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; باعث می شود &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در مد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;insert&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شروع شود. &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; از مدهای مختلفی پشتیبانی می کند که برای مقاصد مختلفی استفاده می شود ولی مد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;insert&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خیلی شبیه حالت عادی ویرایشگرهای دیگر است.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;خط &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set spell&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;spell checking&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; فعال می کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;خطوط &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set guioptions+=r&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;set guioptions+=b&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; باعث می شود &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در سمت راست و پایین&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;scrollbar&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هایی را نشان دهد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اگر در محیط ویندوز از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;installer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده کرده باشد، یک گزینه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Edit with Vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; به منوی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Windows Explorer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; اضافه شده است. با استفاده از این گزینه بر روی هر فایلی که کلیک راست کنید می توانید آنرا توسط &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;vim&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; باز کنید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-4198306570186948615?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/4198306570186948615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=4198306570186948615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4198306570186948615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/4198306570186948615'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/03/vim-edit.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-7522929109358414192</id><published>2007-03-05T12:18:00.000+03:30</published><updated>2007-04-28T15:31:26.958+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Privacy'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 14pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;حریم خصوصی&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;هیچ وقت به این مسئله توجه کرده اید که یک سایت اینترنتی چه اطلاعاتی از کاربران خود می تواند در اختیار داشته باشد؟ یا بهتر بگویم، هیچ وقت فکر کرده اید که چه اطلاعاتی از زندگی شخصی خود را در اختیار سایت های اینترنتی قرار می دهیم؟ در نگاه اول شاید به نظرتان بیاید که این اطلاعات در حد اسم و فامیل شما (یا برای بسیاری از افراد کمتر از این باشد) ولی اگر کمی با دقت بیشتری نگاه کنید پی می برید که اطلاعاتی را که در اختیار این سایت ها قرار می دهیم بسیار بیشتر از اسم و فامیل است. برای روشن تر شدن مسئله سایت یاهو یا گوگل را که استفاده از آنها در ایران خیلی متداول است در نظر بگیرید. تقریبا همه کاربران این سایت ها سعی می کنند حداقل دو نام کاربری متفاوت در این سایت ها داشته باشند. یکی نام کاربری که با نام و نام خانوادگی واقعی آن ها درست شده و معمولا اطلاعات درستی را برای گرفتن آن وارد کرده اند و یکی دیگر نام کاربری که با اطلاعات نادرست و صرفا برای جاهایی که دوست دارند شناخته نشوند و یا جاهایی که برای دانلود یک نرم افزار صرفا یک آدرس ایمیل لازم دارند استفاده می کنند. بسیاری از افراد هم که اصلا دوست ندارند شناخته شوند گاهی حتی برای نام کاربری اول خود نیز اطلاعات درستی وارد نمی کنند(پروفایل چند نفر از دوستان خود را ببینید، تقریبا هیچکس اطلاعات شخصی خود را بطور کامل و درست وارد نکرده) البته این یک امر طبیعی است و آدم ها معمولا خوششان نمی آید کسی از زندگی شخصی آن ها سر در بیاورد ولی نکته مهمی که می خواهم در موردش صحبت کنم این است که اصلا احساس نکنید اطلاعات سایت سرویس دهنده از شما به اطلاعاتی که شما در پروفایل خود وارد کرده اید محدود می شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;سایتی مثل یاهو یا گوکل اجزای مختلفی از جمله موتور جستجو، ایمیل، گراف های دوستی(یاهو 360 و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;orkut&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) ، صفحه های شخصی، مسنجر و ... دارند. هر کدام از این اجزا برای پی بردن به اطلاعات زیادی از زندگی شخصی یک نفر کافی است. برای اینکه موضوع روشن شود، سعی می کنم روشهایی را که این سایت ها برای به دست آوردن اطلاعات شخصی افراد می توانند مورد استفاده قرار دهند را نام ببرم:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نام و نام خانوادگی شما چیست ؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span style=""&gt; &lt;/span&gt;هیچ وقت دقت کرده اید که در یاهو مسنجر وقتی می خواهید یک نفر را به لیست دوستان خود اضافه کنید از شما اسم و فامیل آن شخص را می پرسد؟ ممکن است ما در دادن اطلاعات شخصی خودمان به دیگران حساس باشیم ولی معمولا اسم و فامیل دوستانمان آنچنان اهمیت ندارد و به راحتی آنرا وارد می کنیم. حتی یاهو مسنجر اطلاعات شخصی دیگر مثل آدرس و شماره تلفن او را هم از ما می پرسد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کجا زندگی می کنید، کجا کار می کنید؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اینکه از کجا به سرور لاگین کرده اید به راحتی از روی آدرس &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شما قابل تشخیص است. اگر باور نمی کنید می توانید صفحه شخصی یا وبلاگ خود را به لیست &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Google Analytic&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; اضافه کنید تا ببینید &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Google Analytic&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; چه اطلاعات دقیقی را در مورد محل بازدید کنندگان از سایت شما در اختیارتان قرار میدهد. گرچه این اطلاعات ممکن است صد در صد درست نباشد اما تا حدود زیادی می توان به آنها اطمینان کرد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دنبال چه چیزهایی می گردید؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;شما هر روز خودتان از موتورهای جستجو می خواهید که برای شما دنبال چه چیزی بگردند، پس مسلما آنها به خوبی می دانند که شما به دنبال چه چیزی می گردید. وقتی به گوگل لاگین کرده باشید، همه تاریخچه جستجوی شما ذخیره می شود. حتی اگر به سرور لاگین نکرده باشید راه هایی وجود دارد که سرور بتواند تشخیص دهد شما چه کسی هستید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دوستان شما چه کسانی هستند؟ &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;گراف های دوستی که اتفاقا این روز ها خیلی مد شده یکی از راه های بسیار موثر است برای اینکه ببینیم دوستان یک نفر چه کسانی هستند و با چه کسانی رابطه دارد. از این گراف ها اطلاعات مفید دیگری هم می شود به دست آورد. مثلا وقتی بیست نفر از دوستان یک شخص در دانشگاه تهران درس می خوانند، احتمالا آن فرد هم همان جا درس می خواند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;به چه چیزهایی علاقه دارید؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;قسمت عمده ای از چیزهایی که به آنها علاقه داریم را ما خودمان بصورت عمومی بر روی وبلاگ ها و سایت های شخصی مان منتشر می کنیم. قسمتی هم از روی تاریخچه جستجوی در یک موتور جستجو می تواند به دست آید. گروه هایی که بر روی وب قرار دارند هم تا حدود زیادی می توانند علاقه مندی های ما را بازگو کنند. مثلا وقتی یک&lt;span style=""&gt;  &lt;/span&gt;نفر در گروه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;j2ee&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; گوگل عضو باشد به احتمال بسیار بالا به &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;j2ee&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; علاقه خاصی داشته. حتی صفحاتی که از آنها بازدید می کنیم و خبر هایی که می خوانیم منعکس کننده علایق ما هستند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;دیگه چه خبر از زندگی؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;جدای از همه مطالبی که گفتم، مسلما تمام ایمیل های شما بر روی میل سروری که از آن استفاده می کنید ذخیره می شود. در بسیاری از موارد اطلاعات بسیار زیاد و گاهی بسیار مهم را بوسیله ایمیل ها جابجا می کنیم. وقتی یک نفر، به یک نفر دیگر ایمیل می زند احتمالا ارتباطی بین این دو نفر وجود دارد! هیچ وقت به این موضوع توجه می کنید که ایمیلی که برای شما آمده برای چه کسان دیگری هم فرستاده شده(فیلد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CC&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;)؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;رمز عبورتان چیست ؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بسیاری از ما نسبت به مخفی ماندن پسوردمان حساسیت نشان می دهیم، ولی نکته جالب اینجا است که وقتی یک صفحه وب به ما نشان داده شود به آسانی و بدون اینکه بدانیم آن طرف خط چه کسی قرار دارد پسوردمان را وارد می کنیم. نکته جالب دیگر این است که معمولا ما برای جاهای مختلف از یک پسورد مشترک استفاده می کنیم و نکته جالب تر این است که موقع لاگین کردن اگر سرور به ما بگوید که پسوردتان اشتباه بوده به راحتی بقیه پسوردهایمان را امتحان می کنیم تا یکی از آنها درست در آید.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در ماه اخیر تعداد سایت هایی که پسورد ایمیل یاهو ،گوگل یا &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Hotmail&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را به بهانه دسترسی به &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Contact List&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شما می گیرند بسیار زیاد شده. جالب اینکه در بعضی از این سایت ها (مثل &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;tagged.com&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) اگر پسورد ایمیل خود را درست وارد نکنید اجازه ثبت نام به شما را نمی دهد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کلام آخر:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;مطالبی را که در اینجا آوردم، تنها برخی از مواردی است که سایت های اینترنتی به وضوح و به سادگی می توانند از زندگی شخصی ما به دست آورند. مسلما استفاده از روش های پیشرفته داده کاوی سایت ها را قادر می سازد اطلاعات بسیار بیشتر و دقیق تری از زندگی یک فرد به دست آورند. مثلا مسئله استفاده از دو آدرس ایمیل مختلف را که در ابتدای این بحث مطرح کردم در نظر بگیرید. فکر می کنید نمی توان به این مسئله پی برد که آیا دو آدرس مختلف به یک شخص تعلق دارد یا نه؟&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;با اینکه حفظ حریم خصوصی افراد از مهمترین مشکلاتی است که در دنیای &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IT&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; مطرح شده ولی هنوز، تقریبا هیچ یک از مشکلات موجود به درستی حل نشده است. در بیشتر موارد تنها از راهکارهای قانونی برای جلوگیری از انتشار اطلاعات شخصی افراد استفاده می شود که معمولا نمی تواند خیلی موثر باشد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-7522929109358414192?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/7522929109358414192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=7522929109358414192' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7522929109358414192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/7522929109358414192'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/03/blog-post.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-116955154070131807</id><published>2007-01-23T14:54:00.000+03:30</published><updated>2007-04-28T15:29:40.097+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center;" align="center"&gt;&lt;span dir="ltr" style="font-size: 17pt; line-height: 115%;"&gt;Ruby 4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;a href="http://zoftware.blogspot.com/2006/12/ruby1-ruby.html"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;قسمت اول&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;a href="http://zoftware.blogspot.com/2006/12/ruby-2-ruby.html"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;قسمت دوم&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;a href="http://zoftware.blogspot.com/2006/12/ruby-3-ruby.html"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;قسمت سوم&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Meta Programming&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;یکی از روش هایی که در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; زیاد استفاده می شود &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; است. &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را بطور ساده می توان نوشتن کدی که کد دیگری را تولید می کند بیان کرد. &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در زبان های دیگر مانند جاوا و زبان های پلت فرم دات نت هم وجود دارد. در دات نت یک روش متداول برای این کار استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Attribute&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها است. یک مثال متداول استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Attribute&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; های &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;WebMethod&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;WebService&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای ساختن سرویس های وب هست. در جاوا تا قبل از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JDK 1.5&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; روش متداول استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;XML&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای این کار بود (برای مثال &lt;/span&gt;&lt;a href="http://ws.apache.org/axis/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Axis&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای تولید &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Stub&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; های وب سرویس ها از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;XML&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده می کرد) ولی بعد از معرفی &lt;/span&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Annotation&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها(مکانیزمی شبیه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Attribute&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها در دات نت) در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JDK 1.5&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;روش جایگزینی برای استفاده از &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;XML&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; مطرح شد. در هر حال ایده کلی برای &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در زبان های کامپایلری این است برنامه نویس اطلاعات اضافی را وارد کند(با استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;XML&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Annotation&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Attributes&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یا هر روش دیگری). سپس یک ابزار(مانند &lt;/span&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/apt/GettingStarted.html"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;APT&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در جاوا)&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;با بررسی این اطلاعات اضافی کدی را تولید کند که بتوان آنرا با استفاده از کامپایلر کامپایل کرد. روش های دیگری که برای &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در جاوا استفاده می شود تغیر در بایت کد کلاس ها هنگام &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;load&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کردن کلاس ها، استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;dynamic proxy&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها و تولید کلاس ها در زمان اجرا است که عمدتا روش های پیچیده ای هستند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بسیار ساده تر و متداول تر است. برای مثال مسئله دسترسی به فیلدهای یک شیئ را در نظر بگیرید. در جاوا راه حل متداول نوشتن متد های &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;getter&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;setter&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;C#&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Property&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها است. بطور معمول این مکانیزم ها یک کار را تکرار می کنند(&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;getter&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها مقدار فیلد را بر می گردانند و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;setter&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها مقدار فیلد را تغییر می دهند). &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای این کار راه حل جالبی دارد، در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; با استفاده از متدهای &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;attr_reader&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;attr_writer&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می توان &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;getter&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;setter&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و با استفاده از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;attr_accessor&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می توان هر دوی آنها را درست کرد. جالب این که این متد ها، متد های خاصی نیستند و تنها کاری که می کنند این است که رشته ای را درست کرده و برای اجرا به مفسر &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می دهند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="left"&gt;  &lt;table class="MsoTableGrid" dir="rtl" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616"&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; FieldTest&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;attr_reader &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:r&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;attr_writer &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:w&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;attr_accessor &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:rw&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;def&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; to_s&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 72pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"@r, @w, @rw"&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;ft&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; = &lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;FieldTest&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;.&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;ft.w = 111&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;ft.rw = "hello"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts ft.r&lt;/span&gt;&lt;span dir="rtl" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;یک راه حل ساده برای &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استفاده از توابع &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;eval&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; است. این توابع معمولا یک رشته را به عنوان ورودی می گیرند و آن را اجرا می کند. فرض کنید می خواهیم کلاسی داشته باشیم که متد هایی با نام اعداد 1 تا 5 دارند و مقدار این اعداد را بر می گردانند، یک راه حل این است که 5 متد مختلف بنویسیم که مقادیر مورد نظر را بر می گردانند ولی یک راه حل بهتر در ادامه آورده شده:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="left"&gt;  &lt;table class="MsoTableGrid" dir="rtl" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616"&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Numbers&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;nums = {&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;'one'&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;'two'&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;'three'&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;'four'&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;'five'&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;5&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;}&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;nums.&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;each&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;do&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; |k, v| &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 72pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;module_eval &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"def #{k} \n #{v} \nend"&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# Test class Numbers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;n = Numbers.&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts n.one &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# prints 1&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts n.two &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# prints 2&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts n.three &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# prints 3&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts n.four &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# prints 4&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: 150%; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts n.five &lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 150%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# prints 5&lt;/span&gt;&lt;span dir="rtl" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;متد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;module_eval&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; رشته داده شده را به مفسر &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می فرستد تا آنرا اجرا کند. یک ویژگی بسیار مطلوب &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;meta programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; این است که حجم کد نوشته شده را بسیار کاهش می دهد(تصور کنید کلاس &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Numbers&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; که در اینجا تنها در 4 خط نوشته شده در حالت عادی چه حجم زیادی می داشت) ولی ویژگی های مهم تری هم دارد که در ادامه به آن پرداخته ام.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Aspect Oriented Programming&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AOP&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یکی از روش های برنامه نویسی است که این روز ها خیلی در مورد آن صحبت می شود. &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AOP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; قابلیت های بسیاری به زبان های شیئ گرا اضافه می کند. بسیاری &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AOP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را بعد از روش های ساخت یافته و شیئ گرا، بزرگترین تحول در دنیای برنامه نویسی دانسته اند. نکته جالب توجه این است که وقتی با &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کار می کنید، نیاز چندانی به &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AOP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; پیدا نمی کنید. عمده کارهایی که در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AOP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; با آن مواجه هستید، اضافه کردن یک متد به یک کلاس، جایگزین کردن یک متد با یک متد جدید و اجرای یک کد قبل یا بعد از یک متد است. در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; به راحتی می توانید تمام این کارها را انجام دهید. مثلا فرض کنید بخواهید قبل از اینکه متد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;sort&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; از کلاس &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Array&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; فراخوانی شود، رشته ای را چاپ کنیم تا از فرا خوانی این متد باخبر شویم. کافی است کلاس &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Array&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را باز کنیم، متد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;sort&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را به &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;old_sort&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تغییر نام دهیم و متد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;sort&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; جدیدی را تعریف کنیم، در متد جدید کافی است رشته مورد نظر را چاپ کنیم و بعد متد قدیمی را فراخوانی کنیم:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="left"&gt;  &lt;table class="MsoTableGrid" dir="rtl" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616"&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Array&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;alias_method &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:old_sort&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:sort&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;def&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; sort&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 72pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;'Array.sort called !'&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 72pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;old_sort&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;#Test new sort&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;a = [&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;3&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;2&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;, &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;]&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;puts a.sort&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# Output&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# Array.sort called !&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# 1 2 3 4 4&lt;/span&gt;&lt;span dir="rtl" style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;البته یکی از ویژگی های زبانهایی که از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AOP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; پشتیبانی می کنند(مانند &lt;/span&gt;&lt;a href="http://www.eclipse.org/aspectj/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AspectJ&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) پشتیبانی از &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;wildcard&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها است که چنین چیزی بطور استاندارد در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; پشتیبانی نمی شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Database&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;یکی از مسائل مهمی که هر زبان برنامه نویسی باید برای حل آن فکری بکند کار کردن با پایگاه داده در آن زبان است. زبان های مختلف راهکار های متعددی برای&lt;span style=""&gt;  &lt;/span&gt;این مسئله ارائه داده اند، در جاوا استاندارد ساده &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;JDBC&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شاید اولین تلاش در این زمینه بود. بعد از آن ارائه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;EJB&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها (با همه سر و صدایش) و سپس راه حل های مختلف بر پایه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Object Relational Mapping&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; مثل &lt;/span&gt;&lt;a href="http://www.hibernate.org/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Hibernate&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;a href="http://ibatis.apache.org/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;iBatis&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;a href="http://db.apache.org/ojb/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Apache OJB&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نشان از تلاش های گسترده در این زمینه دارد. در دنیای دات نت هم کپی های این &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ORM&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ها مثل &lt;/span&gt;&lt;a href="http://www.hibernate.org/343.html"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;NHibernate&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;a href="http://ibatis.apache.org/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;iBatis.NET&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، تکنولوژی هایی مثل &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ADO.NET&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و در نهایت ابتکار جدید ماکروسافت به نام &lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;LINQ&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; وجود دارد. نکته مشترکی که در تمام این راه حل ها وجود دارد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;static&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; بودن زبانی است که راه کار به وسیله آن پیاده سازی شده.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اما در پایگاه داده هم &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; راه حل ساده خود را دارد. راه حل &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای این کار &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Active_record"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ActiveRecord&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نام دارد. فرض کنید که در پایگاه داده خود جدولی به نام &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Students&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; دارید که دو فیلد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;name&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;id&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; دارد. قطعه کد زیر یک رکورد به جدول &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Students&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; اضافه می کند:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="left"&gt;  &lt;table class="MsoTableGrid" dir="rtl" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616"&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;ActiveRecord::Base.establish_connection(&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:adapter&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"mysql"&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 144pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:host&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"127.0.0.1"&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 144pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:username&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"root"&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 144pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:password&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;""&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;,&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 144pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(255, 64, 64);"&gt;:database&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; =&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;"Uni"&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; Student &lt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 72pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;ActiveRecord::Base&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(63, 127, 95);"&gt;# Fields are fetched from database automatically&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;stu = Student.&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;stu.name = &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(42, 0, 255);"&gt;'mohsen'&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;stu.id = &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;12345&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;stu.sav&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;e&lt;span dir="rtl" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;/div&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;هنگامی که کلاسی از &lt;/span&gt;&lt;a href="http://www.rubyonrails.org/api/classes/ActiveRecord/Base.html"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ActiveRecord::Base&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ارث می برد، این کلاس بطور اتوماتیک فیلدهای پایگاه داده را به کلاس مورد نظر اضافه می کند، نکته جالب این است که &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ActiveRecord&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; برای پیدا کردن فیلدها به دنبال جدولی هم نام با کلاس(ولی بصورت جمع) می گردد. این راه حل در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;زیاد استفاده می شود و باعث ساده شدن کار می شود. البته اگر جداول ما نام دیگری هم داشته باشند می توان &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ActiveRecord&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را برای استفاده از آن بکار برد ولی در این حالت باید اسم جدول برای آن مشخص شود. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;همچنین &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ActiveRecord&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; قادر است روابط یک به چند و چند به چند بین جداول را به کلاس های برنامه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;map&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کند، ولی در اینجا قصد پرداختن به جزئیات این مسئله را ندارم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نکته ای که باید به آن توجه کرد این است که داینامیک بودن &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و امکان اضافه کردن فیلد به کلاس در زمان اجرا باعث شده بتوان چنین قابلیتی را پیاده سازی کرد و در زبانهای کامپایلری امکان پیاده سازی چنین راهکاری وجود ندارد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Web&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;شاید آن چیزی که باعث متداول شدن &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شد پلت فرم وبی بود که بر روی این زبان ایجاد شده بود. این پلت فرم &lt;/span&gt;&lt;a href="http://www.rubyonrails.org/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby on Rails&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نام دارد و تغیرات زیادی را در طرز تفکر توسعه دهندگان در دنیای وب ایجاد کرده. پرداختن به &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby on Rails&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خود بحث مفصلی است که در این کوچک نوشته نمی گنجد!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;معایب &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در پست اول در رابطه با &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; گفتم که قصد دارم بیشتر در رابطه با مزایای این زبان صحبت کنم تا معایبش، ولی قول داده بودم حتما در قسمتی در مورد معایب این زبان هم توضیح دهم. برای همین هم این قسمت را در اینجا آوردم ولی راستش را بخواهید فعلا چیز زیادی در این رابطه در خاطرم نیست، ولی در هر حال چند نکته را می آورم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نکته اول اینکه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; یک زبان اسکریپتی است و مسلما به مراتب کند تر از زبان های کامپایلری است، ولی این نکته را هم بگویم که سرعت اجرا یکی از فاکتورهای یک زبان است و بستگی زیادی به پیاده سازی آن دارد. امروزه با توجه به کاهش قیمت سخت افزار و افزایش سرعت کامپیوترها از اهمیت سرعت اجرا به شدت کاسته شده و فاکتورهای دیگری در زبان های برنامه نویسی اهمیت پیدا کرده اند(البته زبان های اسکریپتی را دست کم نگیرید و فراموش نکنید که &lt;/span&gt;&lt;a href="http://fa.wikipedia.org/"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;ویکیپدیا&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; یکی از بزرگترین سایت های اینترنت بر روی &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;PHP&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کار می کند)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نکته دوم اینکه استفاده از یک زبان اسکریپتی به معنی این است که سورس کد برنامه شما در دسترس همه قرار دارد که در بسیاری از موارد قابل قبول نیست(البته می توان از تکنیک هایی مثل &lt;/span&gt;&lt;a href="http://www.program-transformation.org/Transform/ProgramObfuscation"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Obfuscation&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هم استفاده کرد ولی در هر حال این کار هم مشکلات خاص خود را دارد)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نکته سوم اینکه هنگامی که با یک زبان کامپایلری کار می کنید بسیاری از مشکلات احتمالی در زمان کامپایل چک می شود و در زمان اجرا با مشکلات کمتری روبرو هستید. برای پی بردن به بسیاری از مشکلات در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; باید برنامه خود را اجرا کنید. از این رو برنامه های نوشته شده به زبان &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; وابستگی زیادی به &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Unit_testing"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Unit Testing&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Code_coverage"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Code Coverage&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; دارند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نکته چهارم اینکه &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هنوز به اندازه لازم به تکامل نرسیده. هنوز انجام یک پروژه بزرگ با جاوا ریسک کمتری را تحمیل می کند. هنوز ابزار های توسعه در &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در اوایل کار خود قرار دارند و راه درازی تا رسیدن به آنجایی که امروزه ابزارهای زبان هایی مثل جاوا و دات نت قرار دارند باقی مانده.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کلام آخر:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;راستش را بخواهید خیلی مسائل در مورد &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; ماند که من نتوانستم در مورد آن بنویسم. فعلا نه وقت کافی برای این کار دارم و نه حال و حوصله این کار را. برای همین هم سعی کردم هر طور که شده این پست، آخرین پست من در باره این زبان باشد. حتما این موضوع را از طرز نوشته ام احساس کرده اید. در هر حال توصیه می کنم اگر به این زبان علاقه مند شده اید دست به کار شوید و &lt;/span&gt;&lt;a href="http://rubyforge.org/projects/rubyinstaller/"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;مفسر &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;/a&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و یک &lt;/span&gt;&lt;a href="http://www.radrails.org/"&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IDE&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; مناسب&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; را &lt;/span&gt;&lt;span dir="ltr" style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;download&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کنید و شروع به کد نویسی کنید. در ابتدای کار شاید برایتان عجیب باشد که چقدر راحت می توان به این زبان کد نوشت.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%;"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;مراجع:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: justify; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;[1] Beyond Java, &lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;By Bruce A. Tate, O'Reilly, September 2005, ISBN: 0-596-10094-9&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: justify; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;[2] Ruby Cookbook, By Lucas Carlson, Leonard Richardson, O'Reilly, July 2006, Print ISBN-13: 978-0-59-652369-5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: justify; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;[3] Programming Ruby, The Pragmatic Programmers’ Guide, Second Edition, Dave Thomas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: justify; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-116955154070131807?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/116955154070131807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=116955154070131807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/116955154070131807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/116955154070131807'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/01/ruby-4-meta-programming-ruby-meta.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-116786614539986370</id><published>2007-01-04T02:44:00.000+03:30</published><updated>2007-04-28T15:30:52.915+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center; line-height: 150%; direction: rtl; unicode-bidi: embed;" align="center"&gt;&lt;b&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Open Source(1)&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: center; line-height: 150%; direction: rtl; unicode-bidi: embed;" align="center"&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;استاد مارتین فاولر در آن مقاله &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Is Design Dead?&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; خودشان یک جمله ای دارد که برای من خیلی جالب بود: "&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;In software any term means many things&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;". حتما شما هم خیلی اوقات این قضیه را احساس کرده اید. یک کلمه را که از چهار نفر مختلف سوال کنی، پنج تا برداشت مختلف از آن دارند، و البته شاید هیچ کدام آنها درست نباشد و در عین حال هیچ کدام هم غلط نباشد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اپن سورس هم از همین دست کلمات است، هر کسی بنابه نیازش یک برداشتی از آن می کند. خیلی ها احساس می کنند نرم افزار اپن سورس یعنی یک نرم افزاری که مجانی است.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;از طرفی هر روز بر اهمیت نرم افزارهای اپن سورس افزوده می شود(بعدا در مورد متداول شدن اپن سورس بیشتر می نویسم) و در مملکت ما هم چند سالی هست که به این واژه بیشتر توجه می شود، و البته دلایل متعددی دیگری است که پرداختن به این مسئله را توجیه می کند.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;تصمیم گرفته ام این بحث را در چند قسمت انجام دهم، تاریخچه مختصری از اپن سورس، تعریف اپن سورس، مجوزهای(&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;license&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) اپن سورس و مروری بر نرم افزارهای اپن سورس. البته این بحث برای خود دنیایی دارد که تمام شدنی نیست ولی سعی می کنم از زیاده گویی پرهیز کنم و فقط به مباحثی بپردازم که احتمالا به درد کسی می خورد(و البته هیچ چیزی نیست که به درد هیچ کسی نخورد!).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;تاریخچه اپن سورس:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;با وجود اینکه هیچ وقت از تاریخ خوشم نمی آمد، ولی نمی دانم چرا تاریخچه ها را دوست داشتم. تاریخچه اپن سورس هم تاریخچه جالبی است. البته لفظ اپن سورس عمر زیادی ندارد و اولین بار سال 1998 بود که بکار برده شد. ولی پروژه های اپن سورس سابقه اش به پیش از این سال بر می گردد. بیشتر مطالب این قسمت را از کتاب &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Understanding Open Source Software Development&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; چاپ &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Addison Wesley&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; با مقدار زیادی تغییر(یا بهتر بگویم با مقدار زیادی تحریف!) آورده ام. سعی کرده ام هر جایی که لازم بوده لینک اضافی هم بگذارم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در طول تاریخ چند ده ساله نرم افزار چند اتفاق افتاده که روی وضعیت کنونی دنیای اپن سورس خیلی موثر بوده. سعی کرده ام در اینجا چند تا از این اتفاقات را بطور مختصر بررسی کنم، این تاریخ مختصر را بدون هیچ دلیل خاصی به سه دوره کاملا بی ربط تقسیم کرده ام:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;از توسعه یونیکس تا انتشار &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;BSD&lt;/span&gt;&lt;/b&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;يکي از اتفاقات جالب و موثر در اين زمينه، رأي دولت آمريکا بر ضد غول مخابراتي&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; AT&amp;T &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بود، در سال 1956 دولت آمريکا شرکت&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AT&amp;T&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;را از ورود به زمينه هاي غير مخابراتي منع کرد، اين رأي باعث شد که سيستم عامل يونيکس که در آزمايشگاه&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; bell &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بوسيله دنيس ريچي و کن تامپسون توسعه يافته بود نتواند به فروش برسد، داستان از اين قرار بود که تامپسون علاقه مند به اجراي بازي&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; Space Travel &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span lang="FA"&gt;بر روي کامپيوتر&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; PDP-7 &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بود و براي اين کار يک سيستم عامل کامل نوشت(راست و دروغش باشد پای آن هایی که این داستان را تعریف کرده اند ولی در هر حال این پایه همان سیستم عاملی شد که بعدا اسمش را یونیکس گذاشتند)! چون&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AT&amp;T&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;از فروش محصولات غير مخابراتي منع شده بود، متن يونيکس را در بين دانشگا هها و مؤسسات تحقيقاتي توزيع کرد&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;يکي ديگر از حرکتهاي مؤثر در اين زمينه توزيع&lt;span style=""&gt;  &lt;/span&gt;نرم افزارهاي دانشگاه برکلي بود که در سال 1977 شروع شد، گروه&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; BSD &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;سيستم عامل يونيکس را توسعه داد&lt;span style=""&gt;  &lt;/span&gt;و ويژگيهاي جديدي را به آن اضافه کرد، اين سيستم عامل بعدها در&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; Arpanet &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;مورد استفاده قرار گرفت. گروه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;BSD&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;همچنين پروتکل&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; TCP/IP &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;رابر روي سيستم عامل خود پياده سازي کرد، که بعدها باعث توسعه سريع اينترنت شد&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; .&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نرم افزارهاي مهمي&lt;span style=""&gt;  &lt;/span&gt;که توسط اين گروه توسعه يافت &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;BIND&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;(سرور&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;(DNS &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;و&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Send Mail&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;(&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;mail server&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) بود، این نرم افزارها هنوز هم بطور گسترده ای مورد استفاده قرار می گیرد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;در سال 1984 با اتمام انحصار، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AT&amp;T&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;برعليه&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; BSD &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;شکایت کرد، دعواي اين دو که تا اوايل 1990 نيز ادامه يافت، باعث شد که بسياري از توسعه دهندگان به فکر توسعه سيستم عامل هاي ديگري همانند&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; Linux &lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Free BSD&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;و&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; Open BSD &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بيافتند&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;تأثير مهمي که داستان&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;BSD &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بروي جنبش نرم افزارهاي متن باز&lt;span style=""&gt;  &lt;/span&gt;گذاشت، تغيير در ايدئولوژي ها&lt;span style=""&gt;  &lt;/span&gt;و نحوۀ نگرش جديد رهبران اين جنبش بود&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;از درایور پرینتر تا بزرگترین پروژه تاریخ:&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;یکی دیگر از حوادث مهمی که در تاریخ نرم افزارهای متن باز اتفاق افتاده تاسیس بنیاد نرم افزارهای آزاد (&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.fsf.org/"&gt;&lt;span dir="ltr" style="text-decoration: none;"&gt;FSF=Free Software Foundation&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) توسط &lt;a href="http://en.wikipedia.org/wiki/Richard_Stallman"&gt;&lt;span style="text-decoration: none;"&gt;ریچارد استالمن&lt;/span&gt;&lt;/a&gt; است. داستان به آن زمانی مربوط می شود که استالمن در آزمایشگاه هوش مصنوعی دانشگاه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;MIT&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; کار می کرد و اولین پرینتر لیزر جت شرکت زیراکس را دریافت کرد. گویا درایور این پرینتر مشکل کوچکی داشته که به راحتی قابل حل بوده، به همین خاطر استالمن از شرکت زیراکس می خواهد که سورس برنامه را در اختیار او قرار بدهند تا او بتواند تغییرات مورد نظرش را بر روی آن اعمال کند ولی زیراکس از این کار امتناع می کند. بعد از این اتفاق هست که استالمن به این نتیجه می رسد که نرم افزار باید آزاد باشد و از &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;MIT&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استعفا می کند و در سال 1985 بنیاد نرم افزارهای آزاد را تاسیس می کند(این که یک نفری به خاطر یک اشکال در درایور پرینتر به این نتیجه برسد که نرم افزار باید آزاد باشد و بعد از آن از جایی مثل &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;MIT&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; استعفا بدهد و برود یک موسسه تاسیس کند، در نگاه اول خیلی احمقانه به نظر می رسد ولی بعدا توضیح می دهم که این نگرش و حرکت استالمن چه تاثیری بزرگی بر دنیای نرم افزار داشته است)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;ايدئولوژي &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;FSF&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; براين قرار بود که عبارت&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;copyright – all rights &lt;i&gt;reserved&lt;/i&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;بايد به عبارت &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;copyleft-all rights &lt;i&gt;reversed&lt;/i&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;تغيير يابد. تحت مفهوم &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;copyleft&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هر کسي اجازه استفاده از نرم افزار، کپي کردن و تغيير آن را دارد، و حتي مي تواند دوباره آن را توزيع کند، ولي نمي تواند ديگران را در استفاده از آن محدود کند. همین ایدئولوژی باعث شکل گیری اصطلاح &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Free Software&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;و مجوز &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;GPL&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; شد. این اصطلاح به خاطر ابهامی که در کلمه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Free&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در زبان انگلیسی وجود دارد بعدا مورد انتقادات بسیاری قرار گرفت (بر خلاف تمام مواردی که معمولا دوستان کامپیوتری می گویند که در زبان فارسی معنی فلان کلمه وجود ندارد یا چند کلمه انگلیسی تنها یک معنی فارسی دارد، در این مورد فارسی واقعا شاهکار کرده. در فارسی دو کلمه آزاد(همان معنی که مد نظر استالمن بوده) و رایگان(همان معنی که مد نظر استالمن نبوده) وجود دارد که در انگلیسی به هر دوی آنها &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Free&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; می گویند. همین ابهام بوده که باعث شده برخی این عبارت را به مفت افزار ترجمه کنند(زیاد جدی نگیرید)).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;استالمن پس از تاسیس &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;FSF&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; نرم افزار های زیادی از جمله ویرایشگر &lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.gnu.org/software/emacs/"&gt;&lt;span dir="ltr" style="text-decoration: none;"&gt;emacs&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و مجموعه کامپایلرهای &lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://gcc.gnu.org/"&gt;&lt;span dir="ltr" style="text-decoration: none;"&gt;GCC&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را تولید کرد. ابزارهایی که استالمن و دوستانش تولید کردند بعدها در لینوکس مورد استفاده قرار گرفت و همچنین سیستم عامل لینوکس تحت مجوز &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;GPL&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; (مجوزی که استالمن ارائه داده بود) منتشر شد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;اتفاق مهم دیگری که همه با آن آشنا هستند شروع به کار &lt;a href="http://en.wikipedia.org/wiki/Linus_Torvalds"&gt;&lt;span style="text-decoration: none;"&gt;لینوس تروالدز&lt;/span&gt;&lt;/a&gt; بر روی سیستم عامل لینوکس بود(بر سر تلفظ کلمه &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Linux&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; اختلاف نظرهای زیادی وجود دارد ولی در اینجا من از همان لفظ متداول لینوکس استفاده می کنم).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;تروالدز که یک دانشجوی 21 ساله بود و در دانشگاه هلسینکی درس می خواند در سال 1991 تصمیم گرفت سیستم عامل مینیکس(&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;minix&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) را طوری تغییر دهد که قابلیت اجرا بر روی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IBM PC 386&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; را داشته باشد. سیستم عامل مینیکس همان سیستم عاملی هست که توسط آندرو تننبام تولید شده و اگر کتاب سیستم عامل تننبام را دیده باشید سورس کد این سیستم عامل تقریبا نیمی از صفحات این کتاب را گرفته است.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;نکته جالب این است که تروالدز در اولین اعلام عمومی خود، بیان می کند که برای تفریح این سیستم عامل را نوشته و قرار نیست که یک سیستم عامل حرفه ای تولید کند. ولی در هر حال، دست روزگارش چنان رقم زند که پس از گذشت چند سال به یکی از قدرتمند ترین سیستم عامل های جهان مبدل شد. در حال حاظر برآورد می شود که بیش از چهل هزار نفر در توسعه لینوکس مشارکت داشته باشند، همین مسئله هست که باعث شده تروالدز ادعا کند بزرگترین پروژه تاریخ را به جهانیان عرضه کرده.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;از وب سرور آپاچی تا به امروز:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;يکي ديگر از سالهاي به يادماندني، سال 1995 بود. سالي که در آن گروهي از توسعه دهندگان تصميم به توسعه وب سرور آپاچي گرفتند. وب سرور آپاچي براساس وب سروري که قبلاً توسط راب مک کول توسعه يافته بود با اضافه کردن تعدادي&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; patch &lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;به آن توســعه يافت. به همين دليــــــل است که آنرا &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Apache Server&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;(کــه خوانده مي شود&lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A Patchy Server&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) نام نهادند&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;.&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بنياد نرم افزاري آپاچي(&lt;/span&gt;&lt;span style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.apache.org/"&gt;&lt;span dir="ltr" style="text-decoration: none;"&gt;ASF=Apache Software Foundation&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;) که در آن زمان تشکيل شد، امروز به يکي از بزرگترين گروههاي نرم افزاري تبديل شده است.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;تا سال 1998 هنوز اصطلاح اپن سورس مطرح نشده بود و عمدتا از اصطلاح &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Free Software&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; که توسط استالمن مطرح شده بود استفاده می شد. سال 1998 سالی بود که اصطلاح اپن سورس در جلسه ای که با حظور تعدادی از افراد از جمله &lt;a href="http://en.wikipedia.org/wiki/Eric_Raymond"&gt;&lt;span style="text-decoration: none;"&gt;اریک ریموند&lt;/span&gt;&lt;/a&gt; برگزار شد بوجود آمد. در همان سال و بعد از این جلسه بود که &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Netscape&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; سورس مرورگر معروف خود را با نام &lt;/span&gt;&lt;span dir="ltr" style="font-size: 11pt; line-height: 150%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Mozilla&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و تحت &lt;a href="http://opensource.org/licenses/mozilla1.1.php"&gt;&lt;span style="text-decoration: none;"&gt;یک مجوز اپن سورس&lt;/span&gt;&lt;/a&gt; ارائه کرد (استاد &lt;a href="http://en.wikipedia.org/wiki/Open_source"&gt;&lt;span style="text-decoration: none;"&gt;ویکیپدیا&lt;/span&gt;&lt;/a&gt; این موضوع را مفصل تر توضیح داده اند)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify; line-height: 150%; direction: rtl; unicode-bidi: embed;"&gt;&lt;span style="line-height: 150%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;بعد از سال 1998 و با مطرح شدن اصطلاح اپن سورس و مقبولیت عمومی آن پیشرفت های زیادی در این زمینه حاصل شد. توسعه اینترنت هم به گسترش اپن سورس خیلی کمک کرد. در حال حاظر دنیای نرم افزار به جایی رسیده که می توان تقریبا هر سیستم کوچک یا بزرگ نرم افزاری را با استفاده از ابزارهای اپن سورس تولید کرد (امری که شاید پنج سال پیش ممکن نبود). بسیاری از ابزارهای اپن سورس رقبای جدی برای محصولات تجاری هستند و بسیاری دیگر از محصولات اپن سورس حتی رقیب جدی تجاری ندارند. بعدا بیشتر در این مورد توضیح می دهم و سعی میکنم مثال هایی هم بیاورم.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31180807-116786614539986370?l=zoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zoftware.blogspot.com/feeds/116786614539986370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31180807&amp;postID=116786614539986370' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/116786614539986370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31180807/posts/default/116786614539986370'/><link rel='alternate' type='text/html' href='http://zoftware.blogspot.com/2007/01/open-source1-is-design-dead-in.html' title=''/><author><name>Mohsen</name><uri>http://www.blogger.com/profile/12835081255954955378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31180807.post-116718284357278901</id><published>2006-12-27T04:56:00.000+03:30</published><updated>2007-04-28T15:29:40.097+03:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'></title><content type='html'>&lt;p class="MsoNormal" dir="rtl" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;span dir="ltr" style="font-size: 16pt; line-height: 115%;"&gt;Ruby (3)&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 16pt; line-height: 115%; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کد بلاک ها:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;کد بلاک ها یکی از ساختارهای مهم &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; هستند. کد بلاک قطعه ای کد هست که می تواند به عنوان یک آرگومان به یک تابع فرستاده شود. بسیاری از زبان ها ساختارهایی مشابه کد بلاک دارند، در جاوا &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Anonymous Inner Class&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در سی شارپ &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Delegate&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;C&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; و &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;C++&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; اشاره گر به توابع به جای کد بلاک ها استفاده می شود (البته این ساختارها خیلی با هم فرق می کنند اما کم و بیش برای یک هدف به کار می روند) .&lt;/span&gt;&lt;span dir="ltr"&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="ltr"&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;ساده ترین کاربردی که برای استفاده از کد بلاک ها می توان تصور کرد، &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Action Listener&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;ها در واسط گرافیکی کاربر است. معمولا وقتی کاربر بر روی یک دکمه کلیک می کند می خواهیم کد دلخواه ما اجرا شود.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" dir="rtl" style="text-align: justify;"&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;برای درک کد بلاک ها یک مثال می تواند کمک زیادی بکند، قطعه کد زیر یک تابع به نام &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;one_to_ten&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; تعریف می کند که یک کد بلاک را به عنوان آرگومان می گیرد. برای ارسال یک کد بلاک به یک تابع لازم نیست که کد بلاک بصورت صریح به عنوان آرگومان تابع بیان شود(گرچه می توان بصورت صریح نیز این کار را انجام داد)، بلکه هنگامی که از کلمه کلیدی &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;yield&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; در تابعی استفاده کنیم، مفسر &lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ruby&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; &lt;span lang="FA"&gt;بصورت ضمنی کد بلاکی را به عنوان آخرین آرگومان تابع در نظر می گیرد. مقادیری که در جلوی &lt;/span&gt;&lt;/span&gt;&lt;span dir="ltr" style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;yield&lt;/span&gt;&lt;span dir="rtl"&gt;&lt;/span&gt;&lt;span style="font-size: 12pt; line-height: 115%; font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;;" lang="FA"&gt;&lt;span dir="rtl"&gt;&lt;/span&gt; قرار می گیرند به عنوان آرگومان به کد بلاک ارسال خواهند شد.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div align="left"&gt;  &lt;table class="MsoTableGrid" dir="rtl" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid black; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616"&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;def&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; one_to_ten&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;for&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; i &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;in&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;1&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;..&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(0, 128, 255);"&gt;10&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 72pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;yield&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt; i&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin: 0cm 0cm 0.0001pt 36pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(164, 53, 122);"&gt;end&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; text-align: left; line-height: normal; direction: ltr; unicode-bidi: embed;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" dir="ltr" style="margin-bottom: 0.0001pt; te
