آخرین اخبار و مقالات و مطالب پیرامون کد برنامه در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران
بر روی این دامنه اینترنتی سیستم مدیریت محتوا
پارس سی ام اس
نصب شده است که نرم افزاری قوی جهت طراحی سایت
می باشد. طراحی وب
با استفاده از پرتال
( پورتال
) پارس منجر به طراحی وب سایت
شما می شود. طراحی وب سایت
کپی رایت پورتال
پارس
... با وجود کارایی زیاد و انعطاف پذیری بالای زبان برنامه نویسی جاوا، این ابزار قدرتمند و رو به توسعه هنوز نتوانسته جایگاه مناسبی برای پیاده سازی پروژه های تجاری در مقایسه با سایر framework های موجود بیابد ... از جمله دلایل اصلی عدم استفاده از جاوا در بیشتر پروژه های بزرگ تجاری، می توان به مشکل بازگشت پذیری یا decompile شدن کدهای نوشته شده، با این زبان برنامه نویسی اشاره کرد که این خود به تنهایی یک معضل بزرگ امنیتی در مسیر توسعه نرم افزارهای تجاری با استفاده از این ابزار به شمار می آید ... برنامه های نوشته شده در جاوا به دلیل استفاده از واسط زمان اجرای java runtime environment یا به طور اختصار jre برای مهیا کردن بستری مناسب برای جلوگیری از کامپایل مجدد کد منبع و همچنین حفظ قابلیت جابه جایی و استفاده در پلتفرم های مختلف، پس از کامپایل به جای تبدیل شدن به زبان ماشین یا همان «صفر» و «یک» به قالب خاصی از داده ها به نام byte code تبدیل می شود که این خروجی همان قالب قابل فهم و اجرا برای jre است ... همین موضوع باعث می شود کد برنامه های نوشته شده به زبان جاوا را با استفاده از متدهای مهندسی معکوس تا حدود زیادی بازیابی کرد ... این مشکل به حدی جدی است که شرکت توسعه دهنده زبان جاوا یعنی سان میکروسیستمز، اقدام به ارائه ابزاری به نام obfuscator برای مبهم سازی کد منبع نوشته شده از طریق تزریق کدهای اضافی به زبان جاوا کرده تا پس از انجام عملیات دیکامپایل، کاربران نتوانند به راحتی قطعات مختلف کد حاصل را درک و تفسیر کنند ...
... امیدواریم با راه افتادن موجی از این برخود با مجرمان فضای مجازی؛ برنامه نویسان فاسد با احتیاط بیشتری، در نوشتن کد برنامه های مخرب وتبعات آن، فکر کنند ...
... سیستم عامل: سیستم عامل سیم کارت در دو نوع جاوا و سیستم عامل های محلی موجود است که نوع محلی، اختصاصی بوده و مبتنی بر نرم افزارهای مخصوص فروشندگان آن می باشد در حالی که سیم کارت های جاوا، مبتنی بر زبان برنامه نویسی جاوا هستند و مهمترین ویژگی آنها عدم وابستگی به سخت افزار است ... این شماره یک عدد 15 رقمی است که 3 رقم اول آن مشخص کننده کد موبایل کشور (برای ایران 432)، دو رقم بعدی مشخص کننده کد شبکه موبایل (برای شبکه mci کد 11) و 10 رقم آخر نیز شماره شناسایی مشترک موبایل است ... سیم کارت های جاوا: جاوا یک زبان برنامه نویسی موضوعی (شیء گرا) است که توسط شرکت sun و با فلسفه «کبار بنوس، هرجا اجرا کن » ایجاد شد ... بدین معنا که یک برنامه کامپیوتری جاوا می تواند بر روی کارپایه های مختلف مثل: ویندوز، لینوکس و یا مکینتاش اجرا شود ... در واقع برنامه نویسان جاوا بدون توجه به سیستم عامل انتهایی مورد استفاده، بر روی برنامه های کاربردها تمرکز دارند ... اما در سایر زبان های برنامه نویسی، کد برنامه باید به کد سیستم عامل مورد نظر ترجمه شده و سپس فایل های اجرایی آن ایجاد شود ... درصورتیکه برنامه های جاوا تنها به یک مفسر حین اجرا (jvm) نیاز دارند تا دستورات آن را به دستورات سیستم عامل مورد استفاده، تغییر دهد ... این برنامه که یک برنامه محلی سیستم عامل است می تواند به صورت رایگان تهیه و مورد استفاده قرار گیرد ...
... مقر اصلی این شرکت در انگلیس تاسیس شد اما هم اکنون دارای حدود 750 کارمند در کشورهای انگلیس ، ژاپن ، سوید و آمریکاست که درکار تحقیق و برنامه نویسی برای گسترش سیستم عامل و نرم افزارهای آن هستند ... تا اواخر سال 2003 هیجده موبایل از پنج شرکت معروف سونی ، نوکیا ، فوجیتسو ، موتورولا و زیمنس با این سیستم عامل عرضه شد و علی رغم قیمت بالا مورد استقبال قرار گرفت و حدود 26 موبایل هم در برنامه این شرکتها و چند شرکت دیگر با این سیستم عامل در برنامه ساخت قرار گرفت ... به علت فروش بالای موبایل های symbian هر روزه بر تعداد برنامه نویسان آن افزوده شده و نرم افزارهای فوق العاده ای برای این سیستم عامل طراحی می شود ... تا اواخر تابستان سال 2004 تعداد این برنامه ها 3254 مورد گردیده است ... زبانهای برنامه نویسی برای symbian : بدون شک زبان اصلی برنامه نویسی برای symbian زبان c++ است اما زبانهای مختلفی برای برنامه نویسی در این سیستم عامل به وجود آمده اند ... هر یک از این زبانها می توانند امکانات کامل برنامه نویسی در symbian را فراهم نمایند ... رشد زبانهای برنامه نویسی در این سیستم عامل بسیار سریع می باشد ... ابزارهای برنامه نویسی مختلفی از جمله ادیتورهای متنوع نیز برای کار با این زبانها به همراه شبیه سازهای موبایل ( برای تست برنامه روی pc قبل از نصب آن روی موبایل ) به بازار عرضه شده است ...
... این سوالی است که برنامه نویسان مبتدی زیاد با خود تکرار می کنند: «برنامه ها از کجا آغاز می شوند؟» بیشتر دیده شده که پاسخی اصولی به این سوال داده نمی شود و این موضوع بعدا موجب سردرگمی برنامه نویسان می شود ... در ادامه، نقطه آغازین در برنامه نویسی و نقاط شروع زبان های مختلف برنامه نویسی را بررسی می کنیم ... هر برنامه ای که اجرا می شود، به یک نقطه ورود1 نیاز دارد، به طور خلاصه سیستم عامل باید بداند که برنامه از کجا آغاز می شود؟ این نقطه در واقع یک آدرس حافظه ، مربوط به یک نقطه در کد برنامه است و سیستم عامل بعد از بارگذاری برنامه در حافظه به آن آدرس مراجعه می کند ... در اکثر زبان های برنامه نویسی تابعی به نام main وجود دارد که در واقع همان نقطه شروع برنامه است ... این تابع با توجه به ساختار سیستم عامل و دید برنامه نویس، چندین بازنویسی2 دارد ... امکان تعریف تابعی در خارج کلاس ندارید، بر خلاف c++ که زبانی شی گرا و تابع گرا است، که این امر بخاطر سازگار بودن با برنامه های نوشته شده به زبان c است ... برای این کار کامل ترین بازنویسی این متد رو بررسی می کنیم، یعنی: static int main(string[] args); این بازنویسی یک آرایه از رشته های متنی و یک مقدار عددی از نوع عدد صحیح برمی گرداند، خوب این مقادیر چه استفاده هایی دارند؟ رشته های ورودی در واقع مقادیر هستند که هنگام اجرای برنامه از طریق خط فرمان به برنامه فرستاده می شوند ...
... هیچ برنامه ای وجود ندارد که امنیت قطعی به شما بدهد ... در اینجا یک مثال عرضه می کنیم: 16 جولای، یک برنامه نویس امنیتی به نام براد اسپنگلر که برنامه ای منبع باز برای امنیت تحت شبکه می نوشت و نامش را grsecurity گذارده بود ... نگارش کوچکی از این آسیب پذیری منتشر شد و بر اساس مرکز تهاجم های اینترنتی sans، کد مخرب در بخش net/tun پیاده سازی شده بود ... کد برنامه نویس به نظر معصوم می رسد ... اما درست بعد از این که به دستان کامپایلر gcc سپرده می شود و در زمان بهینه سازی کد، کامپایلر متوجه می شود که متغیر قبلا تعریف شده است و عملا تکه کد if را (که در آن بررسی می شود که آیا tun مساوی null هست یا نه) حذف می کند ... به عبارت دیگر، کامپایلر این ایراد را به کد باینری هم منتقل می کند ... بعد از آن، باید حتما برنامه ای را از کد منبع آن کامپایل کنید و کد منبع را هم خودتان بنویسید ... اگر مایکروسافت واقعا نگران وضعیت امنیتی است، نباید با ارائه وصله های امنیتی آن را رفع کند، باید کد را باز کند تا هر کس که می تواند نگاهی به داخل آن بیاندازد ...
... که این پرش تنها به دلیل اعتقادات خرافی در مورد نحسی عدد 13 بوده است! یا نسخه 13 نرم افزار wordperfect office شرکت کورل به دلیل همین اعتقاد با کد 3x عرضه شد که x در اعداد رومی معادل 10 است و بعد از آن نیز همین روند حفظ و نسخه بعدی با کد 4x ارائه شد ... گاهی اوقات نسخه ای از برنامه نیز تحت همین عنوان، قبل از نسخه آلفا یا بتا عرضه می شود تا توسعه دهندگان شاهد طریقه کار برخی از امکانات نرم افزار در محیط عملی باشند ... در مقایسه با نسخه آلفا و بتا، نسخه پری–آلفا از نظر امکانات کامل نیست و هنگام تست آن ممکن است به تمام کارهایی که قبلا انجام شده، از قبیل تحلیل نیازمندی ها، طراحی و توسعه نرم افزار و آزمون بخش های برنامه ارجاع داده شود ... نسخه های آلفای یک برنامه که گاهی با آلفا 1، آلفا 2 و ... به همین دلیل بسیاری از کاربران از دریافت، نصب و اجرای نسخه های بتای برنامه ها خودداری می کنند و منتظر می مانند تا نسخه اصلی عرضه شود و آن را خریداری کنند ... اما معمولا تعداد افرادی که برنامه را دریافت و آزمایش می کنند، به میزانی هست که شرکت به هدف تست برنامه خود در دنیای واقعی برسد و اشکالات برنامه کشف و رفع شود ... زیرا کاربران بدون داشتن اطلاعات از کد برنامه، تنها با استفاده از امکانات موجود و دادن ورودی و گرفتن خروجی، آن را آزمایش می کنند ...
... محمد رضاییبا گسترش روزافزون اینترنت و خدمات وابسته به آن برنامه های مخرب از جمله ویروس ها نیز بین کاربران رواج پیدا کرد تا آنجا که هر ساله خسارات فراوانی به مردم سراسر جهان به همین دلیل وارد می شود اما آنچه طی چند سال اخیر گسترش فراوان یافته و برخی کارشناسان معتقدند از ویروس ها نیز مخرب تر و تاثیرگذارتر است، «کرم اینترنتی» است ... این کرم ها در اصل برنامه های مخربی هستند که می توانند خود را در جاهای مختلف سیستم کپی کنند و به طور خودکار در شبکه ها و از جمله اینترنت منتشر شوند ... به طور کلی باید توجه داشت که این دسته برنامه ها مشابه ویروس ها، دارای مشخصه اصلی همتاسازی هستند، با این تفاوت که کرم خاصیت انگلی ندارد و انتشار خود را از طریق شبکه انجام می دهد ... یک کرم برنامه یی است که می تواند خود را تکثیر کرده و کپی های تکثیر شده را در شبکه کامپیوتری از رایانه یی به رایانه دیگر منتقل کند ... برنامه های مربوط به کرم ها از ارتباطات شبکه یی برای انتقال از یک سیستم به سیستم دیگر استفاده می کند ... کرم conficker که با نام downadup نیز شناخته می شود، یک برنامه مخرب کامپیوتری است که از اکتبر سال 2008 ظاهر شد و نسخه های مختلف سیستم عامل ویندوز را مورد هدف قرار داد ... exe می گردد و بخشی از کد برنامه این فایل می شود ... بیشتر برنامه ها و ویروس های مخرب فایل های آلوده خود را از تنها یک سایت بارگذاری می کنند که این امر شناسایی آنها را آسان تر می سازد ...
... اکثر این هکرها، خوره های کامپیوتری بوده اند که در نوجوانی، خود را در زیرزمین های خانه شان حبس می کردند و ساعت ها از پای مانیتور تکان نمی خوردند تا بالاخره کد برنامه یا شبکه ای را بشکنند ... برایان مک کورد در مورد سیستم عاملی که در این برنامه به کار می برند، می گوید که به جای استفاده از برنامه های گران قیمت و مشهور شرکت های مایکروسافت و سان مایکروسیستم، از لینوکس استفاده کرده اند ... مک کورد می گوید که این برنامه قابلیت های تنظیم بسیاری دارد و راه های نفوذ به آن هم به اندازه باقی سیستم عامل ها شناخته شده نیست ...
... >- مرور قسمت اول* به برنامه نویسی علاقه داشته باشید ... اطمینان حاصل کنید که آنقدر از برنامه نویسی لذت می برید که حاضر باشید 10 سال از عمرتان را صرفش کنید ... * با برنامه نویسان دیگر ارتباط داشته باشید ... کد برنامه های دیگر را مطالعه کنید ... * برنامه بنویسید ... البته اگر از مدرسه و درس لذت نمی برید، می توانید تجربه مشابهی را در کار کسب کنید (البته با تلاش بیشتر)eric raymond در دیکشنری هکرها می گوید: "مطالعه و تحصیلات آکادمیک در رشته کامپیوتر یک شخص را تبدیل به یک برنامه نویس حرفه ای نمی کند، همانطور که یک فرد فقط با مطالعه رنگ و قلم مو نمی تواند نقاش شود" ... در بعضی از پروژه ها بهترین و در بعضی دیگر بدترین برنامه نویس باشید ... برنامه هایی که دیگران نوشتند را مطالعه کنید ... سعی کنید باگ های برنامه های دیگران را رفع کنید ... به این فکر کنید که چطور برنامه هایتان را طراحی کنید که کار کسانی که می خواهند آن را نگهداری کنند آسان تر شود ... * کلی زبان برنامه نویسی یاد بگیرید ... یک زبان که از شی گرایی و کلاس ها پشتیبانی کند (مثل جاوا یا سی پلاس پلاس)، یک زبان تابعی (مثل لیسپ یا ml ) (م: یا haskell ) ، یک زبان اعلانی (مثل پرولوگ یا قالب ها در سی پلاس پلاس)، یک زبان که از coroutine ها پشتیبانی کند1 (مثل scheme یا icon ) (م: امروزه زبان های دیگری از جمله سی شارپ هم coroutine را دارند) و یک زبان که از برنامه نویسی موازی پشتیبانی کند (مثل sisal ) (م: و erlang )* یادتان باشد که ما با کامپیوتر سر و کار داریم ...
|
صفحه 1
|
2 | 3 | 4 |
|