سرور مجازی

۳ مطلب با کلمه‌ی کلیدی «فروش سرور مجازی» ثبت شده است

  • ۰
  • ۰

نحوه نصب و پیکربندی Nextcloud در اوبونتو 20.04

ورود به سایت

معرفی

Nextcloud، یک فورک از ownCloud، یک سرور به اشتراک گذاری فایل است که به شما امکان می دهد محتوای شخصی خود، مانند اسناد و تصاویر، را در یک مکان متمرکز مانند Dropbox ذخیره کنید. تفاوت با Nextcloud این است که همه ویژگی های آن منبع باز هستند. همچنین کنترل و امنیت داده های حساس شما را به شما باز می گرداند، بنابراین استفاده از سرویس میزبانی ابری شخص ثالث را حذف می کند.

در این آموزش، ما یک نمونه Nextcloud را روی سرور اوبونتو 20.04 نصب و پیکربندی می کنیم.

پیش نیازها

 

برای تکمیل مراحل این راهنما، به موارد زیر نیاز دارید:

کاربر و فایروال غیر ریشه‌دار sudo که روی سرور شما پیکربندی شده است: می‌توانید یک کاربر با امتیازات sudo ایجاد کنید و با دنبال کردن تنظیمات اولیه سرور با اوبونتو 20.04، یک فایروال اساسی راه‌اندازی کنید.
(اختیاری) نام دامنه ای که به سرور شما اشاره می کند: ما اتصالات را به نصب Nextcloud با TLS/SSL ایمن می کنیم. اگر سرور شما نام دامنه داشته باشد، Nextcloud می تواند یک گواهی SSL رایگان و قابل اعتماد از Let’s Encrypt را تنظیم و مدیریت کند. در غیر این صورت، Nextcloud می تواند یک گواهی SSL با امضای خود تنظیم کند که می تواند اتصالات را رمزگذاری کند، اما به طور پیش فرض در مرورگرهای وب قابل اعتماد نخواهد بود.
پس از انجام مراحل بالا، برای یادگیری نحوه راه اندازی Nextcloud بر روی سرور خود، ادامه دهید.

مرحله 1 – نصب Nextcloud

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

برای دانلود بسته Nextcloud snap و نصب آن بر روی سیستم، تایپ کنید:

sudo snap install nextcloud

بسته Nextcloud دانلود و بر روی سرور شما نصب خواهد شد. با فهرست کردن تغییرات مرتبط با snap می‌توانید تأیید کنید که فرآیند نصب با موفقیت انجام شده است:

snap changes nextcloud

 

Output

ID   Status  Spawn               Ready               Summary
4    Done    today at 16:12 UTC  today at 16:12 UTC  Install "nextcloud" snap

وضعیت و خلاصه نشان می دهد که نصب بدون هیچ مشکلی انجام شده است.

دریافت اطلاعات اضافی درباره Nextcloud Snap

اگر اطلاعات بیشتری در مورد Nextcloud snap می‌خواهید، چند دستور وجود دارد که می‌تواند مفید باشد.

دستور snap info می تواند توضیحات، دستورات مدیریت Nextcloud موجود، و همچنین نسخه نصب شده و کانال snap را که ردیابی می شود به شما نشان دهد:

snap info nextcloud

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

snap connections nextcloud

 

Output

Interface        Plug                       Slot           Notes
network          nextcloud:network          :network       -
network-bind     nextcloud:network-bind     :network-bind  -
removable-media  nextcloud:removable-media  -              -

برای اطلاع از همه خدمات و برنامه‌های خاصی که این اسنپ ارائه می‌کند، می‌توانید با تایپ کردن، نگاهی به فایل تعریف snap بیندازید:

cat /snap/nextcloud/current/meta/snap.yaml

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

مرحله 2 – پیکربندی یک حساب اداری

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

برای پیکربندی Nextcloud ب

ا یک حساب کاربری جدید، از دستور nextcloud.manual-install استفاده کنید. شما باید یک نام کاربری و یک رمز عبور را به عنوان آرگومان وارد کنید:

sudo nextcloud.manual-install sammy password

پیام زیر نشان می دهد که Nextcloud به درستی پیکربندی شده است:

 

Output

Nextcloud was successfully installed

اکنون که Nextcloud نصب شده است، باید دامنه های مورد اعتماد را طوری تنظیم کنیم که Nextcloud با استفاده از نام دامنه یا آدرس IP سرور به درخواست ها پاسخ دهد.

مرحله 3 – تنظیم دامنه های مورد اعتماد

هنگام نصب از خط فرمان، Nextcloud نام میزبان هایی را که نمونه به آنها پاسخ می دهد محدود می کند. به‌طور پیش‌فرض، این سرویس تنها به درخواست‌های ارسال شده به نام میزبان «localhost» پاسخ می‌دهد. ما از طریق نام دامنه یا آدرس IP سرور به Nextcloud دسترسی خواهیم داشت، بنابراین باید این تنظیم را برای پذیرش این نوع درخواست‌ها تنظیم کنیم.

با پرس و جو کردن مقدار آرایه trusted_domains می توانید تنظیمات فعلی را مشاهده کنید:

sudo nextcloud.occ config:system:get trusted_domains

 

Output

localhost

در حال حاضر، فقط localhost به عنوان اولین مقدار در آرایه وجود دارد. می‌توانیم یک ورودی برای نام دامنه یا آدرس IP سرور خود با تایپ کردن اضافه کنیم:

sudo nextcloud.occ config:system:set trusted_domains 1 –value=example.com

 

Output

System config value trusted_domains => 1 set to string example.com

اگر دوباره دامنه های مورد اعتماد را پرس و جو کنیم، خواهیم دید که اکنون دو ورودی داریم:

sudo nextcloud.occ config:system:get trusted_domains

 

Output

localhost
example.com

اگر نیاز به افزودن راه دیگری برای دسترسی به نمونه Nextcloud دارید، می‌توانید با اجرای مجدد دستور config:system:set با یک عدد فهرست افزایش‌یافته («1» در دستور اول) و تنظیم مقدار — دامنه‌ها یا آدرس‌های اضافی اضافه کنید. .

مرحله 4 – ایمن سازی رابط وب Nextcloud با SSL

قبل از شروع استفاده از Nextcloud، باید رابط وب را ایمن کنیم.

اگر یک نام دامنه مرتبط با سرور Nextcloud خود دارید، snap Nextcloud می تواند به شما کمک کند یک گواهی SSL قابل اعتماد را از Let’s Encrypt دریافت و پیکربندی کنید. اگر سرور Nextcloud شما نام دامنه ندارد، Nextcloud می تواند یک گواهی امضا شده را پیکربندی کند که ترافیک وب شما را رمزگذاری می کند اما به طور خودکار توسط مرورگر وب شما قابل اعتماد نخواهد بود.

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

گزینه 1: راه اندازی SSL با Let’s Encrypt

اگر یک نام دامنه مرتبط با سرور Nextcloud خود دارید، بهترین گزینه برای ایمن سازی رابط وب خود دریافت گواهی Let’s Encrypt SSL است.

با باز کردن پورت‌هایی در فایروال که Let’s Encrypt برای تأیید مالکیت دامنه استفاده می‌کند، شروع کنید. با این کار صفحه ورود Nextcloud شما به صورت عمومی قابل دسترسی خواهد بود، اما از آنجایی که ما قبلاً یک حساب سرپرست پیکربندی شده‌ایم، هیچ‌کس نمی‌تواند نصب را هک کند:

sudo ufw allow 80,443/tcp

سپس، با تایپ کردن، یک گواهی Let’s Encrypt درخواست کنید:

sudo nextcloud.enable-https lets-encrypt

ابتدا از شما سوال می شود که آیا سرور شما شرایط لازم برای درخواست گواهی از سرویس Let’s Encrypt را دارد یا خیر:

 

Output

In order for Let's Encrypt to verify that you actually own the
domain(s) for which you're requesting a certificate, there are a
number of requirements of which you need to be aware:

1. In order to register with the Let's Encrypt ACME server, you must
   agree to the currently-in-effect Subscriber Agreement located
   here:

       https://letsencrypt.org/repository/

   By continuing to use this tool you agree to these terms. Please
   cancel now if otherwise.

2. You must have the domain name(s) for which you want certificates
   pointing at the external IP address of this machine.

3. Both ports 80 and 443 on the external IP address of this machine
   must point to this machine (e.g. port forwarding might need to be
   setup on your router).

Have you met these requirements? (y/n)

برای ادامه y را تایپ کنید.

در مرحله بعد، از شما خواسته می شود یک آدرس ایمیل برای استفاده برای عملیات بازیابی ارائه دهید:

 

Output

Please enter an email address (for urgent notices or key recovery):

ایمیل خود را وارد کنید و برای ادامه Enter را فشار دهید.

در نهایت، نام دامنه مرتبط با سرور Nextcloud خود را وارد کنید:

 

Output

Please enter your domain name(s) (space-separated): example.com

گواهی Let’s Encrypt شما درخواست می شود و به شرطی که همه چیز به خوبی پیش برود، نمونه داخلی آپاچی مجدداً راه اندازی می شود تا بلافاصله SSL پیاده سازی شود:

 

Output

Attempting to obtain certificates... done
Restarting apache... done

اکنون می توانید به مرحله بعدی بروید تا برای اولین بار وارد Nextcloud شوید.

گزینه 2: راه اندازی SSL با گواهی خود امضا شده

اگر سرور Nextcloud شما نام دامنه ندارد، همچنان می‌توانید با ایجاد یک گواهی SSL خودامضا، رابط وب را ایمن کنید. این گواهی اجازه دسترسی به رابط وب را از طریق یک اتصال رمزگذاری شده می دهد، اما نمی تواند هویت سرور شما را تأیید کند، بنابراین مرورگر شما احتمالاً هشداری را نمایش می دهد.

برای ایجاد یک گواهی خودامضا و پیکربندی Nextcloud برای استفاده از آن، تایپ کنید:

sudo nextcloud.enable-https self-signed

 

Output

Generating key and self-signed certificate... done
Restarting apache... done

خروجی بالا نشان می دهد که Nextcloud یک گواهی امضا شده را تولید و فعال کرده است.

اکنون که رابط امن است، پورت های وب را در فایروال باز کنید تا به رابط وب اجازه دسترسی داشته باشید:

sudo ufw allow 80,443/tcp

اکنون برای اولین بار آماده ورود به Nextcloud هستید.

مرحله 5 – وارد شدن به رابط وب Nextcloud

اکنون که Nextcloud پیکربندی شده است، از نام دامنه یا آدرس IP سرور خود در مرورگر وب خود بازدید کنید:

https://example.com

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

برای ورود به رابط وب Nextcloud روی دکمه ورود به سیستم کلیک کنید.

اولین باری که وارد می شوید، پنجره ای با چند متن مقدماتی و پیوندهایی به کلاینت های مختلف Nextcloud نمایش داده می شود که می توان از آنها برای دسترسی به نمونه Nextcloud خود استفاده کرد:

 

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

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

نتیجه

Nextcloud می‌تواند قابلیت‌های سرویس‌های ذخیره‌سازی ابری شخص ثالث را تکرار کند. محتوا را می توان بین کاربران یا به صورت خارجی با URL های عمومی به اشتراک گذاشت. مزیت Nextcloud این است که اطلاعات به صورت امن در مکانی که شما کنترل می کنید ذخیره می شود.

 

https://vpsgol.net/product/vps-germany/

 

https://vpsgol.net/product/vps-usa/

 

https://vpsgol.net/product/vps-france/

 

https://vpsgol.net/product/vps-canada/

 

https://vpsgol.net/product/vps-poland/

 

https://vpsgol.net/product/vps-netherlands/

 

https://vpsgol.net/product/vps-england/

برچسب‌ها:ایجاد سرور مجازیبپیکربندی Nextcloud snapتنظیمات اولیه سرور مجازیخرید سرور مجازی نامحدودراه اندازی SSLسرور اوبونتو 20.04سیستم بسته بندی Snapفروش سرور مجازینصب و پیکربندی Nextcloud

  • behnam gol mohamadi
  • ۰
  • ۰

نحوه تنظیم نوت بوک Jupyter برای Python 3

ورود به سایت

معرفی

Jupyter Notebook یک پوسته فرمان برای محاسبات تعاملی به عنوان یک برنامه وب ارائه می دهد. این ابزار را می توان با چندین زبان از جمله Python، Julia، R، Haskell و Ruby استفاده کرد. اغلب برای کار با داده ها، مدل سازی آماری و یادگیری ماشین استفاده می شود.

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

در پایان این راهنما، می‌توانید کد پایتون 3 را با استفاده از نوت‌بوک Jupyter که روی یک ماشین محلی یا سرور راه دور اجرا می‌شود، اجرا کنید.

پیش نیازها

برای دنبال کردن این آموزش، به یک محیط برنامه نویسی پایتون 3 نیز نیاز دارید

  • در دستگاه محلی شما، یا
  • روی سرور اوبونتو

تمام دستورات این آموزش باید به صورت یک کاربر غیر روت اجرا شوند. اگر دسترسی root برای دستور مورد نیاز باشد، قبل از دستور sudo قرار می گیرد. راه اندازی اولیه سرور با اوبونتو 20.04 نحوه اضافه کردن کاربران و دادن دسترسی sudo را توضیح می دهد.

مرحله 1 – نصب نوت بوک Jupyter

در این قسمت نوت بوک Jupyter را با pip نصب می کنیم.

محیط برنامه نویسی Python 3 را که می خواهید Jupyter Notebook را در آن نصب کنید، فعال کنید. در مثال خود، آن را در my_env نصب می‌کنیم، بنابراین مطمئن می‌شویم که در دایرکتوری آن محیط هستیم و آن را به این صورت فعال می‌کنیم:

cd ~/environments
. my_env/bin/activate

در مرحله بعد، می توانیم اطمینان حاصل کنیم که پیپ به آخرین نسخه ارتقا یافته است:

pip install –upgrade pip

حالا می توانیم Jupyter Notebook را با دستور زیر نصب کنیم:

pip install jupyter

در این مرحله Jupyter Notebook در محیط برنامه نویسی فعلی نصب می شود.

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

مرحله 2 (اختیاری) – استفاده از SSH Tunneling برای اتصال به نصب سرور

اگر نوت بوک Jupyter را روی سرور نصب کرده اید، در این بخش نحوه اتصال به رابط وب Jupyter Notebook با استفاده از تونل SSH را یاد می گیریم. از آنجایی که Jupyter Notebook بر روی یک پورت خاص روی سرور اجرا می شود (مانند :8888، :8889 و غیره)، تونل SSH شما را قادر می سازد تا به طور ایمن به پورت سرور متصل شوید.

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

SSH Tunneling

اگر از ویندوز استفاده می کنید، باید نسخه ای از OpenSSH را نصب کنید تا بتوانید از ترمینال ssh کنید. اگر ترجیح می دهید در PowerShell کار کنید، می توانید اسناد مایکروسافت را برای اضافه کردن OpenSSH به PowerShell دنبال کنید. اگر ترجیح می‌دهید یک محیط لینوکس کامل در دسترس داشته باشید، می‌توانید WSL، زیرسیستم ویندوز برای لینوکس را راه‌اندازی کنید، که به طور پیش‌فرض شامل ssh می‌شود. در نهایت، به عنوان گزینه سوم سبک، می‌توانید Git را برای ویندوز نصب کنید، که یک محیط ترمینال bash ویندوز که شامل دستور ssh می‌شود را فراهم می‌کند. هر کدام از این ها به خوبی پشتیبانی می شوند و هر کدام را که تصمیم به استفاده از آن داشته باشید به اولویت شما بستگی دارد.

اگر از مک یا لینوکس استفاده می کنید، از قبل دستور ssh را در ترمینال خود خواهید داشت.

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

SSH tunneling را می توان با اجرای دستور SSH زیر در یک پنجره ترمینال محلی جدید انجام داد:

ssh -L 8888:localhost:8888 your_server_username@your_server_ip

دستور ssh یک اتصال SSH را باز می کند، اما -L مشخص می کند که پورت داده شده در میزبان محلی (کلینت) باید به هاست و پورت در سمت راه دور (سرور) ارسال شود. این بدان معناست که هر چیزی که روی شماره پورت دوم (به عنوان مثال 8888) در سرور اجرا می شود، در اولین شماره پورت (مثلاً 8888) در رایانه محلی شما ظاهر می شود.

اگر پیامی دریافت کردید که پورت 8888 در دسترس نیست، می توانید آن را به شماره پورت دلخواه دیگری زیر 65535 تغییر دهید. پورت 8888 معنای مهمی ندارد اما اغلب برای دموهایی مانند این استفاده می شود.

server_username نام کاربری شما (به عنوان مثال sammy) در سروری است که ایجاد کرده اید و your_server_ip آدرس IP سرور شما است.

به عنوان مثال، برای نام کاربری sammy و آدرس سرور 203.0.113.0، دستور به صورت زیر خواهد بود:

ssh -L 8888:localhost:8888 sammy@203.0.113.0

اگر پس از اجرای دستور ssh -L خطایی نشان داده نشد، می توانید به محیط برنامه نویسی خود بروید و Jupyter Notebook را اجرا کنید:

jupyter notebook

خروجی را با URL دریافت خواهید کرد. از یک مرورگر وب در دستگاه محلی خود، رابط وب Jupyter Notebook را با URL که با http://localhost:8888 شروع می شود، باز کنید. اطمینان حاصل کنید که شماره رمز گنجانده شده است یا در صورت درخواست در http://localhost:8888 رشته شماره رمز را وارد کنید.

مرحله 3 – اجرای نوت بوک Jupyter

با نصب نوت بوک Jupyter، می توانید آن را در ترمینال خود اجرا کنید. برای این کار دستور زیر را اجرا کنید:

jupyter notebook

گزارشی از فعالیت های نوت بوک Jupyter در ترمینال چاپ می شود. هنگامی که Jupyter Notebook را اجرا می کنید، روی یک شماره پورت خاص اجرا می شود. اولین نوت‌بوکی که اجرا می‌کنید معمولاً روی پورت 8888 اجرا می‌شود. برای بررسی شماره پورت خاصی که Jupyter Notebook روی آن اجرا می‌شود، به خروجی دستور استفاده شده برای شروع آن مراجعه کنید:

 

Output

[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels 
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
...

اگر Jupyter Notebook را روی یک رایانه محلی (نه روی سرور) اجرا می کنید، مرورگر پیش فرض شما باید برنامه وب Jupyter Notebook را باز کرده باشد. اگر نه، یا اگر پنجره را ببندید، می توانید به URL ارائه شده در خروجی بروید یا برای اتصال به localhost:8888 بروید.

هر زمان که می‌خواهید فرآیند Jupyter Notebook را متوقف کنید، Ctrl+C را فشار دهید، زمانی که از شما خواسته شد Y را تایپ کنید و سپس Enter را برای تأیید فشار دهید.

خروجی زیر را دریافت خواهید کرد:

 

Output

[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels

Jupyter Notebook اکنون دیگر کار نمی کند.

مرحله 4 – استفاده از نوت بوک Jupyter

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

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

برای ایجاد یک فایل نوت بوک جدید، New > Python 3 را از منوی کشویی بالا سمت راست انتخاب کنید:

با این کار یک نوت بوک باز می شود. اکنون می‌توانیم کد پایتون را در سلول اجرا کنیم یا سلول را به markdown تغییر دهیم. برای مثال، با کلیک روی Cell > Cell Type > Markdown از نوار پیمایش بالا، اولین سلول را برای پذیرش Markdown تغییر دهید. اکنون می‌توانیم یادداشت‌هایی را با استفاده از Markdown بنویسیم و حتی معادلات نوشته‌شده در LaTeX را با قرار دادن آنها بین نمادهای $$ اضافه کنیم. به عنوان مثال، پس از تغییر سلول به علامت گذاری، عبارت زیر را در سلول تایپ کنید:

# Simple Equation

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

برای تبدیل علامت گذاری به متن غنی، Ctrl+Enter را فشار دهید و نتایج زیر باید باشد:

می توانید از سلول های علامت گذاری برای یادداشت برداری و مستندسازی کد خود استفاده کنید. بیایید آن معادله ساده را پیاده سازی کنیم و نتیجه را چاپ کنیم. روی سلول بالا کلیک کنید، سپس Alt+Enter را فشار دهید تا یک سلول زیر آن اضافه شود. کد زیر را در سلول جدید وارد کنید.

x = 2
y = x**2
print(y)

برای اجرای کد، Ctrl+Enter را فشار دهید. نتایج زیر را دریافت خواهید کرد:

اکنون می توانید ماژول ها را وارد کنید و از نوت بوک مانند سایر محیط های توسعه پایتون استفاده کنید!

برای خاموش کردن نوت بوک Jupyter سمت سرور، به پنجره ترمینال که آن را از آنجا شروع کرده اید بازگردید و Ctrl+C را فشار دهید. این یک میانبر استاندارد برای پایان دادن به فرآیندهای ترمینال است و Jupyter از شما می خواهد قبل از خروج ذخیره کنید.

نتیجه

تبریک می گویم! اکنون باید بتوانید کدها و یادداشت های قابل تکرار پایتون را با استفاده از Jupyter Notebook در Markdown بنویسید. برای دریافت یک تور سریع از Jupyter Notebook از داخل رابط، Help > User Interface Tour را از منوی پیمایش بالا انتخاب کنید تا بیشتر بدانید.


 

https://vpsgol.net/product/vps-germany/

 

https://vpsgol.net/product/vps-usa/

 

https://vpsgol.net/product/vps-france/

 

https://vpsgol.net/product/vps-canada/

 

https://vpsgol.net/product/vps-poland/

 

https://vpsgol.net/product/vps-netherlands/

 

https://vpsgol.net/product/vps-england/

 

برچسب‌ها:SSH TunnelingUbuntu VPSاتصال به سرور مجازیخرید سرور مجازیسرور اوبونتو 20.04فروش سرور مجازینحوه تنظیم نوت بوک Jupyterنصب سرورنصب نوت بوک Jupyter

  • behnam gol mohamadi
  • ۰
  • ۰

چگونه از یک ماژول خصوصی Go در پروژه خود استفاده کنید

ورود به سایت

 

 

 

معرفی

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

در این آموزش، ماژول Go خصوصی را منتشر می‌کنید، احراز هویت را برای دسترسی به یک ماژول خصوصی تنظیم می‌کنید و از ماژول Go خصوصی در پروژه استفاده می‌کنید.

پیش نیازها

  • Go نسخه 1.16 یا بالاتر نصب شده است، که می توانید با دنبال کردن سری ما، نحوه نصب و راه اندازی یک محیط برنامه نویسی محلی برای Go، این کار را انجام دهید.
  • درک توزیع ماژول های Go،
  • آشنایی با Git،
  • یک مخزن خصوصی خالی GitHub با نام mysecret برای ماژول خصوصی منتشر شده شما.
  • یک رمز دسترسی شخصی GitHub با دسترسی به خواندن از مخازن شما. از این برای اجازه دسترسی Go به مخزن خصوصی شما استفاده خواهید کرد.

توزیع یک ماژول خصوصی

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

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

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

دایرکتوری پروژه ها را بسازید و به آن بروید:

mkdir projects

cd projects

از دایرکتوری پروژه‌ها، git clone را اجرا کنید تا مخزن mysecret خصوصی شما در رایانه شما کلون شود:

git clone git@github.com:your_github_username/mysecret.git

Git تایید می کند که ماژول شما را شبیه سازی کرده است و ممکن است به شما هشدار دهد که یک مخزن خالی را شبیه سازی کرده اید. اگر چنین است، این چیزی نیست که باید نگران آن باشید:

 

Output

Cloning into 'mysecret'...
warning: You appear to have cloned an empty repository.

در مرحله بعد، از cd برای رفتن به دایرکتوری mysecret جدیدی که کلون کرده اید استفاده کنید و از go mod init به همراه نام مخزن خصوصی خود برای ایجاد یک ماژول Go جدید استفاده کنید:

cd mysecret

go mod init github.com/your_github_username/mysecret

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

nano mysecret.go

در فایل mysecret.go، بسته را با همان نام مخزن خود نامگذاری کنید، سپس یک تابع SecretProcess برای چاپ خط Running the secret اضافه کنید! هنگام تماس:

projects/mysecret/mysecret.go

package mysecret

import "fmt"

func SecretProcess() {
    fmt.Println("Running the secret process!")
}

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

از آنجایی که هر دو ماژول Go خصوصی و عمومی مخازن منبع هستند، انتشار یک ماژول Go خصوصی همان فرآیند انتشار عمومی را دنبال می کند. برای انتشار ماژول جدید خود، تغییرات خود را با استفاده از دستور git add در فهرست فعلی مرحله بندی کنید، سپس با دستور git commit آن تغییرات را در مخزن محلی خود انجام دهید:

git add .

git commit -m “Initial private module implementation”

تأییدیه ای از Git مبنی بر موفقیت آمیز بودن commit اولیه و همچنین خلاصه ای از فایل های موجود در commit را مشاهده خواهید کرد:

 

Output

[main (root-commit) bda059d] Initial private module implementation
 2 files changed, 10 insertions(+)
 create mode 100644 go.mod
 create mode 100644 mysecret.go

اکنون تنها قسمت باقی مانده این است که تغییرات خود را به مخزن GitHub خود منتقل کنید. مشابه یک ماژول عمومی، از دستور git push برای انتشار کد خود استفاده کنید:

git push

سپس Git تغییرات شما را تحت فشار قرار می دهد و آنها را برای هر کسی که به مخزن خصوصی شما دسترسی دارد در دسترس قرار می دهد:

git push origin main
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 404 bytes | 404.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:your_github_username/mysecret.git
 * [new branch]      main -> main

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

در این بخش، ماژول جدیدی با تابع SecretProcess ایجاد کردید و آن را در مخزن mysecret خصوصی GitHub خود منتشر کردید و آن را به یک ماژول Go خصوصی تبدیل کردید. با این حال، برای دسترسی به این ماژول از برنامه Go دیگر، باید Go را پیکربندی کنید تا بداند چگونه به ماژول دسترسی پیدا کند.

پیکربندی رفتن به دسترسی به ماژول های خصوصی

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

برای استفاده از ماژول خصوصی، با تنظیم آن در متغیر GOPRIVATE، به Go بگویید کدام مسیر را خصوصی در نظر بگیرید. هنگام تنظیم مقادیر متغیر GOPRIVATE، چند انتخاب وجود دارد. یک گزینه این است که GOPRIVATE را روی github.com تنظیم کنید. اگرچه ممکن است این چیزی نباشد که شما به دنبال آن هستید، زیرا این امر به Go می‌گوید که از خدمات مرکزی برای هر ماژول میزبانی شده در github.com، از جمله مواردی که مال شما نیستند، استفاده نکند.

گزینه بعدی این است که GOPRIVATE را فقط روی مسیر کاربری خود تنظیم کنید، مانند github.com/your_github_username. این مشکل در نظر گرفتن تمام GitHub خصوصی را حل می کند، اما در برخی مواقع ممکن است ماژول های عمومی ایجاد کنید که بخواهید از طریق آینه ماژول Go دانلود کنید. انجام این کار هیچ مشکلی ایجاد نمی کند و یک گزینه کاملا منطقی خواهد بود، اما شما همچنین می توانید این گزینه را دقیق تر کنید.

خاص ترین گزینه تنظیم GOPRIVATE برای مطابقت دقیق با مسیر ماژول شما است، مانند: github.com/your_github_username/mysecret. این هر دو مشکل از گزینه های قبلی را حل می کند، اما همچنین مشکلی را معرفی می کند که باید هر یک از مخازن خصوصی خود را به صورت جداگانه به GOPRIVATE اضافه کنید، مانند نشان داده شده در اینجا:

GOPRIVATE=github.com/your_github_username/mysecret,github.com/your_github_username/othersecret

انتخاب بهترین گزینه برای خود به سنجش مزایا و معایب در موقعیت شما بستگی دارد.

از آنجایی که اکنون فقط یک ماژول خصوصی دارید، از نام مخزن کامل برای مقدار استفاده خواهیم کرد. برای تنظیم متغیر محیطی GOPRIVATE=github.com/your_github_username/mysecret در ترمینال فعلی خود، از دستور صادرات استفاده کنید:

export GOPRIVATE=github.com/your_github_username/mysecret

اگر می خواهید دوباره بررسی کنید که تنظیم شده است، می توانید از دستور env به همراه grep برای بررسی نام GOPRIVATE استفاده کنید:

env | grep GOPRIVATE

 

Output

GOPRIVATE=github.com/your_github_username/mysecret

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

go get github.com/your_github_username/mysecret

 

Output

go get: module github.com/your_github_username/mysecret: git ls-remote -q origin in /Users/your_github_username/go/pkg/mod/cache/vcs/2f8c...b9ea: exit status 128:
    fatal: could not read Username for 'https://github.com': terminal prompts disabled
Confirm the import path was entered correctly.
If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.
 

این پیغام خطا می گوید Go سعی کرد ماژول شما را دانلود کند، اما با چیزی مواجه شد که هنوز به آن دسترسی ندارد. از آنجایی که Git برای دانلود ماژول استفاده می شود، معمولاً از شما می خواهد که اعتبار خود را وارد کنید. با این حال، در این مورد، Go Git را برای شما فراخوانی می‌کند و نمی‌تواند برای آن‌ها درخواست کند. در این مرحله، برای دسترسی به ماژول خود باید راهی برای Git ارائه دهید تا اعتبار شما را بدون ورودی فوری شما بازیابی کند.

ارائه اعتبار ماژول خصوصی برای HTTPS

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

به طور پیش‌فرض، وقتی go get تلاش می‌کند یک ماژول را دانلود کند، ابتدا سعی می‌کند از HTTPS استفاده کند. با این حال، همانطور که در مثال قبلی نشان داده شد، نمی‌تواند از شما نام کاربری و رمز عبور را بخواهد. برای دادن اعتبار به Git، باید یک netrc. داشته باشید که شامل github.com در فهرست اصلی خود است.

برای ایجاد یک فایل netrc. در Linux، MacOS، یا Windows Subsystem for Linux (WSL)، فایل netrc. را در فهرست اصلی خود (~/) باز کنید تا بتوانید آن را ویرایش کنید:

nano ~/.netrc

بعد، یک ورودی جدید در فایل ایجاد کنید. مقدار ماشین باید نام میزبانی باشد که اعتبارنامه را برای آن تنظیم می کنید، که در این مورد github.com است. سپس مقدار ورود باید نام کاربری GitHub شما باشد. در نهایت، مقدار رمز عبور باید نشانه دسترسی شخصی GitHub باشد که ایجاد کرده‌اید.

~/.netrc

machine github.com
login your_github_username
password your_github_access_token

در صورت تمایل، می توانید کل ورودی را نیز در یک خط در فایل قرار دهید:

~/.netrc

machine github.com login your_github_username password your_github_access_token

اکنون محیط شما برای استفاده از احراز هویت HTTPS برای دانلود ماژول خصوصی شما تنظیم شده است. حتی اگر HTTPS روش پیش‌فرض Go و Git برای دانلود یک ماژول است، می‌توان به Git گفت که به جای آن از SSH استفاده کند. استفاده از SSH به جای HTTPS می تواند مفید باشد، بنابراین می توانید از همان کلید SSH که برای فشار دادن ماژول خصوصی خود استفاده می کردید استفاده کنید. همچنین به شما این امکان را می دهد که از کلیدهای استقرار هنگام تنظیم یک محیط CI/CD استفاده کنید، اگر ترجیح می دهید رمز دسترسی شخصی ایجاد نکنید.

ارائه اعتبار ماژول خصوصی برای SSH

برای استفاده از کلید SSH به عنوان روش احراز هویت برای ماژول Go خصوصی به جای HTTPS، Git یک گزینه پیکربندی به نام جایگزینOf را ارائه می دهد. گزینه جایگزین به شما این امکان را می دهد که بگویید “به جای” از https://github.com/ به عنوان URL درخواست برای همه درخواست های Git، ترجیح می دهید از ssh://git@github.com/ استفاده کنید.

در لینوکس، MacOS و WSL این پیکربندی در فایل gitconfig. وجود دارد. ممکن است قبلاً با این فایل آشنایی داشته باشید زیرا آدرس ایمیل و نام commit شما نیز در آن پیکربندی شده است. برای ویرایش فایل، از nano یا ویرایشگر متن مورد علاقه خود استفاده کنید و فایل ~/.gitconfig را در فهرست اصلی خود باز کنید:

nano ~/.gitconfig

هنگامی که فایل را باز کردید، آن را ویرایش کنید تا بخش url برای ssh://git@github.com/ مانند مثال زیر باشد:

~/.gitconfig

[user]
    email = your_github_username@example.com
    name = Sammy the Shark

[url "ssh://git@github.com/"]
    insteadOf = https://github.com/

ترتیب قسمت url نسبت به بخش کاربر اهمیتی ندارد و همچنین لازم نیست نگران باشید اگر هیچ چیز دیگری در فایل به جز قسمت url که به تازگی اضافه کرده اید وجود ندارد. ترتیب فیلدهای ایمیل و نام در قسمت کاربری نیز مهم نیست.

این بخش جدید به Git می‌گوید که هر نشانی اینترنتی که با https://github.com/ شروع می‌شود باید با ssh://git@github.com/ جایگزین شود. از آنجایی که Go به طور پیش فرض از HTTPS استفاده می کند، این امر بر دستورات go get شما نیز تأثیر می گذارد. با استفاده از ماژول خصوصی خود به عنوان مثال، این بدان معناست که Go مسیر واردات github.com/your_github_username/mysecret را به URL https://github.com/your_github_username/mysecret تبدیل می کند. هنگامی که Git با این URL روبرو می شود، URL را با پیشوند https://github.com/ مطابقت می بیند که به جای آن به آن ارجاع داده شده است و URL حاصل را به ssh://git@github.com/your_github_username/mysecret تبدیل می کند.

تا زمانی که URL ssh://git@ برای آن میزبان نیز کار کند، می‌توان از این الگو برای دامنه‌هایی غیر از GitHub استفاده کرد.

در این بخش، Git را برای استفاده از SSH برای دانلود ماژول های Go با به روز رسانی فایل .gitconfig و افزودن یک بخش url پیکربندی کردید. اکنون که احراز هویت برای ماژول خصوصی شما تنظیم شده است، می توانید برای استفاده در برنامه های Go خود به آن دسترسی داشته باشید.

استفاده از ماژول خصوصی

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

در دایرکتوری که برای پروژه های خود استفاده می کنید، مانند پروژه ها، با استفاده از دستور mkdir یک دایرکتوری به نام myproject برای پروژه جدید ایجاد کنید:

mkdir myproject

پس از ایجاد دایرکتوری، با استفاده از cd به دایرکتوری بروید و یک ماژول Go جدید را با استفاده از go mod init برای پروژه خود بر اساس URL مخزنی که پروژه شما در آن زندگی می کند، راه اندازی کنید، مانند github.com/your_github_username/myproject. اگر قصد ندارید پروژه شما به مخزن دیگری منتقل شود، نام ماژول می تواند فقط myproject یا هر نام دیگری باشد، اما استفاده از URL های کامل تمرین خوبی است زیرا اکثر ماژول هایی که به اشتراک گذاشته می شوند به آنها نیاز دارند.

cd myproject
go mod init github.com/your_github_username/myproject

 

Output

go: creating new go.mod: module github.com/your_github_username/myproject

اکنون، با باز کردن main.go با nano یا ویرایشگر متن دلخواه خود، اولین فایل کد پروژه خود را ایجاد کنید:

nano main.go

در داخل فایل، تابع اصلی اولیه را که ماژول خصوصی خود را از آن فراخوانی می کنید، تنظیم کنید:

projects/myproject/main.go

package main

import "fmt"

func main() {
    fmt.Println("My new project!")
}

برای اجرای پروژه خود و اطمینان از اینکه همه چیز به درستی تنظیم شده است، می توانید از دستور go run استفاده کنید و فایل main.go را در اختیار آن قرار دهید:

go run main.go

 

Output

My new project!

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

go get github.com/your_github_username/mysecret

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

 

Output

go: downloading github.com/your_github_username/mysecret v0.0.0-20210920195630-bda059d63fa2
go get: added github.com/your_github_username/mysecret v0.0.0-20210920195630-bda059d63fa2

در نهایت، فایل main.go را دوباره باز کنید و آن را به روز کنید تا یک تماس به تابع SecretProcess ماژول خصوصی خود در تابع اصلی اضافه کنید. همچنین باید عبارت import را به‌روزرسانی کنید تا github.com/your_github_username/mysecret خصوصی ماژول خود را نیز به‌عنوان یک import اضافه کنید:

projects/myproject/main.go

package main

import (
    "fmt"

    "github.com/your_github_username/mysecret"
)

func main() {
    fmt.Println("My new project!")
    mysecret.SecretProcess()
}

برای مشاهده پروژه نهایی در حال اجرا با ماژول خصوصی خود، از دستور go run دوباره استفاده کنید و فایل main.go را به عنوان پارامتر ارائه دهید:

go run main.go

پروژه جدید من را خواهید دید! خط از کد اصلی، اما اکنون یک فرآیند مخفی در حال اجرا را نیز خواهید دید! خط از ماژول mysecret وارد شده شما نیز:

 

Output

My new project!
Running the secret process!

در این بخش از go init برای ایجاد یک ماژول Go جدید برای دسترسی به ماژول خصوصی که قبلا منتشر کرده بودید استفاده کردید. هنگامی که ماژول را ایجاد کردید، سپس از go get برای دانلود ماژول خصوصی خود مانند یک ماژول عمومی Go استفاده کردید. در نهایت از go run برای کامپایل و اجرای برنامه Go خود با استفاده از ماژول خصوصی استفاده کردید.

نتیجه

در این آموزش، شما یک ماژول Go خصوصی ایجاد و منتشر کردید. همچنین برای دسترسی به ماژول Go خصوصی خود، احراز هویت HTTPS و SSH را تنظیم کرده اید. در نهایت، شما از ماژول خصوصی خود در یک پروژه جدید استفاده کردید.

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

علاوه بر متغیر محیطی GOPRIVATE، متغیرهای بیشتری برای استفاده در هنگام کار با ماژول های خصوصی Go در دسترس هستند. آنها را می توان با جزئیات در بخش Private Modules در مرجع Go Modules مشاهده کرد.

 

 

https://vpsgol.net/product/vps-germany/

 

https://vpsgol.net/product/vps-usa/

 

https://vpsgol.net/product/vps-france/

 

https://vpsgol.net/product/vps-canada/

 

https://vpsgol.net/product/vps-poland/

 

https://vpsgol.net/product/vps-netherlands/

 

https://vpsgol.net/product/vps-england/

برچسب‌ها:HTTPSSSHاستفاده از ماژول خصوصی Goخرید سرورسرور مجازیفروش سرور مجازیماژول Goماژول خصوصی

  • behnam gol mohamadi