معرفی دو کتاب برای فراگیری مبانی شبکه و برنامه نویسی
شهریور ۱۳۹۰ - IT, Network, Programming - محمدعرفان شمسیورود به دنیای شبکه:
خیلی از دوستان از بنده درباره نحوه ورود به دنیای شبکه سوال می کنند. غیر از فاکتور های معمول برای پیشرفت در هر زمینه ای مانند تلاش و پشتکار که قبلا در مورد آنها به طور مفصل بحث کرده ام، داشتن اساتید و منابع خوب برای هر رشته ای فوق العاده ضروری است. در واقع باید به هر نحوی که شده، یک نقطه ی پرش برای خودمان درست کنیم که این نقطه می تواند یک اتفاق خوب، یک استاد خوب و یا هر بهانه ی دیگری باشد. رسیدن به این نقطه ی تحول، خیلی مهم است و لازمه ی آن، اول باور کردن این موضوع است که “من هم می توانم پیشرفت کنم”. و دوم تلاش برای رسیدن به نقطه ای که مسیر زندگی را در جهت مثبت عوض کند و این تلاش و این نقطه برای هر شخصی می تواند متفاوت باشد.
اما به طور خاص اگر بخواهیم در مورد شبکه صحبت کنیم، من دو توصیه اکید دارم.
اول: تا حد امکان برای شروع و ورود به دنیای شبکه، یک دوره کلاس بروید. کلاس های +network می تواند مفید باشد. در ابتدا اگر کسی باشد که مفاهیم شبکه را به شما منتقل کند، بسیار سرعت پیشرفت بهتری پیدا خواهید کرد تا بخواهید با بعضی از مفاهیم گنگ شبکه خودتان آشنا شوید.
اما اگر امکان کلاس رفتن ندارید، در کنار مورد دومی که در ادامه ذکر می کنم، می توانید از مطالب آموزشی شبکه که در این وبلاگ و و وبلاگ سایر دوستان در اینترنت وجود دارد استفاده کنید. منابع ارزشمندی چون شبکه های کامپیوتری ، سیسکو به پارسی ، عرفان طاهری ، پرشین نتورک و … که همگی به پارسی هستند، بسیار به شما کمک خواهند کرد.
دوم: اما مهمترین بخش کار، چه کلاس بروید و چه نروید، مطالعه کتب منبع لاتین است. همواره در هر سطحی که هستید، کتب مختلف را بخوانید و با احترام زیاد به مترجمین و مولفین پارسی، توصیه اکید می کنم از خواندن کتب منبع به زبان فارسی پرهیز نمایید.
در این موضوع که در زمینه ی کامپیوتر کتب فارسی بسیار خوبی داریم شکی نیست و حتما هم پیشنهاد می کنم این کتاب ها را بخوانید، اما همواره در ابتدای هر راه، کتب لاتین بخوانید و برای تکمیل دانسته هایتان از کنار هیچ کتابی، چه پارسی و چه لاتین، نگذرید.
اما برای اولین کتاب هم، کتاب دوره ی +network را به شما معرفی می کنم. این کتاب، کتاب جامع و خوبی برای ورود به دنیای شبکه است. آخرین نسخه ی کتاب را که اگر اشتباه نکنم متعلق به سال 2009 است، از این لینک دانلود نمایید.
کتاب برنامه نویسی:
در پایان هم کتابی در زمینه ی برنامه نویسی به شما معرفی خواهم کرد. اگر قصد شروع به کار با دات نت و زبان #C را دارید، کتاب CSharp and dotNET Platform که ویرایش پنجم آن با عنوان CSharp 2010 and the dotNET 4 Platform منتشر شده است، کتابی فوق العاده برای شما خواهد بود.
کتابی در حدودا 1700 صفحه که دید شما در یادگیری و کار با زبان برنامه نویسی را تغییر خواهد داد. باز هم تاکید می کنم حجم زیاد و زبان لاتین کتاب ها، شما را نترساند. اگر همت کنید و آهسته اما پیوسته پیش بروید، قطعا موفق خواهید شد. دانلود کتاب
نرم افزار خواندن کتاب های الکترونیکی!:
به نظر خوب است به بهانه ی معرفی دو کتاب، نرم افزاری عالی برای مطالعه کتب الکترونیکی را هم به شما معرفی کنم. با نرم افزار Nitro PDF Professional ابتدا به عنوان یک مبدل فایل های Word به PDF آشنا شدم. اما ویژگی های عالی این نرم افزار، آن را از خیلی از نرم افزار های مشابه متمایز می کند. اگر کتاب های الکترونیکی زیادی مطالعه می کنید و نیاز به یادداشت برداری و یا مواردی از این دست دارید، این نرم افزار را از دست ندهید. توضیحات بیشتری در این مورد نیاز نیست و کافی است کمی در اینترنت سرچ کرده و نسخه ای مناسب! را پیدا و نصب نمایید.
انتخاب سیستم عامل مناسب با توجه به سختافزاری که در اختیار داریم، مسالهایست که شاید برای هر کاربر رایانهای اتفاق بیفتد. اینکه بتوانیم حداکثر استفاده را از تواناییهای موجود ببریم و با این حال در حین استفاده از سیستم عامل مربوطه، از سرعت کافی نیز بهره ببریم. سیستم عاملی چون ویندوز 7 که با داشتن نسخههای مختلف سعی در برآوردهسازی نیاز ما داشته است، یا ابونتو لینوکس که با داشتن میز کاری که خود را از دیگر سیستم عاملها جدا میسازد و تا آخرین نسخهاش از چندین زیر مجموعه برای استفادههای متفاوت چون نِتبوک و غیره تشکیل میشده است، خود گواهی بر این موضوع است که استفادهی بهینه از سختافزارهای موجود چالشیست که با تمام پیشرفتهای لازم در دنیای رایانه، باز هم در میان کاربران وجود دارد. چالشی که شاید هر کدام از کاربران با هر سلیقهای ولو استفاده از دنیای آزاد و یا دنیای ویندوز و اپل و … هر کدام به گونهای با آن درگیر بوده باشند. در این مطلب سعی بر معرفی جزء به جزء سیستم عامل Joli OS نداریم. تنها تجربیات شخص بنده را که در انتخاب سیستم عاملی سبک، کارا و جذاب بدست آمده را مرور میکنیم. تجربیاتی که شاید برای هر کدام از کاربران رایانه اتفاق افتاده باشد. مرور تجربیات، نکاتی جالب را بر ملا میکند که باعث میشود کاربر بیشتر به نیازهای خود پی ببرد.
در اینجا ما نِتبوکی داریم تحت عنوان Lenovo IdeaPad S12 - 29595FU . این نِتبوک در سری نِتبوکیهای S12 ئه Lenovo، جزء برترین مدل انتخاب میشود که البته در حال حاضر از اولین خروجیهای Lenovo در این رده بوده است و بعد از آن با توجه به نیازهای کاربران دستخوش تغییراتی هر چند کوچک نیز قرار گرفته است و در نهایت آخرین فروشهای خود را در چند ماه پیش انجام داده و در حال حاضر در بازارهای جهانی فروش رسمی ندارد. اما موضوعی که باعث شد این روند حرکتی از ویندوز هفت اصلی قرار داده شده در آن به سیستم عاملی دیگر طی شود راحتیِ کار و کم نشدن سرعت در استفاده های مختلف بود. از آنجا که این نِتبوک از سری پردازشکرهای Atom استفاده میکند، میتوان به وضوح این مشکل را در آن مشاهده کرد. بنابراین سعی در مراجعت به سیستم عاملهای دیگری شد که شاید بهترین گزینههای موجود، توزیعهای مختلف لینوکسی باشد. اما موضوعی که بیشتر از همه مرا درگیر خود کرد نیاز آنلاین بودنِ من بود. من به حکم برنامهنویس بودن و رفت و آمدهای مداوم نیاز مبرم به استفادهی بهینه از زمان، در زمانهای متفاوت داشتم. بنابراین گزینههای موجود + همان ویندوز اصلی خود نِتبوک نمیتوانستند نِتبوکی که شاید به ظاهر نِتبوک بود اما قرار بود گجتی شود که باید مثل یک تبلت یا گجت همراه عمل کند برآورده سازد را ایجاد کنند. پس در میان گزینههای متفاوت لینوکسی، به دنبال آن توزیعی رفتم که بتواند تا حدی این مشکل را بر طرف سازد. بهترین گزینه پس از جستجوی بسیار، Joli OS بود. این توزیع که به Jolicloud نیز نامگذاری میشود، سیستم عاملیست که نیازهای آنلاین هر کاربری را با استفاده از Cloud computing بر طرف میسازد. هر کاربر با داشتن یک حساب کاربری در سایت اصلی توزیع، میتواند از سیستم دیگری به راحتی دسکتاپ خود را کنترل کند. اما تا اینجای کار تنها شاید بُعد ظاهری بر طرف شده باشد. موضوع اصلی پردازشگر نِتبوک میباشد. با توجه به تجربهی قبلی در استفاده از ابونتو و چاک، به سنگین بودن آنها پی برده بودم. اما مهمترین مزیتی که Joli OS پس از نصب مرا شیفتهی خود کرد، روان بودن و اجرای بوت سریع و بدون دردسر و حتی شاید ظاهری زیبا و متفاوت از تمام توزیعهای دیگر بود. اگر سری به بخش JoliBook زده باشید متوجه نِتبوکی سفارشی میشوید که از این سیستمعامل بهره میبرد. سختافزاری که برای این سیستمعامل قرار داده شده است خود گویای نیاز پایین آن به سختافزار را نشان میدهد. سیستم عامل پس از نصب، براحتی تمام سختافزارهای موجود را شناسایی کرده و هیچ مشکلی تا لحظهی ویرایش این مطلب نداشته است.
اما توضیحاتی کوتاه درباره این سیستم عامل: این سیستم عامل بر پایهی Ubuntu ساخته شده است. مرورگریست به عنوان سیستمعامل که میتواند از دو بخش Local و Online بهره ببرد. بخش Online تنها زمانی فعال میشود که اتصال به اینترنت فراهم باشد. بخش Local نیز مانند تمام سیستم عاملهای دیگر قابلیت مدیریت کامل را به کاربر میدهد. اما مزیت خیلی خوب این سیستمعامل همخوان ساختن این دو بخش با یکدیگر است. کاربر به راحتی میتواند از میان برنامههای مختلف، نیازهای اولیهی خود مانند، گرافیک، آفیس، صوتی و تصویری و … را بر طرف سازد. براحتی میتواند به طور مستقیم با فیسبوک، گوگل داک و دراپباکس ارتباط برقرار سازد و از طریق بخش مدیریت فایل آن، این حسابها را کنترل نماید. مرورگر وب در حالت اولیهی آن Chromium 13.0.782.107 (Developer Build 94237 Linux) میباشد که به طور تخصصی برای این سیستم عامل ساخته شده است. اگر از کاربران گوگل کروم باشید، میتوانید ساختار App و Extention های آن را در اینجا به نامهای Apps و Add-on تجربه نمایید. برای نصب هر برنامه، کافیست در صورت اتصال به اینترنت، به بخش برنامههای آن که با آیکون (+) سبز رنگ مشخص شده است رفته و تنها با انتخاب Add برنامهی مربوطه را نصب نمایید. بسته به حجم مورد نظر، مراحل Sync انجام میشود تا کاربر بتواند از حساب کاربری خود نیز آن را مدیریت نماید.
اما هدف از ارائهی این مطلب چه بوده است؟ آیا همین اطلاعات اندک نیز کافیست تا ما این سیستم عامل را برای استفاده انتخاب نماییم؟ مسلما خیر. موضوعی که در این مطلب روی آن حساسیت نشان داده شد، ساختاریست که ما برای آن تصمیم میگیریم. شاید اگر ساختار سختافزاری نِتبوک میتوانست ویندوز را براحتی پردازش کند به این سیستم عامل رجوع نمیکردیم. اما راحتی کار و اینکه چطور از امکانات موجود نیازهای خود را برطرف سازیم بحثیست که ما را به اینجا کشانده است. حالا من براحتی بدون کاهش سرعت و به مانند رایانهی عادی، میتوانم فایلهای آفیس خود را مدیریت کنم، به ویرایش تصاویر بپردازم و یا فیلم و آهنگ خود را بدون هیچ مشکلی اجرا کنم. کدهای خود را بنویسم و براحتی در لوکال سروری که در آن نصب کردهام اجرا کنم. من به عنوان یک کاربر حتی نیمه حرفهای از ابتدا برای چه به دنبال نِتبوک رفتهام؟ مطمئنا هدفی که از خرید نِتبوک داشتهام سادگی کار و بر طرف کردن نیازهای عادی و روزمرهی اولیهی من بوده است که بتوانم براحتی آن را حمل کنم و در مکانهای مختلف، سریع اجرا کنم، راحت پردازش کنم و راحت خروجی بگیرم. پس چه بهتر از JoiCloud !
با این حال، این تصمیم کاربران است که با توجه به نیاز خود، سیستم عامل خود را انتخاب نمایند. برخی بر حسب علاقه بسیار به یک بِرند و برخی با توجه سخت افزار موجود. و حتی شاید برای برخی کاربران سرعت مهم نباشد! گزینههای مختلف را امتحان کنیم و بعد در مورد خصوصیات یک سیستم عامل نتیجه بگیریم بهتر است تا اینکه خود را با مورد حاضر و آماده سرگرم کنیم و شاید هیچ گاه به نتیجهی دلخواه خود نرسیم. در این راستا Slax را نیز امتحان کنید! جالب است.
چگونه مهندس کامپیوتر/ آی تی شوم؟
مرداد ۱۳۹۰ - IT - محمدعرفان شمسیاگر سری به قسمت نظرات این وبلاگ بیندازید، خواهید دید دوستان سوالات زیادی را مطرح کردند که متاسفانه اینجانب به آنها پاسخی نداده ام. علت این موضوع نه در بی احترامی بنده به خوانندگان این وبلاگ، که به کمرنگ شدن حضور خودم در اینترنت مربوط می شود و از این بابت از تمامی عزیزان عذرخواهی می کنم.
در این مطلب قصد ورود به مبحث مهمی را دارم که برای خیلی از افرادی که عزم ورود به دنیای آی تی و کامپیوتردارند، سوال و یا حتی معضل می باشد. گام به گام با یکدیگر بررسی خواهیم کرد که چگونه بین دو رشته ی کامپیوتر و آی تی یکی را برگزینیم و برای موفقیت در آن چه کار هایی لازم است تا انجام دهیم. پس تا پایان با ما باشید.
فایل پی دی اف این مطلب را از اینجا دانلود و سپس پرینت کنید.
مهندسی کامپیوتر یا مهندسی آی تی؟
مهندسی کامپیوتر شاید کمی شناخته شده تر از مهندسی فناوری اطلاعات باشد. اما با این حال در این پست مجالی برای تعریف مهندس فناوری اطلاعات نیز نداریم که قبلا در چندین پست به معرفی این رشته پرداختم. اما اکنون سوال این است که من عاشق کامپیوتر هستم و بیشتر ساعات روز را در پشت سیستم می گذرانم. اما نمی دانم کدام رشته برایم مناسبتر است؟
برای پاسخ به این سوال باید به طور واضح نکته ای را برایتان روشن کنم. شاید در نظر اول مهندسی کامپیوتر و فناوری اطلاعات شباهت هایی به هم داشته باشند. چه از نظر دروس دانشگاهی و چه از این نظر که هر دو با کامپیوتر سر و کار دارند. اما من تفاوت این دو رشته را مشابه دو رشته معماری و عمران می دانم. همان طور که کار مهندسین این دو رشته کاملا متفاوت از هم و البته مکمل هم می باشد، مهندسین کامپیوتر و فناوری اطلاعات نیز همین نسبت را به یکدیگر دارند. دو رشته ای که جدا از هم، و در عین حال می توانند مکمل هم باشند. ( اینکه چرا این دو رشته را جدا از یکدیگر میبینم بحث این مطلب نیست و پستی مفصل را میطلبد )
توضیحات بالا برای بیان این نکته بود که برای انتخاب هر یک از این دو رشته، باید شناخت کافی نسبت به هر دو پیدا کنید. مطالبی که قبلا در این ارتباط نوشته ام، می تواند کمک شایانی به شما کند. ( اینجا را کلیک کنید )
اما در یک نگاه، هر دو رشته دارای پتانسیل زیادی برای پیشرفت هستند و جذابیت های فراوانی دارند. شاید این جذابیت ها در فناوری اطلاعات که رشته ای جامع و کلی تر است، به دلیل وجود مباحث مختلف بیشتر نیز باشد.
اگر از همین الان علاقه مند به برنامه نویسی هستید و حس می کنید توانایی زیادی در این بخش دارید، مهندسی کامپیوتر را برگزینید. اگر به چند مبحث از کامپیوتر مانند برنامه نویسی، شبکه، هوش مصنوعی و یا … علاقه مند هستید، فناوری اطلاعات را برگزینید. اما اگر هنوز نتوانستید به درک درستی از علاقه مندیتان برسید، پیشنهاد اکید می کنم ابتدا از نو و از صفر، در عقاید و علاقه مندیتان تجدید نظر کنید و از مطلعین بیشتر مشورت بگیرید. شاید علاقه ی شما به کامپیوتر مانند چند صد مورد از سایر علاقه مندی هایتان به چیز های خوب زندگی باشد.
به طور واضح بگویم در درونتان باید این حس وجود داشته باشد که با یک بینش و دید کامل به این رشته ها نگاه کرده اید و به آنها علاقه مند شده اید. اگر چنین حسی دارید باید به شما تبریک بگویم و پیشنهاد کنم که به حس درونیتان اعتماد کنید!
سال های قبل از دانشگاه:
اگر هنوز با ورود به دانشگاه فاصله دارید و دغدغه ی کامپیوتر را دارید، خیلی خوب است. در این سال ها به این دلیل که کمی وقتتان بیشتر است، توصیه می کنم توانایی های عملی خودتان را بالا ببرید. می توانید برنامه نویسی یاد بگیرید، سایت طراحی کنید و یا حتی شبکه راه بیندازید. مواردی که ذکر کردم، می تواند جز ساده ترین و همچنین سخت ترین کار های یک مهندس آی تی یا کامپیوتر باشد. شما به بخش ساده ی کار نگاه کنید و در حد خودتان به این توانایی ها دست پیدا کنید.
در اینترنت زیاد حضور داشته باشید. مطالب سایت های آی تی و کامپیوتر را بخوانید که بیشترین فایده را برای شما در همین سن خواهند داشت.
حتی می توانید به فکر شرکت در المپیاد کامپیوتر باشید. برای این هدف، لازم است کمی کتاب های دانشگاهی را هم مطالعه کنید که اگر همت کنید، اصلا سخت نیست. اما رمز پیروزی و موفقیت شما خواهد بود.
شاید دغدغه ی تحصیل در یک دانشگاه خوب را داشته باشید. چنین خواسته ای بسیار عالی و آینده دار جلوه می کند. اما به این شرط که فکر نکنید با ورود به شریف یا تهران، شاخ فیل را شکسته اید. خیلی رک و واضح بگویم که چنین طرز فکری کاملا اشتباه است. بعد از ورود به یک دانشگاه خوب و کمی تحصیل، پی به واقعیت هایی خواهید برد که ممکن است باعث بروز مشکلات زیادی در روحیه و قدرتتان برای پیشرفت شود. حتما و حتما درس بخوانید و سعی کنید در یک دانشگاه خوب قبول شوید، اما با این شرط که دانشگاه خوب را پلی برای پیشرفت بیشتر ببینید، نه پایان کار.
سال های دانشگاه:
در این سال ها باید خیلی فعالیت کنید. اگر پشتوانه ی فنی خوبی از دوران دبیرستان دارید، سعی کنید حتما جایی مشغول به کار شوید. اگر پشتوانه ی فنی ندارید، ابتدا خودتان را قوی کنید و بعد به هر صورت ممکن کاری برای خودتان دست و پا کنید. حتی اگر از شما بیگاری کشیده شود و یا دستمزدی به شما تعلق نگیرد. این کار کردن ها شما را فنی بار خواهد آورد. البته فراموش نکنید در جایی که به عقاید شما احترامی گذاشته نمی شود و یا حرمت ها رعایت نمی شود کار نکنید. حتی اگر پول هم بدهند. حفظ عزت و اعتماد به نفستان برتر از هر چیز دیگر است.
کار کردن بسیار خوب، اما به تنهایی خنده دار است. اگر قرار بود تنها کار کنید، نیازی به دانشگاه هم نبود. کاری که باید در این دوران زیاد بکنید، مطالعه است. مطالعه، مطالعه و باز هم مطالعه. هدف را بسیار فراتر از پاس کردن واحد های دانشگاه قرار دهید. دو توصیه ی مهم در این قسمت دارم. اول اینکه هر واحد تخصصی که می گذرانید، مسلما اساتیدتان کتب مرجعی را به شما معرفی خواهند کرد. حتما این کتب را بخوانید. حتی اگر بعد از اتمام آن ترم و یا هر موقع دیگری که وقتتان اجازه داد، شد. کتب مرجع تمامی دروستان را بخوانید. بعد از مطالعه این کتب، هر کتاب مرتبط دیگری که به دستتان رسید هم بخوانید. خواهید دید که بیشتر از حد تصورتان قوی خواهید شد.
توصیه دوم هم این است که تا حد ممکن کتاب های لاتین بخوانید. می دانم می گویید زبانم خوب نیست. یا اینکه می گویید کتاب لاتین وقت بیشتری از من میگیرد. اما باور کنید اینها دلایل قابل قبولی نیستند. کتاب های کامپیوتر و آی تی، دارای لغات تخصصی هستند. ممکن است یک ماه اول کمی سخت باشد، اما بعد از آن کم کم راه خواهید افتاد. نیازی نیست زبان را کاملا بلد باشید. کافی است با لغات تخصصی کامپیوتر آشنا شوید و بعد از آن راحت خواهید بود. علم کامپیوتر متعلق به غرب است و همان طور که همواره دوست داریم در هر زمینه ای، نزد بهترین اساتید آن رشته آموزش ببینیم، برای یادگیری کامپیوتر هم بهترین استاد در دسترس، کتب لاتین است.
در این دوران وقتتان را بیهوده در اینترنت تلف نکنید. شکی در ضرورت حضورتان در اینترنت و آگاهی از آخرین اخبار و اطلاعات نیست. اما نگذارید اینترنت وقتتان را بیش از اندازه بگیرد. مطالب موجود در اینترنت را برای تکمیل دانسته هایتان مطالعه کنید، نه برای یادگیری یک مبحث جدید. برای یادگیری مبحث جدید به کتب مرجع در همان زمینه مراجعه کنید.
و این را بدانید که تفاوتی نمی کند در کدام دانشگاه تحصیل می کنید. تفاوت، در طرز فکر شما و نگاهتان به آینده است.
حد پیشرفت شما چه قدر است؟
معتقدم بیشتر ما انسان ها تا جایی که تلاش کنیم و از خودمان راضی نشویم، می توانیم پیشرفت کنیم. و این ارتباط زیادی هم به استعداد ندارد. شما می توانید مراحلی که در بالا ذکر شد را به بهترین شکل و حتی بیشتر و بهتر انجام دهید. بعد از اتمام دوران دانشگاه در شرکتی مشغول به کار هم شوید. اما تا پایان عمر در همان شرکت و در همان حد باقی بمانید.
یا می توانید همواره به دنبال تغییر و یادگیری باشید و برایتان فرقی نکند کجا هستید و چه قدر زمان دارید. تنها به یادگیری فکر کنید. من سعی می کنم جز این دسته از افراد باشم و به شما هم توصیه می کنم همین راه را برگزینید. فراغت از تحصیل و به دست آوردن شغل و کسب درامد، آرزو های خوب اما دست یافتنی هستند. پس نگران چنین آرزو هایی نباشید. به دنبال این باشید که همواره چیزی جدید یاد بگیرید.
کامپیوتر و یا آی تی می خوانید، اما کتب مدیریت بخوانید. کتب رشته برق و مخابرات را بخوانید. در مورد هوش مصنوعی کتاب بخوانید. در مورد ساختمان داده . در مورد رمز نگاری اطلاعات به دست بیاورید. دوره های آموزشی آزاد را بگذرانید. و هیچگاه نگران این نباشید که همسن و سال های من در حال خواندن دوره ی دکترا هستند و من هنوز کارشناسی را تمام نکرده ام و پس چند سال عقب هستم. اینها همه قواعد و قوانینی است که بشر ایجاد کرده. پس چه باک که این قواعد را زیر پا بگذاریم برای یادگیری بیشتر؟
سخن پایانی
هر آنچه که تا حالا ذکر شد تنها و تنها به یک شرط محقق خواهد شد و آن تلاش و پشتکار است. همواره و در همه حال تلاش کنید و از شکست ها هیچگاه نهراسید. می دانم ممکن است مشغول گذراندن دوران سختی باشید. من هم دوران سخت کم نداشته و نخواهم داشت. اما این نوید را به شما می دهم که روزی خواهد رسید که این سختی ها کنار خواهند رفت و شمایی که از پس این سختی ها بر آمده اید، دیگر همان فرد سابق نیستید. یک انسان بزرگ و قوی هستید که مشکلات نه تنها شما را متلاشی نخواهند کرد که باعث تعالی شما خواهند شد.
پایان.
فایل پی دی اف این مطلب را از اینجا دانلود و سپس پرینت کنید.
7 رمز مهم در یک پروژه طراحی موفق
آبان ۱۳۸۹ - IT - سعید حبیبیراههای زیادی وجود دارد تا فرآیند طراحی و توسعهی پروژه به موفقیت بیشتری برسد. برای اینکه این پروژه به درستی پیش رود، لازم است تا از دید خیلی بالاتری نسبت به یک طراح به آن نگاه کنیم. در این مقاله میخواهیم به 7 کلید موفقیت برای ایجاد یک پروژه توسط طراح بپردازیم تا هر چه بیشتر توسط کاربر مورد قبول واقع شود.
1. گاهشمار واقعی
طراحی و توسعهی یک پروژه موثر زمان به خصوص به خودش را میبرد. این زمان نسبت به انعطاف و تاثیرگذاریای که بر روی مخاطبش باید داشته باشد متغیر است. اما برخی از مشتریان این زمان را در نظر نگرفته و به این باورند که فرآیند طراحی میتواند سریعتر و بدون در نظر گرفتن تاثیرش انجام پذیرد. موضوعی که در بین مشتریان علی الخصوص ایرانی به وفور قابل مشاهده است.
این موضوع نیز غیر معمول نیست که زمان شروع تا پایان پروژه توسط طراح مشخص نگردد. یعنی مشتری باید بالقوه نسبت به تعیین زمان یک طراح اطلاعاتی را داشته باشد یا به اصطلاح طراح یک زمان غیر واقعی را به مشتری عرضه نکند. این زمان توسط طراح باید با استدلال کامل مطرح شود تا مشتری ضمن اطمینان متقابل در وهلهی اول، از برداشت نا مناسب در مراحل آینده نیز دور گردد. این زمان با صحبت در مورد اینکه چه مواردی میتوانند به سرعت انجام گیرند و عواقب احتمالی خود را دارند و یا اینکه چه مواردی میتوانند زمان بیشتری را به خود اختصاص دهند تا نتیجهی بهتری داشته باشند میتواند تعیین گردد. در بسیاری از موارد مشتری از انعطاف در این زمینه خودداری میکند و چارچوب زمانی خود را ملاک برای انجام پروژه قرار میدهد. بنابراین مهمترین رمز در موفقیت طراحی یک پروژه داشتن وقت مناسب و در عین حال بی دغدغه در انجام آن پروژه است.
2. نیازهای حقیقی مشتری
خدمات سفارشی طراحی وب نیاز مبرم به داشتن نیازهای خاص مشتری و کاربران آن دارد. هیچ طراحی نمیتواند هدف مشتری را به اندازهی خود او بررسی نماید، پس نیاز دارد تا اطلاعات موثر در زمینههای مختلف کاری او را برای درک بهتر وضعیت داشته باشد. رفتن به سمت طراحی بدون بررسی این نیازها چه از نظر یک طراح و چه از نظر مشتریان وسوسه انگیز است و شاید مهمترین مساله ای که یک طراح تازه کار را در شروع یک پروژه به فکر فرو میبرد، اتمام کار و دریافت وجهی است که در قبال طراحی قرار است دریافت نماید. همچنین مشتری نیز به هر چه سریعتر رسیدن به نتیجه فکر میکند اما با این کار از بررسی روند دریافت نیازهای حقیقی مشتری دور میشویم و در نتیجه، پروژه در انتها قالب سفارشیِ خود را از دست میدهد. این یعنی همان از دست دادن اعتماد اولیهی به طراح از جانب مشتری!
برای بهتر شناختن این موضوع به روند طراحی یک ساختمان فکر کنید. آیا برای ساختن یک برج به اندازهی یک ساختمان 2 طبقه مصالح لازم است؟ آیا این مصالح همان نیازهای حقیقی این ساختمان نیستند؟ آیا نمیتوان ارسال 140 کاراکتر از حالت فعلی هر شخص در توئیتر را نیاز او برای بیان آن حالت بیان کرد؟ اما چرا 140 کاراکتر انتخاب شده است؟!
هر طراح باید به این موضوع برسد که بررسی نیازهای هر پروژه با پروژههای دیگر متفاوت است. نیازهای بالقوه در هر مشتری شرایط بخصوص به خود را دربردارد که شاید همین موضوع باشد که طراحان بزرگ را در بررسی نیازها با طراحان دیگر جدا میسازد. همین موضوع است که طراح و مشتری را در همان شروع پروژه با هم همکار میسازد و نه جدا از هم.
3. درگیر شدن مشتری با روند طراحی
بعضی (نه همه) از مشتریان خواستار این هستند که مبانی کار و نیازها را به طراحان عرضه کنند و خود از روند انجام پروژه دور بمانند. یک پروژه موفق پروژهای است که در حین طراحی توسط طراحان، مشتریان نیز دخیل باشند تا از بازخوردهای پروژه در هر زمان اطلاع یابند. طبق تجربهای که شخص بنده در این زمینه داشتهام، حضور و اطلاع مشتریان در روند طراحی، میتواند بیش از پیش به طراح کمک نماید. البته لازم به ذکر است که این موضوع نباید به دخالت تغییر کند. به عبارت دیگر دشوار است تا بدون در نظر گرفتن همراهی مشتری در روند طراحی، به نتایج دلخواه رسید.
اگر شما نسبت به این موضوع خوشبین هستید و بر این باورید که حضور مشتریان میتواند به هر چه بهتر شدن نتایج کمک نماید در حالی که مشتریان شما بر نظر دیگری هستند، حتما وقتی را برای توضیح دادن این موضوع در نظر گیرید. مشتری اگر در روند سختی کار قرار گیرد خیلی بهتر میتواند با نتایج کنار آید.
4. تمرکز بر کاربران
یک پروژهی موفق، قبل از هر چیزی به بر طرف کردن نیازهای مشتریان میپردازد و میتواند از عهدهی این کار به خوبی برآید. یک طراح به راحتی میتواند به صورتی طراحی کند که حالت ویژه گیرد و بابت رضایت مشتری گردد، اما اگر او در این زمینه به برطرف کردن نیازهای کاربران توجهی نداشته باشد، مسلما به موفقیت نخواهد رسید. به عبارت دیگر یک طراح خوب، طراحی است که علاوه بر مشتری خود، به کاربران مشتری خود نیز فکر میکند.
در هنگام طراحی، طراح باید از روند بازدید و درک کاربران پروژه به خوبی اطلاع یابد یا به اصطلاح هدف مشتریِ خود از برخورد با کاربرانش را بداند. بدون دانستن این موارد مطمئن باشید که مشتری در طولانی مدت به این موضوع پی میبرد و بر این باور میگردد که طراح نتوانسته به درستی طراحی کند ( که حق هم دارد ). به عبارت دیگر این وظیفهی طراح است که تمام نیازها را در نظر بگیرد و در روند طراحی بررسی کند و مشتری تنها هر چیزی که طراح بخواهد را باید در اختیارش قرار دهد.
5. دریافت بازخوردهای خاص از مشتریان
به صورت کلی شاید راضی کردن مشتری در نظر طراح یک موفقیت حساب گردد اما چیزی که بیشتر باید مورد توجه قرار گیرد هدفهای خاص مشتری از پروژه است. بسیاری از مشتریان با دادن یک هدف کلی و بدون پرداخت به جزئیات میخواهند به نتیجهی دلخواه خود برسند. از منظر مشتریان میتوان به این نتیجه رسید که فرهنگی باید در مشتریان ایجاد گردد که این باور را داشته باشند که بدون در اختیار دادن اهداف دقیق و کلی خود، نمیتوانند به نتیجهی دلخواه خود برسند. با این حال اگر این مورد را بخواهیم از دید طراح بررسی کنیم به این نتیجه برسیم که طراح خوب برای اینکه نتیجهی خوبی را در اختیار مشتری قرار دهد باید این توانایی را داشته باشد تا تمام نیازهای او را دریافت نماید. این کار میتواند با ارائه پرسشهایی از جانب طراح انجام شود. طراح باید طوری رفتار کند که مشتری به این نتیجه برسد که در اختیار قرار دادن این اطلاعات نه تنها ضرری برایش ندارد بلکه میتواند نتایج را به کلی تغییر دهد.
6. انتقادات و پیشنهادات
یک طرح هر چقدر هم که از نظر طراح ایدهآل به نظر برسد، زمانی برچسب موفقیت بر آن قرار میگیرد که مشتری نیز رضایت کامل را داشته باشد. اما آیا همیشه مشتریان رضایت را از دید حرفهای مبنا قرار میدهند؟ مسلما خیلی هم کم پیش میآید. بسیاری از مشتریان حتی در انتخاب ابزاری که برای کاربرانشان در نظر گرفته شده رضایت نشان نمیدهند حتی اگر این ابزار با آخرین متد طراحی ساخته شده باشد. اما راحتترین راه برای ترغیب اینگونه مشتریان به سمت رضایت چیست؟ شاید تنها راه دریافت انتقادات و پیشنهادات مشتریان باشد. با این کار شما به مشتریان خود این اطمینان را میدهید که حضور آنها بیشترین تاثیر را در روند طراحی داشته است! با دریافت این موارد طراح میتواند دلایلی را عرضه نماید که به عنوان مثال تاثیر بهتر و بیشتری دارد و مشتری را راضی کند. ( امری که سازمانهای عزیز ایرانی بیشتر از هر چیزی به آن توانمندند. دریافت انتقادات و پیشنهادات و راضی بودن کاربر در هر صورت! )
7. تست موثر
قبل از اینکه هر پروژهای به روی کار بیاید باید توسط کاربران فرضی مورد آزمایش قرار گیرد. به عنوان مثال، پروژههای طراحی وب سایت را در نظر بگیرید. آزمایش مواردی چون: سازگار بودن با مرورگرهای مختلف، بالا بودن رابط کاربری و از این قبیل موارد، از جمله آزمایشهایی است که برای پروژههای طراحی وب سایت مورد نظر قرار میگیرد.
اما شما چطور؟ آیا تجربهای دارید که توانسته باشد در موفقیت طراحیتان، تاثیر زیادی داشته باشد؟
یکی از موارد کلیدی در حفظ امنیت یک سازمان، استفاده از محصولاتی هستند که اصطلاحا به آنها SIM یا Security Information Management اطلاق می شود. به کمک این نرم افزار ها، می توانیم اطلاعات کاملی از رویداد های یک سیستم به منظور آنالیز آنها به دست بیاوریم. در این مقاله ی تخصصی قصد دارم در ابتدا در مورد ماهیت SIM و لزوم استفاده از آن، و سپس به بیان نکاتی که یک سازمان برای انتخاب یک محصول SIM متناسب با نیاز های خودش باید مد نظر قرار دهد، بپردازم.

این مقاله در دو قسمت در وبلاگ منتشر خواهد شد. قسمت اول شامل نگاهی به SIM و نحوه ی کار آن خواهد بود. همچنین در این قسمت به بررسی چرایی استفاده از این محصول در سازمان ها میپردازم. سپس در قسمت بعد، نکاتی که سازمان ها برای خرید SIM باید مد نظر قرار دهند را بررسی می کنم و در نهایت، چند شرکت تولید کننده ی SIM را معرفی خواهم کرد. بعد از اتمام انتشار مقاله، کل آن را در قالب PDF برای دانلود در وبلاگ قرار خواهم داد.
* به این دلیل که مقالاتی که قبلا در قالب PDF در وبلاگ قرار داده بودم، با استقبال بسیار خوبی مواجه شدند و تعدادی از آنها حتی بیش از 8000 بار دانلود شدند، سعی می کنم در آینده، تعدادی از مباحث عمومی و تخصصی را در قالب فایل PDF نیز ارائه کنم.
SIM چیست؟
سیستم Security Information Management یک نرم افزار یا به تعبیر بهتر، یک پلت فرم قوی برای جمع آوری، آنالیز و ذخیره ی اتفاقات (Events) یک سیستم و یا یک شبکه در یک سرور مرکزی، به منظور تشخیص و کشف یک رفتار غیر منتظره و یا اصطلاحا یک Bad Behavior در مجموعه مورد نظر است.
نحوه ی کار SIM

همان طور که می دانید اکثر نرم افزار های نصب شده بر روی سیستم ها، بر اساس استاندارد هایی مانند SYSLOG قادر به تولید فایل لاگ هستند. در این فایل کلیه اتفاقاتی که مربوط به آن نرم افزار است ثبت میشود.
از طرف دیگر پروتکل بسیار مهمی در شبکه وجود دارد به نام SNMP یا Simple Network Management Protocol که وظیفه ی ارسال فایل های لاگ به یک نرم افزار جانبی برای مانیتور کردن آن را دارد.ما در شبکه، بسیاری از اوقات روتر ها و حتی سوییچ ها را طوری تنظیم می کنیم که به وسیله ی پروتکل SNMP گزارشی لحظه به لحظه از رویداد های آنها داشته باشیم.
SIM دقیقا همین کار را در مقیاس بزرگتر انجام می دهد. نرم افزار ها و سیستم های موجود در شبکه، رویداد های خود را به سرور مرکزی SIM که Security Consol نیز نامیده می شود، ارسال می کنند و ما به وسیله ی SIM می توانیم تمامی اتفاقاتی که در شبکه و در سیستم های مختلف آن در هر حال انجام است را به صورت گزارش، چارت و … مشاهده کنیم. در این حین به محض مشاهده ی یک Bad Behavior می توانیم خیلی فوری تصمیم درست را اتخاذ کنیم.
چرا باید از چنین نرم افزار هایی استفاده کرد؟
استفاده از چنین نرم افزار هایی مزیت های فراوانی برای یک سازمان دارد. اما قبل از برشمردن این مزیت ها این نکته را فراموش نکنیم که کارکرد اصلی SIM ، مانیتور کردن دریایی از دیتا ها، پیدا کردن یک اتفاقات بد و در صورت لزوم اخطار دادن است. بنابراین باید ببینم وقتی می توان به صورت تک تک ! سیستم ها را بررسی کرد، هزینه کردن برای خرید چنین نرم افزاری چه سودی خواهد داشت.
1- بدیهیست که این نرم افزار تمامی فایل های لاگ را به صورت متمرکز و در یک سرور جمع آوری می کند و در وقت، نیروی انسانی و هزینه های ناشی استفاده از نیرو های انسانی زیاد، صرفه جویی قابل ملاحظه ای نصیب سازمان خواهد شد. ضمن اینکه آنالیز داده های به صورت متمرکز بسیار سریع تر و راحت تر از حالت پراکنده خواهد بود.
2- به کمک مدیریت متمرکز، می توانید در صورت بروز یک اتفاق بد، رویداد های مشابه ی آن اتفاق بد را در سایر سیستم ها خیلی خیلی راحت پیدا کنید.

3- این نرم افزار ها قابلیت های بسیار بهتری برای ارائه ی گزارش از روند سیستم نسبت به نرم افزار های جانبی نصب شده بر روی سیستم های کلاینت دارند.
4- یک دلیل مهم دیگر برای استفاده از چنین نرم افزار هایی، بایگانی و ذخیره ی فایل های لاگ است که به کمک آن می توانیم در بازه ی زمانی خاص، آماری معتبر از رویداد های شبکه ارائه کنیم.
فراموش نکنید استفاده از چنین نرم افزار هایی در کنار ابزاری مانند فایروال ها و سیستم هایی مانند IDS هستند و نه جایگزین آنها. در واقع هر کدام از اینها بخشی برای تکمیل فرایند امنیتی سازمان شما هستند. هر چند در صورت علاقه، از این سیستم ها می توان به عنوان یک IDS قوی نیز استفاده نمود.
SEM و SIEM چیست؟
قبل از اینکه این موضوع باعث سردرگمی شما شود، لازم است یاداوری کنم این سه واژه (Acronyms) تا حد زیادی به یک موضوع اشاره می کنند. به عنوان مثال یکی از تفاوت هایی که برای SIM و SEM قائل هستند، به قدرت بیشتر SIM در ذخیره کردن اطلاعات برای مدت طولانی اشاره دارد. در واقع هر سه این واژه ها به یک موضوع اشاره می کنند با این تفاوت که شرکت های سازنده برای هر کدام یک ویژگی متمایز قرار می دهند. و دقیقا هم از این جهت است که سازمان ها برای خرید چنین نرم افزار هایی نیازمند توجه به فاکتور های مهمی هستند که هدف این مقاله نیز است.
همچنین در شکل زیر میبینید که SIM دامنه ی گسترده تری در پوشش ابزار های موجود در شبکه دارد و در نهایت از تمامی ابزار هایی که با استاندارد SYSLOG به تولید فایل لاگ اقدام می کنند، پشتیبانی می کند.

SIEM مفهومی (ابداع شده در سال 2005) جدیدتر است که تفاوت بنیادین با دو واژه ی قبلی ندارد. در حقیقت SIEM تلفیقی از SIM و SEM است و ویژگی های بهتری برای مقابله با اتفاقات کشف شده دارد. صرف نظر از تمامی این واژه ها، چیزی که برای شما باید حائز اهمیت باشد، انتظاراتی است که از چنین نرم افزار هایی دارید (و نه صرفا امکاناتی که هر کدام از محصولات دارند) و در صورتی که محصولی از شرکت های مختلف، در بر طرف کردن نیاز های شما موفق بود، آن محصول را انتخاب کنید. اگر بخواهید بدون کارشناسی، محصولی را انتخاب کنید که تنها ویژگی های بیشتری دارد، ممکن است بر خلاف انتظار، امکانات مد نظر شما در آن موجود نباشد و باعث ایجاد هزینه ای مضاعف شود.
نکاتی بنیادی برای خرید:
تا اینجا شما را با مفهوم SIM و دلیل اهمیت آن آشنا کردم. در قسمت بعد به نکاتی اشاره خواهم کرد که سازمان ها برای انتخاب و خرید یک SIM باید مد نظر قرار دهند. امیدوارم این مقاله برای سازمان ها، ادارات و شرکت ها مفید واقع شده باشد و از این چنین مشاوره های رایگانی، نهایت بهره را ببرند.

