نویسنده امین صفایی:
اشاره :
معمولاً وقتی سازمان یا شرکتی
نرمافزاری را سفارش میدهد، هیچگاه به این موضوع فکر نمیکند که ممکن
است قبل از تحویل گرفتن آن، نرمافزار او بمیرد و از آن محصول نتواند
استفاده کند. یا اگر نرمافزار را سالم تحویل بگیرد باز هم به این موضوع
فکر نمیکند که این نرمافزار روزی میمیرد.
سازمانهای بزرگ
هزینههای قابلتوجهی را صرف خرید تجهیزات IT از سختافزار گرفته تا
نرمافزار و تجهیزات شبکهای میکنند و نکته قابل توجه اینکه بیشترین
درصد خرابی و مشکلات از آن نرمافزار است، اما به راستی چرا اینگونه است؟
چرا در اکثر پروژههای نرمافزاری کشورمان این مشکل دیده میشود؟ تجربه
شخصی من برای پاسخ دادن به این سؤالات، عدم توجه به هشت نکته مهم را دخیل
میداند:
1- یکی از مشکلات پروژههای نرمافزاری نداشتن برنامه
کاری یا داشتن برنامه زمانبندی غیرحقیقی است. به عنوان مثال، در حالی که
نظر کارشناسی این است که مدت زمان اتمام پروژه با توجه به اجزای آن چهار
ماه طول خواهد کشید، شما به عنوان مدیر پروژه نرمافزاری نباید قول بدهید
که پروژه دو ماه دیگر به اتمام میرسد. این کار باعث خواهد شد به دلیل
کمبود وقت کیفیت نرمافزار کم شود.
نانوتکنولوژی چیست؟
نانوتکنولوژی تولید کارآمد مواد و دستگاهها و سیستمها با کنترل ماده در
مقیاس طولی نانومتر، و بهره برداری از خواص و پدیده های نوظهوری است که در
مقیاس نانو توسعه یافته اند.
یک نانومتر چقدر است؟ یک
نانومتر یک میلیاردم متر (9-m 10) است. این مقدار حدوداً چهار برابر قطر
یک اتم است. مکعبی با ابعاد 5/2 نانومتر ممکن است حدود 1000 اتم را شامل
شود. کوچکترین IC های امروزی با ابعادی در حدود 250 نانومتر در هر لایه به
ارتفاع یک اتم، حدود یک میلیون اتم را در بردارند. در مقایسه یک جسم
نانومتری با اندازه ای حدود 10 نانومتر، هزار برابر کوچکتر از قطر یک موی
انسان است. امکان مهندسی در مقیاس مولکولی برای اولین بار توسط ریچارد
فاینمن (R.Feynnman)، برنده جایزه نوبل فیزیک، مطرح شد. فین من طی یک
سخنرانی در انستیتو تکنولوژی کالیفرنیا در سال 1959 اشاره کرد که اصول و
مبانی فیزیک امکان ساخت اتم به اتم چیز ها را رد نمی کند. وی اظهار داشت
که می توان با استفاده از ماشین های کوچک ماشین هایی به مراتب کوچک تر
ساخت و سپس این کاهش ابعاد را تا سطح خود اتم ادامه داد. همین عبارت های
افسانه وار فاینمن من راهگشای یکی از جذاب ترین زمینه های نانو تکنولوژی
یعنی ساخت روبوت هایی در مقیاس نانو شد. در واقع تصور در اختیار داشتن
لشکری از نانوماشین هایی در ابعاد میکروب که هر کدام تحت فرمان یک
پردازنده مرکزی هستند ، هر دانشمندی را به وجد می آورد. در رویای
دانشمندانی مثل جی استورس هال (J.Storrs Hall) و اریک درکسلر (E.Drexler)
این روبوت ها یا ماشین های مونتاژکن کوچک تحت فرمان پردازنده مرکزی به هر
شکل دلخواهی درمی آیند. شاید در آینده ای نه چندان دور بتوانید به کمک
اجرای برنامه ای در کامپیوتر، تختخوابتان را تبدیل به اتومبیل کنید و با
آن به محل کارتان بروید.
SOAP
مخفف Simple Object Access Protocol است. SOAP یک پادمان مبتنی بر XML
است، برای رد و بدل کردن اطلاعات بین برنامه ها. اطلاعات در SOAP به صورت
پیام (Message) و از طریق پادمانهای موجود در اینترنت مانند HTTP منتقل
میشود (SOAP در سایر پادمان ها، مانند SMTP یا MIME نیز قابل استفاده
است). به زبان سادهتر، SOAP یک پادمان است برای دستیابی به یک سرویس
ارایه شده در وب (Web Service). آخرین نسخه SOAP، نسخه 1.2 میباشد.
ویژگی های SOAP
برای این کار راههای مختلفی در اینترنت وجود داره و که من به یکی از راحت ترین و بهترینشون می پردازم . راه
حل : به سایتمون فایل global.asax را اضافه می کنیم . ( کلیک راست بر روی
وب سایت ، انتخاب گزینه Add New Item… و انتخاب گزینه Global Application
Class ) . سپس درون این فایل متد زیر را اضافه می کنیم :
ابتدا باید در مورد یکی از متدهای موجود در دات نت که این امکان رو به ما
میده صحبت کنم . متد HttpContext.RewritePath() به ما این اجازه رو می ده
که به طور داینامیک آدرسی خاص که توسط مرورگر درخواست میشه رو به مسیری
جدید redirect کنیم . به عنوان مثال هر گاه آدرس http://www.mysite.com/mypage.html درخواست شد ، به آدرس http://www.mysite.com/mypage.aspx هدایت بشیم .
خب ، با دونستن این مطلب مساله رو به این شکل فرض می کنیم که : ما یک وب سایت داریم به نام www.HideExtensions.com
که این سایت حاوی یک دایرکتوری به نام Dir1 می باشد و درون این دایرکتوری
دو صفحه موجود است به نام های Page1.aspx و Page2.aspx . در root سایت هم
صفحه Default.aspx رو داریم که حاوی دو Button هست که هر یک ما رو هدایت
می کنه به یکی از دو صفحه فوق .
حالا می خوایم زمانی که به صفحه Page1.aspx میریم در نوار آدرس این تغییر بوجود بیاد :
هوش مصنوعی چیست؟
هوش مصنوعی Artificial Intelligence تکنیکی برای خلق کردن ماشینهای است که قادر به فکر کردن بدون نیاز به انسان ها می باشند. یک ماشین تنها در صورتی به عنوان یک AI شناخته میشود که از یکسری قابلتهای خاص برخودار باشد. یکی از این قابلیتها داشتن شناخت از وجود خود و یا sentient بودن است. این بدین معناست که ماشین از وجود خود آگاه باشد. هر انسان به طور طبیعی از حضور و وجود خود آگاه است اما هنوز مدرکی دال بر sentient بودن حیوانات در دست نیست. تا کنون ماشینی که توانایی درک از خود را داشته باشد خلق نشده است اگر چه یک گروه از دانشمندانی که در حال انجام یکسری ازمایشات بر روی رباتهای زنده ((living robots ای که به گونه ای طراحی شده بوده اند که به طور مستقل فکر کنند، بوده اند ادعا کرده اند که یکی از ربات های آنها به نام گک (Gaak ) تلاش کرده است تا از محل زندگی خود فرار کند.
ادامه مطلب ...
سیستم فایل
NTFS
چیست ؟
حتما تا کنون با عناوینی همچون FAT16 و FAT32 آشنا هستید . این دو از سیستم های فایلی مایکروسافت هستند که در حال حاضر با توجه به گسترش زمینه های مختلف سیستم های کامپیوتری ناکارآمد و غیر قابل اطمینان هستند.
یکی از مهمترین مشکلات امنیتی در سیستم FAT16 و FAT32 عدم توانایی در تعریف سطوح مجوز دسترسی به فایل ها و یا پوشه ها می باشد . که این امر می تواند به عنوان یکی از دلایل ناکارآمدی و قابل اطمینان نبودن این سیستم ها در سطوح شبکه باشد .
بر این اساس مایکروسافت سیستم فایلی جدیدی تحت عنوان NTFS را ایجاد نمود که از یک ساختار 64 بیتی پشتیبانی می کند و از این رو کاربران می توانند فایل هایی ایجاد کنند که طول نام آنها تا 256 کارکتر باشد .
چهار مجوز استاندارد در سیستم NTFS برای فایل ها و پوشه ها وجود دارند :
1- No Access: با انتخاب این گزینه کاربران هیچگونه مجوزی برای خواندن ، نوشتن و ... فایل یا پوشه مربوطه نخواهند داشت .
2- Read : با توجه به آنکه اجزاه خواندن یک فایل شامل اجرای آن نیز می باشد ،از این رو کاربری که این سطوح از دسترسی را داشته باشد می تواند فایل را اجرا کرده و آن را بخواند .
3- Change : این سطح دسترسی و مجوز ، کاربر را قادر می کند تا فایل را خوانده و در صورت لزوم تغییرات خود را در آن انجام دهد یا حنی فایل را حذف کند .
ادامه مطلب ...
مقاله ای در مورد فلش مموری
حافظه های الکترونیکی در انواع گوناگون و برای مصارف مختلف ساخته شده اند . حافظه های فلش به دلیل سرعت بالای آنها در ثبت اطلاعات و همچنین استفاده فوق العاده آسان بسیار پر فروش و پر طرف دار می باشند . از این رو در دوربین های دیجیتالی ، تلفن همراه و سایر دستگاه ها شاهد استفاده روز افزون از آنها هستیم . شیوه ذخیره اطلاعات در این نوع از حافظه بسیار شبیه به ذخیره اطلاعات در RAM می باشد . در حقیقت حافظه های فلش در نحوه فعالیت مشابه یک منبع ذخیره اطلاعات ثابت عمل می کند . به این معنی که در آنها هیچ قطعه متحرکی به کار نرفته و تمام کارها توسط مدارات الکترونیکی انجام می شود . در مقابل درون دیسک های سخت چندین قسمت متحرک وجود دارد که این وضع خود آسیب پذیر بودن این گونه حافظه را نسبت به حافظه های فلش نشان می دهد . قطعاتی از قبیل تراشه های BIOS ، حافظه های فلش متراکم شده که در دوربین های دیجیتالی به کار می روند ، حافظه های هوشمند ، Memory Stick و کارت های حافظه که در کنسول های بازی به کار می روند همه و همه از این نوع حافظه استفاده می کنند . در این قسمت به فن آوری و زیر ساخت این نوع حافظه نگاهی کوتاه داریم . حافظه های فلش از تراشه های EEPROM ساخته شده اند . همان طور که در مقالات قبلی ذکر شد در این گونه از حافظه ها ذخیره و حذف اطلاعات توسط جریان های الکتریکی صورت می پذیرد .
ادامه مطلب ...HTML سرواژهٔ HyperText Markup Language و به معنای « زبان نشانهگذاری اَبَرمتن » است (که البته برخی آنرا « زبان علامتگذاری فرامتن » ترجمه کردهاند).
اچتیامال، سنگِبنای وب است؛ یک زبان رایانهای که برای تدوین قالب و طراحی صفحات وب به کار برده میشود. دستورالعملهای این زبان، برچسب (Tag) نام دارند که محتوای یک صفحهٔ وب، به وسیلهٔ آنها، نشانهگذاری شده و بدینترتیب، نحوهٔ نمایش آن صفحه برای مرورگرهای وِب، توصیف میشود. هر یک از برچسبهای اچتیامال، معنا و مفهوم خاصی دارند و تأثیر مشخصی بر محتوا میگذارند؛ مثلاً برچسبهایی برای تغییر شکل ظاهری متن، نظیر درشت و ضخیم کردن یک کلمه یا برقراری پیوند (Link) به صفحات دیگر در اچتیامال تعریف شدهاند. یک سند اچتیامال، یک پرونده مبتنی بر متن (Text–based) است که معمولاً با پسوند .htm یا .html نامگذاری شده و محتویات آن از برچسبهای اچتیامال تشکیل میشود.
مرورگرهای وب، که قادر به درک و تفسیر برچسبهای اچتیامال هستند، تکتک آنها را از داخل سند اچتیامال خوانده و سپس محتوای آن صفحه را نمایانسازی (Render) میکنند. اچتیامال یک زبان برنامهنویسی نیست، بلکه زبانی برای نشانهگذاری ابرمتن است و اساساً برای ساختمندکردن اطلاعات و تفکیک اجزای منطقی یک نوشتار — نظیر عناوین، تصاویر، فهرستها، بندها و جداول — به کار میرود. از سوی دیگر، اچتیامال را نباید به عنوان زبانی برای صفحهآرایی یا نقاشی صفحات وب به کار بُرد؛ این وظیفه اکنون بر دوش فناوریهای دیگری چون شیوهنامههای آبشاری است. گفتنی است اچتیامال شکلی از زبان دیگری بنام اس.جی.ام.ال است و « کنسرسیوم وب جهان گستر » آنرا به عنوان استانداردی برای نشانهگذاری مستندات ابرمتنی برای عرضه در وب، تدوین کرده است.
جمع آوری : علی نجف زاده
(دانشجوی رشتة نرم افزار کامپیوتر)
برگرفته از سایت چشمک