<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های محسن ناظمی</title><link>https://virgool.ir/feed/@programmer.mohsen</link><description></description><language>fa</language><pubDate>2026-11-11 02:51:51</pubDate><image><url>https://virgool.ir/images/default-avatar.jpg</url><title>محسن ناظمی</title><link>https://virgool.ir/@programmer.mohsen</link></image><item><title>گیت و گیت هاب :قسمت2: نصب و کانفیگ git روی ویندوز و لینوکس</title><link>https://virgool.ir/@programmer.mohsen/اموزش-گیت-قسمت2-نصب-و-کانفیگ-git-روی-ویندوز-ov1e3kmszltd</link><description>اموزش نصب و کانفیگ گیت روی ویندوز به صورت مختصر و مفیداموزش نصب و کانفیگ گیت روی ویندوز و لینوکسفهرست مطالب:1- نصب و کانفیگ گیت روی ویندوز2- نصب و کانفیگ گیت روی لینوکس1- نصب و کانفیگ گیت روی ویندوزقبل از نصب گیت پیشنهاد میکنم ابتدا ویرایشگر کد visual studio code رو  با استفاده از لینک زیر نصب کنید:https://code.visualstudio.com/Downloadوارد وبسایت git شوید به ادرس زیر و روی گزینه ی downloads کلیک کنید:https://git-scm.com/سپس در صفحه ی جدید نوع سیستم عامل خود را انتخاب کنید.در صفحه ی بعدی سه بخش برای دانلود گیت در اختیار ما گذاشته شده:بخش اول Standalone Installer که مربوط به فایل نصب معمولی میشه بخش دوم    Portable (&#34;thumbdrive edition&#34;) که میتونید گیت رو به صورت پرتابل روی ویندوز داشته باشید و بخش سوم Using winget tool که با استفاده از پکیج winget در command prompt یا powershell میتونید دستوری که داده رو وارد و گیت رو نصب کنید. من از بخش اول با توجه به اینکه سیستمم 64 بیتی هست گزینه ی مورد نظر رو انتخاب و دانلود میکنم:با اجرای فایل دانلود شده نرم افزاری بنام git bash روی سیستم شما نصب میشود. نرم افزار git bash یه محیط command-line یونیکس بیس رو روی ویندوز شما شبیه سازی میکنه.حالا این سوال پیش میاد که چرا محیط command-line یونیکس بیسی مثل git bash رو نیاز داریم؟خب همونطور که تو مقاله ی قبل که راجب معرفی و تاریخچه گیت صحبت کردم گفتم که خالق گیت، لینوس توروالدز هست که گیت رو طوری طراحی کرده بود که روی محیط unix-based اجرا میشه. در واقع bash محیط shell پیشفرض لینوکس و مک هست، و مشکلی که ما در ویندوز داریم اینه محیط command-line ویندوز که اسمش command prompt هست ساختارش unix-based نیست. ولی خوشبختانه ما git bash رو داریم که با استفاده از اون خیلی راحت میتونیم محیط bash رو در ویندوز شبیه سازی کنیم و از گیت خیلی راحت در ویندوز استفاده کنیم.فایل دانلود شده را اجرا کنید و روی گزینه ی next کلیک کنید.در صفحه ی بعد از شما میخواد که component های مورد نیازتون رو تیک بزنید تا نصب بشه.پیشنهاد می‌شود مطابق عکس موارد را انتخاب کنید. توضیح هرکدام:گزینه Additional icons میانبر و ایکون git bash رو روی دسکتاپ اضافه میکنه.گزینه  Windows Explorer integration به شما این امکان را می‌دهد تا با کلیک راست  بتوانید Git را در مسیر جاری اجرا کنید. Git Bash محیط تحت خط‌ فرمان و  Git GUI محیط گرافیکی می‌باشد.گزینه Git LFS یا Large File  Support برای کار کردن با فایل های حجیم طراحی شده است و از دانلود چندباره  آن ها با جایگزینی پوینتر جلوگیری می‌کند.گزینه Associate .git*  configuration files with the default text editor قابلیت شناسایی پسوند  git و باز کردن آن با ویرایشگر پیش فرض (مانند VSCode) را به سیستم عامل  شناسایی می‌کند. تنظیمات این گزینه جلوتر توضیح داده خواهد شد.گزینه  Associate .sh files to be run with Bash قابلیت شناسایی پسوند sh  (اسکریپت Unix Shell) با محیط خط فرمان Bash را به سیستم عامل شناسایی  می‌کند. اگر مایل هستید از خط فرمان های Bash دیگری مانند Cygwin به جای  MSYS تعبیه شده استفاده کنید این گزینه را انتخاب نکنید.گزینه Check daily for Git for Windows updates بطور روزانه بروزرسانی های گیت را اعلام می‌کند.گزینه ی add a git bash profile to windows terminal بش رو به پروفایل های ویندوز ترمینال اضافه میکنه و میتونید از طریق ویندوز ترمینال هم به bash دسترسی داشته باشید. فیلم یک دقیقه ای زیر رو ببینید موضوع براتون روشن میشه که کاربرد این گزینه چیه:https://www.youtube.com/watch?v=zM9Mb-otqwwتیک گزینه ی اخر scalar (git add-on to manage large-scale repositories) که مربوط به مدیریت ریپازیتوری های در مقایس بزرگ هست رو هم بزنیددر این مرحله نام پیشنهادی برای پوشه ی گیت در start menu را نشان میدهد. روی next کلیک کنید.در این بخش باید ویرایشگر پیشفرضی رو برای git  انتخاب کنید. همانطور که مشاهده می‌کنید انتخاب پیش فرض Vim هست. Vim  یک ویرایشگر محبوب در ترمیناله ولی اگه دقت کنید خودش تو توضیحات گفته که The Vim editor, while powerful, can be hard to use (ترجمه: ویرایشگر vim در حالی که خیلی قدرتمنده ولی استفاده ازش سخته) و رابط کاربری راحتی نداره.پس مطابق تصویر زیر Use Visual  Studio Code as Git&#39;s default editor را انتخاب و سپس بر روی Next کلیک  کنید. اگر مراحل نصب VSCode را در حین نصب گیت انجام داده‌اید باید Git  Setup را کاملا ببندید و مراحل نصب را از ابتدا تکرار کنید. تمام این تنظیمات بعد از نصب گیت هم قابل تنظیم هست. فرض کنید شما در این مرحله ویرایشگر پیشفرض را vim انتخاب میکنید و بعد قصد دارید ویرایشگر پیشفرض گیت را به VsCode تغییر بدید. برای این کار میتونید درستور زیر رو داخل git bash اجرا کنید:git config --global core.editor &#34;code --wait&#34;اگه قصد دارید ویرایشگر پیشفرض git رو به سایر ادیتور ها تغییر بدید از لینک زیر کمک بگیرید. داخل لینک زیر دستور مربوط به set کردن هر ادیتوری به ادیتور پیشفرض گیت رو گذاشته:https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Configمرحله بعدی به شما امکان می دهد نام دیگری را برای branch اولیه خود انتخاب کنید. اسم پیش فرض &#34;master&#34; است و وقتی دستور git init رو اجرا میکنید برنچ اصلیتون میشه master. من روی گزینه ی Let Git decide میزارم و روی next کلیک میکنم.تو این مرحله به شما اجازه میده که PATH  environment سیستم رو تنظیم کنید، و منظورش اینه که ایا برای دسترسی و کار با git فقط قصد دارید از git bash استفاده کنید یا نه ؟ اگه فقط میخواید گیت رو داخل git bash صرفا استفاده کنید میتونید گزینه ی اول رو انتخاب کنید. ولی همونطور که خودش توصیه کرده گزینه ی دوم رو انتخاب کنید تا بتونید از طریق ابزار های 3rd-party مثل VsCode هم به گیت دسترسی داشته باشید . پس گزینه دوم را انتخاب و next را بزنید.در این مرحله گزینه اول Use the OpenSSL library رو برای اتصال https انتخاب کنید و next بزنید. usبه همین ترتیت مراحل بعد رو هم بزارید روی گزینه های پیش فرض خودش باشه و next بزنید.بعد از نصب گیت نرم افزار git bash و visual studio code را اجرا کنید و دستور زیر را برای مشاهده ی ورژن نصب شده گیت اجرا کنید.git --versionکانفیگ gitبعد از نصب گیت روی ماشین مورد نظر نوبت به کانفیگ نام و ایمیل میرسه. باید به git بگیم که ما کی هستیم. گیت باید بدونه که فایل هایی که ساخته میشه و یا تغییراتی که انجام میشه رو به چه کسی نسبت بده،( فقط قراره خودمون رو به گیت معرفی کنیم و قرار نیست حساب کاربری و پسورد بسازیم). بعدا که با همکارانتون به صورت گروهی روی یک پروژه کار میکنید گیت با استفاده از مشخصات شما تغییراتی که انجام میدید رو بنام خودتون ذخیره میکنه و بعد که بخواید history رو روند توسعه ی پروژه رو نگاه کنید مشخص میشه که چه فردی چه قسمت از پروژه رو انجام داده.تنظیم نام در گیت:قبل از معرفی نام شما در گیت اگر دستورات زیر را بزنید میبیند که مقدار خالی رو برمیگردونه و این به این معنیه که نام و ایمیل شما به گیت معرفی نشده.git config user.namegit config user.emailبرای معرفی نام به گیت باید از دستور زیر استفاده کنید و داخل دابل کوتیشن نام مدنظر خودتون رو قرار بدید ولی قبل از اجرای دستور زیر نکته ی پایین رو بخونید:git config --global user.name &#34;Your Name&#34;نکته مهم:پیشنهاد میکنم یک نامی رو انتخاب کنید که دوست دارید به عنوان developer شناخته بشید و نامی باید باشه که اگه پروژه تون رو publish کردید روی گیت هاب دوست دارید بقیه ی افراد شما رو با اون نام بشناسن. پس یک نام پایدار و ثابت باید انتخاب کنید و در تمام پروژه هاتون باید از اون نام استفاده کنید و دیگه قرار نیست این نام رو تغییر بدید.به نام گذاری من برای user.name توجه نکنید. شما با هر با هر قاعده ای که دوست دارید نام گذاری کنید مثلا بعضی ها نام رو به این صورت میزارن:git config --global user.name &#34;Mohsen Nazemi&#34; یاgit config --global user.name &#34;mohsen123&#34;یا ...برای معرفی ایمیل هم از دستور زیر استفاده کنید و داخل دابل کوتیشن ایمیل خودتون رو قرار بدید:git config --global user.email &#34;your.email@host.com&#34;نکته مهم:پیشنهاد میکنم ایمیلی رو به گیت معرفی کنید که برای ساخت اکانت github استفاده کردید.اپدیت گیتاگه مدتی گذشته و قصد دارید گیت نصب شده روی سیستم خودتون رو به اخرین ورژن ارتقاء بدید از دستور زیر استفاده کنید:git update-git-for-windows2- نصب و کانفیگ گیت روی لینوکسبرای نصب گیت روی لینوکس میتونید از دستور زیر استفاده کنید:برای محیط های debian-based مثل ubuntu و ... : $ sudo apt install git-allبرای محیط های RPM-based مثل CentOS و ... : $ sudo dnf install git-allسپس برای اطمینان از نصب گیت دستور git --version را اجرا کنید:$ git --versiongit version 2.40.1برای معرفی خودتون به گیت میتونید مشابه کامند هایی که بالا تر اشاره کردیم استفاده کنید:$ git config --global user.name &#34;Input Your Username&#34;$ git config --global user.email &#34;Input Your Email&#34;بعد برای تنظیم ادیتور پیشفرض گیت در لینوکس هم میتونید بسته به نوع ادیتورتون از کامند های موجود در لینک زیر کمک بگیرید.https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config</description><category>محسن ناظمی</category><author>محسن ناظمی</author><pubDate>Sun, 07 May 2023 15:44:35 +0330</pubDate></item><item><title>گیت و گیت هاب : قسمت 1 : معرفی گیت</title><link>https://virgool.ir/@programmer.mohsen/اموزش-گیت-و-گیت-هاب-قسمت-1-معرفی-گیت-kk5wonocg9kn</link><description>اموزش گیت قسمت اول : معرفی گیتاموزش گیت و گیت هاب قسمت اول : معرفیفهرست مطالب:1- مقدمه2- گیت دقیقا چیست؟3- سیستم کنترل ورژن چیست؟4- تاریخچه گیت5- تفاوت گیت با گیت هاب چیست؟مقدمهبا سلام و خسته نباشید خدمت دوستان عزیزگیت و گیت هاب یکی از ابزار های بسیار بسیار ضروری و مورد نیاز برنامه نویسان هست که خیلی هامون یادگیری اصولی اون رو به تاخیر میندازیم و وقت انچنانی نمیزاریم براش، در صورتی که بنظرم باید قبل از عمیق شدن در برنامه نویسی گیت رو تا حد خوبی یاد بگیریم (البته اینم بگم که گیت فقط مختص برنامه نویس ها نیست و خیلی از افراد در مشاغل دیگه ازش استفاده میکنن مثل گرافیست ها و ...).خودم چند سالی هست که از گیت استفاده میکنم ولی تصمیم گرفتم گیت رو اصولی تر یاد بگیرم برای همین یک دوره اموزش git که در سایت Udemy جزو best seller ها شده رو دارم مشاهده میکنم و سعی میکنم چکیده مطالب مهم و ضروری رو یادداشت کنم.پیشنهاد خودم اینه که بجای خوندن مقالات من برید خود این دوره رو ببینید و یا رفرنس های انگلیسی رو بخونید :)) !!  ولی برای کسایی که اول راه هستن و سختشونه میتونن از مقالات من استفاده کنن و امیدوارم که بدردشون بخورهلینک دوره در یودمی:https://www.udemy.com/course/git-and-github-bootcamp/لینک دانلود این دوره:https://downloadly.ir/elearning/video-tutorials/the-git-github-bootcamp-2/گیت دقیقا چیست؟گیت یک سیستم کنترل ورژن شناخته شده است که بعضی  اوقات به اون vcs (مخفف version control system) هم میگن. گیت تنها سیستم کنترل ورژن یا همون vcs نیست بلکه محبوب ترین vcs در دنیاست.سیستم کنترل ورژن چیست؟ سیستم کنترل ورژن یا همان vcs نرم افزاری است که به ردیابی و مدیریت تغییرات مجموعه ای از فایل ها در طول زمان کمک می کند. به شرکت هایی مثل فیس بوک یا گوگل با پایگاه های کد عظیم، هزاران فایل و هزاران توسعه دهنده فکر کنید. همه این برنامه نویس ها به طور موازی کار می کنند و هر روز تغییراتی روی کد ها ایجاد میکنن. حالا فرض کنید اگه ابزار مثل گیت وجود نداشت این توسعه دهندگان چطور باید کد ها رو مدیریت میکردند، چطور باید تغییرات رو ردیابی میکردند و یا چطور میتونستن به طور موازی با هم کد بزنن و در نهایت کدهاشونو باهم ترکیب کنن و یا تغییرات رو لغو کنن و یا ...این مواردی که گفتم نقش یک سیستم کنترل ورژن مثل git هست. به طور کلی اکثر سیستم های کنترل ورژن قابلیت های زیر را در اختیار شما میزارن:بازدید مجدد نسخه‌های قبلی فایل‌ها مقایسه تغییرات ایجاد شده بین نسخه های مختلف و فایل های مختلفلغو و بازگردانی تغییرات (یا به اصطلاح همون undo کردن)اشتراک گذاری تغییرات با بقیه افراد و ...گیت این قابلیت ها و همچنین قابلیت های پیشرفته تر دیگه رو در اختیارتون قرار میده.  این یک مقدمه کلی برای مفهوم سیستم کنترل ورژن بود که خدمتتون عرض کردم.  Git تنها یکی از سیستم های کنترل ورژن هست که سالهاست وجود داره و مورد استفاده برنامه نویسان هست. شناخته شده ترین سیستم های کنترل ورژن شامل  subversion، CVS و Mercurial و ... هستند که هیچ کدوم در حد و اندازه های گیت نیستن و سیستم کنترل ورژن گیت با اختلاف بین رقباش برندست !.همه این vcs ها اهداف مشابهی برای کمک به توسعه دهندگان یا کمک به کاربران برای ردیابی تغییرات پروژه ها در طول زمان دارند. اما vcs ها تفاوت های زیادی در سینتکس و نحوه ی دستیابی به قابلیت هایی که بالا گفتیم با همدیگه دارن. و اینم بگم خدمتتون که گیت کاملا رایگان و open source هست .وبسایت رسمی گیت:https://git-scm.com/تاریخچه gitموضوع اینه که لینوس توروالدز (خالق سیستم عامل لینوکس) و همکارانش زمانی که روی توسعه ی لینوکس کار میکردند تا سال 2005 از یک dvcs اختصاصی بنام BitKeeper (که یک سیستم مدیریت کد هست) استفاده میکردند تا اینکه در سال 2005 رابطه بین جامعه توسعه‌دهندگان هسته لینوکس و شرکت تجاری سازنده BitKeeper از بین رفت و وضعیت رایگان ابزار BitKeeper لغو شد. و همچنین اواخری که لینوس توروالدز و همکارانش از bitkeeper استفاده میکردن متوجه شدن که این ابزار تمام نیازهاشون رو برطرف نمیکنه و همین دو موضوع باعث شد که لینوس توروالدز سیستم کنترل ورژن اختصاصی خودش رو با کمک تجربه هایی که از BitKeeper کسب کرده بود به علاوه ی یک سری قابلیت های جدید بسازه . برخی از قابلیت های جدیدی که لینوس توروالدز در گیت لحاظ کرد عبارت اند از :سرعت بالاطراحی سادهپشتیبانی قوی از توسعه ی غیرخطی (توسعه روی هزاران شاخی به صورت موازی)یک سیستم توزیع شده  کاملقادر به مدیریت پروژه های بزرگ مانند هسته لینوکس به طور موثر ( سرعت و اندازه داده)تفاوت گیت با گیت هاب چیست؟تفاوت گیت با گیت هابگیت با گیت هاب فرق میکنه، همونطور که بالا اشاره کردم گیت یک سیستم کنترل ورژن هست که روی کامپیوتر ها مثل لپتاپ، دسکتاپ و ... نصب و اجرا میشود. شما برای استفاده از گیت نیازی به اینترنت و ساخت حساب کاربری و لاگین کردن ندارید، فقط کافیه درصورتی که گیت روی سیستم شما نیست اون رو دانلود و نصب کنید و ازش استفاده کنید. و همونطور که هنگام استفاده از برنامه هایی مثل text editor ، برنامه های افیس مثل word و excel نیازی به اینترنت نیست برای استفاده از گیت هم نیازی به  اینترنت و sign up ندارید.از اونطرف دیگه گیت هاب یک وب سرویس هست و کارش اینه که repository (ریپازیتوری یا به اصطلاح فارسی مخزن) های گیت رو در خودش ذخیره میکنه و یک هاستینگ و میزبانی هست برای پروژه های گیت. و این یک روش عالی برای ما برنامه نویسان هست که میتونیم پروژه های گیت خودمون رو داخل گیت هاب در اینترنت بارگذاری کنیم و با بقیه ی افراد به اشتراک بزاریم و کلی قابلیت دیگه بهمون میده که در مقاله های بعدی بهش اشاره میکنم.پس گیت هاب یک وبسایت هست که شما برای استفاده ازش باید دسترسی به اینترنت داشته باشید و یک حساب کاربری گیت هاب بسازید و بعد میتونید پروژه هاتون رو به صورت انلاین بارگزاری کنید و با بقیه ی افراد به اشتراک بزارید و یا میتونید پروژه های سایر افراد رو از گیت دریافت کنید و روی ماشین لوکال خودتون ازش استفاده کنید. پس گیت هاب یک شبکه ی اجتماعی برای به اشتراک گذاری پروژه هاتون هست و شما رو به سایر افردا و سایر پروژه ها connect میکنه.قسمت بعدی: نصب و کانفیگ گیت روی ویندوز و لینوکس</description><category>محسن ناظمی</category><author>محسن ناظمی</author><pubDate>Wed, 03 May 2023 17:07:09 +0330</pubDate></item><item><title>انواع مدل های رایانش ابری (Saas,Paas,Iaas) به طور خلاصه</title><link>https://virgool.ir/@programmer.mohsen/انواع-مدل-های-رایانش-ابری-saaspaasiaas-به-طور-خلاصه-t5nek4czcnwv</link><description>سه روش اصلی برای رایانش ابری وجود دارد که عبارت است از :‌1- Saas (software as a service)2- Paas (platform as a service)3- Iaas (infrastructure as a service)هر سه ی این روش ها به کاربر این امکان را میدهد تا از اپلیکیشن ها استفاده کنن و اطلاعات را به صورت انلاین ذخیره کنن، اما هر کدام امکانات و سطوح دسترسی مختلفی را به کاربران اراءه میدهد. سطوح دسترسی و امکانات Iaas از همه بیشتر ، بعد از اون Paas و در نهایت Saas کمترین سطح دسترسی و خدمات را نسبت به دو مدل دیگر دارد. مفهموم Saasدر مدل SaaS  برنامه و اپلیکیشن مورد نظر روی سرورهایی که در کلود قرار  گرفته و در بستر اینترنت سرویس میدهند اجرا میشوند. در این حالت برنامه و  اپلیکیشن مورد نظر روی سیستم کاربران نصب نمیباشد و پس از نصب روی سروری که  در بستر کلود قرار گرفته کاربران از طریق اینترنت به نرم افرار مربوطه  متصل میشوند. در این حالت نیاز به نصب و تنظیم برنامه روی سیستمهای کاربران  و مشتری ها از بین رفته و درگیر فرایند نصب ، لایسنس نرم افزار و موارد  دیگر نمیشویم.از جمله سرویس هایی که جزو دسته بندی SaaS قرار میگیرند  میتوان به سرویس های جیمیل ، فیسبوک و dropbox اشاره کرد. پس مخاطبین Saas کاربران نهایی end users هستند.مفهوم PaaSدر مدل PaaS در بحث کلود ، این امکان به developer ها و برنامه نویسان داده  میشود تا نرم افزار مورد نظر خود را نوشته ، توسعه و تست کنند و درنهایت  از طریق وب پیج به کاربر نهایی ارائه سرویس نماید.برنامه نویسان وب نیز  میتوانند وب سایت های مورد نظر خود را راه اندازی نمایند و به کاربران  سرویس مورد نظر را روی اینترنت تحویل دهند. مخاطبین سرویس های اراءه دهنده ی خدمات Paas معمولا جامعه ی برنامه نویسان هستند. مثال هایی از Paas عبارت اند از :‌AWS Elastic Beanstalk.Windows Azure.Heroku.Force.com.Google App Engine.OpenShift.مفهوم IaaSمدل IaaS که نوع دیگری از کلود یا رایانش ابری به حساب می آید شرکت فراهم کننده سرویس کلود ، زیرساخت شبکه و دیتاسنتر خود را که شامل منابع پردازشی شبکه ، استوریج و سرور بوده در اختیار مشتری  میگذارد.شایان ذکر است که در زیرساخت مرکز داده شرکتی که این سرویس ارائه  میشود برای فراهم نمودن سطح بالای دسترسی پذیری سرویسها و بوجود نیامدن  down time طیف مختلفی از سرویسها مانند لودبالانسر ، کلاسترینگ ، بک آپ و  پشتیبان گیری از داده های مشتری در حال اجرا میباشد تا خللی در کارهای  مشتری پیش نیاید.در مدل IssS کاربر خود میتواند ماشین مجازی دلخواه خود را  ایجاد ، سیستم عامل مورد نظر خود را روی آن نصب نموده ، نرم افزار یا سرویس  مد نظر خود را بالا آورده و از طریق اینترنت به کاربر نهایی ارائه سرویس  نماید. مخاطبین سرویس های Iaas معماران شبکه و it adminstrator ها هستند. مثال هایی از Iaas:DigitalOcean.Linode.Rackspace.Amazon Web Services (AWS)Cisco Metacloud.Microsoft Azure.Google Compute Engine (GCE)چند عکس برای درک بهتر این سه مدل و درک تفاوت هاشون : </description><category>محسن ناظمی</category><author>محسن ناظمی</author><pubDate>Tue, 05 Apr 2022 15:05:43 +0430</pubDate></item></channel></rss>