وبلاگی برای یادگیری شبکه ، هک ، برنامه نویسی و لینوکس

اینجا خلاصه ای از نکات یادگیری فناوری اطلاعات بصورت کاربردی آموزش داده می شود

برنامه نویسی را از کجا شروع کنیم؟ مسیر یادگیری برنامه نویسی

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

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

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

علاقه و صبر

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

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


برنامه نویسی شب و روز نداره، اکثر برنامه نویس ها شب زنده دار هستن (به قول معروف که من مرد تنهایی شبم :دی). موقعیت هایی پیش میاد که شاید تو 48 ساعت بیشتر از 5 ساعت نتونید بخوابید. پس یادتون باشه، مهمترین موضوع اینه که به برنامه نویسی علاقه مند باشید و این علاقه هست که توی کار به شما صبر میده و کمک میکنه تا بتونید با بی خوابی ها و مشکلات یک برنامه نویس کنار بیایید.

تعیین مسیر

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



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

 

 

مطالعه دائم

شک نکنید که باید مطالعه داشته باشید. دنیای برنامه نویسی دائماً در حال تغییر است و سالانه تکنولوژی ها و نسخه های جدید از زبان های برنامه نویسی به بازار عرضه می شوند. برای مثال، برای زبان برنامه نویسی سی شارپ تا این لحظه 6 نسخه عرضه شده و هر نسخه شامل قابلیت های جدید است. باید زمانی رو برای مطالعه کتاب ها اختصاص بدید و این زمان همیشگی است. مطالعه دائمی شرط موفقیت شما است.

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

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

انتخاب زبان درست

خیلی از افراد در انتخاب زبان برنامه نویسی دچار مشکل می شوند. اینکه چه زبانی را انتخاب کنید که مبتنی بر علایق شما باشد بسیار مهم است. همانطور که گفتیم شاخه برنامه نویسی به زیر شاخه های بسیاری تقسیم می شود، مانند Desktop Application و Web Application یا برنامه های موبایل و همچنین برنامه های تحت وب. هر یک از این شاخه ها نیازمند یادگیری یک یا چند زبان برنامه نویسی هستند.

  1. برنامه نویسی موبایلبرنامه های موبایل مبتنی بر چندین پلاتفرم مختلف نوشته می شوند. برای مثال برای Android شما می بایست حتماً زبان برنامه نویسی جاوا را یاد بگیرید. نوشتن برنامه های Android شدیداً وابسته به زبان جاوا هستند. البته فرم ورک های دیگری نیز وجود دارند مانند Ionic یا Apache Cordova و همینطور Xamarin که بوسیله آن ها می توانید برنامه هایی برای Android بنویسید.اما برنامه های Android به صورت مستقیم با زبان جاوا نوشته می شوند که اصطلاحاً به آن ها برنامه های Native می گویند. برای برنامه های IOS، شما باید با Swift که رابطه مستقیمی با زبان Objective-C دارد آشنا باشد. یا برای برنامه های Windows Phone امکان نوشتن برنامه ها با زبان سی شارپ یا HTML و CSS و JavaScript وجود دارد.
  2. برنامه نویسی وب : اگر قصد دارید کار برنامه نویسی وب انجام دهید ابتدا باید مشخص کنید که از چه تکنولوژی می خواهید استفاده کنید. معروف ترین ها در حوزه برنامه نویسی وب PHP و ASP.NET هستند، البته تکنولوژی های دیگری مانند JSP نیز وجود دارند، اما به انداه PHP و ASP.NET بازار کار ندارند. خیلی ها سر اینکه PHP بهتر است یا ASP.NET دائماً در حال بحث کردن هستند. اما این نکته رو بگم که شما چه ASP.NET و چه PHP رو به صورت حرفه ای یاد بگیرید، می توانید هر سایتی را طراحی کنید. در حال حاضر سایت های بزرگی وجود دارند که با PHP نوشته شدند، برای مثال Facebook کاملاً مبتنی بر PHP و MySQL می باشد یا سایت هایی مانند ITPRO و StackOverflow با ASP.NET نوشته شده اند. به نظر شخص خود من، مزیتی که یادگیری ASP.NET نسبت به PHP دارد این است که دست شما برای نوشتن برنامه های دیگر مانند Desktop Application باز خواهد بود، زیرا با یادگیری ASP.NET می بایست زبان سی شارپ را نیز فرا بگیرید. هم PHP و ASP.NET ریشه در زبان سی دارند.در کنار PHP و ASP.NET نیز باید با HTML و CSS و JavaScript نیز آشنایی داشته باشید. همچنین شما باید با بانک های اطلاعاتی نیز آشنا شوید، معمولاً برنامه نویسان PHP از بانک MySQL و برنامه نویسان ASP.NET از بانک SQL Server استفاده می کنند. البته شما در ASP.NET می توانید از بانک MySQL استفاده کنید و بالعکس.تکنولوژی جدید دیگری نیز که معرفی شده NodeJS می باشد که کاملاً مبتنی بر JavaScript است و خیلی از برنامه نویسان، NodeJS را انتخاب خود برای برنامه نویسی وب قرار می دهند و بسیار هم محبوب است.

 


 

 

 

۰ ۰

آموزش برنامه نویسی به زبان ساده | گام به گام و کاربردی

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

مفاهیم اولیه برنامه نویسی

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

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

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

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

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

قبل از شروع به آموزش برنامه نویسی باید با یکسری مفاهیم ا ولیه آشنا بشیم! در قدم اول به سراغ تعریف برنامه کامپیوتری رفتیم. اگر بخواهیم یک تعریف ساده از یک برنامه کامپیوتری داشته باشیم می توانیم اینگونه بگوییم که یک برنامه کامپیوتری مجموعه ای از دستورالعل ها است که با اجرای آن توسط کامپیوتر یک یا چند نیاز کاربربرطرف می شود. برای مثال، برنامه ای مانند Media Player، برنامه ایست که از آن برای پخش موسیقی و فیلم استفاده می شود.

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

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

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

زبان برنامه نویسی چیست؟

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

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

  1. وارد اتوبان کردستان شمال می شوی
  2. میری بزرگاه نیایش غرب
  3. وارد بزرگاه سئول می شوی
  4. چند کیلومتر جلوتر تابلوی ورودی نمایشگاه بین المللی رو دیدی می تونی بری تو پارکینگ

اما شخص دیگری به شما اینگونه آدرس می دهد:

  1. وارد اتوبان کردستان جنوب می شوی
  2. بعد از آن وارد اتوبان حکیم غرب می شوی
  3. بعد از آن وارد اتوبان چمران شمال می شوی
  4. از آن جا وارد اتوبان سئول می شوی که نمایشگاه بین المللی آنجاست

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

ممکن است یک برنامه نویس دستورالعمل های اشتباهی برای برنامه بنویسد که باعث ایجاد خروجی اشتباه برای برنامه کامپیوتری می شود، مشابه اینکه شخص مورد نظر آدرس اشتباه به شما دهد و با انجام دستورالعمل های آن شخص، به جای نمایشگاه بین المللی سر از میدان تجریش در آورید!

برنامه کامپیوتر چگونه اجرا می شود؟

بعد از نوشتن برنامه، یک فایل اجرایی تولید می شود که دیگران می توانند با اجرای آن، از برنامه استفاده کنند. کامپیوتر شما برنامه ها را بوسیله واحد پردازشگر مرکزی (Central Processing Unit) که همان CPU خودمان است اجرا می کند. کامپیوتر تنها زبان ماشین را متوجه می شود.

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

 

 

 

 

۰ ۰

بررسی سرفصل های نتورک پلاس Network+ و نکات مهم هر سرفصل

سرفصل های نتورک پلاس CompTIA Network Plus شامل چه چیزهایی است؟ یکی از سوالاتی که دانشجویان دوره آموزش نتورک پلاس (Network+) بسیار از من می پرسند این هست که آیا یادگیری همه سرفصل های دوره نتورک پلاس برای ورود به دنیای شبکه و فناوری اطلاعات الزامی است؟ در ابتدا باید بدانید که شما قرار است تا چه مرحله ای از آموزش شبکه و فناوری اطلاعات وارد شوید .

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

معرفی سرفصل های دوره آموزشی نتورک پلاس

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

1.پایه و اساس شبکه یا Network Fundamentals

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

2.پیاده سازی های شبکه یا Network Implementations

در این فصل شما با تکنولوژی ها و مفاهیم مربوط به مسیریابی شبکه ، تجهیزات شبکه ، راهکارهایی مثل اترنت ( Ethernet ) و شبکه های بیسیم یا وایرلس آشنا خواهید شد.

3.عملیات های شبکه یا Network Operations

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

4.امنیت شبکه یا Network Security

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

5.رفع اشکال شبکه یا Network Troubleshooting

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

ریز شدن در سرفصل های نتورک پلاس (Network Plus)

سرفصل های بین المللی دوره نتورک پلاس بصورت کلی و کمی نامفهوم به نظر می رسند. بهتر هست برای اینکه درک بهتری از جزئیات آموزشی دوره نتورک پلاس Network+ داشته باشیم ، این سرفصل ها رو به ترتیب ریز و جزئی تر کنیم تا بدونید قرار هست چه چیزهایی در این دوره نتورک پلاس آموزش داده بشه ، پس در ادامه با ما باشید.

جزئیات سرفصل 1 دوره نتورک پلاس : پایه و اساس شبکه

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

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

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

۰ ۰

بررسی تفاوت بین دوره های آموزش لینوکس LPIC ، Linux+ ، RHCE و ...

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

دوره آموزشی لینوکس پلاس یا CompTIA Linux+

حتما شرکت کامپتیا را می شناسید. این شرکت بصورت تخصصی بر روی آموزشهای پایه حوزه فناوری اطلاعات فعالیت می کند. دوره های آموزشی مثل : دوره آموزش نتورک پلاس ( CompTIA Network+ ) ، دوره آموزشی سکیوریتی پلاس ( CompTIA Security+ ) ، دوره آموزشی A+ و چند پلاس دیگر از جمله معروف ترین دوره های آموزشی شرکت کامپیتیا با محوریت آموزش شبکه ، آموزش امنیت و کامپیوتر هستند.

 

دوره آموزشی لینوکس پلاس از جمله دوره هایی است که شرکت کامپتیا برای ورود به دنیای اوپن سورس و لینوکس طراحی و تدوین کرده است. این دوره هم مثل سایر دوره های شرکت کامپتیا در اصطلاح Vendor Less است و وابسته به هیچ توزیع خاصی از لینوکس نیست و این یک مزیت برای دوره لینوکس پلاس به حساب می آید.

اما بد نیست بدانید که لینوکس پلاس خودش تحت لیسانس انیستیتو لینوکس کانادا یا LPI طراحی و تدوین شده است و بسیاری از سرفصل های آن با دوره های LPI شباهت کامل دارد.

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

۰ ۰

کاملترین معرفی انواع شبکه های کامپیوتری و 4 دسته بندی شبکه

تفاوت شبکه های LAN ، WAN ، MAN ، PAN و ... در چیست؟ انواع شبکه از لحاظ اندازه به چه دسته بندی هایی تقسیم می شوند؟ این سوالی است که ممکن است برای خیلی از افرادیکه تازه وارد دنیای شبکه و فناوری اطلاعات می شوند ، پیش بیاید. سوال مهمتر این است که چند نوع شبکه داریم؟ قبل از اینکه به سراغ انواع شبکه های کامپیوتری از لحاظ ابعاد برویم بد نیست بدانید که ما شبکه های کامپیوتری را بر اساس چه فاکتورهایی طبقه بندی می کنیم .

انواع شبکه های کامپیوتری از لحاظ نوع ارتباط

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

انواع شبکه های کامپیوتری از لحاظ توپولوژی اتصال

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

انواع شبکه های کامپیوتری از لحاظ تکنولوژی های انتقال داده

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

انواع شبکه های کامپیوتری از نظر ابعاد و اندازه ( جغرافیایی )

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

  1. شبکه محلی یا شبکه لن (LAN) که مخفف Local Area Network است
  2. شبکه شهری یا شبکه من (MAN ) که مخفف Metropolitan Area Network است
  3. شبکه گسترده یا شبکه ون (WAN ) که مخفف Wide Area Network است

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

برای مطالعه بیشتر و آشنایی بیشتر با در مباحث و مفاهیم به منبع مقاله در این لینک مراجعه کنید.

۰ ۰

شبکه چیست؟ تعریف انواع شبکه های کامپیوتری به زبان ساده

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

تعریف شبکه چیست از لحاظ لغوی

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

برای ورود به دنیای شبکه می توانید وارد دوره های آموزشی شبکه در این لینک شوید.

۰ ۰

آموزش کامل نصب لینوکس تصویری بصورت گام به گام + انواع نصب لینوکس

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

نصب لینوکس به چه روشهایی انجام می شود؟

اولین سئوالی که باید از خود قبل از نصب لینوکس بپرسیم این است که چه نوع روش نصبی را انتخاب کنیم ؟ بله ، روش های متعددی برای نصب سیستم عامل لینوکس وجود دارد که از آن جمله می توان به Dual Boot کردن ، استفاده از CD های Live ، نصب بصورت Fresh Install و نصب در محیط های مجازی اشاره کرد. یکی از خصوصیات ویژه لینوکس این است که براحتی می توان آن را با سیستم عامل های دیگر بصورت همزمان مورد استفاده قرار داد.

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

 

۰ ۰

SQL چیست؟ معرفی کامل اس کیو ال و آشنایی با کاربردهای آن

SQL چیست؟ اس کیو ال چه کاربردهایی دارد و  واژه SQL مخفف چه کلماتی است؟ پرسشی که در ذهن خیلی از علاقه مندان به بانک های اطلاعاتی شکل می گیرد و ما در این مقاله قصد داریم به تمامی سوالات شما در این باره پاسخ دهیم و با زبان SQL آشنا شویم.اس کیول (SQL) یا Structured Query Language یک زبان Domain-Specific است که برای برنامه نویسی و طراحی بانک های اطلاعاتی در بانک های رابطه ای یا RDBMS ها استفاده می شود.

زبان SQL مختص یک شرکت یا یک سازمان نیست، البته پایه این زبان توسط شرکت IBM گذاشته شد، ولی امروزه این زبان یک استاندارد پایه برای بانک های اطلاعاتی رابطه ای تعریف می کند. بر اساس این استاندارد شرکت هایی که نرم افزار بانک اطلاعاتی تولید می کنند مثل مایکروسافت یا اوراکل زبان مختص مربوط به بانک خود را طراحی می کنند که استفاده کنندگان از آن نرم افزار می توانند از زبان SQL مختص آن نرم افزار برای کوئری گرفتن، طراحی و برنامه نویسی در بانک های اطلاعاتی استفاده کنند.

تاریخچه زبان SQL چیست؟

قبل از اینکه به سراغ پاسخ به سوال SQL  چیست برویم بهتر است که کمی با تاریخچه آن آشنا می شویم. زبان SQL اولین بار در شرکت IBM توسط دوناد چمبرلین و ریموند بویس در اواسط سال 1970 معرفی شد. نام اولین نسخه SEQUEL بود و به همین دلیل امروزه نیز واژه SQL به صورت سیکوئل نیز تلفظ می شود. واژه SEQUEL مخفف Structured English Query Language بود که برای تغییر و کوئری گرفتن از داده های بانک مخصوص IBM طراحی شده بود. بعد ها زبان SEQUEL به SQL تغییر نام داده شد و تبدیل به یک استاندارد برای پیاده سازی زبان بانک های اطلاعاتی رابطه ای شد.

بانک اطلاعاتی SQL چیست؟

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

  1. بانک اطلاعاتی یا Database: بانک ها مجموعه ای از اجزای مختلف هستند که امکانات لازم برای نگه داری اطلاعات را در اختیار ما قرار می دهند. برای مثال ما برای هر سیستم می توانیم یک بانک داشته باشیم، مثل بانک اطلاعاتی سیستم مالی یا بانک اطلاعاتی سیستم منابع انسانی.

  2. جدول یا Table: جداول در داخل Database قرار دارند و داده های مختلف را تقسیم بندی می کنند. برای مثال در یک دیتابیس مالی ممکن است که ما نیاز به ذخیره کردن اطلاعاتی مانند سرفصل های حسابداری و اسناد حسابداری داشته باشیم که هر کدام از این اطلاعات می توانند داخل یک جدول ذخیره شوند.

  3. رکورد یا Record: رکوردها به اطلاعات ذخیره شده داخل جدول گفته می شود. برای مثال، در سیستم مالی ما نیاز به ذخیره کردن یک سند مالی داشته باشیم، این سند به صورت یک Record در جدول ذخیره می شود. هر جدول می تواند شامل تعداد زیادی رکورد باشد.

  4. ستون یا Column: هر رکورد در دیتابیس شامل یکسری اطلاعات است، باز هم مثال سند مالی را بررسی می کنیم، یک سند مالی می تواند اطلاعاتی مانند تاریخ، شرح و شما سند داشته باشد، هر یک از این اطلاعات در یک رکورد در قالب یک ستون یا Column ذخیره می شوند.برای مطالعه بیشتر و آشنایی بیشتر با در مباحث و مفاهیم آموزش SQL Server به منبع مقاله در این لینک مراجعه کنید.

۰ ۰

21 سوال مهم برای یادگیری و آموزش لینوکس قبل از شروع دوره لینوکس

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

بهترین راه برای یادگیری لینوکس چیست؟

بهترین راه یاد

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

چه دوره های آموزشی لینوکسی در دنیا وجود دارد؟

اساسا سه نوع دوره آموزشی لینوکس حرفه ای در دنیا وجود دارد ، هر چند دوره های متفرقه دیگری هم وجود دارند . دوره های آموزشی انیستیتو حرفه ای های لینوکس کانادا یا LPI که در قالب دوره های آموزشی Linux Essentials ، سری دوره های آموزشی LPIC یک ، دو و سه ارائه می شوند دوره های آموزشی شرکت RedHat که با عنوان های RHCSA و RHCSE مطرح هستند ، دوره آموزشی CompTIA Linux Plus که توسط شرکت کامپتیا و تحت لیسانس شرکت RedHat ارائه می شود . علاوه بر این سه نوع دوره ، دوره های خاص منظوره برای هر توزیع هم ممکن است وجود داشته باشد برای مثال دوره های تخصصی لینوکس OpenSUSE و ... ( دوره آموزشی LPIC 1 )

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

۰ ۰

سی شارپ چیست؟ معرفی کامل C# به همراه مزایا ، معایب و کاربردها

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

سی شارپ چیست

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

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

سی شارپ چیست

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

برنامه نویس و برنامه نویسی چیست؟

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

سی شارپ چیست

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

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

زبان سی شارپ چیست؟

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

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

۰ ۰