اخبار قطعه کد

برنامه نویسی به سبک پترس

... قطعه کد زیر را در نظر بگیرید: void overflow_function (char *str){ char buffer[10]; strcpy(buffer, str); } int main(){ char big_string[14]; strcpy(big_string,"bufferoverflow"); overflow_function(big_string); return 0; } از لحاظ قواعد گرامری این قطعه کد درست است و باید بدون اشکال کار کند اما در زمان اجرا، خطای در حال اجرا صادر خواهد شد با این مضمون: stack around the variable ‘buffer’ was corrupted بسیار خب، این خطا به ما می گوید که متغیر بافر خراب شده است ... بیایید ببینیم این کد دقیقا چه کار می کند: ابتدا یک متغیر از نوع رشته به طول 14کاراکتر تعریف کرده و مقدار bufferoverflow را با استفاده از دستور strcpy در آن کپی می کنیم ... تا اینجا مشکل خاصی نیست و کد درست است ... به مثال بالا برمی گردیم، فرض کنید به جای مقدار “bufferoverflow” یک شل کد به تابع overflow_function داده شود ... مقدار این آدرس دیگر یک مقدار نامعتبر نیست بلکه به یک قطعه کد اشاره دارد و پردازشگر، آن قطعه کد را اجرا می کند و سبب می شود برنامه اصلی، کار خودش را درست انجام ندهد ... هکر با تزریق کد خود به برنامه می تواند به بخش های محرمانه حافظه دسترسی پیدا کند و اطلاعات حیاتی سیستم را مورد سو ءاستفاده قرار دهد ... به طور مثال؛ کد بالا را با تغییر کوچکی اصلاح می کنیم و از سرریزی بافر جلوگیری می کنیم ... کد بازنویسی شده به صورت زیر خواهد بود: void overflow_function (char *str){ char buffer[10]; strncpy(buffer, str,10); } int main(){ char big_string[14]; strncpy(big_string,"bufferoverflow",14); overflow_function(big_string); return 0; } امیربهاالدین سبط الشیخ ...  

منبع : جام جم آنلاین    تاریخ : 18   بهمن   1388   شاخه : برنامه نویسی   

تقابل وب نشینان و ie 6

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

منبع : جام جم آنلاین    تاریخ : 8   شهریور   1388   شاخه : وب   

مدیریت چندنخی در ویندوز

... start(1000); } void calcpithreadstart(object digits) { calcpi((int)digits); } تابع calcpi مقدار عدد pi را با 1000 رقم اعشار دقت محاسبه می کند و این عملی زمان بر است، فرض کنید کد بالا بصورت چندنخی نوشته نشده بود، آن وقت چه اتفاقی می افتاد؟ برنامه هنگ می کرد و کاربر هم شما را به عنوان برنامه نویسی که به کار خودش وارد نیست، خطاب می کرد ... متد showprogress یک progressbar را مقداردهی می کند و درصد انجام کار را نشان می دهد این متد به طور موازی با متد calcpi انجام می شود، به نظر می رسد که همه چیز روبه راه است اما بعد از اینکه کد را اجرا کردید با خطای زیر مواجه می شوید: illegal cross-thread operation detected and invalidoperationexception raised این خطا به ما می گوید دسترسی غیرقانونی در تردها انجام شده است، خوب راه حل رفع این مشکل چیست؟ تیم اصلی برنامه نویسی دات نت متدی به نام invoke را در کلاس control (که پدر تمام کلاس های کنترلی ویندوز فرم است) قرار داده اند، این متد یک delegate را به عنوان پارامتر ورودی دریافت می کند، که نشان دهنده عملی است که برای تغییر کنترل ها باید از ان استفاده شود ... این ویژگی به ما نشان می دهد که آیا بهتر است از invoke استفاده شود، یا این که طور مستقیم می توان کنترل های برنامه را تغییر داد، حالا کد بالا را با استفاده از مطالب گفته شده باز نویسی می کنیم ... showprogress();} اگر کد بالا را اجرا کنید دیگر با پیغام خطایی که در بالا گفته شد روبه رو نمی شوید، علت چیست؟ چندنخی در wpf در wpf نیز مثل ویندوز فرم عمل می شود ولی با یک سری تفاوت ها که در زیر آنها را بیان می کنیم، همان طور که گفته شد، در برنامه های ویندوزی کنترل اشیا در اختیار تردی است که آن را به وجود آورده و امکان تغییر آن با همان نخ است ...  

منبع : جام جم آنلاین    تاریخ : 18   مرداد   1388   شاخه : برنامه نویسی   

حمله اینترنتی داس به وب سایت ها

... به گفته dancho danchev، یکی از خبرگزاری های ایرانی هم یک قطعه کد وب را به صفحه خود اضافه کرد که این حملات را به وب سایت های مخالفان هدایت می کرد ...  

منبع : همشهری آنلاین    تاریخ : 30   خرداد   1388   شاخه : امنیت   

حمله هکرها به وب سایت های خبری کشور

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


ردپای کاربران را تشخیص دهید

... به کمک سرویسی که tynt ارائه می کند، می توانید با افزودن قطعه کد جاوااسکریپت کوچکی به وب سایت خود، متوجه شوید که کاربران شما، از کدام بخش وب سایتتان بیشتر خوششان می آید ...  

منبع : جام جم آنلاین    تاریخ : 18   اسفند   1387   شاخه : وب   

پروسسورهای امن

... با چند ترفند فنی می توان به جای رشته ورودی یک رشته طولانی حاوی کد یک back door را وارد کرد و نتیجه افتادن کنترل کامل کامپیوتر مورد نظر در دست هکرها ست ... این مشکل دوم دقیقا چیزی است که میکروسافت با آن روبروست: کد ویندوز بنا به برخی روایتها ملغمه عجیب و غریبی است که هنوز حتی یادگارهایی از کد داس نیز در آن موجود است ... همانگونه که پیشتر دیدیم این حمله تنها زمانی امکان پذیر می شود که هکر بتواند بخشی از کد را وارد داده کند و به اجرای آن بپردازد ... هر برنامه در هنگام اجرا از بخشهای مختلفی در حافظه تشکیل می شود که مهمترین بخشهای آن عبارتند از دو بخش کد و داده ... به محض اینکه هکر سعی کند یک قطعه کد را در قسمت مربوط به داده برنامه اجرا کند پردازنده جلوی آنرا خواهد گرفت و یک پیغام خطا برای سیستم عامل ارسال خواهد کرد و سیستم عامل برنامه عامل خطا را خواهد بست ...  

منبع : بازیاب    تاریخ : 17   دی   1387   شاخه : امنیت   

دکمه های متحرک با css

... البته این عمل باید از کد طول و دراز جاوااسکریپتی استفاده کرد که خودش وقت زیادی مصرف می کند ... کد html بیایید فرض کنیم که منوی ما به این شکل است: 1 item2 item3 item 4 item همان طور که مشاهده می کنید، کد html بسیار ساده ای است و تنها شامل تعدادی لینک معمولی درون تگ div و کلاس rollover می شود ... کد css تا اینجا، تنها چیزی که دارید، یک مشت عکس در این سوی ماجرا، و مشتی کد html آن طرف تر است ... به کد زیر توجه کنید: } ... در قطعه کد بالا، ارتفاع عکس 105 پیکسل بوده که به سه بخش که هر کدام 35 پیکسل است تقسیم شده است ... همان طور که در این قطعه کد مشاهده می کنید، موقعیت پس زمینه در هنگام کلیک (a:active) به 70– پیکسل تغییر کرده، بطوری که تنها قسمت پائین عکس دیده می شود ...  

منبع : جام جم آنلاین    تاریخ : 15   دی   1387   شاخه : برنامه نویسی   

احساس آرامش در کنار پایتون

... فلسفه طراحی پایتون بر خوانا بودن کد و قابلیت تولید آسان کد تاکید می کند ... cpython برنامه پایتون را به بایت کد واسط کامپایل می کند ... بایت کد حاصل توسط ماشین مجازی اجرا می شود ... درک کد پایتون برای برنامه نویسانی که به این زبان آشنا نیستند آسان است ... بخش بزرگی از کد مفسر پایتون و کتابخانه های استاندارد به شیوه ای کاملا مستقیم نوشته شده و درک آن بسیار ساده است ... توسعه دهندگان کد پایتون مایل نیستند به بهای ناخوانا شدن کد یا پیچیده کردن آن سرعت مفسر را افزایش دهند ... در گذشته برخی از برنامه نویسان پیشنهاد افزودن قطعه کد های پیچیده ای را به منظور افزایش سرعت سیستم مطرح می کردند، اما این کار نگهداری از سیستم را دشوار می ساخت ... راه حل دیگر ترجمه کد پایتون به کد c با استفاده از ابزار هایی نظیر cython یا بایت کد جاوا توسط jython است ... گروهی از برنامه نویسان معتقدند که استفاده از پایتون در پروژه های برنامه نویسی بزرگ، سبب پیچیدگی کد می شود ... به طور خلاصه می توان گفت برنامه نویسی و توسعه کد با استفاده از پایتون سریع و آسان است ... توابع و کتابخانه های ارائه شده همراه با این سیستم بسیار غنی هستند و کتابخانه های کد باز نوشته شده توسط دیگر شرکت ها، عملا هر نوع محاسباتی را ممکن می سازند ... قابلیت حمل کد های نوشته شده توسط پایتون نیز بسیار بالاست ...  

منبع : جام جم آنلاین    تاریخ : 26   آبان   1387   شاخه : برنامه نویسی   

قدرت در سمت کاربر

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

منبع : جام جم آنلاین    تاریخ : 5   آبان   1387   شاخه : برنامه نویسی   
 
صفحه 1
2
امروز 1 فروردین ماه 1389

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player