loading...

لذت برنامه نویسی

بازدید : 11
پنجشنبه 28 ارديبهشت 1402 زمان : 4:04

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

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

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

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

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

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

بازدید : 10
پنجشنبه 28 ارديبهشت 1402 زمان : 3:52

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

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

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

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

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

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

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

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

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

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

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

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

بازدید : 11
شنبه 23 ارديبهشت 1402 زمان : 1:53

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

شبکه چیست و تعریف شبکه های کامپیوتری

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

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

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

انواع شبکه های مختلف از دیدگاه ویکیپدیا

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

  1. شبکه کامپیوتری : با استفاده از ارتباطات کابلی ، بیسیم و ... فایل ، سرویس و ... را به اشتراک می گذارند.
  2. شبکه آبرسانی : با استفاده از ارتباطات لوله ای و اتصالات آب را به اشتراک می گذارند.
  3. شبکه مخابراتی : با استفاده از ارتباطات کابلی ، بیسیم و ... صدا و پیام را به اشتراک می گذارند.
  4. شبکه گازرسانی : با استفاده از ارتباطات لوله ای ، گاز و میعانات را به اشتراک می گذارند.
  5. شبکه حمل و نقل : با استفاده از وسایل نقلیه ( اتوبوس ، قطار و ... ) انسان ها را منتقل می کنند.
  6. شبکه رادیویی : با استفاده از ارتباطات رادیویی ، صوت را با دیگران به اشتراک می گذارند.
  7. شبکه تلوزیونی : با استفاده از ارتباطات رادیویی ، صوت و تصویر را با دیگران به اشتراک می گذارند.

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

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

شبکه چیست و تعریف شبکه های کامپیوتری

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

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

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

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

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

شبکه چیست و تعریف شبکه های کامپیوتری

سرویس شبکه چیست؟

سرویس یا Service که ترجمه آن به فارسی خدمت می شود ، در واقع همان چیزی است که ما از یک ایجاد یک شبکه ارتباطی انتظار داریم. خدمتی به نام دانلود فایل ، خدمتی به نام بانک اطلاعاتی ، خدمتی به نام وب سرویس ، خدمتی به نام مدیریت متمرکز شبکه ، خدمتی به نام آدرس دهی آیپی ، خدمتی به نام امنیت اطلاعات ، خدمتی به نام ارتباطات یکپارچه ، خدمتی به نام تماس صوتی ، خدمتی به نام تبدیل اسم به آدرس IP و برعکس که به ترتیب در شبکه های کامپیوتری با عنوان سرویس هایی به نام فایل سرور ، دیتابیس سرور ، وب سرور ، دومین سرور ، DHCP سرور ، CA سرور ، Unified Communications سرور ، Voice Call سرور یا سرویس VoIP ، سرویس DNS سرور و ... از آنها یاد می کنیم که تعداد سرویس های شبکه بسیار زیاد است.

شبکه چیست و تعریف شبکه های کامپیوتری

انواع شبکه های رایانه ای

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

برای شروع دنیای شبکه می توانید از این لینک وارد دوره آموزش نتورک پلاس (Network+) شوید

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

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

شبکه چیست و تعریف شبکه های کامپیوتری

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

شبکه چیست و تعریف شبکه های کامپیوتری

معرفی سخت افزارهای شبکه ( تجهیزات شبکه )

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

بازدید : 9
شنبه 23 ارديبهشت 1402 زمان : 1:25

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

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

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

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

بازدید : 12
شنبه 23 ارديبهشت 1402 زمان : 0:57

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 به منبع مقاله در این لینک مراجعه کنید.

بازدید : 11
شنبه 23 ارديبهشت 1402 زمان : 0:13

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

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

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

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

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

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

بازدید : 7
جمعه 22 ارديبهشت 1402 زمان : 22:14

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

بازدید : 8
يکشنبه 17 ارديبهشت 1402 زمان : 18:59

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

سرفصل های این مطلب

  1. فعال یا غیرفعال کردن زوم
  2. فعال یا غیرفعال کردن بخش ترافیک
  3. ترسیم بر روی نقشه

فعال یا غیرفعال کردن زوم

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

1mMap.getUiSettings().setZoomGesturesEnabled(false);

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

1mMap.getUiSettings().setZoomControlsEnabled(true);

فعال یا غیرفعال کردن بخش ترافیک

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

1mMap.setTrafficEnabled(true);

همچنین اگر بخواهیم که بر روی نقشه نوار ابزار نقشه هم فعال باشد یعنی وقتی که بر روی marker کلیک می کنیم قابلیت route و مسیریابی داشته باشیم باید از کد زیر استفاده کنیم.

1mMap.getUiSettings().setMapToolbarEnabled(true);

تصویر این نوار ابزار به شکل زیر است

ترسیم بر روی نقشه

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

1mMap.addCircle(new CircleOptions().center(sydney).fillColor(Color.argb(100,150,120,200)).strokeWidth(1).radius(500000));

در کد بالا fillColor رنگ داخلی دایره را مشخص می کند و radius شعاع را نشان می دهد و strokeWidth ضخامت دور دایره را نشان می دهد. حال اگر بخواهیم یک چند ضلعی اضافه کنیم از کد زیر استفاده می کنیم. دقت داشته باشید که گوشه به گوشه چندضلعی را به برنامه باید اضافه کنیم.

1mMap.addPolygon(new PolygonOptions().fillColor(Color.argb(100,150,120,200)).add(sydney).add(new LatLng(0,3)).add(new LatLng(3,6)).add(new LatLng(6,3)).add(new LatLng(3,0)).strokeWidth(1));

خروجی کد بالا به شکل زیر خواهد بود.

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

بازدید : 10
يکشنبه 17 ارديبهشت 1402 زمان : 18:51

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

در اندروید بیشتر سطح API برای برنامه نویسان مهم است. برای مثال اندروید API سطح 25 همان اندروید 7.1 می باشد. حال می توان داخل پروژه اندروید مشخص کرد که حداقل نسخه ای که برنامه ما باید پشتیبانی کند چه نسخه ای و چه سطح API می باشد. برای این کار در داخل فایل androidmanifest.xml باید کد های زیر را بیاوریم. قسمت minsdk مشخص می کند که حداقل سطح api که باید پشتیبانی کنیم کدام سطح است و سطح API که می خواهیم برای آن برنامه بنویسیم کدام است

1

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

مشخص کردن نسخه اندروید در زمان اجرا

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

123if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP_MR1){
    //android 5 or higer
}

کد بالا بررسی می کند که نسخه اندروید بالاتر از 5 می باشد یا خیر.

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

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

بازدید : 12
يکشنبه 17 ارديبهشت 1402 زمان : 18:37

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

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

دلایل کمبود حافظه

  1. static context : در کل همیشه موقع استفاده از Context مراقب باشید و به این نکته توجه کنید که در جای مناسب از Context مناسب استفاده کنید و تا حد امکان از اپلیکیشن context به جای اکتیویتی context استفاده کنید.
  2. کلاس های داخلی : اگر از کلاس های داخلی استفاده میکنید سعی کنید آنها را به صورت استاتیک تعریف کنید چون کلاس های داخلی غیر استاتیک باعث میشود کلاس خارجی همیشه زنده یا فعال بماند. همچنین اگر داخل کلاس درونی خود از View استفاده میکنید بهتر هست که این View و به متد سازنده کلاس خود اضافه کنید چون با این کار یک weak reference ایجاد میکنید.
  3. static views : در بحث مدیریت حافظه همیشه سعی کنید که طرف static views ها نروید چون این View ها هیچوقت از بین نمیروند و همیشه در دسترس هستند.
  4. غیر فعال کردن listeners ها : در مسیر توسعه یک اپ بدون شک از listener های زیادی داخل اکتیویتی یا فرگمنت ها استفاده میکنیم ولی خیلی وقت ها فراموش میکنیم که باید این listener ها را غیر فعال یا unregister کنیم. این مسئله به سادگی باعث ایجاد کمبود حافظه میشود.برای غیر فعال کردن listener ها بهتر است که این کار و در متد onDestroy() انجام دهیم.
  5. Bitmap : ابجکت های Bitmap بسیار بزرگ هستند دلیل آن هم ساده است برای اینکه معمولا تمام پیکسل های یک عکس و داخل خودشون ذخیره می کنند. در حالت پیشفرض با خود اندروید مدیریت مموری این Bitmap ها را به عهده دارد اما وقتی به صورت دستی از این Bitmap ها استفاده می کنیم باید حتما از متد recycle() هم در اخر استفاده کنیم همچنین سعی کنید همیشه سایز عکس های داخل اپ خودتون و در کمترین میزان ممکن قرار دهید.
  6. شما می‌توانید بعد از اینکه برنامه نویسی اندروید را با استفاده از دوره های آموزشی فرا گرفتید برای یادگیری عمیق‌تر و ریز تر از مستندات اندروید هم استفاده کنید و یا برای یادگیری موردی از ویدیوهای یوتیوب استفاده کنید. یکی از منابع بسیار خوبی که برای یادگیری اندروید موجود است دوره آموزش برنامه نویسی اندروید است که قدم به قدم برنامه نویسی را به شما آموزش می دهد و شما را در این راه یاری می کند.

تعداد صفحات : 12

درباره ما
موضوعات
لینک دوستان
آمار سایت
  • کل مطالب : 129
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • بازدید امروز : 20
  • بازدید کننده امروز : 1
  • باردید دیروز : 1
  • بازدید کننده دیروز : 0
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 31
  • بازدید ماه : 44
  • بازدید سال : 703
  • بازدید کلی : 2157
  • <
    پیوندهای روزانه
    آرشیو
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    کدهای اختصاصی