دهکده آی تی » 2008 » ژوئن



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

اکثر بچه های رشته ی کامپیوتر صرفن لازم است تا در زمینه ی برنامه نویسی بسیار حرفه ای عمل کنند و در واقع یک برنامه نویس خبره شوند. مسلمن کسی از یک برنامه نویس کامپیوتر، انتظار برپا کردن یک شبکه ی کامپیوتری را ندارد. اما ماهیت رشته ی IT به گونه ای است که شما نه به عنوان یک برنامه نویس، بلکه به عنوان یک توسعه دهنده ی وب(Web Developer) و حتا بسیار فراتر شناخته می شوید. اگر این مطلب عالی را مطالعه کنید، پی می برید فردی که به عنوان یک توسعه دهنده ی وب مشغول کار است، به نوعی آچار فرانسه حساب می شود و باید از عهده ی انواع و اقسام کار ها بر بیاید.

سیستم دانشگاهی ما به قدری دیر به دیر به روز می شود که اگر شما در چنین رشته ای تحصیل می کنید و یا قصد فعالیت در این عرصه را دارید، به هیچ عنوان نمی توانید روی درس های آن حساب باز کنید. این شما هستید که باید آستین های خود را بالا بزنید و شروع به کار کنید. اگر یک سری به این مطلب هم بزنیند، میبینید اگر مایل به فعالیت در این عرصه هستید باید زبان های گوناگونی را فرا بگیرید. شما باید XHTML، CSS، PHP، Ajax، SEO، MySQL و خیلی از زبان ها و تکنیک های دیگر را بلد باشید. هر چند این طرز فکر تا حد زیادی غلط است اما جا افتاده است که یک مهندس IT باید یک طراح وب باشد.Web Developer شما به غلط بودن یا درست بودن این حرف کاری نداشته باشید. مهم این است که اینگونه جا افتاده است و شما مجبور هستید چنین کاری را به بهترین شکل انجام دهید. شما باید تا حدی که کارتان پیش برود، با تکنیک های گرافیکی نیز آشنا باشید تا بتوانید قسمت گرافیکی یک سایت را نیز طراحی کنید.
توسعه ی این زبان ها روز به روز است. تنها آموختن یک زبان کافی نیست. شما باید هر مدت یک بار با مراجعه به مستندات اینترنتی آموخته های خود را آپدیت کنید.

شبکه جز لاینفک کار یک مهندس IT است. دانشگاه را به کل فراموش کنید. خودتان باید بروید دنبال افزایش اطلاعاتتان. دوره های MCSE را بگذرانید. با این کار هم کاملن فنی و کار بلد می شوید و هم اینکه مدرکی میگیرید که در کل دنیا اعتبار دارد. نه مثل لیسانس و فوق لیسانس و یا حتا دکترای دانشگاه های ایران! دوست دارید حرفه ای تر شوید؟ دوره های CCNA و CCNP برای شما به وجود آمده است! عیب یابی روتر ها، سوییچ ها و اتصال شبکه های LAN به یکدیگر جدا از جذابیت های بسیار زیادی که دارد، شما را از سایرین ممتاز خواهد کرد. شهریه ی این کلاس ها کمی زیاد است اما مطمئنن ضرر نخواهید کرد از دیدن چنین دوره های پیشرفته ای.

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

دوره های تجارت الکترونیک را باید به طور کاملی فرا بگیرید. گذراندن دوره ی CIW نه تنها شما را به عنوان یک طراح وب سایت بسیار کارامد معرفی می کند، بلکه دانش شما را در زمینه ی نرم افزار های تحت وب، خدمات تجارت الکترونیک و … افزایش می دهد. و لااقل بعدن، مدرک این دوره ها نیز به دردتان می خورد و مثل مدارک ایرانی، بی ارزش محسوب نمی شود.

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


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

برای یک شبکه ی ساده ی خانگی، حداقل تجهیزات سخت افزاری یک شبکه ی Wi-Fi چیزی به غیر از یک عدد نقطه ی دسترسی و یک عدد کارت شبکه نیست. البته برای شبکه های بزرگتر نیز به نظر نمی رسد به تجهیزات بیشتری احتیاج باشد. شاید تنها فرق این دو شبکه در این باشد که در شبکه های بزرگتر احتمالن نیاز است چند شبکه بیسیم را از طریق کابل و هاب* به یکدیگر متصل کنند تا محدوده ی پوشش شبکه ی مذکور و همچنین تعداد کاربرانش افزایش پیدا کند. همچنین ممکن است نیاز به نقاط دسترسی افزایش پیدا کند.

نقطه دسترسی:
نقطه ی دسترسی یا Accsess point که به اختصار به آن AP گفته می شود دستگاهی است که وظیفه ی آن ارسال و دریافت اطلاعات در برد وسیع می باشد. در واقع کارت شبکه های بیسیم خود نیز می تواند به ارسال و دریافت اطلاعات اقدام نماید( و حتی به این طریق می توان شبکه هایی به نام Ad-hoc ساخت) اما به دلیل برد کم این کارت ها، نیاز به یک دستگاه جانبی به نام AP ها می باشد. در پشت این *دستگاه یک کانکتور RG-45 قرار دارد که از آن می توان به منظور کانفیگ کردن و یا اتصال به یک نقطه ی دسترسی دیگر و یا حتا اتصال به شبکه های کابلی (همان طور که در بالا ذکر شد) استفاده کرد.

AP

در شبکه های که تعداد AP ها از یکی بیشتر می شود ممکن است تعدادی از این دستگاه ها در محدوده ی برد AP های دیگر قرار بگیرند. در این حالت تداخلی به وجود میاید که به Cross Talk معروف است. برای جلوگیری از این اتفاق باید از کانال ها ی مختلفی که به همین منظور به وجود آمدند استفاده کرد. اگر شما چند AP در کنار یکدیگر دارید بهتر است از کانال های 1، 6 و 11 استفاده کنید تا دچار تداخل فرکانس نشوید.

نصب نرم افزاری AP ها:
در این مرحله شما کار آنچنان سختی را بر عهده ندارید. کافیست ابتدا نقطه ی دسترسی را به کامپیوتر متصل کرده(با کابل RG-45) و سپس با استفاده از CD نصب، اقدام به تنظیم نقطه ی دسترسی کنید. در طی این مراحل شما می توانید خودتان نیز تنظیمات دلخواه را وارد کنید اما اگر اطلاعات کافی در این زمینه ندارید بهتر است از مقادیر پیش فرض استفاده کنید تا به راحتی کار نصب به پایان برسد.

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

فقط همین؟
همان طور که در اول مطلب ذکر شد AP ها و کارت شبکه حداقل تجهیزات یک شبکه ی بیسیم بودند. تجهیزات بسیار زیادی برای استفاده در شبکه های بیسیم وجود دارند که عملکرد و قابلیت های این نوع شبکه ها را افزایش می دهند. شاید بهترین نمونه ی این تجهیزات پرینتر سرور باشد که پرینتر را بدون نیاز به کامپیوتر به شبکه متصل می کند و تمامی کاربران می توانند از آن استفاده کنند.

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


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

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

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

نکته ی بالا جدا از اینکه خوانایی یک برنامه را افزایش می دهد، باعث می شود در برنامه های کمی طولانی تر از اشتباهات هم جلوگیری به عمل بیاید.یک مثال بسیار ساده اینکه: به نظر کسی نیست که در طول نوشتن یک برنامه، در مورد متغییر ها به مشکل بر نخورده باشد. ابتدا شما یک متغییر تعریف می کنید. حال در یک تابع با استفاده از Global از آن متغییر استفاده می کند. غافل از اینکه با انجام این کار مقدار متغییر رو کلن دچار تغییر کرده اید.( اینکه می گویم غافل از این، به این معنا نیست که شما چنین چیزی رو نمی دانید، بلکه بدین معناست که فراموش کرده اید) حال یک ساعت با برنامه سر و کله می زنید و آخر سر هم علت درست کار نکردن برنامه رو پیدا نمی کنید!

با تعیین آرگومانی از یک تابع به صورت اختیاری، تمامی آرگومان های بعد از آن نیز باید از نوع اختیاری(و با مقدار پیش فرض) تعریف شوند.

تنظیم مقدار پیش فرض برای آرگومان های یک تایع امریست بدیهی و بسیار معمول. اما نکته ی مهم اینجاست که باید دقت کنید اگر برای یکی از آرگومان ها مقدار پیش فرض قرار داده اید، باید برای تمامی آرگومان های بعد از آن نیز مقدای را به عنوان پیش فرض قرار دهید. به مثال بسیار ساده ی زیر توجه کنید:

function itvillage ($face, $size) {
print “<font face=\”$face\” font size=\”$size\”>
یک مثال روشن و ساده</font>”;
}
itvillage(“tahoma”);

بدیهیست که استفاده از کد بالا با نمایش یک پیغام خطا توسط موتور PHP همراه خواهد بود. برای حل این مشکل و اینکه در صورت دریافت نکردن هیچ نوع ورودی برنامه به هم نریزد، بهتر است از یک مقدار پیش فرض برای آرگومان های تابع استفاده کنیم. حال موضوع مهم این است که اگر برای آرگومان face$ مقدار پیش فرض انتخاب کرده ایم(“face = “tahoma$) حتمن باید برای size$ نیز مقدار پیش فرض تعیین کنیم. در غیر این صورت دوباره با خطایی روبه رو می شوید که در مثال بالا دیدید! بنابراین اگر تابع شما 10 آرگومان دارد و برای مثال شما برای آرگومان پنجم مقدار پیش فرضی در نظر گرفتید، باید برای بقیه آرگومان ها تا دهمی نیز مقدار پیش فرض بگذارید. اما لازم نیست برای آرگومان های قبل از آرگومان پنجم، مقداری را در نظر بگیرید.

امیدوارم این به اشتراک گذای اطلاعات به درد دوستان بخورد و اگر عمری بود باز هم با یکدیگر دانسته های خود را پیرامون این زبان توسعه می دهیم.