Archive

Archive for the ‘برنامه نویسی’ Category

به دست‌آوردن اطلاعاتی درباره‌ی تکنولوژی‌های استفاده شده در سایت‌ها

2010/05/05 4 دیدگاه

شما هم مثل بسیاری از کاربران دوست دارید بدونید وب‌سایت‌هایی که روزانه بازدید می‌کنید چطور کار می‌کنند؟ چه تکنولوژی‌هایی برای ساخت سایت یا وبلاگ استفاده شده؟ سایت روی چه زبان و پایه‌ای اجرا می‌شود؟ حتی تشخیص سیستم تبلیغاتی مورد استفاده سایت مانند سرویس AdSense؟

این سوالات معمولا فقط با نگاه‌کردن به ظاهر سایت قابل جواب دادن نیست مثلا یک وبلاگ می‌تواند با استفاده از  سیستم مدیریت محتوای WordPress ،joomla ،Typepad یا… ایجاد شده باشد

سایت جالبی به اسم sitonomy وجود دارد که می‌تواند به همه جواب سوالات بالا و اطلاعات متعدد دهد

با استفاده از این سرویس تصمیم‌گیری تکنولوژی مورد نیاز برای راه اندازی سایت یا وبلاگتان ساده خواهد شد، در قسمت دیگر این سایت می‌توانید سرویس‌ها، زبان‌های برنامه‌نویسی، شمارندها و… محبوب را ببینید +

به عنوان مثال سری به اطلاعات استخراجی از همین وبلاگ بزنید +

بیشتر بخوانید…

تكنولوژي دات نت مايكروسافت چيست؟

2009/04/13 9 دیدگاه

لوگوي جديد دات نت مايكروسافت تكنولوژي .net و نسخه هاي visual studio مايكروسافت نوآوري هاي عمده اي  براي برنامه نويسان و سازندگان نرم افزار محسوب مي شوند اين نسخه ها پيشرفتهاي چشمگيري در بهره وري. امنيت. اعتماد پذيري و قابليت ارئه deployability را با خود همرا داشت

پلتفرم يا محيط اجرايي:هر برنامه اي براي مهيا كردن خدمات زمان اجراي خود به محيط اجرا و كتابخانه هاي خود متكي است مثلا برنامه هايي كه با زبان ويژوال بيسك 6.0 نوشته مي شوند براي اجرا درست به visual basic runtime  يا نرم افزارهاي جاوا براي اجرا از java virtual machine استفاده مي كنند و چارچوب دات نت يك كتابخانه تقريبا كامل براي ايجاد برنامه هاي كاربردي براي اجرا روي پلتفرمي به نامCLR يا common language runtime است. محيط اجرايي CLR سرويسهاي اصلي مربوط به يك پلتفرم مانند مديريت حافظه و امنيت را فراهم مي كند. CLR يكي از بخشهاي مركزي دات نت فريم ورك است كه برنامه نوشته شده تحت دات نت را به اجرا در مي آورد برنامه در دو مرحله به دستورالعملهاي ماشين كامپايل مي شود ابتدا برنامه به زبان مياني ترجمه و سپس كامپايلر ديگري آن را به كد ماشين و پلتفرم مورد نظر كامپايل مي كند و در نهايت برنامه با توجه به ماشين اجرا مي شود استفاده از دو كامپايلر سبب به دست آوردن قابليتهاي مختلف  از جمله قابليت انتقال  و حمل  بين سيستم عاملها و زبانهاي ديگر و مديريت است

چارچوب دات نت همانقدر كه در ايجاد برنامه هاي كاربردي ويندوز قدرت و سادگي دارد در ساخت برنامه هاي وب نيز كاراست به طوري كه اين چارچوب تبديل به يكي از پرطرفدارترين تكنولوژي هاي براي برنامه هاي وب شده است (asp.net)

وقتي كدي را از هر زباني كه چار چوب دات نت را پشتيباني مي كند كامپايل كنيد به چيزي به نام MSIL يا Microsoft intermediate language يا زبان ميانه مايكروسافت تبديل مي شود MSIL باينري است اما كد ماشين نيست بلكه فرمتي است كه از محيط برنامه نويسي مستقل است و مي توان از آن در هر ماشين ديگري كه در حال اجراي چارچوب دات نت است استفاده كرد چرا كه در درون چارچوب .net كامپايلري به نامjust in time compiler  يا jit وجود دارد و كد زبان ميانه را به كد ماشين اختصاصي براي سخت افزار و سيستم عامل همان ماشين تبديل مي كند. دات نت ابزار اشكال زداي مجتمعي را فراهم كرده است و هر زباني كه اين چارچوب را هدف داشته باشد فقط با يك اشكال زداي واحد بررسي مي شود حتي اگر قسمتي از برنامه ي شما VB بوده و قسمت ديگر آن سي شارپ يا هر زبان ديگري بر پايه .net

چارچوب دات نت فقط پاسخگوي ويندوز نيست و مي تواند به هر سيستم عامل ديگري وارد شود يعني به آساني مي توانيد به قابليت چند محيطي يا cross plarform دست يابيد و اكنون مايكروسافت نسخه يك دات نت را براي سيستم عاملهاي بر پايه يونيكس مانند FreeBSD و همچينين Mac OS X ولي فقط براي آموزش و لاغير. دات نت بسياري از عمليات بنيادي را كه به ساخت آنها در زبانهاي برنامه نويسي پيشين عادت كرده بوديد را به صورت فشرده و آماده دارد عمل كامپايل به كد محلي از طريق ابزار كامپاير درست به موقع انجام مي شود.اگر نسخه مورد نياز از .net framework نصب شده باشد آن پلتفرم مي تواند هر برنامه دات نت را اجرا كند و هر زباني كه بتواند به MSIL تبديل شود زبان سازگار با دات نت ناميده مي شود مثل visual c++.net و visual basic.net و delphi و python وsmall talk و…

visual basic بازيچه نيست:خدمت عزيزاني كه ويژوال بيسيك را به عنوان يك زبان خوب نمي دانند بايد گفت مايكروسافت با اعلام vb.net به عنوان يك زبان برتر د محيط دات نت قصد داشت در برابر انهايي كه به وي بي را به بازيچه بودن متهم مي كردند بايستد.ildasm

زبان مياني يا IL يك زبان جديد است و به صورتي طراحي شده است كه به طور موثري به كد محلي ماشيني كه در آن اجرا مي شود تبديل گردد زبان مياني نسبت به ويژوال بيسيك و سي شارپ  زبان سطح پايينتري محسوب مي شود ولي از كد ماشين بالاتر است يكي از ابزارهايي كه در چارچوب دات نت وجود دارد ILdasm.exe است ابزار IL Disassembler براي نمايش محتواي يك برنامه دات نت در كد مياني به صورتي است كه براي انسان قابل خواندن باشد مثل تصوير با اين توضيح كه هر

شكل نماد موضوعي است مثلا نماد فضاي نام ويژگي متد كلاس است

زبانهاي دات نت همه به IL كامپايل مي شوند پس هيچكدام از زبانهاي دات نت از ديگر زبانها سريعتر نيست ولي بايد در نظر

داشت كه تنظيمات متفاوت كامپايلر منجر به توليد IL هاي متفاوتي براي كد يكساني مي شود به عنوان مثال دريك حلقه for

در سي شارپ  مي توانيد انتخاب كنيد كه آيا سرريز overflow چك شود يا نه ولي در vb اين امكان وجود ندارد پس هنگامي

كه يك حلقه FOR در c# ايجاد مي كنيد از يك حلقه يكسان در VB سريعتر اجرا خواهد شد چرا كه سي شارپ به طور پيش فرض سرريزي را چك نمي كند ولي در وي بي اين كار انجام مي شود.

بيشتر برنامه نويسان .net به اين نتيجه رسيده اند كه براي تبديل شدن به يك برنامه نويس حرفه اي دات نت مهمترين كار يادگيري كتابخانه كلاس چارچوب دات نت است كتابخانه چارچوب دات نت مجموعه اي از DLL هاست كه بخش مهمي از اين چارچوب را تشكيل مي دهند هر DLL حاوي يك مجموعه كلاس هاي مرتبط با هم است براي مثال system.drawing.dll كلاسهايي را براي ايجاد گرافيك را ارئه مي دهد كتابخانه چارچوب دات نت شامل هرچيزي مي شود از ورودي و خروجي فايل گرفته تا كلاسهاي  asp.net و ado.net كه قبلا برنامه نويسان براي انجام آنها نياز به نوشتن مقدار زيادي كد يا خريد و استفاده از كدهاي نوشته شده قبلي در قالب مولفه و كامپوننت شركتي ديگر بودند به عنوان مثال براي ارسال ايميل با برنامه نويسي دات نت مي توان از كلاس smtpmail استفاده كرد فقط همين .از این جمله می‌توان به واسط های گرافیکی کاربر، دسترسی به پایگاه های داده، رمزنگاری، برنامه‌های تحت وب، الگوریتم های کار با اعداد و ارتباطات شبکه‌ای را نام برد.

 

و اما مفهوم دات نت از ديد برنامه نويسان مختلف . چيزي متفاوت است در اينجا با تكيه بر مطالبي كه در مورد دات نت خوانده و شنيده ام سعي كردم مفهوم اين تكنولوژي را با استفاده از كمترين اصطلاحات و ساده ترين عبارت توضيح دهم هر چند خودم هم هنوز در تلاش براي شناسايي آن هستم

بد نيست بخوانيد:

منابع:ديتل ويكيپديا مايكروسافت ويژوال بيسك 2005 انتشارات مايكروسافت

در مورد پروژه شركت ناول هم اينجا بخونيد Mono

چطور بفهمیم یک نرم افزار با کدام زبان برنامه نویسی ایجاد شده است

2008/07/14 23 دیدگاه

اگزا egza

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

در حالت معمولی زبان برنامه نویسی یک برنامه یا کامپایلر مورد استفاده را نمی توان فهمید ولی نوعی از برنامه ها وجود دارند که این کار را انجام می دهند و از آنها به عنوان

Compiler Detection Utility

یاد می کنند

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

language2000 the Ultimate Compiler Detection Utility

است این نسخه  دارای دیتا بیس نسخه ی 4.5 که 7 نوامبر سال 2000 است و محتوی 45 کامپایلر و 42 تغییر دهنده فایل اجرایی است فایل های دیتابیس قابل به روز شدن را دارند و احتمالا برنامه نویس آن باید آن را آپدیت کرده باشد اگر شما آپدیت دیتابیس را یافتید اگزا را نیز اطلاع دهید این طور که به نظر می رسد برنامه نویس این نرم افزار بابک فرخی به آدزس

Farrokhi.net

اما من در این سایت چیزی در این مورد پیدا نکردم

برای نمونه کار این برنامه ی جالب و رایگان نرم افزار کلون سی دی را امتحان کردم که نتیجه را در شکل می بینید

egza

egza اگزا

اطلاعات جالبی به دست می دهد

ویژگی های برنامه

پشتیبانی از

.EXE, .DLL, .OCX  هر نوع فایل باینری مثل

قابلیت درگ کردن برنامه و همچنین محیط کاربری ساده

مشاهده آدرس وب کامپایلر ها و تغییر دهنده های فایل های باینری

مشاهده ی محتوای فایل باینری ; البته نرم افزار مخصوص مشاهده این نوع فایل ها به همراه نیست

این نرم افزار با وجود امکانات خوب و کار بدیعش کمتر معرفی شده است; می توانید با یک جستجوی ساده ببینید که کمتر مطلبی در مورد آن می توان یافت

لینک دانلود این نرم افزار با حجم 218 کیلو بایت لينك دانلود تصحيح شد رمز فايل

http://www.egza.tk

——————————————–

download language2000 the Ultimate Compiler Detection Utility

لينك پشتيبان با حجم دانلود خيلي محدود فقط براي اينكه اين فايل منقرض نشود

دانلود آرشیو نمونه سوالات ACM مسابقات برنامه نویسی دانشجویی ACM

2008/05/10 27 دیدگاه

دانلود آرشیو نمونه سوالات ACM مسابقات برنامه نویسی دانشجویی ACM

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

لوگوی ACM

بیشتر بخوانید…

نمونه برنامه سی پلاس پلاس که کد سورس خود را به عنوان خروجی چاپ می کند

2008/05/10 4 دیدگاه

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

بیشتر بخوانید…