ملیساا 5015 اشتراک گذاری ارسال شده در 28 شهریور، ۱۳۸۹ اگر برنامهنويس باشيد شايد صدها سورسكد و برنامه كاربردي جالب دم دست داريد كه به استفاده از آنها عادت كردهايد. با اينكه نرمافزار ويژوال استوديوي دات نت بهقدري خوب نوشته شده است كه تقريبا نود درصد نيازهاي هر برنامهنويس را تامين ميكند، اما داشتن اين ابزارها از ضروريات دنياي برنامهنويسي است و كاركردن در اين حوزه بدون بهرهگرفتن از چنين وسايلي لطف كمي دارد. اين ماجولها و ابزارهاي جانبي حاصل تجربيات برنامهنويسان ديگري هستند كه به مرور زمان خلا وجود آنها را احساس كردهاند.تمام برنامههاي معرفي شده در اين مقاله، جالب و كمابيش مهم هستند. ولي به سبك معرفي پرفروشترين فيلمهاي سينمايي از ابزارهايي كه در نگاه اول اهميت و جذابيت كمتري دارند شروع ميكنيم. با اين حال اگر كمي دندان روي جگر بگذاريد، به تدريج هرچه به انتهاي مقاله ميرسيم نرمافزارها جالبتر ميشوند! بنابراين از دهمين برنامه شروع ميكنيم. دهم: NDoc ابزاري كه ميخواهم معرفي كنم فقط به كار برنامهنويسان حرفهاي ميآيد. برنامه NDoc به شما كمك ميكند براي نرمافزاري كه نوشتهايد يك سند راهنماي برنامهنويسي (Help Documentation) بسازيد. اين سند به چه دردي ميخورد؟ اين راهنما در چند سناريوي مختلف مفيد واقع ميشود. مهمترين كاربرد NDoc هنگامي است كه در يك تيم برنامهنويسي كار ميكنيد و بايد كارهاي خود را مستند كنيد و لازم است مستندات برنامهاي را كه نوشتهايد به مدير خود ارائه دهيد تا او بتواند با تكيه براين مستند از سازوكار و ساختار نرمافزار شما سردربياورد و در صورت لزوم برنامهنويس ديگري را براي كمك به روند پيشرفت پروژه و خود شما، به خدمت بگيرد. نمايي از NDoc اگر سورس كد شما فاقد راهنما باشد، هيچكس، جز خودتان، از آن سردرنميآورد و بدتر از آن، حتي خود شما نيز ممكن است بعد از چند ماه اصلا فراموش كنيد كه ساختار دروني يك قطعه از كدي كه نوشتهبوديد چگونه بود. اين مشكل بهويژه هنگامي بروز ميكند كه مدت چند ماه بخش خاصي از نرمافزار خود را دستكاري نكردهايد. در تمام اين حالتها داشتن يك سند راهنما مفيد واقع ميشود. براي اين منظور NDoc از قابليت مستندسازي با استفاده از XML در زبان سي شارپ كمك ميگيرد. البته اگر با ويژوال بيسيك داتنت كارميكنيد، ميتوانيد با استفاده از يك add-on همين قابليت را به محيط IDE ويژوال بيسيك اضافه كنيد. براي آشنايي با متدولوژي مستندسازي با استفاده از XML بايد به راهنماي برنامهنويسي با سيشارپ در MSDN مراجعه كنيد. اطلاعات بيشتر و نيز لينك add-on مذكور در سايت NDoc وجود دارد. پس از مستندسازي كد با استفاده از XML ميتوانيد از NDoc براي توليد فايل Help از نوع chm يا با فرمت HTML (به سبك MSDN) يا به سبك نسخه آنلاين MSDN استفاده كنيد. برنامه NDoc را به صورت رايگان ميتوانيد از نشاني ndoc.sourceforge.net دريافت كنيد. نهم: RegexDesigner.NET نهمين ابزار احتمالا خيلي به دردتان ميخورد. اگر با متغيرهاي رشتهاي در دات نت كاركرده باشيد، لابد نام كلاس Regex به گوشتان خوردهاست. اين كلاس قدرتمند قابليت يافتن هر نوع الگوي پيچيده متني را در يك متغير رشتهاي در اختيار برنامهنويس قرار ميدهد. مثلا اگر در قسمتي از يك برنامه تحت وب بخواهيد كنترل كنيد كه شماره تلفني كه كاربر وارد فرم ميكند دهرقمي است و حتماً با 021 شروع شود، يا اگر بخواهيد متني كه او به عنوان آدرس ايميل وارد ميكند حتما داراي علامت و نقطه (دات) باشد، اين كلاس خيلي كمكتان ميكند. در واقع Regex را ميتوان يك موتورجستجوي كوچك ناميد كه در پيدا كردن يك الگوي متني استاد است. تكنيكي كه اين كلاس بهكار ميبرد، تكنيك معروفي بهنام Regular Expressions است. با اين وجود گرامر و syntax اين كلاس خودش مقوله پيچيدهاي است و يادگرفتن نحوه كار با آن به مهارت و تجربه نياز دارد. نمايي از RegexDesigner.NET اگر در برنامههايي كه مينويسيد از Regex استفاده نميكنيد، مزيت عمدهاي را از دست دادهايد. ولي اگر كاركردن با گرامر Regex برايتان سرگيجهآور است، RegexDesigner.NET به شما كمك ميكند. به كمك اين ابزار ميتوانيد توصيفي ويژوال و بصري از يك الگوي متني داشته باشيد. در اين صورت RegexDesigner در نوشتن گرامر آن الگو كمك ميكند. اين برنامه را به همراه يك دوجين utility كاربردي ديگر ميتوانيد از نشاني برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دريافت كنيد. هشتم: Nunit و NUnitASP هشتمين ابزاري كه ميخواهم معرفي كنم واقعا مهم است. آنقدر مهم كه شايد بهزودي مقاله مفصلي درباره آن بنويسم. برنامه NUnit به كار برنامهنويسان حرفهاي ميآيد و هنگامي مفيد واقع ميشود كه از متدولوژي TDD در برنامهنويسي استفاده ميكنيد. متدولوژي Test Driven Development) TDD) روش ويژهاي در برنامهنويسي است كه طي آن برنامه نويس قبل از آنكه شروع به برنامه نويسي كند، ابتدا سناريوهاي مختلف مربوط به ورود و نمايش دادهها را بررسي ميكند و در هر مورد بدترين حالت را درنظر ميگيرد. سپس براي اين بدترين حالتها يك يونيت تست مينويسد و برنامهنويسي را شروع ميكند. صفحهاي از برنامه RegexDesigner.NET پس از نوشتن كد، برنامه خود را داخل يونيت موردنظر قرار ميدهيد و آزمايش ميكنيد، ببينيد هنگام اعمال بدترين شرايط مذكور چه واكنشي نشان ميدهد. مثالي ميزنم. فرض كنيد برنامهاي نوشتهايد كه از كاربر تعداد اقلامي را ميپرسد كه ميخواهد سفارش دهد و سپس روند ثبت سفارش را انجام ميدهد. حالا فكر كنيد كاربري صفر قلم كالا سفارش دهد و دكمه ثبت سفارش را فشار دهد. چه اتفاقي ميافتد؟ آيا برنامه شما error خواهد داد؟ معلوم نيست. در واقع ميتوانيد انواع و اقسام بدترين حالت ها را تصور كنيد. يك نرمافزار خوب نرمافزاري است كه نه فقط در شرايط عادي خوب كار كند بلكه در شرايط غير عادي نيز به همان خوبي كار كند و قبلا آن شرايط را پيشبيني كرده باشد. به اين تكنيك برنامهنويسي كه البته قدمت زيادي هم دارد TDD ميگويند. برنامه NUnit براي برنامهنويسان داتنت ساخته شده است و مشابه JUnit است كه برنامهنويسان جاوا استفاده مي كنند. برنامه NUnitASP نيز به درد آن دسته از برنامهنويسان وب ميخورد كه از ASP.NET استفاده ميكنند. ابزار Nunit را از نشاني برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام وNunitASP را از نشاني nunitasp.sourceforge.net دانلود كنيد. هفتم: Visio نرمافزار Visio احتمالا براي خيلي از شما نام غريبي نيست. برنامه Visio مايكروسافت كه عضوي از خانواده مجموعه نرمافزاري آفيس به شمار ميرود، يكي از ابزارهاي سودمندي است كه برنامه نويسان حرفهاي بايد به استفاده از آن عادت كنند. البته شما ميتوانيد از ساير نرمافزارهاي مشابه نيز استفاده كنيد و محدود به محصولات مايكروسافت نباشيد. برنامه ويزيو بهطوركلي براي ترسيم فلوچارت و دياگرام است. اما دو قسمت از اين برنامه خيلي به كار برنامهنويسان ميآيد: يكي امكانات رسم دياگرام بانك اطلاعاتي و ديگري قسمت مربوط به مدل سازي.UML قسمت مربوط به ترسيمات بانك اطلاعاتي را ميتوانيد از طبقهبندي Database (هنگام ايجاد يك رسم جديد) پيداكنيد و مدل سازيUML هم بخشي از طبقهبندي Software در ويزيو است. برنامه Visio از مايكروسافت در قسمت ديتابيس ميتوانيد دياگرام كاملي از يك بانك اطلاعاتي رابطهاي SQL Server را رسم كنيد. تصويرسازي از ساختار بانك اطلاعات مزاياي متعددي دارد. گذشته از اين واقعيت كه مستندسازي ساختار بانك اطلاعات يكي از ملزومات كار برنامهنويسي تيمي است، اين كار در تكنيكهاي طراحي بانك اطلاعاتي، مانند Normalization بسيار مفيد واقع ميشود. به كمك امكانات ويزيو در قسمت مدلسازي UML ميتوانيد كلاسها و اشياي ساختار نرمافزاري را كه براساس متدولوژي شيگرا نوشتهايد، رسم كنيد. البته قابليتهاي ويزيو در اين زمينه به پاي نرمافزارهاي قدرتمندي مانند Rational Rose نميرسد. ولي برخلاف Rose كاركردن با آن بسيار آسان است و ميتوان خيلي از كارهاي پايهاي را به كمك آن انجام داد....... بهروز نوعي پور ماهنامه شبکه 1 لینک به دیدگاه
ملیساا 5015 مالک اشتراک گذاری ارسال شده در 28 شهریور، ۱۳۸۹ ششم: JLCA پنجم: VBConversions VBConversions مبدل سودمند ديگر است. اگر به بحث تبديل سورس كد از يك زبان به زبان ديگر علاقمند شديد، شايد برايتان جالب باشد بدانيد آيا ابزاري وجود دارد كه سورس VB.NET را به سيشارپ تبديل كند يا نه. مبدل VB.NET to C Convertor همين كار را برايتان انجام ميدهد. البته اين برنامه رايگان نيست. ولي نسخه shareware آن را ميتوانيد از نشاني برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دانلود كنيد. تبديل پروژههاي VB.NET به سي شارپ براي كساني مفيد است كه به كار با ويژوال بيسيك عادت كردهاند. ولي كنجكاوند ببينند برنامههايي كه با VB.NET نوشتهاند، وقتي به سيشارپ تبديل ميشوند چه شكلي خواهند داشت. معمولا از زبان سي شارپ خيلي تعريف ميشود و همه جا گفته ميشود سي شارپ مشابه جاوا است. بنابراين خيلي از برنامهنويساني كه با ويژوال بيسيك داتنت كار ميكنند تصور ميكنند، به دليل عدم بهرهگيري از سي شارپ مزيت عمدهاي را از دست دادهاند. نمايي از مبدل VBConversions تبديل برنامهها VB.NET به سي شارپ به شما ثابت خواهد كرد كه اين تصور نادرست است و قابليتهاي اين دو زبان تا حدود نوددرصد مشابه يكديگر است و تفاوت اصلي تنها در syntax زبان است. بنابراين حيف است وقتي اين دو زبان به يك ميزان قدرتمند هستند نتوانيد برنامههاي خود را در نسخه سيشارپ هم داشته باشد. اگر فكر ميكنيد فرصت آموختن سيشارپ از ابتدا را نداريد، چه خوب است متد آموزش از طريق مثال را بهكار بگيريد و چه مثالي بهتر از برنامههايي كه خودتان نوشتهايد؟ با تبديل برنامههاي VB.NET به سي شارپ يك قدم به جاوا نزديكتر ميشويد و در اين صورت ميتوانيد از مبدل JLCA نيز براي تبديل سورسهاي جاوا به سي شارپ بهره بگيريد و سناريوي خود را كامل كنيد. مبدل VBConversions ميتواند پروژههاي ويژوالبيسيك را به صورت تكي يا چندتايي به سيشارپ تبديلكند. اين ابزار همچنين قابليت تبديل اسكريپتهاي ويژوالبيسيك را بدون نياز به ويژوال استوديو دارد. ويزارد اين برنامه ميتواند شما را قدم به قدم در تبديل موفقيت آميز يك پروژه راهنمايي كند. قابليت Open CodeChecker اين برنامه ميتواند مشكلات بالقوهاي كه در تبديل سورس ويژوال بيسيك شما به سي شارپ وجود دارد را براي شما مشخص كند. چهارم: Mono داستان نرمافزار چهارم كاملا متفاوت و مربوط به يك ميمون است! تعجب كرديد؟ به گفته توسعهدهندگان پروژه مونو، اين واژه استعارهاي از كلمه Monkeys است. مونو يك پيادهسازي خيلي جالب از پلتفرم داتنت براي سيستمعاملهاي غيرويندوزي است. بنابراين اگر سناريوهايي مثل اجراي ASP.NET روي لينوكس برايتان جالب است، مونو بهترين گزينه براي شما است. با استفاده از مونو ميتوانيد برنامههاي داتنتي را روي سيستمعاملهاي لينوكس، يونيكس، مكينتاش و سولاريس اجرا كنيد. Mono براي محيطهاي غيرويندوزي مونو همچنين علاوهبر داتنت، امكان اجراي كدهاي جاوا و Python را نيز دارد. اين پروژه از سوي شركت ناول پشتيباني مالي ميشود. منابع اطلاعاتي اين پروژه نيز مانند ساير پروژههاي اپن سورسي به صورت كاملا باز در اختيار شما است. براي شروع كار با مونو ميتوانيد به سايت اصلي آن به نشاني برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام مراجعه كنيد. جديدترين نسخه اين مجموعه در زمان تاليف اين مقاله، 1.1.13Mono است كه از تعدادي قابليتهاي داتنت2 نيز پشتيباني ميكند. مونو شامل يك كامپايلر زبان سيشارپ است و از معماري زيربنايي CLI داتنت پشتيباني ميكند. سوم: ComponentOne.NET اين ابزار در حقيقت مجموعهاي از اشيا يا Componentهاي كاربردي براي استفاده در پروژههاي داتنتي است. كمتر برنامهنويسي را ميتوان يافت كه خود را از كامپوننتهاي اضافي موجود در بازار بينياز بداند. بديهي است كه اشياي موجود در ويژوال استوديو بسياري از نيازهاي يك برنامهنويس را تامين ميكنند. المانهايي مانند DataGrid، ListBox ،Label و چندين كامپوننت ديگر كه به وفور در برنامههاي داتنتي استفادهميشوند، براي همه برنامه نويسان آشنا هستند. اما اين كامپوننتها نيازهاي پيشرفته داتنت كاران را تاميننميكنند. به همين دليل همواره ميتوان صدها كامپوننت تجاري در بازار پيدا كرد كه به اين دسته از نيازهاي برنامهنويسان پاسخ ميدهند. شركت ComponentOne يكي از بهترين و معروفترين سازندگان چنين اشيايي است. بسته نرمافزاري Studio for .NET اين شركت شامل چندين كامپوننت جالب و سودمند است كه حتما از كار با آنها لذت خواهيد برد. اين بسته در قالب دو مجموعه متمايز، يكي براي برنامهنويسان ASP.NET و ديگري براي برنامهنويسان دسكتاپ ويندوز، تهيه شده است. مجموعه مربوط به دسكتاپ شامل هفده كامپوننت است كه قابل خريداري است. ميتوانيد از اين اشيا در بافت نرمافزارهايي كه توليد و روانه بازار ميكنيد، استفاده نماييد. نمايي از مجموعه ابزارهاي ComponentOne.NET چند منو و toolbar پيشرفته، كامپوننت ترسيم انواع چارتهاي گرافيكي پيشرفته، يك كامپوننت مخصوص توليد گزارش، كامپوننتهاي ساخت Zip و PDF و دو كامپوننت به نامهاي FlexGrid و True DBGrid كه قابليتهايي فراتر ازDataGrid در اختيارتان قرار ميدهند، از جمله مهمترين كامپوننتهاي اين مجموعه هستند. در بسته مربوط به ASP.NET نيز ميتوانيد نسخه تحت وب برخي از اين كامپوننتها از جمله WebReports ،WebGrid ،WebCharts ،WebMenus و WebBars را بيابيد. نسخه مخصوص دات نت 1/1 از اين مجموعه همراه بسته نرمافزاري Visual Basic.NET Resource Kit كه از سايت مايكروسافت به صورت رايگان قابل دريافت است، وجود دارد و برنامه نويسان ميتوانند يك مجوز رايگان براي محيط برنامهنويسي (و نه محصول نهايي خود) از سايت شركت ComponentOne دريافت كنند. نسخه مخصوص دات نت 2 را بايد مستقيما از سايت اين شركت به آدرس برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام بگيريد. همچنين مجموعه مربوط به 1.1ASP.NET همراه بسته نرمافزاري ASP.NET Resource Kit وجود دارد كه از آدرسhttp://msdn.microsoft.com/asp.net/asprk به طور رايگان قابل دريافت است و نسخه مربوط به 2 ASP.NET را بايد از سايت شركت دريافت كنيد. دوم: Dotfuscator دومين ابزار سومندي كه معرفي ميكنم، برنامه مهمي است كه حلال مشكلات خيلي از برنامهنويسان خواهد بود. اگر ميخواهيد كاري كنيد كه سورس كد برنامه شما پس از كامپايل شدن قابل تشخيص نباشد و نتوان با استفاده از مهندسي معكوس آن را به حالت سورس كد بازگرداند، هيچ چارهاي نداريد جز اينكه سورس كامپايل شده خود را رمزنگاري كنيد. برنامه Dotfuscator كه نسخه Community Edition آن بهطور رايگان همراه ويژوال استوديوي داتنت نصب ميشود، همين كار را برايتان انجام ميدهد. عجيب است كه برخي از برنامه نويسان نيمه حرفهاي اما كم حواس، متوجه حضور اين برنامه در كنار ويژوال استوديو نميشوند و اين سو و آن سو دنبال ابزار مناسب ميگردند. نسخه حرفهاي Dotfuscator را بايد از سايت شركت سازنده آن، يعني Preemptive به نشاني برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دريافت كنيد. برنامه Dotfuscator براي رمزنگاري سورسكد اما اين برنامه رايگان نيست. اين شركت در حقيقت دو نوع Obfuscator دارد: يكي براي كاربران دات نت و ديگري براي كاربران جاوا و دومي DashO نام دارد كه در دنياي جاوا نامي آشنا است. البته Obfuscatorهاي ديگري را نيز ميتوانيد در اينترنت پيدا كنيد. به كمك يك Obfuscator ميتوانيد برنامه كامپايل شده را طوري رمزنگاري كنيد كه جز خود شما فرد ديگري نتواند به سورس برنامه دسترسي پيدا كند و اين يعني نقطه مقابل تفكر اپن سورس! ولي واقعيت اين است كه در دنياي صنعت نرمافزار چنين ابزارهايي طرفداران زيادي دارد و خيلي از شركتهاي توليد كننده نرمافزار از Dotfuscator براي حفاظت از حقوق مالكيت معنوي نرمافزار خود استفاده ميكنند. Dotfuscator براي غيرقابل فهم كردن سورس كامپايل شده (كه در دات نت به زبان MSIL است و در زبان جاوا به صورت Bytecode) علاوه بر رمزنگاري، از طريق تزريق كدهاي گمراهكننده به درون برنامه موجب ميشود كه برنامههاي مهندسي معكوس در تفسير سورس دچار اشتباه شوند و نتوانند به اصل آن پيببرند. يكم: SharpDevelop سرانجام به نخستين ابزار ميرسيم. برنامه SharpDevelop يك IDE رايگان و اپن سورس است. اين روزها كه بحث اپن سورس و نرمافزار تجاري داغ است، خيلي از ايرانيها از خود سوال ميكنند اگر كشورمان به سازمان تجارت جهاني بپيوندد و مجبور به اجراي مقررات كپيرايت باشد، آيا بايد بابت نرمافزارهاي گرانقميت خارجي پول بپردازيم؟ هرچند كه مايكروسافت اخيرا نسخههاي رايگاني از ويژوال استوديوي 2005 را منتشر كرده و نسخه ارزان قيمتي از ويژوال استوديوي 2003 نيز براي برنامهنويسان درنظر گرفته شده است. اما به هرحال هركدام از اين نسخهها محدوديتهايي دارند. پروژه SharpDevelop تلاشي براي توليد يك IDE ديگر مانند ويژوال استوديوي دات نت است. البته بديهي است كه خود اين نرمافزار در مقايسه با ويژوال استوديوي داتنت محدوديتها و ضعفهايي دارد. ولي اين محدوديتها ناشي از اعمال سياستهاي تجاري خاص نيست و تنها به قابليتهاي نرمافزار مربوط ميشود. در عوض SharpDevelopتا توانسته خود را به انواع ابزارهاي اپنسورسي مخصوص برنامهنويس داتنت مجهز كرده است تا ضعفهاي خود نسبت به ويژوال استوديو را در زمينههاي ديگري جبران كند. SharpDevelop، يك ابزار بسيار مهم برنامه SharpDevelop كه خود با زبان سي شارپ نوشته شده، قادر است سورسكدهايي كه به زبان ويژوال بيسيك داتنت، سيشارپ، ++C و جاوا نوشته شدهاند را بخواند. اما فقط ميتواند پروژههاي سيشارپ را كامپايلكند و اين مهمترين ضعف SharpDevelop در حال حاضر است. اين برنامه همچنين فاقد قابليت Intellisense در ويژوال استوديو است؛ قابليتي كه به طور هوشمند كد شما را همان لحظه كه در حال نوشتنش هستيد حدس ميزند و كامل ميكند. اين برنامه همچنين در محيط سيشارپ قابليتهاي بهتر و بيشتري نسبت به محيط زبانهاي ديگر نشان ميدهد. با اين حال SharpDevelop مزايايي نيز دارد. اين برنامه به چند ابزار از جمله NUnit و NDoc كه در اين مقاله معرفي كرديم، مجهز است. بنابراين از همان ابتداي كار با SharpDevelop ميتوانيد خود را به تكنيك TDD در برنامهنويسي عادت بدهيد. در عين حال اين IDE همراه كتابخانه ziplib ارائه ميشود كه كامپوننتهايي براي فشردهسازي اطلاعات (مثلا به صورت zip يا rar) در اختيارتان قرار ميدهد. با استفاده از اين كامپوننت همچنين ميتوانيد از قابليتهاي تكنيك gzip براي فشرده سازي صفحات ASP.NET هنگام بارگذاري روي مرورگر استفاده كنيد. اين قابليت موجب كاهش قابل ملاحظه سرعت بارگذاري صفحات پويا ميشود. اين برنامه همچنين يك ابزار سودمند به نام Regular Expression Toolkit دارد كه كاربردي مشابه برنامه RegexDesigner.NET دارد كه در اين مقاله معرفي كرديم. بنابراين ميتوانيد خيلي سريع خودتان را به استفاده از اين كلاس با ارزش در framework داتنت عادت دهيد. جالبتر اينكه SharpDevelop به يك مبدل ساده براي تبديل سورس VB.NET به سيشارپ و برعكس مجهز است كه هرچند ضعفهايي دارد و به پاي برنامه VBConversions كه در اين مقاله معرفي كرديم نميرسد. اما تا حدودي كار راهانداز است. بهاين ترتيب ميبينيد كه حتي در صورت داشتن ويژوال استوديوي داتنت، استفاده از SharpDevelop همچنان قابل توجيه است. در واقع SharpDevelop مجموعهاي از چند ابزار كه در اين مقاله معرفي كرديم را در خود دارد و چون سورس كد خود برنامه باز است، برنامهنويسان حرفهاي داتنت ميتوانند ماجراجويي كنند و خودشان امكانات و قابليتهاي بيشتري به نرمافزار بيفزايند. اين نرمافزار جالب را ميتوانيد از نشاني برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام دريافت كنيد. 1 لینک به دیدگاه
ارسال های توصیه شده